diff --git a/.github/build.in.yml b/.github/build.in.yml index 3060c4f38875f9..d4eb03cdd00174 100644 --- a/.github/build.in.yml +++ b/.github/build.in.yml @@ -73,7 +73,7 @@ jobs: # Recall that on the `leanprover-community/mathlib4-nightly-testing` repository, # we don't maintain a `master` branch at all. # For PRs and pushes to this repository, we will use `nightly-testing` instead. - ref: ${{ github.repository == 'leanprover-community/mathlib4-nightly-testing' && 'nightly-testing' || 'master' }} + ref: modulize # TODO path: master-branch # Checkout the PR branch into a subdirectory @@ -463,7 +463,7 @@ jobs: id: test run: | cd pr-branch - lake --iofail test + lake test - name: end gh-problem-match-wrap for test step uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23 with: @@ -590,13 +590,13 @@ jobs: - name: verify that everything was available in the cache run: | echo "::group::{verify Mathlib cache}" - lake build --no-build -v Mathlib + lake build --no-build --rehash -v Mathlib echo "::endgroup::" echo "::group::{verify Archive cache}" - lake build --no-build -v Archive + lake build --no-build --rehash -v Archive echo "::endgroup::" echo "::group::{verify Counterexamples cache}" - lake build --no-build -v Counterexamples + lake build --no-build --rehash -v Counterexamples echo "::endgroup::" - name: check declarations in db files diff --git a/.github/workflows/bors.yml b/.github/workflows/bors.yml index 737c54595da34b..68b89da8afe98a 100644 --- a/.github/workflows/bors.yml +++ b/.github/workflows/bors.yml @@ -83,7 +83,7 @@ jobs: # Recall that on the `leanprover-community/mathlib4-nightly-testing` repository, # we don't maintain a `master` branch at all. # For PRs and pushes to this repository, we will use `nightly-testing` instead. - ref: ${{ github.repository == 'leanprover-community/mathlib4-nightly-testing' && 'nightly-testing' || 'master' }} + ref: modulize # TODO path: master-branch # Checkout the PR branch into a subdirectory @@ -473,7 +473,7 @@ jobs: id: test run: | cd pr-branch - lake --iofail test + lake test - name: end gh-problem-match-wrap for test step uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23 with: @@ -600,13 +600,13 @@ jobs: - name: verify that everything was available in the cache run: | echo "::group::{verify Mathlib cache}" - lake build --no-build -v Mathlib + lake build --no-build --rehash -v Mathlib echo "::endgroup::" echo "::group::{verify Archive cache}" - lake build --no-build -v Archive + lake build --no-build --rehash -v Archive echo "::endgroup::" echo "::group::{verify Counterexamples cache}" - lake build --no-build -v Counterexamples + lake build --no-build --rehash -v Counterexamples echo "::endgroup::" - name: check declarations in db files diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 21ddd4844fe063..6ccc0806e57a79 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -90,7 +90,7 @@ jobs: # Recall that on the `leanprover-community/mathlib4-nightly-testing` repository, # we don't maintain a `master` branch at all. # For PRs and pushes to this repository, we will use `nightly-testing` instead. - ref: ${{ github.repository == 'leanprover-community/mathlib4-nightly-testing' && 'nightly-testing' || 'master' }} + ref: modulize # TODO path: master-branch # Checkout the PR branch into a subdirectory @@ -480,7 +480,7 @@ jobs: id: test run: | cd pr-branch - lake --iofail test + lake test - name: end gh-problem-match-wrap for test step uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23 with: @@ -607,13 +607,13 @@ jobs: - name: verify that everything was available in the cache run: | echo "::group::{verify Mathlib cache}" - lake build --no-build -v Mathlib + lake build --no-build --rehash -v Mathlib echo "::endgroup::" echo "::group::{verify Archive cache}" - lake build --no-build -v Archive + lake build --no-build --rehash -v Archive echo "::endgroup::" echo "::group::{verify Counterexamples cache}" - lake build --no-build -v Counterexamples + lake build --no-build --rehash -v Counterexamples echo "::endgroup::" - name: check declarations in db files diff --git a/.github/workflows/build_fork.yml b/.github/workflows/build_fork.yml index 894ab67ef6d8e9..352dfa66381056 100644 --- a/.github/workflows/build_fork.yml +++ b/.github/workflows/build_fork.yml @@ -42,7 +42,7 @@ permissions: jobs: build: - if: github.event.pull_request.head.repo.fork + if: github.event.pull_request.head.repo.fork FORK_CONDITIONFORK_CONDITION github.repository != 'leanprover-community/mathlib4-nightly-testing' name: Build (fork) runs-on: pr outputs: @@ -87,7 +87,7 @@ jobs: # Recall that on the `leanprover-community/mathlib4-nightly-testing` repository, # we don't maintain a `master` branch at all. # For PRs and pushes to this repository, we will use `nightly-testing` instead. - ref: ${{ github.repository == 'leanprover-community/mathlib4-nightly-testing' && 'nightly-testing' || 'master' }} + ref: modulize # TODO path: master-branch # Checkout the PR branch into a subdirectory @@ -477,7 +477,7 @@ jobs: id: test run: | cd pr-branch - lake --iofail test + lake test - name: end gh-problem-match-wrap for test step uses: leanprover-community/gh-problem-matcher-wrap@20007cb926a46aa324653a387363b52f07709845 # 2025-04-23 with: @@ -547,7 +547,7 @@ jobs: post_steps: name: Post-Build Step (fork) - if: github.event.pull_request.head.repo.fork + if: github.event.pull_request.head.repo.fork FORK_CONDITIONFORK_CONDITION github.repository != 'leanprover-community/mathlib4-nightly-testing' needs: [build] runs-on: ubuntu-latest # Note these steps run on disposable GitHub runners, so no landrun sandboxing is needed. steps: @@ -604,13 +604,13 @@ jobs: - name: verify that everything was available in the cache run: | echo "::group::{verify Mathlib cache}" - lake build --no-build -v Mathlib + lake build --no-build --rehash -v Mathlib echo "::endgroup::" echo "::group::{verify Archive cache}" - lake build --no-build -v Archive + lake build --no-build --rehash -v Archive echo "::endgroup::" echo "::group::{verify Counterexamples cache}" - lake build --no-build -v Counterexamples + lake build --no-build --rehash -v Counterexamples echo "::endgroup::" - name: check declarations in db files @@ -676,7 +676,7 @@ jobs: style_lint: name: Lint style (fork) - if: github.event.pull_request.head.repo.fork + if: github.event.pull_request.head.repo.fork FORK_CONDITIONFORK_CONDITION github.repository != 'leanprover-community/mathlib4-nightly-testing' runs-on: ubuntu-latest steps: - uses: leanprover-community/lint-style-action@a7e7428fa44f9635d6eb8e01919d16fd498d387a # 2025-08-18 @@ -687,7 +687,7 @@ jobs: final: name: Post-CI job (fork) - if: github.event.pull_request.head.repo.fork + if: github.event.pull_request.head.repo.fork FORK_CONDITIONFORK_CONDITION github.repository != 'leanprover-community/mathlib4-nightly-testing' needs: [style_lint, build, post_steps] runs-on: ubuntu-latest steps: diff --git a/.github/workflows/mk_build_yml.sh b/.github/workflows/mk_build_yml.sh index 0f50a4e887eca0..1731e99067e7ea 100755 --- a/.github/workflows/mk_build_yml.sh +++ b/.github/workflows/mk_build_yml.sh @@ -73,7 +73,7 @@ on: name: continuous integration (mathlib forks) EOF - include "github.event.pull_request.head.sha" pr "github.event.pull_request.head.repo.fork" " (fork)" ubuntu-latest + include "github.event.pull_request.head.sha" pr "github.event.pull_request.head.repo.fork && github.repository != 'leanprover-community\/mathlib4-nightly-testing'" " (fork)" ubuntu-latest } include() { diff --git a/Cache/IO.lean b/Cache/IO.lean index 82c2d7e16824d0..0150cc8a1497d6 100644 --- a/Cache/IO.lean +++ b/Cache/IO.lean @@ -70,7 +70,7 @@ def CURLBIN := /-- leantar version at https://github.com/digama0/leangz -/ def LEANTARVERSION := - "0.1.16-pre3" + "0.1.16-pre4" def EXE := if System.Platform.isWindows then ".exe" else "" @@ -90,7 +90,7 @@ def getLeanTar : IO String := do /-- Bump this number to invalidate the cache, in case the existing hashing inputs are insufficient. It is not a global counter, and can be reset to 0 as long as the lean githash or lake manifest has changed since the last time this counter was touched. -/ -def rootHashGeneration : UInt64 := 3 +def rootHashGeneration : UInt64 := 4 /-- `CacheM` stores the following information: diff --git a/Mathlib.lean b/Mathlib.lean index 59e1953e4ac739..3910bfa2095565 100644 --- a/Mathlib.lean +++ b/Mathlib.lean @@ -1,7041 +1,7043 @@ -import Std -import Batteries -import Mathlib.Algebra.AddConstMap.Basic -import Mathlib.Algebra.AddConstMap.Equiv -import Mathlib.Algebra.AddTorsor.Basic -import Mathlib.Algebra.AddTorsor.Defs -import Mathlib.Algebra.Algebra.Basic -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.Field -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Algebra.Algebra.Hom.Rat -import Mathlib.Algebra.Algebra.IsSimpleRing -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Algebra.Algebra.NonUnitalSubalgebra -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Algebra.Opposite -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Algebra.Algebra.Shrink -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Algebra.Algebra.Spectrum.Pi -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Algebra.Algebra.StrictPositivity -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.Algebra.Subalgebra.Centralizer -import Mathlib.Algebra.Algebra.Subalgebra.Directed -import Mathlib.Algebra.Algebra.Subalgebra.IsSimpleOrder -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Subalgebra.Matrix -import Mathlib.Algebra.Algebra.Subalgebra.MulOpposite -import Mathlib.Algebra.Algebra.Subalgebra.Operations -import Mathlib.Algebra.Algebra.Subalgebra.Order -import Mathlib.Algebra.Algebra.Subalgebra.Pi -import Mathlib.Algebra.Algebra.Subalgebra.Pointwise -import Mathlib.Algebra.Algebra.Subalgebra.Prod -import Mathlib.Algebra.Algebra.Subalgebra.Rank -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Algebra.Algebra.Subalgebra.Unitization -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Algebra.TransferInstance -import Mathlib.Algebra.Algebra.Unitization -import Mathlib.Algebra.Algebra.ZMod -import Mathlib.Algebra.AlgebraicCard -import Mathlib.Algebra.ArithmeticGeometric -import Mathlib.Algebra.Azumaya.Basic -import Mathlib.Algebra.Azumaya.Defs -import Mathlib.Algebra.Azumaya.Matrix -import Mathlib.Algebra.BigOperators.Associated -import Mathlib.Algebra.BigOperators.Balance -import Mathlib.Algebra.BigOperators.Expect -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Algebra.BigOperators.Finsupp.Fin -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Defs -import Mathlib.Algebra.BigOperators.Group.Finset.Indicator -import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas -import Mathlib.Algebra.BigOperators.Group.Finset.Pi -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.BigOperators.Group.Finset.Powerset -import Mathlib.Algebra.BigOperators.Group.Finset.Preimage -import Mathlib.Algebra.BigOperators.Group.Finset.Sigma -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Algebra.BigOperators.Group.List.Lemmas -import Mathlib.Algebra.BigOperators.Group.Multiset.Basic -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.BigOperators.GroupWithZero.Finset -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Algebra.BigOperators.Module -import Mathlib.Algebra.BigOperators.NatAntidiagonal -import Mathlib.Algebra.BigOperators.Option -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Algebra.BigOperators.Ring.Multiset -import Mathlib.Algebra.BigOperators.Ring.Nat -import Mathlib.Algebra.BigOperators.RingEquiv -import Mathlib.Algebra.BigOperators.Sym -import Mathlib.Algebra.BigOperators.WithTop -import Mathlib.Algebra.BrauerGroup.Defs -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.Algebra.Category.AlgCat.Limits -import Mathlib.Algebra.Category.AlgCat.Monoidal -import Mathlib.Algebra.Category.AlgCat.Symmetric -import Mathlib.Algebra.Category.AlgebraCat.Symmetric -import Mathlib.Algebra.Category.BialgCat.Basic -import Mathlib.Algebra.Category.BialgCat.Monoidal -import Mathlib.Algebra.Category.BoolRing -import Mathlib.Algebra.Category.CoalgCat.Basic -import Mathlib.Algebra.Category.CoalgCat.ComonEquivalence -import Mathlib.Algebra.Category.CoalgCat.Monoidal -import Mathlib.Algebra.Category.CommAlgCat.Basic -import Mathlib.Algebra.Category.CommAlgCat.FiniteType -import Mathlib.Algebra.Category.CommAlgCat.Monoidal -import Mathlib.Algebra.Category.CommBialgCat -import Mathlib.Algebra.Category.ContinuousCohomology.Basic -import Mathlib.Algebra.Category.FGModuleCat.Abelian -import Mathlib.Algebra.Category.FGModuleCat.Basic -import Mathlib.Algebra.Category.FGModuleCat.Colimits -import Mathlib.Algebra.Category.FGModuleCat.EssentiallySmall -import Mathlib.Algebra.Category.FGModuleCat.Limits -import Mathlib.Algebra.Category.Grp.AB -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.Algebra.Category.Grp.Adjunctions -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.Algebra.Category.Grp.Biproducts -import Mathlib.Algebra.Category.Grp.CartesianMonoidal -import Mathlib.Algebra.Category.Grp.ChosenFiniteProducts -import Mathlib.Algebra.Category.Grp.Colimits -import Mathlib.Algebra.Category.Grp.EnoughInjectives -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup -import Mathlib.Algebra.Category.Grp.FilteredColimits -import Mathlib.Algebra.Category.Grp.FiniteGrp -import Mathlib.Algebra.Category.Grp.ForgetCorepresentable -import Mathlib.Algebra.Category.Grp.Images -import Mathlib.Algebra.Category.Grp.Injective -import Mathlib.Algebra.Category.Grp.IsFinite -import Mathlib.Algebra.Category.Grp.Kernels -import Mathlib.Algebra.Category.Grp.LargeColimits -import Mathlib.Algebra.Category.Grp.LeftExactFunctor -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Category.Grp.Subobject -import Mathlib.Algebra.Category.Grp.Ulift -import Mathlib.Algebra.Category.Grp.Yoneda -import Mathlib.Algebra.Category.Grp.ZModuleEquivalence -import Mathlib.Algebra.Category.Grp.Zero -import Mathlib.Algebra.Category.GrpWithZero -import Mathlib.Algebra.Category.HopfAlgCat.Basic -import Mathlib.Algebra.Category.HopfAlgCat.Monoidal -import Mathlib.Algebra.Category.ModuleCat.AB -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Category.ModuleCat.Adjunctions -import Mathlib.Algebra.Category.ModuleCat.Algebra -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Biproducts -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.Differentials.Basic -import Mathlib.Algebra.Category.ModuleCat.Differentials.Presheaf -import Mathlib.Algebra.Category.ModuleCat.EnoughInjectives -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.ExteriorPower -import Mathlib.Algebra.Category.ModuleCat.FilteredColimits -import Mathlib.Algebra.Category.ModuleCat.Free -import Mathlib.Algebra.Category.ModuleCat.Images -import Mathlib.Algebra.Category.ModuleCat.Injective -import Mathlib.Algebra.Category.ModuleCat.Kernels -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian -import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits -import Mathlib.Algebra.Category.ModuleCat.Presheaf.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Free -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Generator -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Monoidal -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify -import Mathlib.Algebra.Category.ModuleCat.Products -import Mathlib.Algebra.Category.ModuleCat.Projective -import Mathlib.Algebra.Category.ModuleCat.Pseudofunctor -import Mathlib.Algebra.Category.ModuleCat.Sheaf -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian -import Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Colimits -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Free -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Limits -import Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackContinuous -import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Quasicoherent -import Mathlib.Algebra.Category.ModuleCat.Simple -import Mathlib.Algebra.Category.ModuleCat.Subobject -import Mathlib.Algebra.Category.ModuleCat.Tannaka -import Mathlib.Algebra.Category.ModuleCat.Topology.Basic -import Mathlib.Algebra.Category.ModuleCat.Topology.Homology -import Mathlib.Algebra.Category.MonCat.Adjunctions -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Category.MonCat.Colimits -import Mathlib.Algebra.Category.MonCat.FilteredColimits -import Mathlib.Algebra.Category.MonCat.ForgetCorepresentable -import Mathlib.Algebra.Category.MonCat.Limits -import Mathlib.Algebra.Category.MonCat.Yoneda -import Mathlib.Algebra.Category.Ring.Adjunctions -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.Algebra.Category.Ring.Epi -import Mathlib.Algebra.Category.Ring.FilteredColimits -import Mathlib.Algebra.Category.Ring.FinitePresentation -import Mathlib.Algebra.Category.Ring.Instances -import Mathlib.Algebra.Category.Ring.Limits -import Mathlib.Algebra.Category.Ring.LinearAlgebra -import Mathlib.Algebra.Category.Ring.Topology -import Mathlib.Algebra.Category.Ring.Under.Basic -import Mathlib.Algebra.Category.Ring.Under.Limits -import Mathlib.Algebra.Category.Semigrp.Basic -import Mathlib.Algebra.Central.Basic -import Mathlib.Algebra.Central.Defs -import Mathlib.Algebra.Central.Matrix -import Mathlib.Algebra.Central.TensorProduct -import Mathlib.Algebra.CharP.Algebra -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.CharP.CharAndCard -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.CharP.Frobenius -import Mathlib.Algebra.CharP.IntermediateField -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.Algebra.CharP.LinearMaps -import Mathlib.Algebra.CharP.LocalRing -import Mathlib.Algebra.CharP.MixedCharZero -import Mathlib.Algebra.CharP.Pi -import Mathlib.Algebra.CharP.Quotient -import Mathlib.Algebra.CharP.Reduced -import Mathlib.Algebra.CharP.Subring -import Mathlib.Algebra.CharP.Two -import Mathlib.Algebra.CharZero.AddMonoidHom -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.CharZero.Infinite -import Mathlib.Algebra.CharZero.Quotient -import Mathlib.Algebra.Colimit.DirectLimit -import Mathlib.Algebra.Colimit.Finiteness -import Mathlib.Algebra.Colimit.Module -import Mathlib.Algebra.Colimit.Ring -import Mathlib.Algebra.Colimit.TensorProduct -import Mathlib.Algebra.ContinuedFractions.Basic -import Mathlib.Algebra.ContinuedFractions.Computation.ApproximationCorollaries -import Mathlib.Algebra.ContinuedFractions.Computation.Approximations -import Mathlib.Algebra.ContinuedFractions.Computation.Basic -import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating -import Mathlib.Algebra.ContinuedFractions.Computation.TerminatesIffRat -import Mathlib.Algebra.ContinuedFractions.Computation.Translations -import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence -import Mathlib.Algebra.ContinuedFractions.ConvergentsEquiv -import Mathlib.Algebra.ContinuedFractions.Determinant -import Mathlib.Algebra.ContinuedFractions.TerminatedStable -import Mathlib.Algebra.ContinuedFractions.Translations -import Mathlib.Algebra.CubicDiscriminant -import Mathlib.Algebra.DirectSum.AddChar -import Mathlib.Algebra.DirectSum.Algebra -import Mathlib.Algebra.DirectSum.Basic -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Algebra.DirectSum.Finsupp -import Mathlib.Algebra.DirectSum.Idempotents -import Mathlib.Algebra.DirectSum.Internal -import Mathlib.Algebra.DirectSum.LinearMap -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.DirectSum.Ring -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Divisibility.Finite -import Mathlib.Algebra.Divisibility.Hom -import Mathlib.Algebra.Divisibility.Prod -import Mathlib.Algebra.Divisibility.Units -import Mathlib.Algebra.DualNumber -import Mathlib.Algebra.DualQuaternion -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.EuclideanDomain.Defs -import Mathlib.Algebra.EuclideanDomain.Field -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.Exact -import Mathlib.Algebra.Expr -import Mathlib.Algebra.Field.Action.ConjAct -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Field.Equiv -import Mathlib.Algebra.Field.GeomSum -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.Field.MinimalAxioms -import Mathlib.Algebra.Field.NegOnePow -import Mathlib.Algebra.Field.Opposite -import Mathlib.Algebra.Field.Periodic -import Mathlib.Algebra.Field.Power -import Mathlib.Algebra.Field.Rat -import Mathlib.Algebra.Field.Shrink -import Mathlib.Algebra.Field.Subfield.Basic -import Mathlib.Algebra.Field.Subfield.Defs -import Mathlib.Algebra.Field.TransferInstance -import Mathlib.Algebra.Field.ULift -import Mathlib.Algebra.Field.ZMod -import Mathlib.Algebra.FiveLemma -import Mathlib.Algebra.Free -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.Algebra.FreeAbelianGroup.UniqueSums -import Mathlib.Algebra.FreeAlgebra -import Mathlib.Algebra.FreeAlgebra.Cardinality -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.FreeMonoid.Count -import Mathlib.Algebra.FreeMonoid.Symbols -import Mathlib.Algebra.FreeMonoid.UniqueProds -import Mathlib.Algebra.FreeNonUnitalNonAssocAlgebra -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.GCDMonoid.Finset -import Mathlib.Algebra.GCDMonoid.IntegrallyClosed -import Mathlib.Algebra.GCDMonoid.Multiset -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Algebra.GCDMonoid.PUnit -import Mathlib.Algebra.GeomSum -import Mathlib.Algebra.GradedMonoid -import Mathlib.Algebra.GradedMulAction -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Action.Equidecomp -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Action.Hom -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.Group.Action.Option -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Action.Pointwise.Set.Finite -import Mathlib.Algebra.Group.Action.Pretransitive -import Mathlib.Algebra.Group.Action.Prod -import Mathlib.Algebra.Group.Action.Sigma -import Mathlib.Algebra.Group.Action.Sum -import Mathlib.Algebra.Group.Action.TransferInstance -import Mathlib.Algebra.Group.Action.TypeTags -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.Group.AddChar -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Center -import Mathlib.Algebra.Group.Commutator -import Mathlib.Algebra.Group.Commute.Basic -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Commute.Hom -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Algebra.Group.Conj -import Mathlib.Algebra.Group.ConjFinite -import Mathlib.Algebra.Group.Defs -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Equiv.Finite -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.Group.Equiv.TypeTags -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.EvenFunction -import Mathlib.Algebra.Group.Ext -import Mathlib.Algebra.Group.Fin.Basic -import Mathlib.Algebra.Group.Fin.Tuple -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.Group.ForwardDiff -import Mathlib.Algebra.Group.Graph -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Group.Hom.CompTypeclasses -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Hom.End -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.Group.Idempotent -import Mathlib.Algebra.Group.Indicator -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Group.Int.Even -import Mathlib.Algebra.Group.Int.TypeTags -import Mathlib.Algebra.Group.Int.Units -import Mathlib.Algebra.Group.Invertible.Basic -import Mathlib.Algebra.Group.Invertible.Defs -import Mathlib.Algebra.Group.Irreducible.Defs -import Mathlib.Algebra.Group.Irreducible.Lemmas -import Mathlib.Algebra.Group.MinimalAxioms -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.Nat.Even -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.Algebra.Group.Nat.Range -import Mathlib.Algebra.Group.Nat.TypeTags -import Mathlib.Algebra.Group.Nat.Units -import Mathlib.Algebra.Group.NatPowAssoc -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.PNatPowAssoc -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Group.Pi.Units -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.BigOperators -import Mathlib.Algebra.Group.Pointwise.Finset.Density -import Mathlib.Algebra.Group.Pointwise.Finset.Interval -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Pointwise.Set.BigOperators -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.Algebra.Group.Pointwise.Set.Finite -import Mathlib.Algebra.Group.Pointwise.Set.Lattice -import Mathlib.Algebra.Group.Pointwise.Set.ListOfFn -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Group.Pointwise.Set.Small -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Group.Semiconj.Basic -import Mathlib.Algebra.Group.Semiconj.Defs -import Mathlib.Algebra.Group.Semiconj.Units -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.Group.Subgroup.Actions -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Subgroup.Even -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.Algebra.Group.Subgroup.Finsupp -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Algebra.Group.Subgroup.MulOpposite -import Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas -import Mathlib.Algebra.Group.Subgroup.Order -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic -import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Group.Submonoid.DistribMulAction -import Mathlib.Algebra.Group.Submonoid.Finite -import Mathlib.Algebra.Group.Submonoid.Finsupp -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.Group.Submonoid.MulAction -import Mathlib.Algebra.Group.Submonoid.MulOpposite -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Group.Submonoid.Pointwise -import Mathlib.Algebra.Group.Submonoid.Units -import Mathlib.Algebra.Group.Subsemigroup.Basic -import Mathlib.Algebra.Group.Subsemigroup.Defs -import Mathlib.Algebra.Group.Subsemigroup.Membership -import Mathlib.Algebra.Group.Subsemigroup.Operations -import Mathlib.Algebra.Group.Support -import Mathlib.Algebra.Group.Torsion -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.Group.Translate -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Algebra.Group.TypeTags.Hom -import Mathlib.Algebra.Group.ULift -import Mathlib.Algebra.Group.UniqueProds.Basic -import Mathlib.Algebra.Group.UniqueProds.VectorSpace -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.Algebra.Group.Units.Opposite -import Mathlib.Algebra.Group.WithOne.Basic -import Mathlib.Algebra.Group.WithOne.Defs -import Mathlib.Algebra.Group.WithOne.Map -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.Center -import Mathlib.Algebra.GroupWithZero.Action.ConjAct -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.Action.End -import Mathlib.Algebra.GroupWithZero.Action.Faithful -import Mathlib.Algebra.GroupWithZero.Action.Hom -import Mathlib.Algebra.GroupWithZero.Action.Opposite -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Finset -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.GroupWithZero.Action.Prod -import Mathlib.Algebra.GroupWithZero.Action.TransferInstance -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.GroupWithZero.Center -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.GroupWithZero.Conj -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.GroupWithZero.Equiv -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.Idempotent -import Mathlib.Algebra.GroupWithZero.Indicator -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.GroupWithZero.Int -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Algebra.GroupWithZero.Nat -import Mathlib.Algebra.GroupWithZero.NeZero -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.GroupWithZero.Opposite -import Mathlib.Algebra.GroupWithZero.Pi -import Mathlib.Algebra.GroupWithZero.Pointwise.Finset -import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic -import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Card -import Mathlib.Algebra.GroupWithZero.Prod -import Mathlib.Algebra.GroupWithZero.ProdHom -import Mathlib.Algebra.GroupWithZero.Range -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.GroupWithZero.Semiconj -import Mathlib.Algebra.GroupWithZero.Shrink -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Algebra.GroupWithZero.Submonoid.CancelMulZero -import Mathlib.Algebra.GroupWithZero.Submonoid.Instances -import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise -import Mathlib.Algebra.GroupWithZero.Submonoid.Primal -import Mathlib.Algebra.GroupWithZero.Torsion -import Mathlib.Algebra.GroupWithZero.TransferInstance -import Mathlib.Algebra.GroupWithZero.ULift -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.GroupWithZero.Units.Equiv -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.GroupWithZero.WithZero -import Mathlib.Algebra.HierarchyDesign -import Mathlib.Algebra.Homology.Additive -import Mathlib.Algebra.Homology.AlternatingConst -import Mathlib.Algebra.Homology.Augment -import Mathlib.Algebra.Homology.Bifunctor -import Mathlib.Algebra.Homology.BifunctorAssociator -import Mathlib.Algebra.Homology.BifunctorFlip -import Mathlib.Algebra.Homology.BifunctorHomotopy -import Mathlib.Algebra.Homology.BifunctorShift -import Mathlib.Algebra.Homology.CommSq -import Mathlib.Algebra.Homology.ComplexShape -import Mathlib.Algebra.Homology.ComplexShapeSigns -import Mathlib.Algebra.Homology.ConcreteCategory -import Mathlib.Algebra.Homology.DerivedCategory.Basic -import Mathlib.Algebra.Homology.DerivedCategory.ExactFunctor -import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic -import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives -import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives -import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences -import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass -import Mathlib.Algebra.Homology.DerivedCategory.Fractions -import Mathlib.Algebra.Homology.DerivedCategory.FullyFaithful -import Mathlib.Algebra.Homology.DerivedCategory.HomologySequence -import Mathlib.Algebra.Homology.DerivedCategory.Linear -import Mathlib.Algebra.Homology.DerivedCategory.ShortExact -import Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle -import Mathlib.Algebra.Homology.DerivedCategory.TStructure -import Mathlib.Algebra.Homology.DifferentialObject -import Mathlib.Algebra.Homology.Double -import Mathlib.Algebra.Homology.Embedding.AreComplementary -import Mathlib.Algebra.Homology.Embedding.Basic -import Mathlib.Algebra.Homology.Embedding.Boundary -import Mathlib.Algebra.Homology.Embedding.CochainComplex -import Mathlib.Algebra.Homology.Embedding.Connect -import Mathlib.Algebra.Homology.Embedding.Extend -import Mathlib.Algebra.Homology.Embedding.ExtendHomology -import Mathlib.Algebra.Homology.Embedding.HomEquiv -import Mathlib.Algebra.Homology.Embedding.IsSupported -import Mathlib.Algebra.Homology.Embedding.Restriction -import Mathlib.Algebra.Homology.Embedding.RestrictionHomology -import Mathlib.Algebra.Homology.Embedding.StupidTrunc -import Mathlib.Algebra.Homology.Embedding.TruncGE -import Mathlib.Algebra.Homology.Embedding.TruncGEHomology -import Mathlib.Algebra.Homology.Embedding.TruncLE -import Mathlib.Algebra.Homology.Embedding.TruncLEHomology -import Mathlib.Algebra.Homology.ExactSequence -import Mathlib.Algebra.Homology.Factorizations.Basic -import Mathlib.Algebra.Homology.Functor -import Mathlib.Algebra.Homology.GrothendieckAbelian -import Mathlib.Algebra.Homology.HasNoLoop -import Mathlib.Algebra.Homology.HomologicalBicomplex -import Mathlib.Algebra.Homology.HomologicalComplex -import Mathlib.Algebra.Homology.HomologicalComplexAbelian -import Mathlib.Algebra.Homology.HomologicalComplexBiprod -import Mathlib.Algebra.Homology.HomologicalComplexLimits -import Mathlib.Algebra.Homology.HomologySequence -import Mathlib.Algebra.Homology.HomologySequenceLemmas -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.Algebra.Homology.HomotopyCategory -import Mathlib.Algebra.Homology.HomotopyCategory.DegreewiseSplit -import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex -import Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift -import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor -import Mathlib.Algebra.Homology.HomotopyCategory.MappingCone -import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated -import Mathlib.Algebra.Homology.HomotopyCategory.Shift -import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence -import Mathlib.Algebra.Homology.HomotopyCategory.ShortExact -import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors -import Mathlib.Algebra.Homology.HomotopyCategory.Triangulated -import Mathlib.Algebra.Homology.HomotopyCofiber -import Mathlib.Algebra.Homology.ImageToKernel -import Mathlib.Algebra.Homology.Linear -import Mathlib.Algebra.Homology.LocalCohomology -import Mathlib.Algebra.Homology.Localization -import Mathlib.Algebra.Homology.Monoidal -import Mathlib.Algebra.Homology.Opposite -import Mathlib.Algebra.Homology.QuasiIso -import Mathlib.Algebra.Homology.Refinements -import Mathlib.Algebra.Homology.ShortComplex.Ab -import Mathlib.Algebra.Homology.ShortComplex.Abelian -import Mathlib.Algebra.Homology.ShortComplex.Basic -import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor -import Mathlib.Algebra.Homology.ShortComplex.FunctorEquivalence -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Homology.ShortComplex.Homology -import Mathlib.Algebra.Homology.ShortComplex.LeftHomology -import Mathlib.Algebra.Homology.ShortComplex.Limits -import Mathlib.Algebra.Homology.ShortComplex.Linear -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.Algebra.Homology.ShortComplex.Preadditive -import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology -import Mathlib.Algebra.Homology.ShortComplex.QuasiIso -import Mathlib.Algebra.Homology.ShortComplex.Retract -import Mathlib.Algebra.Homology.ShortComplex.RightHomology -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma -import Mathlib.Algebra.Homology.Single -import Mathlib.Algebra.Homology.SingleHomology -import Mathlib.Algebra.Homology.Square -import Mathlib.Algebra.Homology.TotalComplex -import Mathlib.Algebra.Homology.TotalComplexShift -import Mathlib.Algebra.Homology.TotalComplexSymmetry -import Mathlib.Algebra.IsPrimePow -import Mathlib.Algebra.Jordan.Basic -import Mathlib.Algebra.Lie.Abelian -import Mathlib.Algebra.Lie.BaseChange -import Mathlib.Algebra.Lie.Basic -import Mathlib.Algebra.Lie.CartanExists -import Mathlib.Algebra.Lie.CartanMatrix -import Mathlib.Algebra.Lie.CartanSubalgebra -import Mathlib.Algebra.Lie.Character -import Mathlib.Algebra.Lie.Classical -import Mathlib.Algebra.Lie.Cochain -import Mathlib.Algebra.Lie.Derivation.AdjointAction -import Mathlib.Algebra.Lie.Derivation.Basic -import Mathlib.Algebra.Lie.Derivation.Killing -import Mathlib.Algebra.Lie.DirectSum -import Mathlib.Algebra.Lie.Engel -import Mathlib.Algebra.Lie.EngelSubalgebra -import Mathlib.Algebra.Lie.Extension -import Mathlib.Algebra.Lie.Free -import Mathlib.Algebra.Lie.Ideal -import Mathlib.Algebra.Lie.IdealOperations -import Mathlib.Algebra.Lie.InvariantForm -import Mathlib.Algebra.Lie.Killing -import Mathlib.Algebra.Lie.LieTheorem -import Mathlib.Algebra.Lie.Matrix -import Mathlib.Algebra.Lie.Nilpotent -import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra -import Mathlib.Algebra.Lie.Normalizer -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.Quotient -import Mathlib.Algebra.Lie.Rank -import Mathlib.Algebra.Lie.Semisimple.Basic -import Mathlib.Algebra.Lie.Semisimple.Defs -import Mathlib.Algebra.Lie.Semisimple.Lemmas -import Mathlib.Algebra.Lie.SkewAdjoint -import Mathlib.Algebra.Lie.Sl2 -import Mathlib.Algebra.Lie.Solvable -import Mathlib.Algebra.Lie.Subalgebra -import Mathlib.Algebra.Lie.Submodule -import Mathlib.Algebra.Lie.TensorProduct -import Mathlib.Algebra.Lie.TraceForm -import Mathlib.Algebra.Lie.UniversalEnveloping -import Mathlib.Algebra.Lie.Weights.Basic -import Mathlib.Algebra.Lie.Weights.Cartan -import Mathlib.Algebra.Lie.Weights.Chain -import Mathlib.Algebra.Lie.Weights.IsSimple -import Mathlib.Algebra.Lie.Weights.Killing -import Mathlib.Algebra.Lie.Weights.Linear -import Mathlib.Algebra.Lie.Weights.RootSystem -import Mathlib.Algebra.LinearRecurrence -import Mathlib.Algebra.ModEq -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.Module.Bimodule -import Mathlib.Algebra.Module.Card -import Mathlib.Algebra.Module.CharacterModule -import Mathlib.Algebra.Module.DedekindDomain -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Module.End -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Equiv.Opposite -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.Algebra.Module.GradedModule -import Mathlib.Algebra.Module.Hom -import Mathlib.Algebra.Module.Injective -import Mathlib.Algebra.Module.Lattice -import Mathlib.Algebra.Module.LinearMap.Basic -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.Module.LinearMap.DivisionRing -import Mathlib.Algebra.Module.LinearMap.End -import Mathlib.Algebra.Module.LinearMap.Polynomial -import Mathlib.Algebra.Module.LinearMap.Prod -import Mathlib.Algebra.Module.LinearMap.Rat -import Mathlib.Algebra.Module.LinearMap.Star -import Mathlib.Algebra.Module.LocalizedModule.AtPrime -import Mathlib.Algebra.Module.LocalizedModule.Away -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.Algebra.Module.LocalizedModule.Exact -import Mathlib.Algebra.Module.LocalizedModule.Int -import Mathlib.Algebra.Module.LocalizedModule.IsLocalization -import Mathlib.Algebra.Module.LocalizedModule.Submodule -import Mathlib.Algebra.Module.MinimalAxioms -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.Module.Opposite -import Mathlib.Algebra.Module.PID -import Mathlib.Algebra.Module.PUnit -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Module.PointwisePi -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.Algebra.Module.Presentation.Cokernel -import Mathlib.Algebra.Module.Presentation.Differentials -import Mathlib.Algebra.Module.Presentation.DirectSum -import Mathlib.Algebra.Module.Presentation.Finite -import Mathlib.Algebra.Module.Presentation.Free -import Mathlib.Algebra.Module.Presentation.RestrictScalars -import Mathlib.Algebra.Module.Presentation.Tautological -import Mathlib.Algebra.Module.Presentation.Tensor -import Mathlib.Algebra.Module.Prod -import Mathlib.Algebra.Module.Projective -import Mathlib.Algebra.Module.Rat -import Mathlib.Algebra.Module.RingHom -import Mathlib.Algebra.Module.Shrink -import Mathlib.Algebra.Module.SnakeLemma -import Mathlib.Algebra.Module.SpanRank -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Algebra.Module.Submodule.Bilinear -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Algebra.Module.Submodule.EqLocus -import Mathlib.Algebra.Module.Submodule.Equiv -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.Algebra.Module.Submodule.IterateMapComap -import Mathlib.Algebra.Module.Submodule.Ker -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Algebra.Module.Submodule.LinearMap -import Mathlib.Algebra.Module.Submodule.Map -import Mathlib.Algebra.Module.Submodule.Order -import Mathlib.Algebra.Module.Submodule.Pointwise -import Mathlib.Algebra.Module.Submodule.Range -import Mathlib.Algebra.Module.Submodule.RestrictScalars -import Mathlib.Algebra.Module.Submodule.Union -import Mathlib.Algebra.Module.Torsion -import Mathlib.Algebra.Module.TransferInstance -import Mathlib.Algebra.Module.ULift -import Mathlib.Algebra.Module.ZLattice.Basic -import Mathlib.Algebra.Module.ZLattice.Covolume -import Mathlib.Algebra.Module.ZMod -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Algebra.MonoidAlgebra.Defs -import Mathlib.Algebra.MonoidAlgebra.Degree -import Mathlib.Algebra.MonoidAlgebra.Division -import Mathlib.Algebra.MonoidAlgebra.Grading -import Mathlib.Algebra.MonoidAlgebra.Ideal -import Mathlib.Algebra.MonoidAlgebra.Lift -import Mathlib.Algebra.MonoidAlgebra.MapDomain -import Mathlib.Algebra.MonoidAlgebra.Module -import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors -import Mathlib.Algebra.MonoidAlgebra.Opposite -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.Algebra.MonoidAlgebra.ToDirectSum -import Mathlib.Algebra.MvPolynomial.Basic -import Mathlib.Algebra.MvPolynomial.Cardinal -import Mathlib.Algebra.MvPolynomial.Comap -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Counit -import Mathlib.Algebra.MvPolynomial.Degrees -import Mathlib.Algebra.MvPolynomial.Derivation -import Mathlib.Algebra.MvPolynomial.Division -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.Algebra.MvPolynomial.Expand -import Mathlib.Algebra.MvPolynomial.Funext -import Mathlib.Algebra.MvPolynomial.Invertible -import Mathlib.Algebra.MvPolynomial.Monad -import Mathlib.Algebra.MvPolynomial.Nilpotent -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.Algebra.MvPolynomial.Polynomial -import Mathlib.Algebra.MvPolynomial.Rename -import Mathlib.Algebra.MvPolynomial.SchwartzZippel -import Mathlib.Algebra.MvPolynomial.Supported -import Mathlib.Algebra.MvPolynomial.Variables -import Mathlib.Algebra.NeZero -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.NoZeroSMulDivisors.Pi -import Mathlib.Algebra.NoZeroSMulDivisors.Prod -import Mathlib.Algebra.NonAssoc.LieAdmissible.Defs -import Mathlib.Algebra.NonAssoc.PreLie.Basic -import Mathlib.Algebra.Notation -import Mathlib.Algebra.Notation.Defs -import Mathlib.Algebra.Notation.FiniteSupport -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Algebra.Notation.Lemmas -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Notation.Prod -import Mathlib.Algebra.Notation.Support -import Mathlib.Algebra.Opposites -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.Order.AbsoluteValue.Euclidean -import Mathlib.Algebra.Order.AddGroupWithTop -import Mathlib.Algebra.Order.AddTorsor -import Mathlib.Algebra.Order.Algebra -import Mathlib.Algebra.Order.Antidiag.Finsupp -import Mathlib.Algebra.Order.Antidiag.Nat -import Mathlib.Algebra.Order.Antidiag.Pi -import Mathlib.Algebra.Order.Antidiag.Prod -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.Archimedean.Class -import Mathlib.Algebra.Order.Archimedean.Hom -import Mathlib.Algebra.Order.Archimedean.IndicatorCard -import Mathlib.Algebra.Order.Archimedean.Submonoid -import Mathlib.Algebra.Order.BigOperators.Expect -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.BigOperators.Group.List -import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite -import Mathlib.Algebra.Order.BigOperators.Group.Multiset -import Mathlib.Algebra.Order.BigOperators.GroupWithZero.List -import Mathlib.Algebra.Order.BigOperators.GroupWithZero.Multiset -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.BigOperators.Ring.List -import Mathlib.Algebra.Order.BigOperators.Ring.Multiset -import Mathlib.Algebra.Order.CauSeq.Basic -import Mathlib.Algebra.Order.CauSeq.BigOperators -import Mathlib.Algebra.Order.CauSeq.Completion -import Mathlib.Algebra.Order.Chebyshev -import Mathlib.Algebra.Order.CompleteField -import Mathlib.Algebra.Order.Disjointed -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Field.Canonical -import Mathlib.Algebra.Order.Field.Defs -import Mathlib.Algebra.Order.Field.GeomSum -import Mathlib.Algebra.Order.Field.InjSurj -import Mathlib.Algebra.Order.Field.Pi -import Mathlib.Algebra.Order.Field.Pointwise -import Mathlib.Algebra.Order.Field.Power -import Mathlib.Algebra.Order.Field.Rat -import Mathlib.Algebra.Order.Field.Subfield -import Mathlib.Algebra.Order.Floor -import Mathlib.Algebra.Order.Floor.Defs -import Mathlib.Algebra.Order.Floor.Div -import Mathlib.Algebra.Order.Floor.Ring -import Mathlib.Algebra.Order.Floor.Semifield -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Group.Action -import Mathlib.Algebra.Order.Group.Action.End -import Mathlib.Algebra.Order.Group.Action.Flag -import Mathlib.Algebra.Order.Group.Action.Synonym -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.Algebra.Order.Group.Bounds -import Mathlib.Algebra.Order.Group.CompleteLattice -import Mathlib.Algebra.Order.Group.Cone -import Mathlib.Algebra.Order.Group.Cyclic -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Group.DenselyOrdered -import Mathlib.Algebra.Order.Group.End -import Mathlib.Algebra.Order.Group.Equiv -import Mathlib.Algebra.Order.Group.Finset -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Algebra.Order.Group.InjSurj -import Mathlib.Algebra.Order.Group.Instances -import Mathlib.Algebra.Order.Group.Int -import Mathlib.Algebra.Order.Group.Int.Sum -import Mathlib.Algebra.Order.Group.Lattice -import Mathlib.Algebra.Order.Group.MinMax -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Group.Opposite -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Order.Group.PartialSups -import Mathlib.Algebra.Order.Group.PiLex -import Mathlib.Algebra.Order.Group.Pointwise.Bounds -import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Algebra.Order.Group.PosPart -import Mathlib.Algebra.Order.Group.Prod -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Group.TypeTags -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Order.Group.Units -import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym -import Mathlib.Algebra.Order.GroupWithZero.Bounds -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.GroupWithZero.Finset -import Mathlib.Algebra.Order.GroupWithZero.Lex -import Mathlib.Algebra.Order.GroupWithZero.Submonoid -import Mathlib.Algebra.Order.GroupWithZero.Synonym -import Mathlib.Algebra.Order.GroupWithZero.Unbundled -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Lemmas -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso -import Mathlib.Algebra.Order.GroupWithZero.WithZero -import Mathlib.Algebra.Order.Hom.Basic -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Algebra.Order.Hom.MonoidWithZero -import Mathlib.Algebra.Order.Hom.Ring -import Mathlib.Algebra.Order.Hom.Submonoid -import Mathlib.Algebra.Order.Hom.TypeTags -import Mathlib.Algebra.Order.Hom.Units -import Mathlib.Algebra.Order.Interval.Basic -import Mathlib.Algebra.Order.Interval.Finset.Basic -import Mathlib.Algebra.Order.Interval.Finset.SuccPred -import Mathlib.Algebra.Order.Interval.Multiset -import Mathlib.Algebra.Order.Interval.Set.Group -import Mathlib.Algebra.Order.Interval.Set.Instances -import Mathlib.Algebra.Order.Interval.Set.Monoid -import Mathlib.Algebra.Order.Interval.Set.SuccPred -import Mathlib.Algebra.Order.Invertible -import Mathlib.Algebra.Order.Kleene -import Mathlib.Algebra.Order.Module.Algebra -import Mathlib.Algebra.Order.Module.Archimedean -import Mathlib.Algebra.Order.Module.Basic -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Module.Equiv -import Mathlib.Algebra.Order.Module.Field -import Mathlib.Algebra.Order.Module.HahnEmbedding -import Mathlib.Algebra.Order.Module.OrderedSMul -import Mathlib.Algebra.Order.Module.Pointwise -import Mathlib.Algebra.Order.Module.PositiveLinearMap -import Mathlib.Algebra.Order.Module.Rat -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.Algebra.Order.Monoid.Associated -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Algebra.Order.Monoid.Canonical.Basic -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Lex -import Mathlib.Algebra.Order.Monoid.LocallyFiniteOrder -import Mathlib.Algebra.Order.Monoid.NatCast -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Algebra.Order.Monoid.PNat -import Mathlib.Algebra.Order.Monoid.Prod -import Mathlib.Algebra.Order.Monoid.Submonoid -import Mathlib.Algebra.Order.Monoid.ToMulBot -import Mathlib.Algebra.Order.Monoid.TypeTags -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags -import Mathlib.Algebra.Order.Monoid.Unbundled.Units -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Order.Monoid.Units -import Mathlib.Algebra.Order.Monoid.WithTop -import Mathlib.Algebra.Order.Monovary -import Mathlib.Algebra.Order.Nonneg.Basic -import Mathlib.Algebra.Order.Nonneg.Field -import Mathlib.Algebra.Order.Nonneg.Floor -import Mathlib.Algebra.Order.Nonneg.Lattice -import Mathlib.Algebra.Order.Nonneg.Module -import Mathlib.Algebra.Order.Nonneg.Ring -import Mathlib.Algebra.Order.PUnit -import Mathlib.Algebra.Order.PartialSups -import Mathlib.Algebra.Order.Pi -import Mathlib.Algebra.Order.Positive.Field -import Mathlib.Algebra.Order.Positive.Ring -import Mathlib.Algebra.Order.Quantale -import Mathlib.Algebra.Order.Rearrangement -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Algebra.Order.Ring.Archimedean -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Algebra.Order.Ring.Cone -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.Ring.Finset -import Mathlib.Algebra.Order.Ring.GeomSum -import Mathlib.Algebra.Order.Ring.Idempotent -import Mathlib.Algebra.Order.Ring.InjSurj -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.Order.Ring.IsNonarchimedean -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Algebra.Order.Ring.Opposite -import Mathlib.Algebra.Order.Ring.Ordering.Basic -import Mathlib.Algebra.Order.Ring.Ordering.Defs -import Mathlib.Algebra.Order.Ring.Pow -import Mathlib.Algebra.Order.Ring.Prod -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.Algebra.Order.Ring.Star -import Mathlib.Algebra.Order.Ring.Synonym -import Mathlib.Algebra.Order.Ring.Unbundled.Basic -import Mathlib.Algebra.Order.Ring.Unbundled.Rat -import Mathlib.Algebra.Order.Ring.Units -import Mathlib.Algebra.Order.Ring.WithTop -import Mathlib.Algebra.Order.Round -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Algebra.Order.Star.Conjneg -import Mathlib.Algebra.Order.Star.Prod -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Algebra.Order.Sub.Prod -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Algebra.Order.Sub.Unbundled.Hom -import Mathlib.Algebra.Order.Sub.WithTop -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Algebra.Order.SuccPred.PartialSups -import Mathlib.Algebra.Order.SuccPred.TypeTags -import Mathlib.Algebra.Order.SuccPred.WithBot -import Mathlib.Algebra.Order.Sum -import Mathlib.Algebra.Order.ToIntervalMod -import Mathlib.Algebra.Order.UpperLower -import Mathlib.Algebra.Order.WithTop.Untop0 -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Algebra.PEmptyInstances -import Mathlib.Algebra.Pointwise.Stabilizer -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Algebra.Polynomial.Basis -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Polynomial.Bivariate -import Mathlib.Algebra.Polynomial.CancelLeads -import Mathlib.Algebra.Polynomial.Cardinal -import Mathlib.Algebra.Polynomial.Coeff -import Mathlib.Algebra.Polynomial.CoeffList -import Mathlib.Algebra.Polynomial.CoeffMem -import Mathlib.Algebra.Polynomial.Degree.CardPowDegree -import Mathlib.Algebra.Polynomial.Degree.Definitions -import Mathlib.Algebra.Polynomial.Degree.Domain -import Mathlib.Algebra.Polynomial.Degree.IsMonicOfDegree -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Algebra.Polynomial.Degree.Monomial -import Mathlib.Algebra.Polynomial.Degree.Operations -import Mathlib.Algebra.Polynomial.Degree.SmallDegree -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Algebra.Polynomial.Degree.TrailingDegree -import Mathlib.Algebra.Polynomial.Degree.Units -import Mathlib.Algebra.Polynomial.DenomsClearable -import Mathlib.Algebra.Polynomial.Derivation -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.Div -import Mathlib.Algebra.Polynomial.EraseLead -import Mathlib.Algebra.Polynomial.Eval.Algebra -import Mathlib.Algebra.Polynomial.Eval.Coeff -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.Algebra.Polynomial.Eval.Degree -import Mathlib.Algebra.Polynomial.Eval.Irreducible -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.Algebra.Polynomial.Eval.Subring -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.Algebra.Polynomial.GroupRingAction -import Mathlib.Algebra.Polynomial.HasseDeriv -import Mathlib.Algebra.Polynomial.Homogenize -import Mathlib.Algebra.Polynomial.Identities -import Mathlib.Algebra.Polynomial.Inductions -import Mathlib.Algebra.Polynomial.Laurent -import Mathlib.Algebra.Polynomial.Lifts -import Mathlib.Algebra.Polynomial.Mirror -import Mathlib.Algebra.Polynomial.Module.AEval -import Mathlib.Algebra.Polynomial.Module.Basic -import Mathlib.Algebra.Polynomial.Module.FiniteDimensional -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Algebra.Polynomial.Monomial -import Mathlib.Algebra.Polynomial.OfFn -import Mathlib.Algebra.Polynomial.PartialFractions -import Mathlib.Algebra.Polynomial.Reverse -import Mathlib.Algebra.Polynomial.RingDivision -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Algebra.Polynomial.RuleOfSigns -import Mathlib.Algebra.Polynomial.Sequence -import Mathlib.Algebra.Polynomial.Smeval -import Mathlib.Algebra.Polynomial.SpecificDegree -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.Algebra.Polynomial.SumIteratedDerivative -import Mathlib.Algebra.Polynomial.Taylor -import Mathlib.Algebra.Polynomial.UnitTrinomial -import Mathlib.Algebra.PresentedMonoid.Basic -import Mathlib.Algebra.Prime.Defs -import Mathlib.Algebra.Prime.Lemmas -import Mathlib.Algebra.QuadraticAlgebra -import Mathlib.Algebra.QuadraticDiscriminant -import Mathlib.Algebra.Quandle -import Mathlib.Algebra.Quaternion -import Mathlib.Algebra.QuaternionBasis -import Mathlib.Algebra.Quotient -import Mathlib.Algebra.Regular.Basic -import Mathlib.Algebra.Regular.Defs -import Mathlib.Algebra.Regular.Opposite -import Mathlib.Algebra.Regular.Pi -import Mathlib.Algebra.Regular.Pow -import Mathlib.Algebra.Regular.Prod -import Mathlib.Algebra.Regular.SMul -import Mathlib.Algebra.Regular.ULift -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.Algebra.Ring.Action.ConjAct -import Mathlib.Algebra.Ring.Action.End -import Mathlib.Algebra.Ring.Action.Field -import Mathlib.Algebra.Ring.Action.Group -import Mathlib.Algebra.Ring.Action.Invariant -import Mathlib.Algebra.Ring.Action.Pointwise.Finset -import Mathlib.Algebra.Ring.Action.Pointwise.Set -import Mathlib.Algebra.Ring.Action.Rat -import Mathlib.Algebra.Ring.Action.Submonoid -import Mathlib.Algebra.Ring.Action.Subobjects -import Mathlib.Algebra.Ring.AddAut -import Mathlib.Algebra.Ring.Associated -import Mathlib.Algebra.Ring.Associator -import Mathlib.Algebra.Ring.Aut -import Mathlib.Algebra.Ring.Basic -import Mathlib.Algebra.Ring.BooleanRing -import Mathlib.Algebra.Ring.Center -import Mathlib.Algebra.Ring.Centralizer -import Mathlib.Algebra.Ring.CentroidHom -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Algebra.Ring.Commute -import Mathlib.Algebra.Ring.CompTypeclasses -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Divisibility.Lemmas -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.Ext -import Mathlib.Algebra.Ring.Fin -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.Algebra.Ring.GrindInstances -import Mathlib.Algebra.Ring.Hom.Basic -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Algebra.Ring.Hom.InjSurj -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.Algebra.Ring.Identities -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.Algebra.Ring.Invertible -import Mathlib.Algebra.Ring.MinimalAxioms -import Mathlib.Algebra.Ring.Nat -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.Algebra.Ring.NonZeroDivisors -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Algebra.Ring.PUnit -import Mathlib.Algebra.Ring.Parity -import Mathlib.Algebra.Ring.Periodic -import Mathlib.Algebra.Ring.Pi -import Mathlib.Algebra.Ring.Pointwise.Finset -import Mathlib.Algebra.Ring.Pointwise.Set -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Ring.Rat -import Mathlib.Algebra.Ring.Regular -import Mathlib.Algebra.Ring.Semiconj -import Mathlib.Algebra.Ring.Semireal.Defs -import Mathlib.Algebra.Ring.Shrink -import Mathlib.Algebra.Ring.Subgroup -import Mathlib.Algebra.Ring.Submonoid -import Mathlib.Algebra.Ring.Submonoid.Basic -import Mathlib.Algebra.Ring.Submonoid.Pointwise -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.Algebra.Ring.Subring.Defs -import Mathlib.Algebra.Ring.Subring.IntPolynomial -import Mathlib.Algebra.Ring.Subring.MulOpposite -import Mathlib.Algebra.Ring.Subring.Order -import Mathlib.Algebra.Ring.Subring.Pointwise -import Mathlib.Algebra.Ring.Subring.Units -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.Algebra.Ring.Subsemiring.Defs -import Mathlib.Algebra.Ring.Subsemiring.MulOpposite -import Mathlib.Algebra.Ring.Subsemiring.Order -import Mathlib.Algebra.Ring.Subsemiring.Pointwise -import Mathlib.Algebra.Ring.SumsOfSquares -import Mathlib.Algebra.Ring.Torsion -import Mathlib.Algebra.Ring.TransferInstance -import Mathlib.Algebra.Ring.ULift -import Mathlib.Algebra.Ring.Units -import Mathlib.Algebra.Ring.WithZero -import Mathlib.Algebra.RingQuot -import Mathlib.Algebra.SkewMonoidAlgebra.Basic -import Mathlib.Algebra.SkewMonoidAlgebra.Lift -import Mathlib.Algebra.SkewMonoidAlgebra.Single -import Mathlib.Algebra.SkewMonoidAlgebra.Support -import Mathlib.Algebra.Squarefree.Basic -import Mathlib.Algebra.Star.Basic -import Mathlib.Algebra.Star.BigOperators -import Mathlib.Algebra.Star.CHSH -import Mathlib.Algebra.Star.Center -import Mathlib.Algebra.Star.CentroidHom -import Mathlib.Algebra.Star.Conjneg -import Mathlib.Algebra.Star.Free -import Mathlib.Algebra.Star.Module -import Mathlib.Algebra.Star.MonoidHom -import Mathlib.Algebra.Star.NonUnitalSubalgebra -import Mathlib.Algebra.Star.NonUnitalSubsemiring -import Mathlib.Algebra.Star.Pi -import Mathlib.Algebra.Star.Pointwise -import Mathlib.Algebra.Star.Prod -import Mathlib.Algebra.Star.Rat -import Mathlib.Algebra.Star.RingQuot -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Star.StarAlgHom -import Mathlib.Algebra.Star.StarProjection -import Mathlib.Algebra.Star.StarRingHom -import Mathlib.Algebra.Star.Subalgebra -import Mathlib.Algebra.Star.Subsemiring -import Mathlib.Algebra.Star.Unitary -import Mathlib.Algebra.Symmetrized -import Mathlib.Algebra.TrivSqZeroExt -import Mathlib.Algebra.Tropical.Basic -import Mathlib.Algebra.Tropical.BigOperators -import Mathlib.Algebra.Tropical.Lattice -import Mathlib.Algebra.Vertex.HVertexOperator -import Mathlib.Algebra.Vertex.VertexOperator -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.AlgebraicGeometry.AffineSpace -import Mathlib.AlgebraicGeometry.AffineTransitionLimit -import Mathlib.AlgebraicGeometry.Cover.Directed -import Mathlib.AlgebraicGeometry.Cover.MorphismProperty -import Mathlib.AlgebraicGeometry.Cover.Open -import Mathlib.AlgebraicGeometry.Cover.Over -import Mathlib.AlgebraicGeometry.Cover.Sigma -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point -import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic -import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Degree -import Mathlib.AlgebraicGeometry.EllipticCurve.Group -import Mathlib.AlgebraicGeometry.EllipticCurve.IsomOfJ -import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic -import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point -import Mathlib.AlgebraicGeometry.EllipticCurve.ModelsWithJ -import Mathlib.AlgebraicGeometry.EllipticCurve.NormalForms -import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic -import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point -import Mathlib.AlgebraicGeometry.EllipticCurve.Reduction -import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange -import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass -import Mathlib.AlgebraicGeometry.Fiber -import Mathlib.AlgebraicGeometry.FunctionField -import Mathlib.AlgebraicGeometry.GammaSpecAdjunction -import Mathlib.AlgebraicGeometry.Gluing -import Mathlib.AlgebraicGeometry.GluingOneHypercover -import Mathlib.AlgebraicGeometry.IdealSheaf -import Mathlib.AlgebraicGeometry.IdealSheaf.Basic -import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial -import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme -import Mathlib.AlgebraicGeometry.Limits -import Mathlib.AlgebraicGeometry.Modules.Presheaf -import Mathlib.AlgebraicGeometry.Modules.Sheaf -import Mathlib.AlgebraicGeometry.Modules.Tilde -import Mathlib.AlgebraicGeometry.Morphisms.Affine -import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd -import Mathlib.AlgebraicGeometry.Morphisms.Basic -import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion -import Mathlib.AlgebraicGeometry.Morphisms.Constructors -import Mathlib.AlgebraicGeometry.Morphisms.Descent -import Mathlib.AlgebraicGeometry.Morphisms.Etale -import Mathlib.AlgebraicGeometry.Morphisms.Finite -import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation -import Mathlib.AlgebraicGeometry.Morphisms.FiniteType -import Mathlib.AlgebraicGeometry.Morphisms.Flat -import Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified -import Mathlib.AlgebraicGeometry.Morphisms.Immersion -import Mathlib.AlgebraicGeometry.Morphisms.Integral -import Mathlib.AlgebraicGeometry.Morphisms.IsIso -import Mathlib.AlgebraicGeometry.Morphisms.LocalClosure -import Mathlib.AlgebraicGeometry.Morphisms.LocalIso -import Mathlib.AlgebraicGeometry.Morphisms.OpenImmersion -import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion -import Mathlib.AlgebraicGeometry.Morphisms.Proper -import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact -import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated -import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.AlgebraicGeometry.Morphisms.Smooth -import Mathlib.AlgebraicGeometry.Morphisms.SurjectiveOnStalks -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap -import Mathlib.AlgebraicGeometry.Morphisms.UniversallyClosed -import Mathlib.AlgebraicGeometry.Morphisms.UniversallyInjective -import Mathlib.AlgebraicGeometry.Morphisms.UniversallyOpen -import Mathlib.AlgebraicGeometry.Noetherian -import Mathlib.AlgebraicGeometry.OpenImmersion -import Mathlib.AlgebraicGeometry.Over -import Mathlib.AlgebraicGeometry.PointsPi -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Basic -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Proper -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Scheme -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology -import Mathlib.AlgebraicGeometry.Properties -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.AlgebraicGeometry.Pullbacks -import Mathlib.AlgebraicGeometry.QuasiAffine -import Mathlib.AlgebraicGeometry.RationalMap -import Mathlib.AlgebraicGeometry.ResidueField -import Mathlib.AlgebraicGeometry.Restrict -import Mathlib.AlgebraicGeometry.Scheme -import Mathlib.AlgebraicGeometry.Sites.BigZariski -import Mathlib.AlgebraicGeometry.Sites.Etale -import Mathlib.AlgebraicGeometry.Sites.MorphismProperty -import Mathlib.AlgebraicGeometry.Sites.Pretopology -import Mathlib.AlgebraicGeometry.Sites.Representability -import Mathlib.AlgebraicGeometry.Sites.Small -import Mathlib.AlgebraicGeometry.Sites.SmallAffineZariski -import Mathlib.AlgebraicGeometry.Spec -import Mathlib.AlgebraicGeometry.SpreadingOut -import Mathlib.AlgebraicGeometry.Stalk -import Mathlib.AlgebraicGeometry.StructureSheaf -import Mathlib.AlgebraicGeometry.ValuativeCriterion -import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex -import Mathlib.AlgebraicTopology.CechNerve -import Mathlib.AlgebraicTopology.DoldKan.Compatibility -import Mathlib.AlgebraicTopology.DoldKan.Decomposition -import Mathlib.AlgebraicTopology.DoldKan.Degeneracies -import Mathlib.AlgebraicTopology.DoldKan.Equivalence -import Mathlib.AlgebraicTopology.DoldKan.EquivalenceAdditive -import Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian -import Mathlib.AlgebraicTopology.DoldKan.Faces -import Mathlib.AlgebraicTopology.DoldKan.FunctorGamma -import Mathlib.AlgebraicTopology.DoldKan.FunctorN -import Mathlib.AlgebraicTopology.DoldKan.GammaCompN -import Mathlib.AlgebraicTopology.DoldKan.Homotopies -import Mathlib.AlgebraicTopology.DoldKan.HomotopyEquivalence -import Mathlib.AlgebraicTopology.DoldKan.NCompGamma -import Mathlib.AlgebraicTopology.DoldKan.NReflectsIso -import Mathlib.AlgebraicTopology.DoldKan.Normalized -import Mathlib.AlgebraicTopology.DoldKan.Notations -import Mathlib.AlgebraicTopology.DoldKan.PInfty -import Mathlib.AlgebraicTopology.DoldKan.Projections -import Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject -import Mathlib.AlgebraicTopology.ExtraDegeneracy -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic -import Mathlib.AlgebraicTopology.FundamentalGroupoid.FundamentalGroup -import Mathlib.AlgebraicTopology.FundamentalGroupoid.InducedMaps -import Mathlib.AlgebraicTopology.FundamentalGroupoid.PUnit -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Product -import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected -import Mathlib.AlgebraicTopology.ModelCategory.Basic -import Mathlib.AlgebraicTopology.ModelCategory.BrownLemma -import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations -import Mathlib.AlgebraicTopology.ModelCategory.Cylinder -import Mathlib.AlgebraicTopology.ModelCategory.Homotopy -import Mathlib.AlgebraicTopology.ModelCategory.Instances -import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant -import Mathlib.AlgebraicTopology.ModelCategory.JoyalTrick -import Mathlib.AlgebraicTopology.ModelCategory.LeftHomotopy -import Mathlib.AlgebraicTopology.ModelCategory.PathObject -import Mathlib.AlgebraicTopology.ModelCategory.RightHomotopy -import Mathlib.AlgebraicTopology.MooreComplex -import Mathlib.AlgebraicTopology.Quasicategory.Basic -import Mathlib.AlgebraicTopology.Quasicategory.Nerve -import Mathlib.AlgebraicTopology.Quasicategory.StrictSegal -import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells -import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic -import Mathlib.AlgebraicTopology.SimplexCategory.Augmented -import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic -import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Monoidal -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.AlgebraicTopology.SimplexCategory.Defs -import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.Basic -import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.EpiMono -import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.NormalForms -import Mathlib.AlgebraicTopology.SimplexCategory.MorphismProperty -import Mathlib.AlgebraicTopology.SimplexCategory.Rev -import Mathlib.AlgebraicTopology.SimplexCategory.Truncated -import Mathlib.AlgebraicTopology.SimplicialCategory.Basic -import Mathlib.AlgebraicTopology.SimplicialCategory.SimplicialObject -import Mathlib.AlgebraicTopology.SimplicialNerve -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.AlgebraicTopology.SimplicialObject.Coskeletal -import Mathlib.AlgebraicTopology.SimplicialObject.II -import Mathlib.AlgebraicTopology.SimplicialObject.Op -import Mathlib.AlgebraicTopology.SimplicialObject.Split -import Mathlib.AlgebraicTopology.SimplicialSet.Basic -import Mathlib.AlgebraicTopology.SimplicialSet.Boundary -import Mathlib.AlgebraicTopology.SimplicialSet.CategoryWithFibrations -import Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal -import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate -import Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat -import Mathlib.AlgebraicTopology.SimplicialSet.Horn -import Mathlib.AlgebraicTopology.SimplicialSet.KanComplex -import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal -import Mathlib.AlgebraicTopology.SimplicialSet.Nerve -import Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction -import Mathlib.AlgebraicTopology.SimplicialSet.NerveNondegenerate -import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplices -import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplicesSubcomplex -import Mathlib.AlgebraicTopology.SimplicialSet.Op -import Mathlib.AlgebraicTopology.SimplicialSet.Path -import Mathlib.AlgebraicTopology.SimplicialSet.Simplices -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex -import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal -import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex -import Mathlib.AlgebraicTopology.SingularHomology.Basic -import Mathlib.AlgebraicTopology.SingularSet -import Mathlib.AlgebraicTopology.TopologicalSimplex -import Mathlib.Analysis.AbsoluteValue.Equivalence -import Mathlib.Analysis.Analytic.Basic -import Mathlib.Analysis.Analytic.Binomial -import Mathlib.Analysis.Analytic.CPolynomial -import Mathlib.Analysis.Analytic.CPolynomialDef -import Mathlib.Analysis.Analytic.ChangeOrigin -import Mathlib.Analysis.Analytic.Composition -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Analytic.ConvergenceRadius -import Mathlib.Analysis.Analytic.Inverse -import Mathlib.Analysis.Analytic.IsolatedZeros -import Mathlib.Analysis.Analytic.IteratedFDeriv -import Mathlib.Analysis.Analytic.Linear -import Mathlib.Analysis.Analytic.OfScalars -import Mathlib.Analysis.Analytic.Order -import Mathlib.Analysis.Analytic.Polynomial -import Mathlib.Analysis.Analytic.RadiusLiminf -import Mathlib.Analysis.Analytic.Uniqueness -import Mathlib.Analysis.Analytic.WithLp -import Mathlib.Analysis.Analytic.Within -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.Asymptotics.Completion -import Mathlib.Analysis.Asymptotics.Defs -import Mathlib.Analysis.Asymptotics.ExpGrowth -import Mathlib.Analysis.Asymptotics.Lemmas -import Mathlib.Analysis.Asymptotics.LinearGrowth -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics -import Mathlib.Analysis.Asymptotics.SuperpolynomialDecay -import Mathlib.Analysis.Asymptotics.TVS -import Mathlib.Analysis.Asymptotics.Theta -import Mathlib.Analysis.BoundedVariation -import Mathlib.Analysis.BoxIntegral.Basic -import Mathlib.Analysis.BoxIntegral.Box.Basic -import Mathlib.Analysis.BoxIntegral.Box.SubboxInduction -import Mathlib.Analysis.BoxIntegral.DivergenceTheorem -import Mathlib.Analysis.BoxIntegral.Integrability -import Mathlib.Analysis.BoxIntegral.Partition.Additive -import Mathlib.Analysis.BoxIntegral.Partition.Basic -import Mathlib.Analysis.BoxIntegral.Partition.Filter -import Mathlib.Analysis.BoxIntegral.Partition.Measure -import Mathlib.Analysis.BoxIntegral.Partition.Split -import Mathlib.Analysis.BoxIntegral.Partition.SubboxInduction -import Mathlib.Analysis.BoxIntegral.Partition.Tagged -import Mathlib.Analysis.BoxIntegral.UnitPartition -import Mathlib.Analysis.CStarAlgebra.ApproximateUnit -import Mathlib.Analysis.CStarAlgebra.Basic -import Mathlib.Analysis.CStarAlgebra.CStarMatrix -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.CStarAlgebra.CompletelyPositiveMap -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Commute -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Continuity -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Note -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Pi -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Range -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unitary -import Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap -import Mathlib.Analysis.CStarAlgebra.ContinuousMap -import Mathlib.Analysis.CStarAlgebra.Exponential -import Mathlib.Analysis.CStarAlgebra.GelfandDuality -import Mathlib.Analysis.CStarAlgebra.Hom -import Mathlib.Analysis.CStarAlgebra.Matrix -import Mathlib.Analysis.CStarAlgebra.Module.Constructions -import Mathlib.Analysis.CStarAlgebra.Module.Defs -import Mathlib.Analysis.CStarAlgebra.Module.Synonym -import Mathlib.Analysis.CStarAlgebra.Multiplier -import Mathlib.Analysis.CStarAlgebra.PositiveLinearMap -import Mathlib.Analysis.CStarAlgebra.Projection -import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart -import Mathlib.Analysis.CStarAlgebra.Spectrum -import Mathlib.Analysis.CStarAlgebra.Unitary.Connected -import Mathlib.Analysis.CStarAlgebra.Unitary.Span -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.CStarAlgebra.lpSpace -import Mathlib.Analysis.Calculus.AddTorsor.AffineMap -import Mathlib.Analysis.Calculus.AddTorsor.Coord -import Mathlib.Analysis.Calculus.BumpFunction.Basic -import Mathlib.Analysis.Calculus.BumpFunction.Convolution -import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension -import Mathlib.Analysis.Calculus.BumpFunction.InnerProduct -import Mathlib.Analysis.Calculus.BumpFunction.Normed -import Mathlib.Analysis.Calculus.BumpFunction.SmoothApprox -import Mathlib.Analysis.Calculus.Conformal.InnerProduct -import Mathlib.Analysis.Calculus.Conformal.NormedSpace -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.ContDiff.Bounds -import Mathlib.Analysis.Calculus.ContDiff.CPolynomial -import Mathlib.Analysis.Calculus.ContDiff.Defs -import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries -import Mathlib.Analysis.Calculus.ContDiff.FaaDiBruno -import Mathlib.Analysis.Calculus.ContDiff.FiniteDimension -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.ContDiff.RCLike -import Mathlib.Analysis.Calculus.ContDiff.RestrictScalars -import Mathlib.Analysis.Calculus.ContDiff.WithLp -import Mathlib.Analysis.Calculus.DSlope -import Mathlib.Analysis.Calculus.Darboux -import Mathlib.Analysis.Calculus.Deriv.Abs -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.AffineMap -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.Deriv.CompMul -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.Calculus.Deriv.Inverse -import Mathlib.Analysis.Calculus.Deriv.Linear -import Mathlib.Analysis.Calculus.Deriv.MeanValue -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Pi -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.Deriv.Prod -import Mathlib.Analysis.Calculus.Deriv.Shift -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.Analysis.Calculus.Deriv.Star -import Mathlib.Analysis.Calculus.Deriv.Support -import Mathlib.Analysis.Calculus.Deriv.ZPow -import Mathlib.Analysis.Calculus.DerivativeTest -import Mathlib.Analysis.Calculus.DiffContOnCl -import Mathlib.Analysis.Calculus.DifferentialForm.Basic -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.FDeriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Bilinear -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.CompCLM -import Mathlib.Analysis.Calculus.FDeriv.Congr -import Mathlib.Analysis.Calculus.FDeriv.Const -import Mathlib.Analysis.Calculus.FDeriv.Defs -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.FDeriv.Extend -import Mathlib.Analysis.Calculus.FDeriv.Linear -import Mathlib.Analysis.Calculus.FDeriv.Measurable -import Mathlib.Analysis.Calculus.FDeriv.Mul -import Mathlib.Analysis.Calculus.FDeriv.Norm -import Mathlib.Analysis.Calculus.FDeriv.Pi -import Mathlib.Analysis.Calculus.FDeriv.Pow -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars -import Mathlib.Analysis.Calculus.FDeriv.Star -import Mathlib.Analysis.Calculus.FDeriv.Symmetric -import Mathlib.Analysis.Calculus.FDeriv.WithLp -import Mathlib.Analysis.Calculus.FormalMultilinearSeries -import Mathlib.Analysis.Calculus.Gradient.Basic -import Mathlib.Analysis.Calculus.Implicit -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ContDiff -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FiniteDimensional -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.Calculus.IteratedDeriv.FaaDiBruno -import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas -import Mathlib.Analysis.Calculus.IteratedDeriv.WithinZpow -import Mathlib.Analysis.Calculus.LHopital -import Mathlib.Analysis.Calculus.LagrangeMultipliers -import Mathlib.Analysis.Calculus.LineDeriv.Basic -import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts -import Mathlib.Analysis.Calculus.LineDeriv.Measurable -import Mathlib.Analysis.Calculus.LineDeriv.QuadraticMap -import Mathlib.Analysis.Calculus.LocalExtr.Basic -import Mathlib.Analysis.Calculus.LocalExtr.LineDeriv -import Mathlib.Analysis.Calculus.LocalExtr.Polynomial -import Mathlib.Analysis.Calculus.LocalExtr.Rolle -import Mathlib.Analysis.Calculus.LogDeriv -import Mathlib.Analysis.Calculus.LogDerivUniformlyOn -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.Analysis.Calculus.Monotone -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.Analysis.Calculus.ParametricIntervalIntegral -import Mathlib.Analysis.Calculus.Rademacher -import Mathlib.Analysis.Calculus.SmoothSeries -import Mathlib.Analysis.Calculus.TangentCone -import Mathlib.Analysis.Calculus.Taylor -import Mathlib.Analysis.Calculus.UniformLimitsDeriv -import Mathlib.Analysis.Calculus.VectorField -import Mathlib.Analysis.Complex.AbelLimit -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.Analysis.Complex.Angle -import Mathlib.Analysis.Complex.Arg -import Mathlib.Analysis.Complex.Asymptotics -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.Complex.Cardinality -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.Complex.Circle -import Mathlib.Analysis.Complex.Conformal -import Mathlib.Analysis.Complex.Convex -import Mathlib.Analysis.Complex.Exponential -import Mathlib.Analysis.Complex.ExponentialBounds -import Mathlib.Analysis.Complex.Hadamard -import Mathlib.Analysis.Complex.HalfPlane -import Mathlib.Analysis.Complex.Harmonic.Analytic -import Mathlib.Analysis.Complex.Harmonic.MeanValue -import Mathlib.Analysis.Complex.HasPrimitives -import Mathlib.Analysis.Complex.IntegerCompl -import Mathlib.Analysis.Complex.IsIntegral -import Mathlib.Analysis.Complex.Isometry -import Mathlib.Analysis.Complex.JensenFormula -import Mathlib.Analysis.Complex.Liouville -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Analysis.Complex.MeanValue -import Mathlib.Analysis.Complex.Norm -import Mathlib.Analysis.Complex.OpenMapping -import Mathlib.Analysis.Complex.OperatorNorm -import Mathlib.Analysis.Complex.Order -import Mathlib.Analysis.Complex.Periodic -import Mathlib.Analysis.Complex.PhragmenLindelof -import Mathlib.Analysis.Complex.Polynomial.Basic -import Mathlib.Analysis.Complex.Polynomial.GaussLucas -import Mathlib.Analysis.Complex.Polynomial.UnitTrinomial -import Mathlib.Analysis.Complex.Positivity -import Mathlib.Analysis.Complex.ReImTopology -import Mathlib.Analysis.Complex.RealDeriv -import Mathlib.Analysis.Complex.RemovableSingularity -import Mathlib.Analysis.Complex.Schwarz -import Mathlib.Analysis.Complex.Spectrum -import Mathlib.Analysis.Complex.SummableUniformlyOn -import Mathlib.Analysis.Complex.TaylorSeries -import Mathlib.Analysis.Complex.Tietze -import Mathlib.Analysis.Complex.Trigonometric -import Mathlib.Analysis.Complex.UnitDisc.Basic -import Mathlib.Analysis.Complex.UpperHalfPlane.Basic -import Mathlib.Analysis.Complex.UpperHalfPlane.Exp -import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty -import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold -import Mathlib.Analysis.Complex.UpperHalfPlane.Metric -import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction -import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction -import Mathlib.Analysis.Complex.ValueDistribution.FirstMainTheorem -import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction -import Mathlib.Analysis.ConstantSpeed -import Mathlib.Analysis.Convex.AmpleSet -import Mathlib.Analysis.Convex.Basic -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Convex.BetweenList -import Mathlib.Analysis.Convex.Birkhoff -import Mathlib.Analysis.Convex.Body -import Mathlib.Analysis.Convex.Caratheodory -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.Cone.Basic -import Mathlib.Analysis.Convex.Cone.Closure -import Mathlib.Analysis.Convex.Cone.Dual -import Mathlib.Analysis.Convex.Cone.Extension -import Mathlib.Analysis.Convex.Cone.InnerDual -import Mathlib.Analysis.Convex.Continuous -import Mathlib.Analysis.Convex.ContinuousLinearEquiv -import Mathlib.Analysis.Convex.Contractible -import Mathlib.Analysis.Convex.Deriv -import Mathlib.Analysis.Convex.DoublyStochasticMatrix -import Mathlib.Analysis.Convex.EGauge -import Mathlib.Analysis.Convex.Exposed -import Mathlib.Analysis.Convex.Extrema -import Mathlib.Analysis.Convex.Extreme -import Mathlib.Analysis.Convex.Function -import Mathlib.Analysis.Convex.Gauge -import Mathlib.Analysis.Convex.GaugeRescale -import Mathlib.Analysis.Convex.Hull -import Mathlib.Analysis.Convex.Independent -import Mathlib.Analysis.Convex.Integral -import Mathlib.Analysis.Convex.Intrinsic -import Mathlib.Analysis.Convex.Jensen -import Mathlib.Analysis.Convex.Join -import Mathlib.Analysis.Convex.KreinMilman -import Mathlib.Analysis.Convex.LinearIsometry -import Mathlib.Analysis.Convex.Measure -import Mathlib.Analysis.Convex.Mul -import Mathlib.Analysis.Convex.PartitionOfUnity -import Mathlib.Analysis.Convex.PathConnected -import Mathlib.Analysis.Convex.Piecewise -import Mathlib.Analysis.Convex.Quasiconvex -import Mathlib.Analysis.Convex.Radon -import Mathlib.Analysis.Convex.Segment -import Mathlib.Analysis.Convex.Side -import Mathlib.Analysis.Convex.SimplicialComplex.Basic -import Mathlib.Analysis.Convex.Slope -import Mathlib.Analysis.Convex.SpecificFunctions.Basic -import Mathlib.Analysis.Convex.SpecificFunctions.Deriv -import Mathlib.Analysis.Convex.SpecificFunctions.Pow -import Mathlib.Analysis.Convex.Star -import Mathlib.Analysis.Convex.StdSimplex -import Mathlib.Analysis.Convex.StoneSeparation -import Mathlib.Analysis.Convex.Strict -import Mathlib.Analysis.Convex.StrictConvexBetween -import Mathlib.Analysis.Convex.StrictConvexSpace -import Mathlib.Analysis.Convex.Strong -import Mathlib.Analysis.Convex.Topology -import Mathlib.Analysis.Convex.TotallyBounded -import Mathlib.Analysis.Convex.Uniform -import Mathlib.Analysis.Convex.Visible -import Mathlib.Analysis.Convolution -import Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff -import Mathlib.Analysis.Distribution.ContDiffMapSupportedIn -import Mathlib.Analysis.Distribution.FourierSchwartz -import Mathlib.Analysis.Distribution.SchwartzSpace -import Mathlib.Analysis.Fourier.AddCircle -import Mathlib.Analysis.Fourier.AddCircleMulti -import Mathlib.Analysis.Fourier.BoundedContinuousFunctionChar -import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality -import Mathlib.Analysis.Fourier.FiniteAbelian.PontryaginDuality -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.Analysis.Fourier.FourierTransformDeriv -import Mathlib.Analysis.Fourier.Inversion -import Mathlib.Analysis.Fourier.PoissonSummation -import Mathlib.Analysis.Fourier.RiemannLebesgueLemma -import Mathlib.Analysis.Fourier.ZMod -import Mathlib.Analysis.FunctionalSpaces.SobolevInequality -import Mathlib.Analysis.Hofer -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.InnerProductSpace.Affine -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.InnerProductSpace.CanonicalTensor -import Mathlib.Analysis.InnerProductSpace.Completion -import Mathlib.Analysis.InnerProductSpace.ConformalLinearMap -import Mathlib.Analysis.InnerProductSpace.Continuous -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Analysis.InnerProductSpace.Defs -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.EuclideanDist -import Mathlib.Analysis.InnerProductSpace.GramMatrix -import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho -import Mathlib.Analysis.InnerProductSpace.Harmonic.Analytic -import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic -import Mathlib.Analysis.InnerProductSpace.Harmonic.Constructions -import Mathlib.Analysis.InnerProductSpace.JointEigenspace -import Mathlib.Analysis.InnerProductSpace.Laplacian -import Mathlib.Analysis.InnerProductSpace.LaxMilgram -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.Analysis.InnerProductSpace.LinearPMap -import Mathlib.Analysis.InnerProductSpace.MeanErgodic -import Mathlib.Analysis.InnerProductSpace.MulOpposite -import Mathlib.Analysis.InnerProductSpace.NormPow -import Mathlib.Analysis.InnerProductSpace.OfNorm -import Mathlib.Analysis.InnerProductSpace.Orientation -import Mathlib.Analysis.InnerProductSpace.Orthogonal -import Mathlib.Analysis.InnerProductSpace.Orthonormal -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Analysis.InnerProductSpace.Positive -import Mathlib.Analysis.InnerProductSpace.ProdL2 -import Mathlib.Analysis.InnerProductSpace.Projection -import Mathlib.Analysis.InnerProductSpace.Projection.Basic -import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional -import Mathlib.Analysis.InnerProductSpace.Projection.Minimal -import Mathlib.Analysis.InnerProductSpace.Projection.Reflection -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.Analysis.InnerProductSpace.Rayleigh -import Mathlib.Analysis.InnerProductSpace.Semisimple -import Mathlib.Analysis.InnerProductSpace.Spectrum -import Mathlib.Analysis.InnerProductSpace.StarOrder -import Mathlib.Analysis.InnerProductSpace.Subspace -import Mathlib.Analysis.InnerProductSpace.Symmetric -import Mathlib.Analysis.InnerProductSpace.TensorProduct -import Mathlib.Analysis.InnerProductSpace.Trace -import Mathlib.Analysis.InnerProductSpace.TwoDim -import Mathlib.Analysis.InnerProductSpace.WeakOperatorTopology -import Mathlib.Analysis.InnerProductSpace.l2Space -import Mathlib.Analysis.LConvolution -import Mathlib.Analysis.LocallyConvex.AbsConvex -import Mathlib.Analysis.LocallyConvex.AbsConvexOpen -import Mathlib.Analysis.LocallyConvex.BalancedCoreHull -import Mathlib.Analysis.LocallyConvex.Barrelled -import Mathlib.Analysis.LocallyConvex.Basic -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Analysis.LocallyConvex.ContinuousOfBounded -import Mathlib.Analysis.LocallyConvex.Polar -import Mathlib.Analysis.LocallyConvex.StrongTopology -import Mathlib.Analysis.LocallyConvex.WeakDual -import Mathlib.Analysis.LocallyConvex.WeakOperatorTopology -import Mathlib.Analysis.LocallyConvex.WeakSpace -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.Matrix -import Mathlib.Analysis.Matrix.Order -import Mathlib.Analysis.MeanInequalities -import Mathlib.Analysis.MeanInequalitiesPow -import Mathlib.Analysis.MellinInversion -import Mathlib.Analysis.MellinTransform -import Mathlib.Analysis.Meromorphic.Basic -import Mathlib.Analysis.Meromorphic.Complex -import Mathlib.Analysis.Meromorphic.Divisor -import Mathlib.Analysis.Meromorphic.FactorizedRational -import Mathlib.Analysis.Meromorphic.IsolatedZeros -import Mathlib.Analysis.Meromorphic.NormalForm -import Mathlib.Analysis.Meromorphic.Order -import Mathlib.Analysis.Meromorphic.TrailingCoefficient -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Analysis.Normed.Affine.AddTorsorBases -import Mathlib.Analysis.Normed.Affine.AsymptoticCone -import Mathlib.Analysis.Normed.Affine.ContinuousAffineMap -import Mathlib.Analysis.Normed.Affine.Convex -import Mathlib.Analysis.Normed.Affine.Isometry -import Mathlib.Analysis.Normed.Affine.MazurUlam -import Mathlib.Analysis.Normed.Affine.Simplex -import Mathlib.Analysis.Normed.Algebra.Basic -import Mathlib.Analysis.Normed.Algebra.DualNumber -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.Normed.Algebra.GelfandFormula -import Mathlib.Analysis.Normed.Algebra.MatrixExponential -import Mathlib.Analysis.Normed.Algebra.QuaternionExponential -import Mathlib.Analysis.Normed.Algebra.Spectrum -import Mathlib.Analysis.Normed.Algebra.TrivSqZeroExt -import Mathlib.Analysis.Normed.Algebra.Ultra -import Mathlib.Analysis.Normed.Algebra.Unitization -import Mathlib.Analysis.Normed.Algebra.UnitizationL1 -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Field.Instances -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.Normed.Field.ProperSpace -import Mathlib.Analysis.Normed.Field.Ultra -import Mathlib.Analysis.Normed.Field.UnitBall -import Mathlib.Analysis.Normed.Field.WithAbs -import Mathlib.Analysis.Normed.Group.AddCircle -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.Normed.Group.BallSphere -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Analysis.Normed.Group.Bounded -import Mathlib.Analysis.Normed.Group.CocompactMap -import Mathlib.Analysis.Normed.Group.Completeness -import Mathlib.Analysis.Normed.Group.Completion -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.Analysis.Normed.Group.ControlledClosure -import Mathlib.Analysis.Normed.Group.FunctionSeries -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.Analysis.Normed.Group.HomCompletion -import Mathlib.Analysis.Normed.Group.Indicator -import Mathlib.Analysis.Normed.Group.InfiniteSum -import Mathlib.Analysis.Normed.Group.Int -import Mathlib.Analysis.Normed.Group.Lemmas -import Mathlib.Analysis.Normed.Group.NullSubmodule -import Mathlib.Analysis.Normed.Group.Pointwise -import Mathlib.Analysis.Normed.Group.Quotient -import Mathlib.Analysis.Normed.Group.Rat -import Mathlib.Analysis.Normed.Group.SemiNormedGrp -import Mathlib.Analysis.Normed.Group.SemiNormedGrp.Completion -import Mathlib.Analysis.Normed.Group.SemiNormedGrp.Kernels -import Mathlib.Analysis.Normed.Group.Seminorm -import Mathlib.Analysis.Normed.Group.SeparationQuotient -import Mathlib.Analysis.Normed.Group.Subgroup -import Mathlib.Analysis.Normed.Group.Submodule -import Mathlib.Analysis.Normed.Group.Tannery -import Mathlib.Analysis.Normed.Group.Ultra -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Analysis.Normed.Group.ZeroAtInfty -import Mathlib.Analysis.Normed.Lp.LpEquiv -import Mathlib.Analysis.Normed.Lp.MeasurableSpace -import Mathlib.Analysis.Normed.Lp.PiLp -import Mathlib.Analysis.Normed.Lp.ProdLp -import Mathlib.Analysis.Normed.Lp.WithLp -import Mathlib.Analysis.Normed.Lp.lpSpace -import Mathlib.Analysis.Normed.Module.Ball.Action -import Mathlib.Analysis.Normed.Module.Ball.Homeomorph -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Module.Complemented -import Mathlib.Analysis.Normed.Module.Completion -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Analysis.Normed.Module.Dual -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Analysis.Normed.Module.RCLike.Basic -import Mathlib.Analysis.Normed.Module.RCLike.Extend -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Analysis.Normed.Module.Ray -import Mathlib.Analysis.Normed.Module.Span -import Mathlib.Analysis.Normed.Module.WeakDual -import Mathlib.Analysis.Normed.MulAction -import Mathlib.Analysis.Normed.Operator.Asymptotics -import Mathlib.Analysis.Normed.Operator.Banach -import Mathlib.Analysis.Normed.Operator.BanachSteinhaus -import Mathlib.Analysis.Normed.Operator.Basic -import Mathlib.Analysis.Normed.Operator.Bilinear -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps -import Mathlib.Analysis.Normed.Operator.Compact -import Mathlib.Analysis.Normed.Operator.Completeness -import Mathlib.Analysis.Normed.Operator.Conformal -import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Analysis.Normed.Operator.Mul -import Mathlib.Analysis.Normed.Operator.NNNorm -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Analysis.Normed.Operator.Prod -import Mathlib.Analysis.Normed.Order.Basic -import Mathlib.Analysis.Normed.Order.Hom.Basic -import Mathlib.Analysis.Normed.Order.Hom.Ultra -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.Analysis.Normed.Order.UpperLower -import Mathlib.Analysis.Normed.Ring.Basic -import Mathlib.Analysis.Normed.Ring.Finite -import Mathlib.Analysis.Normed.Ring.InfiniteSum -import Mathlib.Analysis.Normed.Ring.Int -import Mathlib.Analysis.Normed.Ring.Lemmas -import Mathlib.Analysis.Normed.Ring.Ultra -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Analysis.Normed.Ring.WithAbs -import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm -import Mathlib.Analysis.Normed.Unbundled.FiniteExtension -import Mathlib.Analysis.Normed.Unbundled.InvariantExtension -import Mathlib.Analysis.Normed.Unbundled.IsPowMulFaithful -import Mathlib.Analysis.Normed.Unbundled.RingSeminorm -import Mathlib.Analysis.Normed.Unbundled.SeminormFromBounded -import Mathlib.Analysis.Normed.Unbundled.SeminormFromConst -import Mathlib.Analysis.Normed.Unbundled.SmoothingSeminorm -import Mathlib.Analysis.Normed.Unbundled.SpectralNorm -import Mathlib.Analysis.NormedSpace.Alternating.Basic -import Mathlib.Analysis.NormedSpace.Alternating.Curry -import Mathlib.Analysis.NormedSpace.Alternating.Uncurry.Fin -import Mathlib.Analysis.NormedSpace.BallAction -import Mathlib.Analysis.NormedSpace.ConformalLinearMap -import Mathlib.Analysis.NormedSpace.Connected -import Mathlib.Analysis.NormedSpace.DualNumber -import Mathlib.Analysis.NormedSpace.ENormedSpace -import Mathlib.Analysis.NormedSpace.Extend -import Mathlib.Analysis.NormedSpace.Extr -import Mathlib.Analysis.NormedSpace.FunctionSeries -import Mathlib.Analysis.NormedSpace.HahnBanach.Extension -import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual -import Mathlib.Analysis.NormedSpace.HahnBanach.Separation -import Mathlib.Analysis.NormedSpace.HomeomorphBall -import Mathlib.Analysis.NormedSpace.IndicatorFunction -import Mathlib.Analysis.NormedSpace.Int -import Mathlib.Analysis.NormedSpace.MStructure -import Mathlib.Analysis.NormedSpace.Multilinear.Basic -import Mathlib.Analysis.NormedSpace.Multilinear.Curry -import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn -import Mathlib.Analysis.NormedSpace.Normalize -import Mathlib.Analysis.NormedSpace.OperatorNorm.Asymptotics -import Mathlib.Analysis.NormedSpace.OperatorNorm.Basic -import Mathlib.Analysis.NormedSpace.OperatorNorm.Bilinear -import Mathlib.Analysis.NormedSpace.OperatorNorm.Completeness -import Mathlib.Analysis.NormedSpace.OperatorNorm.Mul -import Mathlib.Analysis.NormedSpace.OperatorNorm.NNNorm -import Mathlib.Analysis.NormedSpace.OperatorNorm.NormedSpace -import Mathlib.Analysis.NormedSpace.OperatorNorm.Prod -import Mathlib.Analysis.NormedSpace.PiTensorProduct.InjectiveSeminorm -import Mathlib.Analysis.NormedSpace.PiTensorProduct.ProjectiveSeminorm -import Mathlib.Analysis.NormedSpace.Pointwise -import Mathlib.Analysis.NormedSpace.RCLike -import Mathlib.Analysis.NormedSpace.Real -import Mathlib.Analysis.NormedSpace.RieszLemma -import Mathlib.Analysis.NormedSpace.SphereNormEquiv -import Mathlib.Analysis.ODE.Gronwall -import Mathlib.Analysis.ODE.PicardLindelof -import Mathlib.Analysis.Oscillation -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.PSeriesComplex -import Mathlib.Analysis.Polynomial.Basic -import Mathlib.Analysis.Polynomial.CauchyBound -import Mathlib.Analysis.Polynomial.Factorization -import Mathlib.Analysis.Polynomial.MahlerMeasure -import Mathlib.Analysis.Quaternion -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Analysis.RCLike.BoundedContinuous -import Mathlib.Analysis.RCLike.Extend -import Mathlib.Analysis.RCLike.Inner -import Mathlib.Analysis.RCLike.Lemmas -import Mathlib.Analysis.RCLike.TangentCone -import Mathlib.Analysis.Real.Cardinality -import Mathlib.Analysis.Real.Hyperreal -import Mathlib.Analysis.Real.OfDigits -import Mathlib.Analysis.Real.Pi.Bounds -import Mathlib.Analysis.Real.Pi.Chudnovsky -import Mathlib.Analysis.Real.Pi.Irrational -import Mathlib.Analysis.Real.Pi.Leibniz -import Mathlib.Analysis.Real.Pi.Wallis -import Mathlib.Analysis.Real.Spectrum -import Mathlib.Analysis.Seminorm -import Mathlib.Analysis.SpecialFunctions.Arsinh -import Mathlib.Analysis.SpecialFunctions.Bernstein -import Mathlib.Analysis.SpecialFunctions.BinaryEntropy -import Mathlib.Analysis.SpecialFunctions.Choose -import Mathlib.Analysis.SpecialFunctions.CompareExp -import Mathlib.Analysis.SpecialFunctions.Complex.Analytic -import Mathlib.Analysis.SpecialFunctions.Complex.Arctan -import Mathlib.Analysis.SpecialFunctions.Complex.Arg -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar -import Mathlib.Analysis.SpecialFunctions.Complex.CircleMap -import Mathlib.Analysis.SpecialFunctions.Complex.Log -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds -import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Abs -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Isometric -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.IntegralRepresentation -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Isometric -import Mathlib.Analysis.SpecialFunctions.Exp -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Exponential -import Mathlib.Analysis.SpecialFunctions.Gamma.Basic -import Mathlib.Analysis.SpecialFunctions.Gamma.Beta -import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup -import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne -import Mathlib.Analysis.SpecialFunctions.Gamma.Deriv -import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform -import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral -import Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals -import Mathlib.Analysis.SpecialFunctions.Integrability.Basic -import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Analysis.SpecialFunctions.Integrals.LogTrigonometric -import Mathlib.Analysis.SpecialFunctions.Integrals.PosLogEqCircleAverage -import Mathlib.Analysis.SpecialFunctions.JapaneseBracket -import Mathlib.Analysis.SpecialFunctions.Log.Base -import Mathlib.Analysis.SpecialFunctions.Log.Basic -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLog -import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp -import Mathlib.Analysis.SpecialFunctions.Log.ERealExp -import Mathlib.Analysis.SpecialFunctions.Log.Monotone -import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog -import Mathlib.Analysis.SpecialFunctions.Log.PosLog -import Mathlib.Analysis.SpecialFunctions.Log.Summable -import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSq -import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSqIntegral -import Mathlib.Analysis.SpecialFunctions.NonIntegrable -import Mathlib.Analysis.SpecialFunctions.OrdinaryHypergeometric -import Mathlib.Analysis.SpecialFunctions.Pochhammer -import Mathlib.Analysis.SpecialFunctions.PolarCoord -import Mathlib.Analysis.SpecialFunctions.PolynomialExp -import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics -import Mathlib.Analysis.SpecialFunctions.Pow.Complex -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv -import Mathlib.Analysis.SpecialFunctions.Pow.Integral -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.Analysis.SpecialFunctions.Pow.NthRootLemmas -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Analysis.SpecialFunctions.Sigmoid -import Mathlib.Analysis.SpecialFunctions.SmoothTransition -import Mathlib.Analysis.SpecialFunctions.Sqrt -import Mathlib.Analysis.SpecialFunctions.Stirling -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan -import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex -import Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Cotangent -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse -import Mathlib.Analysis.SpecialFunctions.Trigonometric.InverseDeriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Series -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc -import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Analysis.SpecificLimits.Fibonacci -import Mathlib.Analysis.SpecificLimits.FloorPow -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Analysis.SpecificLimits.RCLike -import Mathlib.Analysis.Subadditive -import Mathlib.Analysis.SumIntegralComparisons -import Mathlib.Analysis.SumOverResidueClass -import Mathlib.Analysis.VonNeumannAlgebra.Basic -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.Abelian.CommSq -import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four -import Mathlib.CategoryTheory.Abelian.DiagramLemmas.KernelCokernelComp -import Mathlib.CategoryTheory.Abelian.EpiWithInjectiveKernel -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.CategoryTheory.Abelian.Ext -import Mathlib.CategoryTheory.Abelian.FreydMitchell -import Mathlib.CategoryTheory.Abelian.FunctorCategory -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Connected -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Indization -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Types -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ColimCoyoneda -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Coseparator -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.GabrielPopescu -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Subobject -import Mathlib.CategoryTheory.Abelian.Images -import Mathlib.CategoryTheory.Abelian.Indization -import Mathlib.CategoryTheory.Abelian.Injective.Basic -import Mathlib.CategoryTheory.Abelian.Injective.Dimension -import Mathlib.CategoryTheory.Abelian.Injective.Resolution -import Mathlib.CategoryTheory.Abelian.LeftDerived -import Mathlib.CategoryTheory.Abelian.Monomorphisms -import Mathlib.CategoryTheory.Abelian.NonPreadditive -import Mathlib.CategoryTheory.Abelian.Opposite -import Mathlib.CategoryTheory.Abelian.Projective.Basic -import Mathlib.CategoryTheory.Abelian.Projective.Dimension -import Mathlib.CategoryTheory.Abelian.Projective.Resolution -import Mathlib.CategoryTheory.Abelian.Pseudoelements -import Mathlib.CategoryTheory.Abelian.Refinements -import Mathlib.CategoryTheory.Abelian.RightDerived -import Mathlib.CategoryTheory.Abelian.SerreClass.Basic -import Mathlib.CategoryTheory.Abelian.SerreClass.Bousfield -import Mathlib.CategoryTheory.Abelian.SerreClass.MorphismProperty -import Mathlib.CategoryTheory.Abelian.Subobject -import Mathlib.CategoryTheory.Abelian.Transfer -import Mathlib.CategoryTheory.Abelian.Yoneda -import Mathlib.CategoryTheory.Action -import Mathlib.CategoryTheory.Action.Basic -import Mathlib.CategoryTheory.Action.Concrete -import Mathlib.CategoryTheory.Action.Continuous -import Mathlib.CategoryTheory.Action.Limits -import Mathlib.CategoryTheory.Action.Monoidal -import Mathlib.CategoryTheory.Adhesive -import Mathlib.CategoryTheory.Adjunction.Additive -import Mathlib.CategoryTheory.Adjunction.AdjointFunctorTheorems -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Adjunction.Comma -import Mathlib.CategoryTheory.Adjunction.Evaluation -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Adjunction.Lifting.Left -import Mathlib.CategoryTheory.Adjunction.Lifting.Right -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Adjunction.Mates -import Mathlib.CategoryTheory.Adjunction.Opposites -import Mathlib.CategoryTheory.Adjunction.Parametrized -import Mathlib.CategoryTheory.Adjunction.PartialAdjoint -import Mathlib.CategoryTheory.Adjunction.Quadruple -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Adjunction.Restrict -import Mathlib.CategoryTheory.Adjunction.Triple -import Mathlib.CategoryTheory.Adjunction.Unique -import Mathlib.CategoryTheory.Adjunction.Whiskering -import Mathlib.CategoryTheory.Balanced -import Mathlib.CategoryTheory.Bicategory.Adjunction.Adj -import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic -import Mathlib.CategoryTheory.Bicategory.Adjunction.Mate -import Mathlib.CategoryTheory.Bicategory.Basic -import Mathlib.CategoryTheory.Bicategory.CatEnriched -import Mathlib.CategoryTheory.Bicategory.Coherence -import Mathlib.CategoryTheory.Bicategory.End -import Mathlib.CategoryTheory.Bicategory.EqToHom -import Mathlib.CategoryTheory.Bicategory.Extension -import Mathlib.CategoryTheory.Bicategory.Free -import Mathlib.CategoryTheory.Bicategory.Functor.Cat -import Mathlib.CategoryTheory.Bicategory.Functor.Lax -import Mathlib.CategoryTheory.Bicategory.Functor.LocallyDiscrete -import Mathlib.CategoryTheory.Bicategory.Functor.Oplax -import Mathlib.CategoryTheory.Bicategory.Functor.Prelax -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor -import Mathlib.CategoryTheory.Bicategory.Functor.Strict -import Mathlib.CategoryTheory.Bicategory.Functor.StrictlyUnitary -import Mathlib.CategoryTheory.Bicategory.FunctorBicategory.Oplax -import Mathlib.CategoryTheory.Bicategory.Grothendieck -import Mathlib.CategoryTheory.Bicategory.Kan.Adjunction -import Mathlib.CategoryTheory.Bicategory.Kan.HasKan -import Mathlib.CategoryTheory.Bicategory.Kan.IsKan -import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete -import Mathlib.CategoryTheory.Bicategory.Modification.Oplax -import Mathlib.CategoryTheory.Bicategory.Monad.Basic -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Pseudo -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Strong -import Mathlib.CategoryTheory.Bicategory.SingleObj -import Mathlib.CategoryTheory.Bicategory.Strict -import Mathlib.CategoryTheory.Bicategory.Strict.Basic -import Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor -import Mathlib.CategoryTheory.CatCommSq -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.CategoryTheory.Category.Bipointed -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Category.Cat.Adjunction -import Mathlib.CategoryTheory.Category.Cat.AsSmall -import Mathlib.CategoryTheory.Category.Cat.CartesianClosed -import Mathlib.CategoryTheory.Category.Cat.Colimit -import Mathlib.CategoryTheory.Category.Cat.Limit -import Mathlib.CategoryTheory.Category.Cat.Op -import Mathlib.CategoryTheory.Category.Cat.Terminal -import Mathlib.CategoryTheory.Category.Factorisation -import Mathlib.CategoryTheory.Category.GaloisConnection -import Mathlib.CategoryTheory.Category.Grpd -import Mathlib.CategoryTheory.Category.Init -import Mathlib.CategoryTheory.Category.KleisliCat -import Mathlib.CategoryTheory.Category.Pairwise -import Mathlib.CategoryTheory.Category.PartialFun -import Mathlib.CategoryTheory.Category.Pointed -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Category.Quiv -import Mathlib.CategoryTheory.Category.ReflQuiv -import Mathlib.CategoryTheory.Category.RelCat -import Mathlib.CategoryTheory.Category.TwoP -import Mathlib.CategoryTheory.Category.ULift -import Mathlib.CategoryTheory.Center.Basic -import Mathlib.CategoryTheory.Center.Linear -import Mathlib.CategoryTheory.Center.Localization -import Mathlib.CategoryTheory.ChosenFiniteProducts -import Mathlib.CategoryTheory.ChosenFiniteProducts.Cat -import Mathlib.CategoryTheory.ChosenFiniteProducts.FunctorCategory -import Mathlib.CategoryTheory.ChosenFiniteProducts.InfSemilattice -import Mathlib.CategoryTheory.ChosenFiniteProducts.Over -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.Closed.Enrichment -import Mathlib.CategoryTheory.Closed.Functor -import Mathlib.CategoryTheory.Closed.FunctorCategory.Basic -import Mathlib.CategoryTheory.Closed.FunctorCategory.Complete -import Mathlib.CategoryTheory.Closed.FunctorCategory.Groupoid -import Mathlib.CategoryTheory.Closed.FunctorToTypes -import Mathlib.CategoryTheory.Closed.Ideal -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Closed.Types -import Mathlib.CategoryTheory.Closed.Zero -import Mathlib.CategoryTheory.CodiscreteCategory -import Mathlib.CategoryTheory.CofilteredSystem -import Mathlib.CategoryTheory.CommSq -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.Comma.Basic -import Mathlib.CategoryTheory.Comma.CardinalArrow -import Mathlib.CategoryTheory.Comma.Final -import Mathlib.CategoryTheory.Comma.LocallySmall -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Comma.Over.OverClass -import Mathlib.CategoryTheory.Comma.Over.Pullback -import Mathlib.CategoryTheory.Comma.Presheaf.Basic -import Mathlib.CategoryTheory.Comma.Presheaf.Colimit -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap -import Mathlib.CategoryTheory.Comma.StructuredArrow.Final -import Mathlib.CategoryTheory.Comma.StructuredArrow.Functor -import Mathlib.CategoryTheory.Comma.StructuredArrow.Small -import Mathlib.CategoryTheory.ComposableArrows -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.ConcreteCategory.Bundled -import Mathlib.CategoryTheory.ConcreteCategory.BundledHom -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso -import Mathlib.CategoryTheory.ConcreteCategory.UnbundledHom -import Mathlib.CategoryTheory.Conj -import Mathlib.CategoryTheory.ConnectedComponents -import Mathlib.CategoryTheory.CopyDiscardCategory.Basic -import Mathlib.CategoryTheory.CopyDiscardCategory.Cartesian -import Mathlib.CategoryTheory.CopyDiscardCategory.Deterministic -import Mathlib.CategoryTheory.Core -import Mathlib.CategoryTheory.Countable -import Mathlib.CategoryTheory.Dialectica.Basic -import Mathlib.CategoryTheory.Dialectica.Monoidal -import Mathlib.CategoryTheory.DifferentialObject -import Mathlib.CategoryTheory.DinatTrans -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Discrete.SumsProducts -import Mathlib.CategoryTheory.Distributive.Cartesian -import Mathlib.CategoryTheory.Distributive.Monoidal -import Mathlib.CategoryTheory.EffectiveEpi.Basic -import Mathlib.CategoryTheory.EffectiveEpi.Comp -import Mathlib.CategoryTheory.EffectiveEpi.Coproduct -import Mathlib.CategoryTheory.EffectiveEpi.Enough -import Mathlib.CategoryTheory.EffectiveEpi.Extensive -import Mathlib.CategoryTheory.EffectiveEpi.Preserves -import Mathlib.CategoryTheory.EffectiveEpi.RegularEpi -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Endofunctor.Algebra -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.Enriched.Basic -import Mathlib.CategoryTheory.Enriched.EnrichedCat -import Mathlib.CategoryTheory.Enriched.FunctorCategory -import Mathlib.CategoryTheory.Enriched.HomCongr -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalProducts -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalPullbacks -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalTerminal -import Mathlib.CategoryTheory.Enriched.Opposite -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic -import Mathlib.CategoryTheory.EpiMono -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Equivalence -import Mathlib.CategoryTheory.Equivalence.Symmetry -import Mathlib.CategoryTheory.EssentialImage -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.CategoryTheory.Extensive -import Mathlib.CategoryTheory.ExtremalEpi -import Mathlib.CategoryTheory.FiberedCategory.BasedCategory -import Mathlib.CategoryTheory.FiberedCategory.Cartesian -import Mathlib.CategoryTheory.FiberedCategory.Cocartesian -import Mathlib.CategoryTheory.FiberedCategory.Fiber -import Mathlib.CategoryTheory.FiberedCategory.Fibered -import Mathlib.CategoryTheory.FiberedCategory.Grothendieck -import Mathlib.CategoryTheory.FiberedCategory.HasFibers -import Mathlib.CategoryTheory.FiberedCategory.HomLift -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Filtered.Connected -import Mathlib.CategoryTheory.Filtered.CostructuredArrow -import Mathlib.CategoryTheory.Filtered.Final -import Mathlib.CategoryTheory.Filtered.Flat -import Mathlib.CategoryTheory.Filtered.Grothendieck -import Mathlib.CategoryTheory.Filtered.OfColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Filtered.Small -import Mathlib.CategoryTheory.FinCategory.AsType -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.CategoryTheory.FullSubcategory -import Mathlib.CategoryTheory.Functor.Basic -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Functor.Const -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Functor.CurryingThree -import Mathlib.CategoryTheory.Functor.Derived.Adjunction -import Mathlib.CategoryTheory.Functor.Derived.LeftDerived -import Mathlib.CategoryTheory.Functor.Derived.PointwiseRightDerived -import Mathlib.CategoryTheory.Functor.Derived.RightDerived -import Mathlib.CategoryTheory.Functor.EpiMono -import Mathlib.CategoryTheory.Functor.Flat -import Mathlib.CategoryTheory.Functor.FullyFaithful -import Mathlib.CategoryTheory.Functor.FunctorHom -import Mathlib.CategoryTheory.Functor.Functorial -import Mathlib.CategoryTheory.Functor.Hom -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Functor.KanExtension.Basic -import Mathlib.CategoryTheory.Functor.KanExtension.DenseAt -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise -import Mathlib.CategoryTheory.Functor.KanExtension.Preserves -import Mathlib.CategoryTheory.Functor.OfSequence -import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic -import Mathlib.CategoryTheory.Functor.Trifunctor -import Mathlib.CategoryTheory.Functor.TwoSquare -import Mathlib.CategoryTheory.Galois.Action -import Mathlib.CategoryTheory.Galois.Basic -import Mathlib.CategoryTheory.Galois.Decomposition -import Mathlib.CategoryTheory.Galois.Equivalence -import Mathlib.CategoryTheory.Galois.EssSurj -import Mathlib.CategoryTheory.Galois.Examples -import Mathlib.CategoryTheory.Galois.Full -import Mathlib.CategoryTheory.Galois.GaloisObjects -import Mathlib.CategoryTheory.Galois.IsFundamentalgroup -import Mathlib.CategoryTheory.Galois.Prorepresentability -import Mathlib.CategoryTheory.Galois.Topology -import Mathlib.CategoryTheory.Generator.Abelian -import Mathlib.CategoryTheory.Generator.Basic -import Mathlib.CategoryTheory.Generator.HomologicalComplex -import Mathlib.CategoryTheory.Generator.Indization -import Mathlib.CategoryTheory.Generator.Preadditive -import Mathlib.CategoryTheory.Generator.Presheaf -import Mathlib.CategoryTheory.Generator.Sheaf -import Mathlib.CategoryTheory.GlueData -import Mathlib.CategoryTheory.GradedObject -import Mathlib.CategoryTheory.GradedObject.Associator -import Mathlib.CategoryTheory.GradedObject.Bifunctor -import Mathlib.CategoryTheory.GradedObject.Braiding -import Mathlib.CategoryTheory.GradedObject.Monoidal -import Mathlib.CategoryTheory.GradedObject.Single -import Mathlib.CategoryTheory.GradedObject.Trifunctor -import Mathlib.CategoryTheory.GradedObject.Unitor -import Mathlib.CategoryTheory.Grothendieck -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.Groupoid.Basic -import Mathlib.CategoryTheory.Groupoid.Discrete -import Mathlib.CategoryTheory.Groupoid.FreeGroupoid -import Mathlib.CategoryTheory.Groupoid.Subgroupoid -import Mathlib.CategoryTheory.Groupoid.VertexGroup -import Mathlib.CategoryTheory.GuitartExact.Basic -import Mathlib.CategoryTheory.GuitartExact.Opposite -import Mathlib.CategoryTheory.GuitartExact.VerticalComposition -import Mathlib.CategoryTheory.HomCongr -import Mathlib.CategoryTheory.Idempotents.Basic -import Mathlib.CategoryTheory.Idempotents.Biproducts -import Mathlib.CategoryTheory.Idempotents.FunctorCategories -import Mathlib.CategoryTheory.Idempotents.FunctorExtension -import Mathlib.CategoryTheory.Idempotents.HomologicalComplex -import Mathlib.CategoryTheory.Idempotents.Karoubi -import Mathlib.CategoryTheory.Idempotents.KaroubiKaroubi -import Mathlib.CategoryTheory.Idempotents.SimplicialObject -import Mathlib.CategoryTheory.InducedCategory -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.IsomorphismClasses -import Mathlib.CategoryTheory.Join.Basic -import Mathlib.CategoryTheory.Join.Final -import Mathlib.CategoryTheory.Join.Opposites -import Mathlib.CategoryTheory.Join.Pseudofunctor -import Mathlib.CategoryTheory.Join.Sum -import Mathlib.CategoryTheory.LiftingProperties.Adjunction -import Mathlib.CategoryTheory.LiftingProperties.Basic -import Mathlib.CategoryTheory.LiftingProperties.Limits -import Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction -import Mathlib.CategoryTheory.Limits.Bicones -import Mathlib.CategoryTheory.Limits.ColimitLimit -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures -import Mathlib.CategoryTheory.Limits.ConeCategory -import Mathlib.CategoryTheory.Limits.Cones -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Constructions.Equalizers -import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant -import Mathlib.CategoryTheory.Limits.Constructions.Filtered -import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic -import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected -import Mathlib.CategoryTheory.Limits.Constructions.Over.Products -import Mathlib.CategoryTheory.Limits.Constructions.Pullbacks -import Mathlib.CategoryTheory.Limits.Constructions.WeaklyInitial -import Mathlib.CategoryTheory.Limits.Constructions.ZeroObjects -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Elements -import Mathlib.CategoryTheory.Limits.EpiMono -import Mathlib.CategoryTheory.Limits.EssentiallySmall -import Mathlib.CategoryTheory.Limits.ExactFunctor -import Mathlib.CategoryTheory.Limits.Filtered -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesProduct -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.Final.ParallelPair -import Mathlib.CategoryTheory.Limits.Final.Type -import Mathlib.CategoryTheory.Limits.FinallySmall -import Mathlib.CategoryTheory.Limits.FintypeCat -import Mathlib.CategoryTheory.Limits.FormalCoproducts -import Mathlib.CategoryTheory.Limits.Fubini -import Mathlib.CategoryTheory.Limits.FullSubcategory -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.CategoryTheory.Limits.FunctorCategory.Filtered -import Mathlib.CategoryTheory.Limits.FunctorCategory.Finite -import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Products -import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Pullbacks -import Mathlib.CategoryTheory.Limits.FunctorToTypes -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Limits.IndYoneda -import Mathlib.CategoryTheory.Limits.Indization.Category -import Mathlib.CategoryTheory.Limits.Indization.Equalizers -import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits -import Mathlib.CategoryTheory.Limits.Indization.IndObject -import Mathlib.CategoryTheory.Limits.Indization.LocallySmall -import Mathlib.CategoryTheory.Limits.Indization.ParallelPair -import Mathlib.CategoryTheory.Limits.Indization.Products -import Mathlib.CategoryTheory.Limits.IsConnected -import Mathlib.CategoryTheory.Limits.IsLimit -import Mathlib.CategoryTheory.Limits.Lattice -import Mathlib.CategoryTheory.Limits.MonoCoprod -import Mathlib.CategoryTheory.Limits.MorphismProperty -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Over -import Mathlib.CategoryTheory.Limits.Pi -import Mathlib.CategoryTheory.Limits.Preorder -import Mathlib.CategoryTheory.Limits.Presentation -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Bifunctor -import Mathlib.CategoryTheory.Limits.Preserves.Creates.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Creates.Pullbacks -import Mathlib.CategoryTheory.Limits.Preserves.Filtered -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Limits.Preserves.Grothendieck -import Mathlib.CategoryTheory.Limits.Preserves.Limits -import Mathlib.CategoryTheory.Limits.Preserves.Opposites -import Mathlib.CategoryTheory.Limits.Preserves.Over -import Mathlib.CategoryTheory.Limits.Preserves.Presheaf -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Biproducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Images -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Over -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Preorder -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Square -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Limits.Preserves.Yoneda -import Mathlib.CategoryTheory.Limits.Presheaf -import Mathlib.CategoryTheory.Limits.Set -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Biproducts -import Mathlib.CategoryTheory.Limits.Shapes.CombinedProducts -import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory -import Mathlib.CategoryTheory.Limits.Shapes.Connected -import Mathlib.CategoryTheory.Limits.Shapes.Countable -import Mathlib.CategoryTheory.Limits.Shapes.Diagonal -import Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct -import Mathlib.CategoryTheory.Limits.Shapes.End -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Equivalence -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Shapes.FiniteMultiequalizer -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts -import Mathlib.CategoryTheory.Limits.Shapes.FunctorToTypes -import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal -import Mathlib.CategoryTheory.Limits.Shapes.KernelPair -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Limits.Shapes.MultiequalizerPullback -import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Basic -import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Filtered -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Kernels -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks -import Mathlib.CategoryTheory.Limits.Shapes.PiProd -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Fin -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.PrincipalSeg -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.TransfiniteCompositionOfShape -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Assoc -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.CatCospanTransform -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square -import Mathlib.CategoryTheory.Limits.Shapes.Reflexive -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.Limits.Shapes.SequentialProduct -import Mathlib.CategoryTheory.Limits.Shapes.SingleObj -import Mathlib.CategoryTheory.Limits.Shapes.SplitCoequalizer -import Mathlib.CategoryTheory.Limits.Shapes.SplitEqualizer -import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial -import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms -import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects -import Mathlib.CategoryTheory.Limits.Sifted -import Mathlib.CategoryTheory.Limits.Skeleton -import Mathlib.CategoryTheory.Limits.SmallComplete -import Mathlib.CategoryTheory.Limits.Types.ColimitType -import Mathlib.CategoryTheory.Limits.Types.ColimitTypeFiltered -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Limits.Types.Images -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Types.Multicoequalizer -import Mathlib.CategoryTheory.Limits.Types.Pullbacks -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.CategoryTheory.Limits.Types.Yoneda -import Mathlib.CategoryTheory.Limits.Unit -import Mathlib.CategoryTheory.Limits.VanKampen -import Mathlib.CategoryTheory.Limits.Yoneda -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.CategoryTheory.Linear.FunctorCategory -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.CategoryTheory.Linear.Yoneda -import Mathlib.CategoryTheory.Localization.Adjunction -import Mathlib.CategoryTheory.Localization.Bifunctor -import Mathlib.CategoryTheory.Localization.Bousfield -import Mathlib.CategoryTheory.Localization.CalculusOfFractions -import Mathlib.CategoryTheory.Localization.CalculusOfFractions.ComposableArrows -import Mathlib.CategoryTheory.Localization.CalculusOfFractions.Fractions -import Mathlib.CategoryTheory.Localization.CalculusOfFractions.OfAdjunction -import Mathlib.CategoryTheory.Localization.CalculusOfFractions.Preadditive -import Mathlib.CategoryTheory.Localization.Composition -import Mathlib.CategoryTheory.Localization.Construction -import Mathlib.CategoryTheory.Localization.DerivabilityStructure.Basic -import Mathlib.CategoryTheory.Localization.DerivabilityStructure.Constructor -import Mathlib.CategoryTheory.Localization.DerivabilityStructure.OfFunctorialResolutions -import Mathlib.CategoryTheory.Localization.Equivalence -import Mathlib.CategoryTheory.Localization.FiniteProducts -import Mathlib.CategoryTheory.Localization.HasLocalization -import Mathlib.CategoryTheory.Localization.HomEquiv -import Mathlib.CategoryTheory.Localization.Linear -import Mathlib.CategoryTheory.Localization.LocalizerMorphism -import Mathlib.CategoryTheory.Localization.LocallySmall -import Mathlib.CategoryTheory.Localization.Monoidal -import Mathlib.CategoryTheory.Localization.Monoidal.Basic -import Mathlib.CategoryTheory.Localization.Monoidal.Braided -import Mathlib.CategoryTheory.Localization.Opposite -import Mathlib.CategoryTheory.Localization.Pi -import Mathlib.CategoryTheory.Localization.Preadditive -import Mathlib.CategoryTheory.Localization.Predicate -import Mathlib.CategoryTheory.Localization.Prod -import Mathlib.CategoryTheory.Localization.Quotient -import Mathlib.CategoryTheory.Localization.Resolution -import Mathlib.CategoryTheory.Localization.SmallHom -import Mathlib.CategoryTheory.Localization.SmallShiftedHom -import Mathlib.CategoryTheory.Localization.StructuredArrow -import Mathlib.CategoryTheory.Localization.Triangulated -import Mathlib.CategoryTheory.Localization.Trifunctor -import Mathlib.CategoryTheory.LocallyDirected -import Mathlib.CategoryTheory.MarkovCategory.Basic -import Mathlib.CategoryTheory.Monad.Adjunction -import Mathlib.CategoryTheory.Monad.Algebra -import Mathlib.CategoryTheory.Monad.Basic -import Mathlib.CategoryTheory.Monad.Coequalizer -import Mathlib.CategoryTheory.Monad.Comonadicity -import Mathlib.CategoryTheory.Monad.Equalizer -import Mathlib.CategoryTheory.Monad.EquivMon -import Mathlib.CategoryTheory.Monad.Kleisli -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.CategoryTheory.Monad.Monadicity -import Mathlib.CategoryTheory.Monad.Products -import Mathlib.CategoryTheory.Monad.Types -import Mathlib.CategoryTheory.Monoidal.Action.Basic -import Mathlib.CategoryTheory.Monoidal.Action.End -import Mathlib.CategoryTheory.Monoidal.Action.LinearFunctor -import Mathlib.CategoryTheory.Monoidal.Action.Opposites -import Mathlib.CategoryTheory.Monoidal.Bimod -import Mathlib.CategoryTheory.Monoidal.Bimon_ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.Braided.Multifunctor -import Mathlib.CategoryTheory.Monoidal.Braided.Opposite -import Mathlib.CategoryTheory.Monoidal.Braided.Reflection -import Mathlib.CategoryTheory.Monoidal.Braided.Transport -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic -import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat -import Mathlib.CategoryTheory.Monoidal.Cartesian.CommGrp_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.CommMon_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Comon_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Cartesian.Grp_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.InfSemilattice -import Mathlib.CategoryTheory.Monoidal.Cartesian.Mod_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Over -import Mathlib.CategoryTheory.Monoidal.Category -import Mathlib.CategoryTheory.Monoidal.Center -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas -import Mathlib.CategoryTheory.Monoidal.CommComon_ -import Mathlib.CategoryTheory.Monoidal.CommGrp_ -import Mathlib.CategoryTheory.Monoidal.CommMon_ -import Mathlib.CategoryTheory.Monoidal.Comon_ -import Mathlib.CategoryTheory.Monoidal.Conv -import Mathlib.CategoryTheory.Monoidal.DayConvolution -import Mathlib.CategoryTheory.Monoidal.DayConvolution.Braided -import Mathlib.CategoryTheory.Monoidal.DayConvolution.Closed -import Mathlib.CategoryTheory.Monoidal.DayConvolution.DayFunctor -import Mathlib.CategoryTheory.Monoidal.Discrete -import Mathlib.CategoryTheory.Monoidal.End -import Mathlib.CategoryTheory.Monoidal.ExternalProduct -import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic -import Mathlib.CategoryTheory.Monoidal.ExternalProduct.KanExtension -import Mathlib.CategoryTheory.Monoidal.Free.Basic -import Mathlib.CategoryTheory.Monoidal.Free.Coherence -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.CategoryTheory.Monoidal.Functor.Types -import Mathlib.CategoryTheory.Monoidal.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Grp_ -import Mathlib.CategoryTheory.Monoidal.Hopf_ -import Mathlib.CategoryTheory.Monoidal.Internal.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Internal.Limits -import Mathlib.CategoryTheory.Monoidal.Internal.Module -import Mathlib.CategoryTheory.Monoidal.Internal.Types.Basic -import Mathlib.CategoryTheory.Monoidal.Internal.Types.CommGrp_ -import Mathlib.CategoryTheory.Monoidal.Internal.Types.Grp_ -import Mathlib.CategoryTheory.Monoidal.Limits -import Mathlib.CategoryTheory.Monoidal.Limits.Basic -import Mathlib.CategoryTheory.Monoidal.Limits.Preserves -import Mathlib.CategoryTheory.Monoidal.Linear -import Mathlib.CategoryTheory.Monoidal.Mod_ -import Mathlib.CategoryTheory.Monoidal.Mon_ -import Mathlib.CategoryTheory.Monoidal.Multifunctor -import Mathlib.CategoryTheory.Monoidal.NaturalTransformation -import Mathlib.CategoryTheory.Monoidal.OfChosenFiniteProducts.Basic -import Mathlib.CategoryTheory.Monoidal.OfChosenFiniteProducts.Symmetric -import Mathlib.CategoryTheory.Monoidal.OfHasFiniteProducts -import Mathlib.CategoryTheory.Monoidal.Opposite -import Mathlib.CategoryTheory.Monoidal.Opposite.Mon_ -import Mathlib.CategoryTheory.Monoidal.Preadditive -import Mathlib.CategoryTheory.Monoidal.Rigid.Basic -import Mathlib.CategoryTheory.Monoidal.Rigid.Braided -import Mathlib.CategoryTheory.Monoidal.Rigid.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Rigid.OfEquivalence -import Mathlib.CategoryTheory.Monoidal.Skeleton -import Mathlib.CategoryTheory.Monoidal.Subcategory -import Mathlib.CategoryTheory.Monoidal.Tor -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda -import Mathlib.CategoryTheory.Monoidal.Yoneda -import Mathlib.CategoryTheory.MorphismProperty.Basic -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.CategoryTheory.MorphismProperty.Composition -import Mathlib.CategoryTheory.MorphismProperty.Concrete -import Mathlib.CategoryTheory.MorphismProperty.Descent -import Mathlib.CategoryTheory.MorphismProperty.Factorization -import Mathlib.CategoryTheory.MorphismProperty.FunctorCategory -import Mathlib.CategoryTheory.MorphismProperty.Ind -import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy -import Mathlib.CategoryTheory.MorphismProperty.IsSmall -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.MorphismProperty.Local -import Mathlib.CategoryTheory.MorphismProperty.OverAdjunction -import Mathlib.CategoryTheory.MorphismProperty.Representable -import Mathlib.CategoryTheory.MorphismProperty.Retract -import Mathlib.CategoryTheory.MorphismProperty.RetractArgument -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition -import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem -import Mathlib.CategoryTheory.NatIso -import Mathlib.CategoryTheory.NatTrans -import Mathlib.CategoryTheory.Noetherian -import Mathlib.CategoryTheory.ObjectProperty.Basic -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape -import Mathlib.CategoryTheory.ObjectProperty.ContainsZero -import Mathlib.CategoryTheory.ObjectProperty.EpiMono -import Mathlib.CategoryTheory.ObjectProperty.Extensions -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory -import Mathlib.CategoryTheory.ObjectProperty.Ind -import Mathlib.CategoryTheory.ObjectProperty.LimitsOfShape -import Mathlib.CategoryTheory.ObjectProperty.Local -import Mathlib.CategoryTheory.ObjectProperty.Opposite -import Mathlib.CategoryTheory.ObjectProperty.Retract -import Mathlib.CategoryTheory.ObjectProperty.Shift -import Mathlib.CategoryTheory.ObjectProperty.Small -import Mathlib.CategoryTheory.Opposites -import Mathlib.CategoryTheory.PEmpty -import Mathlib.CategoryTheory.PUnit -import Mathlib.CategoryTheory.PathCategory.Basic -import Mathlib.CategoryTheory.PathCategory.MorphismProperty -import Mathlib.CategoryTheory.Pi.Basic -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.CategoryTheory.Preadditive.CommGrp_ -import Mathlib.CategoryTheory.Preadditive.EilenbergMoore -import Mathlib.CategoryTheory.Preadditive.EndoFunctor -import Mathlib.CategoryTheory.Preadditive.FunctorCategory -import Mathlib.CategoryTheory.Preadditive.HomOrthogonal -import Mathlib.CategoryTheory.Preadditive.Indization -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.CategoryTheory.Preadditive.Injective.LiftingProperties -import Mathlib.CategoryTheory.Preadditive.Injective.Preserves -import Mathlib.CategoryTheory.Preadditive.Injective.Resolution -import Mathlib.CategoryTheory.Preadditive.LeftExact -import Mathlib.CategoryTheory.Preadditive.LiftToFinset -import Mathlib.CategoryTheory.Preadditive.Mat -import Mathlib.CategoryTheory.Preadditive.OfBiproducts -import Mathlib.CategoryTheory.Preadditive.Opposite -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.CategoryTheory.Preadditive.Projective.Internal -import Mathlib.CategoryTheory.Preadditive.Projective.LiftingProperties -import Mathlib.CategoryTheory.Preadditive.Projective.Preserves -import Mathlib.CategoryTheory.Preadditive.Projective.Resolution -import Mathlib.CategoryTheory.Preadditive.Schur -import Mathlib.CategoryTheory.Preadditive.SingleObj -import Mathlib.CategoryTheory.Preadditive.Transfer -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -import Mathlib.CategoryTheory.Preadditive.Yoneda.Injective -import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits -import Mathlib.CategoryTheory.Preadditive.Yoneda.Projective -import Mathlib.CategoryTheory.Presentable.Basic -import Mathlib.CategoryTheory.Presentable.CardinalFilteredPresentation -import Mathlib.CategoryTheory.Presentable.ColimitPresentation -import Mathlib.CategoryTheory.Presentable.Finite -import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered -import Mathlib.CategoryTheory.Presentable.Limits -import Mathlib.CategoryTheory.Presentable.LocallyPresentable -import Mathlib.CategoryTheory.Products.Associator -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.CategoryTheory.Products.Bifunctor -import Mathlib.CategoryTheory.Products.Unitor -import Mathlib.CategoryTheory.Quotient -import Mathlib.CategoryTheory.Quotient.Linear -import Mathlib.CategoryTheory.Quotient.Preadditive -import Mathlib.CategoryTheory.Retract -import Mathlib.CategoryTheory.Shift.Adjunction -import Mathlib.CategoryTheory.Shift.Basic -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Shift.Induced -import Mathlib.CategoryTheory.Shift.InducedShiftSequence -import Mathlib.CategoryTheory.Shift.Linear -import Mathlib.CategoryTheory.Shift.Localization -import Mathlib.CategoryTheory.Shift.Opposite -import Mathlib.CategoryTheory.Shift.Pullback -import Mathlib.CategoryTheory.Shift.Quotient -import Mathlib.CategoryTheory.Shift.ShiftSequence -import Mathlib.CategoryTheory.Shift.ShiftedHom -import Mathlib.CategoryTheory.Shift.ShiftedHomOpposite -import Mathlib.CategoryTheory.Shift.SingleFunctors -import Mathlib.CategoryTheory.Sigma.Basic -import Mathlib.CategoryTheory.Simple -import Mathlib.CategoryTheory.SingleObj -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.Adjunction -import Mathlib.CategoryTheory.Sites.Canonical -import Mathlib.CategoryTheory.Sites.CartesianClosed -import Mathlib.CategoryTheory.Sites.CartesianMonoidal -import Mathlib.CategoryTheory.Sites.ChosenFiniteProducts -import Mathlib.CategoryTheory.Sites.Closed -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves -import Mathlib.CategoryTheory.Sites.Coherent.CoherentTopology -import Mathlib.CategoryTheory.Sites.Coherent.Comparison -import Mathlib.CategoryTheory.Sites.Coherent.Equivalence -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveColimits -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveTopology -import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPrecoherent -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular -import Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves -import Mathlib.CategoryTheory.Sites.Coherent.RegularTopology -import Mathlib.CategoryTheory.Sites.Coherent.SequentialLimit -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison -import Mathlib.CategoryTheory.Sites.CompatiblePlus -import Mathlib.CategoryTheory.Sites.CompatibleSheafification -import Mathlib.CategoryTheory.Sites.ConcreteSheafification -import Mathlib.CategoryTheory.Sites.ConstantSheaf -import Mathlib.CategoryTheory.Sites.Continuous -import Mathlib.CategoryTheory.Sites.CoverLifting -import Mathlib.CategoryTheory.Sites.CoverPreserving -import Mathlib.CategoryTheory.Sites.Coverage -import Mathlib.CategoryTheory.Sites.CoversTop -import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic -import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology -import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv -import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic -import Mathlib.CategoryTheory.Sites.EpiMono -import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition -import Mathlib.CategoryTheory.Sites.Equivalence -import Mathlib.CategoryTheory.Sites.Finite -import Mathlib.CategoryTheory.Sites.GlobalSections -import Mathlib.CategoryTheory.Sites.Grothendieck -import Mathlib.CategoryTheory.Sites.Hypercover.Homotopy -import Mathlib.CategoryTheory.Sites.Hypercover.IsSheaf -import Mathlib.CategoryTheory.Sites.Hypercover.One -import Mathlib.CategoryTheory.Sites.Hypercover.Zero -import Mathlib.CategoryTheory.Sites.IsSheafFor -import Mathlib.CategoryTheory.Sites.JointlySurjective -import Mathlib.CategoryTheory.Sites.LeftExact -import Mathlib.CategoryTheory.Sites.Limits -import Mathlib.CategoryTheory.Sites.Localization -import Mathlib.CategoryTheory.Sites.LocallyBijective -import Mathlib.CategoryTheory.Sites.LocallyFullyFaithful -import Mathlib.CategoryTheory.Sites.LocallyInjective -import Mathlib.CategoryTheory.Sites.LocallySurjective -import Mathlib.CategoryTheory.Sites.MayerVietorisSquare -import Mathlib.CategoryTheory.Sites.Monoidal -import Mathlib.CategoryTheory.Sites.MorphismProperty -import Mathlib.CategoryTheory.Sites.NonabelianCohomology.H1 -import Mathlib.CategoryTheory.Sites.Over -import Mathlib.CategoryTheory.Sites.Plus -import Mathlib.CategoryTheory.Sites.Precoverage -import Mathlib.CategoryTheory.Sites.Preserves -import Mathlib.CategoryTheory.Sites.PreservesLocallyBijective -import Mathlib.CategoryTheory.Sites.PreservesSheafification -import Mathlib.CategoryTheory.Sites.Pretopology -import Mathlib.CategoryTheory.Sites.Pullback -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.CategoryTheory.Sites.SheafCohomology.Basic -import Mathlib.CategoryTheory.Sites.SheafHom -import Mathlib.CategoryTheory.Sites.SheafOfTypes -import Mathlib.CategoryTheory.Sites.Sheafification -import Mathlib.CategoryTheory.Sites.Sieves -import Mathlib.CategoryTheory.Sites.Spaces -import Mathlib.CategoryTheory.Sites.Subcanonical -import Mathlib.CategoryTheory.Sites.Subsheaf -import Mathlib.CategoryTheory.Sites.Types -import Mathlib.CategoryTheory.Sites.Whiskering -import Mathlib.CategoryTheory.Skeletal -import Mathlib.CategoryTheory.SmallObject.Basic -import Mathlib.CategoryTheory.SmallObject.Construction -import Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument -import Mathlib.CategoryTheory.SmallObject.Iteration.Basic -import Mathlib.CategoryTheory.SmallObject.Iteration.ExtendToSucc -import Mathlib.CategoryTheory.SmallObject.Iteration.FunctorOfCocone -import Mathlib.CategoryTheory.SmallObject.Iteration.Nonempty -import Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting -import Mathlib.CategoryTheory.SmallObject.TransfiniteIteration -import Mathlib.CategoryTheory.SmallObject.WellOrderInductionData -import Mathlib.CategoryTheory.SmallRepresentatives -import Mathlib.CategoryTheory.Square -import Mathlib.CategoryTheory.Subobject.ArtinianObject -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.CategoryTheory.Subobject.Comma -import Mathlib.CategoryTheory.Subobject.FactorThru -import Mathlib.CategoryTheory.Subobject.HasCardinalLT -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.CategoryTheory.Subobject.Limits -import Mathlib.CategoryTheory.Subobject.MonoOver -import Mathlib.CategoryTheory.Subobject.NoetherianObject -import Mathlib.CategoryTheory.Subobject.Presheaf -import Mathlib.CategoryTheory.Subobject.Types -import Mathlib.CategoryTheory.Subobject.WellPowered -import Mathlib.CategoryTheory.Subpresheaf.Basic -import Mathlib.CategoryTheory.Subpresheaf.Equalizer -import Mathlib.CategoryTheory.Subpresheaf.Finite -import Mathlib.CategoryTheory.Subpresheaf.Image -import Mathlib.CategoryTheory.Subpresheaf.OfSection -import Mathlib.CategoryTheory.Subpresheaf.Sieves -import Mathlib.CategoryTheory.Subpresheaf.Subobject -import Mathlib.CategoryTheory.Subterminal -import Mathlib.CategoryTheory.Sums.Associator -import Mathlib.CategoryTheory.Sums.Basic -import Mathlib.CategoryTheory.Sums.Products -import Mathlib.CategoryTheory.Thin -import Mathlib.CategoryTheory.Topos.Classifier -import Mathlib.CategoryTheory.Triangulated.Adjunction -import Mathlib.CategoryTheory.Triangulated.Basic -import Mathlib.CategoryTheory.Triangulated.Functor -import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor -import Mathlib.CategoryTheory.Triangulated.Opposite.Basic -import Mathlib.CategoryTheory.Triangulated.Opposite.Functor -import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated -import Mathlib.CategoryTheory.Triangulated.Opposite.Triangle -import Mathlib.CategoryTheory.Triangulated.Pretriangulated -import Mathlib.CategoryTheory.Triangulated.Rotate -import Mathlib.CategoryTheory.Triangulated.Subcategory -import Mathlib.CategoryTheory.Triangulated.TStructure.Basic -import Mathlib.CategoryTheory.Triangulated.TriangleShift -import Mathlib.CategoryTheory.Triangulated.Triangulated -import Mathlib.CategoryTheory.Triangulated.Yoneda -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.CategoryTheory.Types.Monomorphisms -import Mathlib.CategoryTheory.Types.Set -import Mathlib.CategoryTheory.UnivLE -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.Widesubcategory -import Mathlib.CategoryTheory.WithTerminal -import Mathlib.CategoryTheory.WithTerminal.Basic -import Mathlib.CategoryTheory.WithTerminal.Cone -import Mathlib.CategoryTheory.WithTerminal.FinCategory -import Mathlib.CategoryTheory.WithTerminal.Lemmas -import Mathlib.CategoryTheory.Yoneda -import Mathlib.Combinatorics.Additive.AP.Three.Behrend -import Mathlib.Combinatorics.Additive.AP.Three.Defs -import Mathlib.Combinatorics.Additive.ApproximateSubgroup -import Mathlib.Combinatorics.Additive.CauchyDavenport -import Mathlib.Combinatorics.Additive.Convolution -import Mathlib.Combinatorics.Additive.Corner.Defs -import Mathlib.Combinatorics.Additive.Corner.Roth -import Mathlib.Combinatorics.Additive.CovBySMul -import Mathlib.Combinatorics.Additive.Dissociation -import Mathlib.Combinatorics.Additive.DoublingConst -import Mathlib.Combinatorics.Additive.ETransform -import Mathlib.Combinatorics.Additive.Energy -import Mathlib.Combinatorics.Additive.ErdosGinzburgZiv -import Mathlib.Combinatorics.Additive.FreimanHom -import Mathlib.Combinatorics.Additive.PluenneckeRuzsa -import Mathlib.Combinatorics.Additive.Randomisation -import Mathlib.Combinatorics.Additive.RuzsaCovering -import Mathlib.Combinatorics.Additive.SmallTripling -import Mathlib.Combinatorics.Additive.VerySmallDoubling -import Mathlib.Combinatorics.Colex -import Mathlib.Combinatorics.Configuration -import Mathlib.Combinatorics.Derangements.Basic -import Mathlib.Combinatorics.Derangements.Exponential -import Mathlib.Combinatorics.Derangements.Finite -import Mathlib.Combinatorics.Digraph.Basic -import Mathlib.Combinatorics.Digraph.Orientation -import Mathlib.Combinatorics.Enumerative.Bell -import Mathlib.Combinatorics.Enumerative.Catalan -import Mathlib.Combinatorics.Enumerative.Composition -import Mathlib.Combinatorics.Enumerative.DoubleCounting -import Mathlib.Combinatorics.Enumerative.DyckWord -import Mathlib.Combinatorics.Enumerative.IncidenceAlgebra -import Mathlib.Combinatorics.Enumerative.InclusionExclusion -import Mathlib.Combinatorics.Enumerative.Partition -import Mathlib.Combinatorics.Enumerative.Stirling -import Mathlib.Combinatorics.Extremal.RuzsaSzemeredi -import Mathlib.Combinatorics.Graph.Basic -import Mathlib.Combinatorics.HalesJewett -import Mathlib.Combinatorics.Hall.Basic -import Mathlib.Combinatorics.Hall.Finite -import Mathlib.Combinatorics.Hindman -import Mathlib.Combinatorics.Matroid.Basic -import Mathlib.Combinatorics.Matroid.Circuit -import Mathlib.Combinatorics.Matroid.Closure -import Mathlib.Combinatorics.Matroid.Constructions -import Mathlib.Combinatorics.Matroid.Dual -import Mathlib.Combinatorics.Matroid.IndepAxioms -import Mathlib.Combinatorics.Matroid.Init -import Mathlib.Combinatorics.Matroid.Loop -import Mathlib.Combinatorics.Matroid.Map -import Mathlib.Combinatorics.Matroid.Minor.Contract -import Mathlib.Combinatorics.Matroid.Minor.Delete -import Mathlib.Combinatorics.Matroid.Minor.Order -import Mathlib.Combinatorics.Matroid.Minor.Restrict -import Mathlib.Combinatorics.Matroid.Rank.Cardinal -import Mathlib.Combinatorics.Matroid.Rank.ENat -import Mathlib.Combinatorics.Matroid.Rank.Finite -import Mathlib.Combinatorics.Matroid.Sum -import Mathlib.Combinatorics.Nullstellensatz -import Mathlib.Combinatorics.Optimization.ValuedCSP -import Mathlib.Combinatorics.Pigeonhole -import Mathlib.Combinatorics.Quiver.Arborescence -import Mathlib.Combinatorics.Quiver.Basic -import Mathlib.Combinatorics.Quiver.Cast -import Mathlib.Combinatorics.Quiver.ConnectedComponent -import Mathlib.Combinatorics.Quiver.Covering -import Mathlib.Combinatorics.Quiver.Path -import Mathlib.Combinatorics.Quiver.Path.Decomposition -import Mathlib.Combinatorics.Quiver.Path.Vertices -import Mathlib.Combinatorics.Quiver.Path.Weight -import Mathlib.Combinatorics.Quiver.Prefunctor -import Mathlib.Combinatorics.Quiver.Push -import Mathlib.Combinatorics.Quiver.ReflQuiver -import Mathlib.Combinatorics.Quiver.SingleObj -import Mathlib.Combinatorics.Quiver.Subquiver -import Mathlib.Combinatorics.Quiver.Symmetric -import Mathlib.Combinatorics.Schnirelmann -import Mathlib.Combinatorics.SetFamily.AhlswedeZhang -import Mathlib.Combinatorics.SetFamily.Compression.Down -import Mathlib.Combinatorics.SetFamily.Compression.UV -import Mathlib.Combinatorics.SetFamily.FourFunctions -import Mathlib.Combinatorics.SetFamily.HarrisKleitman -import Mathlib.Combinatorics.SetFamily.Intersecting -import Mathlib.Combinatorics.SetFamily.Kleitman -import Mathlib.Combinatorics.SetFamily.KruskalKatona -import Mathlib.Combinatorics.SetFamily.LYM -import Mathlib.Combinatorics.SetFamily.Shadow -import Mathlib.Combinatorics.SetFamily.Shatter -import Mathlib.Combinatorics.SimpleGraph.Acyclic -import Mathlib.Combinatorics.SimpleGraph.AdjMatrix -import Mathlib.Combinatorics.SimpleGraph.Basic -import Mathlib.Combinatorics.SimpleGraph.Bipartite -import Mathlib.Combinatorics.SimpleGraph.Circulant -import Mathlib.Combinatorics.SimpleGraph.Clique -import Mathlib.Combinatorics.SimpleGraph.Coloring -import Mathlib.Combinatorics.SimpleGraph.CompleteMultipartite -import Mathlib.Combinatorics.SimpleGraph.ConcreteColorings -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph -import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkCounting -import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkDecomp -import Mathlib.Combinatorics.SimpleGraph.Copy -import Mathlib.Combinatorics.SimpleGraph.Dart -import Mathlib.Combinatorics.SimpleGraph.DegreeSum -import Mathlib.Combinatorics.SimpleGraph.DeleteEdges -import Mathlib.Combinatorics.SimpleGraph.Density -import Mathlib.Combinatorics.SimpleGraph.Diam -import Mathlib.Combinatorics.SimpleGraph.Ends.Defs -import Mathlib.Combinatorics.SimpleGraph.Ends.Properties -import Mathlib.Combinatorics.SimpleGraph.Extremal.Basic -import Mathlib.Combinatorics.SimpleGraph.Extremal.Turan -import Mathlib.Combinatorics.SimpleGraph.Extremal.TuranDensity -import Mathlib.Combinatorics.SimpleGraph.Finite -import Mathlib.Combinatorics.SimpleGraph.Finsubgraph -import Mathlib.Combinatorics.SimpleGraph.FiveWheelLike -import Mathlib.Combinatorics.SimpleGraph.Girth -import Mathlib.Combinatorics.SimpleGraph.Hamiltonian -import Mathlib.Combinatorics.SimpleGraph.Hasse -import Mathlib.Combinatorics.SimpleGraph.IncMatrix -import Mathlib.Combinatorics.SimpleGraph.Init -import Mathlib.Combinatorics.SimpleGraph.LapMatrix -import Mathlib.Combinatorics.SimpleGraph.LineGraph -import Mathlib.Combinatorics.SimpleGraph.Maps -import Mathlib.Combinatorics.SimpleGraph.Matching -import Mathlib.Combinatorics.SimpleGraph.Metric -import Mathlib.Combinatorics.SimpleGraph.Operations -import Mathlib.Combinatorics.SimpleGraph.Partition -import Mathlib.Combinatorics.SimpleGraph.Path -import Mathlib.Combinatorics.SimpleGraph.Paths -import Mathlib.Combinatorics.SimpleGraph.Prod -import Mathlib.Combinatorics.SimpleGraph.Regularity.Bound -import Mathlib.Combinatorics.SimpleGraph.Regularity.Chunk -import Mathlib.Combinatorics.SimpleGraph.Regularity.Energy -import Mathlib.Combinatorics.SimpleGraph.Regularity.Equitabilise -import Mathlib.Combinatorics.SimpleGraph.Regularity.Increment -import Mathlib.Combinatorics.SimpleGraph.Regularity.Lemma -import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform -import Mathlib.Combinatorics.SimpleGraph.StronglyRegular -import Mathlib.Combinatorics.SimpleGraph.Subgraph -import Mathlib.Combinatorics.SimpleGraph.Sum -import Mathlib.Combinatorics.SimpleGraph.Trails -import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic -import Mathlib.Combinatorics.SimpleGraph.Triangle.Counting -import Mathlib.Combinatorics.SimpleGraph.Triangle.Removal -import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite -import Mathlib.Combinatorics.SimpleGraph.Turan -import Mathlib.Combinatorics.SimpleGraph.Tutte -import Mathlib.Combinatorics.SimpleGraph.UniversalVerts -import Mathlib.Combinatorics.SimpleGraph.Walk -import Mathlib.Combinatorics.Young.SemistandardTableau -import Mathlib.Combinatorics.Young.YoungDiagram -import Mathlib.Computability.Ackermann -import Mathlib.Computability.AkraBazzi.AkraBazzi -import Mathlib.Computability.AkraBazzi.GrowsPolynomially -import Mathlib.Computability.AkraBazzi.SumTransform -import Mathlib.Computability.ContextFreeGrammar -import Mathlib.Computability.DFA -import Mathlib.Computability.Encoding -import Mathlib.Computability.EpsilonNFA -import Mathlib.Computability.Halting -import Mathlib.Computability.Language -import Mathlib.Computability.MyhillNerode -import Mathlib.Computability.NFA -import Mathlib.Computability.Partrec -import Mathlib.Computability.PartrecCode -import Mathlib.Computability.PostTuringMachine -import Mathlib.Computability.Primrec -import Mathlib.Computability.Reduce -import Mathlib.Computability.RegularExpressions -import Mathlib.Computability.TMComputable -import Mathlib.Computability.TMConfig -import Mathlib.Computability.TMToPartrec -import Mathlib.Computability.Tape -import Mathlib.Computability.TuringDegree -import Mathlib.Computability.TuringMachine -import Mathlib.Condensed.AB -import Mathlib.Condensed.Basic -import Mathlib.Condensed.CartesianClosed -import Mathlib.Condensed.Discrete.Basic -import Mathlib.Condensed.Discrete.Characterization -import Mathlib.Condensed.Discrete.Colimit -import Mathlib.Condensed.Discrete.LocallyConstant -import Mathlib.Condensed.Discrete.Module -import Mathlib.Condensed.Epi -import Mathlib.Condensed.Equivalence -import Mathlib.Condensed.Explicit -import Mathlib.Condensed.Functors -import Mathlib.Condensed.Light.AB -import Mathlib.Condensed.Light.Basic -import Mathlib.Condensed.Light.CartesianClosed -import Mathlib.Condensed.Light.Epi -import Mathlib.Condensed.Light.Explicit -import Mathlib.Condensed.Light.Functors -import Mathlib.Condensed.Light.Limits -import Mathlib.Condensed.Light.Module -import Mathlib.Condensed.Light.Small -import Mathlib.Condensed.Light.TopCatAdjunction -import Mathlib.Condensed.Light.TopComparison -import Mathlib.Condensed.Limits -import Mathlib.Condensed.Module -import Mathlib.Condensed.Solid -import Mathlib.Condensed.TopCatAdjunction -import Mathlib.Condensed.TopComparison -import Mathlib.Control.Applicative -import Mathlib.Control.Basic -import Mathlib.Control.Bifunctor -import Mathlib.Control.Bitraversable.Basic -import Mathlib.Control.Bitraversable.Instances -import Mathlib.Control.Bitraversable.Lemmas -import Mathlib.Control.Combinators -import Mathlib.Control.EquivFunctor -import Mathlib.Control.EquivFunctor.Instances -import Mathlib.Control.Fix -import Mathlib.Control.Fold -import Mathlib.Control.Functor -import Mathlib.Control.Functor.Multivariate -import Mathlib.Control.Lawful -import Mathlib.Control.LawfulFix -import Mathlib.Control.Monad.Basic -import Mathlib.Control.Monad.Cont -import Mathlib.Control.Monad.Writer -import Mathlib.Control.Random -import Mathlib.Control.Traversable.Basic -import Mathlib.Control.Traversable.Equiv -import Mathlib.Control.Traversable.Instances -import Mathlib.Control.Traversable.Lemmas -import Mathlib.Control.ULift -import Mathlib.Control.ULiftable -import Mathlib.Data.Analysis.Filter -import Mathlib.Data.Analysis.Topology -import Mathlib.Data.Array.Defs -import Mathlib.Data.Array.Extract -import Mathlib.Data.BitVec -import Mathlib.Data.Bool.AllAny -import Mathlib.Data.Bool.Basic -import Mathlib.Data.Bool.Count -import Mathlib.Data.Bool.Set -import Mathlib.Data.Bracket -import Mathlib.Data.Bundle -import Mathlib.Data.Char -import Mathlib.Data.Complex.Basic -import Mathlib.Data.Complex.BigOperators -import Mathlib.Data.Complex.Cardinality -import Mathlib.Data.Complex.Exponential -import Mathlib.Data.Complex.ExponentialBounds -import Mathlib.Data.Complex.FiniteDimensional -import Mathlib.Data.Complex.Norm -import Mathlib.Data.Complex.Order -import Mathlib.Data.Complex.Trigonometric -import Mathlib.Data.Countable.Basic -import Mathlib.Data.Countable.Defs -import Mathlib.Data.Countable.Small -import Mathlib.Data.DFinsupp.BigOperators -import Mathlib.Data.DFinsupp.Defs -import Mathlib.Data.DFinsupp.Encodable -import Mathlib.Data.DFinsupp.Ext -import Mathlib.Data.DFinsupp.FiniteInfinite -import Mathlib.Data.DFinsupp.Interval -import Mathlib.Data.DFinsupp.Lex -import Mathlib.Data.DFinsupp.Module -import Mathlib.Data.DFinsupp.Multiset -import Mathlib.Data.DFinsupp.NeLocus -import Mathlib.Data.DFinsupp.Notation -import Mathlib.Data.DFinsupp.Order -import Mathlib.Data.DFinsupp.Sigma -import Mathlib.Data.DFinsupp.Small -import Mathlib.Data.DFinsupp.Submonoid -import Mathlib.Data.DFinsupp.WellFounded -import Mathlib.Data.DList.Instances -import Mathlib.Data.ENNReal.Action -import Mathlib.Data.ENNReal.Basic -import Mathlib.Data.ENNReal.BigOperators -import Mathlib.Data.ENNReal.Holder -import Mathlib.Data.ENNReal.Inv -import Mathlib.Data.ENNReal.Lemmas -import Mathlib.Data.ENNReal.Operations -import Mathlib.Data.ENNReal.Order -import Mathlib.Data.ENNReal.Real -import Mathlib.Data.ENat.Basic -import Mathlib.Data.ENat.BigOperators -import Mathlib.Data.ENat.Defs -import Mathlib.Data.ENat.Lattice -import Mathlib.Data.ENat.Pow -import Mathlib.Data.EReal.Basic -import Mathlib.Data.EReal.Inv -import Mathlib.Data.EReal.Operations -import Mathlib.Data.Erased -import Mathlib.Data.FP.Basic -import Mathlib.Data.Fin.Basic -import Mathlib.Data.Fin.Embedding -import Mathlib.Data.Fin.Fin2 -import Mathlib.Data.Fin.FlagRange -import Mathlib.Data.Fin.Parity -import Mathlib.Data.Fin.Pigeonhole -import Mathlib.Data.Fin.Rev -import Mathlib.Data.Fin.SuccPred -import Mathlib.Data.Fin.SuccPredOrder -import Mathlib.Data.Fin.Tuple.Basic -import Mathlib.Data.Fin.Tuple.BubbleSortInduction -import Mathlib.Data.Fin.Tuple.Curry -import Mathlib.Data.Fin.Tuple.Embedding -import Mathlib.Data.Fin.Tuple.Finset -import Mathlib.Data.Fin.Tuple.NatAntidiagonal -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.Data.Fin.Tuple.Sort -import Mathlib.Data.Fin.Tuple.Take -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.FinEnum -import Mathlib.Data.FinEnum.Option -import Mathlib.Data.Finite.Card -import Mathlib.Data.Finite.Defs -import Mathlib.Data.Finite.Perm -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Finite.Set -import Mathlib.Data.Finite.Sigma -import Mathlib.Data.Finite.Sum -import Mathlib.Data.Finite.Vector -import Mathlib.Data.Finmap -import Mathlib.Data.Finset.Attach -import Mathlib.Data.Finset.Attr -import Mathlib.Data.Finset.Basic -import Mathlib.Data.Finset.BooleanAlgebra -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.CastCard -import Mathlib.Data.Finset.Dedup -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Finset.Density -import Mathlib.Data.Finset.Disjoint -import Mathlib.Data.Finset.Empty -import Mathlib.Data.Finset.Erase -import Mathlib.Data.Finset.Filter -import Mathlib.Data.Finset.Fin -import Mathlib.Data.Finset.Finsupp -import Mathlib.Data.Finset.Fold -import Mathlib.Data.Finset.Functor -import Mathlib.Data.Finset.Grade -import Mathlib.Data.Finset.Image -import Mathlib.Data.Finset.Insert -import Mathlib.Data.Finset.Interval -import Mathlib.Data.Finset.Lattice.Basic -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Finset.Lattice.Lemmas -import Mathlib.Data.Finset.Lattice.Pi -import Mathlib.Data.Finset.Lattice.Prod -import Mathlib.Data.Finset.Lattice.Union -import Mathlib.Data.Finset.Max -import Mathlib.Data.Finset.MulAntidiagonal -import Mathlib.Data.Finset.NAry -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.Data.Finset.NatDivisors -import Mathlib.Data.Finset.NoncommProd -import Mathlib.Data.Finset.Option -import Mathlib.Data.Finset.Order -import Mathlib.Data.Finset.PImage -import Mathlib.Data.Finset.Pairwise -import Mathlib.Data.Finset.Pi -import Mathlib.Data.Finset.PiInduction -import Mathlib.Data.Finset.Piecewise -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Finset.Preimage -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Finset.Range -import Mathlib.Data.Finset.SDiff -import Mathlib.Data.Finset.SMulAntidiagonal -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Finset.Slice -import Mathlib.Data.Finset.Sort -import Mathlib.Data.Finset.Sum -import Mathlib.Data.Finset.Sups -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Finset.SymmDiff -import Mathlib.Data.Finset.Union -import Mathlib.Data.Finset.Update -import Mathlib.Data.Finsupp.AList -import Mathlib.Data.Finsupp.Antidiagonal -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.BigOperators -import Mathlib.Data.Finsupp.Defs -import Mathlib.Data.Finsupp.Encodable -import Mathlib.Data.Finsupp.Ext -import Mathlib.Data.Finsupp.Fin -import Mathlib.Data.Finsupp.Fintype -import Mathlib.Data.Finsupp.Indicator -import Mathlib.Data.Finsupp.Interval -import Mathlib.Data.Finsupp.Lex -import Mathlib.Data.Finsupp.MonomialOrder -import Mathlib.Data.Finsupp.MonomialOrder.DegLex -import Mathlib.Data.Finsupp.Multiset -import Mathlib.Data.Finsupp.NeLocus -import Mathlib.Data.Finsupp.Notation -import Mathlib.Data.Finsupp.Option -import Mathlib.Data.Finsupp.Order -import Mathlib.Data.Finsupp.PWO -import Mathlib.Data.Finsupp.Pointwise -import Mathlib.Data.Finsupp.SMul -import Mathlib.Data.Finsupp.SMulWithZero -import Mathlib.Data.Finsupp.Single -import Mathlib.Data.Finsupp.ToDFinsupp -import Mathlib.Data.Finsupp.Weight -import Mathlib.Data.Finsupp.WellFounded -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Fintype.Card -import Mathlib.Data.Fintype.CardEmbedding -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Fintype.Fin -import Mathlib.Data.Fintype.Inv -import Mathlib.Data.Fintype.Lattice -import Mathlib.Data.Fintype.List -import Mathlib.Data.Fintype.OfMap -import Mathlib.Data.Fintype.Option -import Mathlib.Data.Fintype.Order -import Mathlib.Data.Fintype.Parity -import Mathlib.Data.Fintype.Perm -import Mathlib.Data.Fintype.Pi -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Data.Fintype.Powerset -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Quotient -import Mathlib.Data.Fintype.Sets -import Mathlib.Data.Fintype.Shrink -import Mathlib.Data.Fintype.Sigma -import Mathlib.Data.Fintype.Sort -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Fintype.Units -import Mathlib.Data.Fintype.Vector -import Mathlib.Data.Fintype.WithTopBot -import Mathlib.Data.FunLike.Basic -import Mathlib.Data.FunLike.Embedding -import Mathlib.Data.FunLike.Equiv -import Mathlib.Data.FunLike.Fintype -import Mathlib.Data.Holor -import Mathlib.Data.Ineq -import Mathlib.Data.Int.AbsoluteValue -import Mathlib.Data.Int.Associated -import Mathlib.Data.Int.Basic -import Mathlib.Data.Int.Bitwise -import Mathlib.Data.Int.CardIntervalMod -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Data.Int.Cast.Defs -import Mathlib.Data.Int.Cast.Field -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.Int.Cast.Pi -import Mathlib.Data.Int.Cast.Prod -import Mathlib.Data.Int.CharZero -import Mathlib.Data.Int.ConditionallyCompleteOrder -import Mathlib.Data.Int.DivMod -import Mathlib.Data.Int.GCD -import Mathlib.Data.Int.Init -import Mathlib.Data.Int.Interval -import Mathlib.Data.Int.LeastGreatest -import Mathlib.Data.Int.Lemmas -import Mathlib.Data.Int.Log -import Mathlib.Data.Int.ModEq -import Mathlib.Data.Int.NatAbs -import Mathlib.Data.Int.NatPrime -import Mathlib.Data.Int.Notation -import Mathlib.Data.Int.Order.Basic -import Mathlib.Data.Int.Order.Lemmas -import Mathlib.Data.Int.Order.Units -import Mathlib.Data.Int.Range -import Mathlib.Data.Int.Sqrt -import Mathlib.Data.Int.Star -import Mathlib.Data.Int.SuccPred -import Mathlib.Data.Int.WithZero -import Mathlib.Data.List.AList -import Mathlib.Data.List.Basic -import Mathlib.Data.List.Chain -import Mathlib.Data.List.ChainOfFn -import Mathlib.Data.List.Count -import Mathlib.Data.List.Cycle -import Mathlib.Data.List.Dedup -import Mathlib.Data.List.Defs -import Mathlib.Data.List.Destutter -import Mathlib.Data.List.DropRight -import Mathlib.Data.List.Duplicate -import Mathlib.Data.List.Enum -import Mathlib.Data.List.FinRange -import Mathlib.Data.List.Flatten -import Mathlib.Data.List.Forall2 -import Mathlib.Data.List.GetD -import Mathlib.Data.List.Indexes -import Mathlib.Data.List.Induction -import Mathlib.Data.List.Infix -import Mathlib.Data.List.InsertIdx -import Mathlib.Data.List.InsertNth -import Mathlib.Data.List.Intervals -import Mathlib.Data.List.Iterate -import Mathlib.Data.List.Lattice -import Mathlib.Data.List.Lemmas -import Mathlib.Data.List.Lex -import Mathlib.Data.List.Lookmap -import Mathlib.Data.List.Map2 -import Mathlib.Data.List.MinMax -import Mathlib.Data.List.ModifyLast -import Mathlib.Data.List.Monad -import Mathlib.Data.List.NatAntidiagonal -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.NodupEquivFin -import Mathlib.Data.List.OfFn -import Mathlib.Data.List.Pairwise -import Mathlib.Data.List.Palindrome -import Mathlib.Data.List.Perm.Basic -import Mathlib.Data.List.Perm.Lattice -import Mathlib.Data.List.Perm.Subperm -import Mathlib.Data.List.Permutation -import Mathlib.Data.List.Pi -import Mathlib.Data.List.Prime -import Mathlib.Data.List.ProdSigma -import Mathlib.Data.List.Range -import Mathlib.Data.List.ReduceOption -import Mathlib.Data.List.Rotate -import Mathlib.Data.List.Scan -import Mathlib.Data.List.Sections -import Mathlib.Data.List.Shortlex -import Mathlib.Data.List.Sigma -import Mathlib.Data.List.Sort -import Mathlib.Data.List.SplitBy -import Mathlib.Data.List.SplitLengths -import Mathlib.Data.List.SplitOn -import Mathlib.Data.List.Sublists -import Mathlib.Data.List.Sym -import Mathlib.Data.List.TFAE -import Mathlib.Data.List.TakeDrop -import Mathlib.Data.List.TakeWhile -import Mathlib.Data.List.ToFinsupp -import Mathlib.Data.List.Triplewise -import Mathlib.Data.List.Zip -import Mathlib.Data.Matrix.Action -import Mathlib.Data.Matrix.Auto -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.Bilinear -import Mathlib.Data.Matrix.Block -import Mathlib.Data.Matrix.ColumnRowPartitioned -import Mathlib.Data.Matrix.Composition -import Mathlib.Data.Matrix.DMatrix -import Mathlib.Data.Matrix.Diagonal -import Mathlib.Data.Matrix.DualNumber -import Mathlib.Data.Matrix.Invertible -import Mathlib.Data.Matrix.Mul -import Mathlib.Data.Matrix.PEquiv -import Mathlib.Data.Matrix.Reflection -import Mathlib.Data.Multiset.AddSub -import Mathlib.Data.Multiset.Antidiagonal -import Mathlib.Data.Multiset.Basic -import Mathlib.Data.Multiset.Bind -import Mathlib.Data.Multiset.Count -import Mathlib.Data.Multiset.Dedup -import Mathlib.Data.Multiset.Defs -import Mathlib.Data.Multiset.DershowitzManna -import Mathlib.Data.Multiset.Filter -import Mathlib.Data.Multiset.FinsetOps -import Mathlib.Data.Multiset.Fintype -import Mathlib.Data.Multiset.Fold -import Mathlib.Data.Multiset.Functor -import Mathlib.Data.Multiset.Interval -import Mathlib.Data.Multiset.Lattice -import Mathlib.Data.Multiset.MapFold -import Mathlib.Data.Multiset.NatAntidiagonal -import Mathlib.Data.Multiset.OrderedMonoid -import Mathlib.Data.Multiset.Pairwise -import Mathlib.Data.Multiset.Pi -import Mathlib.Data.Multiset.Powerset -import Mathlib.Data.Multiset.Range -import Mathlib.Data.Multiset.Replicate -import Mathlib.Data.Multiset.Sections -import Mathlib.Data.Multiset.Sort -import Mathlib.Data.Multiset.Sum -import Mathlib.Data.Multiset.Sym -import Mathlib.Data.Multiset.UnionInter -import Mathlib.Data.Multiset.ZeroCons -import Mathlib.Data.NNRat.BigOperators -import Mathlib.Data.NNRat.Defs -import Mathlib.Data.NNRat.Floor -import Mathlib.Data.NNRat.Lemmas -import Mathlib.Data.NNRat.Order -import Mathlib.Data.NNReal.Basic -import Mathlib.Data.NNReal.Defs -import Mathlib.Data.NNReal.Star -import Mathlib.Data.Nat.Basic -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Data.Nat.BitIndices -import Mathlib.Data.Nat.Bits -import Mathlib.Data.Nat.Bitwise -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Data.Nat.Cast.Commute -import Mathlib.Data.Nat.Cast.Defs -import Mathlib.Data.Nat.Cast.Field -import Mathlib.Data.Nat.Cast.NeZero -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Nat.Cast.Order.Field -import Mathlib.Data.Nat.Cast.Order.Ring -import Mathlib.Data.Nat.Cast.Prod -import Mathlib.Data.Nat.Cast.SetInterval -import Mathlib.Data.Nat.Cast.Synonym -import Mathlib.Data.Nat.Cast.WithTop -import Mathlib.Data.Nat.ChineseRemainder -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.Nat.Choose.Bounds -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.Data.Nat.Choose.Central -import Mathlib.Data.Nat.Choose.Dvd -import Mathlib.Data.Nat.Choose.Factorization -import Mathlib.Data.Nat.Choose.Lucas -import Mathlib.Data.Nat.Choose.Mul -import Mathlib.Data.Nat.Choose.Multinomial -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Data.Nat.Choose.Vandermonde -import Mathlib.Data.Nat.Count -import Mathlib.Data.Nat.Digits.Defs -import Mathlib.Data.Nat.Digits.Div -import Mathlib.Data.Nat.Digits.Lemmas -import Mathlib.Data.Nat.Dist -import Mathlib.Data.Nat.EvenOddRec -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.Nat.Factorial.BigOperators -import Mathlib.Data.Nat.Factorial.Cast -import Mathlib.Data.Nat.Factorial.DoubleFactorial -import Mathlib.Data.Nat.Factorial.NatCast -import Mathlib.Data.Nat.Factorial.SuperFactorial -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.Data.Nat.Factorization.Defs -import Mathlib.Data.Nat.Factorization.Induction -import Mathlib.Data.Nat.Factorization.LCM -import Mathlib.Data.Nat.Factorization.PrimePow -import Mathlib.Data.Nat.Factorization.Root -import Mathlib.Data.Nat.Factors -import Mathlib.Data.Nat.Fib.Basic -import Mathlib.Data.Nat.Fib.Zeckendorf -import Mathlib.Data.Nat.Find -import Mathlib.Data.Nat.GCD.Basic -import Mathlib.Data.Nat.GCD.BigOperators -import Mathlib.Data.Nat.GCD.Prime -import Mathlib.Data.Nat.Hyperoperation -import Mathlib.Data.Nat.Init -import Mathlib.Data.Nat.Lattice -import Mathlib.Data.Nat.Log -import Mathlib.Data.Nat.MaxPowDiv -import Mathlib.Data.Nat.ModEq -import Mathlib.Data.Nat.Multiplicity -import Mathlib.Data.Nat.Notation -import Mathlib.Data.Nat.Nth -import Mathlib.Data.Nat.NthRoot.Defs -import Mathlib.Data.Nat.Order.Lemmas -import Mathlib.Data.Nat.PSub -import Mathlib.Data.Nat.Pairing -import Mathlib.Data.Nat.PartENat -import Mathlib.Data.Nat.Periodic -import Mathlib.Data.Nat.PowModTotient -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.Nat.Prime.Factorial -import Mathlib.Data.Nat.Prime.Infinite -import Mathlib.Data.Nat.Prime.Int -import Mathlib.Data.Nat.Prime.Nth -import Mathlib.Data.Nat.Prime.Pow -import Mathlib.Data.Nat.PrimeFin -import Mathlib.Data.Nat.Set -import Mathlib.Data.Nat.Size -import Mathlib.Data.Nat.Sqrt -import Mathlib.Data.Nat.Squarefree -import Mathlib.Data.Nat.SuccPred -import Mathlib.Data.Nat.Totient -import Mathlib.Data.Nat.Upto -import Mathlib.Data.Nat.WithBot -import Mathlib.Data.Num.Basic -import Mathlib.Data.Num.Bitwise -import Mathlib.Data.Num.Lemmas -import Mathlib.Data.Num.Prime -import Mathlib.Data.Num.ZNum -import Mathlib.Data.Opposite -import Mathlib.Data.Option.Basic -import Mathlib.Data.Option.Defs -import Mathlib.Data.Option.NAry -import Mathlib.Data.Ordering.Basic -import Mathlib.Data.Ordering.Lemmas -import Mathlib.Data.Ordmap.Invariants -import Mathlib.Data.Ordmap.Ordnode -import Mathlib.Data.Ordmap.Ordset -import Mathlib.Data.PEquiv -import Mathlib.Data.PFun -import Mathlib.Data.PFunctor.Multivariate.Basic -import Mathlib.Data.PFunctor.Multivariate.M -import Mathlib.Data.PFunctor.Multivariate.W -import Mathlib.Data.PFunctor.Univariate.Basic -import Mathlib.Data.PFunctor.Univariate.M -import Mathlib.Data.PNat.Basic -import Mathlib.Data.PNat.Defs -import Mathlib.Data.PNat.Equiv -import Mathlib.Data.PNat.Factors -import Mathlib.Data.PNat.Find -import Mathlib.Data.PNat.Interval -import Mathlib.Data.PNat.Notation -import Mathlib.Data.PNat.Prime -import Mathlib.Data.PNat.Xgcd -import Mathlib.Data.PSigma.Order -import Mathlib.Data.Part -import Mathlib.Data.Pi.Interval -import Mathlib.Data.Prod.Basic -import Mathlib.Data.Prod.Lex -import Mathlib.Data.Prod.PProd -import Mathlib.Data.Prod.TProd -import Mathlib.Data.QPF.Multivariate.Basic -import Mathlib.Data.QPF.Multivariate.Constructions.Cofix -import Mathlib.Data.QPF.Multivariate.Constructions.Comp -import Mathlib.Data.QPF.Multivariate.Constructions.Const -import Mathlib.Data.QPF.Multivariate.Constructions.Fix -import Mathlib.Data.QPF.Multivariate.Constructions.Prj -import Mathlib.Data.QPF.Multivariate.Constructions.Quot -import Mathlib.Data.QPF.Multivariate.Constructions.Sigma -import Mathlib.Data.QPF.Univariate.Basic -import Mathlib.Data.Quot -import Mathlib.Data.Rat.BigOperators -import Mathlib.Data.Rat.Cardinal -import Mathlib.Data.Rat.Cast.CharZero -import Mathlib.Data.Rat.Cast.Defs -import Mathlib.Data.Rat.Cast.Lemmas -import Mathlib.Data.Rat.Cast.Order -import Mathlib.Data.Rat.Defs -import Mathlib.Data.Rat.Denumerable -import Mathlib.Data.Rat.Encodable -import Mathlib.Data.Rat.Floor -import Mathlib.Data.Rat.Init -import Mathlib.Data.Rat.Lemmas -import Mathlib.Data.Rat.NatSqrt.Defs -import Mathlib.Data.Rat.NatSqrt.Real -import Mathlib.Data.Rat.Sqrt -import Mathlib.Data.Rat.Star -import Mathlib.Data.Real.Archimedean -import Mathlib.Data.Real.Basic -import Mathlib.Data.Real.Cardinality -import Mathlib.Data.Real.CompleteField -import Mathlib.Data.Real.ConjExponents -import Mathlib.Data.Real.ENatENNReal -import Mathlib.Data.Real.EReal -import Mathlib.Data.Real.Embedding -import Mathlib.Data.Real.Hyperreal -import Mathlib.Data.Real.Irrational -import Mathlib.Data.Real.Pi.Bounds -import Mathlib.Data.Real.Pi.Irrational -import Mathlib.Data.Real.Pi.Leibniz -import Mathlib.Data.Real.Pi.Wallis -import Mathlib.Data.Real.Pointwise -import Mathlib.Data.Real.Sign -import Mathlib.Data.Real.Sqrt -import Mathlib.Data.Real.Star -import Mathlib.Data.Real.StarOrdered -import Mathlib.Data.Rel -import Mathlib.Data.SProd -import Mathlib.Data.Semiquot -import Mathlib.Data.Seq.Basic -import Mathlib.Data.Seq.Computation -import Mathlib.Data.Seq.Defs -import Mathlib.Data.Seq.Parallel -import Mathlib.Data.Seq.Seq -import Mathlib.Data.Seq.WSeq -import Mathlib.Data.Set.Accumulate -import Mathlib.Data.Set.Basic -import Mathlib.Data.Set.BoolIndicator -import Mathlib.Data.Set.BooleanAlgebra -import Mathlib.Data.Set.Card -import Mathlib.Data.Set.Card.Arithmetic -import Mathlib.Data.Set.CoeSort -import Mathlib.Data.Set.Constructions -import Mathlib.Data.Set.Countable -import Mathlib.Data.Set.Defs -import Mathlib.Data.Set.Disjoint -import Mathlib.Data.Set.Enumerate -import Mathlib.Data.Set.Equitable -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.Data.Set.Finite.List -import Mathlib.Data.Set.Finite.Monad -import Mathlib.Data.Set.Finite.Powerset -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Set.Function -import Mathlib.Data.Set.Functor -import Mathlib.Data.Set.Image -import Mathlib.Data.Set.Inclusion -import Mathlib.Data.Set.Insert -import Mathlib.Data.Set.Lattice -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Data.Set.List -import Mathlib.Data.Set.MemPartition -import Mathlib.Data.Set.Monotone -import Mathlib.Data.Set.MulAntidiagonal -import Mathlib.Data.Set.NAry -import Mathlib.Data.Set.Notation -import Mathlib.Data.Set.Operations -import Mathlib.Data.Set.Opposite -import Mathlib.Data.Set.Order -import Mathlib.Data.Set.Pairwise.Basic -import Mathlib.Data.Set.Pairwise.Lattice -import Mathlib.Data.Set.Pairwise.List -import Mathlib.Data.Set.Piecewise -import Mathlib.Data.Set.Pointwise.Support -import Mathlib.Data.Set.Prod -import Mathlib.Data.Set.Restrict -import Mathlib.Data.Set.SMulAntidiagonal -import Mathlib.Data.Set.Semiring -import Mathlib.Data.Set.Sigma -import Mathlib.Data.Set.Subset -import Mathlib.Data.Set.Subsingleton -import Mathlib.Data.Set.Sups -import Mathlib.Data.Set.SymmDiff -import Mathlib.Data.Set.UnionLift -import Mathlib.Data.SetLike.Basic -import Mathlib.Data.SetLike.Fintype -import Mathlib.Data.Setoid.Basic -import Mathlib.Data.Setoid.Partition -import Mathlib.Data.Setoid.Partition.Card -import Mathlib.Data.Sigma.Basic -import Mathlib.Data.Sigma.Interval -import Mathlib.Data.Sigma.Lex -import Mathlib.Data.Sigma.Order -import Mathlib.Data.Sign -import Mathlib.Data.Sign.Basic -import Mathlib.Data.Sign.Defs -import Mathlib.Data.Stream.Defs -import Mathlib.Data.Stream.Init -import Mathlib.Data.String.Basic -import Mathlib.Data.String.Defs -import Mathlib.Data.String.Lemmas -import Mathlib.Data.Subtype -import Mathlib.Data.Sum.Basic -import Mathlib.Data.Sum.Interval -import Mathlib.Data.Sum.Lattice -import Mathlib.Data.Sum.Order -import Mathlib.Data.Sym.Basic -import Mathlib.Data.Sym.Card -import Mathlib.Data.Sym.Sym2 -import Mathlib.Data.Sym.Sym2.Finsupp -import Mathlib.Data.Sym.Sym2.Init -import Mathlib.Data.Sym.Sym2.Order -import Mathlib.Data.Tree.Basic -import Mathlib.Data.Tree.Get -import Mathlib.Data.Tree.RBMap -import Mathlib.Data.Tree.Traversable -import Mathlib.Data.TwoPointing -import Mathlib.Data.TypeVec -import Mathlib.Data.UInt -import Mathlib.Data.ULift -import Mathlib.Data.Vector.Basic -import Mathlib.Data.Vector.Defs -import Mathlib.Data.Vector.MapLemmas -import Mathlib.Data.Vector.Mem -import Mathlib.Data.Vector.Snoc -import Mathlib.Data.Vector.Zip -import Mathlib.Data.Vector3 -import Mathlib.Data.W.Basic -import Mathlib.Data.W.Cardinal -import Mathlib.Data.W.Constructions -import Mathlib.Data.WSeq.Basic -import Mathlib.Data.WSeq.Defs -import Mathlib.Data.WSeq.Productive -import Mathlib.Data.WSeq.Relation -import Mathlib.Data.ZMod.Aut -import Mathlib.Data.ZMod.Basic -import Mathlib.Data.ZMod.Coprime -import Mathlib.Data.ZMod.Defs -import Mathlib.Data.ZMod.Factorial -import Mathlib.Data.ZMod.IntUnitsPower -import Mathlib.Data.ZMod.QuotientGroup -import Mathlib.Data.ZMod.QuotientRing -import Mathlib.Data.ZMod.Units -import Mathlib.Data.ZMod.ValMinAbs -import Mathlib.Deprecated.Aliases -import Mathlib.Deprecated.AnalyticManifold -import Mathlib.Deprecated.Estimator -import Mathlib.Deprecated.MLList.BestFirst -import Mathlib.Deprecated.Order -import Mathlib.Deprecated.RingHom -import Mathlib.Dynamics.BirkhoffSum.Average -import Mathlib.Dynamics.BirkhoffSum.Basic -import Mathlib.Dynamics.BirkhoffSum.NormedSpace -import Mathlib.Dynamics.BirkhoffSum.QuasiMeasurePreserving -import Mathlib.Dynamics.Circle.RotationNumber.TranslationNumber -import Mathlib.Dynamics.Ergodic.Action.Basic -import Mathlib.Dynamics.Ergodic.Action.OfMinimal -import Mathlib.Dynamics.Ergodic.Action.Regular -import Mathlib.Dynamics.Ergodic.AddCircle -import Mathlib.Dynamics.Ergodic.AddCircleAdd -import Mathlib.Dynamics.Ergodic.Conservative -import Mathlib.Dynamics.Ergodic.Ergodic -import Mathlib.Dynamics.Ergodic.Extreme -import Mathlib.Dynamics.Ergodic.Function -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.Dynamics.Ergodic.RadonNikodym -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.Dynamics.FixedPoints.Prufer -import Mathlib.Dynamics.FixedPoints.Topology -import Mathlib.Dynamics.Flow -import Mathlib.Dynamics.Minimal -import Mathlib.Dynamics.Newton -import Mathlib.Dynamics.OmegaLimit -import Mathlib.Dynamics.PeriodicPts.Defs -import Mathlib.Dynamics.PeriodicPts.Lemmas -import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy -import Mathlib.Dynamics.TopologicalEntropy.DynamicalEntourage -import Mathlib.Dynamics.TopologicalEntropy.NetEntropy -import Mathlib.Dynamics.TopologicalEntropy.Semiconj -import Mathlib.Dynamics.TopologicalEntropy.Subset -import Mathlib.FieldTheory.AbelRuffini -import Mathlib.FieldTheory.AbsoluteGaloisGroup -import Mathlib.FieldTheory.AlgebraicClosure -import Mathlib.FieldTheory.AxGrothendieck -import Mathlib.FieldTheory.CardinalEmb -import Mathlib.FieldTheory.Cardinality -import Mathlib.FieldTheory.ChevalleyWarning -import Mathlib.FieldTheory.Differential.Basic -import Mathlib.FieldTheory.Differential.Liouville -import Mathlib.FieldTheory.Extension -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.FieldTheory.Finite.GaloisField -import Mathlib.FieldTheory.Finite.Polynomial -import Mathlib.FieldTheory.Finite.Trace -import Mathlib.FieldTheory.Finiteness -import Mathlib.FieldTheory.Fixed -import Mathlib.FieldTheory.Galois.Abelian -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.FieldTheory.Galois.GaloisClosure -import Mathlib.FieldTheory.Galois.Infinite -import Mathlib.FieldTheory.Galois.IsGaloisGroup -import Mathlib.FieldTheory.Galois.NormalBasis -import Mathlib.FieldTheory.Galois.Notation -import Mathlib.FieldTheory.Galois.Profinite -import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic -import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs -import Mathlib.FieldTheory.IntermediateField.Algebraic -import Mathlib.FieldTheory.IntermediateField.Basic -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.FieldTheory.IsAlgClosed.Classification -import Mathlib.FieldTheory.IsAlgClosed.Spectrum -import Mathlib.FieldTheory.IsPerfectClosure -import Mathlib.FieldTheory.IsSepClosed -import Mathlib.FieldTheory.Isaacs -import Mathlib.FieldTheory.JacobsonNoether -import Mathlib.FieldTheory.KrullTopology -import Mathlib.FieldTheory.KummerExtension -import Mathlib.FieldTheory.KummerPolynomial -import Mathlib.FieldTheory.Laurent -import Mathlib.FieldTheory.LinearDisjoint -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.FieldTheory.Minpoly.ConjRootClass -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.FieldTheory.Minpoly.IsConjRoot -import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed -import Mathlib.FieldTheory.Minpoly.MinpolyDiv -import Mathlib.FieldTheory.MvRatFunc.Rank -import Mathlib.FieldTheory.Normal.Basic -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.FieldTheory.Normal.Defs -import Mathlib.FieldTheory.NormalizedTrace -import Mathlib.FieldTheory.Perfect -import Mathlib.FieldTheory.PerfectClosure -import Mathlib.FieldTheory.PolynomialGaloisGroup -import Mathlib.FieldTheory.PrimitiveElement -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.FieldTheory.PurelyInseparable.Exponent -import Mathlib.FieldTheory.PurelyInseparable.PerfectClosure -import Mathlib.FieldTheory.PurelyInseparable.Tower -import Mathlib.FieldTheory.RatFunc.AsPolynomial -import Mathlib.FieldTheory.RatFunc.Basic -import Mathlib.FieldTheory.RatFunc.Defs -import Mathlib.FieldTheory.RatFunc.Degree -import Mathlib.FieldTheory.Relrank -import Mathlib.FieldTheory.Separable -import Mathlib.FieldTheory.SeparableClosure -import Mathlib.FieldTheory.SeparableDegree -import Mathlib.FieldTheory.SplittingField.Construction -import Mathlib.FieldTheory.SplittingField.IsSplittingField -import Mathlib.FieldTheory.Tower -import Mathlib.Geometry.Convex.Cone.Basic -import Mathlib.Geometry.Convex.Cone.Dual -import Mathlib.Geometry.Convex.Cone.Pointed -import Mathlib.Geometry.Euclidean.Altitude -import Mathlib.Geometry.Euclidean.Angle.Bisector -import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine -import Mathlib.Geometry.Euclidean.Angle.Oriented.Basic -import Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle -import Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation -import Mathlib.Geometry.Euclidean.Angle.Sphere -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Conformal -import Mathlib.Geometry.Euclidean.Angle.Unoriented.CrossProduct -import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle -import Mathlib.Geometry.Euclidean.Basic -import Mathlib.Geometry.Euclidean.Circumcenter -import Mathlib.Geometry.Euclidean.Congruence -import Mathlib.Geometry.Euclidean.Incenter -import Mathlib.Geometry.Euclidean.Inversion.Basic -import Mathlib.Geometry.Euclidean.Inversion.Calculus -import Mathlib.Geometry.Euclidean.Inversion.ImageHyperplane -import Mathlib.Geometry.Euclidean.MongePoint -import Mathlib.Geometry.Euclidean.PerpBisector -import Mathlib.Geometry.Euclidean.Projection -import Mathlib.Geometry.Euclidean.SignedDist -import Mathlib.Geometry.Euclidean.Simplex -import Mathlib.Geometry.Euclidean.Sphere.Basic -import Mathlib.Geometry.Euclidean.Sphere.Power -import Mathlib.Geometry.Euclidean.Sphere.Ptolemy -import Mathlib.Geometry.Euclidean.Sphere.SecondInter -import Mathlib.Geometry.Euclidean.Sphere.Tangent -import Mathlib.Geometry.Euclidean.Triangle -import Mathlib.Geometry.Group.Growth.LinearLowerBound -import Mathlib.Geometry.Group.Growth.QuotientInter -import Mathlib.Geometry.Manifold.Algebra.LeftInvariantDerivation -import Mathlib.Geometry.Manifold.Algebra.LieGroup -import Mathlib.Geometry.Manifold.Algebra.Monoid -import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions -import Mathlib.Geometry.Manifold.Algebra.Structures -import Mathlib.Geometry.Manifold.AnalyticManifold -import Mathlib.Geometry.Manifold.Bordism -import Mathlib.Geometry.Manifold.BumpFunction -import Mathlib.Geometry.Manifold.ChartedSpace -import Mathlib.Geometry.Manifold.Complex -import Mathlib.Geometry.Manifold.ConformalGroupoid -import Mathlib.Geometry.Manifold.ContMDiff.Atlas -import Mathlib.Geometry.Manifold.ContMDiff.Basic -import Mathlib.Geometry.Manifold.ContMDiff.Constructions -import Mathlib.Geometry.Manifold.ContMDiff.Defs -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace -import Mathlib.Geometry.Manifold.ContMDiffMFDeriv -import Mathlib.Geometry.Manifold.ContMDiffMap -import Mathlib.Geometry.Manifold.DerivationBundle -import Mathlib.Geometry.Manifold.Diffeomorph -import Mathlib.Geometry.Manifold.GroupLieAlgebra -import Mathlib.Geometry.Manifold.Instances.Icc -import Mathlib.Geometry.Manifold.Instances.Real -import Mathlib.Geometry.Manifold.Instances.Sphere -import Mathlib.Geometry.Manifold.Instances.UnitsOfNormedAlgebra -import Mathlib.Geometry.Manifold.IntegralCurve.Basic -import Mathlib.Geometry.Manifold.IntegralCurve.ExistUnique -import Mathlib.Geometry.Manifold.IntegralCurve.Transform -import Mathlib.Geometry.Manifold.IntegralCurve.UniformTime -import Mathlib.Geometry.Manifold.IsManifold.Basic -import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt -import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary -import Mathlib.Geometry.Manifold.LocalDiffeomorph -import Mathlib.Geometry.Manifold.LocalInvariantProperties -import Mathlib.Geometry.Manifold.MFDeriv.Atlas -import Mathlib.Geometry.Manifold.MFDeriv.Basic -import Mathlib.Geometry.Manifold.MFDeriv.Defs -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv -import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace -import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions -import Mathlib.Geometry.Manifold.MFDeriv.Tangent -import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential -import Mathlib.Geometry.Manifold.Metrizable -import Mathlib.Geometry.Manifold.Notation -import Mathlib.Geometry.Manifold.PartitionOfUnity -import Mathlib.Geometry.Manifold.PoincareConjecture -import Mathlib.Geometry.Manifold.Riemannian.Basic -import Mathlib.Geometry.Manifold.Riemannian.PathELength -import Mathlib.Geometry.Manifold.Sheaf.Basic -import Mathlib.Geometry.Manifold.Sheaf.LocallyRingedSpace -import Mathlib.Geometry.Manifold.Sheaf.Smooth -import Mathlib.Geometry.Manifold.VectorBundle.Basic -import Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear -import Mathlib.Geometry.Manifold.VectorBundle.Hom -import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable -import Mathlib.Geometry.Manifold.VectorBundle.Pullback -import Mathlib.Geometry.Manifold.VectorBundle.Riemannian -import Mathlib.Geometry.Manifold.VectorBundle.SmoothSection -import Mathlib.Geometry.Manifold.VectorBundle.Tangent -import Mathlib.Geometry.Manifold.VectorField.LieBracket -import Mathlib.Geometry.Manifold.VectorField.Pullback -import Mathlib.Geometry.Manifold.WhitneyEmbedding -import Mathlib.Geometry.RingedSpace.Basic -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.HasColimits -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.ResidueField -import Mathlib.Geometry.RingedSpace.OpenImmersion -import Mathlib.Geometry.RingedSpace.PresheafedSpace -import Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing -import Mathlib.Geometry.RingedSpace.PresheafedSpace.HasColimits -import Mathlib.Geometry.RingedSpace.SheafedSpace -import Mathlib.Geometry.RingedSpace.Stalks -import Mathlib.GroupTheory.Abelianization.Defs -import Mathlib.GroupTheory.Abelianization.Finite -import Mathlib.GroupTheory.Archimedean -import Mathlib.GroupTheory.ArchimedeanDensely -import Mathlib.GroupTheory.ClassEquation -import Mathlib.GroupTheory.Commensurable -import Mathlib.GroupTheory.Commutator.Basic -import Mathlib.GroupTheory.Commutator.Finite -import Mathlib.GroupTheory.CommutingProbability -import Mathlib.GroupTheory.Complement -import Mathlib.GroupTheory.Congruence.Basic -import Mathlib.GroupTheory.Congruence.BigOperators -import Mathlib.GroupTheory.Congruence.Defs -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.GroupTheory.Congruence.Opposite -import Mathlib.GroupTheory.Coprod.Basic -import Mathlib.GroupTheory.CoprodI -import Mathlib.GroupTheory.Coset.Basic -import Mathlib.GroupTheory.Coset.Card -import Mathlib.GroupTheory.Coset.Defs -import Mathlib.GroupTheory.CosetCover -import Mathlib.GroupTheory.Coxeter.Basic -import Mathlib.GroupTheory.Coxeter.Inversion -import Mathlib.GroupTheory.Coxeter.Length -import Mathlib.GroupTheory.Coxeter.Matrix -import Mathlib.GroupTheory.Divisible -import Mathlib.GroupTheory.DivisibleHull -import Mathlib.GroupTheory.DoubleCoset -import Mathlib.GroupTheory.EckmannHilton -import Mathlib.GroupTheory.Exponent -import Mathlib.GroupTheory.FiniteAbelian.Basic -import Mathlib.GroupTheory.FiniteAbelian.Duality -import Mathlib.GroupTheory.Finiteness -import Mathlib.GroupTheory.FixedPointFree -import Mathlib.GroupTheory.Frattini -import Mathlib.GroupTheory.FreeAbelianGroup -import Mathlib.GroupTheory.FreeGroup.Basic -import Mathlib.GroupTheory.FreeGroup.CyclicallyReduced -import Mathlib.GroupTheory.FreeGroup.GeneratorEquiv -import Mathlib.GroupTheory.FreeGroup.IsFreeGroup -import Mathlib.GroupTheory.FreeGroup.NielsenSchreier -import Mathlib.GroupTheory.FreeGroup.Reduce -import Mathlib.GroupTheory.Goursat -import Mathlib.GroupTheory.GroupAction.Basic -import Mathlib.GroupTheory.GroupAction.Blocks -import Mathlib.GroupTheory.GroupAction.CardCommute -import Mathlib.GroupTheory.GroupAction.ConjAct -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.GroupTheory.GroupAction.DomAct.ActionHom -import Mathlib.GroupTheory.GroupAction.DomAct.Basic -import Mathlib.GroupTheory.GroupAction.Embedding -import Mathlib.GroupTheory.GroupAction.FixedPoints -import Mathlib.GroupTheory.GroupAction.FixingSubgroup -import Mathlib.GroupTheory.GroupAction.Hom -import Mathlib.GroupTheory.GroupAction.IterateAct -import Mathlib.GroupTheory.GroupAction.Iwasawa -import Mathlib.GroupTheory.GroupAction.Jordan -import Mathlib.GroupTheory.GroupAction.MultiplePrimitivity -import Mathlib.GroupTheory.GroupAction.MultipleTransitivity -import Mathlib.GroupTheory.GroupAction.Period -import Mathlib.GroupTheory.GroupAction.Pointwise -import Mathlib.GroupTheory.GroupAction.Primitive -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup -import Mathlib.GroupTheory.GroupAction.SubMulAction.OfStabilizer -import Mathlib.GroupTheory.GroupAction.SubMulAction.Pointwise -import Mathlib.GroupTheory.GroupAction.Support -import Mathlib.GroupTheory.GroupAction.Transitive -import Mathlib.GroupTheory.GroupExtension.Basic -import Mathlib.GroupTheory.GroupExtension.Defs -import Mathlib.GroupTheory.HNNExtension -import Mathlib.GroupTheory.Index -import Mathlib.GroupTheory.IndexNormal -import Mathlib.GroupTheory.MonoidLocalization.Away -import Mathlib.GroupTheory.MonoidLocalization.Basic -import Mathlib.GroupTheory.MonoidLocalization.Cardinality -import Mathlib.GroupTheory.MonoidLocalization.DivPairs -import Mathlib.GroupTheory.MonoidLocalization.Finite -import Mathlib.GroupTheory.MonoidLocalization.GrothendieckGroup -import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero -import Mathlib.GroupTheory.MonoidLocalization.Order -import Mathlib.GroupTheory.Nilpotent -import Mathlib.GroupTheory.NoncommCoprod -import Mathlib.GroupTheory.NoncommPiCoprod -import Mathlib.GroupTheory.Order.Min -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.GroupTheory.OreLocalization.Basic -import Mathlib.GroupTheory.OreLocalization.Cardinality -import Mathlib.GroupTheory.OreLocalization.OreSet -import Mathlib.GroupTheory.PGroup -import Mathlib.GroupTheory.Perm.Basic -import Mathlib.GroupTheory.Perm.Centralizer -import Mathlib.GroupTheory.Perm.Closure -import Mathlib.GroupTheory.Perm.ClosureSwap -import Mathlib.GroupTheory.Perm.ConjAct -import Mathlib.GroupTheory.Perm.Cycle.Basic -import Mathlib.GroupTheory.Perm.Cycle.Concrete -import Mathlib.GroupTheory.Perm.Cycle.Factors -import Mathlib.GroupTheory.Perm.Cycle.PossibleTypes -import Mathlib.GroupTheory.Perm.Cycle.Type -import Mathlib.GroupTheory.Perm.DomMulAct -import Mathlib.GroupTheory.Perm.Fin -import Mathlib.GroupTheory.Perm.Finite -import Mathlib.GroupTheory.Perm.List -import Mathlib.GroupTheory.Perm.Option -import Mathlib.GroupTheory.Perm.Sign -import Mathlib.GroupTheory.Perm.Subgroup -import Mathlib.GroupTheory.Perm.Support -import Mathlib.GroupTheory.Perm.ViaEmbedding -import Mathlib.GroupTheory.PresentedGroup -import Mathlib.GroupTheory.PushoutI -import Mathlib.GroupTheory.QuotientGroup.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.GroupTheory.QuotientGroup.Finite -import Mathlib.GroupTheory.Rank -import Mathlib.GroupTheory.RegularWreathProduct -import Mathlib.GroupTheory.Schreier -import Mathlib.GroupTheory.SchurZassenhaus -import Mathlib.GroupTheory.SemidirectProduct -import Mathlib.GroupTheory.Solvable -import Mathlib.GroupTheory.SpecificGroups.Alternating -import Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer -import Mathlib.GroupTheory.SpecificGroups.Alternating.KleinFour -import Mathlib.GroupTheory.SpecificGroups.Cyclic -import Mathlib.GroupTheory.SpecificGroups.Dihedral -import Mathlib.GroupTheory.SpecificGroups.KleinFour -import Mathlib.GroupTheory.SpecificGroups.Quaternion -import Mathlib.GroupTheory.SpecificGroups.ZGroup -import Mathlib.GroupTheory.Subgroup.Center -import Mathlib.GroupTheory.Subgroup.Centralizer -import Mathlib.GroupTheory.Subgroup.Saturated -import Mathlib.GroupTheory.Subgroup.Simple -import Mathlib.GroupTheory.Submonoid.Center -import Mathlib.GroupTheory.Submonoid.Centralizer -import Mathlib.GroupTheory.Submonoid.Inverses -import Mathlib.GroupTheory.Subsemigroup.Center -import Mathlib.GroupTheory.Subsemigroup.Centralizer -import Mathlib.GroupTheory.Sylow -import Mathlib.GroupTheory.Torsion -import Mathlib.GroupTheory.Transfer -import Mathlib.InformationTheory.Hamming -import Mathlib.InformationTheory.KullbackLeibler.Basic -import Mathlib.InformationTheory.KullbackLeibler.KLFun -import Mathlib.Init -import Mathlib.Lean.ContextInfo -import Mathlib.Lean.CoreM -import Mathlib.Lean.Elab.InfoTree -import Mathlib.Lean.Elab.Tactic.Basic -import Mathlib.Lean.Elab.Tactic.Meta -import Mathlib.Lean.Elab.Term -import Mathlib.Lean.EnvExtension -import Mathlib.Lean.Exception -import Mathlib.Lean.Expr -import Mathlib.Lean.Expr.Basic -import Mathlib.Lean.Expr.ExtraRecognizers -import Mathlib.Lean.Expr.Rat -import Mathlib.Lean.Expr.ReplaceRec -import Mathlib.Lean.GoalsLocation -import Mathlib.Lean.Json -import Mathlib.Lean.LocalContext -import Mathlib.Lean.Message -import Mathlib.Lean.Meta -import Mathlib.Lean.Meta.Basic -import Mathlib.Lean.Meta.CongrTheorems -import Mathlib.Lean.Meta.DiscrTree -import Mathlib.Lean.Meta.KAbstractPositions -import Mathlib.Lean.Meta.RefinedDiscrTree -import Mathlib.Lean.Meta.RefinedDiscrTree.Basic -import Mathlib.Lean.Meta.RefinedDiscrTree.Encode -import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize -import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup -import Mathlib.Lean.Meta.Simp -import Mathlib.Lean.Meta.Tactic.Rewrite -import Mathlib.Lean.Name -import Mathlib.Lean.PrettyPrinter.Delaborator -import Mathlib.Lean.Thunk -import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv -import Mathlib.LinearAlgebra.AffineSpace.AffineMap -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs -import Mathlib.LinearAlgebra.AffineSpace.Basis -import Mathlib.LinearAlgebra.AffineSpace.Centroid -import Mathlib.LinearAlgebra.AffineSpace.Combination -import Mathlib.LinearAlgebra.AffineSpace.ContinuousAffineEquiv -import Mathlib.LinearAlgebra.AffineSpace.Defs -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional -import Mathlib.LinearAlgebra.AffineSpace.Independent -import Mathlib.LinearAlgebra.AffineSpace.Matrix -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.LinearAlgebra.AffineSpace.MidpointZero -import Mathlib.LinearAlgebra.AffineSpace.Ordered -import Mathlib.LinearAlgebra.AffineSpace.Pointwise -import Mathlib.LinearAlgebra.AffineSpace.Restrict -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Centroid -import Mathlib.LinearAlgebra.AffineSpace.Slope -import Mathlib.LinearAlgebra.Alternating.Basic -import Mathlib.LinearAlgebra.Alternating.Curry -import Mathlib.LinearAlgebra.Alternating.DomCoprod -import Mathlib.LinearAlgebra.Alternating.Uncurry.Fin -import Mathlib.LinearAlgebra.AnnihilatingPolynomial -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Basis.Bilinear -import Mathlib.LinearAlgebra.Basis.Cardinality -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.Basis.Exact -import Mathlib.LinearAlgebra.Basis.Fin -import Mathlib.LinearAlgebra.Basis.Flag -import Mathlib.LinearAlgebra.Basis.MulOpposite -import Mathlib.LinearAlgebra.Basis.Prod -import Mathlib.LinearAlgebra.Basis.SMul -import Mathlib.LinearAlgebra.Basis.Submodule -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.BilinearForm.Basic -import Mathlib.LinearAlgebra.BilinearForm.DualLattice -import Mathlib.LinearAlgebra.BilinearForm.Hom -import Mathlib.LinearAlgebra.BilinearForm.Orthogonal -import Mathlib.LinearAlgebra.BilinearForm.Properties -import Mathlib.LinearAlgebra.BilinearForm.TensorProduct -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.Charpoly.BaseChange -import Mathlib.LinearAlgebra.Charpoly.Basic -import Mathlib.LinearAlgebra.Charpoly.ToMatrix -import Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange -import Mathlib.LinearAlgebra.CliffordAlgebra.Basic -import Mathlib.LinearAlgebra.CliffordAlgebra.CategoryTheory -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation -import Mathlib.LinearAlgebra.CliffordAlgebra.Contraction -import Mathlib.LinearAlgebra.CliffordAlgebra.Equivs -import Mathlib.LinearAlgebra.CliffordAlgebra.Even -import Mathlib.LinearAlgebra.CliffordAlgebra.EvenEquiv -import Mathlib.LinearAlgebra.CliffordAlgebra.Fold -import Mathlib.LinearAlgebra.CliffordAlgebra.Grading -import Mathlib.LinearAlgebra.CliffordAlgebra.Inversion -import Mathlib.LinearAlgebra.CliffordAlgebra.Prod -import Mathlib.LinearAlgebra.CliffordAlgebra.SpinGroup -import Mathlib.LinearAlgebra.CliffordAlgebra.Star -import Mathlib.LinearAlgebra.Coevaluation -import Mathlib.LinearAlgebra.Complex.Determinant -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.LinearAlgebra.Complex.Orientation -import Mathlib.LinearAlgebra.Contraction -import Mathlib.LinearAlgebra.Countable -import Mathlib.LinearAlgebra.CrossProduct -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Dimension.Basic -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.LinearAlgebra.Dimension.ErdosKaplansky -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.Dimension.Finrank -import Mathlib.LinearAlgebra.Dimension.Free -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.LinearAlgebra.Dimension.LinearMap -import Mathlib.LinearAlgebra.Dimension.Localization -import Mathlib.LinearAlgebra.Dimension.RankNullity -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.Dimension.Subsingleton -import Mathlib.LinearAlgebra.Dimension.Torsion.Basic -import Mathlib.LinearAlgebra.Dimension.Torsion.Finite -import Mathlib.LinearAlgebra.DirectSum.Basis -import Mathlib.LinearAlgebra.DirectSum.Finite -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.LinearAlgebra.DirectSum.TensorProduct -import Mathlib.LinearAlgebra.Dual.Basis -import Mathlib.LinearAlgebra.Dual.Defs -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.LinearAlgebra.Eigenspace.Charpoly -import Mathlib.LinearAlgebra.Eigenspace.Matrix -import Mathlib.LinearAlgebra.Eigenspace.Minpoly -import Mathlib.LinearAlgebra.Eigenspace.Pi -import Mathlib.LinearAlgebra.Eigenspace.Semisimple -import Mathlib.LinearAlgebra.Eigenspace.Triangularizable -import Mathlib.LinearAlgebra.Eigenspace.Zero -import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic -import Mathlib.LinearAlgebra.ExteriorAlgebra.Grading -import Mathlib.LinearAlgebra.ExteriorAlgebra.OfAlternating -import Mathlib.LinearAlgebra.ExteriorPower.Basic -import Mathlib.LinearAlgebra.ExteriorPower.Pairing -import Mathlib.LinearAlgebra.FiniteDimensional.Basic -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.FiniteSpan -import Mathlib.LinearAlgebra.Finsupp.Defs -import Mathlib.LinearAlgebra.Finsupp.LSum -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.LinearAlgebra.Finsupp.Pi -import Mathlib.LinearAlgebra.Finsupp.Span -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.LinearAlgebra.Finsupp.Supported -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeAlgebra -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.FreeModule.Determinant -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix -import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient -import Mathlib.LinearAlgebra.FreeModule.IdealQuotient -import Mathlib.LinearAlgebra.FreeModule.Int -import Mathlib.LinearAlgebra.FreeModule.ModN -import Mathlib.LinearAlgebra.FreeModule.Norm -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.FreeProduct.Basic -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.LinearAlgebra.Goursat -import Mathlib.LinearAlgebra.InvariantBasisNumber -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.LinearAlgebra.JordanChevalley -import Mathlib.LinearAlgebra.Lagrange -import Mathlib.LinearAlgebra.LinearDisjoint -import Mathlib.LinearAlgebra.LinearIndependent.Basic -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas -import Mathlib.LinearAlgebra.LinearPMap -import Mathlib.LinearAlgebra.Matrix.AbsoluteValue -import Mathlib.LinearAlgebra.Matrix.Adjugate -import Mathlib.LinearAlgebra.Matrix.BaseChange -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.LinearAlgebra.Matrix.BilinearForm -import Mathlib.LinearAlgebra.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.CharP -import Mathlib.LinearAlgebra.Matrix.Charpoly.Basic -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.LinearAlgebra.Matrix.Charpoly.Disc -import Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs -import Mathlib.LinearAlgebra.Matrix.Charpoly.FiniteField -import Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap -import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly -import Mathlib.LinearAlgebra.Matrix.Charpoly.Univ -import Mathlib.LinearAlgebra.Matrix.Circulant -import Mathlib.LinearAlgebra.Matrix.ConjTranspose -import Mathlib.LinearAlgebra.Matrix.Defs -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Determinant.Misc -import Mathlib.LinearAlgebra.Matrix.Determinant.TotallyUnimodular -import Mathlib.LinearAlgebra.Matrix.Diagonal -import Mathlib.LinearAlgebra.Matrix.DotProduct -import Mathlib.LinearAlgebra.Matrix.Dual -import Mathlib.LinearAlgebra.Matrix.FiniteDimensional -import Mathlib.LinearAlgebra.Matrix.FixedDetMatrices -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Card -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo -import Mathlib.LinearAlgebra.Matrix.Gershgorin -import Mathlib.LinearAlgebra.Matrix.Hadamard -import Mathlib.LinearAlgebra.Matrix.Hermitian -import Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus -import Mathlib.LinearAlgebra.Matrix.Ideal -import Mathlib.LinearAlgebra.Matrix.Integer -import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber -import Mathlib.LinearAlgebra.Matrix.IsDiag -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.LinearAlgebra.Matrix.LDL -import Mathlib.LinearAlgebra.Matrix.MvPolynomial -import Mathlib.LinearAlgebra.Matrix.Nondegenerate -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.Notation -import Mathlib.LinearAlgebra.Matrix.Orthogonal -import Mathlib.LinearAlgebra.Matrix.Permanent -import Mathlib.LinearAlgebra.Matrix.Permutation -import Mathlib.LinearAlgebra.Matrix.Polynomial -import Mathlib.LinearAlgebra.Matrix.PosDef -import Mathlib.LinearAlgebra.Matrix.ProjectiveSpecialLinearGroup -import Mathlib.LinearAlgebra.Matrix.Rank -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.LinearAlgebra.Matrix.RowCol -import Mathlib.LinearAlgebra.Matrix.SchurComplement -import Mathlib.LinearAlgebra.Matrix.SemiringInverse -import Mathlib.LinearAlgebra.Matrix.SesquilinearForm -import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup -import Mathlib.LinearAlgebra.Matrix.Spectrum -import Mathlib.LinearAlgebra.Matrix.StdBasis -import Mathlib.LinearAlgebra.Matrix.Swap -import Mathlib.LinearAlgebra.Matrix.Symmetric -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv -import Mathlib.LinearAlgebra.Matrix.Trace -import Mathlib.LinearAlgebra.Matrix.Transvection -import Mathlib.LinearAlgebra.Matrix.Unique -import Mathlib.LinearAlgebra.Matrix.Vec -import Mathlib.LinearAlgebra.Matrix.ZPow -import Mathlib.LinearAlgebra.Multilinear.Basic -import Mathlib.LinearAlgebra.Multilinear.Basis -import Mathlib.LinearAlgebra.Multilinear.Curry -import Mathlib.LinearAlgebra.Multilinear.DFinsupp -import Mathlib.LinearAlgebra.Multilinear.FiniteDimensional -import Mathlib.LinearAlgebra.Multilinear.Pi -import Mathlib.LinearAlgebra.Multilinear.TensorProduct -import Mathlib.LinearAlgebra.Orientation -import Mathlib.LinearAlgebra.PID -import Mathlib.LinearAlgebra.PerfectPairing.Basic -import Mathlib.LinearAlgebra.PerfectPairing.Matrix -import Mathlib.LinearAlgebra.PerfectPairing.Restrict -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.PiTensorProduct -import Mathlib.LinearAlgebra.Prod -import Mathlib.LinearAlgebra.Projection -import Mathlib.LinearAlgebra.Projectivization.Action -import Mathlib.LinearAlgebra.Projectivization.Basic -import Mathlib.LinearAlgebra.Projectivization.Cardinality -import Mathlib.LinearAlgebra.Projectivization.Constructions -import Mathlib.LinearAlgebra.Projectivization.Independence -import Mathlib.LinearAlgebra.Projectivization.Subspace -import Mathlib.LinearAlgebra.QuadraticForm.Basic -import Mathlib.LinearAlgebra.QuadraticForm.Basis -import Mathlib.LinearAlgebra.QuadraticForm.Complex -import Mathlib.LinearAlgebra.QuadraticForm.Dual -import Mathlib.LinearAlgebra.QuadraticForm.Isometry -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv -import Mathlib.LinearAlgebra.QuadraticForm.Prod -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Monoidal -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Symmetric -import Mathlib.LinearAlgebra.QuadraticForm.Real -import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct -import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.LinearAlgebra.Quotient.Card -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.LinearAlgebra.Quotient.Pi -import Mathlib.LinearAlgebra.Ray -import Mathlib.LinearAlgebra.Reflection -import Mathlib.LinearAlgebra.RootSystem.Base -import Mathlib.LinearAlgebra.RootSystem.BaseChange -import Mathlib.LinearAlgebra.RootSystem.Basic -import Mathlib.LinearAlgebra.RootSystem.CartanMatrix -import Mathlib.LinearAlgebra.RootSystem.Chain -import Mathlib.LinearAlgebra.RootSystem.Defs -import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear -import Mathlib.LinearAlgebra.RootSystem.Finite.G2 -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas -import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Lemmas -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Relations -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Semisimple -import Mathlib.LinearAlgebra.RootSystem.Hom -import Mathlib.LinearAlgebra.RootSystem.Irreducible -import Mathlib.LinearAlgebra.RootSystem.IsValuedIn -import Mathlib.LinearAlgebra.RootSystem.OfBilinear -import Mathlib.LinearAlgebra.RootSystem.Reduced -import Mathlib.LinearAlgebra.RootSystem.RootPairingCat -import Mathlib.LinearAlgebra.RootSystem.RootPositive -import Mathlib.LinearAlgebra.RootSystem.WeylGroup -import Mathlib.LinearAlgebra.SModEq -import Mathlib.LinearAlgebra.Semisimple -import Mathlib.LinearAlgebra.SesquilinearForm -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.LinearAlgebra.Span.Defs -import Mathlib.LinearAlgebra.StdBasis -import Mathlib.LinearAlgebra.SymmetricAlgebra.Basic -import Mathlib.LinearAlgebra.SymmetricAlgebra.Basis -import Mathlib.LinearAlgebra.SymplecticGroup -import Mathlib.LinearAlgebra.TensorAlgebra.Basic -import Mathlib.LinearAlgebra.TensorAlgebra.Basis -import Mathlib.LinearAlgebra.TensorAlgebra.Grading -import Mathlib.LinearAlgebra.TensorAlgebra.ToTensorPower -import Mathlib.LinearAlgebra.TensorPower.Basic -import Mathlib.LinearAlgebra.TensorPower.Pairing -import Mathlib.LinearAlgebra.TensorPower.Symmetric -import Mathlib.LinearAlgebra.TensorProduct.Associator -import Mathlib.LinearAlgebra.TensorProduct.Basic -import Mathlib.LinearAlgebra.TensorProduct.Basis -import Mathlib.LinearAlgebra.TensorProduct.DirectLimit -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.LinearAlgebra.TensorProduct.Graded.External -import Mathlib.LinearAlgebra.TensorProduct.Graded.Internal -import Mathlib.LinearAlgebra.TensorProduct.Matrix -import Mathlib.LinearAlgebra.TensorProduct.Opposite -import Mathlib.LinearAlgebra.TensorProduct.Pi -import Mathlib.LinearAlgebra.TensorProduct.Prod -import Mathlib.LinearAlgebra.TensorProduct.Quotient -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.LinearAlgebra.TensorProduct.Subalgebra -import Mathlib.LinearAlgebra.TensorProduct.Submodule -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.LinearAlgebra.TensorProduct.Vanishing -import Mathlib.LinearAlgebra.Trace -import Mathlib.LinearAlgebra.UnitaryGroup -import Mathlib.LinearAlgebra.Vandermonde -import Mathlib.Logic.Basic -import Mathlib.Logic.Denumerable -import Mathlib.Logic.Embedding.Basic -import Mathlib.Logic.Embedding.Set -import Mathlib.Logic.Encodable.Basic -import Mathlib.Logic.Encodable.Lattice -import Mathlib.Logic.Encodable.Pi -import Mathlib.Logic.Equiv.Array -import Mathlib.Logic.Equiv.Basic -import Mathlib.Logic.Equiv.Defs -import Mathlib.Logic.Equiv.Embedding -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Logic.Equiv.Fin.Rotate -import Mathlib.Logic.Equiv.Finset -import Mathlib.Logic.Equiv.Fintype -import Mathlib.Logic.Equiv.Functor -import Mathlib.Logic.Equiv.List -import Mathlib.Logic.Equiv.Multiset -import Mathlib.Logic.Equiv.Nat -import Mathlib.Logic.Equiv.Option -import Mathlib.Logic.Equiv.Pairwise -import Mathlib.Logic.Equiv.PartialEquiv -import Mathlib.Logic.Equiv.Prod -import Mathlib.Logic.Equiv.Set -import Mathlib.Logic.Equiv.Sum -import Mathlib.Logic.ExistsUnique -import Mathlib.Logic.Function.Basic -import Mathlib.Logic.Function.Coequalizer -import Mathlib.Logic.Function.CompTypeclasses -import Mathlib.Logic.Function.Conjugate -import Mathlib.Logic.Function.Defs -import Mathlib.Logic.Function.DependsOn -import Mathlib.Logic.Function.FiberPartition -import Mathlib.Logic.Function.FromTypes -import Mathlib.Logic.Function.Iterate -import Mathlib.Logic.Function.OfArity -import Mathlib.Logic.Function.ULift -import Mathlib.Logic.Godel.GodelBetaFunction -import Mathlib.Logic.Hydra -import Mathlib.Logic.IsEmpty -import Mathlib.Logic.Lemmas -import Mathlib.Logic.Nonempty -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Logic.OpClass -import Mathlib.Logic.Pairwise -import Mathlib.Logic.Relation -import Mathlib.Logic.Relator -import Mathlib.Logic.Small.Basic -import Mathlib.Logic.Small.Defs -import Mathlib.Logic.Small.List -import Mathlib.Logic.Small.Set -import Mathlib.Logic.Unique -import Mathlib.Logic.UnivLE -import Mathlib.MeasureTheory.Category.MeasCat -import Mathlib.MeasureTheory.Constructions.AddChar -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex -import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order -import Mathlib.MeasureTheory.Constructions.BorelSpace.Real -import Mathlib.MeasureTheory.Constructions.BorelSpace.WithTop -import Mathlib.MeasureTheory.Constructions.ClosedCompactCylinders -import Mathlib.MeasureTheory.Constructions.Cylinders -import Mathlib.MeasureTheory.Constructions.HaarToSphere -import Mathlib.MeasureTheory.Constructions.Pi -import Mathlib.MeasureTheory.Constructions.Polish.Basic -import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal -import Mathlib.MeasureTheory.Constructions.Polish.StronglyMeasurable -import Mathlib.MeasureTheory.Constructions.Projective -import Mathlib.MeasureTheory.Constructions.ProjectiveFamilyContent -import Mathlib.MeasureTheory.Constructions.SubmoduleQuotient -import Mathlib.MeasureTheory.Constructions.UnitInterval -import Mathlib.MeasureTheory.Covering.Besicovitch -import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace -import Mathlib.MeasureTheory.Covering.DensityTheorem -import Mathlib.MeasureTheory.Covering.Differentiation -import Mathlib.MeasureTheory.Covering.LiminfLimsup -import Mathlib.MeasureTheory.Covering.OneDim -import Mathlib.MeasureTheory.Covering.Vitali -import Mathlib.MeasureTheory.Covering.VitaliFamily -import Mathlib.MeasureTheory.Function.AEEqFun -import Mathlib.MeasureTheory.Function.AEEqFun.DomAct -import Mathlib.MeasureTheory.Function.AEEqOfIntegral -import Mathlib.MeasureTheory.Function.AEEqOfLIntegral -import Mathlib.MeasureTheory.Function.AEMeasurableOrder -import Mathlib.MeasureTheory.Function.AEMeasurableSequence -import Mathlib.MeasureTheory.Function.AbsolutelyContinuous -import Mathlib.MeasureTheory.Function.ConditionalExpectation.AEMeasurable -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic -import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1 -import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2 -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Indicator -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique -import Mathlib.MeasureTheory.Function.ContinuousMapDense -import Mathlib.MeasureTheory.Function.ConvergenceInMeasure -import Mathlib.MeasureTheory.Function.Egorov -import Mathlib.MeasureTheory.Function.EssSup -import Mathlib.MeasureTheory.Function.FactorsThrough -import Mathlib.MeasureTheory.Function.Floor -import Mathlib.MeasureTheory.Function.Holder -import Mathlib.MeasureTheory.Function.Intersectivity -import Mathlib.MeasureTheory.Function.Jacobian -import Mathlib.MeasureTheory.Function.JacobianOneDim -import Mathlib.MeasureTheory.Function.L1Space.AEEqFun -import Mathlib.MeasureTheory.Function.L1Space.HasFiniteIntegral -import Mathlib.MeasureTheory.Function.L1Space.Integrable -import Mathlib.MeasureTheory.Function.L2Space -import Mathlib.MeasureTheory.Function.LocallyIntegrable -import Mathlib.MeasureTheory.Function.LpOrder -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic -import Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov -import Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp -import Mathlib.MeasureTheory.Function.LpSeminorm.Defs -import Mathlib.MeasureTheory.Function.LpSeminorm.Prod -import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality -import Mathlib.MeasureTheory.Function.LpSeminorm.Trim -import Mathlib.MeasureTheory.Function.LpSpace.Basic -import Mathlib.MeasureTheory.Function.LpSpace.Complete -import Mathlib.MeasureTheory.Function.LpSpace.ContinuousCompMeasurePreserving -import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions -import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic -import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Continuous -import Mathlib.MeasureTheory.Function.LpSpace.Indicator -import Mathlib.MeasureTheory.Function.SimpleFunc -import Mathlib.MeasureTheory.Function.SimpleFuncDense -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp -import Mathlib.MeasureTheory.Function.SpecialFunctions.Arctan -import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic -import Mathlib.MeasureTheory.Function.SpecialFunctions.Inner -import Mathlib.MeasureTheory.Function.SpecialFunctions.RCLike -import Mathlib.MeasureTheory.Function.SpecialFunctions.Sinc -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.ENNReal -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Inner -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp -import Mathlib.MeasureTheory.Function.UnifTight -import Mathlib.MeasureTheory.Function.UniformIntegrable -import Mathlib.MeasureTheory.Group.AEStabilizer -import Mathlib.MeasureTheory.Group.Action -import Mathlib.MeasureTheory.Group.AddCircle -import Mathlib.MeasureTheory.Group.Arithmetic -import Mathlib.MeasureTheory.Group.Convolution -import Mathlib.MeasureTheory.Group.Defs -import Mathlib.MeasureTheory.Group.FundamentalDomain -import Mathlib.MeasureTheory.Group.GeometryOfNumbers -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Group.IntegralConvolution -import Mathlib.MeasureTheory.Group.LIntegral -import Mathlib.MeasureTheory.Group.MeasurableEquiv -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.MeasureTheory.Group.ModularCharacter -import Mathlib.MeasureTheory.Group.Pointwise -import Mathlib.MeasureTheory.Group.Prod -import Mathlib.MeasureTheory.Integral.Asymptotics -import Mathlib.MeasureTheory.Integral.Average -import Mathlib.MeasureTheory.Integral.Bochner -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus -import Mathlib.MeasureTheory.Integral.Bochner.L1 -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory -import Mathlib.MeasureTheory.Integral.BochnerL1 -import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction -import Mathlib.MeasureTheory.Integral.CircleAverage -import Mathlib.MeasureTheory.Integral.CircleIntegral -import Mathlib.MeasureTheory.Integral.CircleTransform -import Mathlib.MeasureTheory.Integral.CurveIntegral.Basic -import Mathlib.MeasureTheory.Integral.DivergenceTheorem -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Integral.ExpDecay -import Mathlib.MeasureTheory.Integral.FinMeasAdditive -import Mathlib.MeasureTheory.Integral.FundThmCalculus -import Mathlib.MeasureTheory.Integral.Gamma -import Mathlib.MeasureTheory.Integral.Indicator -import Mathlib.MeasureTheory.Integral.IntegrableOn -import Mathlib.MeasureTheory.Integral.IntegralEqImproper -import Mathlib.MeasureTheory.Integral.IntegrationByParts -import Mathlib.MeasureTheory.Integral.IntervalAverage -import Mathlib.MeasureTheory.Integral.IntervalIntegral -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.MeasureTheory.Integral.IntervalIntegral.ContDiff -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts -import Mathlib.MeasureTheory.Integral.IntervalIntegral.LebesgueDifferentiationThm -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic -import Mathlib.MeasureTheory.Integral.Layercake -import Mathlib.MeasureTheory.Integral.Lebesgue -import Mathlib.MeasureTheory.Integral.Lebesgue.Add -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic -import Mathlib.MeasureTheory.Integral.Lebesgue.Countable -import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence -import Mathlib.MeasureTheory.Integral.Lebesgue.Map -import Mathlib.MeasureTheory.Integral.Lebesgue.Markov -import Mathlib.MeasureTheory.Integral.Lebesgue.MeasurePreserving -import Mathlib.MeasureTheory.Integral.Lebesgue.Norm -import Mathlib.MeasureTheory.Integral.Lebesgue.Sub -import Mathlib.MeasureTheory.Integral.LebesgueNormedSpace -import Mathlib.MeasureTheory.Integral.Marginal -import Mathlib.MeasureTheory.Integral.MeanInequalities -import Mathlib.MeasureTheory.Integral.PeakFunction -import Mathlib.MeasureTheory.Integral.Periodic -import Mathlib.MeasureTheory.Integral.Pi -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Basic -import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.NNReal -import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Real -import Mathlib.MeasureTheory.Integral.SetIntegral -import Mathlib.MeasureTheory.Integral.SetToL1 -import Mathlib.MeasureTheory.Integral.TorusIntegral -import Mathlib.MeasureTheory.Integral.VitaliCaratheodory -import Mathlib.MeasureTheory.MeasurableSpace.Basic -import Mathlib.MeasureTheory.MeasurableSpace.Card -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated -import Mathlib.MeasureTheory.MeasurableSpace.Defs -import Mathlib.MeasureTheory.MeasurableSpace.Embedding -import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable -import Mathlib.MeasureTheory.MeasurableSpace.Instances -import Mathlib.MeasureTheory.MeasurableSpace.Invariants -import Mathlib.MeasureTheory.MeasurableSpace.MeasurablyGenerated -import Mathlib.MeasureTheory.MeasurableSpace.NCard -import Mathlib.MeasureTheory.MeasurableSpace.Pi -import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict -import Mathlib.MeasureTheory.MeasurableSpace.Prod -import Mathlib.MeasureTheory.Measure.AEDisjoint -import Mathlib.MeasureTheory.Measure.AEMeasurable -import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous -import Mathlib.MeasureTheory.Measure.AddContent -import Mathlib.MeasureTheory.Measure.CharacteristicFunction -import Mathlib.MeasureTheory.Measure.Comap -import Mathlib.MeasureTheory.Measure.Complex -import Mathlib.MeasureTheory.Measure.Content -import Mathlib.MeasureTheory.Measure.ContinuousPreimage -import Mathlib.MeasureTheory.Measure.Count -import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion -import Mathlib.MeasureTheory.Measure.Decomposition.Hahn -import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -import Mathlib.MeasureTheory.Measure.Dirac -import Mathlib.MeasureTheory.Measure.DiracProba -import Mathlib.MeasureTheory.Measure.Doubling -import Mathlib.MeasureTheory.Measure.EverywherePos -import Mathlib.MeasureTheory.Measure.FiniteMeasure -import Mathlib.MeasureTheory.Measure.FiniteMeasureExt -import Mathlib.MeasureTheory.Measure.FiniteMeasurePi -import Mathlib.MeasureTheory.Measure.FiniteMeasureProd -import Mathlib.MeasureTheory.Measure.GiryMonad -import Mathlib.MeasureTheory.Measure.Haar.Basic -import Mathlib.MeasureTheory.Measure.Haar.Disintegration -import Mathlib.MeasureTheory.Measure.Haar.DistribChar -import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace -import Mathlib.MeasureTheory.Measure.Haar.MulEquivHaarChar -import Mathlib.MeasureTheory.Measure.Haar.NormedSpace -import Mathlib.MeasureTheory.Measure.Haar.OfBasis -import Mathlib.MeasureTheory.Measure.Haar.Quotient -import Mathlib.MeasureTheory.Measure.Haar.Unique -import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed -import Mathlib.MeasureTheory.Measure.Hausdorff -import Mathlib.MeasureTheory.Measure.IntegralCharFun -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.MeasureTheory.Measure.Lebesgue.Complex -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.MeasureTheory.Measure.Lebesgue.Integral -import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls -import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric -import Mathlib.MeasureTheory.Measure.LogLikelihoodRatio -import Mathlib.MeasureTheory.Measure.Map -import Mathlib.MeasureTheory.Measure.MeasureSpace -import Mathlib.MeasureTheory.Measure.MeasureSpaceDef -import Mathlib.MeasureTheory.Measure.MutuallySingular -import Mathlib.MeasureTheory.Measure.NullMeasurable -import Mathlib.MeasureTheory.Measure.OpenPos -import Mathlib.MeasureTheory.Measure.Portmanteau -import Mathlib.MeasureTheory.Measure.ProbabilityMeasure -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving -import Mathlib.MeasureTheory.Measure.Real -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.MeasureTheory.Measure.RegularityCompacts -import Mathlib.MeasureTheory.Measure.Restrict -import Mathlib.MeasureTheory.Measure.SeparableMeasure -import Mathlib.MeasureTheory.Measure.Stieltjes -import Mathlib.MeasureTheory.Measure.Sub -import Mathlib.MeasureTheory.Measure.Support -import Mathlib.MeasureTheory.Measure.Tight -import Mathlib.MeasureTheory.Measure.TightNormed -import Mathlib.MeasureTheory.Measure.Tilted -import Mathlib.MeasureTheory.Measure.Trim -import Mathlib.MeasureTheory.Measure.Typeclasses -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite -import Mathlib.MeasureTheory.Measure.WithDensity -import Mathlib.MeasureTheory.Measure.WithDensityFinite -import Mathlib.MeasureTheory.Order.Group.Lattice -import Mathlib.MeasureTheory.Order.Lattice -import Mathlib.MeasureTheory.Order.UpperLower -import Mathlib.MeasureTheory.OuterMeasure.AE -import Mathlib.MeasureTheory.OuterMeasure.Basic -import Mathlib.MeasureTheory.OuterMeasure.BorelCantelli -import Mathlib.MeasureTheory.OuterMeasure.Caratheodory -import Mathlib.MeasureTheory.OuterMeasure.Defs -import Mathlib.MeasureTheory.OuterMeasure.Induced -import Mathlib.MeasureTheory.OuterMeasure.OfAddContent -import Mathlib.MeasureTheory.OuterMeasure.OfFunction -import Mathlib.MeasureTheory.OuterMeasure.Operations -import Mathlib.MeasureTheory.PiSystem -import Mathlib.MeasureTheory.SetAlgebra -import Mathlib.MeasureTheory.SetSemiring -import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMap -import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMapZero -import Mathlib.MeasureTheory.SpecificCodomains.Pi -import Mathlib.MeasureTheory.SpecificCodomains.WithLp -import Mathlib.MeasureTheory.Topology -import Mathlib.MeasureTheory.VectorMeasure.Basic -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Hahn -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.JordanSub -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Lebesgue -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.RadonNikodym -import Mathlib.MeasureTheory.VectorMeasure.WithDensity -import Mathlib.ModelTheory.Algebra.Field.Basic -import Mathlib.ModelTheory.Algebra.Field.CharP -import Mathlib.ModelTheory.Algebra.Field.IsAlgClosed -import Mathlib.ModelTheory.Algebra.Ring.Basic -import Mathlib.ModelTheory.Algebra.Ring.Definability -import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing -import Mathlib.ModelTheory.Arithmetic.Presburger.Basic -import Mathlib.ModelTheory.Arithmetic.Presburger.Semilinear.Defs -import Mathlib.ModelTheory.Basic -import Mathlib.ModelTheory.Bundled -import Mathlib.ModelTheory.Complexity -import Mathlib.ModelTheory.Definability -import Mathlib.ModelTheory.DirectLimit -import Mathlib.ModelTheory.ElementaryMaps -import Mathlib.ModelTheory.ElementarySubstructures -import Mathlib.ModelTheory.Encoding -import Mathlib.ModelTheory.Equivalence -import Mathlib.ModelTheory.FinitelyGenerated -import Mathlib.ModelTheory.Fraisse -import Mathlib.ModelTheory.Graph -import Mathlib.ModelTheory.LanguageMap -import Mathlib.ModelTheory.Order -import Mathlib.ModelTheory.PartialEquiv -import Mathlib.ModelTheory.Quotients -import Mathlib.ModelTheory.Satisfiability -import Mathlib.ModelTheory.Semantics -import Mathlib.ModelTheory.Skolem -import Mathlib.ModelTheory.Substructures -import Mathlib.ModelTheory.Syntax -import Mathlib.ModelTheory.Types -import Mathlib.ModelTheory.Ultraproducts -import Mathlib.NumberTheory.ADEInequality -import Mathlib.NumberTheory.AbelSummation -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.NumberTheory.Basic -import Mathlib.NumberTheory.Bernoulli -import Mathlib.NumberTheory.BernoulliPolynomials -import Mathlib.NumberTheory.Bertrand -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbs -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue -import Mathlib.NumberTheory.ClassNumber.AdmissibleCardPowDegree -import Mathlib.NumberTheory.ClassNumber.Finite -import Mathlib.NumberTheory.ClassNumber.FunctionField -import Mathlib.NumberTheory.Cyclotomic.Basic -import Mathlib.NumberTheory.Cyclotomic.CyclotomicCharacter -import Mathlib.NumberTheory.Cyclotomic.Discriminant -import Mathlib.NumberTheory.Cyclotomic.Embeddings -import Mathlib.NumberTheory.Cyclotomic.Gal -import Mathlib.NumberTheory.Cyclotomic.PID -import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots -import Mathlib.NumberTheory.Cyclotomic.Rat -import Mathlib.NumberTheory.Cyclotomic.Three -import Mathlib.NumberTheory.Dioph -import Mathlib.NumberTheory.DiophantineApproximation.Basic -import Mathlib.NumberTheory.DiophantineApproximation.ContinuedFractions -import Mathlib.NumberTheory.DirichletCharacter.Basic -import Mathlib.NumberTheory.DirichletCharacter.Bounds -import Mathlib.NumberTheory.DirichletCharacter.GaussSum -import Mathlib.NumberTheory.DirichletCharacter.Orthogonality -import Mathlib.NumberTheory.Divisors -import Mathlib.NumberTheory.EllipticDivisibilitySequence -import Mathlib.NumberTheory.EulerProduct.Basic -import Mathlib.NumberTheory.EulerProduct.DirichletLSeries -import Mathlib.NumberTheory.EulerProduct.ExpLog -import Mathlib.NumberTheory.FLT.Basic -import Mathlib.NumberTheory.FLT.Four -import Mathlib.NumberTheory.FLT.MasonStothers -import Mathlib.NumberTheory.FLT.Polynomial -import Mathlib.NumberTheory.FLT.Three -import Mathlib.NumberTheory.FactorisationProperties -import Mathlib.NumberTheory.Fermat -import Mathlib.NumberTheory.FermatPsp -import Mathlib.NumberTheory.FrobeniusNumber -import Mathlib.NumberTheory.FunctionField -import Mathlib.NumberTheory.GaussSum -import Mathlib.NumberTheory.Harmonic.Bounds -import Mathlib.NumberTheory.Harmonic.Defs -import Mathlib.NumberTheory.Harmonic.EulerMascheroni -import Mathlib.NumberTheory.Harmonic.GammaDeriv -import Mathlib.NumberTheory.Harmonic.Int -import Mathlib.NumberTheory.Harmonic.ZetaAsymp -import Mathlib.NumberTheory.JacobiSum.Basic -import Mathlib.NumberTheory.KummerDedekind -import Mathlib.NumberTheory.LSeries.AbstractFuncEq -import Mathlib.NumberTheory.LSeries.Basic -import Mathlib.NumberTheory.LSeries.Convergence -import Mathlib.NumberTheory.LSeries.Convolution -import Mathlib.NumberTheory.LSeries.Deriv -import Mathlib.NumberTheory.LSeries.Dirichlet -import Mathlib.NumberTheory.LSeries.DirichletContinuation -import Mathlib.NumberTheory.LSeries.HurwitzZeta -import Mathlib.NumberTheory.LSeries.HurwitzZetaEven -import Mathlib.NumberTheory.LSeries.HurwitzZetaOdd -import Mathlib.NumberTheory.LSeries.HurwitzZetaValues -import Mathlib.NumberTheory.LSeries.Injectivity -import Mathlib.NumberTheory.LSeries.Linearity -import Mathlib.NumberTheory.LSeries.MellinEqDirichlet -import Mathlib.NumberTheory.LSeries.Nonvanishing -import Mathlib.NumberTheory.LSeries.Positivity -import Mathlib.NumberTheory.LSeries.PrimesInAP -import Mathlib.NumberTheory.LSeries.RiemannZeta -import Mathlib.NumberTheory.LSeries.SumCoeff -import Mathlib.NumberTheory.LSeries.ZMod -import Mathlib.NumberTheory.LegendreSymbol.AddCharacter -import Mathlib.NumberTheory.LegendreSymbol.Basic -import Mathlib.NumberTheory.LegendreSymbol.GaussEisensteinLemmas -import Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol -import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic -import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum -import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity -import Mathlib.NumberTheory.LegendreSymbol.ZModChar -import Mathlib.NumberTheory.LocalField.Basic -import Mathlib.NumberTheory.LucasLehmer -import Mathlib.NumberTheory.LucasPrimality -import Mathlib.NumberTheory.MaricaSchoenheim -import Mathlib.NumberTheory.Modular -import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups -import Mathlib.NumberTheory.ModularForms.Basic -import Mathlib.NumberTheory.ModularForms.BoundedAtCusp -import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups -import Mathlib.NumberTheory.ModularForms.Cusps -import Mathlib.NumberTheory.ModularForms.DedekindEta -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.QExpansion -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence -import Mathlib.NumberTheory.ModularForms.Identities -import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds -import Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold -import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable -import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable -import Mathlib.NumberTheory.ModularForms.LevelOne -import Mathlib.NumberTheory.ModularForms.Petersson -import Mathlib.NumberTheory.ModularForms.QExpansion -import Mathlib.NumberTheory.ModularForms.SlashActions -import Mathlib.NumberTheory.ModularForms.SlashInvariantForms -import Mathlib.NumberTheory.MulChar.Basic -import Mathlib.NumberTheory.MulChar.Duality -import Mathlib.NumberTheory.MulChar.Lemmas -import Mathlib.NumberTheory.Multiplicity -import Mathlib.NumberTheory.Niven -import Mathlib.NumberTheory.NumberField.AdeleRing -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.NumberTheory.NumberField.CMField -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.NormLeOne -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.PolarCoord -import Mathlib.NumberTheory.NumberField.ClassNumber -import Mathlib.NumberTheory.NumberField.Completion -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic -import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings -import Mathlib.NumberTheory.NumberField.Cyclotomic.Ideal -import Mathlib.NumberTheory.NumberField.Cyclotomic.PID -import Mathlib.NumberTheory.NumberField.Cyclotomic.Three -import Mathlib.NumberTheory.NumberField.DedekindZeta -import Mathlib.NumberTheory.NumberField.Discriminant.Basic -import Mathlib.NumberTheory.NumberField.Discriminant.Defs -import Mathlib.NumberTheory.NumberField.Discriminant.Different -import Mathlib.NumberTheory.NumberField.Embeddings -import Mathlib.NumberTheory.NumberField.EquivReindex -import Mathlib.NumberTheory.NumberField.FinitePlaces -import Mathlib.NumberTheory.NumberField.FractionalIdeal -import Mathlib.NumberTheory.NumberField.House -import Mathlib.NumberTheory.NumberField.Ideal -import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics -import Mathlib.NumberTheory.NumberField.Ideal.Basic -import Mathlib.NumberTheory.NumberField.Ideal.KummerDedekind -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic -import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion -import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings -import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification -import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex -import Mathlib.NumberTheory.NumberField.Norm -import Mathlib.NumberTheory.NumberField.ProductFormula -import Mathlib.NumberTheory.NumberField.Units.Basic -import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem -import Mathlib.NumberTheory.NumberField.Units.Regulator -import Mathlib.NumberTheory.Ostrowski -import Mathlib.NumberTheory.Padics.AddChar -import Mathlib.NumberTheory.Padics.Complex -import Mathlib.NumberTheory.Padics.Hensel -import Mathlib.NumberTheory.Padics.MahlerBasis -import Mathlib.NumberTheory.Padics.PadicIntegers -import Mathlib.NumberTheory.Padics.PadicNorm -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.NumberTheory.Padics.PadicVal.Basic -import Mathlib.NumberTheory.Padics.PadicVal.Defs -import Mathlib.NumberTheory.Padics.ProperSpace -import Mathlib.NumberTheory.Padics.RingHoms -import Mathlib.NumberTheory.Padics.ValuativeRel -import Mathlib.NumberTheory.Padics.WithVal -import Mathlib.NumberTheory.Pell -import Mathlib.NumberTheory.PellMatiyasevic -import Mathlib.NumberTheory.PowModTotient -import Mathlib.NumberTheory.PrimeCounting -import Mathlib.NumberTheory.PrimesCongruentOne -import Mathlib.NumberTheory.Primorial -import Mathlib.NumberTheory.PythagoreanTriples -import Mathlib.NumberTheory.RamificationInertia.Basic -import Mathlib.NumberTheory.RamificationInertia.Galois -import Mathlib.NumberTheory.RamificationInertia.Unramified -import Mathlib.NumberTheory.Rayleigh -import Mathlib.NumberTheory.Real.GoldenRatio -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.NumberTheory.SelbergSieve -import Mathlib.NumberTheory.SiegelsLemma -import Mathlib.NumberTheory.SmoothNumbers -import Mathlib.NumberTheory.SumFourSquares -import Mathlib.NumberTheory.SumPrimeReciprocals -import Mathlib.NumberTheory.SumTwoSquares -import Mathlib.NumberTheory.Transcendental.Lindemann.AnalyticalPart -import Mathlib.NumberTheory.Transcendental.Liouville.Basic -import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleNumber -import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith -import Mathlib.NumberTheory.Transcendental.Liouville.Measure -import Mathlib.NumberTheory.Transcendental.Liouville.Residual -import Mathlib.NumberTheory.TsumDivsorsAntidiagonal -import Mathlib.NumberTheory.VonMangoldt -import Mathlib.NumberTheory.WellApproximable -import Mathlib.NumberTheory.Wilson -import Mathlib.NumberTheory.ZetaValues -import Mathlib.NumberTheory.Zsqrtd.Basic -import Mathlib.NumberTheory.Zsqrtd.GaussianInt -import Mathlib.NumberTheory.Zsqrtd.QuadraticReciprocity -import Mathlib.NumberTheory.Zsqrtd.ToReal -import Mathlib.Order.Antichain -import Mathlib.Order.Antisymmetrization -import Mathlib.Order.Atoms -import Mathlib.Order.Atoms.Finite -import Mathlib.Order.Basic -import Mathlib.Order.Birkhoff -import Mathlib.Order.BooleanAlgebra -import Mathlib.Order.BooleanAlgebra.Basic -import Mathlib.Order.BooleanAlgebra.Defs -import Mathlib.Order.BooleanAlgebra.Set -import Mathlib.Order.BooleanGenerators -import Mathlib.Order.BooleanSubalgebra -import Mathlib.Order.Booleanisation -import Mathlib.Order.Bounded -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.BoundedOrder.Lattice -import Mathlib.Order.BoundedOrder.Monotone -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.Bounds.Defs -import Mathlib.Order.Bounds.Image -import Mathlib.Order.Bounds.Lattice -import Mathlib.Order.Bounds.OrderIso -import Mathlib.Order.Category.BddDistLat -import Mathlib.Order.Category.BddLat -import Mathlib.Order.Category.BddOrd -import Mathlib.Order.Category.BoolAlg -import Mathlib.Order.Category.CompleteLat -import Mathlib.Order.Category.DistLat -import Mathlib.Order.Category.FinBddDistLat -import Mathlib.Order.Category.FinBoolAlg -import Mathlib.Order.Category.FinPartOrd -import Mathlib.Order.Category.Frm -import Mathlib.Order.Category.HeytAlg -import Mathlib.Order.Category.Lat -import Mathlib.Order.Category.LinOrd -import Mathlib.Order.Category.NonemptyFinLinOrd -import Mathlib.Order.Category.OmegaCompletePartialOrder -import Mathlib.Order.Category.PartOrd -import Mathlib.Order.Category.Preord -import Mathlib.Order.Category.Semilat -import Mathlib.Order.Chain -import Mathlib.Order.Circular -import Mathlib.Order.Circular.ZMod -import Mathlib.Order.Closure -import Mathlib.Order.Cofinal -import Mathlib.Order.CompactlyGenerated.Basic -import Mathlib.Order.CompactlyGenerated.Intervals -import Mathlib.Order.Comparable -import Mathlib.Order.Compare -import Mathlib.Order.CompleteBooleanAlgebra -import Mathlib.Order.CompleteLattice.Basic -import Mathlib.Order.CompleteLattice.Chain -import Mathlib.Order.CompleteLattice.Defs -import Mathlib.Order.CompleteLattice.Finset -import Mathlib.Order.CompleteLattice.Group -import Mathlib.Order.CompleteLattice.Lemmas -import Mathlib.Order.CompleteLattice.MulticoequalizerDiagram -import Mathlib.Order.CompleteLattice.SetLike -import Mathlib.Order.CompleteLatticeIntervals -import Mathlib.Order.CompletePartialOrder -import Mathlib.Order.CompleteSublattice -import Mathlib.Order.Concept -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.ConditionallyCompleteLattice.Defs -import Mathlib.Order.ConditionallyCompleteLattice.Finset -import Mathlib.Order.ConditionallyCompleteLattice.Group -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.Copy -import Mathlib.Order.CountableDenseLinearOrder -import Mathlib.Order.Cover -import Mathlib.Order.Defs.LinearOrder -import Mathlib.Order.Defs.PartialOrder -import Mathlib.Order.Defs.Unbundled -import Mathlib.Order.Directed -import Mathlib.Order.DirectedInverseSystem -import Mathlib.Order.Disjoint -import Mathlib.Order.Disjointed -import Mathlib.Order.Extension.Linear -import Mathlib.Order.Extension.Well -import Mathlib.Order.Filter.AtTopBot.Archimedean -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.AtTopBot.BigOperators -import Mathlib.Order.Filter.AtTopBot.CompleteLattice -import Mathlib.Order.Filter.AtTopBot.CountablyGenerated -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.Order.Filter.AtTopBot.Disjoint -import Mathlib.Order.Filter.AtTopBot.Field -import Mathlib.Order.Filter.AtTopBot.Finite -import Mathlib.Order.Filter.AtTopBot.Finset -import Mathlib.Order.Filter.AtTopBot.Floor -import Mathlib.Order.Filter.AtTopBot.Group -import Mathlib.Order.Filter.AtTopBot.Map -import Mathlib.Order.Filter.AtTopBot.ModEq -import Mathlib.Order.Filter.AtTopBot.Monoid -import Mathlib.Order.Filter.AtTopBot.Prod -import Mathlib.Order.Filter.AtTopBot.Ring -import Mathlib.Order.Filter.AtTopBot.Tendsto -import Mathlib.Order.Filter.Bases.Basic -import Mathlib.Order.Filter.Bases.Finite -import Mathlib.Order.Filter.Basic -import Mathlib.Order.Filter.CardinalInter -import Mathlib.Order.Filter.Cocardinal -import Mathlib.Order.Filter.Cofinite -import Mathlib.Order.Filter.CountableInter -import Mathlib.Order.Filter.CountableSeparatingOn -import Mathlib.Order.Filter.CountablyGenerated -import Mathlib.Order.Filter.Curry -import Mathlib.Order.Filter.Defs -import Mathlib.Order.Filter.ENNReal -import Mathlib.Order.Filter.EventuallyConst -import Mathlib.Order.Filter.Extr -import Mathlib.Order.Filter.FilterProduct -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.Germ.Basic -import Mathlib.Order.Filter.Germ.OrderedMonoid -import Mathlib.Order.Filter.IndicatorFunction -import Mathlib.Order.Filter.Interval -import Mathlib.Order.Filter.IsBounded -import Mathlib.Order.Filter.Ker -import Mathlib.Order.Filter.Lift -import Mathlib.Order.Filter.ListTraverse -import Mathlib.Order.Filter.Map -import Mathlib.Order.Filter.NAry -import Mathlib.Order.Filter.Partial -import Mathlib.Order.Filter.Pi -import Mathlib.Order.Filter.Pointwise -import Mathlib.Order.Filter.Prod -import Mathlib.Order.Filter.Ring -import Mathlib.Order.Filter.SmallSets -import Mathlib.Order.Filter.Subsingleton -import Mathlib.Order.Filter.Tendsto -import Mathlib.Order.Filter.Ultrafilter.Basic -import Mathlib.Order.Filter.Ultrafilter.Defs -import Mathlib.Order.Filter.ZeroAndBoundedAtFilter -import Mathlib.Order.Fin.Basic -import Mathlib.Order.Fin.Finset -import Mathlib.Order.Fin.SuccAboveOrderIso -import Mathlib.Order.Fin.Tuple -import Mathlib.Order.FixedPoints -import Mathlib.Order.GaloisConnection.Basic -import Mathlib.Order.GaloisConnection.Defs -import Mathlib.Order.GameAdd -import Mathlib.Order.Grade -import Mathlib.Order.Height -import Mathlib.Order.Heyting.Basic -import Mathlib.Order.Heyting.Boundary -import Mathlib.Order.Heyting.Hom -import Mathlib.Order.Heyting.Regular -import Mathlib.Order.Hom.Basic -import Mathlib.Order.Hom.Bounded -import Mathlib.Order.Hom.BoundedLattice -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.Order.Hom.Lattice -import Mathlib.Order.Hom.Lex -import Mathlib.Order.Hom.Order -import Mathlib.Order.Hom.Set -import Mathlib.Order.Hom.WithTopBot -import Mathlib.Order.Ideal -import Mathlib.Order.InitialSeg -import Mathlib.Order.Interval.Basic -import Mathlib.Order.Interval.Finset.Basic -import Mathlib.Order.Interval.Finset.Box -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.Interval.Finset.DenselyOrdered -import Mathlib.Order.Interval.Finset.Fin -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Order.Interval.Finset.SuccPred -import Mathlib.Order.Interval.Lex -import Mathlib.Order.Interval.Multiset -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Order.Interval.Set.Disjoint -import Mathlib.Order.Interval.Set.Fin -import Mathlib.Order.Interval.Set.Final -import Mathlib.Order.Interval.Set.Image -import Mathlib.Order.Interval.Set.Infinite -import Mathlib.Order.Interval.Set.InitialSeg -import Mathlib.Order.Interval.Set.IsoIoo -import Mathlib.Order.Interval.Set.Limit -import Mathlib.Order.Interval.Set.LinearOrder -import Mathlib.Order.Interval.Set.Monotone -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Order.Interval.Set.OrdConnectedComponent -import Mathlib.Order.Interval.Set.OrdConnectedLinear -import Mathlib.Order.Interval.Set.OrderEmbedding -import Mathlib.Order.Interval.Set.OrderIso -import Mathlib.Order.Interval.Set.Pi -import Mathlib.Order.Interval.Set.ProjIcc -import Mathlib.Order.Interval.Set.SuccOrder -import Mathlib.Order.Interval.Set.SuccPred -import Mathlib.Order.Interval.Set.SurjOn -import Mathlib.Order.Interval.Set.Union -import Mathlib.Order.Interval.Set.UnorderedInterval -import Mathlib.Order.Interval.Set.WithBotTop -import Mathlib.Order.Irreducible -import Mathlib.Order.IsNormal -import Mathlib.Order.Iterate -import Mathlib.Order.JordanHolder -import Mathlib.Order.KonigLemma -import Mathlib.Order.KrullDimension -import Mathlib.Order.Lattice -import Mathlib.Order.Lattice.Congruence -import Mathlib.Order.LatticeIntervals -import Mathlib.Order.LiminfLimsup -import Mathlib.Order.Max -import Mathlib.Order.MinMax -import Mathlib.Order.Minimal -import Mathlib.Order.ModularLattice -import Mathlib.Order.Monotone.Basic -import Mathlib.Order.Monotone.Defs -import Mathlib.Order.Monotone.Extension -import Mathlib.Order.Monotone.Monovary -import Mathlib.Order.Monotone.MonovaryOrder -import Mathlib.Order.Monotone.Odd -import Mathlib.Order.Monotone.Union -import Mathlib.Order.Nat -import Mathlib.Order.Notation -import Mathlib.Order.Nucleus -import Mathlib.Order.OmegaCompletePartialOrder -import Mathlib.Order.OrdContinuous -import Mathlib.Order.OrderIsoNat -import Mathlib.Order.PFilter -import Mathlib.Order.Part -import Mathlib.Order.PartialSups -import Mathlib.Order.Partition.Basic -import Mathlib.Order.Partition.Equipartition -import Mathlib.Order.Partition.Finpartition -import Mathlib.Order.PiLex -import Mathlib.Order.Preorder.Chain -import Mathlib.Order.Preorder.Finite -import Mathlib.Order.Preorder.Finsupp -import Mathlib.Order.PrimeIdeal -import Mathlib.Order.PrimeSeparator -import Mathlib.Order.Prod.Lex.Hom -import Mathlib.Order.PropInstances -import Mathlib.Order.Radical -import Mathlib.Order.Rel.GaloisConnection -import Mathlib.Order.RelClasses -import Mathlib.Order.RelIso.Basic -import Mathlib.Order.RelIso.Set -import Mathlib.Order.RelSeries -import Mathlib.Order.Restriction -import Mathlib.Order.ScottContinuity -import Mathlib.Order.ScottContinuity.Complete -import Mathlib.Order.ScottContinuity.Prod -import Mathlib.Order.SemiconjSup -import Mathlib.Order.Set -import Mathlib.Order.SetIsMax -import Mathlib.Order.SetNotation -import Mathlib.Order.Shrink -import Mathlib.Order.Sublattice -import Mathlib.Order.Sublocale -import Mathlib.Order.SuccPred.Archimedean -import Mathlib.Order.SuccPred.Basic -import Mathlib.Order.SuccPred.CompleteLinearOrder -import Mathlib.Order.SuccPred.InitialSeg -import Mathlib.Order.SuccPred.IntervalSucc -import Mathlib.Order.SuccPred.Limit -import Mathlib.Order.SuccPred.LinearLocallyFinite -import Mathlib.Order.SuccPred.Relation -import Mathlib.Order.SuccPred.Tree -import Mathlib.Order.SuccPred.WithBot -import Mathlib.Order.SupClosed -import Mathlib.Order.SupIndep -import Mathlib.Order.SymmDiff -import Mathlib.Order.Synonym -import Mathlib.Order.TeichmullerTukey -import Mathlib.Order.TransfiniteIteration -import Mathlib.Order.TypeTags -import Mathlib.Order.ULift -import Mathlib.Order.UpperLower.Basic -import Mathlib.Order.UpperLower.Closure -import Mathlib.Order.UpperLower.CompleteLattice -import Mathlib.Order.UpperLower.Fibration -import Mathlib.Order.UpperLower.Hom -import Mathlib.Order.UpperLower.LocallyFinite -import Mathlib.Order.UpperLower.Principal -import Mathlib.Order.UpperLower.Prod -import Mathlib.Order.UpperLower.Relative -import Mathlib.Order.WellFounded -import Mathlib.Order.WellFoundedSet -import Mathlib.Order.WellQuasiOrder -import Mathlib.Order.WithBot -import Mathlib.Order.Zorn -import Mathlib.Order.ZornAtoms -import Mathlib.Probability.BorelCantelli -import Mathlib.Probability.CDF -import Mathlib.Probability.CondVar -import Mathlib.Probability.ConditionalExpectation -import Mathlib.Probability.ConditionalProbability -import Mathlib.Probability.Decision.Risk.Defs -import Mathlib.Probability.Density -import Mathlib.Probability.Distributions.Beta -import Mathlib.Probability.Distributions.Exponential -import Mathlib.Probability.Distributions.Fernique -import Mathlib.Probability.Distributions.Gamma -import Mathlib.Probability.Distributions.Gaussian -import Mathlib.Probability.Distributions.Gaussian.Basic -import Mathlib.Probability.Distributions.Gaussian.Fernique -import Mathlib.Probability.Distributions.Gaussian.Real -import Mathlib.Probability.Distributions.Geometric -import Mathlib.Probability.Distributions.Pareto -import Mathlib.Probability.Distributions.Poisson -import Mathlib.Probability.Distributions.Uniform -import Mathlib.Probability.HasLaw -import Mathlib.Probability.HasLawExists -import Mathlib.Probability.IdentDistrib -import Mathlib.Probability.Independence.Basic -import Mathlib.Probability.Independence.CharacteristicFunction -import Mathlib.Probability.Independence.Conditional -import Mathlib.Probability.Independence.InfinitePi -import Mathlib.Probability.Independence.Integrable -import Mathlib.Probability.Independence.Integration -import Mathlib.Probability.Independence.Kernel -import Mathlib.Probability.Independence.ZeroOne -import Mathlib.Probability.Integration -import Mathlib.Probability.Kernel.Basic -import Mathlib.Probability.Kernel.CompProdEqIff -import Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous -import Mathlib.Probability.Kernel.Composition.Comp -import Mathlib.Probability.Kernel.Composition.CompMap -import Mathlib.Probability.Kernel.Composition.CompNotation -import Mathlib.Probability.Kernel.Composition.CompProd -import Mathlib.Probability.Kernel.Composition.IntegralCompProd -import Mathlib.Probability.Kernel.Composition.KernelLemmas -import Mathlib.Probability.Kernel.Composition.Lemmas -import Mathlib.Probability.Kernel.Composition.MapComap -import Mathlib.Probability.Kernel.Composition.MeasureComp -import Mathlib.Probability.Kernel.Composition.MeasureCompProd -import Mathlib.Probability.Kernel.Composition.ParallelComp -import Mathlib.Probability.Kernel.Composition.Prod -import Mathlib.Probability.Kernel.CondDistrib -import Mathlib.Probability.Kernel.Condexp -import Mathlib.Probability.Kernel.Defs -import Mathlib.Probability.Kernel.Disintegration.Basic -import Mathlib.Probability.Kernel.Disintegration.CDFToKernel -import Mathlib.Probability.Kernel.Disintegration.CondCDF -import Mathlib.Probability.Kernel.Disintegration.Density -import Mathlib.Probability.Kernel.Disintegration.Integral -import Mathlib.Probability.Kernel.Disintegration.MeasurableStieltjes -import Mathlib.Probability.Kernel.Disintegration.StandardBorel -import Mathlib.Probability.Kernel.Disintegration.Unique -import Mathlib.Probability.Kernel.Integral -import Mathlib.Probability.Kernel.Invariance -import Mathlib.Probability.Kernel.IonescuTulcea.Maps -import Mathlib.Probability.Kernel.IonescuTulcea.PartialTraj -import Mathlib.Probability.Kernel.IonescuTulcea.Traj -import Mathlib.Probability.Kernel.MeasurableIntegral -import Mathlib.Probability.Kernel.MeasurableLIntegral -import Mathlib.Probability.Kernel.Posterior -import Mathlib.Probability.Kernel.Proper -import Mathlib.Probability.Kernel.RadonNikodym -import Mathlib.Probability.Kernel.SetIntegral -import Mathlib.Probability.Kernel.WithDensity -import Mathlib.Probability.Martingale.Basic -import Mathlib.Probability.Martingale.BorelCantelli -import Mathlib.Probability.Martingale.Centering -import Mathlib.Probability.Martingale.Convergence -import Mathlib.Probability.Martingale.OptionalSampling -import Mathlib.Probability.Martingale.OptionalStopping -import Mathlib.Probability.Martingale.Upcrossing -import Mathlib.Probability.Moments.Basic -import Mathlib.Probability.Moments.ComplexMGF -import Mathlib.Probability.Moments.Covariance -import Mathlib.Probability.Moments.CovarianceBilin -import Mathlib.Probability.Moments.CovarianceBilinDual -import Mathlib.Probability.Moments.IntegrableExpMul -import Mathlib.Probability.Moments.MGFAnalytic -import Mathlib.Probability.Moments.SubGaussian -import Mathlib.Probability.Moments.Tilted -import Mathlib.Probability.Moments.Variance -import Mathlib.Probability.Notation -import Mathlib.Probability.ProbabilityMassFunction.Basic -import Mathlib.Probability.ProbabilityMassFunction.Binomial -import Mathlib.Probability.ProbabilityMassFunction.Constructions -import Mathlib.Probability.ProbabilityMassFunction.Integrals -import Mathlib.Probability.ProbabilityMassFunction.Monad -import Mathlib.Probability.Process.Adapted -import Mathlib.Probability.Process.Filtration -import Mathlib.Probability.Process.FiniteDimensionalLaws -import Mathlib.Probability.Process.HittingTime -import Mathlib.Probability.Process.Kolmogorov -import Mathlib.Probability.Process.PartitionFiltration -import Mathlib.Probability.Process.Stopping -import Mathlib.Probability.ProductMeasure -import Mathlib.Probability.StrongLaw -import Mathlib.Probability.UniformOn -import Mathlib.Probability.Variance -import Mathlib.RepresentationTheory.Basic -import Mathlib.RepresentationTheory.Character -import Mathlib.RepresentationTheory.Coinduced -import Mathlib.RepresentationTheory.Coinvariants -import Mathlib.RepresentationTheory.FDRep -import Mathlib.RepresentationTheory.FiniteIndex -import Mathlib.RepresentationTheory.GroupCohomology.Basic -import Mathlib.RepresentationTheory.GroupCohomology.Functoriality -import Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 -import Mathlib.RepresentationTheory.GroupCohomology.LowDegree -import Mathlib.RepresentationTheory.GroupCohomology.Resolution -import Mathlib.RepresentationTheory.Homological.FiniteCyclic -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Hilbert90 -import Mathlib.RepresentationTheory.Homological.GroupCohomology.LongExactSequence -import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Shapiro -import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic -import Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality -import Mathlib.RepresentationTheory.Homological.GroupHomology.LongExactSequence -import Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree -import Mathlib.RepresentationTheory.Homological.GroupHomology.Shapiro -import Mathlib.RepresentationTheory.Homological.Resolution -import Mathlib.RepresentationTheory.Induced -import Mathlib.RepresentationTheory.Invariants -import Mathlib.RepresentationTheory.Maschke -import Mathlib.RepresentationTheory.Rep -import Mathlib.RepresentationTheory.Submodule -import Mathlib.RepresentationTheory.Tannaka -import Mathlib.RingTheory.AdicCompletion.Algebra -import Mathlib.RingTheory.AdicCompletion.AsTensorProduct -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.AdicCompletion.Exactness -import Mathlib.RingTheory.AdicCompletion.Functoriality -import Mathlib.RingTheory.AdicCompletion.LocalRing -import Mathlib.RingTheory.AdicCompletion.Noetherian -import Mathlib.RingTheory.AdicCompletion.Topology -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.Adjoin.Dimension -import Mathlib.RingTheory.Adjoin.FG -import Mathlib.RingTheory.Adjoin.Field -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Adjoin.PowerBasis -import Mathlib.RingTheory.Adjoin.Tower -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.RingTheory.AlgebraTower -import Mathlib.RingTheory.Algebraic.Basic -import Mathlib.RingTheory.Algebraic.Cardinality -import Mathlib.RingTheory.Algebraic.Defs -import Mathlib.RingTheory.Algebraic.Integral -import Mathlib.RingTheory.Algebraic.LinearIndependent -import Mathlib.RingTheory.Algebraic.MvPolynomial -import Mathlib.RingTheory.Algebraic.Pi -import Mathlib.RingTheory.AlgebraicIndependent.Adjoin -import Mathlib.RingTheory.AlgebraicIndependent.AlgebraicClosure -import Mathlib.RingTheory.AlgebraicIndependent.Basic -import Mathlib.RingTheory.AlgebraicIndependent.Defs -import Mathlib.RingTheory.AlgebraicIndependent.RankAndCardinality -import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis -import Mathlib.RingTheory.AlgebraicIndependent.Transcendental -import Mathlib.RingTheory.Artinian.Algebra -import Mathlib.RingTheory.Artinian.Instances -import Mathlib.RingTheory.Artinian.Module -import Mathlib.RingTheory.Artinian.Ring -import Mathlib.RingTheory.Bezout -import Mathlib.RingTheory.Bialgebra.Basic -import Mathlib.RingTheory.Bialgebra.Equiv -import Mathlib.RingTheory.Bialgebra.Hom -import Mathlib.RingTheory.Bialgebra.MonoidAlgebra -import Mathlib.RingTheory.Bialgebra.TensorProduct -import Mathlib.RingTheory.Binomial -import Mathlib.RingTheory.ChainOfDivisors -import Mathlib.RingTheory.ClassGroup -import Mathlib.RingTheory.Coalgebra.Basic -import Mathlib.RingTheory.Coalgebra.Equiv -import Mathlib.RingTheory.Coalgebra.Hom -import Mathlib.RingTheory.Coalgebra.MonoidAlgebra -import Mathlib.RingTheory.Coalgebra.MulOpposite -import Mathlib.RingTheory.Coalgebra.TensorProduct -import Mathlib.RingTheory.Complex -import Mathlib.RingTheory.Conductor -import Mathlib.RingTheory.Congruence.Basic -import Mathlib.RingTheory.Congruence.BigOperators -import Mathlib.RingTheory.Congruence.Defs -import Mathlib.RingTheory.Congruence.Opposite -import Mathlib.RingTheory.Coprime.Basic -import Mathlib.RingTheory.Coprime.Ideal -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.CotangentLocalizationAway -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.RingTheory.DedekindDomain.Basic -import Mathlib.RingTheory.DedekindDomain.Different -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.RingTheory.DedekindDomain.Factorization -import Mathlib.RingTheory.DedekindDomain.FiniteAdeleRing -import Mathlib.RingTheory.DedekindDomain.Ideal.Basic -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas -import Mathlib.RingTheory.DedekindDomain.Instances -import Mathlib.RingTheory.DedekindDomain.IntegralClosure -import Mathlib.RingTheory.DedekindDomain.PID -import Mathlib.RingTheory.DedekindDomain.SInteger -import Mathlib.RingTheory.DedekindDomain.SelmerGroup -import Mathlib.RingTheory.Derivation.Basic -import Mathlib.RingTheory.Derivation.DifferentialRing -import Mathlib.RingTheory.Derivation.Lie -import Mathlib.RingTheory.Derivation.MapCoeffs -import Mathlib.RingTheory.Derivation.ToSquareZero -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.DiscreteValuationRing.TFAE -import Mathlib.RingTheory.Discriminant -import Mathlib.RingTheory.DividedPowers.Basic -import Mathlib.RingTheory.DividedPowers.DPMorphism -import Mathlib.RingTheory.DividedPowers.Padic -import Mathlib.RingTheory.DividedPowers.RatAlgebra -import Mathlib.RingTheory.DividedPowers.SubDPIdeal -import Mathlib.RingTheory.DualNumber -import Mathlib.RingTheory.EisensteinCriterion -import Mathlib.RingTheory.EssentialFiniteness -import Mathlib.RingTheory.Etale.Basic -import Mathlib.RingTheory.Etale.Field -import Mathlib.RingTheory.Etale.Kaehler -import Mathlib.RingTheory.Etale.Pi -import Mathlib.RingTheory.EuclideanDomain -import Mathlib.RingTheory.Extension -import Mathlib.RingTheory.Extension.Basic -import Mathlib.RingTheory.Extension.Cotangent.Basic -import Mathlib.RingTheory.Extension.Cotangent.LocalizationAway -import Mathlib.RingTheory.Extension.Generators -import Mathlib.RingTheory.Extension.Presentation.Basic -import Mathlib.RingTheory.Extension.Presentation.Core -import Mathlib.RingTheory.Extension.Presentation.Submersive -import Mathlib.RingTheory.FilteredAlgebra.Basic -import Mathlib.RingTheory.Filtration -import Mathlib.RingTheory.FiniteLength -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.FiniteStability -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Finiteness.Bilinear -import Mathlib.RingTheory.Finiteness.Cardinality -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.RingTheory.Finiteness.Finsupp -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Finiteness.Lattice -import Mathlib.RingTheory.Finiteness.Nakayama -import Mathlib.RingTheory.Finiteness.Nilpotent -import Mathlib.RingTheory.Finiteness.Prod -import Mathlib.RingTheory.Finiteness.Projective -import Mathlib.RingTheory.Finiteness.Quotient -import Mathlib.RingTheory.Finiteness.Small -import Mathlib.RingTheory.Finiteness.Subalgebra -import Mathlib.RingTheory.Fintype -import Mathlib.RingTheory.Flat.Basic -import Mathlib.RingTheory.Flat.CategoryTheory -import Mathlib.RingTheory.Flat.Domain -import Mathlib.RingTheory.Flat.Equalizer -import Mathlib.RingTheory.Flat.EquationalCriterion -import Mathlib.RingTheory.Flat.FaithfullyFlat.Algebra -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.Flat.Stability -import Mathlib.RingTheory.Flat.Tensor -import Mathlib.RingTheory.Flat.TorsionFree -import Mathlib.RingTheory.FractionalIdeal.Basic -import Mathlib.RingTheory.FractionalIdeal.Extended -import Mathlib.RingTheory.FractionalIdeal.Inverse -import Mathlib.RingTheory.FractionalIdeal.Norm -import Mathlib.RingTheory.FractionalIdeal.Operations -import Mathlib.RingTheory.FreeCommRing -import Mathlib.RingTheory.FreeRing -import Mathlib.RingTheory.Frobenius -import Mathlib.RingTheory.Generators -import Mathlib.RingTheory.GradedAlgebra.Basic -import Mathlib.RingTheory.GradedAlgebra.FiniteType -import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal -import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Submodule -import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization -import Mathlib.RingTheory.GradedAlgebra.Noetherian -import Mathlib.RingTheory.GradedAlgebra.Radical -import Mathlib.RingTheory.Grassmannian -import Mathlib.RingTheory.HahnSeries.Addition -import Mathlib.RingTheory.HahnSeries.Basic -import Mathlib.RingTheory.HahnSeries.HEval -import Mathlib.RingTheory.HahnSeries.HahnEmbedding -import Mathlib.RingTheory.HahnSeries.Lex -import Mathlib.RingTheory.HahnSeries.Multiplication -import Mathlib.RingTheory.HahnSeries.PowerSeries -import Mathlib.RingTheory.HahnSeries.Summable -import Mathlib.RingTheory.HahnSeries.Valuation -import Mathlib.RingTheory.Henselian -import Mathlib.RingTheory.HopfAlgebra.Basic -import Mathlib.RingTheory.HopfAlgebra.MonoidAlgebra -import Mathlib.RingTheory.HopfAlgebra.TensorProduct -import Mathlib.RingTheory.HopkinsLevitzki -import Mathlib.RingTheory.Ideal.AssociatedPrime -import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic -import Mathlib.RingTheory.Ideal.AssociatedPrime.Finiteness -import Mathlib.RingTheory.Ideal.AssociatedPrime.Localization -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Ideal.Basis -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.Ideal.Colon -import Mathlib.RingTheory.Ideal.Cotangent -import Mathlib.RingTheory.Ideal.Defs -import Mathlib.RingTheory.Ideal.GoingDown -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.Ideal.Height -import Mathlib.RingTheory.Ideal.IdempotentFG -import Mathlib.RingTheory.Ideal.Int -import Mathlib.RingTheory.Ideal.IsPrimary -import Mathlib.RingTheory.Ideal.IsPrincipal -import Mathlib.RingTheory.Ideal.IsPrincipalPowQuotient -import Mathlib.RingTheory.Ideal.KrullsHeightTheorem -import Mathlib.RingTheory.Ideal.Lattice -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Maximal -import Mathlib.RingTheory.Ideal.MinimalPrime.Basic -import Mathlib.RingTheory.Ideal.MinimalPrime.Localization -import Mathlib.RingTheory.Ideal.NatInt -import Mathlib.RingTheory.Ideal.Nonunits -import Mathlib.RingTheory.Ideal.Norm.AbsNorm -import Mathlib.RingTheory.Ideal.Norm.RelNorm -import Mathlib.RingTheory.Ideal.Oka -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.Ideal.Over -import Mathlib.RingTheory.Ideal.Pointwise -import Mathlib.RingTheory.Ideal.Prime -import Mathlib.RingTheory.Ideal.Prod -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Ideal.Quotient.Index -import Mathlib.RingTheory.Ideal.Quotient.Nilpotent -import Mathlib.RingTheory.Ideal.Quotient.Noetherian -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Ideal.Quotient.PowTransition -import Mathlib.RingTheory.Ideal.Span -import Mathlib.RingTheory.Idempotents -import Mathlib.RingTheory.Int.Basic -import Mathlib.RingTheory.IntegralClosure.Algebra.Basic -import Mathlib.RingTheory.IntegralClosure.Algebra.Defs -import Mathlib.RingTheory.IntegralClosure.IntegralRestrict -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Defs -import Mathlib.RingTheory.IntegralDomain -import Mathlib.RingTheory.Invariant -import Mathlib.RingTheory.Invariant.Basic -import Mathlib.RingTheory.Invariant.Defs -import Mathlib.RingTheory.Invariant.Profinite -import Mathlib.RingTheory.IsAdjoinRoot -import Mathlib.RingTheory.IsPrimary -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.RingTheory.Jacobson.Artinian -import Mathlib.RingTheory.Jacobson.Ideal -import Mathlib.RingTheory.Jacobson.Polynomial -import Mathlib.RingTheory.Jacobson.Radical -import Mathlib.RingTheory.Jacobson.Ring -import Mathlib.RingTheory.Jacobson.Semiprimary -import Mathlib.RingTheory.Kaehler.Basic -import Mathlib.RingTheory.Kaehler.CotangentComplex -import Mathlib.RingTheory.Kaehler.JacobiZariski -import Mathlib.RingTheory.Kaehler.Polynomial -import Mathlib.RingTheory.Kaehler.TensorProduct -import Mathlib.RingTheory.KrullDimension.Basic -import Mathlib.RingTheory.KrullDimension.Field -import Mathlib.RingTheory.KrullDimension.Module -import Mathlib.RingTheory.KrullDimension.NonZeroDivisors -import Mathlib.RingTheory.KrullDimension.PID -import Mathlib.RingTheory.KrullDimension.Polynomial -import Mathlib.RingTheory.KrullDimension.Zero -import Mathlib.RingTheory.Lasker -import Mathlib.RingTheory.LaurentSeries -import Mathlib.RingTheory.Length -import Mathlib.RingTheory.LinearDisjoint -import Mathlib.RingTheory.LittleWedderburn -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.LocalProperties.Exactness -import Mathlib.RingTheory.LocalProperties.IntegrallyClosed -import Mathlib.RingTheory.LocalProperties.Projective -import Mathlib.RingTheory.LocalProperties.Reduced -import Mathlib.RingTheory.LocalProperties.Semilocal -import Mathlib.RingTheory.LocalProperties.Submodule -import Mathlib.RingTheory.LocalRing.Basic -import Mathlib.RingTheory.LocalRing.Defs -import Mathlib.RingTheory.LocalRing.LocalSubring -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Defs -import Mathlib.RingTheory.LocalRing.Module -import Mathlib.RingTheory.LocalRing.NonLocalRing -import Mathlib.RingTheory.LocalRing.Quotient -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.LocalRing.ResidueField.Defs -import Mathlib.RingTheory.LocalRing.ResidueField.Fiber -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.LocalRing.ResidueField.Instances -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.LocalRing.Subring -import Mathlib.RingTheory.Localization.Algebra -import Mathlib.RingTheory.Localization.AsSubring -import Mathlib.RingTheory.Localization.AtPrime -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.Away.AdjoinRoot -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.Localization.Away.Lemmas -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.Localization.Cardinality -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.Localization.Finiteness -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Free -import Mathlib.RingTheory.Localization.Ideal -import Mathlib.RingTheory.Localization.Integer -import Mathlib.RingTheory.Localization.Integral -import Mathlib.RingTheory.Localization.InvSubmonoid -import Mathlib.RingTheory.Localization.LocalizationLocalization -import Mathlib.RingTheory.Localization.Module -import Mathlib.RingTheory.Localization.NormTrace -import Mathlib.RingTheory.Localization.NumDen -import Mathlib.RingTheory.Localization.Pi -import Mathlib.RingTheory.Localization.Submodule -import Mathlib.RingTheory.MatrixAlgebra -import Mathlib.RingTheory.MatrixPolynomialAlgebra -import Mathlib.RingTheory.Morita.Basic -import Mathlib.RingTheory.Multiplicity -import Mathlib.RingTheory.MvPolynomial -import Mathlib.RingTheory.MvPolynomial.Basic -import Mathlib.RingTheory.MvPolynomial.EulerIdentity -import Mathlib.RingTheory.MvPolynomial.FreeCommRing -import Mathlib.RingTheory.MvPolynomial.Groebner -import Mathlib.RingTheory.MvPolynomial.Homogeneous -import Mathlib.RingTheory.MvPolynomial.Ideal -import Mathlib.RingTheory.MvPolynomial.Localization -import Mathlib.RingTheory.MvPolynomial.MonomialOrder -import Mathlib.RingTheory.MvPolynomial.MonomialOrder.DegLex -import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs -import Mathlib.RingTheory.MvPolynomial.Symmetric.FundamentalTheorem -import Mathlib.RingTheory.MvPolynomial.Symmetric.NewtonIdentities -import Mathlib.RingTheory.MvPolynomial.Tower -import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.RingTheory.MvPowerSeries.Evaluation -import Mathlib.RingTheory.MvPowerSeries.Inverse -import Mathlib.RingTheory.MvPowerSeries.LexOrder -import Mathlib.RingTheory.MvPowerSeries.LinearTopology -import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors -import Mathlib.RingTheory.MvPowerSeries.Order -import Mathlib.RingTheory.MvPowerSeries.PiTopology -import Mathlib.RingTheory.MvPowerSeries.Substitution -import Mathlib.RingTheory.MvPowerSeries.Trunc -import Mathlib.RingTheory.Nakayama -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.RingTheory.Nilpotent.Exp -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.NoetherNormalization -import Mathlib.RingTheory.Noetherian.Basic -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.Noetherian.Filter -import Mathlib.RingTheory.Noetherian.Nilpotent -import Mathlib.RingTheory.Noetherian.OfPrime -import Mathlib.RingTheory.Noetherian.Orzech -import Mathlib.RingTheory.Noetherian.UniqueFactorizationDomain -import Mathlib.RingTheory.NonUnitalSubring.Basic -import Mathlib.RingTheory.NonUnitalSubring.Defs -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic -import Mathlib.RingTheory.NonUnitalSubsemiring.Defs -import Mathlib.RingTheory.Norm.Basic -import Mathlib.RingTheory.Norm.Defs -import Mathlib.RingTheory.Norm.Transitivity -import Mathlib.RingTheory.NormTrace -import Mathlib.RingTheory.Nullstellensatz -import Mathlib.RingTheory.OrderOfVanishing -import Mathlib.RingTheory.OreLocalization.Basic -import Mathlib.RingTheory.OreLocalization.Cardinality -import Mathlib.RingTheory.OreLocalization.NonZeroDivisors -import Mathlib.RingTheory.OreLocalization.OreSet -import Mathlib.RingTheory.OreLocalization.Ring -import Mathlib.RingTheory.OrzechProperty -import Mathlib.RingTheory.Perfection -import Mathlib.RingTheory.Perfectoid.Untilt -import Mathlib.RingTheory.PiTensorProduct -import Mathlib.RingTheory.PicardGroup -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.RingTheory.Polynomial.Bernstein -import Mathlib.RingTheory.Polynomial.Chebyshev -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.Polynomial.ContentIdeal -import Mathlib.RingTheory.Polynomial.Cyclotomic.Basic -import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval -import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand -import Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization -import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots -import Mathlib.RingTheory.Polynomial.DegreeLT -import Mathlib.RingTheory.Polynomial.Dickson -import Mathlib.RingTheory.Polynomial.Eisenstein.Basic -import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion -import Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished -import Mathlib.RingTheory.Polynomial.Eisenstein.Generalized -import Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral -import Mathlib.RingTheory.Polynomial.GaussLemma -import Mathlib.RingTheory.Polynomial.GaussNorm -import Mathlib.RingTheory.Polynomial.Hermite.Basic -import Mathlib.RingTheory.Polynomial.Hermite.Gaussian -import Mathlib.RingTheory.Polynomial.HilbertPoly -import Mathlib.RingTheory.Polynomial.Ideal -import Mathlib.RingTheory.Polynomial.IntegralNormalization -import Mathlib.RingTheory.Polynomial.IrreducibleRing -import Mathlib.RingTheory.Polynomial.Nilpotent -import Mathlib.RingTheory.Polynomial.Opposites -import Mathlib.RingTheory.Polynomial.Pochhammer -import Mathlib.RingTheory.Polynomial.Quotient -import Mathlib.RingTheory.Polynomial.Radical -import Mathlib.RingTheory.Polynomial.RationalRoot -import Mathlib.RingTheory.Polynomial.Resultant.Basic -import Mathlib.RingTheory.Polynomial.ScaleRoots -import Mathlib.RingTheory.Polynomial.Selmer -import Mathlib.RingTheory.Polynomial.SeparableDegree -import Mathlib.RingTheory.Polynomial.ShiftedLegendre -import Mathlib.RingTheory.Polynomial.SmallDegreeVieta -import Mathlib.RingTheory.Polynomial.Tower -import Mathlib.RingTheory.Polynomial.UniqueFactorization -import Mathlib.RingTheory.Polynomial.Vieta -import Mathlib.RingTheory.Polynomial.Wronskian -import Mathlib.RingTheory.PolynomialAlgebra -import Mathlib.RingTheory.PolynomialLaw.Basic -import Mathlib.RingTheory.PowerBasis -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.RingTheory.PowerSeries.Binomial -import Mathlib.RingTheory.PowerSeries.CoeffMulMem -import Mathlib.RingTheory.PowerSeries.Derivative -import Mathlib.RingTheory.PowerSeries.Evaluation -import Mathlib.RingTheory.PowerSeries.GaussNorm -import Mathlib.RingTheory.PowerSeries.Inverse -import Mathlib.RingTheory.PowerSeries.NoZeroDivisors -import Mathlib.RingTheory.PowerSeries.Order -import Mathlib.RingTheory.PowerSeries.PiTopology -import Mathlib.RingTheory.PowerSeries.Restricted -import Mathlib.RingTheory.PowerSeries.Substitution -import Mathlib.RingTheory.PowerSeries.Trunc -import Mathlib.RingTheory.PowerSeries.WeierstrassPreparation -import Mathlib.RingTheory.PowerSeries.WellKnown -import Mathlib.RingTheory.Presentation -import Mathlib.RingTheory.Prime -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.RingTheory.PrincipalIdealDomainOfPrime -import Mathlib.RingTheory.QuotSMulTop -import Mathlib.RingTheory.Radical -import Mathlib.RingTheory.ReesAlgebra -import Mathlib.RingTheory.Regular.Category -import Mathlib.RingTheory.Regular.Depth -import Mathlib.RingTheory.Regular.Flat -import Mathlib.RingTheory.Regular.IsSMulRegular -import Mathlib.RingTheory.Regular.RegularSequence -import Mathlib.RingTheory.RingHom.Bijective -import Mathlib.RingTheory.RingHom.Etale -import Mathlib.RingTheory.RingHom.FaithfullyFlat -import Mathlib.RingTheory.RingHom.Finite -import Mathlib.RingTheory.RingHom.FinitePresentation -import Mathlib.RingTheory.RingHom.FiniteType -import Mathlib.RingTheory.RingHom.Flat -import Mathlib.RingTheory.RingHom.Injective -import Mathlib.RingTheory.RingHom.Integral -import Mathlib.RingTheory.RingHom.Locally -import Mathlib.RingTheory.RingHom.OpenImmersion -import Mathlib.RingTheory.RingHom.Smooth -import Mathlib.RingTheory.RingHom.StandardSmooth -import Mathlib.RingTheory.RingHom.Surjective -import Mathlib.RingTheory.RingHom.Unramified -import Mathlib.RingTheory.RingHomProperties -import Mathlib.RingTheory.RingInvo -import Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed -import Mathlib.RingTheory.RootsOfUnity.Basic -import Mathlib.RingTheory.RootsOfUnity.Complex -import Mathlib.RingTheory.RootsOfUnity.CyclotomicUnits -import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity -import Mathlib.RingTheory.RootsOfUnity.Lemmas -import Mathlib.RingTheory.RootsOfUnity.Minpoly -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.RingTheory.SimpleModule.Basic -import Mathlib.RingTheory.SimpleModule.InjectiveProjective -import Mathlib.RingTheory.SimpleModule.IsAlgClosed -import Mathlib.RingTheory.SimpleModule.Isotypic -import Mathlib.RingTheory.SimpleModule.Rank -import Mathlib.RingTheory.SimpleModule.WedderburnArtin -import Mathlib.RingTheory.SimpleRing.Basic -import Mathlib.RingTheory.SimpleRing.Congr -import Mathlib.RingTheory.SimpleRing.Defs -import Mathlib.RingTheory.SimpleRing.Field -import Mathlib.RingTheory.SimpleRing.Matrix -import Mathlib.RingTheory.SimpleRing.Principal -import Mathlib.RingTheory.Smooth.Basic -import Mathlib.RingTheory.Smooth.Kaehler -import Mathlib.RingTheory.Smooth.Local -import Mathlib.RingTheory.Smooth.Locus -import Mathlib.RingTheory.Smooth.Pi -import Mathlib.RingTheory.Smooth.StandardSmooth -import Mathlib.RingTheory.Smooth.StandardSmoothCotangent -import Mathlib.RingTheory.Spectrum.Maximal.Basic -import Mathlib.RingTheory.Spectrum.Maximal.Defs -import Mathlib.RingTheory.Spectrum.Maximal.Localization -import Mathlib.RingTheory.Spectrum.Maximal.Topology -import Mathlib.RingTheory.Spectrum.Prime.Basic -import Mathlib.RingTheory.Spectrum.Prime.Chevalley -import Mathlib.RingTheory.Spectrum.Prime.ChevalleyComplexity -import Mathlib.RingTheory.Spectrum.Prime.ConstructibleSet -import Mathlib.RingTheory.Spectrum.Prime.Defs -import Mathlib.RingTheory.Spectrum.Prime.FreeLocus -import Mathlib.RingTheory.Spectrum.Prime.Homeomorph -import Mathlib.RingTheory.Spectrum.Prime.IsOpenComapC -import Mathlib.RingTheory.Spectrum.Prime.Jacobson -import Mathlib.RingTheory.Spectrum.Prime.LTSeries -import Mathlib.RingTheory.Spectrum.Prime.Module -import Mathlib.RingTheory.Spectrum.Prime.Noetherian -import Mathlib.RingTheory.Spectrum.Prime.Polynomial -import Mathlib.RingTheory.Spectrum.Prime.RingHom -import Mathlib.RingTheory.Spectrum.Prime.TensorProduct -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.Support -import Mathlib.RingTheory.SurjectiveOnStalks -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.RingTheory.TensorProduct.DirectLimitFG -import Mathlib.RingTheory.TensorProduct.Finite -import Mathlib.RingTheory.TensorProduct.Free -import Mathlib.RingTheory.TensorProduct.IsBaseChangePi -import Mathlib.RingTheory.TensorProduct.MvPolynomial -import Mathlib.RingTheory.TensorProduct.Nontrivial -import Mathlib.RingTheory.TensorProduct.Pi -import Mathlib.RingTheory.TensorProduct.Quotient -import Mathlib.RingTheory.Trace.Basic -import Mathlib.RingTheory.Trace.Defs -import Mathlib.RingTheory.Trace.Quotient -import Mathlib.RingTheory.TwoSidedIdeal.Basic -import Mathlib.RingTheory.TwoSidedIdeal.BigOperators -import Mathlib.RingTheory.TwoSidedIdeal.Instances -import Mathlib.RingTheory.TwoSidedIdeal.Kernel -import Mathlib.RingTheory.TwoSidedIdeal.Lattice -import Mathlib.RingTheory.TwoSidedIdeal.Operations -import Mathlib.RingTheory.UniqueFactorizationDomain.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Defs -import Mathlib.RingTheory.UniqueFactorizationDomain.FactorSet -import Mathlib.RingTheory.UniqueFactorizationDomain.Finite -import Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp -import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid -import Mathlib.RingTheory.UniqueFactorizationDomain.Ideal -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity -import Mathlib.RingTheory.UniqueFactorizationDomain.Nat -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors -import Mathlib.RingTheory.Unramified.Basic -import Mathlib.RingTheory.Unramified.Field -import Mathlib.RingTheory.Unramified.Finite -import Mathlib.RingTheory.Unramified.LocalRing -import Mathlib.RingTheory.Unramified.Locus -import Mathlib.RingTheory.Unramified.Pi -import Mathlib.RingTheory.Valuation.AlgebraInstances -import Mathlib.RingTheory.Valuation.Archimedean -import Mathlib.RingTheory.Valuation.Basic -import Mathlib.RingTheory.Valuation.Discrete.Basic -import Mathlib.RingTheory.Valuation.DiscreteValuativeRel -import Mathlib.RingTheory.Valuation.ExtendToLocalization -import Mathlib.RingTheory.Valuation.Extension -import Mathlib.RingTheory.Valuation.Integers -import Mathlib.RingTheory.Valuation.Integral -import Mathlib.RingTheory.Valuation.IntegrallyClosed -import Mathlib.RingTheory.Valuation.LocalSubring -import Mathlib.RingTheory.Valuation.Minpoly -import Mathlib.RingTheory.Valuation.PrimeMultiplicity -import Mathlib.RingTheory.Valuation.Quotient -import Mathlib.RingTheory.Valuation.RamificationGroup -import Mathlib.RingTheory.Valuation.RankOne -import Mathlib.RingTheory.Valuation.ValExtension -import Mathlib.RingTheory.Valuation.ValuationRing -import Mathlib.RingTheory.Valuation.ValuationSubring -import Mathlib.RingTheory.Valuation.ValuativeRel -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic -import Mathlib.RingTheory.Valuation.ValuativeRel.Trivial -import Mathlib.RingTheory.WittVector.Basic -import Mathlib.RingTheory.WittVector.Compare -import Mathlib.RingTheory.WittVector.Complete -import Mathlib.RingTheory.WittVector.Defs -import Mathlib.RingTheory.WittVector.DiscreteValuationRing -import Mathlib.RingTheory.WittVector.Domain -import Mathlib.RingTheory.WittVector.Frobenius -import Mathlib.RingTheory.WittVector.FrobeniusFractionField -import Mathlib.RingTheory.WittVector.Identities -import Mathlib.RingTheory.WittVector.InitTail -import Mathlib.RingTheory.WittVector.IsPoly -import Mathlib.RingTheory.WittVector.Isocrystal -import Mathlib.RingTheory.WittVector.MulCoeff -import Mathlib.RingTheory.WittVector.MulP -import Mathlib.RingTheory.WittVector.StructurePolynomial -import Mathlib.RingTheory.WittVector.Teichmuller -import Mathlib.RingTheory.WittVector.Truncated -import Mathlib.RingTheory.WittVector.Verschiebung -import Mathlib.RingTheory.WittVector.WittPolynomial -import Mathlib.RingTheory.ZMod -import Mathlib.RingTheory.ZMod.Torsion -import Mathlib.RingTheory.ZMod.UnitsCyclic -import Mathlib.SetTheory.Cardinal.Aleph -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.SetTheory.Cardinal.Basic -import Mathlib.SetTheory.Cardinal.Cofinality -import Mathlib.SetTheory.Cardinal.Continuum -import Mathlib.SetTheory.Cardinal.CountableCover -import Mathlib.SetTheory.Cardinal.Defs -import Mathlib.SetTheory.Cardinal.Divisibility -import Mathlib.SetTheory.Cardinal.ENat -import Mathlib.SetTheory.Cardinal.Embedding -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.SetTheory.Cardinal.Finsupp -import Mathlib.SetTheory.Cardinal.Free -import Mathlib.SetTheory.Cardinal.HasCardinalLT -import Mathlib.SetTheory.Cardinal.NatCount -import Mathlib.SetTheory.Cardinal.Order -import Mathlib.SetTheory.Cardinal.Ordinal -import Mathlib.SetTheory.Cardinal.Pigeonhole -import Mathlib.SetTheory.Cardinal.Regular -import Mathlib.SetTheory.Cardinal.SchroederBernstein -import Mathlib.SetTheory.Cardinal.Subfield -import Mathlib.SetTheory.Cardinal.ToNat -import Mathlib.SetTheory.Cardinal.UnivLE -import Mathlib.SetTheory.Descriptive.Tree -import Mathlib.SetTheory.Game.Basic -import Mathlib.SetTheory.Game.Birthday -import Mathlib.SetTheory.Game.Domineering -import Mathlib.SetTheory.Game.Impartial -import Mathlib.SetTheory.Game.Nim -import Mathlib.SetTheory.Game.Ordinal -import Mathlib.SetTheory.Game.Short -import Mathlib.SetTheory.Game.State -import Mathlib.SetTheory.Lists -import Mathlib.SetTheory.Nimber.Basic -import Mathlib.SetTheory.Nimber.Field -import Mathlib.SetTheory.Ordinal.Arithmetic -import Mathlib.SetTheory.Ordinal.Basic -import Mathlib.SetTheory.Ordinal.CantorNormalForm -import Mathlib.SetTheory.Ordinal.Enum -import Mathlib.SetTheory.Ordinal.Exponential -import Mathlib.SetTheory.Ordinal.Family -import Mathlib.SetTheory.Ordinal.FixedPoint -import Mathlib.SetTheory.Ordinal.FixedPointApproximants -import Mathlib.SetTheory.Ordinal.NaturalOps -import Mathlib.SetTheory.Ordinal.Notation -import Mathlib.SetTheory.Ordinal.Principal -import Mathlib.SetTheory.Ordinal.Rank -import Mathlib.SetTheory.Ordinal.Topology -import Mathlib.SetTheory.Ordinal.Veblen -import Mathlib.SetTheory.PGame.Algebra -import Mathlib.SetTheory.PGame.Basic -import Mathlib.SetTheory.PGame.Order -import Mathlib.SetTheory.Surreal.Basic -import Mathlib.SetTheory.Surreal.Dyadic -import Mathlib.SetTheory.Surreal.Multiplication -import Mathlib.SetTheory.ZFC.Basic -import Mathlib.SetTheory.ZFC.Class -import Mathlib.SetTheory.ZFC.Ordinal -import Mathlib.SetTheory.ZFC.PSet -import Mathlib.SetTheory.ZFC.Rank -import Mathlib.SetTheory.ZFC.VonNeumann -import Mathlib.Std.Data.HashMap -import Mathlib.Tactic -import Mathlib.Tactic.Abel -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Algebraize -import Mathlib.Tactic.ApplyAt -import Mathlib.Tactic.ApplyCongr -import Mathlib.Tactic.ApplyFun -import Mathlib.Tactic.ApplyWith -import Mathlib.Tactic.ArithMult -import Mathlib.Tactic.ArithMult.Init -import Mathlib.Tactic.Attr.Core -import Mathlib.Tactic.Attr.Register -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Bound -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Tactic.Bound.Init -import Mathlib.Tactic.ByContra -import Mathlib.Tactic.CC -import Mathlib.Tactic.CC.Addition -import Mathlib.Tactic.CC.Datatypes -import Mathlib.Tactic.CC.Lemmas -import Mathlib.Tactic.CC.MkProof -import Mathlib.Tactic.CancelDenoms -import Mathlib.Tactic.CancelDenoms.Core -import Mathlib.Tactic.Cases -import Mathlib.Tactic.CasesM -import Mathlib.Tactic.CategoryTheory.BicategoricalComp -import Mathlib.Tactic.CategoryTheory.Bicategory.Basic -import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes -import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize -import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence -import Mathlib.Tactic.CategoryTheory.BicategoryCoherence -import Mathlib.Tactic.CategoryTheory.CheckCompositions -import Mathlib.Tactic.CategoryTheory.Coherence -import Mathlib.Tactic.CategoryTheory.Coherence.Basic -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes -import Mathlib.Tactic.CategoryTheory.Coherence.Normalize -import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.Tactic.CategoryTheory.IsoReassoc -import Mathlib.Tactic.CategoryTheory.Monoidal.Basic -import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes -import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize -import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence -import Mathlib.Tactic.CategoryTheory.MonoidalComp -import Mathlib.Tactic.CategoryTheory.Reassoc -import Mathlib.Tactic.CategoryTheory.Slice -import Mathlib.Tactic.CategoryTheory.ToApp -import Mathlib.Tactic.Change -import Mathlib.Tactic.Check -import Mathlib.Tactic.Choose -import Mathlib.Tactic.Clean -import Mathlib.Tactic.ClearExcept -import Mathlib.Tactic.ClearExclamation -import Mathlib.Tactic.Clear_ -import Mathlib.Tactic.Coe -import Mathlib.Tactic.Common -import Mathlib.Tactic.ComputeDegree -import Mathlib.Tactic.CongrExclamation -import Mathlib.Tactic.CongrM -import Mathlib.Tactic.Constructor -import Mathlib.Tactic.Continuity -import Mathlib.Tactic.Continuity.Init -import Mathlib.Tactic.ContinuousFunctionalCalculus -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Conv -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Core -import Mathlib.Tactic.DeclarationNames -import Mathlib.Tactic.DefEqTransformations -import Mathlib.Tactic.DepRewrite -import Mathlib.Tactic.DeprecateTo -import Mathlib.Tactic.DeriveCountable -import Mathlib.Tactic.DeriveEncodable -import Mathlib.Tactic.DeriveFintype -import Mathlib.Tactic.DeriveTraversable -import Mathlib.Tactic.ENatToNat -import Mathlib.Tactic.Eqns -import Mathlib.Tactic.ErwQuestion -import Mathlib.Tactic.Eval -import Mathlib.Tactic.ExistsI -import Mathlib.Tactic.Explode -import Mathlib.Tactic.Explode.Datatypes -import Mathlib.Tactic.Explode.Pretty -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.ExtractGoal -import Mathlib.Tactic.ExtractLets -import Mathlib.Tactic.FBinop -import Mathlib.Tactic.FailIfNoProgress -import Mathlib.Tactic.FastInstance -import Mathlib.Tactic.Field -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.FieldSimp.Attr -import Mathlib.Tactic.FieldSimp.Discharger -import Mathlib.Tactic.FieldSimp.Lemmas -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.Find -import Mathlib.Tactic.FindSyntax -import Mathlib.Tactic.Finiteness -import Mathlib.Tactic.Finiteness.Attr -import Mathlib.Tactic.FunProp -import Mathlib.Tactic.FunProp.Attr -import Mathlib.Tactic.FunProp.ContDiff -import Mathlib.Tactic.FunProp.Core -import Mathlib.Tactic.FunProp.Decl -import Mathlib.Tactic.FunProp.Differentiable -import Mathlib.Tactic.FunProp.Elab -import Mathlib.Tactic.FunProp.FunctionData -import Mathlib.Tactic.FunProp.Mor -import Mathlib.Tactic.FunProp.Theorems -import Mathlib.Tactic.FunProp.ToBatteries -import Mathlib.Tactic.FunProp.Types -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.GCongr.Core -import Mathlib.Tactic.GCongr.CoreAttrs -import Mathlib.Tactic.GCongr.ForwardAttr -import Mathlib.Tactic.GRewrite -import Mathlib.Tactic.GRewrite.Core -import Mathlib.Tactic.GRewrite.Elab -import Mathlib.Tactic.Generalize -import Mathlib.Tactic.GeneralizeProofs -import Mathlib.Tactic.Group -import Mathlib.Tactic.GuardGoalNums -import Mathlib.Tactic.GuardHypNums -import Mathlib.Tactic.Have -import Mathlib.Tactic.HaveI -import Mathlib.Tactic.HigherOrder -import Mathlib.Tactic.Hint -import Mathlib.Tactic.ITauto -import Mathlib.Tactic.InferParam -import Mathlib.Tactic.Inhabit -import Mathlib.Tactic.IntervalCases -import Mathlib.Tactic.IrreducibleDef -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Lift -import Mathlib.Tactic.LiftLets -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Linarith.Datatypes -import Mathlib.Tactic.Linarith.Frontend -import Mathlib.Tactic.Linarith.Lemmas -import Mathlib.Tactic.Linarith.Oracle.FourierMotzkin -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm -import Mathlib.Tactic.Linarith.Parsing -import Mathlib.Tactic.Linarith.Preprocessing -import Mathlib.Tactic.Linarith.Verification -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.LinearCombination' -import Mathlib.Tactic.LinearCombination.Lemmas -import Mathlib.Tactic.Linter -import Mathlib.Tactic.Linter.CommandRanges -import Mathlib.Tactic.Linter.CommandStart -import Mathlib.Tactic.Linter.DeprecatedModule -import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter -import Mathlib.Tactic.Linter.DirectoryDependency -import Mathlib.Tactic.Linter.DocPrime -import Mathlib.Tactic.Linter.DocString -import Mathlib.Tactic.Linter.FindDeprecations -import Mathlib.Tactic.Linter.FlexibleLinter -import Mathlib.Tactic.Linter.GlobalAttributeIn -import Mathlib.Tactic.Linter.HashCommandLinter -import Mathlib.Tactic.Linter.HaveLetLinter -import Mathlib.Tactic.Linter.Header -import Mathlib.Tactic.Linter.Lint -import Mathlib.Tactic.Linter.MinImports -import Mathlib.Tactic.Linter.Multigoal -import Mathlib.Tactic.Linter.OldObtain -import Mathlib.Tactic.Linter.PPRoundtrip -import Mathlib.Tactic.Linter.Style -import Mathlib.Tactic.Linter.TextBased -import Mathlib.Tactic.Linter.UnusedTactic -import Mathlib.Tactic.Linter.UnusedTacticExtension -import Mathlib.Tactic.Linter.UpstreamableDecl -import Mathlib.Tactic.Measurability -import Mathlib.Tactic.Measurability.Init -import Mathlib.Tactic.MinImports -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.ModCases -import Mathlib.Tactic.Module -import Mathlib.Tactic.Monotonicity -import Mathlib.Tactic.Monotonicity.Attr -import Mathlib.Tactic.Monotonicity.Basic -import Mathlib.Tactic.Monotonicity.Lemmas -import Mathlib.Tactic.MoveAdd -import Mathlib.Tactic.NoncommRing -import Mathlib.Tactic.Nontriviality -import Mathlib.Tactic.Nontriviality.Core -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.NormNum.Abs -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.NormNum.BigOperators -import Mathlib.Tactic.NormNum.Core -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Tactic.NormNum.Eq -import Mathlib.Tactic.NormNum.GCD -import Mathlib.Tactic.NormNum.Ineq -import Mathlib.Tactic.NormNum.Inv -import Mathlib.Tactic.NormNum.Irrational -import Mathlib.Tactic.NormNum.IsCoprime -import Mathlib.Tactic.NormNum.LegendreSymbol -import Mathlib.Tactic.NormNum.ModEq -import Mathlib.Tactic.NormNum.NatFactorial -import Mathlib.Tactic.NormNum.NatFib -import Mathlib.Tactic.NormNum.NatLog -import Mathlib.Tactic.NormNum.NatSqrt -import Mathlib.Tactic.NormNum.OfScientific -import Mathlib.Tactic.NormNum.Ordinal -import Mathlib.Tactic.NormNum.Parity -import Mathlib.Tactic.NormNum.Pow -import Mathlib.Tactic.NormNum.PowMod -import Mathlib.Tactic.NormNum.Prime -import Mathlib.Tactic.NormNum.RealSqrt -import Mathlib.Tactic.NormNum.Result -import Mathlib.Tactic.NthRewrite -import Mathlib.Tactic.Observe -import Mathlib.Tactic.OfNat -import Mathlib.Tactic.Order -import Mathlib.Tactic.Order.CollectFacts -import Mathlib.Tactic.Order.Graph.Basic -import Mathlib.Tactic.Order.Graph.Tarjan -import Mathlib.Tactic.Order.Preprocessing -import Mathlib.Tactic.PNatToNat -import Mathlib.Tactic.PPWithUniv -import Mathlib.Tactic.Peel -import Mathlib.Tactic.Polyrith -import Mathlib.Tactic.Positivity -import Mathlib.Tactic.Positivity.Basic -import Mathlib.Tactic.Positivity.Core -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Tactic.ProdAssoc -import Mathlib.Tactic.Propose -import Mathlib.Tactic.ProxyType -import Mathlib.Tactic.Push -import Mathlib.Tactic.Push.Attr -import Mathlib.Tactic.Qify -import Mathlib.Tactic.RSuffices -import Mathlib.Tactic.Recall -import Mathlib.Tactic.Recover -import Mathlib.Tactic.ReduceModChar -import Mathlib.Tactic.ReduceModChar.Ext -import Mathlib.Tactic.Relation.Rfl -import Mathlib.Tactic.Relation.Symm -import Mathlib.Tactic.Rename -import Mathlib.Tactic.RenameBVar -import Mathlib.Tactic.Replace -import Mathlib.Tactic.RewriteSearch -import Mathlib.Tactic.Rify -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Ring.Basic -import Mathlib.Tactic.Ring.Compare -import Mathlib.Tactic.Ring.NamePolyVars -import Mathlib.Tactic.Ring.PNat -import Mathlib.Tactic.Ring.RingNF -import Mathlib.Tactic.Sat.FromLRAT -import Mathlib.Tactic.Says -import Mathlib.Tactic.ScopedNS -import Mathlib.Tactic.Set -import Mathlib.Tactic.SetLike -import Mathlib.Tactic.SimpIntro -import Mathlib.Tactic.SimpRw -import Mathlib.Tactic.Simproc.Divisors -import Mathlib.Tactic.Simproc.ExistsAndEq -import Mathlib.Tactic.Simproc.Factors -import Mathlib.Tactic.Simps.Basic -import Mathlib.Tactic.Simps.NotationClass -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.Spread -import Mathlib.Tactic.StacksAttribute -import Mathlib.Tactic.Subsingleton -import Mathlib.Tactic.Substs -import Mathlib.Tactic.SuccessIfFailWithMsg -import Mathlib.Tactic.SudoSetOption -import Mathlib.Tactic.SuppressCompilation -import Mathlib.Tactic.SwapVar -import Mathlib.Tactic.TFAE -import Mathlib.Tactic.TacticAnalysis -import Mathlib.Tactic.TacticAnalysis.Declarations -import Mathlib.Tactic.Tauto -import Mathlib.Tactic.TautoSet -import Mathlib.Tactic.TermCongr -import Mathlib.Tactic.ToAdditive -import Mathlib.Tactic.ToAdditive.Frontend -import Mathlib.Tactic.ToAdditive.GuessName -import Mathlib.Tactic.ToExpr -import Mathlib.Tactic.ToLevel -import Mathlib.Tactic.Trace -import Mathlib.Tactic.TryThis -import Mathlib.Tactic.TypeCheck -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.UnsetOption -import Mathlib.Tactic.Use -import Mathlib.Tactic.Variable -import Mathlib.Tactic.WLOG -import Mathlib.Tactic.Widget.Calc -import Mathlib.Tactic.Widget.CommDiag -import Mathlib.Tactic.Widget.CongrM -import Mathlib.Tactic.Widget.Conv -import Mathlib.Tactic.Widget.GCongr -import Mathlib.Tactic.Widget.InteractiveUnfold -import Mathlib.Tactic.Widget.LibraryRewrite -import Mathlib.Tactic.Widget.SelectInsertParamsClass -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Tactic.Widget.StringDiagram -import Mathlib.Tactic.WithoutCDot -import Mathlib.Tactic.Zify -import Mathlib.Testing.Plausible.Functions -import Mathlib.Testing.Plausible.Sampleable -import Mathlib.Testing.Plausible.Testable -import Mathlib.Topology.AlexandrovDiscrete -import Mathlib.Topology.Algebra.Affine -import Mathlib.Topology.Algebra.AffineSubspace -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.Algebra.Algebra.Equiv -import Mathlib.Topology.Algebra.Algebra.Rat -import Mathlib.Topology.Algebra.AsymptoticCone -import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic -import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Limits -import Mathlib.Topology.Algebra.ClopenNhdofOne -import Mathlib.Topology.Algebra.ClosedSubgroup -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Algebra.Constructions -import Mathlib.Topology.Algebra.Constructions.DomMulAct -import Mathlib.Topology.Algebra.ContinuousAffineEquiv -import Mathlib.Topology.Algebra.ContinuousAffineMap -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.Equicontinuity -import Mathlib.Topology.Algebra.Field -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.Group.AddTorsor -import Mathlib.Topology.Algebra.Group.Basic -import Mathlib.Topology.Algebra.Group.ClosedSubgroup -import Mathlib.Topology.Algebra.Group.Compact -import Mathlib.Topology.Algebra.Group.CompactOpen -import Mathlib.Topology.Algebra.Group.Defs -import Mathlib.Topology.Algebra.Group.GroupTopology -import Mathlib.Topology.Algebra.Group.OpenMapping -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.Topology.Algebra.Group.SubmonoidClosure -import Mathlib.Topology.Algebra.Group.TopologicalAbelianization -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Algebra.Indicator -import Mathlib.Topology.Algebra.InfiniteSum.Basic -import Mathlib.Topology.Algebra.InfiniteSum.Constructions -import Mathlib.Topology.Algebra.InfiniteSum.Defs -import Mathlib.Topology.Algebra.InfiniteSum.ENNReal -import Mathlib.Topology.Algebra.InfiniteSum.Field -import Mathlib.Topology.Algebra.InfiniteSum.Group -import Mathlib.Topology.Algebra.InfiniteSum.GroupCompletion -import Mathlib.Topology.Algebra.InfiniteSum.Module -import Mathlib.Topology.Algebra.InfiniteSum.NatInt -import Mathlib.Topology.Algebra.InfiniteSum.Nonarchimedean -import Mathlib.Topology.Algebra.InfiniteSum.Order -import Mathlib.Topology.Algebra.InfiniteSum.Real -import Mathlib.Topology.Algebra.InfiniteSum.Ring -import Mathlib.Topology.Algebra.InfiniteSum.SummationFilter -import Mathlib.Topology.Algebra.InfiniteSum.TsumUniformlyOn -import Mathlib.Topology.Algebra.InfiniteSum.UniformOn -import Mathlib.Topology.Algebra.IntermediateField -import Mathlib.Topology.Algebra.IsOpenUnits -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.Algebra.IsUniformGroup.DiscreteSubgroup -import Mathlib.Topology.Algebra.IsUniformGroup.Order -import Mathlib.Topology.Algebra.LinearTopology -import Mathlib.Topology.Algebra.Localization -import Mathlib.Topology.Algebra.MetricSpace.Lipschitz -import Mathlib.Topology.Algebra.Module.Alternating.Basic -import Mathlib.Topology.Algebra.Module.Alternating.Topology -import Mathlib.Topology.Algebra.Module.Basic -import Mathlib.Topology.Algebra.Module.Cardinality -import Mathlib.Topology.Algebra.Module.CharacterSpace -import Mathlib.Topology.Algebra.Module.ClosedSubmodule -import Mathlib.Topology.Algebra.Module.Compact -import Mathlib.Topology.Algebra.Module.Determinant -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.Module.FiniteDimension -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Topology.Algebra.Module.LinearMapPiProd -import Mathlib.Topology.Algebra.Module.LinearPMap -import Mathlib.Topology.Algebra.Module.LocallyConvex -import Mathlib.Topology.Algebra.Module.ModuleTopology -import Mathlib.Topology.Algebra.Module.Multilinear.Basic -import Mathlib.Topology.Algebra.Module.Multilinear.Bounded -import Mathlib.Topology.Algebra.Module.Multilinear.Topology -import Mathlib.Topology.Algebra.Module.PerfectPairing -import Mathlib.Topology.Algebra.Module.PerfectSpace -import Mathlib.Topology.Algebra.Module.Simple -import Mathlib.Topology.Algebra.Module.Star -import Mathlib.Topology.Algebra.Module.StrongDual -import Mathlib.Topology.Algebra.Module.StrongTopology -import Mathlib.Topology.Algebra.Module.UniformConvergence -import Mathlib.Topology.Algebra.Module.WeakBilin -import Mathlib.Topology.Algebra.Module.WeakDual -import Mathlib.Topology.Algebra.Monoid -import Mathlib.Topology.Algebra.Monoid.AddChar -import Mathlib.Topology.Algebra.Monoid.Defs -import Mathlib.Topology.Algebra.Monoid.FunOnFinite -import Mathlib.Topology.Algebra.MulAction -import Mathlib.Topology.Algebra.MvPolynomial -import Mathlib.Topology.Algebra.NonUnitalAlgebra -import Mathlib.Topology.Algebra.NonUnitalStarAlgebra -import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology -import Mathlib.Topology.Algebra.Nonarchimedean.Bases -import Mathlib.Topology.Algebra.Nonarchimedean.Basic -import Mathlib.Topology.Algebra.Nonarchimedean.Completion -import Mathlib.Topology.Algebra.Nonarchimedean.TotallyDisconnected -import Mathlib.Topology.Algebra.OpenSubgroup -import Mathlib.Topology.Algebra.Order.Archimedean -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.Algebra.Order.Floor -import Mathlib.Topology.Algebra.Order.Group -import Mathlib.Topology.Algebra.Order.LiminfLimsup -import Mathlib.Topology.Algebra.Order.Module -import Mathlib.Topology.Algebra.Order.Support -import Mathlib.Topology.Algebra.Order.UpperLower -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.Topology.Algebra.PontryaginDual -import Mathlib.Topology.Algebra.ProperAction.AddTorsor -import Mathlib.Topology.Algebra.ProperAction.Basic -import Mathlib.Topology.Algebra.ProperAction.ProperlyDiscontinuous -import Mathlib.Topology.Algebra.ProperConstSMul -import Mathlib.Topology.Algebra.RestrictedProduct -import Mathlib.Topology.Algebra.RestrictedProduct.Basic -import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Algebra.Ring.Compact -import Mathlib.Topology.Algebra.Ring.Ideal -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.Algebra.Semigroup -import Mathlib.Topology.Algebra.SeparationQuotient.Basic -import Mathlib.Topology.Algebra.SeparationQuotient.FiniteDimensional -import Mathlib.Topology.Algebra.SeparationQuotient.Hom -import Mathlib.Topology.Algebra.SeparationQuotient.Section -import Mathlib.Topology.Algebra.Star -import Mathlib.Topology.Algebra.Star.Real -import Mathlib.Topology.Algebra.Star.Unitary -import Mathlib.Topology.Algebra.StarSubalgebra -import Mathlib.Topology.Algebra.Support -import Mathlib.Topology.Algebra.TopologicallyNilpotent -import Mathlib.Topology.Algebra.UniformConvergence -import Mathlib.Topology.Algebra.UniformField -import Mathlib.Topology.Algebra.UniformFilterBasis -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Topology.Algebra.UniformRing -import Mathlib.Topology.Algebra.Valued.LocallyCompact -import Mathlib.Topology.Algebra.Valued.NormedValued -import Mathlib.Topology.Algebra.Valued.ValuationTopology -import Mathlib.Topology.Algebra.Valued.ValuativeRel -import Mathlib.Topology.Algebra.Valued.ValuedField -import Mathlib.Topology.Algebra.Valued.WithVal -import Mathlib.Topology.Algebra.Valued.WithZeroMulInt -import Mathlib.Topology.Algebra.WithZeroTopology -import Mathlib.Topology.ApproximateUnit -import Mathlib.Topology.Baire.BaireMeasurable -import Mathlib.Topology.Baire.CompleteMetrizable -import Mathlib.Topology.Baire.Lemmas -import Mathlib.Topology.Baire.LocallyCompactRegular -import Mathlib.Topology.Bases -import Mathlib.Topology.Basic -import Mathlib.Topology.Bornology.Absorbs -import Mathlib.Topology.Bornology.Basic -import Mathlib.Topology.Bornology.BoundedOperation -import Mathlib.Topology.Bornology.Constructions -import Mathlib.Topology.Bornology.Hom -import Mathlib.Topology.Bornology.Real -import Mathlib.Topology.CWComplex.Abstract.Basic -import Mathlib.Topology.CWComplex.Classical.Basic -import Mathlib.Topology.CWComplex.Classical.Finite -import Mathlib.Topology.CWComplex.Classical.Subcomplex -import Mathlib.Topology.Category.Born -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Category.CompHaus.EffectiveEpi -import Mathlib.Topology.Category.CompHaus.Frm -import Mathlib.Topology.Category.CompHaus.Limits -import Mathlib.Topology.Category.CompHaus.Projective -import Mathlib.Topology.Category.CompHausLike.Basic -import Mathlib.Topology.Category.CompHausLike.EffectiveEpi -import Mathlib.Topology.Category.CompHausLike.Limits -import Mathlib.Topology.Category.CompHausLike.SigmaComparison -import Mathlib.Topology.Category.CompactlyGenerated -import Mathlib.Topology.Category.Compactum -import Mathlib.Topology.Category.DeltaGenerated -import Mathlib.Topology.Category.FinTopCat -import Mathlib.Topology.Category.LightProfinite.AsLimit -import Mathlib.Topology.Category.LightProfinite.Basic -import Mathlib.Topology.Category.LightProfinite.EffectiveEpi -import Mathlib.Topology.Category.LightProfinite.Extend -import Mathlib.Topology.Category.LightProfinite.Limits -import Mathlib.Topology.Category.LightProfinite.Sequence -import Mathlib.Topology.Category.Locale -import Mathlib.Topology.Category.Profinite.AsLimit -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.Category.Profinite.CofilteredLimit -import Mathlib.Topology.Category.Profinite.EffectiveEpi -import Mathlib.Topology.Category.Profinite.Extend -import Mathlib.Topology.Category.Profinite.Limits -import Mathlib.Topology.Category.Profinite.Nobeling -import Mathlib.Topology.Category.Profinite.Nobeling.Basic -import Mathlib.Topology.Category.Profinite.Nobeling.Induction -import Mathlib.Topology.Category.Profinite.Nobeling.Span -import Mathlib.Topology.Category.Profinite.Nobeling.Successor -import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit -import Mathlib.Topology.Category.Profinite.Product -import Mathlib.Topology.Category.Profinite.Projective -import Mathlib.Topology.Category.Sequential -import Mathlib.Topology.Category.Stonean.Adjunctions -import Mathlib.Topology.Category.Stonean.Basic -import Mathlib.Topology.Category.Stonean.EffectiveEpi -import Mathlib.Topology.Category.Stonean.Limits -import Mathlib.Topology.Category.TopCat.Adjunctions -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Category.TopCat.EffectiveEpi -import Mathlib.Topology.Category.TopCat.EpiMono -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.Topology.Category.TopCat.Limits.Cofiltered -import Mathlib.Topology.Category.TopCat.Limits.Konig -import Mathlib.Topology.Category.TopCat.Limits.Products -import Mathlib.Topology.Category.TopCat.Limits.Pullbacks -import Mathlib.Topology.Category.TopCat.OpenNhds -import Mathlib.Topology.Category.TopCat.Opens -import Mathlib.Topology.Category.TopCat.Sphere -import Mathlib.Topology.Category.TopCat.ULift -import Mathlib.Topology.Category.TopCat.Yoneda -import Mathlib.Topology.Category.TopCommRingCat -import Mathlib.Topology.Category.UniformSpace -import Mathlib.Topology.Clopen -import Mathlib.Topology.ClopenBox -import Mathlib.Topology.Closure -import Mathlib.Topology.ClusterPt -import Mathlib.Topology.Coherent -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Compactification.OnePoint -import Mathlib.Topology.Compactification.OnePoint.Basic -import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine -import Mathlib.Topology.Compactification.OnePoint.Sphere -import Mathlib.Topology.Compactification.OnePointEquiv -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.Topology.Compactness.Bases -import Mathlib.Topology.Compactness.Compact -import Mathlib.Topology.Compactness.CompactlyCoherentSpace -import Mathlib.Topology.Compactness.CompactlyGeneratedSpace -import Mathlib.Topology.Compactness.DeltaGeneratedSpace -import Mathlib.Topology.Compactness.Exterior -import Mathlib.Topology.Compactness.HilbertCubeEmbedding -import Mathlib.Topology.Compactness.Lindelof -import Mathlib.Topology.Compactness.LocallyCompact -import Mathlib.Topology.Compactness.LocallyFinite -import Mathlib.Topology.Compactness.NhdsKer -import Mathlib.Topology.Compactness.Paracompact -import Mathlib.Topology.Compactness.PseudometrizableLindelof -import Mathlib.Topology.Compactness.SigmaCompact -import Mathlib.Topology.Connected.Basic -import Mathlib.Topology.Connected.Clopen -import Mathlib.Topology.Connected.LocPathConnected -import Mathlib.Topology.Connected.LocallyConnected -import Mathlib.Topology.Connected.PathComponentOne -import Mathlib.Topology.Connected.PathConnected -import Mathlib.Topology.Connected.Separation -import Mathlib.Topology.Connected.TotallyDisconnected -import Mathlib.Topology.Constructible -import Mathlib.Topology.Constructions -import Mathlib.Topology.Constructions.SumProd -import Mathlib.Topology.Continuous -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.ContinuousMap.Bounded.ArzelaAscoli -import Mathlib.Topology.ContinuousMap.Bounded.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.ContinuousMap.Bounded.Star -import Mathlib.Topology.ContinuousMap.BoundedCompactlySupported -import Mathlib.Topology.ContinuousMap.CocompactMap -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.ContinuousMap.CompactlySupported -import Mathlib.Topology.ContinuousMap.ContinuousMapZero -import Mathlib.Topology.ContinuousMap.ContinuousSqrt -import Mathlib.Topology.ContinuousMap.Defs -import Mathlib.Topology.ContinuousMap.Ideals -import Mathlib.Topology.ContinuousMap.Interval -import Mathlib.Topology.ContinuousMap.Lattice -import Mathlib.Topology.ContinuousMap.LocallyConstant -import Mathlib.Topology.ContinuousMap.LocallyConvex -import Mathlib.Topology.ContinuousMap.Ordered -import Mathlib.Topology.ContinuousMap.Periodic -import Mathlib.Topology.ContinuousMap.Polynomial -import Mathlib.Topology.ContinuousMap.SecondCountableSpace -import Mathlib.Topology.ContinuousMap.Sigma -import Mathlib.Topology.ContinuousMap.Star -import Mathlib.Topology.ContinuousMap.StarOrdered -import Mathlib.Topology.ContinuousMap.StoneWeierstrass -import Mathlib.Topology.ContinuousMap.T0Sierpinski -import Mathlib.Topology.ContinuousMap.Units -import Mathlib.Topology.ContinuousMap.Weierstrass -import Mathlib.Topology.ContinuousMap.ZeroAtInfty -import Mathlib.Topology.ContinuousOn -import Mathlib.Topology.Covering -import Mathlib.Topology.Defs.Basic -import Mathlib.Topology.Defs.Filter -import Mathlib.Topology.Defs.Induced -import Mathlib.Topology.Defs.Sequences -import Mathlib.Topology.Defs.Ultrafilter -import Mathlib.Topology.DenseEmbedding -import Mathlib.Topology.DerivedSet -import Mathlib.Topology.DiscreteQuotient -import Mathlib.Topology.DiscreteSubset -import Mathlib.Topology.EMetricSpace.Basic -import Mathlib.Topology.EMetricSpace.BoundedVariation -import Mathlib.Topology.EMetricSpace.Defs -import Mathlib.Topology.EMetricSpace.Diam -import Mathlib.Topology.EMetricSpace.Lipschitz -import Mathlib.Topology.EMetricSpace.PairReduction -import Mathlib.Topology.EMetricSpace.Paracompact -import Mathlib.Topology.EMetricSpace.Pi -import Mathlib.Topology.ExtendFrom -import Mathlib.Topology.Exterior -import Mathlib.Topology.ExtremallyDisconnected -import Mathlib.Topology.FiberBundle.Basic -import Mathlib.Topology.FiberBundle.Constructions -import Mathlib.Topology.FiberBundle.IsHomeomorphicTrivialBundle -import Mathlib.Topology.FiberBundle.Trivialization -import Mathlib.Topology.FiberPartition -import Mathlib.Topology.Filter -import Mathlib.Topology.GDelta.Basic -import Mathlib.Topology.GDelta.MetrizableSpace -import Mathlib.Topology.GDelta.UniformSpace -import Mathlib.Topology.Germ -import Mathlib.Topology.Gluing -import Mathlib.Topology.Hom.ContinuousEval -import Mathlib.Topology.Hom.ContinuousEvalConst -import Mathlib.Topology.Hom.Open -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Homotopy.Affine -import Mathlib.Topology.Homotopy.Basic -import Mathlib.Topology.Homotopy.Contractible -import Mathlib.Topology.Homotopy.Equiv -import Mathlib.Topology.Homotopy.HSpaces -import Mathlib.Topology.Homotopy.HomotopyGroup -import Mathlib.Topology.Homotopy.Lifting -import Mathlib.Topology.Homotopy.Path -import Mathlib.Topology.Homotopy.Product -import Mathlib.Topology.IndicatorConstPointwise -import Mathlib.Topology.Inseparable -import Mathlib.Topology.Instances.AddCircle.Defs -import Mathlib.Topology.Instances.AddCircle.DenseSubgroup -import Mathlib.Topology.Instances.AddCircle.Real -import Mathlib.Topology.Instances.CantorSet -import Mathlib.Topology.Instances.Complex -import Mathlib.Topology.Instances.Discrete -import Mathlib.Topology.Instances.ENNReal.Lemmas -import Mathlib.Topology.Instances.ENat -import Mathlib.Topology.Instances.EReal.Lemmas -import Mathlib.Topology.Instances.Int -import Mathlib.Topology.Instances.Irrational -import Mathlib.Topology.Instances.Matrix -import Mathlib.Topology.Instances.NNReal.Lemmas -import Mathlib.Topology.Instances.Nat -import Mathlib.Topology.Instances.PNat -import Mathlib.Topology.Instances.Rat -import Mathlib.Topology.Instances.RatLemmas -import Mathlib.Topology.Instances.Real.Lemmas -import Mathlib.Topology.Instances.RealVectorSpace -import Mathlib.Topology.Instances.Shrink -import Mathlib.Topology.Instances.Sign -import Mathlib.Topology.Instances.TrivSqZeroExt -import Mathlib.Topology.Instances.ZMod -import Mathlib.Topology.Instances.ZMultiples -import Mathlib.Topology.Irreducible -import Mathlib.Topology.IsClosedRestrict -import Mathlib.Topology.IsLocalHomeomorph -import Mathlib.Topology.JacobsonSpace -import Mathlib.Topology.KrullDimension -import Mathlib.Topology.List -import Mathlib.Topology.LocalAtTarget -import Mathlib.Topology.LocallyClosed -import Mathlib.Topology.LocallyConstant.Algebra -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.Topology.LocallyFinite -import Mathlib.Topology.LocallyFinsupp -import Mathlib.Topology.Maps.Basic -import Mathlib.Topology.Maps.OpenQuotient -import Mathlib.Topology.Maps.Proper.Basic -import Mathlib.Topology.Maps.Proper.CompactlyGenerated -import Mathlib.Topology.Maps.Proper.UniversallyClosed -import Mathlib.Topology.MetricSpace.Algebra -import Mathlib.Topology.MetricSpace.Antilipschitz -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.MetricSpace.Bilipschitz -import Mathlib.Topology.MetricSpace.Bounded -import Mathlib.Topology.MetricSpace.BundledFun -import Mathlib.Topology.MetricSpace.CantorScheme -import Mathlib.Topology.MetricSpace.CauSeqFilter -import Mathlib.Topology.MetricSpace.Cauchy -import Mathlib.Topology.MetricSpace.Closeds -import Mathlib.Topology.MetricSpace.Completion -import Mathlib.Topology.MetricSpace.Congruence -import Mathlib.Topology.MetricSpace.Contracting -import Mathlib.Topology.MetricSpace.Defs -import Mathlib.Topology.MetricSpace.Dilation -import Mathlib.Topology.MetricSpace.DilationEquiv -import Mathlib.Topology.MetricSpace.Equicontinuity -import Mathlib.Topology.MetricSpace.Gluing -import Mathlib.Topology.MetricSpace.GromovHausdorff -import Mathlib.Topology.MetricSpace.GromovHausdorffRealized -import Mathlib.Topology.MetricSpace.HausdorffDimension -import Mathlib.Topology.MetricSpace.HausdorffDistance -import Mathlib.Topology.MetricSpace.Holder -import Mathlib.Topology.MetricSpace.HolderNorm -import Mathlib.Topology.MetricSpace.Infsep -import Mathlib.Topology.MetricSpace.IsometricSMul -import Mathlib.Topology.MetricSpace.Isometry -import Mathlib.Topology.MetricSpace.Kuratowski -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Topology.MetricSpace.MetricSeparated -import Mathlib.Topology.MetricSpace.PartitionOfUnity -import Mathlib.Topology.MetricSpace.Perfect -import Mathlib.Topology.MetricSpace.PiNat -import Mathlib.Topology.MetricSpace.Polish -import Mathlib.Topology.MetricSpace.ProperSpace -import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas -import Mathlib.Topology.MetricSpace.ProperSpace.Real -import Mathlib.Topology.MetricSpace.Pseudo.Basic -import Mathlib.Topology.MetricSpace.Pseudo.Constructions -import Mathlib.Topology.MetricSpace.Pseudo.Defs -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas -import Mathlib.Topology.MetricSpace.Pseudo.Pi -import Mathlib.Topology.MetricSpace.Pseudo.Real -import Mathlib.Topology.MetricSpace.Sequences -import Mathlib.Topology.MetricSpace.ShrinkingLemma -import Mathlib.Topology.MetricSpace.Similarity -import Mathlib.Topology.MetricSpace.ThickenedIndicator -import Mathlib.Topology.MetricSpace.Thickening -import Mathlib.Topology.MetricSpace.Ultra.Basic -import Mathlib.Topology.MetricSpace.Ultra.ContinuousMaps -import Mathlib.Topology.MetricSpace.Ultra.Pi -import Mathlib.Topology.MetricSpace.Ultra.TotallySeparated -import Mathlib.Topology.MetricSpace.UniformConvergence -import Mathlib.Topology.Metrizable.Basic -import Mathlib.Topology.Metrizable.CompletelyMetrizable -import Mathlib.Topology.Metrizable.ContinuousMap -import Mathlib.Topology.Metrizable.Real -import Mathlib.Topology.Metrizable.Uniformity -import Mathlib.Topology.Metrizable.Urysohn -import Mathlib.Topology.Neighborhoods -import Mathlib.Topology.NhdsKer -import Mathlib.Topology.NhdsSet -import Mathlib.Topology.NoetherianSpace -import Mathlib.Topology.OmegaCompletePartialOrder -import Mathlib.Topology.OpenPartialHomeomorph -import Mathlib.Topology.Order -import Mathlib.Topology.Order.Basic -import Mathlib.Topology.Order.Bornology -import Mathlib.Topology.Order.Category.AlexDisc -import Mathlib.Topology.Order.Category.FrameAdjunction -import Mathlib.Topology.Order.Compact -import Mathlib.Topology.Order.CountableSeparating -import Mathlib.Topology.Order.DenselyOrdered -import Mathlib.Topology.Order.ExtendFrom -import Mathlib.Topology.Order.ExtrClosure -import Mathlib.Topology.Order.Filter -import Mathlib.Topology.Order.Hom.Basic -import Mathlib.Topology.Order.Hom.Esakia -import Mathlib.Topology.Order.HullKernel -import Mathlib.Topology.Order.IntermediateValue -import Mathlib.Topology.Order.IsLUB -import Mathlib.Topology.Order.IsLocallyClosed -import Mathlib.Topology.Order.IsNormal -import Mathlib.Topology.Order.Lattice -import Mathlib.Topology.Order.LawsonTopology -import Mathlib.Topology.Order.LeftRight -import Mathlib.Topology.Order.LeftRightLim -import Mathlib.Topology.Order.LeftRightNhds -import Mathlib.Topology.Order.LiminfLimsup -import Mathlib.Topology.Order.LocalExtr -import Mathlib.Topology.Order.LowerUpperTopology -import Mathlib.Topology.Order.Monotone -import Mathlib.Topology.Order.MonotoneContinuity -import Mathlib.Topology.Order.MonotoneConvergence -import Mathlib.Topology.Order.NhdsSet -import Mathlib.Topology.Order.OrderClosed -import Mathlib.Topology.Order.OrderClosedExtr -import Mathlib.Topology.Order.PartialSups -import Mathlib.Topology.Order.Priestley -import Mathlib.Topology.Order.ProjIcc -import Mathlib.Topology.Order.Real -import Mathlib.Topology.Order.Rolle -import Mathlib.Topology.Order.ScottTopology -import Mathlib.Topology.Order.T5 -import Mathlib.Topology.Order.UpperLowerSetTopology -import Mathlib.Topology.Order.WithTop -import Mathlib.Topology.Partial -import Mathlib.Topology.PartialHomeomorph -import Mathlib.Topology.PartitionOfUnity -import Mathlib.Topology.Path -import Mathlib.Topology.Perfect -import Mathlib.Topology.Piecewise -import Mathlib.Topology.PreorderRestrict -import Mathlib.Topology.QuasiSeparated -import Mathlib.Topology.Semicontinuous -import Mathlib.Topology.SeparatedMap -import Mathlib.Topology.Separation.AlexandrovDiscrete -import Mathlib.Topology.Separation.Basic -import Mathlib.Topology.Separation.CompletelyRegular -import Mathlib.Topology.Separation.Connected -import Mathlib.Topology.Separation.CountableSeparatingOn -import Mathlib.Topology.Separation.DisjointCover -import Mathlib.Topology.Separation.GDelta -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.Separation.Lemmas -import Mathlib.Topology.Separation.LinearUpperLowerSetTopology -import Mathlib.Topology.Separation.NotNormal -import Mathlib.Topology.Separation.Profinite -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.Separation.SeparatedNhds -import Mathlib.Topology.Sequences -import Mathlib.Topology.Sets.Closeds -import Mathlib.Topology.Sets.CompactOpenCovered -import Mathlib.Topology.Sets.Compacts -import Mathlib.Topology.Sets.OpenCover -import Mathlib.Topology.Sets.Opens -import Mathlib.Topology.Sets.Order -import Mathlib.Topology.Sheaves.Alexandrov -import Mathlib.Topology.Sheaves.CommRingCat -import Mathlib.Topology.Sheaves.Forget -import Mathlib.Topology.Sheaves.Functors -import Mathlib.Topology.Sheaves.Init -import Mathlib.Topology.Sheaves.Limits -import Mathlib.Topology.Sheaves.LocalPredicate -import Mathlib.Topology.Sheaves.LocallySurjective -import Mathlib.Topology.Sheaves.MayerVietoris -import Mathlib.Topology.Sheaves.PUnit -import Mathlib.Topology.Sheaves.Presheaf -import Mathlib.Topology.Sheaves.PresheafOfFunctions -import Mathlib.Topology.Sheaves.Sheaf -import Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts -import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover -import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections -import Mathlib.Topology.Sheaves.SheafCondition.Sites -import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing -import Mathlib.Topology.Sheaves.SheafOfFunctions -import Mathlib.Topology.Sheaves.Sheafify -import Mathlib.Topology.Sheaves.Skyscraper -import Mathlib.Topology.Sheaves.Stalks -import Mathlib.Topology.ShrinkingLemma -import Mathlib.Topology.Sober -import Mathlib.Topology.Specialization -import Mathlib.Topology.Spectral.Basic -import Mathlib.Topology.Spectral.Hom -import Mathlib.Topology.Spectral.Prespectral -import Mathlib.Topology.StoneCech -import Mathlib.Topology.TietzeExtension -import Mathlib.Topology.Ultrafilter -import Mathlib.Topology.UniformSpace.AbsoluteValue -import Mathlib.Topology.UniformSpace.AbstractCompletion -import Mathlib.Topology.UniformSpace.Ascoli -import Mathlib.Topology.UniformSpace.Basic -import Mathlib.Topology.UniformSpace.Cauchy -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.UniformSpace.CompactConvergence -import Mathlib.Topology.UniformSpace.CompareReals -import Mathlib.Topology.UniformSpace.CompleteSeparated -import Mathlib.Topology.UniformSpace.Completion -import Mathlib.Topology.UniformSpace.Defs -import Mathlib.Topology.UniformSpace.Dini -import Mathlib.Topology.UniformSpace.DiscreteUniformity -import Mathlib.Topology.UniformSpace.Equicontinuity -import Mathlib.Topology.UniformSpace.Equiv -import Mathlib.Topology.UniformSpace.HeineCantor -import Mathlib.Topology.UniformSpace.LocallyUniformConvergence -import Mathlib.Topology.UniformSpace.Matrix -import Mathlib.Topology.UniformSpace.OfCompactT2 -import Mathlib.Topology.UniformSpace.OfFun -import Mathlib.Topology.UniformSpace.Path -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.UniformSpace.ProdApproximation -import Mathlib.Topology.UniformSpace.Real -import Mathlib.Topology.UniformSpace.Separation -import Mathlib.Topology.UniformSpace.Ultra.Basic -import Mathlib.Topology.UniformSpace.Ultra.Completion -import Mathlib.Topology.UniformSpace.Ultra.Constructions -import Mathlib.Topology.UniformSpace.UniformApproximation -import Mathlib.Topology.UniformSpace.UniformConvergence -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology -import Mathlib.Topology.UniformSpace.UniformEmbedding -import Mathlib.Topology.UnitInterval -import Mathlib.Topology.UrysohnsBounded -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.VectorBundle.Basic -import Mathlib.Topology.VectorBundle.Constructions -import Mathlib.Topology.VectorBundle.Hom -import Mathlib.Topology.VectorBundle.Riemannian -import Mathlib.Util.AddRelatedDecl -import Mathlib.Util.AssertExists -import Mathlib.Util.AssertExistsExt -import Mathlib.Util.AssertNoSorry -import Mathlib.Util.AtLocation -import Mathlib.Util.AtomM -import Mathlib.Util.AtomM.Recurse -import Mathlib.Util.CompileInductive -import Mathlib.Util.CountHeartbeats -import Mathlib.Util.Delaborators -import Mathlib.Util.DischargerAsTactic -import Mathlib.Util.ElabWithoutMVars -import Mathlib.Util.Export -import Mathlib.Util.FormatTable -import Mathlib.Util.GetAllModules -import Mathlib.Util.LongNames -import Mathlib.Util.MemoFix -import Mathlib.Util.Notation3 -import Mathlib.Util.PPOptions -import Mathlib.Util.ParseCommand -import Mathlib.Util.PrintSorries -import Mathlib.Util.Qq -import Mathlib.Util.Simp -import Mathlib.Util.SleepHeartbeats -import Mathlib.Util.Superscript -import Mathlib.Util.SynthesizeUsing -import Mathlib.Util.Tactic -import Mathlib.Util.TermReduce -import Mathlib.Util.TransImports -import Mathlib.Util.WhatsNew -import Mathlib.Util.WithWeakNamespace +module + +public import Std +public import Batteries +public import Mathlib.Algebra.AddConstMap.Basic +public import Mathlib.Algebra.AddConstMap.Equiv +public import Mathlib.Algebra.AddTorsor.Basic +public import Mathlib.Algebra.AddTorsor.Defs +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.Field +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Algebra.Algebra.Hom.Rat +public import Mathlib.Algebra.Algebra.IsSimpleRing +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Algebra.Algebra.NonUnitalSubalgebra +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Algebra.Opposite +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Algebra.Algebra.Shrink +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Algebra.Algebra.Spectrum.Pi +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Algebra.Algebra.StrictPositivity +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.Algebra.Subalgebra.Centralizer +public import Mathlib.Algebra.Algebra.Subalgebra.Directed +public import Mathlib.Algebra.Algebra.Subalgebra.IsSimpleOrder +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Subalgebra.Matrix +public import Mathlib.Algebra.Algebra.Subalgebra.MulOpposite +public import Mathlib.Algebra.Algebra.Subalgebra.Operations +public import Mathlib.Algebra.Algebra.Subalgebra.Order +public import Mathlib.Algebra.Algebra.Subalgebra.Pi +public import Mathlib.Algebra.Algebra.Subalgebra.Pointwise +public import Mathlib.Algebra.Algebra.Subalgebra.Prod +public import Mathlib.Algebra.Algebra.Subalgebra.Rank +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Algebra.Algebra.Subalgebra.Unitization +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Algebra.TransferInstance +public import Mathlib.Algebra.Algebra.Unitization +public import Mathlib.Algebra.Algebra.ZMod +public import Mathlib.Algebra.AlgebraicCard +public import Mathlib.Algebra.ArithmeticGeometric +public import Mathlib.Algebra.Azumaya.Basic +public import Mathlib.Algebra.Azumaya.Defs +public import Mathlib.Algebra.Azumaya.Matrix +public import Mathlib.Algebra.BigOperators.Associated +public import Mathlib.Algebra.BigOperators.Balance +public import Mathlib.Algebra.BigOperators.Expect +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Algebra.BigOperators.Finsupp.Fin +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.BigOperators.Group.Finset.Indicator +public import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas +public import Mathlib.Algebra.BigOperators.Group.Finset.Pi +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.BigOperators.Group.Finset.Powerset +public import Mathlib.Algebra.BigOperators.Group.Finset.Preimage +public import Mathlib.Algebra.BigOperators.Group.Finset.Sigma +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Algebra.BigOperators.Group.List.Lemmas +public import Mathlib.Algebra.BigOperators.Group.Multiset.Basic +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.BigOperators.GroupWithZero.Finset +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Algebra.BigOperators.Module +public import Mathlib.Algebra.BigOperators.NatAntidiagonal +public import Mathlib.Algebra.BigOperators.Option +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Algebra.BigOperators.Ring.Multiset +public import Mathlib.Algebra.BigOperators.Ring.Nat +public import Mathlib.Algebra.BigOperators.RingEquiv +public import Mathlib.Algebra.BigOperators.Sym +public import Mathlib.Algebra.BigOperators.WithTop +public import Mathlib.Algebra.BrauerGroup.Defs +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.Algebra.Category.AlgCat.Limits +public import Mathlib.Algebra.Category.AlgCat.Monoidal +public import Mathlib.Algebra.Category.AlgCat.Symmetric +public import Mathlib.Algebra.Category.AlgebraCat.Symmetric +public import Mathlib.Algebra.Category.BialgCat.Basic +public import Mathlib.Algebra.Category.BialgCat.Monoidal +public import Mathlib.Algebra.Category.BoolRing +public import Mathlib.Algebra.Category.CoalgCat.Basic +public import Mathlib.Algebra.Category.CoalgCat.ComonEquivalence +public import Mathlib.Algebra.Category.CoalgCat.Monoidal +public import Mathlib.Algebra.Category.CommAlgCat.Basic +public import Mathlib.Algebra.Category.CommAlgCat.FiniteType +public import Mathlib.Algebra.Category.CommAlgCat.Monoidal +public import Mathlib.Algebra.Category.CommBialgCat +public import Mathlib.Algebra.Category.ContinuousCohomology.Basic +public import Mathlib.Algebra.Category.FGModuleCat.Abelian +public import Mathlib.Algebra.Category.FGModuleCat.Basic +public import Mathlib.Algebra.Category.FGModuleCat.Colimits +public import Mathlib.Algebra.Category.FGModuleCat.EssentiallySmall +public import Mathlib.Algebra.Category.FGModuleCat.Limits +public import Mathlib.Algebra.Category.Grp.AB +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.Algebra.Category.Grp.Adjunctions +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.Algebra.Category.Grp.Biproducts +public import Mathlib.Algebra.Category.Grp.CartesianMonoidal +public import Mathlib.Algebra.Category.Grp.ChosenFiniteProducts +public import Mathlib.Algebra.Category.Grp.Colimits +public import Mathlib.Algebra.Category.Grp.EnoughInjectives +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup +public import Mathlib.Algebra.Category.Grp.FilteredColimits +public import Mathlib.Algebra.Category.Grp.FiniteGrp +public import Mathlib.Algebra.Category.Grp.ForgetCorepresentable +public import Mathlib.Algebra.Category.Grp.Images +public import Mathlib.Algebra.Category.Grp.Injective +public import Mathlib.Algebra.Category.Grp.IsFinite +public import Mathlib.Algebra.Category.Grp.Kernels +public import Mathlib.Algebra.Category.Grp.LargeColimits +public import Mathlib.Algebra.Category.Grp.LeftExactFunctor +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Category.Grp.Subobject +public import Mathlib.Algebra.Category.Grp.Ulift +public import Mathlib.Algebra.Category.Grp.Yoneda +public import Mathlib.Algebra.Category.Grp.ZModuleEquivalence +public import Mathlib.Algebra.Category.Grp.Zero +public import Mathlib.Algebra.Category.GrpWithZero +public import Mathlib.Algebra.Category.HopfAlgCat.Basic +public import Mathlib.Algebra.Category.HopfAlgCat.Monoidal +public import Mathlib.Algebra.Category.ModuleCat.AB +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Adjunctions +public import Mathlib.Algebra.Category.ModuleCat.Algebra +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Biproducts +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Differentials.Basic +public import Mathlib.Algebra.Category.ModuleCat.Differentials.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.EnoughInjectives +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.ExteriorPower +public import Mathlib.Algebra.Category.ModuleCat.FilteredColimits +public import Mathlib.Algebra.Category.ModuleCat.Free +public import Mathlib.Algebra.Category.ModuleCat.Images +public import Mathlib.Algebra.Category.ModuleCat.Injective +public import Mathlib.Algebra.Category.ModuleCat.Kernels +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Free +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Generator +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Monoidal +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify +public import Mathlib.Algebra.Category.ModuleCat.Products +public import Mathlib.Algebra.Category.ModuleCat.Projective +public import Mathlib.Algebra.Category.ModuleCat.Pseudofunctor +public import Mathlib.Algebra.Category.ModuleCat.Sheaf +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Free +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackContinuous +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Quasicoherent +public import Mathlib.Algebra.Category.ModuleCat.Simple +public import Mathlib.Algebra.Category.ModuleCat.Subobject +public import Mathlib.Algebra.Category.ModuleCat.Tannaka +public import Mathlib.Algebra.Category.ModuleCat.Topology.Basic +public import Mathlib.Algebra.Category.ModuleCat.Topology.Homology +public import Mathlib.Algebra.Category.MonCat.Adjunctions +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Category.MonCat.Colimits +public import Mathlib.Algebra.Category.MonCat.FilteredColimits +public import Mathlib.Algebra.Category.MonCat.ForgetCorepresentable +public import Mathlib.Algebra.Category.MonCat.Limits +public import Mathlib.Algebra.Category.MonCat.Yoneda +public import Mathlib.Algebra.Category.Ring.Adjunctions +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.Algebra.Category.Ring.Epi +public import Mathlib.Algebra.Category.Ring.FilteredColimits +public import Mathlib.Algebra.Category.Ring.FinitePresentation +public import Mathlib.Algebra.Category.Ring.Instances +public import Mathlib.Algebra.Category.Ring.Limits +public import Mathlib.Algebra.Category.Ring.LinearAlgebra +public import Mathlib.Algebra.Category.Ring.Topology +public import Mathlib.Algebra.Category.Ring.Under.Basic +public import Mathlib.Algebra.Category.Ring.Under.Limits +public import Mathlib.Algebra.Category.Semigrp.Basic +public import Mathlib.Algebra.Central.Basic +public import Mathlib.Algebra.Central.Defs +public import Mathlib.Algebra.Central.Matrix +public import Mathlib.Algebra.Central.TensorProduct +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.CharP.CharAndCard +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.CharP.Frobenius +public import Mathlib.Algebra.CharP.IntermediateField +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.Algebra.CharP.LinearMaps +public import Mathlib.Algebra.CharP.LocalRing +public import Mathlib.Algebra.CharP.MixedCharZero +public import Mathlib.Algebra.CharP.Pi +public import Mathlib.Algebra.CharP.Quotient +public import Mathlib.Algebra.CharP.Reduced +public import Mathlib.Algebra.CharP.Subring +public import Mathlib.Algebra.CharP.Two +public import Mathlib.Algebra.CharZero.AddMonoidHom +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.CharZero.Infinite +public import Mathlib.Algebra.CharZero.Quotient +public import Mathlib.Algebra.Colimit.DirectLimit +public import Mathlib.Algebra.Colimit.Finiteness +public import Mathlib.Algebra.Colimit.Module +public import Mathlib.Algebra.Colimit.Ring +public import Mathlib.Algebra.Colimit.TensorProduct +public import Mathlib.Algebra.ContinuedFractions.Basic +public import Mathlib.Algebra.ContinuedFractions.Computation.ApproximationCorollaries +public import Mathlib.Algebra.ContinuedFractions.Computation.Approximations +public import Mathlib.Algebra.ContinuedFractions.Computation.Basic +public import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating +public import Mathlib.Algebra.ContinuedFractions.Computation.TerminatesIffRat +public import Mathlib.Algebra.ContinuedFractions.Computation.Translations +public import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence +public import Mathlib.Algebra.ContinuedFractions.ConvergentsEquiv +public import Mathlib.Algebra.ContinuedFractions.Determinant +public import Mathlib.Algebra.ContinuedFractions.TerminatedStable +public import Mathlib.Algebra.ContinuedFractions.Translations +public import Mathlib.Algebra.CubicDiscriminant +public import Mathlib.Algebra.DirectSum.AddChar +public import Mathlib.Algebra.DirectSum.Algebra +public import Mathlib.Algebra.DirectSum.Basic +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Algebra.DirectSum.Finsupp +public import Mathlib.Algebra.DirectSum.Idempotents +public import Mathlib.Algebra.DirectSum.Internal +public import Mathlib.Algebra.DirectSum.LinearMap +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.DirectSum.Ring +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Divisibility.Finite +public import Mathlib.Algebra.Divisibility.Hom +public import Mathlib.Algebra.Divisibility.Prod +public import Mathlib.Algebra.Divisibility.Units +public import Mathlib.Algebra.DualNumber +public import Mathlib.Algebra.DualQuaternion +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.EuclideanDomain.Defs +public import Mathlib.Algebra.EuclideanDomain.Field +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.Exact +public import Mathlib.Algebra.Expr +public import Mathlib.Algebra.Field.Action.ConjAct +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Field.Equiv +public import Mathlib.Algebra.Field.GeomSum +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.Field.MinimalAxioms +public import Mathlib.Algebra.Field.NegOnePow +public import Mathlib.Algebra.Field.Opposite +public import Mathlib.Algebra.Field.Periodic +public import Mathlib.Algebra.Field.Power +public import Mathlib.Algebra.Field.Rat +public import Mathlib.Algebra.Field.Shrink +public import Mathlib.Algebra.Field.Subfield.Basic +public import Mathlib.Algebra.Field.Subfield.Defs +public import Mathlib.Algebra.Field.TransferInstance +public import Mathlib.Algebra.Field.ULift +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.Algebra.FiveLemma +public import Mathlib.Algebra.Free +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.Algebra.FreeAbelianGroup.UniqueSums +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.Algebra.FreeAlgebra.Cardinality +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.FreeMonoid.Count +public import Mathlib.Algebra.FreeMonoid.Symbols +public import Mathlib.Algebra.FreeMonoid.UniqueProds +public import Mathlib.Algebra.FreeNonUnitalNonAssocAlgebra +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.GCDMonoid.Finset +public import Mathlib.Algebra.GCDMonoid.IntegrallyClosed +public import Mathlib.Algebra.GCDMonoid.Multiset +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Algebra.GCDMonoid.PUnit +public import Mathlib.Algebra.GeomSum +public import Mathlib.Algebra.GradedMonoid +public import Mathlib.Algebra.GradedMulAction +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Action.Equidecomp +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Action.Hom +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.Group.Action.Option +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Finite +public import Mathlib.Algebra.Group.Action.Pretransitive +public import Mathlib.Algebra.Group.Action.Prod +public import Mathlib.Algebra.Group.Action.Sigma +public import Mathlib.Algebra.Group.Action.Sum +public import Mathlib.Algebra.Group.Action.TransferInstance +public import Mathlib.Algebra.Group.Action.TypeTags +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Center +public import Mathlib.Algebra.Group.Commutator +public import Mathlib.Algebra.Group.Commute.Basic +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Commute.Hom +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Algebra.Group.Conj +public import Mathlib.Algebra.Group.ConjFinite +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Equiv.Finite +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.Group.Equiv.TypeTags +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.EvenFunction +public import Mathlib.Algebra.Group.Ext +public import Mathlib.Algebra.Group.Fin.Basic +public import Mathlib.Algebra.Group.Fin.Tuple +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.Group.ForwardDiff +public import Mathlib.Algebra.Group.Graph +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Group.Hom.CompTypeclasses +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Hom.End +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.Group.Idempotent +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Group.Int.Even +public import Mathlib.Algebra.Group.Int.TypeTags +public import Mathlib.Algebra.Group.Int.Units +public import Mathlib.Algebra.Group.Invertible.Basic +public import Mathlib.Algebra.Group.Invertible.Defs +public import Mathlib.Algebra.Group.Irreducible.Defs +public import Mathlib.Algebra.Group.Irreducible.Lemmas +public import Mathlib.Algebra.Group.MinimalAxioms +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.Nat.Even +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.Algebra.Group.Nat.Range +public import Mathlib.Algebra.Group.Nat.TypeTags +public import Mathlib.Algebra.Group.Nat.Units +public import Mathlib.Algebra.Group.NatPowAssoc +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.PNatPowAssoc +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Group.Pi.Units +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.BigOperators +public import Mathlib.Algebra.Group.Pointwise.Finset.Density +public import Mathlib.Algebra.Group.Pointwise.Finset.Interval +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.BigOperators +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.Algebra.Group.Pointwise.Set.Finite +public import Mathlib.Algebra.Group.Pointwise.Set.Lattice +public import Mathlib.Algebra.Group.Pointwise.Set.ListOfFn +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Group.Pointwise.Set.Small +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Group.Semiconj.Basic +public import Mathlib.Algebra.Group.Semiconj.Defs +public import Mathlib.Algebra.Group.Semiconj.Units +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.Group.Subgroup.Actions +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Subgroup.Even +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.Algebra.Group.Subgroup.Finsupp +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Algebra.Group.Subgroup.MulOpposite +public import Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas +public import Mathlib.Algebra.Group.Subgroup.Order +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Group.Submonoid.DistribMulAction +public import Mathlib.Algebra.Group.Submonoid.Finite +public import Mathlib.Algebra.Group.Submonoid.Finsupp +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.Group.Submonoid.MulAction +public import Mathlib.Algebra.Group.Submonoid.MulOpposite +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Group.Submonoid.Pointwise +public import Mathlib.Algebra.Group.Submonoid.Units +public import Mathlib.Algebra.Group.Subsemigroup.Basic +public import Mathlib.Algebra.Group.Subsemigroup.Defs +public import Mathlib.Algebra.Group.Subsemigroup.Membership +public import Mathlib.Algebra.Group.Subsemigroup.Operations +public import Mathlib.Algebra.Group.Support +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.Group.Translate +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Algebra.Group.TypeTags.Hom +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Algebra.Group.UniqueProds.Basic +public import Mathlib.Algebra.Group.UniqueProds.VectorSpace +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.Algebra.Group.Units.Opposite +public import Mathlib.Algebra.Group.WithOne.Basic +public import Mathlib.Algebra.Group.WithOne.Defs +public import Mathlib.Algebra.Group.WithOne.Map +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Center +public import Mathlib.Algebra.GroupWithZero.Action.ConjAct +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.Action.End +public import Mathlib.Algebra.GroupWithZero.Action.Faithful +public import Mathlib.Algebra.GroupWithZero.Action.Hom +public import Mathlib.Algebra.GroupWithZero.Action.Opposite +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Finset +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.GroupWithZero.Action.Prod +public import Mathlib.Algebra.GroupWithZero.Action.TransferInstance +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.GroupWithZero.Center +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.GroupWithZero.Conj +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.GroupWithZero.Equiv +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.Idempotent +public import Mathlib.Algebra.GroupWithZero.Indicator +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.GroupWithZero.Int +public import Mathlib.Algebra.GroupWithZero.Invertible +public import Mathlib.Algebra.GroupWithZero.Nat +public import Mathlib.Algebra.GroupWithZero.NeZero +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.GroupWithZero.Opposite +public import Mathlib.Algebra.GroupWithZero.Pi +public import Mathlib.Algebra.GroupWithZero.Pointwise.Finset +public import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic +public import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Card +public import Mathlib.Algebra.GroupWithZero.Prod +public import Mathlib.Algebra.GroupWithZero.ProdHom +public import Mathlib.Algebra.GroupWithZero.Range +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.GroupWithZero.Semiconj +public import Mathlib.Algebra.GroupWithZero.Shrink +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Algebra.GroupWithZero.Submonoid.CancelMulZero +public import Mathlib.Algebra.GroupWithZero.Submonoid.Instances +public import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise +public import Mathlib.Algebra.GroupWithZero.Submonoid.Primal +public import Mathlib.Algebra.GroupWithZero.Torsion +public import Mathlib.Algebra.GroupWithZero.TransferInstance +public import Mathlib.Algebra.GroupWithZero.ULift +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Equiv +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.GroupWithZero.WithZero +public import Mathlib.Algebra.HierarchyDesign +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.Algebra.Homology.AlternatingConst +public import Mathlib.Algebra.Homology.Augment +public import Mathlib.Algebra.Homology.Bifunctor +public import Mathlib.Algebra.Homology.BifunctorAssociator +public import Mathlib.Algebra.Homology.BifunctorFlip +public import Mathlib.Algebra.Homology.BifunctorHomotopy +public import Mathlib.Algebra.Homology.BifunctorShift +public import Mathlib.Algebra.Homology.CommSq +public import Mathlib.Algebra.Homology.ComplexShape +public import Mathlib.Algebra.Homology.ComplexShapeSigns +public import Mathlib.Algebra.Homology.ConcreteCategory +public import Mathlib.Algebra.Homology.DerivedCategory.Basic +public import Mathlib.Algebra.Homology.DerivedCategory.ExactFunctor +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass +public import Mathlib.Algebra.Homology.DerivedCategory.Fractions +public import Mathlib.Algebra.Homology.DerivedCategory.FullyFaithful +public import Mathlib.Algebra.Homology.DerivedCategory.HomologySequence +public import Mathlib.Algebra.Homology.DerivedCategory.Linear +public import Mathlib.Algebra.Homology.DerivedCategory.ShortExact +public import Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle +public import Mathlib.Algebra.Homology.DerivedCategory.TStructure +public import Mathlib.Algebra.Homology.DifferentialObject +public import Mathlib.Algebra.Homology.Double +public import Mathlib.Algebra.Homology.Embedding.AreComplementary +public import Mathlib.Algebra.Homology.Embedding.Basic +public import Mathlib.Algebra.Homology.Embedding.Boundary +public import Mathlib.Algebra.Homology.Embedding.CochainComplex +public import Mathlib.Algebra.Homology.Embedding.Connect +public import Mathlib.Algebra.Homology.Embedding.Extend +public import Mathlib.Algebra.Homology.Embedding.ExtendHomology +public import Mathlib.Algebra.Homology.Embedding.HomEquiv +public import Mathlib.Algebra.Homology.Embedding.IsSupported +public import Mathlib.Algebra.Homology.Embedding.Restriction +public import Mathlib.Algebra.Homology.Embedding.RestrictionHomology +public import Mathlib.Algebra.Homology.Embedding.StupidTrunc +public import Mathlib.Algebra.Homology.Embedding.TruncGE +public import Mathlib.Algebra.Homology.Embedding.TruncGEHomology +public import Mathlib.Algebra.Homology.Embedding.TruncLE +public import Mathlib.Algebra.Homology.Embedding.TruncLEHomology +public import Mathlib.Algebra.Homology.ExactSequence +public import Mathlib.Algebra.Homology.Factorizations.Basic +public import Mathlib.Algebra.Homology.Functor +public import Mathlib.Algebra.Homology.GrothendieckAbelian +public import Mathlib.Algebra.Homology.HasNoLoop +public import Mathlib.Algebra.Homology.HomologicalBicomplex +public import Mathlib.Algebra.Homology.HomologicalComplex +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian +public import Mathlib.Algebra.Homology.HomologicalComplexBiprod +public import Mathlib.Algebra.Homology.HomologicalComplexLimits +public import Mathlib.Algebra.Homology.HomologySequence +public import Mathlib.Algebra.Homology.HomologySequenceLemmas +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.Algebra.Homology.HomotopyCategory +public import Mathlib.Algebra.Homology.HomotopyCategory.DegreewiseSplit +public import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex +public import Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift +public import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor +public import Mathlib.Algebra.Homology.HomotopyCategory.MappingCone +public import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated +public import Mathlib.Algebra.Homology.HomotopyCategory.Shift +public import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence +public import Mathlib.Algebra.Homology.HomotopyCategory.ShortExact +public import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors +public import Mathlib.Algebra.Homology.HomotopyCategory.Triangulated +public import Mathlib.Algebra.Homology.HomotopyCofiber +public import Mathlib.Algebra.Homology.ImageToKernel +public import Mathlib.Algebra.Homology.Linear +public import Mathlib.Algebra.Homology.LocalCohomology +public import Mathlib.Algebra.Homology.Localization +public import Mathlib.Algebra.Homology.Monoidal +public import Mathlib.Algebra.Homology.Opposite +public import Mathlib.Algebra.Homology.QuasiIso +public import Mathlib.Algebra.Homology.Refinements +public import Mathlib.Algebra.Homology.ShortComplex.Ab +public import Mathlib.Algebra.Homology.ShortComplex.Abelian +public import Mathlib.Algebra.Homology.ShortComplex.Basic +public import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor +public import Mathlib.Algebra.Homology.ShortComplex.FunctorEquivalence +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Homology.ShortComplex.Homology +public import Mathlib.Algebra.Homology.ShortComplex.LeftHomology +public import Mathlib.Algebra.Homology.ShortComplex.Limits +public import Mathlib.Algebra.Homology.ShortComplex.Linear +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.Algebra.Homology.ShortComplex.Preadditive +public import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology +public import Mathlib.Algebra.Homology.ShortComplex.QuasiIso +public import Mathlib.Algebra.Homology.ShortComplex.Retract +public import Mathlib.Algebra.Homology.ShortComplex.RightHomology +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma +public import Mathlib.Algebra.Homology.Single +public import Mathlib.Algebra.Homology.SingleHomology +public import Mathlib.Algebra.Homology.Square +public import Mathlib.Algebra.Homology.TotalComplex +public import Mathlib.Algebra.Homology.TotalComplexShift +public import Mathlib.Algebra.Homology.TotalComplexSymmetry +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.Algebra.Jordan.Basic +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.Algebra.Lie.BaseChange +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.Algebra.Lie.CartanExists +public import Mathlib.Algebra.Lie.CartanMatrix +public import Mathlib.Algebra.Lie.CartanSubalgebra +public import Mathlib.Algebra.Lie.Character +public import Mathlib.Algebra.Lie.Classical +public import Mathlib.Algebra.Lie.Cochain +public import Mathlib.Algebra.Lie.Derivation.AdjointAction +public import Mathlib.Algebra.Lie.Derivation.Basic +public import Mathlib.Algebra.Lie.Derivation.Killing +public import Mathlib.Algebra.Lie.DirectSum +public import Mathlib.Algebra.Lie.Engel +public import Mathlib.Algebra.Lie.EngelSubalgebra +public import Mathlib.Algebra.Lie.Extension +public import Mathlib.Algebra.Lie.Free +public import Mathlib.Algebra.Lie.Ideal +public import Mathlib.Algebra.Lie.IdealOperations +public import Mathlib.Algebra.Lie.InvariantForm +public import Mathlib.Algebra.Lie.Killing +public import Mathlib.Algebra.Lie.LieTheorem +public import Mathlib.Algebra.Lie.Matrix +public import Mathlib.Algebra.Lie.Nilpotent +public import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra +public import Mathlib.Algebra.Lie.Normalizer +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.Quotient +public import Mathlib.Algebra.Lie.Rank +public import Mathlib.Algebra.Lie.Semisimple.Basic +public import Mathlib.Algebra.Lie.Semisimple.Defs +public import Mathlib.Algebra.Lie.Semisimple.Lemmas +public import Mathlib.Algebra.Lie.SkewAdjoint +public import Mathlib.Algebra.Lie.Sl2 +public import Mathlib.Algebra.Lie.Solvable +public import Mathlib.Algebra.Lie.Subalgebra +public import Mathlib.Algebra.Lie.Submodule +public import Mathlib.Algebra.Lie.TensorProduct +public import Mathlib.Algebra.Lie.TraceForm +public import Mathlib.Algebra.Lie.UniversalEnveloping +public import Mathlib.Algebra.Lie.Weights.Basic +public import Mathlib.Algebra.Lie.Weights.Cartan +public import Mathlib.Algebra.Lie.Weights.Chain +public import Mathlib.Algebra.Lie.Weights.IsSimple +public import Mathlib.Algebra.Lie.Weights.Killing +public import Mathlib.Algebra.Lie.Weights.Linear +public import Mathlib.Algebra.Lie.Weights.RootSystem +public import Mathlib.Algebra.LinearRecurrence +public import Mathlib.Algebra.ModEq +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.Module.Bimodule +public import Mathlib.Algebra.Module.Card +public import Mathlib.Algebra.Module.CharacterModule +public import Mathlib.Algebra.Module.DedekindDomain +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Module.End +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Equiv.Opposite +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.Algebra.Module.GradedModule +public import Mathlib.Algebra.Module.Hom +public import Mathlib.Algebra.Module.Injective +public import Mathlib.Algebra.Module.Lattice +public import Mathlib.Algebra.Module.LinearMap.Basic +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Module.LinearMap.DivisionRing +public import Mathlib.Algebra.Module.LinearMap.End +public import Mathlib.Algebra.Module.LinearMap.Polynomial +public import Mathlib.Algebra.Module.LinearMap.Prod +public import Mathlib.Algebra.Module.LinearMap.Rat +public import Mathlib.Algebra.Module.LinearMap.Star +public import Mathlib.Algebra.Module.LocalizedModule.AtPrime +public import Mathlib.Algebra.Module.LocalizedModule.Away +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.Algebra.Module.LocalizedModule.Exact +public import Mathlib.Algebra.Module.LocalizedModule.Int +public import Mathlib.Algebra.Module.LocalizedModule.IsLocalization +public import Mathlib.Algebra.Module.LocalizedModule.Submodule +public import Mathlib.Algebra.Module.MinimalAxioms +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Algebra.Module.PID +public import Mathlib.Algebra.Module.PUnit +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Module.PointwisePi +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.Algebra.Module.Presentation.Cokernel +public import Mathlib.Algebra.Module.Presentation.Differentials +public import Mathlib.Algebra.Module.Presentation.DirectSum +public import Mathlib.Algebra.Module.Presentation.Finite +public import Mathlib.Algebra.Module.Presentation.Free +public import Mathlib.Algebra.Module.Presentation.RestrictScalars +public import Mathlib.Algebra.Module.Presentation.Tautological +public import Mathlib.Algebra.Module.Presentation.Tensor +public import Mathlib.Algebra.Module.Prod +public import Mathlib.Algebra.Module.Projective +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Algebra.Module.RingHom +public import Mathlib.Algebra.Module.Shrink +public import Mathlib.Algebra.Module.SnakeLemma +public import Mathlib.Algebra.Module.SpanRank +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Algebra.Module.Submodule.Bilinear +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Algebra.Module.Submodule.EqLocus +public import Mathlib.Algebra.Module.Submodule.Equiv +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.Algebra.Module.Submodule.IterateMapComap +public import Mathlib.Algebra.Module.Submodule.Ker +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Algebra.Module.Submodule.LinearMap +public import Mathlib.Algebra.Module.Submodule.Map +public import Mathlib.Algebra.Module.Submodule.Order +public import Mathlib.Algebra.Module.Submodule.Pointwise +public import Mathlib.Algebra.Module.Submodule.Range +public import Mathlib.Algebra.Module.Submodule.RestrictScalars +public import Mathlib.Algebra.Module.Submodule.Union +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.Algebra.Module.TransferInstance +public import Mathlib.Algebra.Module.ULift +public import Mathlib.Algebra.Module.ZLattice.Basic +public import Mathlib.Algebra.Module.ZLattice.Covolume +public import Mathlib.Algebra.Module.ZMod +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Algebra.MonoidAlgebra.Defs +public import Mathlib.Algebra.MonoidAlgebra.Degree +public import Mathlib.Algebra.MonoidAlgebra.Division +public import Mathlib.Algebra.MonoidAlgebra.Grading +public import Mathlib.Algebra.MonoidAlgebra.Ideal +public import Mathlib.Algebra.MonoidAlgebra.Lift +public import Mathlib.Algebra.MonoidAlgebra.MapDomain +public import Mathlib.Algebra.MonoidAlgebra.Module +public import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors +public import Mathlib.Algebra.MonoidAlgebra.Opposite +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.Algebra.MonoidAlgebra.ToDirectSum +public import Mathlib.Algebra.MvPolynomial.Basic +public import Mathlib.Algebra.MvPolynomial.Cardinal +public import Mathlib.Algebra.MvPolynomial.Comap +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Counit +public import Mathlib.Algebra.MvPolynomial.Degrees +public import Mathlib.Algebra.MvPolynomial.Derivation +public import Mathlib.Algebra.MvPolynomial.Division +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.Algebra.MvPolynomial.Expand +public import Mathlib.Algebra.MvPolynomial.Funext +public import Mathlib.Algebra.MvPolynomial.Invertible +public import Mathlib.Algebra.MvPolynomial.Monad +public import Mathlib.Algebra.MvPolynomial.Nilpotent +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.Algebra.MvPolynomial.Polynomial +public import Mathlib.Algebra.MvPolynomial.Rename +public import Mathlib.Algebra.MvPolynomial.SchwartzZippel +public import Mathlib.Algebra.MvPolynomial.Supported +public import Mathlib.Algebra.MvPolynomial.Variables +public import Mathlib.Algebra.NeZero +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.NoZeroSMulDivisors.Pi +public import Mathlib.Algebra.NoZeroSMulDivisors.Prod +public import Mathlib.Algebra.NonAssoc.LieAdmissible.Defs +public import Mathlib.Algebra.NonAssoc.PreLie.Basic +public import Mathlib.Algebra.Notation +public import Mathlib.Algebra.Notation.Defs +public import Mathlib.Algebra.Notation.FiniteSupport +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Algebra.Notation.Lemmas +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Algebra.Opposites +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.Order.AbsoluteValue.Euclidean +public import Mathlib.Algebra.Order.AddGroupWithTop +public import Mathlib.Algebra.Order.AddTorsor +public import Mathlib.Algebra.Order.Algebra +public import Mathlib.Algebra.Order.Antidiag.Finsupp +public import Mathlib.Algebra.Order.Antidiag.Nat +public import Mathlib.Algebra.Order.Antidiag.Pi +public import Mathlib.Algebra.Order.Antidiag.Prod +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.Archimedean.Class +public import Mathlib.Algebra.Order.Archimedean.Hom +public import Mathlib.Algebra.Order.Archimedean.IndicatorCard +public import Mathlib.Algebra.Order.Archimedean.Submonoid +public import Mathlib.Algebra.Order.BigOperators.Expect +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.BigOperators.Group.List +public import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite +public import Mathlib.Algebra.Order.BigOperators.Group.Multiset +public import Mathlib.Algebra.Order.BigOperators.GroupWithZero.List +public import Mathlib.Algebra.Order.BigOperators.GroupWithZero.Multiset +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.BigOperators.Ring.List +public import Mathlib.Algebra.Order.BigOperators.Ring.Multiset +public import Mathlib.Algebra.Order.CauSeq.Basic +public import Mathlib.Algebra.Order.CauSeq.BigOperators +public import Mathlib.Algebra.Order.CauSeq.Completion +public import Mathlib.Algebra.Order.Chebyshev +public import Mathlib.Algebra.Order.CompleteField +public import Mathlib.Algebra.Order.Disjointed +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Field.Canonical +public import Mathlib.Algebra.Order.Field.Defs +public import Mathlib.Algebra.Order.Field.GeomSum +public import Mathlib.Algebra.Order.Field.InjSurj +public import Mathlib.Algebra.Order.Field.Pi +public import Mathlib.Algebra.Order.Field.Pointwise +public import Mathlib.Algebra.Order.Field.Power +public import Mathlib.Algebra.Order.Field.Rat +public import Mathlib.Algebra.Order.Field.Subfield +public import Mathlib.Algebra.Order.Floor +public import Mathlib.Algebra.Order.Floor.Defs +public import Mathlib.Algebra.Order.Floor.Div +public import Mathlib.Algebra.Order.Floor.Ring +public import Mathlib.Algebra.Order.Floor.Semifield +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Group.Action +public import Mathlib.Algebra.Order.Group.Action.End +public import Mathlib.Algebra.Order.Group.Action.Flag +public import Mathlib.Algebra.Order.Group.Action.Synonym +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.Algebra.Order.Group.Bounds +public import Mathlib.Algebra.Order.Group.CompleteLattice +public import Mathlib.Algebra.Order.Group.Cone +public import Mathlib.Algebra.Order.Group.Cyclic +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Group.DenselyOrdered +public import Mathlib.Algebra.Order.Group.End +public import Mathlib.Algebra.Order.Group.Equiv +public import Mathlib.Algebra.Order.Group.Finset +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Algebra.Order.Group.InjSurj +public import Mathlib.Algebra.Order.Group.Instances +public import Mathlib.Algebra.Order.Group.Int +public import Mathlib.Algebra.Order.Group.Int.Sum +public import Mathlib.Algebra.Order.Group.Lattice +public import Mathlib.Algebra.Order.Group.MinMax +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Group.Opposite +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Order.Group.PartialSups +public import Mathlib.Algebra.Order.Group.PiLex +public import Mathlib.Algebra.Order.Group.Pointwise.Bounds +public import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Algebra.Order.Group.PosPart +public import Mathlib.Algebra.Order.Group.Prod +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Group.TypeTags +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Order.Group.Units +public import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym +public import Mathlib.Algebra.Order.GroupWithZero.Bounds +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.GroupWithZero.Finset +public import Mathlib.Algebra.Order.GroupWithZero.Lex +public import Mathlib.Algebra.Order.GroupWithZero.Submonoid +public import Mathlib.Algebra.Order.GroupWithZero.Synonym +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Lemmas +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +public import Mathlib.Algebra.Order.GroupWithZero.WithZero +public import Mathlib.Algebra.Order.Hom.Basic +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Algebra.Order.Hom.MonoidWithZero +public import Mathlib.Algebra.Order.Hom.Ring +public import Mathlib.Algebra.Order.Hom.Submonoid +public import Mathlib.Algebra.Order.Hom.TypeTags +public import Mathlib.Algebra.Order.Hom.Units +public import Mathlib.Algebra.Order.Interval.Basic +public import Mathlib.Algebra.Order.Interval.Finset.Basic +public import Mathlib.Algebra.Order.Interval.Finset.SuccPred +public import Mathlib.Algebra.Order.Interval.Multiset +public import Mathlib.Algebra.Order.Interval.Set.Group +public import Mathlib.Algebra.Order.Interval.Set.Instances +public import Mathlib.Algebra.Order.Interval.Set.Monoid +public import Mathlib.Algebra.Order.Interval.Set.SuccPred +public import Mathlib.Algebra.Order.Invertible +public import Mathlib.Algebra.Order.Kleene +public import Mathlib.Algebra.Order.Module.Algebra +public import Mathlib.Algebra.Order.Module.Archimedean +public import Mathlib.Algebra.Order.Module.Basic +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Module.Equiv +public import Mathlib.Algebra.Order.Module.Field +public import Mathlib.Algebra.Order.Module.HahnEmbedding +public import Mathlib.Algebra.Order.Module.OrderedSMul +public import Mathlib.Algebra.Order.Module.Pointwise +public import Mathlib.Algebra.Order.Module.PositiveLinearMap +public import Mathlib.Algebra.Order.Module.Rat +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.Algebra.Order.Monoid.Associated +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Algebra.Order.Monoid.Canonical.Basic +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Lex +public import Mathlib.Algebra.Order.Monoid.LocallyFiniteOrder +public import Mathlib.Algebra.Order.Monoid.NatCast +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Algebra.Order.Monoid.PNat +public import Mathlib.Algebra.Order.Monoid.Prod +public import Mathlib.Algebra.Order.Monoid.Submonoid +public import Mathlib.Algebra.Order.Monoid.ToMulBot +public import Mathlib.Algebra.Order.Monoid.TypeTags +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags +public import Mathlib.Algebra.Order.Monoid.Unbundled.Units +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Order.Monoid.Units +public import Mathlib.Algebra.Order.Monoid.WithTop +public import Mathlib.Algebra.Order.Monovary +public import Mathlib.Algebra.Order.Nonneg.Basic +public import Mathlib.Algebra.Order.Nonneg.Field +public import Mathlib.Algebra.Order.Nonneg.Floor +public import Mathlib.Algebra.Order.Nonneg.Lattice +public import Mathlib.Algebra.Order.Nonneg.Module +public import Mathlib.Algebra.Order.Nonneg.Ring +public import Mathlib.Algebra.Order.PUnit +public import Mathlib.Algebra.Order.PartialSups +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Algebra.Order.Positive.Field +public import Mathlib.Algebra.Order.Positive.Ring +public import Mathlib.Algebra.Order.Quantale +public import Mathlib.Algebra.Order.Rearrangement +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Algebra.Order.Ring.Archimedean +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Algebra.Order.Ring.Cast +public import Mathlib.Algebra.Order.Ring.Cone +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Order.Ring.Finset +public import Mathlib.Algebra.Order.Ring.GeomSum +public import Mathlib.Algebra.Order.Ring.Idempotent +public import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.Order.Ring.IsNonarchimedean +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Algebra.Order.Ring.Opposite +public import Mathlib.Algebra.Order.Ring.Ordering.Basic +public import Mathlib.Algebra.Order.Ring.Ordering.Defs +public import Mathlib.Algebra.Order.Ring.Pow +public import Mathlib.Algebra.Order.Ring.Prod +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.Algebra.Order.Ring.Star +public import Mathlib.Algebra.Order.Ring.Synonym +public import Mathlib.Algebra.Order.Ring.Unbundled.Basic +public import Mathlib.Algebra.Order.Ring.Unbundled.Rat +public import Mathlib.Algebra.Order.Ring.Units +public import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.Order.Round +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Algebra.Order.Star.Conjneg +public import Mathlib.Algebra.Order.Star.Prod +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Algebra.Order.Sub.Prod +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public import Mathlib.Algebra.Order.Sub.Unbundled.Hom +public import Mathlib.Algebra.Order.Sub.WithTop +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Algebra.Order.SuccPred.PartialSups +public import Mathlib.Algebra.Order.SuccPred.TypeTags +public import Mathlib.Algebra.Order.SuccPred.WithBot +public import Mathlib.Algebra.Order.Sum +public import Mathlib.Algebra.Order.ToIntervalMod +public import Mathlib.Algebra.Order.UpperLower +public import Mathlib.Algebra.Order.WithTop.Untop0 +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Algebra.PEmptyInstances +public import Mathlib.Algebra.Pointwise.Stabilizer +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Algebra.Polynomial.Basis +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Polynomial.Bivariate +public import Mathlib.Algebra.Polynomial.CancelLeads +public import Mathlib.Algebra.Polynomial.Cardinal +public import Mathlib.Algebra.Polynomial.Coeff +public import Mathlib.Algebra.Polynomial.CoeffList +public import Mathlib.Algebra.Polynomial.CoeffMem +public import Mathlib.Algebra.Polynomial.Degree.CardPowDegree +public import Mathlib.Algebra.Polynomial.Degree.Definitions +public import Mathlib.Algebra.Polynomial.Degree.Domain +public import Mathlib.Algebra.Polynomial.Degree.IsMonicOfDegree +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Algebra.Polynomial.Degree.Monomial +public import Mathlib.Algebra.Polynomial.Degree.Operations +public import Mathlib.Algebra.Polynomial.Degree.SmallDegree +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Algebra.Polynomial.Degree.TrailingDegree +public import Mathlib.Algebra.Polynomial.Degree.Units +public import Mathlib.Algebra.Polynomial.DenomsClearable +public import Mathlib.Algebra.Polynomial.Derivation +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.Algebra.Polynomial.EraseLead +public import Mathlib.Algebra.Polynomial.Eval.Algebra +public import Mathlib.Algebra.Polynomial.Eval.Coeff +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.Algebra.Polynomial.Eval.Degree +public import Mathlib.Algebra.Polynomial.Eval.Irreducible +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.Algebra.Polynomial.Eval.Subring +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.Algebra.Polynomial.GroupRingAction +public import Mathlib.Algebra.Polynomial.HasseDeriv +public import Mathlib.Algebra.Polynomial.Homogenize +public import Mathlib.Algebra.Polynomial.Identities +public import Mathlib.Algebra.Polynomial.Inductions +public import Mathlib.Algebra.Polynomial.Laurent +public import Mathlib.Algebra.Polynomial.Lifts +public import Mathlib.Algebra.Polynomial.Mirror +public import Mathlib.Algebra.Polynomial.Module.AEval +public import Mathlib.Algebra.Polynomial.Module.Basic +public import Mathlib.Algebra.Polynomial.Module.FiniteDimensional +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Algebra.Polynomial.Monomial +public import Mathlib.Algebra.Polynomial.OfFn +public import Mathlib.Algebra.Polynomial.PartialFractions +public import Mathlib.Algebra.Polynomial.Reverse +public import Mathlib.Algebra.Polynomial.RingDivision +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Algebra.Polynomial.RuleOfSigns +public import Mathlib.Algebra.Polynomial.Sequence +public import Mathlib.Algebra.Polynomial.Smeval +public import Mathlib.Algebra.Polynomial.SpecificDegree +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.Algebra.Polynomial.SumIteratedDerivative +public import Mathlib.Algebra.Polynomial.Taylor +public import Mathlib.Algebra.Polynomial.UnitTrinomial +public import Mathlib.Algebra.PresentedMonoid.Basic +public import Mathlib.Algebra.Prime.Defs +public import Mathlib.Algebra.Prime.Lemmas +public import Mathlib.Algebra.QuadraticAlgebra +public import Mathlib.Algebra.QuadraticDiscriminant +public import Mathlib.Algebra.Quandle +public import Mathlib.Algebra.Quaternion +public import Mathlib.Algebra.QuaternionBasis +public import Mathlib.Algebra.Quotient +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.Algebra.Regular.Defs +public import Mathlib.Algebra.Regular.Opposite +public import Mathlib.Algebra.Regular.Pi +public import Mathlib.Algebra.Regular.Pow +public import Mathlib.Algebra.Regular.Prod +public import Mathlib.Algebra.Regular.SMul +public import Mathlib.Algebra.Regular.ULift +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.Algebra.Ring.Action.ConjAct +public import Mathlib.Algebra.Ring.Action.End +public import Mathlib.Algebra.Ring.Action.Field +public import Mathlib.Algebra.Ring.Action.Group +public import Mathlib.Algebra.Ring.Action.Invariant +public import Mathlib.Algebra.Ring.Action.Pointwise.Finset +public import Mathlib.Algebra.Ring.Action.Pointwise.Set +public import Mathlib.Algebra.Ring.Action.Rat +public import Mathlib.Algebra.Ring.Action.Submonoid +public import Mathlib.Algebra.Ring.Action.Subobjects +public import Mathlib.Algebra.Ring.AddAut +public import Mathlib.Algebra.Ring.Associated +public import Mathlib.Algebra.Ring.Associator +public import Mathlib.Algebra.Ring.Aut +public import Mathlib.Algebra.Ring.Basic +public import Mathlib.Algebra.Ring.BooleanRing +public import Mathlib.Algebra.Ring.Center +public import Mathlib.Algebra.Ring.Centralizer +public import Mathlib.Algebra.Ring.CentroidHom +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Algebra.Ring.Commute +public import Mathlib.Algebra.Ring.CompTypeclasses +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Divisibility.Lemmas +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.Ext +public import Mathlib.Algebra.Ring.Fin +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.Algebra.Ring.GrindInstances +public import Mathlib.Algebra.Ring.Hom.Basic +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Algebra.Ring.Hom.InjSurj +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.Algebra.Ring.Identities +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.Algebra.Ring.Invertible +public import Mathlib.Algebra.Ring.MinimalAxioms +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.Algebra.Ring.NonZeroDivisors +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Algebra.Ring.PUnit +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Algebra.Ring.Periodic +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Algebra.Ring.Pointwise.Finset +public import Mathlib.Algebra.Ring.Pointwise.Set +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Ring.Rat +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Algebra.Ring.Semiconj +public import Mathlib.Algebra.Ring.Semireal.Defs +public import Mathlib.Algebra.Ring.Shrink +public import Mathlib.Algebra.Ring.Subgroup +public import Mathlib.Algebra.Ring.Submonoid +public import Mathlib.Algebra.Ring.Submonoid.Basic +public import Mathlib.Algebra.Ring.Submonoid.Pointwise +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.Algebra.Ring.Subring.Defs +public import Mathlib.Algebra.Ring.Subring.IntPolynomial +public import Mathlib.Algebra.Ring.Subring.MulOpposite +public import Mathlib.Algebra.Ring.Subring.Order +public import Mathlib.Algebra.Ring.Subring.Pointwise +public import Mathlib.Algebra.Ring.Subring.Units +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.Algebra.Ring.Subsemiring.Defs +public import Mathlib.Algebra.Ring.Subsemiring.MulOpposite +public import Mathlib.Algebra.Ring.Subsemiring.Order +public import Mathlib.Algebra.Ring.Subsemiring.Pointwise +public import Mathlib.Algebra.Ring.SumsOfSquares +public import Mathlib.Algebra.Ring.Torsion +public import Mathlib.Algebra.Ring.TransferInstance +public import Mathlib.Algebra.Ring.ULift +public import Mathlib.Algebra.Ring.Units +public import Mathlib.Algebra.Ring.WithZero +public import Mathlib.Algebra.RingQuot +public import Mathlib.Algebra.SkewMonoidAlgebra.Basic +public import Mathlib.Algebra.SkewMonoidAlgebra.Lift +public import Mathlib.Algebra.SkewMonoidAlgebra.Single +public import Mathlib.Algebra.SkewMonoidAlgebra.Support +public import Mathlib.Algebra.Squarefree.Basic +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.Star.BigOperators +public import Mathlib.Algebra.Star.CHSH +public import Mathlib.Algebra.Star.Center +public import Mathlib.Algebra.Star.CentroidHom +public import Mathlib.Algebra.Star.Conjneg +public import Mathlib.Algebra.Star.Free +public import Mathlib.Algebra.Star.Module +public import Mathlib.Algebra.Star.MonoidHom +public import Mathlib.Algebra.Star.NonUnitalSubalgebra +public import Mathlib.Algebra.Star.NonUnitalSubsemiring +public import Mathlib.Algebra.Star.Pi +public import Mathlib.Algebra.Star.Pointwise +public import Mathlib.Algebra.Star.Prod +public import Mathlib.Algebra.Star.Rat +public import Mathlib.Algebra.Star.RingQuot +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Star.StarAlgHom +public import Mathlib.Algebra.Star.StarProjection +public import Mathlib.Algebra.Star.StarRingHom +public import Mathlib.Algebra.Star.Subalgebra +public import Mathlib.Algebra.Star.Subsemiring +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.Algebra.Symmetrized +public import Mathlib.Algebra.TrivSqZeroExt +public import Mathlib.Algebra.Tropical.Basic +public import Mathlib.Algebra.Tropical.BigOperators +public import Mathlib.Algebra.Tropical.Lattice +public import Mathlib.Algebra.Vertex.HVertexOperator +public import Mathlib.Algebra.Vertex.VertexOperator +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.AlgebraicGeometry.AffineSpace +public import Mathlib.AlgebraicGeometry.AffineTransitionLimit +public import Mathlib.AlgebraicGeometry.Cover.Directed +public import Mathlib.AlgebraicGeometry.Cover.MorphismProperty +public import Mathlib.AlgebraicGeometry.Cover.Open +public import Mathlib.AlgebraicGeometry.Cover.Over +public import Mathlib.AlgebraicGeometry.Cover.Sigma +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic +public import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Degree +public import Mathlib.AlgebraicGeometry.EllipticCurve.Group +public import Mathlib.AlgebraicGeometry.EllipticCurve.IsomOfJ +public import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic +public import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.ModelsWithJ +public import Mathlib.AlgebraicGeometry.EllipticCurve.NormalForms +public import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic +public import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.Reduction +public import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange +public import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass +public import Mathlib.AlgebraicGeometry.Fiber +public import Mathlib.AlgebraicGeometry.FunctionField +public import Mathlib.AlgebraicGeometry.GammaSpecAdjunction +public import Mathlib.AlgebraicGeometry.Gluing +public import Mathlib.AlgebraicGeometry.GluingOneHypercover +public import Mathlib.AlgebraicGeometry.IdealSheaf +public import Mathlib.AlgebraicGeometry.IdealSheaf.Basic +public import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial +public import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme +public import Mathlib.AlgebraicGeometry.Limits +public import Mathlib.AlgebraicGeometry.Modules.Presheaf +public import Mathlib.AlgebraicGeometry.Modules.Sheaf +public import Mathlib.AlgebraicGeometry.Modules.Tilde +public import Mathlib.AlgebraicGeometry.Morphisms.Affine +public import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd +public import Mathlib.AlgebraicGeometry.Morphisms.Basic +public import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion +public import Mathlib.AlgebraicGeometry.Morphisms.Constructors +public import Mathlib.AlgebraicGeometry.Morphisms.Descent +public import Mathlib.AlgebraicGeometry.Morphisms.Etale +public import Mathlib.AlgebraicGeometry.Morphisms.Finite +public import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation +public import Mathlib.AlgebraicGeometry.Morphisms.FiniteType +public import Mathlib.AlgebraicGeometry.Morphisms.Flat +public import Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified +public import Mathlib.AlgebraicGeometry.Morphisms.Immersion +public import Mathlib.AlgebraicGeometry.Morphisms.Integral +public import Mathlib.AlgebraicGeometry.Morphisms.IsIso +public import Mathlib.AlgebraicGeometry.Morphisms.LocalClosure +public import Mathlib.AlgebraicGeometry.Morphisms.LocalIso +public import Mathlib.AlgebraicGeometry.Morphisms.OpenImmersion +public import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion +public import Mathlib.AlgebraicGeometry.Morphisms.Proper +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated +public import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.AlgebraicGeometry.Morphisms.Smooth +public import Mathlib.AlgebraicGeometry.Morphisms.SurjectiveOnStalks +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +public import Mathlib.AlgebraicGeometry.Morphisms.UniversallyClosed +public import Mathlib.AlgebraicGeometry.Morphisms.UniversallyInjective +public import Mathlib.AlgebraicGeometry.Morphisms.UniversallyOpen +public import Mathlib.AlgebraicGeometry.Noetherian +public import Mathlib.AlgebraicGeometry.OpenImmersion +public import Mathlib.AlgebraicGeometry.Over +public import Mathlib.AlgebraicGeometry.PointsPi +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Basic +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Proper +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Scheme +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology +public import Mathlib.AlgebraicGeometry.Properties +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.AlgebraicGeometry.Pullbacks +public import Mathlib.AlgebraicGeometry.QuasiAffine +public import Mathlib.AlgebraicGeometry.RationalMap +public import Mathlib.AlgebraicGeometry.ResidueField +public import Mathlib.AlgebraicGeometry.Restrict +public import Mathlib.AlgebraicGeometry.Scheme +public import Mathlib.AlgebraicGeometry.Sites.BigZariski +public import Mathlib.AlgebraicGeometry.Sites.Etale +public import Mathlib.AlgebraicGeometry.Sites.MorphismProperty +public import Mathlib.AlgebraicGeometry.Sites.Pretopology +public import Mathlib.AlgebraicGeometry.Sites.Representability +public import Mathlib.AlgebraicGeometry.Sites.Small +public import Mathlib.AlgebraicGeometry.Sites.SmallAffineZariski +public import Mathlib.AlgebraicGeometry.Spec +public import Mathlib.AlgebraicGeometry.SpreadingOut +public import Mathlib.AlgebraicGeometry.Stalk +public import Mathlib.AlgebraicGeometry.StructureSheaf +public import Mathlib.AlgebraicGeometry.ValuativeCriterion +public import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex +public import Mathlib.AlgebraicTopology.CechNerve +public import Mathlib.AlgebraicTopology.DoldKan.Compatibility +public import Mathlib.AlgebraicTopology.DoldKan.Decomposition +public import Mathlib.AlgebraicTopology.DoldKan.Degeneracies +public import Mathlib.AlgebraicTopology.DoldKan.Equivalence +public import Mathlib.AlgebraicTopology.DoldKan.EquivalenceAdditive +public import Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian +public import Mathlib.AlgebraicTopology.DoldKan.Faces +public import Mathlib.AlgebraicTopology.DoldKan.FunctorGamma +public import Mathlib.AlgebraicTopology.DoldKan.FunctorN +public import Mathlib.AlgebraicTopology.DoldKan.GammaCompN +public import Mathlib.AlgebraicTopology.DoldKan.Homotopies +public import Mathlib.AlgebraicTopology.DoldKan.HomotopyEquivalence +public import Mathlib.AlgebraicTopology.DoldKan.NCompGamma +public import Mathlib.AlgebraicTopology.DoldKan.NReflectsIso +public import Mathlib.AlgebraicTopology.DoldKan.Normalized +public import Mathlib.AlgebraicTopology.DoldKan.Notations +public import Mathlib.AlgebraicTopology.DoldKan.PInfty +public import Mathlib.AlgebraicTopology.DoldKan.Projections +public import Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject +public import Mathlib.AlgebraicTopology.ExtraDegeneracy +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.FundamentalGroup +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.InducedMaps +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.PUnit +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Product +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected +public import Mathlib.AlgebraicTopology.ModelCategory.Basic +public import Mathlib.AlgebraicTopology.ModelCategory.BrownLemma +public import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations +public import Mathlib.AlgebraicTopology.ModelCategory.Cylinder +public import Mathlib.AlgebraicTopology.ModelCategory.Homotopy +public import Mathlib.AlgebraicTopology.ModelCategory.Instances +public import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +public import Mathlib.AlgebraicTopology.ModelCategory.JoyalTrick +public import Mathlib.AlgebraicTopology.ModelCategory.LeftHomotopy +public import Mathlib.AlgebraicTopology.ModelCategory.PathObject +public import Mathlib.AlgebraicTopology.ModelCategory.RightHomotopy +public import Mathlib.AlgebraicTopology.MooreComplex +public import Mathlib.AlgebraicTopology.Quasicategory.Basic +public import Mathlib.AlgebraicTopology.Quasicategory.Nerve +public import Mathlib.AlgebraicTopology.Quasicategory.StrictSegal +public import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells +public import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic +public import Mathlib.AlgebraicTopology.SimplexCategory.Augmented +public import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic +public import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Monoidal +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.AlgebraicTopology.SimplexCategory.Defs +public import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.Basic +public import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.EpiMono +public import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.NormalForms +public import Mathlib.AlgebraicTopology.SimplexCategory.MorphismProperty +public import Mathlib.AlgebraicTopology.SimplexCategory.Rev +public import Mathlib.AlgebraicTopology.SimplexCategory.Truncated +public import Mathlib.AlgebraicTopology.SimplicialCategory.Basic +public import Mathlib.AlgebraicTopology.SimplicialCategory.SimplicialObject +public import Mathlib.AlgebraicTopology.SimplicialNerve +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.AlgebraicTopology.SimplicialObject.Coskeletal +public import Mathlib.AlgebraicTopology.SimplicialObject.II +public import Mathlib.AlgebraicTopology.SimplicialObject.Op +public import Mathlib.AlgebraicTopology.SimplicialObject.Split +public import Mathlib.AlgebraicTopology.SimplicialSet.Basic +public import Mathlib.AlgebraicTopology.SimplicialSet.Boundary +public import Mathlib.AlgebraicTopology.SimplicialSet.CategoryWithFibrations +public import Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal +public import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate +public import Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat +public import Mathlib.AlgebraicTopology.SimplicialSet.Horn +public import Mathlib.AlgebraicTopology.SimplicialSet.KanComplex +public import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal +public import Mathlib.AlgebraicTopology.SimplicialSet.Nerve +public import Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction +public import Mathlib.AlgebraicTopology.SimplicialSet.NerveNondegenerate +public import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplices +public import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplicesSubcomplex +public import Mathlib.AlgebraicTopology.SimplicialSet.Op +public import Mathlib.AlgebraicTopology.SimplicialSet.Path +public import Mathlib.AlgebraicTopology.SimplicialSet.Simplices +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +public import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal +public import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex +public import Mathlib.AlgebraicTopology.SingularHomology.Basic +public import Mathlib.AlgebraicTopology.SingularSet +public import Mathlib.AlgebraicTopology.TopologicalSimplex +public import Mathlib.Analysis.AbsoluteValue.Equivalence +public import Mathlib.Analysis.Analytic.Basic +public import Mathlib.Analysis.Analytic.Binomial +public import Mathlib.Analysis.Analytic.CPolynomial +public import Mathlib.Analysis.Analytic.CPolynomialDef +public import Mathlib.Analysis.Analytic.ChangeOrigin +public import Mathlib.Analysis.Analytic.Composition +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Analytic.ConvergenceRadius +public import Mathlib.Analysis.Analytic.Inverse +public import Mathlib.Analysis.Analytic.IsolatedZeros +public import Mathlib.Analysis.Analytic.IteratedFDeriv +public import Mathlib.Analysis.Analytic.Linear +public import Mathlib.Analysis.Analytic.OfScalars +public import Mathlib.Analysis.Analytic.Order +public import Mathlib.Analysis.Analytic.Polynomial +public import Mathlib.Analysis.Analytic.RadiusLiminf +public import Mathlib.Analysis.Analytic.Uniqueness +public import Mathlib.Analysis.Analytic.WithLp +public import Mathlib.Analysis.Analytic.Within +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.Asymptotics.Completion +public import Mathlib.Analysis.Asymptotics.Defs +public import Mathlib.Analysis.Asymptotics.ExpGrowth +public import Mathlib.Analysis.Asymptotics.Lemmas +public import Mathlib.Analysis.Asymptotics.LinearGrowth +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +public import Mathlib.Analysis.Asymptotics.SuperpolynomialDecay +public import Mathlib.Analysis.Asymptotics.TVS +public import Mathlib.Analysis.Asymptotics.Theta +public import Mathlib.Analysis.BoundedVariation +public import Mathlib.Analysis.BoxIntegral.Basic +public import Mathlib.Analysis.BoxIntegral.Box.Basic +public import Mathlib.Analysis.BoxIntegral.Box.SubboxInduction +public import Mathlib.Analysis.BoxIntegral.DivergenceTheorem +public import Mathlib.Analysis.BoxIntegral.Integrability +public import Mathlib.Analysis.BoxIntegral.Partition.Additive +public import Mathlib.Analysis.BoxIntegral.Partition.Basic +public import Mathlib.Analysis.BoxIntegral.Partition.Filter +public import Mathlib.Analysis.BoxIntegral.Partition.Measure +public import Mathlib.Analysis.BoxIntegral.Partition.Split +public import Mathlib.Analysis.BoxIntegral.Partition.SubboxInduction +public import Mathlib.Analysis.BoxIntegral.Partition.Tagged +public import Mathlib.Analysis.BoxIntegral.UnitPartition +public import Mathlib.Analysis.CStarAlgebra.ApproximateUnit +public import Mathlib.Analysis.CStarAlgebra.Basic +public import Mathlib.Analysis.CStarAlgebra.CStarMatrix +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.CStarAlgebra.CompletelyPositiveMap +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Commute +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Continuity +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Note +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Pi +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Range +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unitary +public import Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap +public import Mathlib.Analysis.CStarAlgebra.ContinuousMap +public import Mathlib.Analysis.CStarAlgebra.Exponential +public import Mathlib.Analysis.CStarAlgebra.GelfandDuality +public import Mathlib.Analysis.CStarAlgebra.Hom +public import Mathlib.Analysis.CStarAlgebra.Matrix +public import Mathlib.Analysis.CStarAlgebra.Module.Constructions +public import Mathlib.Analysis.CStarAlgebra.Module.Defs +public import Mathlib.Analysis.CStarAlgebra.Module.Synonym +public import Mathlib.Analysis.CStarAlgebra.Multiplier +public import Mathlib.Analysis.CStarAlgebra.PositiveLinearMap +public import Mathlib.Analysis.CStarAlgebra.Projection +public import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart +public import Mathlib.Analysis.CStarAlgebra.Spectrum +public import Mathlib.Analysis.CStarAlgebra.Unitary.Connected +public import Mathlib.Analysis.CStarAlgebra.Unitary.Span +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.CStarAlgebra.lpSpace +public import Mathlib.Analysis.Calculus.AddTorsor.AffineMap +public import Mathlib.Analysis.Calculus.AddTorsor.Coord +public import Mathlib.Analysis.Calculus.BumpFunction.Basic +public import Mathlib.Analysis.Calculus.BumpFunction.Convolution +public import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension +public import Mathlib.Analysis.Calculus.BumpFunction.InnerProduct +public import Mathlib.Analysis.Calculus.BumpFunction.Normed +public import Mathlib.Analysis.Calculus.BumpFunction.SmoothApprox +public import Mathlib.Analysis.Calculus.Conformal.InnerProduct +public import Mathlib.Analysis.Calculus.Conformal.NormedSpace +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.ContDiff.Bounds +public import Mathlib.Analysis.Calculus.ContDiff.CPolynomial +public import Mathlib.Analysis.Calculus.ContDiff.Defs +public import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries +public import Mathlib.Analysis.Calculus.ContDiff.FaaDiBruno +public import Mathlib.Analysis.Calculus.ContDiff.FiniteDimension +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.ContDiff.RCLike +public import Mathlib.Analysis.Calculus.ContDiff.RestrictScalars +public import Mathlib.Analysis.Calculus.ContDiff.WithLp +public import Mathlib.Analysis.Calculus.DSlope +public import Mathlib.Analysis.Calculus.Darboux +public import Mathlib.Analysis.Calculus.Deriv.Abs +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.AffineMap +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.Deriv.CompMul +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.Calculus.Deriv.Inverse +public import Mathlib.Analysis.Calculus.Deriv.Linear +public import Mathlib.Analysis.Calculus.Deriv.MeanValue +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Pi +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.Deriv.Prod +public import Mathlib.Analysis.Calculus.Deriv.Shift +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.Analysis.Calculus.Deriv.Star +public import Mathlib.Analysis.Calculus.Deriv.Support +public import Mathlib.Analysis.Calculus.Deriv.ZPow +public import Mathlib.Analysis.Calculus.DerivativeTest +public import Mathlib.Analysis.Calculus.DiffContOnCl +public import Mathlib.Analysis.Calculus.DifferentialForm.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.FDeriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Bilinear +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.CompCLM +public import Mathlib.Analysis.Calculus.FDeriv.Congr +public import Mathlib.Analysis.Calculus.FDeriv.Const +public import Mathlib.Analysis.Calculus.FDeriv.Defs +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.FDeriv.Extend +public import Mathlib.Analysis.Calculus.FDeriv.Linear +public import Mathlib.Analysis.Calculus.FDeriv.Measurable +public import Mathlib.Analysis.Calculus.FDeriv.Mul +public import Mathlib.Analysis.Calculus.FDeriv.Norm +public import Mathlib.Analysis.Calculus.FDeriv.Pi +public import Mathlib.Analysis.Calculus.FDeriv.Pow +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars +public import Mathlib.Analysis.Calculus.FDeriv.Star +public import Mathlib.Analysis.Calculus.FDeriv.Symmetric +public import Mathlib.Analysis.Calculus.FDeriv.WithLp +public import Mathlib.Analysis.Calculus.FormalMultilinearSeries +public import Mathlib.Analysis.Calculus.Gradient.Basic +public import Mathlib.Analysis.Calculus.Implicit +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ContDiff +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FiniteDimensional +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.Calculus.IteratedDeriv.FaaDiBruno +public import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas +public import Mathlib.Analysis.Calculus.IteratedDeriv.WithinZpow +public import Mathlib.Analysis.Calculus.LHopital +public import Mathlib.Analysis.Calculus.LagrangeMultipliers +public import Mathlib.Analysis.Calculus.LineDeriv.Basic +public import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts +public import Mathlib.Analysis.Calculus.LineDeriv.Measurable +public import Mathlib.Analysis.Calculus.LineDeriv.QuadraticMap +public import Mathlib.Analysis.Calculus.LocalExtr.Basic +public import Mathlib.Analysis.Calculus.LocalExtr.LineDeriv +public import Mathlib.Analysis.Calculus.LocalExtr.Polynomial +public import Mathlib.Analysis.Calculus.LocalExtr.Rolle +public import Mathlib.Analysis.Calculus.LogDeriv +public import Mathlib.Analysis.Calculus.LogDerivUniformlyOn +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.Analysis.Calculus.Monotone +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.Analysis.Calculus.ParametricIntervalIntegral +public import Mathlib.Analysis.Calculus.Rademacher +public import Mathlib.Analysis.Calculus.SmoothSeries +public import Mathlib.Analysis.Calculus.TangentCone +public import Mathlib.Analysis.Calculus.Taylor +public import Mathlib.Analysis.Calculus.UniformLimitsDeriv +public import Mathlib.Analysis.Calculus.VectorField +public import Mathlib.Analysis.Complex.AbelLimit +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.Analysis.Complex.Angle +public import Mathlib.Analysis.Complex.Arg +public import Mathlib.Analysis.Complex.Asymptotics +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.Complex.Cardinality +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.Analysis.Complex.Conformal +public import Mathlib.Analysis.Complex.Convex +public import Mathlib.Analysis.Complex.Exponential +public import Mathlib.Analysis.Complex.ExponentialBounds +public import Mathlib.Analysis.Complex.Hadamard +public import Mathlib.Analysis.Complex.HalfPlane +public import Mathlib.Analysis.Complex.Harmonic.Analytic +public import Mathlib.Analysis.Complex.Harmonic.MeanValue +public import Mathlib.Analysis.Complex.HasPrimitives +public import Mathlib.Analysis.Complex.IntegerCompl +public import Mathlib.Analysis.Complex.IsIntegral +public import Mathlib.Analysis.Complex.Isometry +public import Mathlib.Analysis.Complex.JensenFormula +public import Mathlib.Analysis.Complex.Liouville +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Analysis.Complex.MeanValue +public import Mathlib.Analysis.Complex.Norm +public import Mathlib.Analysis.Complex.OpenMapping +public import Mathlib.Analysis.Complex.OperatorNorm +public import Mathlib.Analysis.Complex.Order +public import Mathlib.Analysis.Complex.Periodic +public import Mathlib.Analysis.Complex.PhragmenLindelof +public import Mathlib.Analysis.Complex.Polynomial.Basic +public import Mathlib.Analysis.Complex.Polynomial.GaussLucas +public import Mathlib.Analysis.Complex.Polynomial.UnitTrinomial +public import Mathlib.Analysis.Complex.Positivity +public import Mathlib.Analysis.Complex.ReImTopology +public import Mathlib.Analysis.Complex.RealDeriv +public import Mathlib.Analysis.Complex.RemovableSingularity +public import Mathlib.Analysis.Complex.Schwarz +public import Mathlib.Analysis.Complex.Spectrum +public import Mathlib.Analysis.Complex.SummableUniformlyOn +public import Mathlib.Analysis.Complex.TaylorSeries +public import Mathlib.Analysis.Complex.Tietze +public import Mathlib.Analysis.Complex.Trigonometric +public import Mathlib.Analysis.Complex.UnitDisc.Basic +public import Mathlib.Analysis.Complex.UpperHalfPlane.Basic +public import Mathlib.Analysis.Complex.UpperHalfPlane.Exp +public import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty +public import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold +public import Mathlib.Analysis.Complex.UpperHalfPlane.Metric +public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction +public import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction +public import Mathlib.Analysis.Complex.ValueDistribution.FirstMainTheorem +public import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction +public import Mathlib.Analysis.ConstantSpeed +public import Mathlib.Analysis.Convex.AmpleSet +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Convex.BetweenList +public import Mathlib.Analysis.Convex.Birkhoff +public import Mathlib.Analysis.Convex.Body +public import Mathlib.Analysis.Convex.Caratheodory +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.Cone.Basic +public import Mathlib.Analysis.Convex.Cone.Closure +public import Mathlib.Analysis.Convex.Cone.Dual +public import Mathlib.Analysis.Convex.Cone.Extension +public import Mathlib.Analysis.Convex.Cone.InnerDual +public import Mathlib.Analysis.Convex.Continuous +public import Mathlib.Analysis.Convex.ContinuousLinearEquiv +public import Mathlib.Analysis.Convex.Contractible +public import Mathlib.Analysis.Convex.Deriv +public import Mathlib.Analysis.Convex.DoublyStochasticMatrix +public import Mathlib.Analysis.Convex.EGauge +public import Mathlib.Analysis.Convex.Exposed +public import Mathlib.Analysis.Convex.Extrema +public import Mathlib.Analysis.Convex.Extreme +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Analysis.Convex.Gauge +public import Mathlib.Analysis.Convex.GaugeRescale +public import Mathlib.Analysis.Convex.Hull +public import Mathlib.Analysis.Convex.Independent +public import Mathlib.Analysis.Convex.Integral +public import Mathlib.Analysis.Convex.Intrinsic +public import Mathlib.Analysis.Convex.Jensen +public import Mathlib.Analysis.Convex.Join +public import Mathlib.Analysis.Convex.KreinMilman +public import Mathlib.Analysis.Convex.LinearIsometry +public import Mathlib.Analysis.Convex.Measure +public import Mathlib.Analysis.Convex.Mul +public import Mathlib.Analysis.Convex.PartitionOfUnity +public import Mathlib.Analysis.Convex.PathConnected +public import Mathlib.Analysis.Convex.Piecewise +public import Mathlib.Analysis.Convex.Quasiconvex +public import Mathlib.Analysis.Convex.Radon +public import Mathlib.Analysis.Convex.Segment +public import Mathlib.Analysis.Convex.Side +public import Mathlib.Analysis.Convex.SimplicialComplex.Basic +public import Mathlib.Analysis.Convex.Slope +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic +public import Mathlib.Analysis.Convex.SpecificFunctions.Deriv +public import Mathlib.Analysis.Convex.SpecificFunctions.Pow +public import Mathlib.Analysis.Convex.Star +public import Mathlib.Analysis.Convex.StdSimplex +public import Mathlib.Analysis.Convex.StoneSeparation +public import Mathlib.Analysis.Convex.Strict +public import Mathlib.Analysis.Convex.StrictConvexBetween +public import Mathlib.Analysis.Convex.StrictConvexSpace +public import Mathlib.Analysis.Convex.Strong +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Analysis.Convex.TotallyBounded +public import Mathlib.Analysis.Convex.Uniform +public import Mathlib.Analysis.Convex.Visible +public import Mathlib.Analysis.Convolution +public import Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff +public import Mathlib.Analysis.Distribution.ContDiffMapSupportedIn +public import Mathlib.Analysis.Distribution.FourierSchwartz +public import Mathlib.Analysis.Distribution.SchwartzSpace +public import Mathlib.Analysis.Fourier.AddCircle +public import Mathlib.Analysis.Fourier.AddCircleMulti +public import Mathlib.Analysis.Fourier.BoundedContinuousFunctionChar +public import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality +public import Mathlib.Analysis.Fourier.FiniteAbelian.PontryaginDuality +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.Analysis.Fourier.FourierTransformDeriv +public import Mathlib.Analysis.Fourier.Inversion +public import Mathlib.Analysis.Fourier.PoissonSummation +public import Mathlib.Analysis.Fourier.RiemannLebesgueLemma +public import Mathlib.Analysis.Fourier.ZMod +public import Mathlib.Analysis.FunctionalSpaces.SobolevInequality +public import Mathlib.Analysis.Hofer +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.InnerProductSpace.Affine +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.InnerProductSpace.CanonicalTensor +public import Mathlib.Analysis.InnerProductSpace.Completion +public import Mathlib.Analysis.InnerProductSpace.ConformalLinearMap +public import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Analysis.InnerProductSpace.Defs +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.EuclideanDist +public import Mathlib.Analysis.InnerProductSpace.GramMatrix +public import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Analytic +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Constructions +public import Mathlib.Analysis.InnerProductSpace.JointEigenspace +public import Mathlib.Analysis.InnerProductSpace.Laplacian +public import Mathlib.Analysis.InnerProductSpace.LaxMilgram +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.Analysis.InnerProductSpace.LinearPMap +public import Mathlib.Analysis.InnerProductSpace.MeanErgodic +public import Mathlib.Analysis.InnerProductSpace.MulOpposite +public import Mathlib.Analysis.InnerProductSpace.NormPow +public import Mathlib.Analysis.InnerProductSpace.OfNorm +public import Mathlib.Analysis.InnerProductSpace.Orientation +public import Mathlib.Analysis.InnerProductSpace.Orthogonal +public import Mathlib.Analysis.InnerProductSpace.Orthonormal +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Analysis.InnerProductSpace.Positive +public import Mathlib.Analysis.InnerProductSpace.ProdL2 +public import Mathlib.Analysis.InnerProductSpace.Projection +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic +public import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional +public import Mathlib.Analysis.InnerProductSpace.Projection.Minimal +public import Mathlib.Analysis.InnerProductSpace.Projection.Reflection +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.Analysis.InnerProductSpace.Rayleigh +public import Mathlib.Analysis.InnerProductSpace.Semisimple +public import Mathlib.Analysis.InnerProductSpace.Spectrum +public import Mathlib.Analysis.InnerProductSpace.StarOrder +public import Mathlib.Analysis.InnerProductSpace.Subspace +public import Mathlib.Analysis.InnerProductSpace.Symmetric +public import Mathlib.Analysis.InnerProductSpace.TensorProduct +public import Mathlib.Analysis.InnerProductSpace.Trace +public import Mathlib.Analysis.InnerProductSpace.TwoDim +public import Mathlib.Analysis.InnerProductSpace.WeakOperatorTopology +public import Mathlib.Analysis.InnerProductSpace.l2Space +public import Mathlib.Analysis.LConvolution +public import Mathlib.Analysis.LocallyConvex.AbsConvex +public import Mathlib.Analysis.LocallyConvex.AbsConvexOpen +public import Mathlib.Analysis.LocallyConvex.BalancedCoreHull +public import Mathlib.Analysis.LocallyConvex.Barrelled +public import Mathlib.Analysis.LocallyConvex.Basic +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Analysis.LocallyConvex.ContinuousOfBounded +public import Mathlib.Analysis.LocallyConvex.Polar +public import Mathlib.Analysis.LocallyConvex.StrongTopology +public import Mathlib.Analysis.LocallyConvex.WeakDual +public import Mathlib.Analysis.LocallyConvex.WeakOperatorTopology +public import Mathlib.Analysis.LocallyConvex.WeakSpace +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.Matrix +public import Mathlib.Analysis.Matrix.Order +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Analysis.MeanInequalitiesPow +public import Mathlib.Analysis.MellinInversion +public import Mathlib.Analysis.MellinTransform +public import Mathlib.Analysis.Meromorphic.Basic +public import Mathlib.Analysis.Meromorphic.Complex +public import Mathlib.Analysis.Meromorphic.Divisor +public import Mathlib.Analysis.Meromorphic.FactorizedRational +public import Mathlib.Analysis.Meromorphic.IsolatedZeros +public import Mathlib.Analysis.Meromorphic.NormalForm +public import Mathlib.Analysis.Meromorphic.Order +public import Mathlib.Analysis.Meromorphic.TrailingCoefficient +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Analysis.Normed.Affine.AddTorsorBases +public import Mathlib.Analysis.Normed.Affine.AsymptoticCone +public import Mathlib.Analysis.Normed.Affine.ContinuousAffineMap +public import Mathlib.Analysis.Normed.Affine.Convex +public import Mathlib.Analysis.Normed.Affine.Isometry +public import Mathlib.Analysis.Normed.Affine.MazurUlam +public import Mathlib.Analysis.Normed.Affine.Simplex +public import Mathlib.Analysis.Normed.Algebra.Basic +public import Mathlib.Analysis.Normed.Algebra.DualNumber +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.Normed.Algebra.GelfandFormula +public import Mathlib.Analysis.Normed.Algebra.MatrixExponential +public import Mathlib.Analysis.Normed.Algebra.QuaternionExponential +public import Mathlib.Analysis.Normed.Algebra.Spectrum +public import Mathlib.Analysis.Normed.Algebra.TrivSqZeroExt +public import Mathlib.Analysis.Normed.Algebra.Ultra +public import Mathlib.Analysis.Normed.Algebra.Unitization +public import Mathlib.Analysis.Normed.Algebra.UnitizationL1 +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Field.Instances +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.Normed.Field.ProperSpace +public import Mathlib.Analysis.Normed.Field.Ultra +public import Mathlib.Analysis.Normed.Field.UnitBall +public import Mathlib.Analysis.Normed.Field.WithAbs +public import Mathlib.Analysis.Normed.Group.AddCircle +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.Normed.Group.BallSphere +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Analysis.Normed.Group.Bounded +public import Mathlib.Analysis.Normed.Group.CocompactMap +public import Mathlib.Analysis.Normed.Group.Completeness +public import Mathlib.Analysis.Normed.Group.Completion +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.Analysis.Normed.Group.ControlledClosure +public import Mathlib.Analysis.Normed.Group.FunctionSeries +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.Analysis.Normed.Group.HomCompletion +public import Mathlib.Analysis.Normed.Group.Indicator +public import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Analysis.Normed.Group.Int +public import Mathlib.Analysis.Normed.Group.Lemmas +public import Mathlib.Analysis.Normed.Group.NullSubmodule +public import Mathlib.Analysis.Normed.Group.Pointwise +public import Mathlib.Analysis.Normed.Group.Quotient +public import Mathlib.Analysis.Normed.Group.Rat +public import Mathlib.Analysis.Normed.Group.SemiNormedGrp +public import Mathlib.Analysis.Normed.Group.SemiNormedGrp.Completion +public import Mathlib.Analysis.Normed.Group.SemiNormedGrp.Kernels +public import Mathlib.Analysis.Normed.Group.Seminorm +public import Mathlib.Analysis.Normed.Group.SeparationQuotient +public import Mathlib.Analysis.Normed.Group.Subgroup +public import Mathlib.Analysis.Normed.Group.Submodule +public import Mathlib.Analysis.Normed.Group.Tannery +public import Mathlib.Analysis.Normed.Group.Ultra +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Analysis.Normed.Group.ZeroAtInfty +public import Mathlib.Analysis.Normed.Lp.LpEquiv +public import Mathlib.Analysis.Normed.Lp.MeasurableSpace +public import Mathlib.Analysis.Normed.Lp.PiLp +public import Mathlib.Analysis.Normed.Lp.ProdLp +public import Mathlib.Analysis.Normed.Lp.WithLp +public import Mathlib.Analysis.Normed.Lp.lpSpace +public import Mathlib.Analysis.Normed.Module.Ball.Action +public import Mathlib.Analysis.Normed.Module.Ball.Homeomorph +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Module.Complemented +public import Mathlib.Analysis.Normed.Module.Completion +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Analysis.Normed.Module.Dual +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Analysis.Normed.Module.RCLike.Basic +public import Mathlib.Analysis.Normed.Module.RCLike.Extend +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Analysis.Normed.Module.Ray +public import Mathlib.Analysis.Normed.Module.Span +public import Mathlib.Analysis.Normed.Module.WeakDual +public import Mathlib.Analysis.Normed.MulAction +public import Mathlib.Analysis.Normed.Operator.Asymptotics +public import Mathlib.Analysis.Normed.Operator.Banach +public import Mathlib.Analysis.Normed.Operator.BanachSteinhaus +public import Mathlib.Analysis.Normed.Operator.Basic +public import Mathlib.Analysis.Normed.Operator.Bilinear +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Analysis.Normed.Operator.Compact +public import Mathlib.Analysis.Normed.Operator.Completeness +public import Mathlib.Analysis.Normed.Operator.Conformal +public import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Analysis.Normed.Operator.Mul +public import Mathlib.Analysis.Normed.Operator.NNNorm +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Analysis.Normed.Operator.Prod +public import Mathlib.Analysis.Normed.Order.Basic +public import Mathlib.Analysis.Normed.Order.Hom.Basic +public import Mathlib.Analysis.Normed.Order.Hom.Ultra +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.Analysis.Normed.Order.UpperLower +public import Mathlib.Analysis.Normed.Ring.Basic +public import Mathlib.Analysis.Normed.Ring.Finite +public import Mathlib.Analysis.Normed.Ring.InfiniteSum +public import Mathlib.Analysis.Normed.Ring.Int +public import Mathlib.Analysis.Normed.Ring.Lemmas +public import Mathlib.Analysis.Normed.Ring.Ultra +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Analysis.Normed.Ring.WithAbs +public import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm +public import Mathlib.Analysis.Normed.Unbundled.FiniteExtension +public import Mathlib.Analysis.Normed.Unbundled.InvariantExtension +public import Mathlib.Analysis.Normed.Unbundled.IsPowMulFaithful +public import Mathlib.Analysis.Normed.Unbundled.RingSeminorm +public import Mathlib.Analysis.Normed.Unbundled.SeminormFromBounded +public import Mathlib.Analysis.Normed.Unbundled.SeminormFromConst +public import Mathlib.Analysis.Normed.Unbundled.SmoothingSeminorm +public import Mathlib.Analysis.Normed.Unbundled.SpectralNorm +public import Mathlib.Analysis.NormedSpace.Alternating.Basic +public import Mathlib.Analysis.NormedSpace.Alternating.Curry +public import Mathlib.Analysis.NormedSpace.Alternating.Uncurry.Fin +public import Mathlib.Analysis.NormedSpace.BallAction +public import Mathlib.Analysis.NormedSpace.ConformalLinearMap +public import Mathlib.Analysis.NormedSpace.Connected +public import Mathlib.Analysis.NormedSpace.DualNumber +public import Mathlib.Analysis.NormedSpace.ENormedSpace +public import Mathlib.Analysis.NormedSpace.Extend +public import Mathlib.Analysis.NormedSpace.Extr +public import Mathlib.Analysis.NormedSpace.FunctionSeries +public import Mathlib.Analysis.NormedSpace.HahnBanach.Extension +public import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual +public import Mathlib.Analysis.NormedSpace.HahnBanach.Separation +public import Mathlib.Analysis.NormedSpace.HomeomorphBall +public import Mathlib.Analysis.NormedSpace.IndicatorFunction +public import Mathlib.Analysis.NormedSpace.Int +public import Mathlib.Analysis.NormedSpace.MStructure +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic +public import Mathlib.Analysis.NormedSpace.Multilinear.Curry +public import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn +public import Mathlib.Analysis.NormedSpace.Normalize +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Asymptotics +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Basic +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Bilinear +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Completeness +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Mul +public import Mathlib.Analysis.NormedSpace.OperatorNorm.NNNorm +public import Mathlib.Analysis.NormedSpace.OperatorNorm.NormedSpace +public import Mathlib.Analysis.NormedSpace.OperatorNorm.Prod +public import Mathlib.Analysis.NormedSpace.PiTensorProduct.InjectiveSeminorm +public import Mathlib.Analysis.NormedSpace.PiTensorProduct.ProjectiveSeminorm +public import Mathlib.Analysis.NormedSpace.Pointwise +public import Mathlib.Analysis.NormedSpace.RCLike +public import Mathlib.Analysis.NormedSpace.Real +public import Mathlib.Analysis.NormedSpace.RieszLemma +public import Mathlib.Analysis.NormedSpace.SphereNormEquiv +public import Mathlib.Analysis.ODE.Gronwall +public import Mathlib.Analysis.ODE.PicardLindelof +public import Mathlib.Analysis.Oscillation +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.PSeriesComplex +public import Mathlib.Analysis.Polynomial.Basic +public import Mathlib.Analysis.Polynomial.CauchyBound +public import Mathlib.Analysis.Polynomial.Factorization +public import Mathlib.Analysis.Polynomial.MahlerMeasure +public import Mathlib.Analysis.Quaternion +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Analysis.RCLike.BoundedContinuous +public import Mathlib.Analysis.RCLike.Extend +public import Mathlib.Analysis.RCLike.Inner +public import Mathlib.Analysis.RCLike.Lemmas +public import Mathlib.Analysis.RCLike.TangentCone +public import Mathlib.Analysis.Real.Cardinality +public import Mathlib.Analysis.Real.Hyperreal +public import Mathlib.Analysis.Real.OfDigits +public import Mathlib.Analysis.Real.Pi.Bounds +public import Mathlib.Analysis.Real.Pi.Chudnovsky +public import Mathlib.Analysis.Real.Pi.Irrational +public import Mathlib.Analysis.Real.Pi.Leibniz +public import Mathlib.Analysis.Real.Pi.Wallis +public import Mathlib.Analysis.Real.Spectrum +public import Mathlib.Analysis.Seminorm +public import Mathlib.Analysis.SpecialFunctions.Arsinh +public import Mathlib.Analysis.SpecialFunctions.Bernstein +public import Mathlib.Analysis.SpecialFunctions.BinaryEntropy +public import Mathlib.Analysis.SpecialFunctions.Choose +public import Mathlib.Analysis.SpecialFunctions.CompareExp +public import Mathlib.Analysis.SpecialFunctions.Complex.Analytic +public import Mathlib.Analysis.SpecialFunctions.Complex.Arctan +public import Mathlib.Analysis.SpecialFunctions.Complex.Arg +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar +public import Mathlib.Analysis.SpecialFunctions.Complex.CircleMap +public import Mathlib.Analysis.SpecialFunctions.Complex.Log +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +public import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Abs +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Isometric +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.IntegralRepresentation +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Isometric +public import Mathlib.Analysis.SpecialFunctions.Exp +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.Exponential +public import Mathlib.Analysis.SpecialFunctions.Gamma.Basic +public import Mathlib.Analysis.SpecialFunctions.Gamma.Beta +public import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deriv +public import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform +public import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral +public import Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +public import Mathlib.Analysis.SpecialFunctions.Integrability.Basic +public import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Analysis.SpecialFunctions.Integrals.LogTrigonometric +public import Mathlib.Analysis.SpecialFunctions.Integrals.PosLogEqCircleAverage +public import Mathlib.Analysis.SpecialFunctions.JapaneseBracket +public import Mathlib.Analysis.SpecialFunctions.Log.Base +public import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLog +public import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp +public import Mathlib.Analysis.SpecialFunctions.Log.ERealExp +public import Mathlib.Analysis.SpecialFunctions.Log.Monotone +public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog +public import Mathlib.Analysis.SpecialFunctions.Log.PosLog +public import Mathlib.Analysis.SpecialFunctions.Log.Summable +public import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSq +public import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSqIntegral +public import Mathlib.Analysis.SpecialFunctions.NonIntegrable +public import Mathlib.Analysis.SpecialFunctions.OrdinaryHypergeometric +public import Mathlib.Analysis.SpecialFunctions.Pochhammer +public import Mathlib.Analysis.SpecialFunctions.PolarCoord +public import Mathlib.Analysis.SpecialFunctions.PolynomialExp +public import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics +public import Mathlib.Analysis.SpecialFunctions.Pow.Complex +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.Analysis.SpecialFunctions.Pow.Integral +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.Analysis.SpecialFunctions.Pow.NthRootLemmas +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Analysis.SpecialFunctions.Sigmoid +public import Mathlib.Analysis.SpecialFunctions.SmoothTransition +public import Mathlib.Analysis.SpecialFunctions.Sqrt +public import Mathlib.Analysis.SpecialFunctions.Stirling +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Chebyshev +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Cotangent +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.InverseDeriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Series +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc +public import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Analysis.SpecificLimits.Fibonacci +public import Mathlib.Analysis.SpecificLimits.FloorPow +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Analysis.SpecificLimits.RCLike +public import Mathlib.Analysis.Subadditive +public import Mathlib.Analysis.SumIntegralComparisons +public import Mathlib.Analysis.SumOverResidueClass +public import Mathlib.Analysis.VonNeumannAlgebra.Basic +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.Abelian.CommSq +public import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four +public import Mathlib.CategoryTheory.Abelian.DiagramLemmas.KernelCokernelComp +public import Mathlib.CategoryTheory.Abelian.EpiWithInjectiveKernel +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.CategoryTheory.Abelian.Ext +public import Mathlib.CategoryTheory.Abelian.FreydMitchell +public import Mathlib.CategoryTheory.Abelian.FunctorCategory +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Connected +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Indization +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Types +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ColimCoyoneda +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Coseparator +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.GabrielPopescu +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Subobject +public import Mathlib.CategoryTheory.Abelian.Images +public import Mathlib.CategoryTheory.Abelian.Indization +public import Mathlib.CategoryTheory.Abelian.Injective.Basic +public import Mathlib.CategoryTheory.Abelian.Injective.Dimension +public import Mathlib.CategoryTheory.Abelian.Injective.Resolution +public import Mathlib.CategoryTheory.Abelian.LeftDerived +public import Mathlib.CategoryTheory.Abelian.Monomorphisms +public import Mathlib.CategoryTheory.Abelian.NonPreadditive +public import Mathlib.CategoryTheory.Abelian.Opposite +public import Mathlib.CategoryTheory.Abelian.Projective.Basic +public import Mathlib.CategoryTheory.Abelian.Projective.Dimension +public import Mathlib.CategoryTheory.Abelian.Projective.Resolution +public import Mathlib.CategoryTheory.Abelian.Pseudoelements +public import Mathlib.CategoryTheory.Abelian.Refinements +public import Mathlib.CategoryTheory.Abelian.RightDerived +public import Mathlib.CategoryTheory.Abelian.SerreClass.Basic +public import Mathlib.CategoryTheory.Abelian.SerreClass.Bousfield +public import Mathlib.CategoryTheory.Abelian.SerreClass.MorphismProperty +public import Mathlib.CategoryTheory.Abelian.Subobject +public import Mathlib.CategoryTheory.Abelian.Transfer +public import Mathlib.CategoryTheory.Abelian.Yoneda +public import Mathlib.CategoryTheory.Action +public import Mathlib.CategoryTheory.Action.Basic +public import Mathlib.CategoryTheory.Action.Concrete +public import Mathlib.CategoryTheory.Action.Continuous +public import Mathlib.CategoryTheory.Action.Limits +public import Mathlib.CategoryTheory.Action.Monoidal +public import Mathlib.CategoryTheory.Adhesive +public import Mathlib.CategoryTheory.Adjunction.Additive +public import Mathlib.CategoryTheory.Adjunction.AdjointFunctorTheorems +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Adjunction.Comma +public import Mathlib.CategoryTheory.Adjunction.Evaluation +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Adjunction.Lifting.Left +public import Mathlib.CategoryTheory.Adjunction.Lifting.Right +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Adjunction.Mates +public import Mathlib.CategoryTheory.Adjunction.Opposites +public import Mathlib.CategoryTheory.Adjunction.Parametrized +public import Mathlib.CategoryTheory.Adjunction.PartialAdjoint +public import Mathlib.CategoryTheory.Adjunction.Quadruple +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Adjunction.Restrict +public import Mathlib.CategoryTheory.Adjunction.Triple +public import Mathlib.CategoryTheory.Adjunction.Unique +public import Mathlib.CategoryTheory.Adjunction.Whiskering +public import Mathlib.CategoryTheory.Balanced +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Adj +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Mate +public import Mathlib.CategoryTheory.Bicategory.Basic +public import Mathlib.CategoryTheory.Bicategory.CatEnriched +public import Mathlib.CategoryTheory.Bicategory.Coherence +public import Mathlib.CategoryTheory.Bicategory.End +public import Mathlib.CategoryTheory.Bicategory.EqToHom +public import Mathlib.CategoryTheory.Bicategory.Extension +public import Mathlib.CategoryTheory.Bicategory.Free +public import Mathlib.CategoryTheory.Bicategory.Functor.Cat +public import Mathlib.CategoryTheory.Bicategory.Functor.Lax +public import Mathlib.CategoryTheory.Bicategory.Functor.LocallyDiscrete +public import Mathlib.CategoryTheory.Bicategory.Functor.Oplax +public import Mathlib.CategoryTheory.Bicategory.Functor.Prelax +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +public import Mathlib.CategoryTheory.Bicategory.Functor.Strict +public import Mathlib.CategoryTheory.Bicategory.Functor.StrictlyUnitary +public import Mathlib.CategoryTheory.Bicategory.FunctorBicategory.Oplax +public import Mathlib.CategoryTheory.Bicategory.Grothendieck +public import Mathlib.CategoryTheory.Bicategory.Kan.Adjunction +public import Mathlib.CategoryTheory.Bicategory.Kan.HasKan +public import Mathlib.CategoryTheory.Bicategory.Kan.IsKan +public import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete +public import Mathlib.CategoryTheory.Bicategory.Modification.Oplax +public import Mathlib.CategoryTheory.Bicategory.Monad.Basic +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Pseudo +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Strong +public import Mathlib.CategoryTheory.Bicategory.SingleObj +public import Mathlib.CategoryTheory.Bicategory.Strict +public import Mathlib.CategoryTheory.Bicategory.Strict.Basic +public import Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor +public import Mathlib.CategoryTheory.CatCommSq +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.CategoryTheory.Category.Bipointed +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Category.Cat.Adjunction +public import Mathlib.CategoryTheory.Category.Cat.AsSmall +public import Mathlib.CategoryTheory.Category.Cat.CartesianClosed +public import Mathlib.CategoryTheory.Category.Cat.Colimit +public import Mathlib.CategoryTheory.Category.Cat.Limit +public import Mathlib.CategoryTheory.Category.Cat.Op +public import Mathlib.CategoryTheory.Category.Cat.Terminal +public import Mathlib.CategoryTheory.Category.Factorisation +public import Mathlib.CategoryTheory.Category.GaloisConnection +public import Mathlib.CategoryTheory.Category.Grpd +public import Mathlib.CategoryTheory.Category.Init +public import Mathlib.CategoryTheory.Category.KleisliCat +public import Mathlib.CategoryTheory.Category.Pairwise +public import Mathlib.CategoryTheory.Category.PartialFun +public import Mathlib.CategoryTheory.Category.Pointed +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Category.Quiv +public import Mathlib.CategoryTheory.Category.ReflQuiv +public import Mathlib.CategoryTheory.Category.RelCat +public import Mathlib.CategoryTheory.Category.TwoP +public import Mathlib.CategoryTheory.Category.ULift +public import Mathlib.CategoryTheory.Center.Basic +public import Mathlib.CategoryTheory.Center.Linear +public import Mathlib.CategoryTheory.Center.Localization +public import Mathlib.CategoryTheory.ChosenFiniteProducts +public import Mathlib.CategoryTheory.ChosenFiniteProducts.Cat +public import Mathlib.CategoryTheory.ChosenFiniteProducts.FunctorCategory +public import Mathlib.CategoryTheory.ChosenFiniteProducts.InfSemilattice +public import Mathlib.CategoryTheory.ChosenFiniteProducts.Over +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.Closed.Enrichment +public import Mathlib.CategoryTheory.Closed.Functor +public import Mathlib.CategoryTheory.Closed.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Closed.FunctorCategory.Complete +public import Mathlib.CategoryTheory.Closed.FunctorCategory.Groupoid +public import Mathlib.CategoryTheory.Closed.FunctorToTypes +public import Mathlib.CategoryTheory.Closed.Ideal +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Closed.Types +public import Mathlib.CategoryTheory.Closed.Zero +public import Mathlib.CategoryTheory.CodiscreteCategory +public import Mathlib.CategoryTheory.CofilteredSystem +public import Mathlib.CategoryTheory.CommSq +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.Comma.Basic +public import Mathlib.CategoryTheory.Comma.CardinalArrow +public import Mathlib.CategoryTheory.Comma.Final +public import Mathlib.CategoryTheory.Comma.LocallySmall +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Comma.Over.OverClass +public import Mathlib.CategoryTheory.Comma.Over.Pullback +public import Mathlib.CategoryTheory.Comma.Presheaf.Basic +public import Mathlib.CategoryTheory.Comma.Presheaf.Colimit +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Final +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Functor +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Small +public import Mathlib.CategoryTheory.ComposableArrows +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.Bundled +public import Mathlib.CategoryTheory.ConcreteCategory.BundledHom +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso +public import Mathlib.CategoryTheory.ConcreteCategory.UnbundledHom +public import Mathlib.CategoryTheory.Conj +public import Mathlib.CategoryTheory.ConnectedComponents +public import Mathlib.CategoryTheory.CopyDiscardCategory.Basic +public import Mathlib.CategoryTheory.CopyDiscardCategory.Cartesian +public import Mathlib.CategoryTheory.CopyDiscardCategory.Deterministic +public import Mathlib.CategoryTheory.Core +public import Mathlib.CategoryTheory.Countable +public import Mathlib.CategoryTheory.Dialectica.Basic +public import Mathlib.CategoryTheory.Dialectica.Monoidal +public import Mathlib.CategoryTheory.DifferentialObject +public import Mathlib.CategoryTheory.DinatTrans +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Discrete.SumsProducts +public import Mathlib.CategoryTheory.Distributive.Cartesian +public import Mathlib.CategoryTheory.Distributive.Monoidal +public import Mathlib.CategoryTheory.EffectiveEpi.Basic +public import Mathlib.CategoryTheory.EffectiveEpi.Comp +public import Mathlib.CategoryTheory.EffectiveEpi.Coproduct +public import Mathlib.CategoryTheory.EffectiveEpi.Enough +public import Mathlib.CategoryTheory.EffectiveEpi.Extensive +public import Mathlib.CategoryTheory.EffectiveEpi.Preserves +public import Mathlib.CategoryTheory.EffectiveEpi.RegularEpi +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Endofunctor.Algebra +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.Enriched.Basic +public import Mathlib.CategoryTheory.Enriched.EnrichedCat +public import Mathlib.CategoryTheory.Enriched.FunctorCategory +public import Mathlib.CategoryTheory.Enriched.HomCongr +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalProducts +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalPullbacks +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalTerminal +public import Mathlib.CategoryTheory.Enriched.Opposite +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.CategoryTheory.Equivalence.Symmetry +public import Mathlib.CategoryTheory.EssentialImage +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.CategoryTheory.Extensive +public import Mathlib.CategoryTheory.ExtremalEpi +public import Mathlib.CategoryTheory.FiberedCategory.BasedCategory +public import Mathlib.CategoryTheory.FiberedCategory.Cartesian +public import Mathlib.CategoryTheory.FiberedCategory.Cocartesian +public import Mathlib.CategoryTheory.FiberedCategory.Fiber +public import Mathlib.CategoryTheory.FiberedCategory.Fibered +public import Mathlib.CategoryTheory.FiberedCategory.Grothendieck +public import Mathlib.CategoryTheory.FiberedCategory.HasFibers +public import Mathlib.CategoryTheory.FiberedCategory.HomLift +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Filtered.Connected +public import Mathlib.CategoryTheory.Filtered.CostructuredArrow +public import Mathlib.CategoryTheory.Filtered.Final +public import Mathlib.CategoryTheory.Filtered.Flat +public import Mathlib.CategoryTheory.Filtered.Grothendieck +public import Mathlib.CategoryTheory.Filtered.OfColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Filtered.Small +public import Mathlib.CategoryTheory.FinCategory.AsType +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.CategoryTheory.FullSubcategory +public import Mathlib.CategoryTheory.Functor.Basic +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Functor.CurryingThree +public import Mathlib.CategoryTheory.Functor.Derived.Adjunction +public import Mathlib.CategoryTheory.Functor.Derived.LeftDerived +public import Mathlib.CategoryTheory.Functor.Derived.PointwiseRightDerived +public import Mathlib.CategoryTheory.Functor.Derived.RightDerived +public import Mathlib.CategoryTheory.Functor.EpiMono +public import Mathlib.CategoryTheory.Functor.Flat +public import Mathlib.CategoryTheory.Functor.FullyFaithful +public import Mathlib.CategoryTheory.Functor.FunctorHom +public import Mathlib.CategoryTheory.Functor.Functorial +public import Mathlib.CategoryTheory.Functor.Hom +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic +public import Mathlib.CategoryTheory.Functor.KanExtension.DenseAt +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +public import Mathlib.CategoryTheory.Functor.KanExtension.Preserves +public import Mathlib.CategoryTheory.Functor.OfSequence +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.Functor.Trifunctor +public import Mathlib.CategoryTheory.Functor.TwoSquare +public import Mathlib.CategoryTheory.Galois.Action +public import Mathlib.CategoryTheory.Galois.Basic +public import Mathlib.CategoryTheory.Galois.Decomposition +public import Mathlib.CategoryTheory.Galois.Equivalence +public import Mathlib.CategoryTheory.Galois.EssSurj +public import Mathlib.CategoryTheory.Galois.Examples +public import Mathlib.CategoryTheory.Galois.Full +public import Mathlib.CategoryTheory.Galois.GaloisObjects +public import Mathlib.CategoryTheory.Galois.IsFundamentalgroup +public import Mathlib.CategoryTheory.Galois.Prorepresentability +public import Mathlib.CategoryTheory.Galois.Topology +public import Mathlib.CategoryTheory.Generator.Abelian +public import Mathlib.CategoryTheory.Generator.Basic +public import Mathlib.CategoryTheory.Generator.HomologicalComplex +public import Mathlib.CategoryTheory.Generator.Indization +public import Mathlib.CategoryTheory.Generator.Preadditive +public import Mathlib.CategoryTheory.Generator.Presheaf +public import Mathlib.CategoryTheory.Generator.Sheaf +public import Mathlib.CategoryTheory.GlueData +public import Mathlib.CategoryTheory.GradedObject +public import Mathlib.CategoryTheory.GradedObject.Associator +public import Mathlib.CategoryTheory.GradedObject.Bifunctor +public import Mathlib.CategoryTheory.GradedObject.Braiding +public import Mathlib.CategoryTheory.GradedObject.Monoidal +public import Mathlib.CategoryTheory.GradedObject.Single +public import Mathlib.CategoryTheory.GradedObject.Trifunctor +public import Mathlib.CategoryTheory.GradedObject.Unitor +public import Mathlib.CategoryTheory.Grothendieck +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.Groupoid.Basic +public import Mathlib.CategoryTheory.Groupoid.Discrete +public import Mathlib.CategoryTheory.Groupoid.FreeGroupoid +public import Mathlib.CategoryTheory.Groupoid.Subgroupoid +public import Mathlib.CategoryTheory.Groupoid.VertexGroup +public import Mathlib.CategoryTheory.GuitartExact.Basic +public import Mathlib.CategoryTheory.GuitartExact.Opposite +public import Mathlib.CategoryTheory.GuitartExact.VerticalComposition +public import Mathlib.CategoryTheory.HomCongr +public import Mathlib.CategoryTheory.Idempotents.Basic +public import Mathlib.CategoryTheory.Idempotents.Biproducts +public import Mathlib.CategoryTheory.Idempotents.FunctorCategories +public import Mathlib.CategoryTheory.Idempotents.FunctorExtension +public import Mathlib.CategoryTheory.Idempotents.HomologicalComplex +public import Mathlib.CategoryTheory.Idempotents.Karoubi +public import Mathlib.CategoryTheory.Idempotents.KaroubiKaroubi +public import Mathlib.CategoryTheory.Idempotents.SimplicialObject +public import Mathlib.CategoryTheory.InducedCategory +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.IsomorphismClasses +public import Mathlib.CategoryTheory.Join.Basic +public import Mathlib.CategoryTheory.Join.Final +public import Mathlib.CategoryTheory.Join.Opposites +public import Mathlib.CategoryTheory.Join.Pseudofunctor +public import Mathlib.CategoryTheory.Join.Sum +public import Mathlib.CategoryTheory.LiftingProperties.Adjunction +public import Mathlib.CategoryTheory.LiftingProperties.Basic +public import Mathlib.CategoryTheory.LiftingProperties.Limits +public import Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction +public import Mathlib.CategoryTheory.Limits.Bicones +public import Mathlib.CategoryTheory.Limits.ColimitLimit +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures +public import Mathlib.CategoryTheory.Limits.ConeCategory +public import Mathlib.CategoryTheory.Limits.Cones +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Constructions.Equalizers +public import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant +public import Mathlib.CategoryTheory.Limits.Constructions.Filtered +public import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Products +public import Mathlib.CategoryTheory.Limits.Constructions.Pullbacks +public import Mathlib.CategoryTheory.Limits.Constructions.WeaklyInitial +public import Mathlib.CategoryTheory.Limits.Constructions.ZeroObjects +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Elements +public import Mathlib.CategoryTheory.Limits.EpiMono +public import Mathlib.CategoryTheory.Limits.EssentiallySmall +public import Mathlib.CategoryTheory.Limits.ExactFunctor +public import Mathlib.CategoryTheory.Limits.Filtered +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesProduct +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.Final.ParallelPair +public import Mathlib.CategoryTheory.Limits.Final.Type +public import Mathlib.CategoryTheory.Limits.FinallySmall +public import Mathlib.CategoryTheory.Limits.FintypeCat +public import Mathlib.CategoryTheory.Limits.FormalCoproducts +public import Mathlib.CategoryTheory.Limits.Fubini +public import Mathlib.CategoryTheory.Limits.FullSubcategory +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Filtered +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Finite +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Products +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Pullbacks +public import Mathlib.CategoryTheory.Limits.FunctorToTypes +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Limits.IndYoneda +public import Mathlib.CategoryTheory.Limits.Indization.Category +public import Mathlib.CategoryTheory.Limits.Indization.Equalizers +public import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits +public import Mathlib.CategoryTheory.Limits.Indization.IndObject +public import Mathlib.CategoryTheory.Limits.Indization.LocallySmall +public import Mathlib.CategoryTheory.Limits.Indization.ParallelPair +public import Mathlib.CategoryTheory.Limits.Indization.Products +public import Mathlib.CategoryTheory.Limits.IsConnected +public import Mathlib.CategoryTheory.Limits.IsLimit +public import Mathlib.CategoryTheory.Limits.Lattice +public import Mathlib.CategoryTheory.Limits.MonoCoprod +public import Mathlib.CategoryTheory.Limits.MorphismProperty +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Over +public import Mathlib.CategoryTheory.Limits.Pi +public import Mathlib.CategoryTheory.Limits.Preorder +public import Mathlib.CategoryTheory.Limits.Presentation +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Bifunctor +public import Mathlib.CategoryTheory.Limits.Preserves.Creates.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Creates.Pullbacks +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Preserves.Grothendieck +public import Mathlib.CategoryTheory.Limits.Preserves.Limits +public import Mathlib.CategoryTheory.Limits.Preserves.Opposites +public import Mathlib.CategoryTheory.Limits.Preserves.Over +public import Mathlib.CategoryTheory.Limits.Preserves.Presheaf +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Biproducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Over +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Preorder +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Square +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Limits.Preserves.Yoneda +public import Mathlib.CategoryTheory.Limits.Presheaf +public import Mathlib.CategoryTheory.Limits.Set +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Biproducts +public import Mathlib.CategoryTheory.Limits.Shapes.CombinedProducts +public import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory +public import Mathlib.CategoryTheory.Limits.Shapes.Connected +public import Mathlib.CategoryTheory.Limits.Shapes.Countable +public import Mathlib.CategoryTheory.Limits.Shapes.Diagonal +public import Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct +public import Mathlib.CategoryTheory.Limits.Shapes.End +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Equivalence +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteMultiequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +public import Mathlib.CategoryTheory.Limits.Shapes.FunctorToTypes +public import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal +public import Mathlib.CategoryTheory.Limits.Shapes.KernelPair +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.MultiequalizerPullback +public import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Filtered +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Kernels +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks +public import Mathlib.CategoryTheory.Limits.Shapes.PiProd +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Fin +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.PrincipalSeg +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.TransfiniteCompositionOfShape +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Assoc +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.CatCospanTransform +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square +public import Mathlib.CategoryTheory.Limits.Shapes.Reflexive +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.Limits.Shapes.SequentialProduct +public import Mathlib.CategoryTheory.Limits.Shapes.SingleObj +public import Mathlib.CategoryTheory.Limits.Shapes.SplitCoequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.SplitEqualizer +public import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial +public import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects +public import Mathlib.CategoryTheory.Limits.Sifted +public import Mathlib.CategoryTheory.Limits.Skeleton +public import Mathlib.CategoryTheory.Limits.SmallComplete +public import Mathlib.CategoryTheory.Limits.Types.ColimitType +public import Mathlib.CategoryTheory.Limits.Types.ColimitTypeFiltered +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Limits.Types.Images +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Types.Multicoequalizer +public import Mathlib.CategoryTheory.Limits.Types.Pullbacks +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.CategoryTheory.Limits.Types.Yoneda +public import Mathlib.CategoryTheory.Limits.Unit +public import Mathlib.CategoryTheory.Limits.VanKampen +public import Mathlib.CategoryTheory.Limits.Yoneda +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.CategoryTheory.Linear.FunctorCategory +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.CategoryTheory.Linear.Yoneda +public import Mathlib.CategoryTheory.Localization.Adjunction +public import Mathlib.CategoryTheory.Localization.Bifunctor +public import Mathlib.CategoryTheory.Localization.Bousfield +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions.ComposableArrows +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions.Fractions +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions.OfAdjunction +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions.Preadditive +public import Mathlib.CategoryTheory.Localization.Composition +public import Mathlib.CategoryTheory.Localization.Construction +public import Mathlib.CategoryTheory.Localization.DerivabilityStructure.Basic +public import Mathlib.CategoryTheory.Localization.DerivabilityStructure.Constructor +public import Mathlib.CategoryTheory.Localization.DerivabilityStructure.OfFunctorialResolutions +public import Mathlib.CategoryTheory.Localization.Equivalence +public import Mathlib.CategoryTheory.Localization.FiniteProducts +public import Mathlib.CategoryTheory.Localization.HasLocalization +public import Mathlib.CategoryTheory.Localization.HomEquiv +public import Mathlib.CategoryTheory.Localization.Linear +public import Mathlib.CategoryTheory.Localization.LocalizerMorphism +public import Mathlib.CategoryTheory.Localization.LocallySmall +public import Mathlib.CategoryTheory.Localization.Monoidal +public import Mathlib.CategoryTheory.Localization.Monoidal.Basic +public import Mathlib.CategoryTheory.Localization.Monoidal.Braided +public import Mathlib.CategoryTheory.Localization.Opposite +public import Mathlib.CategoryTheory.Localization.Pi +public import Mathlib.CategoryTheory.Localization.Preadditive +public import Mathlib.CategoryTheory.Localization.Predicate +public import Mathlib.CategoryTheory.Localization.Prod +public import Mathlib.CategoryTheory.Localization.Quotient +public import Mathlib.CategoryTheory.Localization.Resolution +public import Mathlib.CategoryTheory.Localization.SmallHom +public import Mathlib.CategoryTheory.Localization.SmallShiftedHom +public import Mathlib.CategoryTheory.Localization.StructuredArrow +public import Mathlib.CategoryTheory.Localization.Triangulated +public import Mathlib.CategoryTheory.Localization.Trifunctor +public import Mathlib.CategoryTheory.LocallyDirected +public import Mathlib.CategoryTheory.MarkovCategory.Basic +public import Mathlib.CategoryTheory.Monad.Adjunction +public import Mathlib.CategoryTheory.Monad.Algebra +public import Mathlib.CategoryTheory.Monad.Basic +public import Mathlib.CategoryTheory.Monad.Coequalizer +public import Mathlib.CategoryTheory.Monad.Comonadicity +public import Mathlib.CategoryTheory.Monad.Equalizer +public import Mathlib.CategoryTheory.Monad.EquivMon +public import Mathlib.CategoryTheory.Monad.Kleisli +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.CategoryTheory.Monad.Monadicity +public import Mathlib.CategoryTheory.Monad.Products +public import Mathlib.CategoryTheory.Monad.Types +public import Mathlib.CategoryTheory.Monoidal.Action.Basic +public import Mathlib.CategoryTheory.Monoidal.Action.End +public import Mathlib.CategoryTheory.Monoidal.Action.LinearFunctor +public import Mathlib.CategoryTheory.Monoidal.Action.Opposites +public import Mathlib.CategoryTheory.Monoidal.Bimod +public import Mathlib.CategoryTheory.Monoidal.Bimon_ +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.Braided.Multifunctor +public import Mathlib.CategoryTheory.Monoidal.Braided.Opposite +public import Mathlib.CategoryTheory.Monoidal.Braided.Reflection +public import Mathlib.CategoryTheory.Monoidal.Braided.Transport +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat +public import Mathlib.CategoryTheory.Monoidal.Cartesian.CommGrp_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.CommMon_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Comon_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Grp_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.InfSemilattice +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Mod_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Over +public import Mathlib.CategoryTheory.Monoidal.Category +public import Mathlib.CategoryTheory.Monoidal.Center +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +public import Mathlib.CategoryTheory.Monoidal.CommComon_ +public import Mathlib.CategoryTheory.Monoidal.CommGrp_ +public import Mathlib.CategoryTheory.Monoidal.CommMon_ +public import Mathlib.CategoryTheory.Monoidal.Comon_ +public import Mathlib.CategoryTheory.Monoidal.Conv +public import Mathlib.CategoryTheory.Monoidal.DayConvolution +public import Mathlib.CategoryTheory.Monoidal.DayConvolution.Braided +public import Mathlib.CategoryTheory.Monoidal.DayConvolution.Closed +public import Mathlib.CategoryTheory.Monoidal.DayConvolution.DayFunctor +public import Mathlib.CategoryTheory.Monoidal.Discrete +public import Mathlib.CategoryTheory.Monoidal.End +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct.KanExtension +public import Mathlib.CategoryTheory.Monoidal.Free.Basic +public import Mathlib.CategoryTheory.Monoidal.Free.Coherence +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.CategoryTheory.Monoidal.Functor.Types +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Grp_ +public import Mathlib.CategoryTheory.Monoidal.Hopf_ +public import Mathlib.CategoryTheory.Monoidal.Internal.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Internal.Limits +public import Mathlib.CategoryTheory.Monoidal.Internal.Module +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.Basic +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.CommGrp_ +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.Grp_ +public import Mathlib.CategoryTheory.Monoidal.Limits +public import Mathlib.CategoryTheory.Monoidal.Limits.Basic +public import Mathlib.CategoryTheory.Monoidal.Limits.Preserves +public import Mathlib.CategoryTheory.Monoidal.Linear +public import Mathlib.CategoryTheory.Monoidal.Mod_ +public import Mathlib.CategoryTheory.Monoidal.Mon_ +public import Mathlib.CategoryTheory.Monoidal.Multifunctor +public import Mathlib.CategoryTheory.Monoidal.NaturalTransformation +public import Mathlib.CategoryTheory.Monoidal.OfChosenFiniteProducts.Basic +public import Mathlib.CategoryTheory.Monoidal.OfChosenFiniteProducts.Symmetric +public import Mathlib.CategoryTheory.Monoidal.OfHasFiniteProducts +public import Mathlib.CategoryTheory.Monoidal.Opposite +public import Mathlib.CategoryTheory.Monoidal.Opposite.Mon_ +public import Mathlib.CategoryTheory.Monoidal.Preadditive +public import Mathlib.CategoryTheory.Monoidal.Rigid.Basic +public import Mathlib.CategoryTheory.Monoidal.Rigid.Braided +public import Mathlib.CategoryTheory.Monoidal.Rigid.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Rigid.OfEquivalence +public import Mathlib.CategoryTheory.Monoidal.Skeleton +public import Mathlib.CategoryTheory.Monoidal.Subcategory +public import Mathlib.CategoryTheory.Monoidal.Tor +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda +public import Mathlib.CategoryTheory.Monoidal.Yoneda +public import Mathlib.CategoryTheory.MorphismProperty.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.CategoryTheory.MorphismProperty.Composition +public import Mathlib.CategoryTheory.MorphismProperty.Concrete +public import Mathlib.CategoryTheory.MorphismProperty.Descent +public import Mathlib.CategoryTheory.MorphismProperty.Factorization +public import Mathlib.CategoryTheory.MorphismProperty.FunctorCategory +public import Mathlib.CategoryTheory.MorphismProperty.Ind +public import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy +public import Mathlib.CategoryTheory.MorphismProperty.IsSmall +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.MorphismProperty.Local +public import Mathlib.CategoryTheory.MorphismProperty.OverAdjunction +public import Mathlib.CategoryTheory.MorphismProperty.Representable +public import Mathlib.CategoryTheory.MorphismProperty.Retract +public import Mathlib.CategoryTheory.MorphismProperty.RetractArgument +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +public import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem +public import Mathlib.CategoryTheory.NatIso +public import Mathlib.CategoryTheory.NatTrans +public import Mathlib.CategoryTheory.Noetherian +public import Mathlib.CategoryTheory.ObjectProperty.Basic +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.ObjectProperty.ColimitsOfShape +public import Mathlib.CategoryTheory.ObjectProperty.ContainsZero +public import Mathlib.CategoryTheory.ObjectProperty.EpiMono +public import Mathlib.CategoryTheory.ObjectProperty.Extensions +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +public import Mathlib.CategoryTheory.ObjectProperty.Ind +public import Mathlib.CategoryTheory.ObjectProperty.LimitsOfShape +public import Mathlib.CategoryTheory.ObjectProperty.Local +public import Mathlib.CategoryTheory.ObjectProperty.Opposite +public import Mathlib.CategoryTheory.ObjectProperty.Retract +public import Mathlib.CategoryTheory.ObjectProperty.Shift +public import Mathlib.CategoryTheory.ObjectProperty.Small +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.CategoryTheory.PEmpty +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.CategoryTheory.PathCategory.Basic +public import Mathlib.CategoryTheory.PathCategory.MorphismProperty +public import Mathlib.CategoryTheory.Pi.Basic +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.CategoryTheory.Preadditive.CommGrp_ +public import Mathlib.CategoryTheory.Preadditive.EilenbergMoore +public import Mathlib.CategoryTheory.Preadditive.EndoFunctor +public import Mathlib.CategoryTheory.Preadditive.FunctorCategory +public import Mathlib.CategoryTheory.Preadditive.HomOrthogonal +public import Mathlib.CategoryTheory.Preadditive.Indization +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.CategoryTheory.Preadditive.Injective.LiftingProperties +public import Mathlib.CategoryTheory.Preadditive.Injective.Preserves +public import Mathlib.CategoryTheory.Preadditive.Injective.Resolution +public import Mathlib.CategoryTheory.Preadditive.LeftExact +public import Mathlib.CategoryTheory.Preadditive.LiftToFinset +public import Mathlib.CategoryTheory.Preadditive.Mat +public import Mathlib.CategoryTheory.Preadditive.OfBiproducts +public import Mathlib.CategoryTheory.Preadditive.Opposite +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.CategoryTheory.Preadditive.Projective.Internal +public import Mathlib.CategoryTheory.Preadditive.Projective.LiftingProperties +public import Mathlib.CategoryTheory.Preadditive.Projective.Preserves +public import Mathlib.CategoryTheory.Preadditive.Projective.Resolution +public import Mathlib.CategoryTheory.Preadditive.Schur +public import Mathlib.CategoryTheory.Preadditive.SingleObj +public import Mathlib.CategoryTheory.Preadditive.Transfer +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Injective +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Projective +public import Mathlib.CategoryTheory.Presentable.Basic +public import Mathlib.CategoryTheory.Presentable.CardinalFilteredPresentation +public import Mathlib.CategoryTheory.Presentable.ColimitPresentation +public import Mathlib.CategoryTheory.Presentable.Finite +public import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered +public import Mathlib.CategoryTheory.Presentable.Limits +public import Mathlib.CategoryTheory.Presentable.LocallyPresentable +public import Mathlib.CategoryTheory.Products.Associator +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.CategoryTheory.Products.Bifunctor +public import Mathlib.CategoryTheory.Products.Unitor +public import Mathlib.CategoryTheory.Quotient +public import Mathlib.CategoryTheory.Quotient.Linear +public import Mathlib.CategoryTheory.Quotient.Preadditive +public import Mathlib.CategoryTheory.Retract +public import Mathlib.CategoryTheory.Shift.Adjunction +public import Mathlib.CategoryTheory.Shift.Basic +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Shift.Induced +public import Mathlib.CategoryTheory.Shift.InducedShiftSequence +public import Mathlib.CategoryTheory.Shift.Linear +public import Mathlib.CategoryTheory.Shift.Localization +public import Mathlib.CategoryTheory.Shift.Opposite +public import Mathlib.CategoryTheory.Shift.Pullback +public import Mathlib.CategoryTheory.Shift.Quotient +public import Mathlib.CategoryTheory.Shift.ShiftSequence +public import Mathlib.CategoryTheory.Shift.ShiftedHom +public import Mathlib.CategoryTheory.Shift.ShiftedHomOpposite +public import Mathlib.CategoryTheory.Shift.SingleFunctors +public import Mathlib.CategoryTheory.Sigma.Basic +public import Mathlib.CategoryTheory.Simple +public import Mathlib.CategoryTheory.SingleObj +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.Adjunction +public import Mathlib.CategoryTheory.Sites.Canonical +public import Mathlib.CategoryTheory.Sites.CartesianClosed +public import Mathlib.CategoryTheory.Sites.CartesianMonoidal +public import Mathlib.CategoryTheory.Sites.ChosenFiniteProducts +public import Mathlib.CategoryTheory.Sites.Closed +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentTopology +public import Mathlib.CategoryTheory.Sites.Coherent.Comparison +public import Mathlib.CategoryTheory.Sites.Coherent.Equivalence +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveColimits +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveTopology +public import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPrecoherent +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular +public import Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves +public import Mathlib.CategoryTheory.Sites.Coherent.RegularTopology +public import Mathlib.CategoryTheory.Sites.Coherent.SequentialLimit +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +public import Mathlib.CategoryTheory.Sites.CompatiblePlus +public import Mathlib.CategoryTheory.Sites.CompatibleSheafification +public import Mathlib.CategoryTheory.Sites.ConcreteSheafification +public import Mathlib.CategoryTheory.Sites.ConstantSheaf +public import Mathlib.CategoryTheory.Sites.Continuous +public import Mathlib.CategoryTheory.Sites.CoverLifting +public import Mathlib.CategoryTheory.Sites.CoverPreserving +public import Mathlib.CategoryTheory.Sites.Coverage +public import Mathlib.CategoryTheory.Sites.CoversTop +public import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic +public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology +public import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv +public import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic +public import Mathlib.CategoryTheory.Sites.EpiMono +public import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition +public import Mathlib.CategoryTheory.Sites.Equivalence +public import Mathlib.CategoryTheory.Sites.Finite +public import Mathlib.CategoryTheory.Sites.GlobalSections +public import Mathlib.CategoryTheory.Sites.Grothendieck +public import Mathlib.CategoryTheory.Sites.Hypercover.Homotopy +public import Mathlib.CategoryTheory.Sites.Hypercover.IsSheaf +public import Mathlib.CategoryTheory.Sites.Hypercover.One +public import Mathlib.CategoryTheory.Sites.Hypercover.Zero +public import Mathlib.CategoryTheory.Sites.IsSheafFor +public import Mathlib.CategoryTheory.Sites.JointlySurjective +public import Mathlib.CategoryTheory.Sites.LeftExact +public import Mathlib.CategoryTheory.Sites.Limits +public import Mathlib.CategoryTheory.Sites.Localization +public import Mathlib.CategoryTheory.Sites.LocallyBijective +public import Mathlib.CategoryTheory.Sites.LocallyFullyFaithful +public import Mathlib.CategoryTheory.Sites.LocallyInjective +public import Mathlib.CategoryTheory.Sites.LocallySurjective +public import Mathlib.CategoryTheory.Sites.MayerVietorisSquare +public import Mathlib.CategoryTheory.Sites.Monoidal +public import Mathlib.CategoryTheory.Sites.MorphismProperty +public import Mathlib.CategoryTheory.Sites.NonabelianCohomology.H1 +public import Mathlib.CategoryTheory.Sites.Over +public import Mathlib.CategoryTheory.Sites.Plus +public import Mathlib.CategoryTheory.Sites.Precoverage +public import Mathlib.CategoryTheory.Sites.Preserves +public import Mathlib.CategoryTheory.Sites.PreservesLocallyBijective +public import Mathlib.CategoryTheory.Sites.PreservesSheafification +public import Mathlib.CategoryTheory.Sites.Pretopology +public import Mathlib.CategoryTheory.Sites.Pullback +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.CategoryTheory.Sites.SheafCohomology.Basic +public import Mathlib.CategoryTheory.Sites.SheafHom +public import Mathlib.CategoryTheory.Sites.SheafOfTypes +public import Mathlib.CategoryTheory.Sites.Sheafification +public import Mathlib.CategoryTheory.Sites.Sieves +public import Mathlib.CategoryTheory.Sites.Spaces +public import Mathlib.CategoryTheory.Sites.Subcanonical +public import Mathlib.CategoryTheory.Sites.Subsheaf +public import Mathlib.CategoryTheory.Sites.Types +public import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.CategoryTheory.Skeletal +public import Mathlib.CategoryTheory.SmallObject.Basic +public import Mathlib.CategoryTheory.SmallObject.Construction +public import Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument +public import Mathlib.CategoryTheory.SmallObject.Iteration.Basic +public import Mathlib.CategoryTheory.SmallObject.Iteration.ExtendToSucc +public import Mathlib.CategoryTheory.SmallObject.Iteration.FunctorOfCocone +public import Mathlib.CategoryTheory.SmallObject.Iteration.Nonempty +public import Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting +public import Mathlib.CategoryTheory.SmallObject.TransfiniteIteration +public import Mathlib.CategoryTheory.SmallObject.WellOrderInductionData +public import Mathlib.CategoryTheory.SmallRepresentatives +public import Mathlib.CategoryTheory.Square +public import Mathlib.CategoryTheory.Subobject.ArtinianObject +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.CategoryTheory.Subobject.Comma +public import Mathlib.CategoryTheory.Subobject.FactorThru +public import Mathlib.CategoryTheory.Subobject.HasCardinalLT +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.CategoryTheory.Subobject.Limits +public import Mathlib.CategoryTheory.Subobject.MonoOver +public import Mathlib.CategoryTheory.Subobject.NoetherianObject +public import Mathlib.CategoryTheory.Subobject.Presheaf +public import Mathlib.CategoryTheory.Subobject.Types +public import Mathlib.CategoryTheory.Subobject.WellPowered +public import Mathlib.CategoryTheory.Subpresheaf.Basic +public import Mathlib.CategoryTheory.Subpresheaf.Equalizer +public import Mathlib.CategoryTheory.Subpresheaf.Finite +public import Mathlib.CategoryTheory.Subpresheaf.Image +public import Mathlib.CategoryTheory.Subpresheaf.OfSection +public import Mathlib.CategoryTheory.Subpresheaf.Sieves +public import Mathlib.CategoryTheory.Subpresheaf.Subobject +public import Mathlib.CategoryTheory.Subterminal +public import Mathlib.CategoryTheory.Sums.Associator +public import Mathlib.CategoryTheory.Sums.Basic +public import Mathlib.CategoryTheory.Sums.Products +public import Mathlib.CategoryTheory.Thin +public import Mathlib.CategoryTheory.Topos.Classifier +public import Mathlib.CategoryTheory.Triangulated.Adjunction +public import Mathlib.CategoryTheory.Triangulated.Basic +public import Mathlib.CategoryTheory.Triangulated.Functor +public import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor +public import Mathlib.CategoryTheory.Triangulated.Opposite.Basic +public import Mathlib.CategoryTheory.Triangulated.Opposite.Functor +public import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated +public import Mathlib.CategoryTheory.Triangulated.Opposite.Triangle +public import Mathlib.CategoryTheory.Triangulated.Pretriangulated +public import Mathlib.CategoryTheory.Triangulated.Rotate +public import Mathlib.CategoryTheory.Triangulated.Subcategory +public import Mathlib.CategoryTheory.Triangulated.TStructure.Basic +public import Mathlib.CategoryTheory.Triangulated.TriangleShift +public import Mathlib.CategoryTheory.Triangulated.Triangulated +public import Mathlib.CategoryTheory.Triangulated.Yoneda +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.CategoryTheory.Types.Monomorphisms +public import Mathlib.CategoryTheory.Types.Set +public import Mathlib.CategoryTheory.UnivLE +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.Widesubcategory +public import Mathlib.CategoryTheory.WithTerminal +public import Mathlib.CategoryTheory.WithTerminal.Basic +public import Mathlib.CategoryTheory.WithTerminal.Cone +public import Mathlib.CategoryTheory.WithTerminal.FinCategory +public import Mathlib.CategoryTheory.WithTerminal.Lemmas +public import Mathlib.CategoryTheory.Yoneda +public import Mathlib.Combinatorics.Additive.AP.Three.Behrend +public import Mathlib.Combinatorics.Additive.AP.Three.Defs +public import Mathlib.Combinatorics.Additive.ApproximateSubgroup +public import Mathlib.Combinatorics.Additive.CauchyDavenport +public import Mathlib.Combinatorics.Additive.Convolution +public import Mathlib.Combinatorics.Additive.Corner.Defs +public import Mathlib.Combinatorics.Additive.Corner.Roth +public import Mathlib.Combinatorics.Additive.CovBySMul +public import Mathlib.Combinatorics.Additive.Dissociation +public import Mathlib.Combinatorics.Additive.DoublingConst +public import Mathlib.Combinatorics.Additive.ETransform +public import Mathlib.Combinatorics.Additive.Energy +public import Mathlib.Combinatorics.Additive.ErdosGinzburgZiv +public import Mathlib.Combinatorics.Additive.FreimanHom +public import Mathlib.Combinatorics.Additive.PluenneckeRuzsa +public import Mathlib.Combinatorics.Additive.Randomisation +public import Mathlib.Combinatorics.Additive.RuzsaCovering +public import Mathlib.Combinatorics.Additive.SmallTripling +public import Mathlib.Combinatorics.Additive.VerySmallDoubling +public import Mathlib.Combinatorics.Colex +public import Mathlib.Combinatorics.Configuration +public import Mathlib.Combinatorics.Derangements.Basic +public import Mathlib.Combinatorics.Derangements.Exponential +public import Mathlib.Combinatorics.Derangements.Finite +public import Mathlib.Combinatorics.Digraph.Basic +public import Mathlib.Combinatorics.Digraph.Orientation +public import Mathlib.Combinatorics.Enumerative.Bell +public import Mathlib.Combinatorics.Enumerative.Catalan +public import Mathlib.Combinatorics.Enumerative.Composition +public import Mathlib.Combinatorics.Enumerative.DoubleCounting +public import Mathlib.Combinatorics.Enumerative.DyckWord +public import Mathlib.Combinatorics.Enumerative.IncidenceAlgebra +public import Mathlib.Combinatorics.Enumerative.InclusionExclusion +public import Mathlib.Combinatorics.Enumerative.Partition +public import Mathlib.Combinatorics.Enumerative.Stirling +public import Mathlib.Combinatorics.Extremal.RuzsaSzemeredi +public import Mathlib.Combinatorics.Graph.Basic +public import Mathlib.Combinatorics.HalesJewett +public import Mathlib.Combinatorics.Hall.Basic +public import Mathlib.Combinatorics.Hall.Finite +public import Mathlib.Combinatorics.Hindman +public import Mathlib.Combinatorics.Matroid.Basic +public import Mathlib.Combinatorics.Matroid.Circuit +public import Mathlib.Combinatorics.Matroid.Closure +public import Mathlib.Combinatorics.Matroid.Constructions +public import Mathlib.Combinatorics.Matroid.Dual +public import Mathlib.Combinatorics.Matroid.IndepAxioms +public import Mathlib.Combinatorics.Matroid.Init +public import Mathlib.Combinatorics.Matroid.Loop +public import Mathlib.Combinatorics.Matroid.Map +public import Mathlib.Combinatorics.Matroid.Minor.Contract +public import Mathlib.Combinatorics.Matroid.Minor.Delete +public import Mathlib.Combinatorics.Matroid.Minor.Order +public import Mathlib.Combinatorics.Matroid.Minor.Restrict +public import Mathlib.Combinatorics.Matroid.Rank.Cardinal +public import Mathlib.Combinatorics.Matroid.Rank.ENat +public import Mathlib.Combinatorics.Matroid.Rank.Finite +public import Mathlib.Combinatorics.Matroid.Sum +public import Mathlib.Combinatorics.Nullstellensatz +public import Mathlib.Combinatorics.Optimization.ValuedCSP +public import Mathlib.Combinatorics.Pigeonhole +public import Mathlib.Combinatorics.Quiver.Arborescence +public import Mathlib.Combinatorics.Quiver.Basic +public import Mathlib.Combinatorics.Quiver.Cast +public import Mathlib.Combinatorics.Quiver.ConnectedComponent +public import Mathlib.Combinatorics.Quiver.Covering +public import Mathlib.Combinatorics.Quiver.Path +public import Mathlib.Combinatorics.Quiver.Path.Decomposition +public import Mathlib.Combinatorics.Quiver.Path.Vertices +public import Mathlib.Combinatorics.Quiver.Path.Weight +public import Mathlib.Combinatorics.Quiver.Prefunctor +public import Mathlib.Combinatorics.Quiver.Push +public import Mathlib.Combinatorics.Quiver.ReflQuiver +public import Mathlib.Combinatorics.Quiver.SingleObj +public import Mathlib.Combinatorics.Quiver.Subquiver +public import Mathlib.Combinatorics.Quiver.Symmetric +public import Mathlib.Combinatorics.Schnirelmann +public import Mathlib.Combinatorics.SetFamily.AhlswedeZhang +public import Mathlib.Combinatorics.SetFamily.Compression.Down +public import Mathlib.Combinatorics.SetFamily.Compression.UV +public import Mathlib.Combinatorics.SetFamily.FourFunctions +public import Mathlib.Combinatorics.SetFamily.HarrisKleitman +public import Mathlib.Combinatorics.SetFamily.Intersecting +public import Mathlib.Combinatorics.SetFamily.Kleitman +public import Mathlib.Combinatorics.SetFamily.KruskalKatona +public import Mathlib.Combinatorics.SetFamily.LYM +public import Mathlib.Combinatorics.SetFamily.Shadow +public import Mathlib.Combinatorics.SetFamily.Shatter +public import Mathlib.Combinatorics.SimpleGraph.Acyclic +public import Mathlib.Combinatorics.SimpleGraph.AdjMatrix +public import Mathlib.Combinatorics.SimpleGraph.Basic +public import Mathlib.Combinatorics.SimpleGraph.Bipartite +public import Mathlib.Combinatorics.SimpleGraph.Circulant +public import Mathlib.Combinatorics.SimpleGraph.Clique +public import Mathlib.Combinatorics.SimpleGraph.Coloring +public import Mathlib.Combinatorics.SimpleGraph.CompleteMultipartite +public import Mathlib.Combinatorics.SimpleGraph.ConcreteColorings +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkCounting +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkDecomp +public import Mathlib.Combinatorics.SimpleGraph.Copy +public import Mathlib.Combinatorics.SimpleGraph.Dart +public import Mathlib.Combinatorics.SimpleGraph.DegreeSum +public import Mathlib.Combinatorics.SimpleGraph.DeleteEdges +public import Mathlib.Combinatorics.SimpleGraph.Density +public import Mathlib.Combinatorics.SimpleGraph.Diam +public import Mathlib.Combinatorics.SimpleGraph.Ends.Defs +public import Mathlib.Combinatorics.SimpleGraph.Ends.Properties +public import Mathlib.Combinatorics.SimpleGraph.Extremal.Basic +public import Mathlib.Combinatorics.SimpleGraph.Extremal.Turan +public import Mathlib.Combinatorics.SimpleGraph.Extremal.TuranDensity +public import Mathlib.Combinatorics.SimpleGraph.Finite +public import Mathlib.Combinatorics.SimpleGraph.Finsubgraph +public import Mathlib.Combinatorics.SimpleGraph.FiveWheelLike +public import Mathlib.Combinatorics.SimpleGraph.Girth +public import Mathlib.Combinatorics.SimpleGraph.Hamiltonian +public import Mathlib.Combinatorics.SimpleGraph.Hasse +public import Mathlib.Combinatorics.SimpleGraph.IncMatrix +public import Mathlib.Combinatorics.SimpleGraph.Init +public import Mathlib.Combinatorics.SimpleGraph.LapMatrix +public import Mathlib.Combinatorics.SimpleGraph.LineGraph +public import Mathlib.Combinatorics.SimpleGraph.Maps +public import Mathlib.Combinatorics.SimpleGraph.Matching +public import Mathlib.Combinatorics.SimpleGraph.Metric +public import Mathlib.Combinatorics.SimpleGraph.Operations +public import Mathlib.Combinatorics.SimpleGraph.Partition +public import Mathlib.Combinatorics.SimpleGraph.Path +public import Mathlib.Combinatorics.SimpleGraph.Paths +public import Mathlib.Combinatorics.SimpleGraph.Prod +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Bound +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Chunk +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Energy +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Equitabilise +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Increment +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Lemma +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform +public import Mathlib.Combinatorics.SimpleGraph.StronglyRegular +public import Mathlib.Combinatorics.SimpleGraph.Subgraph +public import Mathlib.Combinatorics.SimpleGraph.Sum +public import Mathlib.Combinatorics.SimpleGraph.Trails +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Counting +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Removal +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite +public import Mathlib.Combinatorics.SimpleGraph.Turan +public import Mathlib.Combinatorics.SimpleGraph.Tutte +public import Mathlib.Combinatorics.SimpleGraph.UniversalVerts +public import Mathlib.Combinatorics.SimpleGraph.Walk +public import Mathlib.Combinatorics.Young.SemistandardTableau +public import Mathlib.Combinatorics.Young.YoungDiagram +public import Mathlib.Computability.Ackermann +public import Mathlib.Computability.AkraBazzi.AkraBazzi +public import Mathlib.Computability.AkraBazzi.GrowsPolynomially +public import Mathlib.Computability.AkraBazzi.SumTransform +public import Mathlib.Computability.ContextFreeGrammar +public import Mathlib.Computability.DFA +public import Mathlib.Computability.Encoding +public import Mathlib.Computability.EpsilonNFA +public import Mathlib.Computability.Halting +public import Mathlib.Computability.Language +public import Mathlib.Computability.MyhillNerode +public import Mathlib.Computability.NFA +public import Mathlib.Computability.Partrec +public import Mathlib.Computability.PartrecCode +public import Mathlib.Computability.PostTuringMachine +public import Mathlib.Computability.Primrec +public import Mathlib.Computability.Reduce +public import Mathlib.Computability.RegularExpressions +public import Mathlib.Computability.TMComputable +public import Mathlib.Computability.TMConfig +public import Mathlib.Computability.TMToPartrec +public import Mathlib.Computability.Tape +public import Mathlib.Computability.TuringDegree +public import Mathlib.Computability.TuringMachine +public import Mathlib.Condensed.AB +public import Mathlib.Condensed.Basic +public import Mathlib.Condensed.CartesianClosed +public import Mathlib.Condensed.Discrete.Basic +public import Mathlib.Condensed.Discrete.Characterization +public import Mathlib.Condensed.Discrete.Colimit +public import Mathlib.Condensed.Discrete.LocallyConstant +public import Mathlib.Condensed.Discrete.Module +public import Mathlib.Condensed.Epi +public import Mathlib.Condensed.Equivalence +public import Mathlib.Condensed.Explicit +public import Mathlib.Condensed.Functors +public import Mathlib.Condensed.Light.AB +public import Mathlib.Condensed.Light.Basic +public import Mathlib.Condensed.Light.CartesianClosed +public import Mathlib.Condensed.Light.Epi +public import Mathlib.Condensed.Light.Explicit +public import Mathlib.Condensed.Light.Functors +public import Mathlib.Condensed.Light.Limits +public import Mathlib.Condensed.Light.Module +public import Mathlib.Condensed.Light.Small +public import Mathlib.Condensed.Light.TopCatAdjunction +public import Mathlib.Condensed.Light.TopComparison +public import Mathlib.Condensed.Limits +public import Mathlib.Condensed.Module +public import Mathlib.Condensed.Solid +public import Mathlib.Condensed.TopCatAdjunction +public import Mathlib.Condensed.TopComparison +public import Mathlib.Control.Applicative +public import Mathlib.Control.Basic +public import Mathlib.Control.Bifunctor +public import Mathlib.Control.Bitraversable.Basic +public import Mathlib.Control.Bitraversable.Instances +public import Mathlib.Control.Bitraversable.Lemmas +public import Mathlib.Control.Combinators +public import Mathlib.Control.EquivFunctor +public import Mathlib.Control.EquivFunctor.Instances +public import Mathlib.Control.Fix +public import Mathlib.Control.Fold +public import Mathlib.Control.Functor +public import Mathlib.Control.Functor.Multivariate +public import Mathlib.Control.Lawful +public import Mathlib.Control.LawfulFix +public import Mathlib.Control.Monad.Basic +public import Mathlib.Control.Monad.Cont +public import Mathlib.Control.Monad.Writer +public import Mathlib.Control.Random +public import Mathlib.Control.Traversable.Basic +public import Mathlib.Control.Traversable.Equiv +public import Mathlib.Control.Traversable.Instances +public import Mathlib.Control.Traversable.Lemmas +public import Mathlib.Control.ULift +public import Mathlib.Control.ULiftable +public import Mathlib.Data.Analysis.Filter +public import Mathlib.Data.Analysis.Topology +public import Mathlib.Data.Array.Defs +public import Mathlib.Data.Array.Extract +public import Mathlib.Data.BitVec +public import Mathlib.Data.Bool.AllAny +public import Mathlib.Data.Bool.Basic +public import Mathlib.Data.Bool.Count +public import Mathlib.Data.Bool.Set +public import Mathlib.Data.Bracket +public import Mathlib.Data.Bundle +public import Mathlib.Data.Char +public import Mathlib.Data.Complex.Basic +public import Mathlib.Data.Complex.BigOperators +public import Mathlib.Data.Complex.Cardinality +public import Mathlib.Data.Complex.Exponential +public import Mathlib.Data.Complex.ExponentialBounds +public import Mathlib.Data.Complex.FiniteDimensional +public import Mathlib.Data.Complex.Norm +public import Mathlib.Data.Complex.Order +public import Mathlib.Data.Complex.Trigonometric +public import Mathlib.Data.Countable.Basic +public import Mathlib.Data.Countable.Defs +public import Mathlib.Data.Countable.Small +public import Mathlib.Data.DFinsupp.BigOperators +public import Mathlib.Data.DFinsupp.Defs +public import Mathlib.Data.DFinsupp.Encodable +public import Mathlib.Data.DFinsupp.Ext +public import Mathlib.Data.DFinsupp.FiniteInfinite +public import Mathlib.Data.DFinsupp.Interval +public import Mathlib.Data.DFinsupp.Lex +public import Mathlib.Data.DFinsupp.Module +public import Mathlib.Data.DFinsupp.Multiset +public import Mathlib.Data.DFinsupp.NeLocus +public import Mathlib.Data.DFinsupp.Notation +public import Mathlib.Data.DFinsupp.Order +public import Mathlib.Data.DFinsupp.Sigma +public import Mathlib.Data.DFinsupp.Small +public import Mathlib.Data.DFinsupp.Submonoid +public import Mathlib.Data.DFinsupp.WellFounded +public import Mathlib.Data.DList.Instances +public import Mathlib.Data.ENNReal.Action +public import Mathlib.Data.ENNReal.Basic +public import Mathlib.Data.ENNReal.BigOperators +public import Mathlib.Data.ENNReal.Holder +public import Mathlib.Data.ENNReal.Inv +public import Mathlib.Data.ENNReal.Lemmas +public import Mathlib.Data.ENNReal.Operations +public import Mathlib.Data.ENNReal.Order +public import Mathlib.Data.ENNReal.Real +public import Mathlib.Data.ENat.Basic +public import Mathlib.Data.ENat.BigOperators +public import Mathlib.Data.ENat.Defs +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Data.ENat.Pow +public import Mathlib.Data.EReal.Basic +public import Mathlib.Data.EReal.Inv +public import Mathlib.Data.EReal.Operations +public import Mathlib.Data.Erased +public import Mathlib.Data.FP.Basic +public import Mathlib.Data.Fin.Basic +public import Mathlib.Data.Fin.Embedding +public import Mathlib.Data.Fin.Fin2 +public import Mathlib.Data.Fin.FlagRange +public import Mathlib.Data.Fin.Parity +public import Mathlib.Data.Fin.Pigeonhole +public import Mathlib.Data.Fin.Rev +public import Mathlib.Data.Fin.SuccPred +public import Mathlib.Data.Fin.SuccPredOrder +public import Mathlib.Data.Fin.Tuple.Basic +public import Mathlib.Data.Fin.Tuple.BubbleSortInduction +public import Mathlib.Data.Fin.Tuple.Curry +public import Mathlib.Data.Fin.Tuple.Embedding +public import Mathlib.Data.Fin.Tuple.Finset +public import Mathlib.Data.Fin.Tuple.NatAntidiagonal +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.Data.Fin.Tuple.Sort +public import Mathlib.Data.Fin.Tuple.Take +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.FinEnum +public import Mathlib.Data.FinEnum.Option +public import Mathlib.Data.Finite.Card +public import Mathlib.Data.Finite.Defs +public import Mathlib.Data.Finite.Perm +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Finite.Set +public import Mathlib.Data.Finite.Sigma +public import Mathlib.Data.Finite.Sum +public import Mathlib.Data.Finite.Vector +public import Mathlib.Data.Finmap +public import Mathlib.Data.Finset.Attach +public import Mathlib.Data.Finset.Attr +public import Mathlib.Data.Finset.Basic +public import Mathlib.Data.Finset.BooleanAlgebra +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.CastCard +public import Mathlib.Data.Finset.Dedup +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Finset.Density +public import Mathlib.Data.Finset.Disjoint +public import Mathlib.Data.Finset.Empty +public import Mathlib.Data.Finset.Erase +public import Mathlib.Data.Finset.Filter +public import Mathlib.Data.Finset.Fin +public import Mathlib.Data.Finset.Finsupp +public import Mathlib.Data.Finset.Fold +public import Mathlib.Data.Finset.Functor +public import Mathlib.Data.Finset.Grade +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Finset.Insert +public import Mathlib.Data.Finset.Interval +public import Mathlib.Data.Finset.Lattice.Basic +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Finset.Lattice.Lemmas +public import Mathlib.Data.Finset.Lattice.Pi +public import Mathlib.Data.Finset.Lattice.Prod +public import Mathlib.Data.Finset.Lattice.Union +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Finset.MulAntidiagonal +public import Mathlib.Data.Finset.NAry +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.Data.Finset.NatDivisors +public import Mathlib.Data.Finset.NoncommProd +public import Mathlib.Data.Finset.Option +public import Mathlib.Data.Finset.Order +public import Mathlib.Data.Finset.PImage +public import Mathlib.Data.Finset.Pairwise +public import Mathlib.Data.Finset.Pi +public import Mathlib.Data.Finset.PiInduction +public import Mathlib.Data.Finset.Piecewise +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Finset.Range +public import Mathlib.Data.Finset.SDiff +public import Mathlib.Data.Finset.SMulAntidiagonal +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Finset.Slice +public import Mathlib.Data.Finset.Sort +public import Mathlib.Data.Finset.Sum +public import Mathlib.Data.Finset.Sups +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Finset.SymmDiff +public import Mathlib.Data.Finset.Union +public import Mathlib.Data.Finset.Update +public import Mathlib.Data.Finsupp.AList +public import Mathlib.Data.Finsupp.Antidiagonal +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.BigOperators +public import Mathlib.Data.Finsupp.Defs +public import Mathlib.Data.Finsupp.Encodable +public import Mathlib.Data.Finsupp.Ext +public import Mathlib.Data.Finsupp.Fin +public import Mathlib.Data.Finsupp.Fintype +public import Mathlib.Data.Finsupp.Indicator +public import Mathlib.Data.Finsupp.Interval +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Data.Finsupp.MonomialOrder +public import Mathlib.Data.Finsupp.MonomialOrder.DegLex +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.Data.Finsupp.NeLocus +public import Mathlib.Data.Finsupp.Notation +public import Mathlib.Data.Finsupp.Option +public import Mathlib.Data.Finsupp.Order +public import Mathlib.Data.Finsupp.PWO +public import Mathlib.Data.Finsupp.Pointwise +public import Mathlib.Data.Finsupp.SMul +public import Mathlib.Data.Finsupp.SMulWithZero +public import Mathlib.Data.Finsupp.Single +public import Mathlib.Data.Finsupp.ToDFinsupp +public import Mathlib.Data.Finsupp.Weight +public import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Fintype.Card +public import Mathlib.Data.Fintype.CardEmbedding +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Fintype.Fin +public import Mathlib.Data.Fintype.Inv +public import Mathlib.Data.Fintype.Lattice +public import Mathlib.Data.Fintype.List +public import Mathlib.Data.Fintype.OfMap +public import Mathlib.Data.Fintype.Option +public import Mathlib.Data.Fintype.Order +public import Mathlib.Data.Fintype.Parity +public import Mathlib.Data.Fintype.Perm +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Quotient +public import Mathlib.Data.Fintype.Sets +public import Mathlib.Data.Fintype.Shrink +public import Mathlib.Data.Fintype.Sigma +public import Mathlib.Data.Fintype.Sort +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Fintype.Units +public import Mathlib.Data.Fintype.Vector +public import Mathlib.Data.Fintype.WithTopBot +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Data.FunLike.Embedding +public import Mathlib.Data.FunLike.Equiv +public import Mathlib.Data.FunLike.Fintype +public import Mathlib.Data.Holor +public import Mathlib.Data.Ineq +public import Mathlib.Data.Int.AbsoluteValue +public import Mathlib.Data.Int.Associated +public import Mathlib.Data.Int.Basic +public import Mathlib.Data.Int.Bitwise +public import Mathlib.Data.Int.CardIntervalMod +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.Data.Int.Cast.Field +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.Int.Cast.Pi +public import Mathlib.Data.Int.Cast.Prod +public import Mathlib.Data.Int.CharZero +public import Mathlib.Data.Int.ConditionallyCompleteOrder +public import Mathlib.Data.Int.DivMod +public import Mathlib.Data.Int.GCD +public import Mathlib.Data.Int.Init +public import Mathlib.Data.Int.Interval +public import Mathlib.Data.Int.LeastGreatest +public import Mathlib.Data.Int.Lemmas +public import Mathlib.Data.Int.Log +public import Mathlib.Data.Int.ModEq +public import Mathlib.Data.Int.NatAbs +public import Mathlib.Data.Int.NatPrime +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Int.Order.Basic +public import Mathlib.Data.Int.Order.Lemmas +public import Mathlib.Data.Int.Order.Units +public import Mathlib.Data.Int.Range +public import Mathlib.Data.Int.Sqrt +public import Mathlib.Data.Int.Star +public import Mathlib.Data.Int.SuccPred +public import Mathlib.Data.Int.WithZero +public import Mathlib.Data.List.AList +public import Mathlib.Data.List.Basic +public import Mathlib.Data.List.Chain +public import Mathlib.Data.List.ChainOfFn +public import Mathlib.Data.List.Count +public import Mathlib.Data.List.Cycle +public import Mathlib.Data.List.Dedup +public import Mathlib.Data.List.Defs +public import Mathlib.Data.List.Destutter +public import Mathlib.Data.List.DropRight +public import Mathlib.Data.List.Duplicate +public import Mathlib.Data.List.Enum +public import Mathlib.Data.List.FinRange +public import Mathlib.Data.List.Flatten +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.List.GetD +public import Mathlib.Data.List.Indexes +public import Mathlib.Data.List.Induction +public import Mathlib.Data.List.Infix +public import Mathlib.Data.List.InsertIdx +public import Mathlib.Data.List.InsertNth +public import Mathlib.Data.List.Intervals +public import Mathlib.Data.List.Iterate +public import Mathlib.Data.List.Lattice +public import Mathlib.Data.List.Lemmas +public import Mathlib.Data.List.Lex +public import Mathlib.Data.List.Lookmap +public import Mathlib.Data.List.Map2 +public import Mathlib.Data.List.MinMax +public import Mathlib.Data.List.ModifyLast +public import Mathlib.Data.List.Monad +public import Mathlib.Data.List.NatAntidiagonal +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.NodupEquivFin +public import Mathlib.Data.List.OfFn +public import Mathlib.Data.List.Pairwise +public import Mathlib.Data.List.Palindrome +public import Mathlib.Data.List.Perm.Basic +public import Mathlib.Data.List.Perm.Lattice +public import Mathlib.Data.List.Perm.Subperm +public import Mathlib.Data.List.Permutation +public import Mathlib.Data.List.Pi +public import Mathlib.Data.List.Prime +public import Mathlib.Data.List.ProdSigma +public import Mathlib.Data.List.Range +public import Mathlib.Data.List.ReduceOption +public import Mathlib.Data.List.Rotate +public import Mathlib.Data.List.Scan +public import Mathlib.Data.List.Sections +public import Mathlib.Data.List.Shortlex +public import Mathlib.Data.List.Sigma +public import Mathlib.Data.List.Sort +public import Mathlib.Data.List.SplitBy +public import Mathlib.Data.List.SplitLengths +public import Mathlib.Data.List.SplitOn +public import Mathlib.Data.List.Sublists +public import Mathlib.Data.List.Sym +public import Mathlib.Data.List.TFAE +public import Mathlib.Data.List.TakeDrop +public import Mathlib.Data.List.TakeWhile +public import Mathlib.Data.List.ToFinsupp +public import Mathlib.Data.List.Triplewise +public import Mathlib.Data.List.Zip +public import Mathlib.Data.Matrix.Action +public import Mathlib.Data.Matrix.Auto +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Bilinear +public import Mathlib.Data.Matrix.Block +public import Mathlib.Data.Matrix.ColumnRowPartitioned +public import Mathlib.Data.Matrix.Composition +public import Mathlib.Data.Matrix.DMatrix +public import Mathlib.Data.Matrix.Diagonal +public import Mathlib.Data.Matrix.DualNumber +public import Mathlib.Data.Matrix.Invertible +public import Mathlib.Data.Matrix.Mul +public import Mathlib.Data.Matrix.PEquiv +public import Mathlib.Data.Matrix.Reflection +public import Mathlib.Data.Multiset.AddSub +public import Mathlib.Data.Multiset.Antidiagonal +public import Mathlib.Data.Multiset.Basic +public import Mathlib.Data.Multiset.Bind +public import Mathlib.Data.Multiset.Count +public import Mathlib.Data.Multiset.Dedup +public import Mathlib.Data.Multiset.Defs +public import Mathlib.Data.Multiset.DershowitzManna +public import Mathlib.Data.Multiset.Filter +public import Mathlib.Data.Multiset.FinsetOps +public import Mathlib.Data.Multiset.Fintype +public import Mathlib.Data.Multiset.Fold +public import Mathlib.Data.Multiset.Functor +public import Mathlib.Data.Multiset.Interval +public import Mathlib.Data.Multiset.Lattice +public import Mathlib.Data.Multiset.MapFold +public import Mathlib.Data.Multiset.NatAntidiagonal +public import Mathlib.Data.Multiset.OrderedMonoid +public import Mathlib.Data.Multiset.Pairwise +public import Mathlib.Data.Multiset.Pi +public import Mathlib.Data.Multiset.Powerset +public import Mathlib.Data.Multiset.Range +public import Mathlib.Data.Multiset.Replicate +public import Mathlib.Data.Multiset.Sections +public import Mathlib.Data.Multiset.Sort +public import Mathlib.Data.Multiset.Sum +public import Mathlib.Data.Multiset.Sym +public import Mathlib.Data.Multiset.UnionInter +public import Mathlib.Data.Multiset.ZeroCons +public import Mathlib.Data.NNRat.BigOperators +public import Mathlib.Data.NNRat.Defs +public import Mathlib.Data.NNRat.Floor +public import Mathlib.Data.NNRat.Lemmas +public import Mathlib.Data.NNRat.Order +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Data.NNReal.Star +public import Mathlib.Data.Nat.Basic +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Data.Nat.BitIndices +public import Mathlib.Data.Nat.Bits +public import Mathlib.Data.Nat.Bitwise +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Data.Nat.Cast.Commute +public import Mathlib.Data.Nat.Cast.Defs +public import Mathlib.Data.Nat.Cast.Field +public import Mathlib.Data.Nat.Cast.NeZero +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Nat.Cast.Order.Field +public import Mathlib.Data.Nat.Cast.Order.Ring +public import Mathlib.Data.Nat.Cast.Prod +public import Mathlib.Data.Nat.Cast.SetInterval +public import Mathlib.Data.Nat.Cast.Synonym +public import Mathlib.Data.Nat.Cast.WithTop +public import Mathlib.Data.Nat.ChineseRemainder +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.Nat.Choose.Bounds +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.Data.Nat.Choose.Central +public import Mathlib.Data.Nat.Choose.Dvd +public import Mathlib.Data.Nat.Choose.Factorization +public import Mathlib.Data.Nat.Choose.Lucas +public import Mathlib.Data.Nat.Choose.Mul +public import Mathlib.Data.Nat.Choose.Multinomial +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Data.Nat.Choose.Vandermonde +public import Mathlib.Data.Nat.Count +public import Mathlib.Data.Nat.Digits.Defs +public import Mathlib.Data.Nat.Digits.Div +public import Mathlib.Data.Nat.Digits.Lemmas +public import Mathlib.Data.Nat.Dist +public import Mathlib.Data.Nat.EvenOddRec +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Nat.Factorial.BigOperators +public import Mathlib.Data.Nat.Factorial.Cast +public import Mathlib.Data.Nat.Factorial.DoubleFactorial +public import Mathlib.Data.Nat.Factorial.NatCast +public import Mathlib.Data.Nat.Factorial.SuperFactorial +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.Data.Nat.Factorization.Defs +public import Mathlib.Data.Nat.Factorization.Induction +public import Mathlib.Data.Nat.Factorization.LCM +public import Mathlib.Data.Nat.Factorization.PrimePow +public import Mathlib.Data.Nat.Factorization.Root +public import Mathlib.Data.Nat.Factors +public import Mathlib.Data.Nat.Fib.Basic +public import Mathlib.Data.Nat.Fib.Zeckendorf +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.Nat.GCD.Basic +public import Mathlib.Data.Nat.GCD.BigOperators +public import Mathlib.Data.Nat.GCD.Prime +public import Mathlib.Data.Nat.Hyperoperation +public import Mathlib.Data.Nat.Init +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Data.Nat.Log +public import Mathlib.Data.Nat.MaxPowDiv +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Data.Nat.Multiplicity +public import Mathlib.Data.Nat.Notation +public import Mathlib.Data.Nat.Nth +public import Mathlib.Data.Nat.NthRoot.Defs +public import Mathlib.Data.Nat.Order.Lemmas +public import Mathlib.Data.Nat.PSub +public import Mathlib.Data.Nat.Pairing +public import Mathlib.Data.Nat.PartENat +public import Mathlib.Data.Nat.Periodic +public import Mathlib.Data.Nat.PowModTotient +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.Nat.Prime.Factorial +public import Mathlib.Data.Nat.Prime.Infinite +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.Data.Nat.Prime.Nth +public import Mathlib.Data.Nat.Prime.Pow +public import Mathlib.Data.Nat.PrimeFin +public import Mathlib.Data.Nat.Set +public import Mathlib.Data.Nat.Size +public import Mathlib.Data.Nat.Sqrt +public import Mathlib.Data.Nat.Squarefree +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Data.Nat.Totient +public import Mathlib.Data.Nat.Upto +public import Mathlib.Data.Nat.WithBot +public import Mathlib.Data.Num.Basic +public import Mathlib.Data.Num.Bitwise +public import Mathlib.Data.Num.Lemmas +public import Mathlib.Data.Num.Prime +public import Mathlib.Data.Num.ZNum +public import Mathlib.Data.Opposite +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.Option.Defs +public import Mathlib.Data.Option.NAry +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Data.Ordering.Lemmas +public import Mathlib.Data.Ordmap.Invariants +public import Mathlib.Data.Ordmap.Ordnode +public import Mathlib.Data.Ordmap.Ordset +public import Mathlib.Data.PEquiv +public import Mathlib.Data.PFun +public import Mathlib.Data.PFunctor.Multivariate.Basic +public import Mathlib.Data.PFunctor.Multivariate.M +public import Mathlib.Data.PFunctor.Multivariate.W +public import Mathlib.Data.PFunctor.Univariate.Basic +public import Mathlib.Data.PFunctor.Univariate.M +public import Mathlib.Data.PNat.Basic +public import Mathlib.Data.PNat.Defs +public import Mathlib.Data.PNat.Equiv +public import Mathlib.Data.PNat.Factors +public import Mathlib.Data.PNat.Find +public import Mathlib.Data.PNat.Interval +public import Mathlib.Data.PNat.Notation +public import Mathlib.Data.PNat.Prime +public import Mathlib.Data.PNat.Xgcd +public import Mathlib.Data.PSigma.Order +public import Mathlib.Data.Part +public import Mathlib.Data.Pi.Interval +public import Mathlib.Data.Prod.Basic +public import Mathlib.Data.Prod.Lex +public import Mathlib.Data.Prod.PProd +public import Mathlib.Data.Prod.TProd +public import Mathlib.Data.QPF.Multivariate.Basic +public import Mathlib.Data.QPF.Multivariate.Constructions.Cofix +public import Mathlib.Data.QPF.Multivariate.Constructions.Comp +public import Mathlib.Data.QPF.Multivariate.Constructions.Const +public import Mathlib.Data.QPF.Multivariate.Constructions.Fix +public import Mathlib.Data.QPF.Multivariate.Constructions.Prj +public import Mathlib.Data.QPF.Multivariate.Constructions.Quot +public import Mathlib.Data.QPF.Multivariate.Constructions.Sigma +public import Mathlib.Data.QPF.Univariate.Basic +public import Mathlib.Data.Quot +public import Mathlib.Data.Rat.BigOperators +public import Mathlib.Data.Rat.Cardinal +public import Mathlib.Data.Rat.Cast.CharZero +public import Mathlib.Data.Rat.Cast.Defs +public import Mathlib.Data.Rat.Cast.Lemmas +public import Mathlib.Data.Rat.Cast.Order +public import Mathlib.Data.Rat.Defs +public import Mathlib.Data.Rat.Denumerable +public import Mathlib.Data.Rat.Encodable +public import Mathlib.Data.Rat.Floor +public import Mathlib.Data.Rat.Init +public import Mathlib.Data.Rat.Lemmas +public import Mathlib.Data.Rat.NatSqrt.Defs +public import Mathlib.Data.Rat.NatSqrt.Real +public import Mathlib.Data.Rat.Sqrt +public import Mathlib.Data.Rat.Star +public import Mathlib.Data.Real.Archimedean +public import Mathlib.Data.Real.Basic +public import Mathlib.Data.Real.Cardinality +public import Mathlib.Data.Real.CompleteField +public import Mathlib.Data.Real.ConjExponents +public import Mathlib.Data.Real.ENatENNReal +public import Mathlib.Data.Real.EReal +public import Mathlib.Data.Real.Embedding +public import Mathlib.Data.Real.Hyperreal +public import Mathlib.Data.Real.Irrational +public import Mathlib.Data.Real.Pi.Bounds +public import Mathlib.Data.Real.Pi.Irrational +public import Mathlib.Data.Real.Pi.Leibniz +public import Mathlib.Data.Real.Pi.Wallis +public import Mathlib.Data.Real.Pointwise +public import Mathlib.Data.Real.Sign +public import Mathlib.Data.Real.Sqrt +public import Mathlib.Data.Real.Star +public import Mathlib.Data.Real.StarOrdered +public import Mathlib.Data.Rel +public import Mathlib.Data.SProd +public import Mathlib.Data.Semiquot +public import Mathlib.Data.Seq.Basic +public import Mathlib.Data.Seq.Computation +public import Mathlib.Data.Seq.Defs +public import Mathlib.Data.Seq.Parallel +public import Mathlib.Data.Seq.Seq +public import Mathlib.Data.Seq.WSeq +public import Mathlib.Data.Set.Accumulate +public import Mathlib.Data.Set.Basic +public import Mathlib.Data.Set.BoolIndicator +public import Mathlib.Data.Set.BooleanAlgebra +public import Mathlib.Data.Set.Card +public import Mathlib.Data.Set.Card.Arithmetic +public import Mathlib.Data.Set.CoeSort +public import Mathlib.Data.Set.Constructions +public import Mathlib.Data.Set.Countable +public import Mathlib.Data.Set.Defs +public import Mathlib.Data.Set.Disjoint +public import Mathlib.Data.Set.Enumerate +public import Mathlib.Data.Set.Equitable +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.Data.Set.Finite.List +public import Mathlib.Data.Set.Finite.Monad +public import Mathlib.Data.Set.Finite.Powerset +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Set.Function +public import Mathlib.Data.Set.Functor +public import Mathlib.Data.Set.Image +public import Mathlib.Data.Set.Inclusion +public import Mathlib.Data.Set.Insert +public import Mathlib.Data.Set.Lattice +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Data.Set.List +public import Mathlib.Data.Set.MemPartition +public import Mathlib.Data.Set.Monotone +public import Mathlib.Data.Set.MulAntidiagonal +public import Mathlib.Data.Set.NAry +public import Mathlib.Data.Set.Notation +public import Mathlib.Data.Set.Operations +public import Mathlib.Data.Set.Opposite +public import Mathlib.Data.Set.Order +public import Mathlib.Data.Set.Pairwise.Basic +public import Mathlib.Data.Set.Pairwise.Lattice +public import Mathlib.Data.Set.Pairwise.List +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Data.Set.Pointwise.Support +public import Mathlib.Data.Set.Prod +public import Mathlib.Data.Set.Restrict +public import Mathlib.Data.Set.SMulAntidiagonal +public import Mathlib.Data.Set.Semiring +public import Mathlib.Data.Set.Sigma +public import Mathlib.Data.Set.Subset +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Data.Set.Sups +public import Mathlib.Data.Set.SymmDiff +public import Mathlib.Data.Set.UnionLift +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Data.SetLike.Fintype +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Data.Setoid.Partition +public import Mathlib.Data.Setoid.Partition.Card +public import Mathlib.Data.Sigma.Basic +public import Mathlib.Data.Sigma.Interval +public import Mathlib.Data.Sigma.Lex +public import Mathlib.Data.Sigma.Order +public import Mathlib.Data.Sign +public import Mathlib.Data.Sign.Basic +public import Mathlib.Data.Sign.Defs +public import Mathlib.Data.Stream.Defs +public import Mathlib.Data.Stream.Init +public import Mathlib.Data.String.Basic +public import Mathlib.Data.String.Defs +public import Mathlib.Data.String.Lemmas +public import Mathlib.Data.Subtype +public import Mathlib.Data.Sum.Basic +public import Mathlib.Data.Sum.Interval +public import Mathlib.Data.Sum.Lattice +public import Mathlib.Data.Sum.Order +public import Mathlib.Data.Sym.Basic +public import Mathlib.Data.Sym.Card +public import Mathlib.Data.Sym.Sym2 +public import Mathlib.Data.Sym.Sym2.Finsupp +public import Mathlib.Data.Sym.Sym2.Init +public import Mathlib.Data.Sym.Sym2.Order +public import Mathlib.Data.Tree.Basic +public import Mathlib.Data.Tree.Get +public import Mathlib.Data.Tree.RBMap +public import Mathlib.Data.Tree.Traversable +public import Mathlib.Data.TwoPointing +public import Mathlib.Data.TypeVec +public import Mathlib.Data.UInt +public import Mathlib.Data.ULift +public import Mathlib.Data.Vector.Basic +public import Mathlib.Data.Vector.Defs +public import Mathlib.Data.Vector.MapLemmas +public import Mathlib.Data.Vector.Mem +public import Mathlib.Data.Vector.Snoc +public import Mathlib.Data.Vector.Zip +public import Mathlib.Data.Vector3 +public import Mathlib.Data.W.Basic +public import Mathlib.Data.W.Cardinal +public import Mathlib.Data.W.Constructions +public import Mathlib.Data.WSeq.Basic +public import Mathlib.Data.WSeq.Defs +public import Mathlib.Data.WSeq.Productive +public import Mathlib.Data.WSeq.Relation +public import Mathlib.Data.ZMod.Aut +public import Mathlib.Data.ZMod.Basic +public import Mathlib.Data.ZMod.Coprime +public import Mathlib.Data.ZMod.Defs +public import Mathlib.Data.ZMod.Factorial +public import Mathlib.Data.ZMod.IntUnitsPower +public import Mathlib.Data.ZMod.QuotientGroup +public import Mathlib.Data.ZMod.QuotientRing +public import Mathlib.Data.ZMod.Units +public import Mathlib.Data.ZMod.ValMinAbs +public import Mathlib.Deprecated.Aliases +public import Mathlib.Deprecated.AnalyticManifold +public import Mathlib.Deprecated.Estimator +public import Mathlib.Deprecated.MLList.BestFirst +public import Mathlib.Deprecated.Order +public import Mathlib.Deprecated.RingHom +public import Mathlib.Dynamics.BirkhoffSum.Average +public import Mathlib.Dynamics.BirkhoffSum.Basic +public import Mathlib.Dynamics.BirkhoffSum.NormedSpace +public import Mathlib.Dynamics.BirkhoffSum.QuasiMeasurePreserving +public import Mathlib.Dynamics.Circle.RotationNumber.TranslationNumber +public import Mathlib.Dynamics.Ergodic.Action.Basic +public import Mathlib.Dynamics.Ergodic.Action.OfMinimal +public import Mathlib.Dynamics.Ergodic.Action.Regular +public import Mathlib.Dynamics.Ergodic.AddCircle +public import Mathlib.Dynamics.Ergodic.AddCircleAdd +public import Mathlib.Dynamics.Ergodic.Conservative +public import Mathlib.Dynamics.Ergodic.Ergodic +public import Mathlib.Dynamics.Ergodic.Extreme +public import Mathlib.Dynamics.Ergodic.Function +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.Dynamics.Ergodic.RadonNikodym +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.Dynamics.FixedPoints.Prufer +public import Mathlib.Dynamics.FixedPoints.Topology +public import Mathlib.Dynamics.Flow +public import Mathlib.Dynamics.Minimal +public import Mathlib.Dynamics.Newton +public import Mathlib.Dynamics.OmegaLimit +public import Mathlib.Dynamics.PeriodicPts.Defs +public import Mathlib.Dynamics.PeriodicPts.Lemmas +public import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy +public import Mathlib.Dynamics.TopologicalEntropy.DynamicalEntourage +public import Mathlib.Dynamics.TopologicalEntropy.NetEntropy +public import Mathlib.Dynamics.TopologicalEntropy.Semiconj +public import Mathlib.Dynamics.TopologicalEntropy.Subset +public import Mathlib.FieldTheory.AbelRuffini +public import Mathlib.FieldTheory.AbsoluteGaloisGroup +public import Mathlib.FieldTheory.AlgebraicClosure +public import Mathlib.FieldTheory.AxGrothendieck +public import Mathlib.FieldTheory.CardinalEmb +public import Mathlib.FieldTheory.Cardinality +public import Mathlib.FieldTheory.ChevalleyWarning +public import Mathlib.FieldTheory.Differential.Basic +public import Mathlib.FieldTheory.Differential.Liouville +public import Mathlib.FieldTheory.Extension +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.FieldTheory.Finite.GaloisField +public import Mathlib.FieldTheory.Finite.Polynomial +public import Mathlib.FieldTheory.Finite.Trace +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.FieldTheory.Fixed +public import Mathlib.FieldTheory.Galois.Abelian +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.FieldTheory.Galois.GaloisClosure +public import Mathlib.FieldTheory.Galois.Infinite +public import Mathlib.FieldTheory.Galois.IsGaloisGroup +public import Mathlib.FieldTheory.Galois.NormalBasis +public import Mathlib.FieldTheory.Galois.Notation +public import Mathlib.FieldTheory.Galois.Profinite +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs +public import Mathlib.FieldTheory.IntermediateField.Algebraic +public import Mathlib.FieldTheory.IntermediateField.Basic +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.FieldTheory.IsAlgClosed.Classification +public import Mathlib.FieldTheory.IsAlgClosed.Spectrum +public import Mathlib.FieldTheory.IsPerfectClosure +public import Mathlib.FieldTheory.IsSepClosed +public import Mathlib.FieldTheory.Isaacs +public import Mathlib.FieldTheory.JacobsonNoether +public import Mathlib.FieldTheory.KrullTopology +public import Mathlib.FieldTheory.KummerExtension +public import Mathlib.FieldTheory.KummerPolynomial +public import Mathlib.FieldTheory.Laurent +public import Mathlib.FieldTheory.LinearDisjoint +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.FieldTheory.Minpoly.ConjRootClass +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.FieldTheory.Minpoly.IsConjRoot +public import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed +public import Mathlib.FieldTheory.Minpoly.MinpolyDiv +public import Mathlib.FieldTheory.MvRatFunc.Rank +public import Mathlib.FieldTheory.Normal.Basic +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.FieldTheory.Normal.Defs +public import Mathlib.FieldTheory.NormalizedTrace +public import Mathlib.FieldTheory.Perfect +public import Mathlib.FieldTheory.PerfectClosure +public import Mathlib.FieldTheory.PolynomialGaloisGroup +public import Mathlib.FieldTheory.PrimitiveElement +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.FieldTheory.PurelyInseparable.Exponent +public import Mathlib.FieldTheory.PurelyInseparable.PerfectClosure +public import Mathlib.FieldTheory.PurelyInseparable.Tower +public import Mathlib.FieldTheory.RatFunc.AsPolynomial +public import Mathlib.FieldTheory.RatFunc.Basic +public import Mathlib.FieldTheory.RatFunc.Defs +public import Mathlib.FieldTheory.RatFunc.Degree +public import Mathlib.FieldTheory.Relrank +public import Mathlib.FieldTheory.Separable +public import Mathlib.FieldTheory.SeparableClosure +public import Mathlib.FieldTheory.SeparableDegree +public import Mathlib.FieldTheory.SplittingField.Construction +public import Mathlib.FieldTheory.SplittingField.IsSplittingField +public import Mathlib.FieldTheory.Tower +public import Mathlib.Geometry.Convex.Cone.Basic +public import Mathlib.Geometry.Convex.Cone.Dual +public import Mathlib.Geometry.Convex.Cone.Pointed +public import Mathlib.Geometry.Euclidean.Altitude +public import Mathlib.Geometry.Euclidean.Angle.Bisector +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Basic +public import Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation +public import Mathlib.Geometry.Euclidean.Angle.Sphere +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Conformal +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.CrossProduct +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle +public import Mathlib.Geometry.Euclidean.Basic +public import Mathlib.Geometry.Euclidean.Circumcenter +public import Mathlib.Geometry.Euclidean.Congruence +public import Mathlib.Geometry.Euclidean.Incenter +public import Mathlib.Geometry.Euclidean.Inversion.Basic +public import Mathlib.Geometry.Euclidean.Inversion.Calculus +public import Mathlib.Geometry.Euclidean.Inversion.ImageHyperplane +public import Mathlib.Geometry.Euclidean.MongePoint +public import Mathlib.Geometry.Euclidean.PerpBisector +public import Mathlib.Geometry.Euclidean.Projection +public import Mathlib.Geometry.Euclidean.SignedDist +public import Mathlib.Geometry.Euclidean.Simplex +public import Mathlib.Geometry.Euclidean.Sphere.Basic +public import Mathlib.Geometry.Euclidean.Sphere.Power +public import Mathlib.Geometry.Euclidean.Sphere.Ptolemy +public import Mathlib.Geometry.Euclidean.Sphere.SecondInter +public import Mathlib.Geometry.Euclidean.Sphere.Tangent +public import Mathlib.Geometry.Euclidean.Triangle +public import Mathlib.Geometry.Group.Growth.LinearLowerBound +public import Mathlib.Geometry.Group.Growth.QuotientInter +public import Mathlib.Geometry.Manifold.Algebra.LeftInvariantDerivation +public import Mathlib.Geometry.Manifold.Algebra.LieGroup +public import Mathlib.Geometry.Manifold.Algebra.Monoid +public import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions +public import Mathlib.Geometry.Manifold.Algebra.Structures +public import Mathlib.Geometry.Manifold.AnalyticManifold +public import Mathlib.Geometry.Manifold.Bordism +public import Mathlib.Geometry.Manifold.BumpFunction +public import Mathlib.Geometry.Manifold.ChartedSpace +public import Mathlib.Geometry.Manifold.Complex +public import Mathlib.Geometry.Manifold.ConformalGroupoid +public import Mathlib.Geometry.Manifold.ContMDiff.Atlas +public import Mathlib.Geometry.Manifold.ContMDiff.Basic +public import Mathlib.Geometry.Manifold.ContMDiff.Constructions +public import Mathlib.Geometry.Manifold.ContMDiff.Defs +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +public import Mathlib.Geometry.Manifold.ContMDiffMFDeriv +public import Mathlib.Geometry.Manifold.ContMDiffMap +public import Mathlib.Geometry.Manifold.DerivationBundle +public import Mathlib.Geometry.Manifold.Diffeomorph +public import Mathlib.Geometry.Manifold.GroupLieAlgebra +public import Mathlib.Geometry.Manifold.Instances.Icc +public import Mathlib.Geometry.Manifold.Instances.Real +public import Mathlib.Geometry.Manifold.Instances.Sphere +public import Mathlib.Geometry.Manifold.Instances.UnitsOfNormedAlgebra +public import Mathlib.Geometry.Manifold.IntegralCurve.Basic +public import Mathlib.Geometry.Manifold.IntegralCurve.ExistUnique +public import Mathlib.Geometry.Manifold.IntegralCurve.Transform +public import Mathlib.Geometry.Manifold.IntegralCurve.UniformTime +public import Mathlib.Geometry.Manifold.IsManifold.Basic +public import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt +public import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary +public import Mathlib.Geometry.Manifold.LocalDiffeomorph +public import Mathlib.Geometry.Manifold.LocalInvariantProperties +public import Mathlib.Geometry.Manifold.MFDeriv.Atlas +public import Mathlib.Geometry.Manifold.MFDeriv.Basic +public import Mathlib.Geometry.Manifold.MFDeriv.Defs +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +public import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace +public import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions +public import Mathlib.Geometry.Manifold.MFDeriv.Tangent +public import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential +public import Mathlib.Geometry.Manifold.Metrizable +public import Mathlib.Geometry.Manifold.Notation +public import Mathlib.Geometry.Manifold.PartitionOfUnity +public import Mathlib.Geometry.Manifold.PoincareConjecture +public import Mathlib.Geometry.Manifold.Riemannian.Basic +public import Mathlib.Geometry.Manifold.Riemannian.PathELength +public import Mathlib.Geometry.Manifold.Sheaf.Basic +public import Mathlib.Geometry.Manifold.Sheaf.LocallyRingedSpace +public import Mathlib.Geometry.Manifold.Sheaf.Smooth +public import Mathlib.Geometry.Manifold.VectorBundle.Basic +public import Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear +public import Mathlib.Geometry.Manifold.VectorBundle.Hom +public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable +public import Mathlib.Geometry.Manifold.VectorBundle.Pullback +public import Mathlib.Geometry.Manifold.VectorBundle.Riemannian +public import Mathlib.Geometry.Manifold.VectorBundle.SmoothSection +public import Mathlib.Geometry.Manifold.VectorBundle.Tangent +public import Mathlib.Geometry.Manifold.VectorField.LieBracket +public import Mathlib.Geometry.Manifold.VectorField.Pullback +public import Mathlib.Geometry.Manifold.WhitneyEmbedding +public import Mathlib.Geometry.RingedSpace.Basic +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.HasColimits +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.ResidueField +public import Mathlib.Geometry.RingedSpace.OpenImmersion +public import Mathlib.Geometry.RingedSpace.PresheafedSpace +public import Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing +public import Mathlib.Geometry.RingedSpace.PresheafedSpace.HasColimits +public import Mathlib.Geometry.RingedSpace.SheafedSpace +public import Mathlib.Geometry.RingedSpace.Stalks +public import Mathlib.GroupTheory.Abelianization.Defs +public import Mathlib.GroupTheory.Abelianization.Finite +public import Mathlib.GroupTheory.Archimedean +public import Mathlib.GroupTheory.ArchimedeanDensely +public import Mathlib.GroupTheory.ClassEquation +public import Mathlib.GroupTheory.Commensurable +public import Mathlib.GroupTheory.Commutator.Basic +public import Mathlib.GroupTheory.Commutator.Finite +public import Mathlib.GroupTheory.CommutingProbability +public import Mathlib.GroupTheory.Complement +public import Mathlib.GroupTheory.Congruence.Basic +public import Mathlib.GroupTheory.Congruence.BigOperators +public import Mathlib.GroupTheory.Congruence.Defs +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.GroupTheory.Congruence.Opposite +public import Mathlib.GroupTheory.Coprod.Basic +public import Mathlib.GroupTheory.CoprodI +public import Mathlib.GroupTheory.Coset.Basic +public import Mathlib.GroupTheory.Coset.Card +public import Mathlib.GroupTheory.Coset.Defs +public import Mathlib.GroupTheory.CosetCover +public import Mathlib.GroupTheory.Coxeter.Basic +public import Mathlib.GroupTheory.Coxeter.Inversion +public import Mathlib.GroupTheory.Coxeter.Length +public import Mathlib.GroupTheory.Coxeter.Matrix +public import Mathlib.GroupTheory.Divisible +public import Mathlib.GroupTheory.DivisibleHull +public import Mathlib.GroupTheory.DoubleCoset +public import Mathlib.GroupTheory.EckmannHilton +public import Mathlib.GroupTheory.Exponent +public import Mathlib.GroupTheory.FiniteAbelian.Basic +public import Mathlib.GroupTheory.FiniteAbelian.Duality +public import Mathlib.GroupTheory.Finiteness +public import Mathlib.GroupTheory.FixedPointFree +public import Mathlib.GroupTheory.Frattini +public import Mathlib.GroupTheory.FreeAbelianGroup +public import Mathlib.GroupTheory.FreeGroup.Basic +public import Mathlib.GroupTheory.FreeGroup.CyclicallyReduced +public import Mathlib.GroupTheory.FreeGroup.GeneratorEquiv +public import Mathlib.GroupTheory.FreeGroup.IsFreeGroup +public import Mathlib.GroupTheory.FreeGroup.NielsenSchreier +public import Mathlib.GroupTheory.FreeGroup.Reduce +public import Mathlib.GroupTheory.Goursat +public import Mathlib.GroupTheory.GroupAction.Basic +public import Mathlib.GroupTheory.GroupAction.Blocks +public import Mathlib.GroupTheory.GroupAction.CardCommute +public import Mathlib.GroupTheory.GroupAction.ConjAct +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.GroupTheory.GroupAction.DomAct.ActionHom +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic +public import Mathlib.GroupTheory.GroupAction.Embedding +public import Mathlib.GroupTheory.GroupAction.FixedPoints +public import Mathlib.GroupTheory.GroupAction.FixingSubgroup +public import Mathlib.GroupTheory.GroupAction.Hom +public import Mathlib.GroupTheory.GroupAction.IterateAct +public import Mathlib.GroupTheory.GroupAction.Iwasawa +public import Mathlib.GroupTheory.GroupAction.Jordan +public import Mathlib.GroupTheory.GroupAction.MultiplePrimitivity +public import Mathlib.GroupTheory.GroupAction.MultipleTransitivity +public import Mathlib.GroupTheory.GroupAction.Period +public import Mathlib.GroupTheory.GroupAction.Pointwise +public import Mathlib.GroupTheory.GroupAction.Primitive +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup +public import Mathlib.GroupTheory.GroupAction.SubMulAction.OfStabilizer +public import Mathlib.GroupTheory.GroupAction.SubMulAction.Pointwise +public import Mathlib.GroupTheory.GroupAction.Support +public import Mathlib.GroupTheory.GroupAction.Transitive +public import Mathlib.GroupTheory.GroupExtension.Basic +public import Mathlib.GroupTheory.GroupExtension.Defs +public import Mathlib.GroupTheory.HNNExtension +public import Mathlib.GroupTheory.Index +public import Mathlib.GroupTheory.IndexNormal +public import Mathlib.GroupTheory.MonoidLocalization.Away +public import Mathlib.GroupTheory.MonoidLocalization.Basic +public import Mathlib.GroupTheory.MonoidLocalization.Cardinality +public import Mathlib.GroupTheory.MonoidLocalization.DivPairs +public import Mathlib.GroupTheory.MonoidLocalization.Finite +public import Mathlib.GroupTheory.MonoidLocalization.GrothendieckGroup +public import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero +public import Mathlib.GroupTheory.MonoidLocalization.Order +public import Mathlib.GroupTheory.Nilpotent +public import Mathlib.GroupTheory.NoncommCoprod +public import Mathlib.GroupTheory.NoncommPiCoprod +public import Mathlib.GroupTheory.Order.Min +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.GroupTheory.OreLocalization.Basic +public import Mathlib.GroupTheory.OreLocalization.Cardinality +public import Mathlib.GroupTheory.OreLocalization.OreSet +public import Mathlib.GroupTheory.PGroup +public import Mathlib.GroupTheory.Perm.Basic +public import Mathlib.GroupTheory.Perm.Centralizer +public import Mathlib.GroupTheory.Perm.Closure +public import Mathlib.GroupTheory.Perm.ClosureSwap +public import Mathlib.GroupTheory.Perm.ConjAct +public import Mathlib.GroupTheory.Perm.Cycle.Basic +public import Mathlib.GroupTheory.Perm.Cycle.Concrete +public import Mathlib.GroupTheory.Perm.Cycle.Factors +public import Mathlib.GroupTheory.Perm.Cycle.PossibleTypes +public import Mathlib.GroupTheory.Perm.Cycle.Type +public import Mathlib.GroupTheory.Perm.DomMulAct +public import Mathlib.GroupTheory.Perm.Fin +public import Mathlib.GroupTheory.Perm.Finite +public import Mathlib.GroupTheory.Perm.List +public import Mathlib.GroupTheory.Perm.Option +public import Mathlib.GroupTheory.Perm.Sign +public import Mathlib.GroupTheory.Perm.Subgroup +public import Mathlib.GroupTheory.Perm.Support +public import Mathlib.GroupTheory.Perm.ViaEmbedding +public import Mathlib.GroupTheory.PresentedGroup +public import Mathlib.GroupTheory.PushoutI +public import Mathlib.GroupTheory.QuotientGroup.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.GroupTheory.QuotientGroup.Finite +public import Mathlib.GroupTheory.Rank +public import Mathlib.GroupTheory.RegularWreathProduct +public import Mathlib.GroupTheory.Schreier +public import Mathlib.GroupTheory.SchurZassenhaus +public import Mathlib.GroupTheory.SemidirectProduct +public import Mathlib.GroupTheory.Solvable +public import Mathlib.GroupTheory.SpecificGroups.Alternating +public import Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer +public import Mathlib.GroupTheory.SpecificGroups.Alternating.KleinFour +public import Mathlib.GroupTheory.SpecificGroups.Cyclic +public import Mathlib.GroupTheory.SpecificGroups.Dihedral +public import Mathlib.GroupTheory.SpecificGroups.KleinFour +public import Mathlib.GroupTheory.SpecificGroups.Quaternion +public import Mathlib.GroupTheory.SpecificGroups.ZGroup +public import Mathlib.GroupTheory.Subgroup.Center +public import Mathlib.GroupTheory.Subgroup.Centralizer +public import Mathlib.GroupTheory.Subgroup.Saturated +public import Mathlib.GroupTheory.Subgroup.Simple +public import Mathlib.GroupTheory.Submonoid.Center +public import Mathlib.GroupTheory.Submonoid.Centralizer +public import Mathlib.GroupTheory.Submonoid.Inverses +public import Mathlib.GroupTheory.Subsemigroup.Center +public import Mathlib.GroupTheory.Subsemigroup.Centralizer +public import Mathlib.GroupTheory.Sylow +public import Mathlib.GroupTheory.Torsion +public import Mathlib.GroupTheory.Transfer +public import Mathlib.InformationTheory.Hamming +public import Mathlib.InformationTheory.KullbackLeibler.Basic +public import Mathlib.InformationTheory.KullbackLeibler.KLFun +public import Mathlib.Init +public import Mathlib.Lean.ContextInfo +public import Mathlib.Lean.CoreM +public import Mathlib.Lean.Elab.InfoTree +public import Mathlib.Lean.Elab.Tactic.Basic +public import Mathlib.Lean.Elab.Tactic.Meta +public import Mathlib.Lean.Elab.Term +public import Mathlib.Lean.EnvExtension +public import Mathlib.Lean.Exception +public import Mathlib.Lean.Expr +public import Mathlib.Lean.Expr.Basic +public import Mathlib.Lean.Expr.ExtraRecognizers +public import Mathlib.Lean.Expr.Rat +public import Mathlib.Lean.Expr.ReplaceRec +public import Mathlib.Lean.GoalsLocation +public import Mathlib.Lean.Json +public import Mathlib.Lean.LocalContext +public import Mathlib.Lean.Message +public import Mathlib.Lean.Meta +public import Mathlib.Lean.Meta.Basic +public import Mathlib.Lean.Meta.CongrTheorems +public import Mathlib.Lean.Meta.DiscrTree +public import Mathlib.Lean.Meta.KAbstractPositions +public import Mathlib.Lean.Meta.RefinedDiscrTree +public import Mathlib.Lean.Meta.RefinedDiscrTree.Basic +public import Mathlib.Lean.Meta.RefinedDiscrTree.Encode +public import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize +public import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup +public import Mathlib.Lean.Meta.Simp +public import Mathlib.Lean.Meta.Tactic.Rewrite +public import Mathlib.Lean.Name +public import Mathlib.Lean.PrettyPrinter.Delaborator +public import Mathlib.Lean.Thunk +public import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs +public import Mathlib.LinearAlgebra.AffineSpace.Basis +public import Mathlib.LinearAlgebra.AffineSpace.Centroid +public import Mathlib.LinearAlgebra.AffineSpace.Combination +public import Mathlib.LinearAlgebra.AffineSpace.ContinuousAffineEquiv +public import Mathlib.LinearAlgebra.AffineSpace.Defs +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +public import Mathlib.LinearAlgebra.AffineSpace.Independent +public import Mathlib.LinearAlgebra.AffineSpace.Matrix +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.LinearAlgebra.AffineSpace.MidpointZero +public import Mathlib.LinearAlgebra.AffineSpace.Ordered +public import Mathlib.LinearAlgebra.AffineSpace.Pointwise +public import Mathlib.LinearAlgebra.AffineSpace.Restrict +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Centroid +public import Mathlib.LinearAlgebra.AffineSpace.Slope +public import Mathlib.LinearAlgebra.Alternating.Basic +public import Mathlib.LinearAlgebra.Alternating.Curry +public import Mathlib.LinearAlgebra.Alternating.DomCoprod +public import Mathlib.LinearAlgebra.Alternating.Uncurry.Fin +public import Mathlib.LinearAlgebra.AnnihilatingPolynomial +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Basis.Bilinear +public import Mathlib.LinearAlgebra.Basis.Cardinality +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.Basis.Exact +public import Mathlib.LinearAlgebra.Basis.Fin +public import Mathlib.LinearAlgebra.Basis.Flag +public import Mathlib.LinearAlgebra.Basis.MulOpposite +public import Mathlib.LinearAlgebra.Basis.Prod +public import Mathlib.LinearAlgebra.Basis.SMul +public import Mathlib.LinearAlgebra.Basis.Submodule +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.BilinearForm.Basic +public import Mathlib.LinearAlgebra.BilinearForm.DualLattice +public import Mathlib.LinearAlgebra.BilinearForm.Hom +public import Mathlib.LinearAlgebra.BilinearForm.Orthogonal +public import Mathlib.LinearAlgebra.BilinearForm.Properties +public import Mathlib.LinearAlgebra.BilinearForm.TensorProduct +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.Charpoly.BaseChange +public import Mathlib.LinearAlgebra.Charpoly.Basic +public import Mathlib.LinearAlgebra.Charpoly.ToMatrix +public import Mathlib.LinearAlgebra.CliffordAlgebra.BaseChange +public import Mathlib.LinearAlgebra.CliffordAlgebra.Basic +public import Mathlib.LinearAlgebra.CliffordAlgebra.CategoryTheory +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +public import Mathlib.LinearAlgebra.CliffordAlgebra.Contraction +public import Mathlib.LinearAlgebra.CliffordAlgebra.Equivs +public import Mathlib.LinearAlgebra.CliffordAlgebra.Even +public import Mathlib.LinearAlgebra.CliffordAlgebra.EvenEquiv +public import Mathlib.LinearAlgebra.CliffordAlgebra.Fold +public import Mathlib.LinearAlgebra.CliffordAlgebra.Grading +public import Mathlib.LinearAlgebra.CliffordAlgebra.Inversion +public import Mathlib.LinearAlgebra.CliffordAlgebra.Prod +public import Mathlib.LinearAlgebra.CliffordAlgebra.SpinGroup +public import Mathlib.LinearAlgebra.CliffordAlgebra.Star +public import Mathlib.LinearAlgebra.Coevaluation +public import Mathlib.LinearAlgebra.Complex.Determinant +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.LinearAlgebra.Complex.Orientation +public import Mathlib.LinearAlgebra.Contraction +public import Mathlib.LinearAlgebra.Countable +public import Mathlib.LinearAlgebra.CrossProduct +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Dimension.Basic +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.LinearAlgebra.Dimension.ErdosKaplansky +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.Dimension.Finrank +public import Mathlib.LinearAlgebra.Dimension.Free +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.LinearMap +public import Mathlib.LinearAlgebra.Dimension.Localization +public import Mathlib.LinearAlgebra.Dimension.RankNullity +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.Subsingleton +public import Mathlib.LinearAlgebra.Dimension.Torsion.Basic +public import Mathlib.LinearAlgebra.Dimension.Torsion.Finite +public import Mathlib.LinearAlgebra.DirectSum.Basis +public import Mathlib.LinearAlgebra.DirectSum.Finite +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.LinearAlgebra.DirectSum.TensorProduct +public import Mathlib.LinearAlgebra.Dual.Basis +public import Mathlib.LinearAlgebra.Dual.Defs +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Charpoly +public import Mathlib.LinearAlgebra.Eigenspace.Matrix +public import Mathlib.LinearAlgebra.Eigenspace.Minpoly +public import Mathlib.LinearAlgebra.Eigenspace.Pi +public import Mathlib.LinearAlgebra.Eigenspace.Semisimple +public import Mathlib.LinearAlgebra.Eigenspace.Triangularizable +public import Mathlib.LinearAlgebra.Eigenspace.Zero +public import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic +public import Mathlib.LinearAlgebra.ExteriorAlgebra.Grading +public import Mathlib.LinearAlgebra.ExteriorAlgebra.OfAlternating +public import Mathlib.LinearAlgebra.ExteriorPower.Basic +public import Mathlib.LinearAlgebra.ExteriorPower.Pairing +public import Mathlib.LinearAlgebra.FiniteDimensional.Basic +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.FiniteSpan +public import Mathlib.LinearAlgebra.Finsupp.Defs +public import Mathlib.LinearAlgebra.Finsupp.LSum +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.LinearAlgebra.Finsupp.Pi +public import Mathlib.LinearAlgebra.Finsupp.Span +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.LinearAlgebra.Finsupp.Supported +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeAlgebra +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.FreeModule.Determinant +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +public import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient +public import Mathlib.LinearAlgebra.FreeModule.IdealQuotient +public import Mathlib.LinearAlgebra.FreeModule.Int +public import Mathlib.LinearAlgebra.FreeModule.ModN +public import Mathlib.LinearAlgebra.FreeModule.Norm +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeProduct.Basic +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.LinearAlgebra.Goursat +public import Mathlib.LinearAlgebra.InvariantBasisNumber +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.LinearAlgebra.JordanChevalley +public import Mathlib.LinearAlgebra.Lagrange +public import Mathlib.LinearAlgebra.LinearDisjoint +public import Mathlib.LinearAlgebra.LinearIndependent.Basic +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +public import Mathlib.LinearAlgebra.LinearPMap +public import Mathlib.LinearAlgebra.Matrix.AbsoluteValue +public import Mathlib.LinearAlgebra.Matrix.Adjugate +public import Mathlib.LinearAlgebra.Matrix.BaseChange +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.LinearAlgebra.Matrix.BilinearForm +public import Mathlib.LinearAlgebra.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.CharP +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Basic +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Disc +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs +public import Mathlib.LinearAlgebra.Matrix.Charpoly.FiniteField +public import Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Univ +public import Mathlib.LinearAlgebra.Matrix.Circulant +public import Mathlib.LinearAlgebra.Matrix.ConjTranspose +public import Mathlib.LinearAlgebra.Matrix.Defs +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Determinant.Misc +public import Mathlib.LinearAlgebra.Matrix.Determinant.TotallyUnimodular +public import Mathlib.LinearAlgebra.Matrix.Diagonal +public import Mathlib.LinearAlgebra.Matrix.DotProduct +public import Mathlib.LinearAlgebra.Matrix.Dual +public import Mathlib.LinearAlgebra.Matrix.FiniteDimensional +public import Mathlib.LinearAlgebra.Matrix.FixedDetMatrices +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Card +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo +public import Mathlib.LinearAlgebra.Matrix.Gershgorin +public import Mathlib.LinearAlgebra.Matrix.Hadamard +public import Mathlib.LinearAlgebra.Matrix.Hermitian +public import Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus +public import Mathlib.LinearAlgebra.Matrix.Ideal +public import Mathlib.LinearAlgebra.Matrix.Integer +public import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber +public import Mathlib.LinearAlgebra.Matrix.IsDiag +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.LinearAlgebra.Matrix.LDL +public import Mathlib.LinearAlgebra.Matrix.MvPolynomial +public import Mathlib.LinearAlgebra.Matrix.Nondegenerate +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.Notation +public import Mathlib.LinearAlgebra.Matrix.Orthogonal +public import Mathlib.LinearAlgebra.Matrix.Permanent +public import Mathlib.LinearAlgebra.Matrix.Permutation +public import Mathlib.LinearAlgebra.Matrix.Polynomial +public import Mathlib.LinearAlgebra.Matrix.PosDef +public import Mathlib.LinearAlgebra.Matrix.ProjectiveSpecialLinearGroup +public import Mathlib.LinearAlgebra.Matrix.Rank +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.LinearAlgebra.Matrix.RowCol +public import Mathlib.LinearAlgebra.Matrix.SchurComplement +public import Mathlib.LinearAlgebra.Matrix.SemiringInverse +public import Mathlib.LinearAlgebra.Matrix.SesquilinearForm +public import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup +public import Mathlib.LinearAlgebra.Matrix.Spectrum +public import Mathlib.LinearAlgebra.Matrix.StdBasis +public import Mathlib.LinearAlgebra.Matrix.Swap +public import Mathlib.LinearAlgebra.Matrix.Symmetric +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +public import Mathlib.LinearAlgebra.Matrix.Trace +public import Mathlib.LinearAlgebra.Matrix.Transvection +public import Mathlib.LinearAlgebra.Matrix.Unique +public import Mathlib.LinearAlgebra.Matrix.Vec +public import Mathlib.LinearAlgebra.Matrix.ZPow +public import Mathlib.LinearAlgebra.Multilinear.Basic +public import Mathlib.LinearAlgebra.Multilinear.Basis +public import Mathlib.LinearAlgebra.Multilinear.Curry +public import Mathlib.LinearAlgebra.Multilinear.DFinsupp +public import Mathlib.LinearAlgebra.Multilinear.FiniteDimensional +public import Mathlib.LinearAlgebra.Multilinear.Pi +public import Mathlib.LinearAlgebra.Multilinear.TensorProduct +public import Mathlib.LinearAlgebra.Orientation +public import Mathlib.LinearAlgebra.PID +public import Mathlib.LinearAlgebra.PerfectPairing.Basic +public import Mathlib.LinearAlgebra.PerfectPairing.Matrix +public import Mathlib.LinearAlgebra.PerfectPairing.Restrict +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.PiTensorProduct +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.LinearAlgebra.Projection +public import Mathlib.LinearAlgebra.Projectivization.Action +public import Mathlib.LinearAlgebra.Projectivization.Basic +public import Mathlib.LinearAlgebra.Projectivization.Cardinality +public import Mathlib.LinearAlgebra.Projectivization.Constructions +public import Mathlib.LinearAlgebra.Projectivization.Independence +public import Mathlib.LinearAlgebra.Projectivization.Subspace +public import Mathlib.LinearAlgebra.QuadraticForm.Basic +public import Mathlib.LinearAlgebra.QuadraticForm.Basis +public import Mathlib.LinearAlgebra.QuadraticForm.Complex +public import Mathlib.LinearAlgebra.QuadraticForm.Dual +public import Mathlib.LinearAlgebra.QuadraticForm.Isometry +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +public import Mathlib.LinearAlgebra.QuadraticForm.Prod +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Monoidal +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Symmetric +public import Mathlib.LinearAlgebra.QuadraticForm.Real +public import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct +public import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.LinearAlgebra.Quotient.Card +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.LinearAlgebra.Quotient.Pi +public import Mathlib.LinearAlgebra.Ray +public import Mathlib.LinearAlgebra.Reflection +public import Mathlib.LinearAlgebra.RootSystem.Base +public import Mathlib.LinearAlgebra.RootSystem.BaseChange +public import Mathlib.LinearAlgebra.RootSystem.Basic +public import Mathlib.LinearAlgebra.RootSystem.CartanMatrix +public import Mathlib.LinearAlgebra.RootSystem.Chain +public import Mathlib.LinearAlgebra.RootSystem.Defs +public import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear +public import Mathlib.LinearAlgebra.RootSystem.Finite.G2 +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +public import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Lemmas +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Relations +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Semisimple +public import Mathlib.LinearAlgebra.RootSystem.Hom +public import Mathlib.LinearAlgebra.RootSystem.Irreducible +public import Mathlib.LinearAlgebra.RootSystem.IsValuedIn +public import Mathlib.LinearAlgebra.RootSystem.OfBilinear +public import Mathlib.LinearAlgebra.RootSystem.Reduced +public import Mathlib.LinearAlgebra.RootSystem.RootPairingCat +public import Mathlib.LinearAlgebra.RootSystem.RootPositive +public import Mathlib.LinearAlgebra.RootSystem.WeylGroup +public import Mathlib.LinearAlgebra.SModEq +public import Mathlib.LinearAlgebra.Semisimple +public import Mathlib.LinearAlgebra.SesquilinearForm +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.LinearAlgebra.Span.Defs +public import Mathlib.LinearAlgebra.StdBasis +public import Mathlib.LinearAlgebra.SymmetricAlgebra.Basic +public import Mathlib.LinearAlgebra.SymmetricAlgebra.Basis +public import Mathlib.LinearAlgebra.SymplecticGroup +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic +public import Mathlib.LinearAlgebra.TensorAlgebra.Basis +public import Mathlib.LinearAlgebra.TensorAlgebra.Grading +public import Mathlib.LinearAlgebra.TensorAlgebra.ToTensorPower +public import Mathlib.LinearAlgebra.TensorPower.Basic +public import Mathlib.LinearAlgebra.TensorPower.Pairing +public import Mathlib.LinearAlgebra.TensorPower.Symmetric +public import Mathlib.LinearAlgebra.TensorProduct.Associator +public import Mathlib.LinearAlgebra.TensorProduct.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Basis +public import Mathlib.LinearAlgebra.TensorProduct.DirectLimit +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.LinearAlgebra.TensorProduct.Graded.External +public import Mathlib.LinearAlgebra.TensorProduct.Graded.Internal +public import Mathlib.LinearAlgebra.TensorProduct.Matrix +public import Mathlib.LinearAlgebra.TensorProduct.Opposite +public import Mathlib.LinearAlgebra.TensorProduct.Pi +public import Mathlib.LinearAlgebra.TensorProduct.Prod +public import Mathlib.LinearAlgebra.TensorProduct.Quotient +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.LinearAlgebra.TensorProduct.Subalgebra +public import Mathlib.LinearAlgebra.TensorProduct.Submodule +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.LinearAlgebra.TensorProduct.Vanishing +public import Mathlib.LinearAlgebra.Trace +public import Mathlib.LinearAlgebra.UnitaryGroup +public import Mathlib.LinearAlgebra.Vandermonde +public import Mathlib.Logic.Basic +public import Mathlib.Logic.Denumerable +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Logic.Embedding.Set +public import Mathlib.Logic.Encodable.Basic +public import Mathlib.Logic.Encodable.Lattice +public import Mathlib.Logic.Encodable.Pi +public import Mathlib.Logic.Equiv.Array +public import Mathlib.Logic.Equiv.Basic +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Logic.Equiv.Embedding +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Logic.Equiv.Fin.Rotate +public import Mathlib.Logic.Equiv.Finset +public import Mathlib.Logic.Equiv.Fintype +public import Mathlib.Logic.Equiv.Functor +public import Mathlib.Logic.Equiv.List +public import Mathlib.Logic.Equiv.Multiset +public import Mathlib.Logic.Equiv.Nat +public import Mathlib.Logic.Equiv.Option +public import Mathlib.Logic.Equiv.Pairwise +public import Mathlib.Logic.Equiv.PartialEquiv +public import Mathlib.Logic.Equiv.Prod +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Logic.Equiv.Sum +public import Mathlib.Logic.ExistsUnique +public import Mathlib.Logic.Function.Basic +public import Mathlib.Logic.Function.Coequalizer +public import Mathlib.Logic.Function.CompTypeclasses +public import Mathlib.Logic.Function.Conjugate +public import Mathlib.Logic.Function.Defs +public import Mathlib.Logic.Function.DependsOn +public import Mathlib.Logic.Function.FiberPartition +public import Mathlib.Logic.Function.FromTypes +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Logic.Function.OfArity +public import Mathlib.Logic.Function.ULift +public import Mathlib.Logic.Godel.GodelBetaFunction +public import Mathlib.Logic.Hydra +public import Mathlib.Logic.IsEmpty +public import Mathlib.Logic.Lemmas +public import Mathlib.Logic.Nonempty +public import Mathlib.Logic.Nontrivial.Basic +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Logic.OpClass +public import Mathlib.Logic.Pairwise +public import Mathlib.Logic.Relation +public import Mathlib.Logic.Relator +public import Mathlib.Logic.Small.Basic +public import Mathlib.Logic.Small.Defs +public import Mathlib.Logic.Small.List +public import Mathlib.Logic.Small.Set +public import Mathlib.Logic.Unique +public import Mathlib.Logic.UnivLE +public import Mathlib.MeasureTheory.Category.MeasCat +public import Mathlib.MeasureTheory.Constructions.AddChar +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex +public import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Real +public import Mathlib.MeasureTheory.Constructions.BorelSpace.WithTop +public import Mathlib.MeasureTheory.Constructions.ClosedCompactCylinders +public import Mathlib.MeasureTheory.Constructions.Cylinders +public import Mathlib.MeasureTheory.Constructions.HaarToSphere +public import Mathlib.MeasureTheory.Constructions.Pi +public import Mathlib.MeasureTheory.Constructions.Polish.Basic +public import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal +public import Mathlib.MeasureTheory.Constructions.Polish.StronglyMeasurable +public import Mathlib.MeasureTheory.Constructions.Projective +public import Mathlib.MeasureTheory.Constructions.ProjectiveFamilyContent +public import Mathlib.MeasureTheory.Constructions.SubmoduleQuotient +public import Mathlib.MeasureTheory.Constructions.UnitInterval +public import Mathlib.MeasureTheory.Covering.Besicovitch +public import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace +public import Mathlib.MeasureTheory.Covering.DensityTheorem +public import Mathlib.MeasureTheory.Covering.Differentiation +public import Mathlib.MeasureTheory.Covering.LiminfLimsup +public import Mathlib.MeasureTheory.Covering.OneDim +public import Mathlib.MeasureTheory.Covering.Vitali +public import Mathlib.MeasureTheory.Covering.VitaliFamily +public import Mathlib.MeasureTheory.Function.AEEqFun +public import Mathlib.MeasureTheory.Function.AEEqFun.DomAct +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral +public import Mathlib.MeasureTheory.Function.AEEqOfLIntegral +public import Mathlib.MeasureTheory.Function.AEMeasurableOrder +public import Mathlib.MeasureTheory.Function.AEMeasurableSequence +public import Mathlib.MeasureTheory.Function.AbsolutelyContinuous +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.AEMeasurable +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1 +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2 +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Indicator +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique +public import Mathlib.MeasureTheory.Function.ContinuousMapDense +public import Mathlib.MeasureTheory.Function.ConvergenceInMeasure +public import Mathlib.MeasureTheory.Function.Egorov +public import Mathlib.MeasureTheory.Function.EssSup +public import Mathlib.MeasureTheory.Function.FactorsThrough +public import Mathlib.MeasureTheory.Function.Floor +public import Mathlib.MeasureTheory.Function.Holder +public import Mathlib.MeasureTheory.Function.Intersectivity +public import Mathlib.MeasureTheory.Function.Jacobian +public import Mathlib.MeasureTheory.Function.JacobianOneDim +public import Mathlib.MeasureTheory.Function.L1Space.AEEqFun +public import Mathlib.MeasureTheory.Function.L1Space.HasFiniteIntegral +public import Mathlib.MeasureTheory.Function.L1Space.Integrable +public import Mathlib.MeasureTheory.Function.L2Space +public import Mathlib.MeasureTheory.Function.LocallyIntegrable +public import Mathlib.MeasureTheory.Function.LpOrder +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +public import Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov +public import Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp +public import Mathlib.MeasureTheory.Function.LpSeminorm.Defs +public import Mathlib.MeasureTheory.Function.LpSeminorm.Prod +public import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality +public import Mathlib.MeasureTheory.Function.LpSeminorm.Trim +public import Mathlib.MeasureTheory.Function.LpSpace.Basic +public import Mathlib.MeasureTheory.Function.LpSpace.Complete +public import Mathlib.MeasureTheory.Function.LpSpace.ContinuousCompMeasurePreserving +public import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions +public import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic +public import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Continuous +public import Mathlib.MeasureTheory.Function.LpSpace.Indicator +public import Mathlib.MeasureTheory.Function.SimpleFunc +public import Mathlib.MeasureTheory.Function.SimpleFuncDense +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Arctan +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Inner +public import Mathlib.MeasureTheory.Function.SpecialFunctions.RCLike +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Sinc +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.ENNReal +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Inner +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp +public import Mathlib.MeasureTheory.Function.UnifTight +public import Mathlib.MeasureTheory.Function.UniformIntegrable +public import Mathlib.MeasureTheory.Group.AEStabilizer +public import Mathlib.MeasureTheory.Group.Action +public import Mathlib.MeasureTheory.Group.AddCircle +public import Mathlib.MeasureTheory.Group.Arithmetic +public import Mathlib.MeasureTheory.Group.Convolution +public import Mathlib.MeasureTheory.Group.Defs +public import Mathlib.MeasureTheory.Group.FundamentalDomain +public import Mathlib.MeasureTheory.Group.GeometryOfNumbers +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Group.IntegralConvolution +public import Mathlib.MeasureTheory.Group.LIntegral +public import Mathlib.MeasureTheory.Group.MeasurableEquiv +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.MeasureTheory.Group.ModularCharacter +public import Mathlib.MeasureTheory.Group.Pointwise +public import Mathlib.MeasureTheory.Group.Prod +public import Mathlib.MeasureTheory.Integral.Asymptotics +public import Mathlib.MeasureTheory.Integral.Average +public import Mathlib.MeasureTheory.Integral.Bochner +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.Bochner.L1 +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory +public import Mathlib.MeasureTheory.Integral.BochnerL1 +public import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction +public import Mathlib.MeasureTheory.Integral.CircleAverage +public import Mathlib.MeasureTheory.Integral.CircleIntegral +public import Mathlib.MeasureTheory.Integral.CircleTransform +public import Mathlib.MeasureTheory.Integral.CurveIntegral.Basic +public import Mathlib.MeasureTheory.Integral.DivergenceTheorem +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.ExpDecay +public import Mathlib.MeasureTheory.Integral.FinMeasAdditive +public import Mathlib.MeasureTheory.Integral.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.Gamma +public import Mathlib.MeasureTheory.Integral.Indicator +public import Mathlib.MeasureTheory.Integral.IntegrableOn +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper +public import Mathlib.MeasureTheory.Integral.IntegrationByParts +public import Mathlib.MeasureTheory.Integral.IntervalAverage +public import Mathlib.MeasureTheory.Integral.IntervalIntegral +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.ContDiff +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.LebesgueDifferentiationThm +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +public import Mathlib.MeasureTheory.Integral.Layercake +public import Mathlib.MeasureTheory.Integral.Lebesgue +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +public import Mathlib.MeasureTheory.Integral.Lebesgue.Countable +public import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.Lebesgue.Map +public import Mathlib.MeasureTheory.Integral.Lebesgue.Markov +public import Mathlib.MeasureTheory.Integral.Lebesgue.MeasurePreserving +public import Mathlib.MeasureTheory.Integral.Lebesgue.Norm +public import Mathlib.MeasureTheory.Integral.Lebesgue.Sub +public import Mathlib.MeasureTheory.Integral.LebesgueNormedSpace +public import Mathlib.MeasureTheory.Integral.Marginal +public import Mathlib.MeasureTheory.Integral.MeanInequalities +public import Mathlib.MeasureTheory.Integral.PeakFunction +public import Mathlib.MeasureTheory.Integral.Periodic +public import Mathlib.MeasureTheory.Integral.Pi +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Basic +public import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.NNReal +public import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Real +public import Mathlib.MeasureTheory.Integral.SetIntegral +public import Mathlib.MeasureTheory.Integral.SetToL1 +public import Mathlib.MeasureTheory.Integral.TorusIntegral +public import Mathlib.MeasureTheory.Integral.VitaliCaratheodory +public import Mathlib.MeasureTheory.MeasurableSpace.Basic +public import Mathlib.MeasureTheory.MeasurableSpace.Card +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated +public import Mathlib.MeasureTheory.MeasurableSpace.Defs +public import Mathlib.MeasureTheory.MeasurableSpace.Embedding +public import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable +public import Mathlib.MeasureTheory.MeasurableSpace.Instances +public import Mathlib.MeasureTheory.MeasurableSpace.Invariants +public import Mathlib.MeasureTheory.MeasurableSpace.MeasurablyGenerated +public import Mathlib.MeasureTheory.MeasurableSpace.NCard +public import Mathlib.MeasureTheory.MeasurableSpace.Pi +public import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict +public import Mathlib.MeasureTheory.MeasurableSpace.Prod +public import Mathlib.MeasureTheory.Measure.AEDisjoint +public import Mathlib.MeasureTheory.Measure.AEMeasurable +public import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous +public import Mathlib.MeasureTheory.Measure.AddContent +public import Mathlib.MeasureTheory.Measure.CharacteristicFunction +public import Mathlib.MeasureTheory.Measure.Comap +public import Mathlib.MeasureTheory.Measure.Complex +public import Mathlib.MeasureTheory.Measure.Content +public import Mathlib.MeasureTheory.Measure.ContinuousPreimage +public import Mathlib.MeasureTheory.Measure.Count +public import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion +public import Mathlib.MeasureTheory.Measure.Decomposition.Hahn +public import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +public import Mathlib.MeasureTheory.Measure.Dirac +public import Mathlib.MeasureTheory.Measure.DiracProba +public import Mathlib.MeasureTheory.Measure.Doubling +public import Mathlib.MeasureTheory.Measure.EverywherePos +public import Mathlib.MeasureTheory.Measure.FiniteMeasure +public import Mathlib.MeasureTheory.Measure.FiniteMeasureExt +public import Mathlib.MeasureTheory.Measure.FiniteMeasurePi +public import Mathlib.MeasureTheory.Measure.FiniteMeasureProd +public import Mathlib.MeasureTheory.Measure.GiryMonad +public import Mathlib.MeasureTheory.Measure.Haar.Basic +public import Mathlib.MeasureTheory.Measure.Haar.Disintegration +public import Mathlib.MeasureTheory.Measure.Haar.DistribChar +public import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace +public import Mathlib.MeasureTheory.Measure.Haar.MulEquivHaarChar +public import Mathlib.MeasureTheory.Measure.Haar.NormedSpace +public import Mathlib.MeasureTheory.Measure.Haar.OfBasis +public import Mathlib.MeasureTheory.Measure.Haar.Quotient +public import Mathlib.MeasureTheory.Measure.Haar.Unique +public import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed +public import Mathlib.MeasureTheory.Measure.Hausdorff +public import Mathlib.MeasureTheory.Measure.IntegralCharFun +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.MeasureTheory.Measure.Lebesgue.Complex +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.MeasureTheory.Measure.Lebesgue.Integral +public import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls +public import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric +public import Mathlib.MeasureTheory.Measure.LogLikelihoodRatio +public import Mathlib.MeasureTheory.Measure.Map +public import Mathlib.MeasureTheory.Measure.MeasureSpace +public import Mathlib.MeasureTheory.Measure.MeasureSpaceDef +public import Mathlib.MeasureTheory.Measure.MutuallySingular +public import Mathlib.MeasureTheory.Measure.NullMeasurable +public import Mathlib.MeasureTheory.Measure.OpenPos +public import Mathlib.MeasureTheory.Measure.Portmanteau +public import Mathlib.MeasureTheory.Measure.ProbabilityMeasure +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving +public import Mathlib.MeasureTheory.Measure.Real +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.MeasureTheory.Measure.RegularityCompacts +public import Mathlib.MeasureTheory.Measure.Restrict +public import Mathlib.MeasureTheory.Measure.SeparableMeasure +public import Mathlib.MeasureTheory.Measure.Stieltjes +public import Mathlib.MeasureTheory.Measure.Sub +public import Mathlib.MeasureTheory.Measure.Support +public import Mathlib.MeasureTheory.Measure.Tight +public import Mathlib.MeasureTheory.Measure.TightNormed +public import Mathlib.MeasureTheory.Measure.Tilted +public import Mathlib.MeasureTheory.Measure.Trim +public import Mathlib.MeasureTheory.Measure.Typeclasses +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +public import Mathlib.MeasureTheory.Measure.WithDensity +public import Mathlib.MeasureTheory.Measure.WithDensityFinite +public import Mathlib.MeasureTheory.Order.Group.Lattice +public import Mathlib.MeasureTheory.Order.Lattice +public import Mathlib.MeasureTheory.Order.UpperLower +public import Mathlib.MeasureTheory.OuterMeasure.AE +public import Mathlib.MeasureTheory.OuterMeasure.Basic +public import Mathlib.MeasureTheory.OuterMeasure.BorelCantelli +public import Mathlib.MeasureTheory.OuterMeasure.Caratheodory +public import Mathlib.MeasureTheory.OuterMeasure.Defs +public import Mathlib.MeasureTheory.OuterMeasure.Induced +public import Mathlib.MeasureTheory.OuterMeasure.OfAddContent +public import Mathlib.MeasureTheory.OuterMeasure.OfFunction +public import Mathlib.MeasureTheory.OuterMeasure.Operations +public import Mathlib.MeasureTheory.PiSystem +public import Mathlib.MeasureTheory.SetAlgebra +public import Mathlib.MeasureTheory.SetSemiring +public import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMap +public import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMapZero +public import Mathlib.MeasureTheory.SpecificCodomains.Pi +public import Mathlib.MeasureTheory.SpecificCodomains.WithLp +public import Mathlib.MeasureTheory.Topology +public import Mathlib.MeasureTheory.VectorMeasure.Basic +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Hahn +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.JordanSub +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Lebesgue +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.RadonNikodym +public import Mathlib.MeasureTheory.VectorMeasure.WithDensity +public import Mathlib.ModelTheory.Algebra.Field.Basic +public import Mathlib.ModelTheory.Algebra.Field.CharP +public import Mathlib.ModelTheory.Algebra.Field.IsAlgClosed +public import Mathlib.ModelTheory.Algebra.Ring.Basic +public import Mathlib.ModelTheory.Algebra.Ring.Definability +public import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing +public import Mathlib.ModelTheory.Arithmetic.Presburger.Basic +public import Mathlib.ModelTheory.Arithmetic.Presburger.Semilinear.Defs +public import Mathlib.ModelTheory.Basic +public import Mathlib.ModelTheory.Bundled +public import Mathlib.ModelTheory.Complexity +public import Mathlib.ModelTheory.Definability +public import Mathlib.ModelTheory.DirectLimit +public import Mathlib.ModelTheory.ElementaryMaps +public import Mathlib.ModelTheory.ElementarySubstructures +public import Mathlib.ModelTheory.Encoding +public import Mathlib.ModelTheory.Equivalence +public import Mathlib.ModelTheory.FinitelyGenerated +public import Mathlib.ModelTheory.Fraisse +public import Mathlib.ModelTheory.Graph +public import Mathlib.ModelTheory.LanguageMap +public import Mathlib.ModelTheory.Order +public import Mathlib.ModelTheory.PartialEquiv +public import Mathlib.ModelTheory.Quotients +public import Mathlib.ModelTheory.Satisfiability +public import Mathlib.ModelTheory.Semantics +public import Mathlib.ModelTheory.Skolem +public import Mathlib.ModelTheory.Substructures +public import Mathlib.ModelTheory.Syntax +public import Mathlib.ModelTheory.Types +public import Mathlib.ModelTheory.Ultraproducts +public import Mathlib.NumberTheory.ADEInequality +public import Mathlib.NumberTheory.AbelSummation +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.NumberTheory.Basic +public import Mathlib.NumberTheory.Bernoulli +public import Mathlib.NumberTheory.BernoulliPolynomials +public import Mathlib.NumberTheory.Bertrand +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbs +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue +public import Mathlib.NumberTheory.ClassNumber.AdmissibleCardPowDegree +public import Mathlib.NumberTheory.ClassNumber.Finite +public import Mathlib.NumberTheory.ClassNumber.FunctionField +public import Mathlib.NumberTheory.Cyclotomic.Basic +public import Mathlib.NumberTheory.Cyclotomic.CyclotomicCharacter +public import Mathlib.NumberTheory.Cyclotomic.Discriminant +public import Mathlib.NumberTheory.Cyclotomic.Embeddings +public import Mathlib.NumberTheory.Cyclotomic.Gal +public import Mathlib.NumberTheory.Cyclotomic.PID +public import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots +public import Mathlib.NumberTheory.Cyclotomic.Rat +public import Mathlib.NumberTheory.Cyclotomic.Three +public import Mathlib.NumberTheory.Dioph +public import Mathlib.NumberTheory.DiophantineApproximation.Basic +public import Mathlib.NumberTheory.DiophantineApproximation.ContinuedFractions +public import Mathlib.NumberTheory.DirichletCharacter.Basic +public import Mathlib.NumberTheory.DirichletCharacter.Bounds +public import Mathlib.NumberTheory.DirichletCharacter.GaussSum +public import Mathlib.NumberTheory.DirichletCharacter.Orthogonality +public import Mathlib.NumberTheory.Divisors +public import Mathlib.NumberTheory.EllipticDivisibilitySequence +public import Mathlib.NumberTheory.EulerProduct.Basic +public import Mathlib.NumberTheory.EulerProduct.DirichletLSeries +public import Mathlib.NumberTheory.EulerProduct.ExpLog +public import Mathlib.NumberTheory.FLT.Basic +public import Mathlib.NumberTheory.FLT.Four +public import Mathlib.NumberTheory.FLT.MasonStothers +public import Mathlib.NumberTheory.FLT.Polynomial +public import Mathlib.NumberTheory.FLT.Three +public import Mathlib.NumberTheory.FactorisationProperties +public import Mathlib.NumberTheory.Fermat +public import Mathlib.NumberTheory.FermatPsp +public import Mathlib.NumberTheory.FrobeniusNumber +public import Mathlib.NumberTheory.FunctionField +public import Mathlib.NumberTheory.GaussSum +public import Mathlib.NumberTheory.Harmonic.Bounds +public import Mathlib.NumberTheory.Harmonic.Defs +public import Mathlib.NumberTheory.Harmonic.EulerMascheroni +public import Mathlib.NumberTheory.Harmonic.GammaDeriv +public import Mathlib.NumberTheory.Harmonic.Int +public import Mathlib.NumberTheory.Harmonic.ZetaAsymp +public import Mathlib.NumberTheory.JacobiSum.Basic +public import Mathlib.NumberTheory.KummerDedekind +public import Mathlib.NumberTheory.LSeries.AbstractFuncEq +public import Mathlib.NumberTheory.LSeries.Basic +public import Mathlib.NumberTheory.LSeries.Convergence +public import Mathlib.NumberTheory.LSeries.Convolution +public import Mathlib.NumberTheory.LSeries.Deriv +public import Mathlib.NumberTheory.LSeries.Dirichlet +public import Mathlib.NumberTheory.LSeries.DirichletContinuation +public import Mathlib.NumberTheory.LSeries.HurwitzZeta +public import Mathlib.NumberTheory.LSeries.HurwitzZetaEven +public import Mathlib.NumberTheory.LSeries.HurwitzZetaOdd +public import Mathlib.NumberTheory.LSeries.HurwitzZetaValues +public import Mathlib.NumberTheory.LSeries.Injectivity +public import Mathlib.NumberTheory.LSeries.Linearity +public import Mathlib.NumberTheory.LSeries.MellinEqDirichlet +public import Mathlib.NumberTheory.LSeries.Nonvanishing +public import Mathlib.NumberTheory.LSeries.Positivity +public import Mathlib.NumberTheory.LSeries.PrimesInAP +public import Mathlib.NumberTheory.LSeries.RiemannZeta +public import Mathlib.NumberTheory.LSeries.SumCoeff +public import Mathlib.NumberTheory.LSeries.ZMod +public import Mathlib.NumberTheory.LegendreSymbol.AddCharacter +public import Mathlib.NumberTheory.LegendreSymbol.Basic +public import Mathlib.NumberTheory.LegendreSymbol.GaussEisensteinLemmas +public import Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity +public import Mathlib.NumberTheory.LegendreSymbol.ZModChar +public import Mathlib.NumberTheory.LocalField.Basic +public import Mathlib.NumberTheory.LucasLehmer +public import Mathlib.NumberTheory.LucasPrimality +public import Mathlib.NumberTheory.MaricaSchoenheim +public import Mathlib.NumberTheory.Modular +public import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups +public import Mathlib.NumberTheory.ModularForms.Basic +public import Mathlib.NumberTheory.ModularForms.BoundedAtCusp +public import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups +public import Mathlib.NumberTheory.ModularForms.Cusps +public import Mathlib.NumberTheory.ModularForms.DedekindEta +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.QExpansion +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence +public import Mathlib.NumberTheory.ModularForms.Identities +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable +public import Mathlib.NumberTheory.ModularForms.LevelOne +public import Mathlib.NumberTheory.ModularForms.Petersson +public import Mathlib.NumberTheory.ModularForms.QExpansion +public import Mathlib.NumberTheory.ModularForms.SlashActions +public import Mathlib.NumberTheory.ModularForms.SlashInvariantForms +public import Mathlib.NumberTheory.MulChar.Basic +public import Mathlib.NumberTheory.MulChar.Duality +public import Mathlib.NumberTheory.MulChar.Lemmas +public import Mathlib.NumberTheory.Multiplicity +public import Mathlib.NumberTheory.Niven +public import Mathlib.NumberTheory.NumberField.AdeleRing +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.NumberTheory.NumberField.CMField +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.NormLeOne +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.PolarCoord +public import Mathlib.NumberTheory.NumberField.ClassNumber +public import Mathlib.NumberTheory.NumberField.Completion +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Ideal +public import Mathlib.NumberTheory.NumberField.Cyclotomic.PID +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Three +public import Mathlib.NumberTheory.NumberField.DedekindZeta +public import Mathlib.NumberTheory.NumberField.Discriminant.Basic +public import Mathlib.NumberTheory.NumberField.Discriminant.Defs +public import Mathlib.NumberTheory.NumberField.Discriminant.Different +public import Mathlib.NumberTheory.NumberField.Embeddings +public import Mathlib.NumberTheory.NumberField.EquivReindex +public import Mathlib.NumberTheory.NumberField.FinitePlaces +public import Mathlib.NumberTheory.NumberField.FractionalIdeal +public import Mathlib.NumberTheory.NumberField.House +public import Mathlib.NumberTheory.NumberField.Ideal +public import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics +public import Mathlib.NumberTheory.NumberField.Ideal.Basic +public import Mathlib.NumberTheory.NumberField.Ideal.KummerDedekind +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification +public import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex +public import Mathlib.NumberTheory.NumberField.Norm +public import Mathlib.NumberTheory.NumberField.ProductFormula +public import Mathlib.NumberTheory.NumberField.Units.Basic +public import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem +public import Mathlib.NumberTheory.NumberField.Units.Regulator +public import Mathlib.NumberTheory.Ostrowski +public import Mathlib.NumberTheory.Padics.AddChar +public import Mathlib.NumberTheory.Padics.Complex +public import Mathlib.NumberTheory.Padics.Hensel +public import Mathlib.NumberTheory.Padics.MahlerBasis +public import Mathlib.NumberTheory.Padics.PadicIntegers +public import Mathlib.NumberTheory.Padics.PadicNorm +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.NumberTheory.Padics.PadicVal.Basic +public import Mathlib.NumberTheory.Padics.PadicVal.Defs +public import Mathlib.NumberTheory.Padics.ProperSpace +public import Mathlib.NumberTheory.Padics.RingHoms +public import Mathlib.NumberTheory.Padics.ValuativeRel +public import Mathlib.NumberTheory.Padics.WithVal +public import Mathlib.NumberTheory.Pell +public import Mathlib.NumberTheory.PellMatiyasevic +public import Mathlib.NumberTheory.PowModTotient +public import Mathlib.NumberTheory.PrimeCounting +public import Mathlib.NumberTheory.PrimesCongruentOne +public import Mathlib.NumberTheory.Primorial +public import Mathlib.NumberTheory.PythagoreanTriples +public import Mathlib.NumberTheory.RamificationInertia.Basic +public import Mathlib.NumberTheory.RamificationInertia.Galois +public import Mathlib.NumberTheory.RamificationInertia.Unramified +public import Mathlib.NumberTheory.Rayleigh +public import Mathlib.NumberTheory.Real.GoldenRatio +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.NumberTheory.SelbergSieve +public import Mathlib.NumberTheory.SiegelsLemma +public import Mathlib.NumberTheory.SmoothNumbers +public import Mathlib.NumberTheory.SumFourSquares +public import Mathlib.NumberTheory.SumPrimeReciprocals +public import Mathlib.NumberTheory.SumTwoSquares +public import Mathlib.NumberTheory.Transcendental.Lindemann.AnalyticalPart +public import Mathlib.NumberTheory.Transcendental.Liouville.Basic +public import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleNumber +public import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith +public import Mathlib.NumberTheory.Transcendental.Liouville.Measure +public import Mathlib.NumberTheory.Transcendental.Liouville.Residual +public import Mathlib.NumberTheory.TsumDivsorsAntidiagonal +public import Mathlib.NumberTheory.VonMangoldt +public import Mathlib.NumberTheory.WellApproximable +public import Mathlib.NumberTheory.Wilson +public import Mathlib.NumberTheory.ZetaValues +public import Mathlib.NumberTheory.Zsqrtd.Basic +public import Mathlib.NumberTheory.Zsqrtd.GaussianInt +public import Mathlib.NumberTheory.Zsqrtd.QuadraticReciprocity +public import Mathlib.NumberTheory.Zsqrtd.ToReal +public import Mathlib.Order.Antichain +public import Mathlib.Order.Antisymmetrization +public import Mathlib.Order.Atoms +public import Mathlib.Order.Atoms.Finite +public import Mathlib.Order.Basic +public import Mathlib.Order.Birkhoff +public import Mathlib.Order.BooleanAlgebra +public import Mathlib.Order.BooleanAlgebra.Basic +public import Mathlib.Order.BooleanAlgebra.Defs +public import Mathlib.Order.BooleanAlgebra.Set +public import Mathlib.Order.BooleanGenerators +public import Mathlib.Order.BooleanSubalgebra +public import Mathlib.Order.Booleanisation +public import Mathlib.Order.Bounded +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Order.BoundedOrder.Lattice +public import Mathlib.Order.BoundedOrder.Monotone +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.Bounds.Defs +public import Mathlib.Order.Bounds.Image +public import Mathlib.Order.Bounds.Lattice +public import Mathlib.Order.Bounds.OrderIso +public import Mathlib.Order.Category.BddDistLat +public import Mathlib.Order.Category.BddLat +public import Mathlib.Order.Category.BddOrd +public import Mathlib.Order.Category.BoolAlg +public import Mathlib.Order.Category.CompleteLat +public import Mathlib.Order.Category.DistLat +public import Mathlib.Order.Category.FinBddDistLat +public import Mathlib.Order.Category.FinBoolAlg +public import Mathlib.Order.Category.FinPartOrd +public import Mathlib.Order.Category.Frm +public import Mathlib.Order.Category.HeytAlg +public import Mathlib.Order.Category.Lat +public import Mathlib.Order.Category.LinOrd +public import Mathlib.Order.Category.NonemptyFinLinOrd +public import Mathlib.Order.Category.OmegaCompletePartialOrder +public import Mathlib.Order.Category.PartOrd +public import Mathlib.Order.Category.Preord +public import Mathlib.Order.Category.Semilat +public import Mathlib.Order.Chain +public import Mathlib.Order.Circular +public import Mathlib.Order.Circular.ZMod +public import Mathlib.Order.Closure +public import Mathlib.Order.Cofinal +public import Mathlib.Order.CompactlyGenerated.Basic +public import Mathlib.Order.CompactlyGenerated.Intervals +public import Mathlib.Order.Comparable +public import Mathlib.Order.Compare +public import Mathlib.Order.CompleteBooleanAlgebra +public import Mathlib.Order.CompleteLattice.Basic +public import Mathlib.Order.CompleteLattice.Chain +public import Mathlib.Order.CompleteLattice.Defs +public import Mathlib.Order.CompleteLattice.Finset +public import Mathlib.Order.CompleteLattice.Group +public import Mathlib.Order.CompleteLattice.Lemmas +public import Mathlib.Order.CompleteLattice.MulticoequalizerDiagram +public import Mathlib.Order.CompleteLattice.SetLike +public import Mathlib.Order.CompleteLatticeIntervals +public import Mathlib.Order.CompletePartialOrder +public import Mathlib.Order.CompleteSublattice +public import Mathlib.Order.Concept +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.ConditionallyCompleteLattice.Defs +public import Mathlib.Order.ConditionallyCompleteLattice.Finset +public import Mathlib.Order.ConditionallyCompleteLattice.Group +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.Copy +public import Mathlib.Order.CountableDenseLinearOrder +public import Mathlib.Order.Cover +public import Mathlib.Order.Defs.LinearOrder +public import Mathlib.Order.Defs.PartialOrder +public import Mathlib.Order.Defs.Unbundled +public import Mathlib.Order.Directed +public import Mathlib.Order.DirectedInverseSystem +public import Mathlib.Order.Disjoint +public import Mathlib.Order.Disjointed +public import Mathlib.Order.Extension.Linear +public import Mathlib.Order.Extension.Well +public import Mathlib.Order.Filter.AtTopBot.Archimedean +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.AtTopBot.BigOperators +public import Mathlib.Order.Filter.AtTopBot.CompleteLattice +public import Mathlib.Order.Filter.AtTopBot.CountablyGenerated +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.Order.Filter.AtTopBot.Disjoint +public import Mathlib.Order.Filter.AtTopBot.Field +public import Mathlib.Order.Filter.AtTopBot.Finite +public import Mathlib.Order.Filter.AtTopBot.Finset +public import Mathlib.Order.Filter.AtTopBot.Floor +public import Mathlib.Order.Filter.AtTopBot.Group +public import Mathlib.Order.Filter.AtTopBot.Map +public import Mathlib.Order.Filter.AtTopBot.ModEq +public import Mathlib.Order.Filter.AtTopBot.Monoid +public import Mathlib.Order.Filter.AtTopBot.Prod +public import Mathlib.Order.Filter.AtTopBot.Ring +public import Mathlib.Order.Filter.AtTopBot.Tendsto +public import Mathlib.Order.Filter.Bases.Basic +public import Mathlib.Order.Filter.Bases.Finite +public import Mathlib.Order.Filter.Basic +public import Mathlib.Order.Filter.CardinalInter +public import Mathlib.Order.Filter.Cocardinal +public import Mathlib.Order.Filter.Cofinite +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.Order.Filter.CountableSeparatingOn +public import Mathlib.Order.Filter.CountablyGenerated +public import Mathlib.Order.Filter.Curry +public import Mathlib.Order.Filter.Defs +public import Mathlib.Order.Filter.ENNReal +public import Mathlib.Order.Filter.EventuallyConst +public import Mathlib.Order.Filter.Extr +public import Mathlib.Order.Filter.FilterProduct +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.Germ.Basic +public import Mathlib.Order.Filter.Germ.OrderedMonoid +public import Mathlib.Order.Filter.IndicatorFunction +public import Mathlib.Order.Filter.Interval +public import Mathlib.Order.Filter.IsBounded +public import Mathlib.Order.Filter.Ker +public import Mathlib.Order.Filter.Lift +public import Mathlib.Order.Filter.ListTraverse +public import Mathlib.Order.Filter.Map +public import Mathlib.Order.Filter.NAry +public import Mathlib.Order.Filter.Partial +public import Mathlib.Order.Filter.Pi +public import Mathlib.Order.Filter.Pointwise +public import Mathlib.Order.Filter.Prod +public import Mathlib.Order.Filter.Ring +public import Mathlib.Order.Filter.SmallSets +public import Mathlib.Order.Filter.Subsingleton +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Order.Filter.Ultrafilter.Basic +public import Mathlib.Order.Filter.Ultrafilter.Defs +public import Mathlib.Order.Filter.ZeroAndBoundedAtFilter +public import Mathlib.Order.Fin.Basic +public import Mathlib.Order.Fin.Finset +public import Mathlib.Order.Fin.SuccAboveOrderIso +public import Mathlib.Order.Fin.Tuple +public import Mathlib.Order.FixedPoints +public import Mathlib.Order.GaloisConnection.Basic +public import Mathlib.Order.GaloisConnection.Defs +public import Mathlib.Order.GameAdd +public import Mathlib.Order.Grade +public import Mathlib.Order.Height +public import Mathlib.Order.Heyting.Basic +public import Mathlib.Order.Heyting.Boundary +public import Mathlib.Order.Heyting.Hom +public import Mathlib.Order.Heyting.Regular +public import Mathlib.Order.Hom.Basic +public import Mathlib.Order.Hom.Bounded +public import Mathlib.Order.Hom.BoundedLattice +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.Order.Hom.Lattice +public import Mathlib.Order.Hom.Lex +public import Mathlib.Order.Hom.Order +public import Mathlib.Order.Hom.Set +public import Mathlib.Order.Hom.WithTopBot +public import Mathlib.Order.Ideal +public import Mathlib.Order.InitialSeg +public import Mathlib.Order.Interval.Basic +public import Mathlib.Order.Interval.Finset.Basic +public import Mathlib.Order.Interval.Finset.Box +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.Interval.Finset.DenselyOrdered +public import Mathlib.Order.Interval.Finset.Fin +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Order.Interval.Finset.SuccPred +public import Mathlib.Order.Interval.Lex +public import Mathlib.Order.Interval.Multiset +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Order.Interval.Set.Disjoint +public import Mathlib.Order.Interval.Set.Fin +public import Mathlib.Order.Interval.Set.Final +public import Mathlib.Order.Interval.Set.Image +public import Mathlib.Order.Interval.Set.Infinite +public import Mathlib.Order.Interval.Set.InitialSeg +public import Mathlib.Order.Interval.Set.IsoIoo +public import Mathlib.Order.Interval.Set.Limit +public import Mathlib.Order.Interval.Set.LinearOrder +public import Mathlib.Order.Interval.Set.Monotone +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Order.Interval.Set.OrdConnectedComponent +public import Mathlib.Order.Interval.Set.OrdConnectedLinear +public import Mathlib.Order.Interval.Set.OrderEmbedding +public import Mathlib.Order.Interval.Set.OrderIso +public import Mathlib.Order.Interval.Set.Pi +public import Mathlib.Order.Interval.Set.ProjIcc +public import Mathlib.Order.Interval.Set.SuccOrder +public import Mathlib.Order.Interval.Set.SuccPred +public import Mathlib.Order.Interval.Set.SurjOn +public import Mathlib.Order.Interval.Set.Union +public import Mathlib.Order.Interval.Set.UnorderedInterval +public import Mathlib.Order.Interval.Set.WithBotTop +public import Mathlib.Order.Irreducible +public import Mathlib.Order.IsNormal +public import Mathlib.Order.Iterate +public import Mathlib.Order.JordanHolder +public import Mathlib.Order.KonigLemma +public import Mathlib.Order.KrullDimension +public import Mathlib.Order.Lattice +public import Mathlib.Order.Lattice.Congruence +public import Mathlib.Order.LatticeIntervals +public import Mathlib.Order.LiminfLimsup +public import Mathlib.Order.Max +public import Mathlib.Order.MinMax +public import Mathlib.Order.Minimal +public import Mathlib.Order.ModularLattice +public import Mathlib.Order.Monotone.Basic +public import Mathlib.Order.Monotone.Defs +public import Mathlib.Order.Monotone.Extension +public import Mathlib.Order.Monotone.Monovary +public import Mathlib.Order.Monotone.MonovaryOrder +public import Mathlib.Order.Monotone.Odd +public import Mathlib.Order.Monotone.Union +public import Mathlib.Order.Nat +public import Mathlib.Order.Notation +public import Mathlib.Order.Nucleus +public import Mathlib.Order.OmegaCompletePartialOrder +public import Mathlib.Order.OrdContinuous +public import Mathlib.Order.OrderIsoNat +public import Mathlib.Order.PFilter +public import Mathlib.Order.Part +public import Mathlib.Order.PartialSups +public import Mathlib.Order.Partition.Basic +public import Mathlib.Order.Partition.Equipartition +public import Mathlib.Order.Partition.Finpartition +public import Mathlib.Order.PiLex +public import Mathlib.Order.Preorder.Chain +public import Mathlib.Order.Preorder.Finite +public import Mathlib.Order.Preorder.Finsupp +public import Mathlib.Order.PrimeIdeal +public import Mathlib.Order.PrimeSeparator +public import Mathlib.Order.Prod.Lex.Hom +public import Mathlib.Order.PropInstances +public import Mathlib.Order.Radical +public import Mathlib.Order.Rel.GaloisConnection +public import Mathlib.Order.RelClasses +public import Mathlib.Order.RelIso.Basic +public import Mathlib.Order.RelIso.Set +public import Mathlib.Order.RelSeries +public import Mathlib.Order.Restriction +public import Mathlib.Order.ScottContinuity +public import Mathlib.Order.ScottContinuity.Complete +public import Mathlib.Order.ScottContinuity.Prod +public import Mathlib.Order.SemiconjSup +public import Mathlib.Order.Set +public import Mathlib.Order.SetIsMax +public import Mathlib.Order.SetNotation +public import Mathlib.Order.Shrink +public import Mathlib.Order.Sublattice +public import Mathlib.Order.Sublocale +public import Mathlib.Order.SuccPred.Archimedean +public import Mathlib.Order.SuccPred.Basic +public import Mathlib.Order.SuccPred.CompleteLinearOrder +public import Mathlib.Order.SuccPred.InitialSeg +public import Mathlib.Order.SuccPred.IntervalSucc +public import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.SuccPred.LinearLocallyFinite +public import Mathlib.Order.SuccPred.Relation +public import Mathlib.Order.SuccPred.Tree +public import Mathlib.Order.SuccPred.WithBot +public import Mathlib.Order.SupClosed +public import Mathlib.Order.SupIndep +public import Mathlib.Order.SymmDiff +public import Mathlib.Order.Synonym +public import Mathlib.Order.TeichmullerTukey +public import Mathlib.Order.TransfiniteIteration +public import Mathlib.Order.TypeTags +public import Mathlib.Order.ULift +public import Mathlib.Order.UpperLower.Basic +public import Mathlib.Order.UpperLower.Closure +public import Mathlib.Order.UpperLower.CompleteLattice +public import Mathlib.Order.UpperLower.Fibration +public import Mathlib.Order.UpperLower.Hom +public import Mathlib.Order.UpperLower.LocallyFinite +public import Mathlib.Order.UpperLower.Principal +public import Mathlib.Order.UpperLower.Prod +public import Mathlib.Order.UpperLower.Relative +public import Mathlib.Order.WellFounded +public import Mathlib.Order.WellFoundedSet +public import Mathlib.Order.WellQuasiOrder +public import Mathlib.Order.WithBot +public import Mathlib.Order.Zorn +public import Mathlib.Order.ZornAtoms +public import Mathlib.Probability.BorelCantelli +public import Mathlib.Probability.CDF +public import Mathlib.Probability.CondVar +public import Mathlib.Probability.ConditionalExpectation +public import Mathlib.Probability.ConditionalProbability +public import Mathlib.Probability.Decision.Risk.Defs +public import Mathlib.Probability.Density +public import Mathlib.Probability.Distributions.Beta +public import Mathlib.Probability.Distributions.Exponential +public import Mathlib.Probability.Distributions.Fernique +public import Mathlib.Probability.Distributions.Gamma +public import Mathlib.Probability.Distributions.Gaussian +public import Mathlib.Probability.Distributions.Gaussian.Basic +public import Mathlib.Probability.Distributions.Gaussian.Fernique +public import Mathlib.Probability.Distributions.Gaussian.Real +public import Mathlib.Probability.Distributions.Geometric +public import Mathlib.Probability.Distributions.Pareto +public import Mathlib.Probability.Distributions.Poisson +public import Mathlib.Probability.Distributions.Uniform +public import Mathlib.Probability.HasLaw +public import Mathlib.Probability.HasLawExists +public import Mathlib.Probability.IdentDistrib +public import Mathlib.Probability.Independence.Basic +public import Mathlib.Probability.Independence.CharacteristicFunction +public import Mathlib.Probability.Independence.Conditional +public import Mathlib.Probability.Independence.InfinitePi +public import Mathlib.Probability.Independence.Integrable +public import Mathlib.Probability.Independence.Integration +public import Mathlib.Probability.Independence.Kernel +public import Mathlib.Probability.Independence.ZeroOne +public import Mathlib.Probability.Integration +public import Mathlib.Probability.Kernel.Basic +public import Mathlib.Probability.Kernel.CompProdEqIff +public import Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous +public import Mathlib.Probability.Kernel.Composition.Comp +public import Mathlib.Probability.Kernel.Composition.CompMap +public import Mathlib.Probability.Kernel.Composition.CompNotation +public import Mathlib.Probability.Kernel.Composition.CompProd +public import Mathlib.Probability.Kernel.Composition.IntegralCompProd +public import Mathlib.Probability.Kernel.Composition.KernelLemmas +public import Mathlib.Probability.Kernel.Composition.Lemmas +public import Mathlib.Probability.Kernel.Composition.MapComap +public import Mathlib.Probability.Kernel.Composition.MeasureComp +public import Mathlib.Probability.Kernel.Composition.MeasureCompProd +public import Mathlib.Probability.Kernel.Composition.ParallelComp +public import Mathlib.Probability.Kernel.Composition.Prod +public import Mathlib.Probability.Kernel.CondDistrib +public import Mathlib.Probability.Kernel.Condexp +public import Mathlib.Probability.Kernel.Defs +public import Mathlib.Probability.Kernel.Disintegration.Basic +public import Mathlib.Probability.Kernel.Disintegration.CDFToKernel +public import Mathlib.Probability.Kernel.Disintegration.CondCDF +public import Mathlib.Probability.Kernel.Disintegration.Density +public import Mathlib.Probability.Kernel.Disintegration.Integral +public import Mathlib.Probability.Kernel.Disintegration.MeasurableStieltjes +public import Mathlib.Probability.Kernel.Disintegration.StandardBorel +public import Mathlib.Probability.Kernel.Disintegration.Unique +public import Mathlib.Probability.Kernel.Integral +public import Mathlib.Probability.Kernel.Invariance +public import Mathlib.Probability.Kernel.IonescuTulcea.Maps +public import Mathlib.Probability.Kernel.IonescuTulcea.PartialTraj +public import Mathlib.Probability.Kernel.IonescuTulcea.Traj +public import Mathlib.Probability.Kernel.MeasurableIntegral +public import Mathlib.Probability.Kernel.MeasurableLIntegral +public import Mathlib.Probability.Kernel.Posterior +public import Mathlib.Probability.Kernel.Proper +public import Mathlib.Probability.Kernel.RadonNikodym +public import Mathlib.Probability.Kernel.SetIntegral +public import Mathlib.Probability.Kernel.WithDensity +public import Mathlib.Probability.Martingale.Basic +public import Mathlib.Probability.Martingale.BorelCantelli +public import Mathlib.Probability.Martingale.Centering +public import Mathlib.Probability.Martingale.Convergence +public import Mathlib.Probability.Martingale.OptionalSampling +public import Mathlib.Probability.Martingale.OptionalStopping +public import Mathlib.Probability.Martingale.Upcrossing +public import Mathlib.Probability.Moments.Basic +public import Mathlib.Probability.Moments.ComplexMGF +public import Mathlib.Probability.Moments.Covariance +public import Mathlib.Probability.Moments.CovarianceBilin +public import Mathlib.Probability.Moments.CovarianceBilinDual +public import Mathlib.Probability.Moments.IntegrableExpMul +public import Mathlib.Probability.Moments.MGFAnalytic +public import Mathlib.Probability.Moments.SubGaussian +public import Mathlib.Probability.Moments.Tilted +public import Mathlib.Probability.Moments.Variance +public import Mathlib.Probability.Notation +public import Mathlib.Probability.ProbabilityMassFunction.Basic +public import Mathlib.Probability.ProbabilityMassFunction.Binomial +public import Mathlib.Probability.ProbabilityMassFunction.Constructions +public import Mathlib.Probability.ProbabilityMassFunction.Integrals +public import Mathlib.Probability.ProbabilityMassFunction.Monad +public import Mathlib.Probability.Process.Adapted +public import Mathlib.Probability.Process.Filtration +public import Mathlib.Probability.Process.FiniteDimensionalLaws +public import Mathlib.Probability.Process.HittingTime +public import Mathlib.Probability.Process.Kolmogorov +public import Mathlib.Probability.Process.PartitionFiltration +public import Mathlib.Probability.Process.Stopping +public import Mathlib.Probability.ProductMeasure +public import Mathlib.Probability.StrongLaw +public import Mathlib.Probability.UniformOn +public import Mathlib.Probability.Variance +public import Mathlib.RepresentationTheory.Basic +public import Mathlib.RepresentationTheory.Character +public import Mathlib.RepresentationTheory.Coinduced +public import Mathlib.RepresentationTheory.Coinvariants +public import Mathlib.RepresentationTheory.FDRep +public import Mathlib.RepresentationTheory.FiniteIndex +public import Mathlib.RepresentationTheory.GroupCohomology.Basic +public import Mathlib.RepresentationTheory.GroupCohomology.Functoriality +public import Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 +public import Mathlib.RepresentationTheory.GroupCohomology.LowDegree +public import Mathlib.RepresentationTheory.GroupCohomology.Resolution +public import Mathlib.RepresentationTheory.Homological.FiniteCyclic +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Hilbert90 +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.LongExactSequence +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Shapiro +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality +public import Mathlib.RepresentationTheory.Homological.GroupHomology.LongExactSequence +public import Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Shapiro +public import Mathlib.RepresentationTheory.Homological.Resolution +public import Mathlib.RepresentationTheory.Induced +public import Mathlib.RepresentationTheory.Invariants +public import Mathlib.RepresentationTheory.Maschke +public import Mathlib.RepresentationTheory.Rep +public import Mathlib.RepresentationTheory.Submodule +public import Mathlib.RepresentationTheory.Tannaka +public import Mathlib.RingTheory.AdicCompletion.Algebra +public import Mathlib.RingTheory.AdicCompletion.AsTensorProduct +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.AdicCompletion.Exactness +public import Mathlib.RingTheory.AdicCompletion.Functoriality +public import Mathlib.RingTheory.AdicCompletion.LocalRing +public import Mathlib.RingTheory.AdicCompletion.Noetherian +public import Mathlib.RingTheory.AdicCompletion.Topology +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.Adjoin.Dimension +public import Mathlib.RingTheory.Adjoin.FG +public import Mathlib.RingTheory.Adjoin.Field +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Adjoin.PowerBasis +public import Mathlib.RingTheory.Adjoin.Tower +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.RingTheory.AlgebraTower +public import Mathlib.RingTheory.Algebraic.Basic +public import Mathlib.RingTheory.Algebraic.Cardinality +public import Mathlib.RingTheory.Algebraic.Defs +public import Mathlib.RingTheory.Algebraic.Integral +public import Mathlib.RingTheory.Algebraic.LinearIndependent +public import Mathlib.RingTheory.Algebraic.MvPolynomial +public import Mathlib.RingTheory.Algebraic.Pi +public import Mathlib.RingTheory.AlgebraicIndependent.Adjoin +public import Mathlib.RingTheory.AlgebraicIndependent.AlgebraicClosure +public import Mathlib.RingTheory.AlgebraicIndependent.Basic +public import Mathlib.RingTheory.AlgebraicIndependent.Defs +public import Mathlib.RingTheory.AlgebraicIndependent.RankAndCardinality +public import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis +public import Mathlib.RingTheory.AlgebraicIndependent.Transcendental +public import Mathlib.RingTheory.Artinian.Algebra +public import Mathlib.RingTheory.Artinian.Instances +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.RingTheory.Artinian.Ring +public import Mathlib.RingTheory.Bezout +public import Mathlib.RingTheory.Bialgebra.Basic +public import Mathlib.RingTheory.Bialgebra.Equiv +public import Mathlib.RingTheory.Bialgebra.Hom +public import Mathlib.RingTheory.Bialgebra.MonoidAlgebra +public import Mathlib.RingTheory.Bialgebra.TensorProduct +public import Mathlib.RingTheory.Binomial +public import Mathlib.RingTheory.ChainOfDivisors +public import Mathlib.RingTheory.ClassGroup +public import Mathlib.RingTheory.Coalgebra.Basic +public import Mathlib.RingTheory.Coalgebra.Equiv +public import Mathlib.RingTheory.Coalgebra.Hom +public import Mathlib.RingTheory.Coalgebra.MonoidAlgebra +public import Mathlib.RingTheory.Coalgebra.MulOpposite +public import Mathlib.RingTheory.Coalgebra.TensorProduct +public import Mathlib.RingTheory.Complex +public import Mathlib.RingTheory.Conductor +public import Mathlib.RingTheory.Congruence.Basic +public import Mathlib.RingTheory.Congruence.BigOperators +public import Mathlib.RingTheory.Congruence.Defs +public import Mathlib.RingTheory.Congruence.Opposite +public import Mathlib.RingTheory.Coprime.Basic +public import Mathlib.RingTheory.Coprime.Ideal +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.CotangentLocalizationAway +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.RingTheory.DedekindDomain.Basic +public import Mathlib.RingTheory.DedekindDomain.Different +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.RingTheory.DedekindDomain.Factorization +public import Mathlib.RingTheory.DedekindDomain.FiniteAdeleRing +public import Mathlib.RingTheory.DedekindDomain.Ideal.Basic +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +public import Mathlib.RingTheory.DedekindDomain.Instances +public import Mathlib.RingTheory.DedekindDomain.IntegralClosure +public import Mathlib.RingTheory.DedekindDomain.PID +public import Mathlib.RingTheory.DedekindDomain.SInteger +public import Mathlib.RingTheory.DedekindDomain.SelmerGroup +public import Mathlib.RingTheory.Derivation.Basic +public import Mathlib.RingTheory.Derivation.DifferentialRing +public import Mathlib.RingTheory.Derivation.Lie +public import Mathlib.RingTheory.Derivation.MapCoeffs +public import Mathlib.RingTheory.Derivation.ToSquareZero +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.DiscreteValuationRing.TFAE +public import Mathlib.RingTheory.Discriminant +public import Mathlib.RingTheory.DividedPowers.Basic +public import Mathlib.RingTheory.DividedPowers.DPMorphism +public import Mathlib.RingTheory.DividedPowers.Padic +public import Mathlib.RingTheory.DividedPowers.RatAlgebra +public import Mathlib.RingTheory.DividedPowers.SubDPIdeal +public import Mathlib.RingTheory.DualNumber +public import Mathlib.RingTheory.EisensteinCriterion +public import Mathlib.RingTheory.EssentialFiniteness +public import Mathlib.RingTheory.Etale.Basic +public import Mathlib.RingTheory.Etale.Field +public import Mathlib.RingTheory.Etale.Kaehler +public import Mathlib.RingTheory.Etale.Pi +public import Mathlib.RingTheory.EuclideanDomain +public import Mathlib.RingTheory.Extension +public import Mathlib.RingTheory.Extension.Basic +public import Mathlib.RingTheory.Extension.Cotangent.Basic +public import Mathlib.RingTheory.Extension.Cotangent.LocalizationAway +public import Mathlib.RingTheory.Extension.Generators +public import Mathlib.RingTheory.Extension.Presentation.Basic +public import Mathlib.RingTheory.Extension.Presentation.Core +public import Mathlib.RingTheory.Extension.Presentation.Submersive +public import Mathlib.RingTheory.FilteredAlgebra.Basic +public import Mathlib.RingTheory.Filtration +public import Mathlib.RingTheory.FiniteLength +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.FiniteStability +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Finiteness.Bilinear +public import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.RingTheory.Finiteness.Finsupp +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Finiteness.Lattice +public import Mathlib.RingTheory.Finiteness.Nakayama +public import Mathlib.RingTheory.Finiteness.Nilpotent +public import Mathlib.RingTheory.Finiteness.Prod +public import Mathlib.RingTheory.Finiteness.Projective +public import Mathlib.RingTheory.Finiteness.Quotient +public import Mathlib.RingTheory.Finiteness.Small +public import Mathlib.RingTheory.Finiteness.Subalgebra +public import Mathlib.RingTheory.Fintype +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.RingTheory.Flat.CategoryTheory +public import Mathlib.RingTheory.Flat.Domain +public import Mathlib.RingTheory.Flat.Equalizer +public import Mathlib.RingTheory.Flat.EquationalCriterion +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Algebra +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.Flat.Stability +public import Mathlib.RingTheory.Flat.Tensor +public import Mathlib.RingTheory.Flat.TorsionFree +public import Mathlib.RingTheory.FractionalIdeal.Basic +public import Mathlib.RingTheory.FractionalIdeal.Extended +public import Mathlib.RingTheory.FractionalIdeal.Inverse +public import Mathlib.RingTheory.FractionalIdeal.Norm +public import Mathlib.RingTheory.FractionalIdeal.Operations +public import Mathlib.RingTheory.FreeCommRing +public import Mathlib.RingTheory.FreeRing +public import Mathlib.RingTheory.Frobenius +public import Mathlib.RingTheory.Generators +public import Mathlib.RingTheory.GradedAlgebra.Basic +public import Mathlib.RingTheory.GradedAlgebra.FiniteType +public import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal +public import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Submodule +public import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization +public import Mathlib.RingTheory.GradedAlgebra.Noetherian +public import Mathlib.RingTheory.GradedAlgebra.Radical +public import Mathlib.RingTheory.Grassmannian +public import Mathlib.RingTheory.HahnSeries.Addition +public import Mathlib.RingTheory.HahnSeries.Basic +public import Mathlib.RingTheory.HahnSeries.HEval +public import Mathlib.RingTheory.HahnSeries.HahnEmbedding +public import Mathlib.RingTheory.HahnSeries.Lex +public import Mathlib.RingTheory.HahnSeries.Multiplication +public import Mathlib.RingTheory.HahnSeries.PowerSeries +public import Mathlib.RingTheory.HahnSeries.Summable +public import Mathlib.RingTheory.HahnSeries.Valuation +public import Mathlib.RingTheory.Henselian +public import Mathlib.RingTheory.HopfAlgebra.Basic +public import Mathlib.RingTheory.HopfAlgebra.MonoidAlgebra +public import Mathlib.RingTheory.HopfAlgebra.TensorProduct +public import Mathlib.RingTheory.HopkinsLevitzki +public import Mathlib.RingTheory.Ideal.AssociatedPrime +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Finiteness +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Localization +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Ideal.Basis +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.Ideal.Colon +public import Mathlib.RingTheory.Ideal.Cotangent +public import Mathlib.RingTheory.Ideal.Defs +public import Mathlib.RingTheory.Ideal.GoingDown +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.Ideal.Height +public import Mathlib.RingTheory.Ideal.IdempotentFG +public import Mathlib.RingTheory.Ideal.Int +public import Mathlib.RingTheory.Ideal.IsPrimary +public import Mathlib.RingTheory.Ideal.IsPrincipal +public import Mathlib.RingTheory.Ideal.IsPrincipalPowQuotient +public import Mathlib.RingTheory.Ideal.KrullsHeightTheorem +public import Mathlib.RingTheory.Ideal.Lattice +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Maximal +public import Mathlib.RingTheory.Ideal.MinimalPrime.Basic +public import Mathlib.RingTheory.Ideal.MinimalPrime.Localization +public import Mathlib.RingTheory.Ideal.NatInt +public import Mathlib.RingTheory.Ideal.Nonunits +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm +public import Mathlib.RingTheory.Ideal.Norm.RelNorm +public import Mathlib.RingTheory.Ideal.Oka +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.Ideal.Over +public import Mathlib.RingTheory.Ideal.Pointwise +public import Mathlib.RingTheory.Ideal.Prime +public import Mathlib.RingTheory.Ideal.Prod +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Quotient.Index +public import Mathlib.RingTheory.Ideal.Quotient.Nilpotent +public import Mathlib.RingTheory.Ideal.Quotient.Noetherian +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Ideal.Quotient.PowTransition +public import Mathlib.RingTheory.Ideal.Span +public import Mathlib.RingTheory.Idempotents +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.RingTheory.IntegralClosure.Algebra.Basic +public import Mathlib.RingTheory.IntegralClosure.Algebra.Defs +public import Mathlib.RingTheory.IntegralClosure.IntegralRestrict +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Defs +public import Mathlib.RingTheory.IntegralDomain +public import Mathlib.RingTheory.Invariant +public import Mathlib.RingTheory.Invariant.Basic +public import Mathlib.RingTheory.Invariant.Defs +public import Mathlib.RingTheory.Invariant.Profinite +public import Mathlib.RingTheory.IsAdjoinRoot +public import Mathlib.RingTheory.IsPrimary +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.RingTheory.Jacobson.Artinian +public import Mathlib.RingTheory.Jacobson.Ideal +public import Mathlib.RingTheory.Jacobson.Polynomial +public import Mathlib.RingTheory.Jacobson.Radical +public import Mathlib.RingTheory.Jacobson.Ring +public import Mathlib.RingTheory.Jacobson.Semiprimary +public import Mathlib.RingTheory.Kaehler.Basic +public import Mathlib.RingTheory.Kaehler.CotangentComplex +public import Mathlib.RingTheory.Kaehler.JacobiZariski +public import Mathlib.RingTheory.Kaehler.Polynomial +public import Mathlib.RingTheory.Kaehler.TensorProduct +public import Mathlib.RingTheory.KrullDimension.Basic +public import Mathlib.RingTheory.KrullDimension.Field +public import Mathlib.RingTheory.KrullDimension.Module +public import Mathlib.RingTheory.KrullDimension.NonZeroDivisors +public import Mathlib.RingTheory.KrullDimension.PID +public import Mathlib.RingTheory.KrullDimension.Polynomial +public import Mathlib.RingTheory.KrullDimension.Zero +public import Mathlib.RingTheory.Lasker +public import Mathlib.RingTheory.LaurentSeries +public import Mathlib.RingTheory.Length +public import Mathlib.RingTheory.LinearDisjoint +public import Mathlib.RingTheory.LittleWedderburn +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.LocalProperties.Exactness +public import Mathlib.RingTheory.LocalProperties.IntegrallyClosed +public import Mathlib.RingTheory.LocalProperties.Projective +public import Mathlib.RingTheory.LocalProperties.Reduced +public import Mathlib.RingTheory.LocalProperties.Semilocal +public import Mathlib.RingTheory.LocalProperties.Submodule +public import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.RingTheory.LocalRing.Defs +public import Mathlib.RingTheory.LocalRing.LocalSubring +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Defs +public import Mathlib.RingTheory.LocalRing.Module +public import Mathlib.RingTheory.LocalRing.NonLocalRing +public import Mathlib.RingTheory.LocalRing.Quotient +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs +public import Mathlib.RingTheory.LocalRing.ResidueField.Fiber +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.LocalRing.ResidueField.Instances +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.LocalRing.Subring +public import Mathlib.RingTheory.Localization.Algebra +public import Mathlib.RingTheory.Localization.AsSubring +public import Mathlib.RingTheory.Localization.AtPrime +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.Away.AdjoinRoot +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.Localization.Away.Lemmas +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.Localization.Cardinality +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.Localization.Finiteness +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Free +public import Mathlib.RingTheory.Localization.Ideal +public import Mathlib.RingTheory.Localization.Integer +public import Mathlib.RingTheory.Localization.Integral +public import Mathlib.RingTheory.Localization.InvSubmonoid +public import Mathlib.RingTheory.Localization.LocalizationLocalization +public import Mathlib.RingTheory.Localization.Module +public import Mathlib.RingTheory.Localization.NormTrace +public import Mathlib.RingTheory.Localization.NumDen +public import Mathlib.RingTheory.Localization.Pi +public import Mathlib.RingTheory.Localization.Submodule +public import Mathlib.RingTheory.MatrixAlgebra +public import Mathlib.RingTheory.MatrixPolynomialAlgebra +public import Mathlib.RingTheory.Morita.Basic +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.RingTheory.MvPolynomial +public import Mathlib.RingTheory.MvPolynomial.Basic +public import Mathlib.RingTheory.MvPolynomial.EulerIdentity +public import Mathlib.RingTheory.MvPolynomial.FreeCommRing +public import Mathlib.RingTheory.MvPolynomial.Groebner +public import Mathlib.RingTheory.MvPolynomial.Homogeneous +public import Mathlib.RingTheory.MvPolynomial.Ideal +public import Mathlib.RingTheory.MvPolynomial.Localization +public import Mathlib.RingTheory.MvPolynomial.MonomialOrder +public import Mathlib.RingTheory.MvPolynomial.MonomialOrder.DegLex +public import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs +public import Mathlib.RingTheory.MvPolynomial.Symmetric.FundamentalTheorem +public import Mathlib.RingTheory.MvPolynomial.Symmetric.NewtonIdentities +public import Mathlib.RingTheory.MvPolynomial.Tower +public import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.RingTheory.MvPowerSeries.Evaluation +public import Mathlib.RingTheory.MvPowerSeries.Inverse +public import Mathlib.RingTheory.MvPowerSeries.LexOrder +public import Mathlib.RingTheory.MvPowerSeries.LinearTopology +public import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors +public import Mathlib.RingTheory.MvPowerSeries.Order +public import Mathlib.RingTheory.MvPowerSeries.PiTopology +public import Mathlib.RingTheory.MvPowerSeries.Substitution +public import Mathlib.RingTheory.MvPowerSeries.Trunc +public import Mathlib.RingTheory.Nakayama +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.RingTheory.Nilpotent.Exp +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.NoetherNormalization +public import Mathlib.RingTheory.Noetherian.Basic +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.Noetherian.Filter +public import Mathlib.RingTheory.Noetherian.Nilpotent +public import Mathlib.RingTheory.Noetherian.OfPrime +public import Mathlib.RingTheory.Noetherian.Orzech +public import Mathlib.RingTheory.Noetherian.UniqueFactorizationDomain +public import Mathlib.RingTheory.NonUnitalSubring.Basic +public import Mathlib.RingTheory.NonUnitalSubring.Defs +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +public import Mathlib.RingTheory.NonUnitalSubsemiring.Defs +public import Mathlib.RingTheory.Norm.Basic +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.RingTheory.Norm.Transitivity +public import Mathlib.RingTheory.NormTrace +public import Mathlib.RingTheory.Nullstellensatz +public import Mathlib.RingTheory.OrderOfVanishing +public import Mathlib.RingTheory.OreLocalization.Basic +public import Mathlib.RingTheory.OreLocalization.Cardinality +public import Mathlib.RingTheory.OreLocalization.NonZeroDivisors +public import Mathlib.RingTheory.OreLocalization.OreSet +public import Mathlib.RingTheory.OreLocalization.Ring +public import Mathlib.RingTheory.OrzechProperty +public import Mathlib.RingTheory.Perfection +public import Mathlib.RingTheory.Perfectoid.Untilt +public import Mathlib.RingTheory.PiTensorProduct +public import Mathlib.RingTheory.PicardGroup +public import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.Polynomial.Bernstein +public import Mathlib.RingTheory.Polynomial.Chebyshev +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.Polynomial.ContentIdeal +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Basic +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots +public import Mathlib.RingTheory.Polynomial.DegreeLT +public import Mathlib.RingTheory.Polynomial.Dickson +public import Mathlib.RingTheory.Polynomial.Eisenstein.Basic +public import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion +public import Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished +public import Mathlib.RingTheory.Polynomial.Eisenstein.Generalized +public import Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral +public import Mathlib.RingTheory.Polynomial.GaussLemma +public import Mathlib.RingTheory.Polynomial.GaussNorm +public import Mathlib.RingTheory.Polynomial.Hermite.Basic +public import Mathlib.RingTheory.Polynomial.Hermite.Gaussian +public import Mathlib.RingTheory.Polynomial.HilbertPoly +public import Mathlib.RingTheory.Polynomial.Ideal +public import Mathlib.RingTheory.Polynomial.IntegralNormalization +public import Mathlib.RingTheory.Polynomial.IrreducibleRing +public import Mathlib.RingTheory.Polynomial.Nilpotent +public import Mathlib.RingTheory.Polynomial.Opposites +public import Mathlib.RingTheory.Polynomial.Pochhammer +public import Mathlib.RingTheory.Polynomial.Quotient +public import Mathlib.RingTheory.Polynomial.Radical +public import Mathlib.RingTheory.Polynomial.RationalRoot +public import Mathlib.RingTheory.Polynomial.Resultant.Basic +public import Mathlib.RingTheory.Polynomial.ScaleRoots +public import Mathlib.RingTheory.Polynomial.Selmer +public import Mathlib.RingTheory.Polynomial.SeparableDegree +public import Mathlib.RingTheory.Polynomial.ShiftedLegendre +public import Mathlib.RingTheory.Polynomial.SmallDegreeVieta +public import Mathlib.RingTheory.Polynomial.Tower +public import Mathlib.RingTheory.Polynomial.UniqueFactorization +public import Mathlib.RingTheory.Polynomial.Vieta +public import Mathlib.RingTheory.Polynomial.Wronskian +public import Mathlib.RingTheory.PolynomialAlgebra +public import Mathlib.RingTheory.PolynomialLaw.Basic +public import Mathlib.RingTheory.PowerBasis +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.RingTheory.PowerSeries.Binomial +public import Mathlib.RingTheory.PowerSeries.CoeffMulMem +public import Mathlib.RingTheory.PowerSeries.Derivative +public import Mathlib.RingTheory.PowerSeries.Evaluation +public import Mathlib.RingTheory.PowerSeries.GaussNorm +public import Mathlib.RingTheory.PowerSeries.Inverse +public import Mathlib.RingTheory.PowerSeries.NoZeroDivisors +public import Mathlib.RingTheory.PowerSeries.Order +public import Mathlib.RingTheory.PowerSeries.PiTopology +public import Mathlib.RingTheory.PowerSeries.Restricted +public import Mathlib.RingTheory.PowerSeries.Substitution +public import Mathlib.RingTheory.PowerSeries.Trunc +public import Mathlib.RingTheory.PowerSeries.WeierstrassPreparation +public import Mathlib.RingTheory.PowerSeries.WellKnown +public import Mathlib.RingTheory.Presentation +public import Mathlib.RingTheory.Prime +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.RingTheory.PrincipalIdealDomainOfPrime +public import Mathlib.RingTheory.QuotSMulTop +public import Mathlib.RingTheory.Radical +public import Mathlib.RingTheory.ReesAlgebra +public import Mathlib.RingTheory.Regular.Category +public import Mathlib.RingTheory.Regular.Depth +public import Mathlib.RingTheory.Regular.Flat +public import Mathlib.RingTheory.Regular.IsSMulRegular +public import Mathlib.RingTheory.Regular.RegularSequence +public import Mathlib.RingTheory.RingHom.Bijective +public import Mathlib.RingTheory.RingHom.Etale +public import Mathlib.RingTheory.RingHom.FaithfullyFlat +public import Mathlib.RingTheory.RingHom.Finite +public import Mathlib.RingTheory.RingHom.FinitePresentation +public import Mathlib.RingTheory.RingHom.FiniteType +public import Mathlib.RingTheory.RingHom.Flat +public import Mathlib.RingTheory.RingHom.Injective +public import Mathlib.RingTheory.RingHom.Integral +public import Mathlib.RingTheory.RingHom.Locally +public import Mathlib.RingTheory.RingHom.OpenImmersion +public import Mathlib.RingTheory.RingHom.Smooth +public import Mathlib.RingTheory.RingHom.StandardSmooth +public import Mathlib.RingTheory.RingHom.Surjective +public import Mathlib.RingTheory.RingHom.Unramified +public import Mathlib.RingTheory.RingHomProperties +public import Mathlib.RingTheory.RingInvo +public import Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed +public import Mathlib.RingTheory.RootsOfUnity.Basic +public import Mathlib.RingTheory.RootsOfUnity.Complex +public import Mathlib.RingTheory.RootsOfUnity.CyclotomicUnits +public import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity +public import Mathlib.RingTheory.RootsOfUnity.Lemmas +public import Mathlib.RingTheory.RootsOfUnity.Minpoly +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.RingTheory.SimpleModule.Basic +public import Mathlib.RingTheory.SimpleModule.InjectiveProjective +public import Mathlib.RingTheory.SimpleModule.IsAlgClosed +public import Mathlib.RingTheory.SimpleModule.Isotypic +public import Mathlib.RingTheory.SimpleModule.Rank +public import Mathlib.RingTheory.SimpleModule.WedderburnArtin +public import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.RingTheory.SimpleRing.Congr +public import Mathlib.RingTheory.SimpleRing.Defs +public import Mathlib.RingTheory.SimpleRing.Field +public import Mathlib.RingTheory.SimpleRing.Matrix +public import Mathlib.RingTheory.SimpleRing.Principal +public import Mathlib.RingTheory.Smooth.Basic +public import Mathlib.RingTheory.Smooth.Kaehler +public import Mathlib.RingTheory.Smooth.Local +public import Mathlib.RingTheory.Smooth.Locus +public import Mathlib.RingTheory.Smooth.Pi +public import Mathlib.RingTheory.Smooth.StandardSmooth +public import Mathlib.RingTheory.Smooth.StandardSmoothCotangent +public import Mathlib.RingTheory.Spectrum.Maximal.Basic +public import Mathlib.RingTheory.Spectrum.Maximal.Defs +public import Mathlib.RingTheory.Spectrum.Maximal.Localization +public import Mathlib.RingTheory.Spectrum.Maximal.Topology +public import Mathlib.RingTheory.Spectrum.Prime.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Chevalley +public import Mathlib.RingTheory.Spectrum.Prime.ChevalleyComplexity +public import Mathlib.RingTheory.Spectrum.Prime.ConstructibleSet +public import Mathlib.RingTheory.Spectrum.Prime.Defs +public import Mathlib.RingTheory.Spectrum.Prime.FreeLocus +public import Mathlib.RingTheory.Spectrum.Prime.Homeomorph +public import Mathlib.RingTheory.Spectrum.Prime.IsOpenComapC +public import Mathlib.RingTheory.Spectrum.Prime.Jacobson +public import Mathlib.RingTheory.Spectrum.Prime.LTSeries +public import Mathlib.RingTheory.Spectrum.Prime.Module +public import Mathlib.RingTheory.Spectrum.Prime.Noetherian +public import Mathlib.RingTheory.Spectrum.Prime.Polynomial +public import Mathlib.RingTheory.Spectrum.Prime.RingHom +public import Mathlib.RingTheory.Spectrum.Prime.TensorProduct +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.Support +public import Mathlib.RingTheory.SurjectiveOnStalks +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.RingTheory.TensorProduct.DirectLimitFG +public import Mathlib.RingTheory.TensorProduct.Finite +public import Mathlib.RingTheory.TensorProduct.Free +public import Mathlib.RingTheory.TensorProduct.IsBaseChangePi +public import Mathlib.RingTheory.TensorProduct.MvPolynomial +public import Mathlib.RingTheory.TensorProduct.Nontrivial +public import Mathlib.RingTheory.TensorProduct.Pi +public import Mathlib.RingTheory.TensorProduct.Quotient +public import Mathlib.RingTheory.Trace.Basic +public import Mathlib.RingTheory.Trace.Defs +public import Mathlib.RingTheory.Trace.Quotient +public import Mathlib.RingTheory.TwoSidedIdeal.Basic +public import Mathlib.RingTheory.TwoSidedIdeal.BigOperators +public import Mathlib.RingTheory.TwoSidedIdeal.Instances +public import Mathlib.RingTheory.TwoSidedIdeal.Kernel +public import Mathlib.RingTheory.TwoSidedIdeal.Lattice +public import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.RingTheory.UniqueFactorizationDomain.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Defs +public import Mathlib.RingTheory.UniqueFactorizationDomain.FactorSet +public import Mathlib.RingTheory.UniqueFactorizationDomain.Finite +public import Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp +public import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid +public import Mathlib.RingTheory.UniqueFactorizationDomain.Ideal +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity +public import Mathlib.RingTheory.UniqueFactorizationDomain.Nat +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +public import Mathlib.RingTheory.Unramified.Basic +public import Mathlib.RingTheory.Unramified.Field +public import Mathlib.RingTheory.Unramified.Finite +public import Mathlib.RingTheory.Unramified.LocalRing +public import Mathlib.RingTheory.Unramified.Locus +public import Mathlib.RingTheory.Unramified.Pi +public import Mathlib.RingTheory.Valuation.AlgebraInstances +public import Mathlib.RingTheory.Valuation.Archimedean +public import Mathlib.RingTheory.Valuation.Basic +public import Mathlib.RingTheory.Valuation.Discrete.Basic +public import Mathlib.RingTheory.Valuation.DiscreteValuativeRel +public import Mathlib.RingTheory.Valuation.ExtendToLocalization +public import Mathlib.RingTheory.Valuation.Extension +public import Mathlib.RingTheory.Valuation.Integers +public import Mathlib.RingTheory.Valuation.Integral +public import Mathlib.RingTheory.Valuation.IntegrallyClosed +public import Mathlib.RingTheory.Valuation.LocalSubring +public import Mathlib.RingTheory.Valuation.Minpoly +public import Mathlib.RingTheory.Valuation.PrimeMultiplicity +public import Mathlib.RingTheory.Valuation.Quotient +public import Mathlib.RingTheory.Valuation.RamificationGroup +public import Mathlib.RingTheory.Valuation.RankOne +public import Mathlib.RingTheory.Valuation.ValExtension +public import Mathlib.RingTheory.Valuation.ValuationRing +public import Mathlib.RingTheory.Valuation.ValuationSubring +public import Mathlib.RingTheory.Valuation.ValuativeRel +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +public import Mathlib.RingTheory.Valuation.ValuativeRel.Trivial +public import Mathlib.RingTheory.WittVector.Basic +public import Mathlib.RingTheory.WittVector.Compare +public import Mathlib.RingTheory.WittVector.Complete +public import Mathlib.RingTheory.WittVector.Defs +public import Mathlib.RingTheory.WittVector.DiscreteValuationRing +public import Mathlib.RingTheory.WittVector.Domain +public import Mathlib.RingTheory.WittVector.Frobenius +public import Mathlib.RingTheory.WittVector.FrobeniusFractionField +public import Mathlib.RingTheory.WittVector.Identities +public import Mathlib.RingTheory.WittVector.InitTail +public import Mathlib.RingTheory.WittVector.IsPoly +public import Mathlib.RingTheory.WittVector.Isocrystal +public import Mathlib.RingTheory.WittVector.MulCoeff +public import Mathlib.RingTheory.WittVector.MulP +public import Mathlib.RingTheory.WittVector.StructurePolynomial +public import Mathlib.RingTheory.WittVector.Teichmuller +public import Mathlib.RingTheory.WittVector.Truncated +public import Mathlib.RingTheory.WittVector.Verschiebung +public import Mathlib.RingTheory.WittVector.WittPolynomial +public import Mathlib.RingTheory.ZMod +public import Mathlib.RingTheory.ZMod.Torsion +public import Mathlib.RingTheory.ZMod.UnitsCyclic +public import Mathlib.SetTheory.Cardinal.Aleph +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.SetTheory.Cardinal.Basic +public import Mathlib.SetTheory.Cardinal.Cofinality +public import Mathlib.SetTheory.Cardinal.Continuum +public import Mathlib.SetTheory.Cardinal.CountableCover +public import Mathlib.SetTheory.Cardinal.Defs +public import Mathlib.SetTheory.Cardinal.Divisibility +public import Mathlib.SetTheory.Cardinal.ENat +public import Mathlib.SetTheory.Cardinal.Embedding +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.SetTheory.Cardinal.Finsupp +public import Mathlib.SetTheory.Cardinal.Free +public import Mathlib.SetTheory.Cardinal.HasCardinalLT +public import Mathlib.SetTheory.Cardinal.NatCount +public import Mathlib.SetTheory.Cardinal.Order +public import Mathlib.SetTheory.Cardinal.Ordinal +public import Mathlib.SetTheory.Cardinal.Pigeonhole +public import Mathlib.SetTheory.Cardinal.Regular +public import Mathlib.SetTheory.Cardinal.SchroederBernstein +public import Mathlib.SetTheory.Cardinal.Subfield +public import Mathlib.SetTheory.Cardinal.ToNat +public import Mathlib.SetTheory.Cardinal.UnivLE +public import Mathlib.SetTheory.Descriptive.Tree +public import Mathlib.SetTheory.Game.Basic +public import Mathlib.SetTheory.Game.Birthday +public import Mathlib.SetTheory.Game.Domineering +public import Mathlib.SetTheory.Game.Impartial +public import Mathlib.SetTheory.Game.Nim +public import Mathlib.SetTheory.Game.Ordinal +public import Mathlib.SetTheory.Game.Short +public import Mathlib.SetTheory.Game.State +public import Mathlib.SetTheory.Lists +public import Mathlib.SetTheory.Nimber.Basic +public import Mathlib.SetTheory.Nimber.Field +public import Mathlib.SetTheory.Ordinal.Arithmetic +public import Mathlib.SetTheory.Ordinal.Basic +public import Mathlib.SetTheory.Ordinal.CantorNormalForm +public import Mathlib.SetTheory.Ordinal.Enum +public import Mathlib.SetTheory.Ordinal.Exponential +public import Mathlib.SetTheory.Ordinal.Family +public import Mathlib.SetTheory.Ordinal.FixedPoint +public import Mathlib.SetTheory.Ordinal.FixedPointApproximants +public import Mathlib.SetTheory.Ordinal.NaturalOps +public import Mathlib.SetTheory.Ordinal.Notation +public import Mathlib.SetTheory.Ordinal.Principal +public import Mathlib.SetTheory.Ordinal.Rank +public import Mathlib.SetTheory.Ordinal.Topology +public import Mathlib.SetTheory.Ordinal.Veblen +public import Mathlib.SetTheory.PGame.Algebra +public import Mathlib.SetTheory.PGame.Basic +public import Mathlib.SetTheory.PGame.Order +public import Mathlib.SetTheory.Surreal.Basic +public import Mathlib.SetTheory.Surreal.Dyadic +public import Mathlib.SetTheory.Surreal.Multiplication +public import Mathlib.SetTheory.ZFC.Basic +public import Mathlib.SetTheory.ZFC.Class +public import Mathlib.SetTheory.ZFC.Ordinal +public import Mathlib.SetTheory.ZFC.PSet +public import Mathlib.SetTheory.ZFC.Rank +public import Mathlib.SetTheory.ZFC.VonNeumann +public import Mathlib.Std.Data.HashMap +public import Mathlib.Tactic +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Algebraize +public import Mathlib.Tactic.ApplyAt +public import Mathlib.Tactic.ApplyCongr +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Tactic.ApplyWith +public import Mathlib.Tactic.ArithMult +public import Mathlib.Tactic.ArithMult.Init +public import Mathlib.Tactic.Attr.Core +public import Mathlib.Tactic.Attr.Register +public import Mathlib.Tactic.Basic +public import Mathlib.Tactic.Bound +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Tactic.Bound.Init +public import Mathlib.Tactic.ByContra +public import Mathlib.Tactic.CC +public import Mathlib.Tactic.CC.Addition +public import Mathlib.Tactic.CC.Datatypes +public import Mathlib.Tactic.CC.Lemmas +public import Mathlib.Tactic.CC.MkProof +public import Mathlib.Tactic.CancelDenoms +public import Mathlib.Tactic.CancelDenoms.Core +public import Mathlib.Tactic.Cases +public import Mathlib.Tactic.CasesM +public import Mathlib.Tactic.CategoryTheory.BicategoricalComp +public import Mathlib.Tactic.CategoryTheory.Bicategory.Basic +public import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes +public import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize +public import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence +public import Mathlib.Tactic.CategoryTheory.BicategoryCoherence +public import Mathlib.Tactic.CategoryTheory.CheckCompositions +public import Mathlib.Tactic.CategoryTheory.Coherence +public import Mathlib.Tactic.CategoryTheory.Coherence.Basic +public import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +public import Mathlib.Tactic.CategoryTheory.Coherence.Normalize +public import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.Tactic.CategoryTheory.IsoReassoc +public import Mathlib.Tactic.CategoryTheory.Monoidal.Basic +public import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes +public import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize +public import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence +public import Mathlib.Tactic.CategoryTheory.MonoidalComp +public import Mathlib.Tactic.CategoryTheory.Reassoc +public import Mathlib.Tactic.CategoryTheory.Slice +public import Mathlib.Tactic.CategoryTheory.ToApp +public import Mathlib.Tactic.Change +public import Mathlib.Tactic.Check +public import Mathlib.Tactic.Choose +public import Mathlib.Tactic.Clean +public import Mathlib.Tactic.ClearExcept +public import Mathlib.Tactic.ClearExclamation +public import Mathlib.Tactic.Clear_ +public import Mathlib.Tactic.Coe +public import Mathlib.Tactic.Common +public import Mathlib.Tactic.ComputeDegree +public import Mathlib.Tactic.CongrExclamation +public import Mathlib.Tactic.CongrM +public import Mathlib.Tactic.Constructor +public import Mathlib.Tactic.Continuity +public import Mathlib.Tactic.Continuity.Init +public import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Conv +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Core +public import Mathlib.Tactic.DeclarationNames +public import Mathlib.Tactic.DefEqTransformations +public import Mathlib.Tactic.DepRewrite +public import Mathlib.Tactic.DeprecateTo +public import Mathlib.Tactic.DeriveCountable +public import Mathlib.Tactic.DeriveEncodable +public import Mathlib.Tactic.DeriveFintype +public import Mathlib.Tactic.DeriveTraversable +public import Mathlib.Tactic.ENatToNat +public import Mathlib.Tactic.Eqns +public import Mathlib.Tactic.ErwQuestion +public import Mathlib.Tactic.Eval +public import Mathlib.Tactic.ExistsI +public import Mathlib.Tactic.Explode +public import Mathlib.Tactic.Explode.Datatypes +public import Mathlib.Tactic.Explode.Pretty +public import Mathlib.Tactic.ExtendDoc +public import Mathlib.Tactic.ExtractGoal +public import Mathlib.Tactic.ExtractLets +public import Mathlib.Tactic.FBinop +public import Mathlib.Tactic.FailIfNoProgress +public import Mathlib.Tactic.FastInstance +public import Mathlib.Tactic.Field +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.FieldSimp.Attr +public import Mathlib.Tactic.FieldSimp.Discharger +public import Mathlib.Tactic.FieldSimp.Lemmas +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.Find +public import Mathlib.Tactic.FindSyntax +public import Mathlib.Tactic.Finiteness +public import Mathlib.Tactic.Finiteness.Attr +public import Mathlib.Tactic.FunProp +public import Mathlib.Tactic.FunProp.Attr +public import Mathlib.Tactic.FunProp.ContDiff +public import Mathlib.Tactic.FunProp.Core +public import Mathlib.Tactic.FunProp.Decl +public import Mathlib.Tactic.FunProp.Differentiable +public import Mathlib.Tactic.FunProp.Elab +public import Mathlib.Tactic.FunProp.FunctionData +public import Mathlib.Tactic.FunProp.Mor +public import Mathlib.Tactic.FunProp.Theorems +public import Mathlib.Tactic.FunProp.ToBatteries +public import Mathlib.Tactic.FunProp.Types +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.GCongr.Core +public import Mathlib.Tactic.GCongr.CoreAttrs +public import Mathlib.Tactic.GCongr.ForwardAttr +public import Mathlib.Tactic.GRewrite +public import Mathlib.Tactic.GRewrite.Core +public import Mathlib.Tactic.GRewrite.Elab +public import Mathlib.Tactic.Generalize +public import Mathlib.Tactic.GeneralizeProofs +public import Mathlib.Tactic.Group +public import Mathlib.Tactic.GuardGoalNums +public import Mathlib.Tactic.GuardHypNums +public import Mathlib.Tactic.Have +public import Mathlib.Tactic.HaveI +public import Mathlib.Tactic.HigherOrder +public import Mathlib.Tactic.Hint +public import Mathlib.Tactic.ITauto +public import Mathlib.Tactic.InferParam +public import Mathlib.Tactic.Inhabit +public import Mathlib.Tactic.IntervalCases +public import Mathlib.Tactic.IrreducibleDef +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.LiftLets +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Linarith.Datatypes +public import Mathlib.Tactic.Linarith.Frontend +public import Mathlib.Tactic.Linarith.Lemmas +public import Mathlib.Tactic.Linarith.Oracle.FourierMotzkin +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm +public import Mathlib.Tactic.Linarith.Parsing +public import Mathlib.Tactic.Linarith.Preprocessing +public import Mathlib.Tactic.Linarith.Verification +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.LinearCombination' +public import Mathlib.Tactic.LinearCombination.Lemmas +public import Mathlib.Tactic.Linter +public import Mathlib.Tactic.Linter.CommandRanges +public import Mathlib.Tactic.Linter.CommandStart +public import Mathlib.Tactic.Linter.DeprecatedModule +public import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter +public import Mathlib.Tactic.Linter.DirectoryDependency +public import Mathlib.Tactic.Linter.DocPrime +public import Mathlib.Tactic.Linter.DocString +public import Mathlib.Tactic.Linter.FindDeprecations +public import Mathlib.Tactic.Linter.FlexibleLinter +public import Mathlib.Tactic.Linter.GlobalAttributeIn +public import Mathlib.Tactic.Linter.HashCommandLinter +public import Mathlib.Tactic.Linter.HaveLetLinter +public import Mathlib.Tactic.Linter.Header +public import Mathlib.Tactic.Linter.Lint +public import Mathlib.Tactic.Linter.MinImports +public import Mathlib.Tactic.Linter.Multigoal +public import Mathlib.Tactic.Linter.OldObtain +public import Mathlib.Tactic.Linter.PPRoundtrip +public import Mathlib.Tactic.Linter.Style +public import Mathlib.Tactic.Linter.TextBased +public import Mathlib.Tactic.Linter.UnusedTactic +public import Mathlib.Tactic.Linter.UnusedTacticExtension +public import Mathlib.Tactic.Linter.UpstreamableDecl +public import Mathlib.Tactic.Measurability +public import Mathlib.Tactic.Measurability.Init +public import Mathlib.Tactic.MinImports +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.ModCases +public import Mathlib.Tactic.Module +public import Mathlib.Tactic.Monotonicity +public import Mathlib.Tactic.Monotonicity.Attr +public import Mathlib.Tactic.Monotonicity.Basic +public import Mathlib.Tactic.Monotonicity.Lemmas +public import Mathlib.Tactic.MoveAdd +public import Mathlib.Tactic.NoncommRing +public import Mathlib.Tactic.Nontriviality +public import Mathlib.Tactic.Nontriviality.Core +public import Mathlib.Tactic.NormNum +public import Mathlib.Tactic.NormNum.Abs +public import Mathlib.Tactic.NormNum.Basic +public import Mathlib.Tactic.NormNum.BigOperators +public import Mathlib.Tactic.NormNum.Core +public import Mathlib.Tactic.NormNum.DivMod +public import Mathlib.Tactic.NormNum.Eq +public import Mathlib.Tactic.NormNum.GCD +public import Mathlib.Tactic.NormNum.Ineq +public import Mathlib.Tactic.NormNum.Inv +public import Mathlib.Tactic.NormNum.Irrational +public import Mathlib.Tactic.NormNum.IsCoprime +public import Mathlib.Tactic.NormNum.LegendreSymbol +public import Mathlib.Tactic.NormNum.ModEq +public import Mathlib.Tactic.NormNum.NatFactorial +public import Mathlib.Tactic.NormNum.NatFib +public import Mathlib.Tactic.NormNum.NatLog +public import Mathlib.Tactic.NormNum.NatSqrt +public import Mathlib.Tactic.NormNum.OfScientific +public import Mathlib.Tactic.NormNum.Ordinal +public import Mathlib.Tactic.NormNum.Parity +public import Mathlib.Tactic.NormNum.Pow +public import Mathlib.Tactic.NormNum.PowMod +public import Mathlib.Tactic.NormNum.Prime +public import Mathlib.Tactic.NormNum.RealSqrt +public import Mathlib.Tactic.NormNum.Result +public import Mathlib.Tactic.NthRewrite +public import Mathlib.Tactic.Observe +public import Mathlib.Tactic.OfNat +public import Mathlib.Tactic.Order +public import Mathlib.Tactic.Order.CollectFacts +public import Mathlib.Tactic.Order.Graph.Basic +public import Mathlib.Tactic.Order.Graph.Tarjan +public import Mathlib.Tactic.Order.Preprocessing +public import Mathlib.Tactic.PNatToNat +public import Mathlib.Tactic.PPWithUniv +public import Mathlib.Tactic.Peel +public import Mathlib.Tactic.Polyrith +public import Mathlib.Tactic.Positivity +public import Mathlib.Tactic.Positivity.Basic +public import Mathlib.Tactic.Positivity.Core +public import Mathlib.Tactic.Positivity.Finset +public import Mathlib.Tactic.ProdAssoc +public import Mathlib.Tactic.Propose +public import Mathlib.Tactic.ProxyType +public import Mathlib.Tactic.Push +public import Mathlib.Tactic.Push.Attr +public import Mathlib.Tactic.Qify +public import Mathlib.Tactic.RSuffices +public import Mathlib.Tactic.Recall +public import Mathlib.Tactic.Recover +public import Mathlib.Tactic.ReduceModChar +public import Mathlib.Tactic.ReduceModChar.Ext +public import Mathlib.Tactic.Relation.Rfl +public import Mathlib.Tactic.Relation.Symm +public import Mathlib.Tactic.Rename +public import Mathlib.Tactic.RenameBVar +public import Mathlib.Tactic.Replace +public import Mathlib.Tactic.RewriteSearch +public import Mathlib.Tactic.Rify +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Ring.Basic +public import Mathlib.Tactic.Ring.Compare +public import Mathlib.Tactic.Ring.NamePolyVars +public import Mathlib.Tactic.Ring.PNat +public import Mathlib.Tactic.Ring.RingNF +public import Mathlib.Tactic.Sat.FromLRAT +public import Mathlib.Tactic.Says +public import Mathlib.Tactic.ScopedNS +public import Mathlib.Tactic.Set +public import Mathlib.Tactic.SetLike +public import Mathlib.Tactic.SimpIntro +public import Mathlib.Tactic.SimpRw +public import Mathlib.Tactic.Simproc.Divisors +public import Mathlib.Tactic.Simproc.ExistsAndEq +public import Mathlib.Tactic.Simproc.Factors +public import Mathlib.Tactic.Simps.Basic +public import Mathlib.Tactic.Simps.NotationClass +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.Spread +public import Mathlib.Tactic.StacksAttribute +public import Mathlib.Tactic.Subsingleton +public import Mathlib.Tactic.Substs +public import Mathlib.Tactic.SuccessIfFailWithMsg +public import Mathlib.Tactic.SudoSetOption +public import Mathlib.Tactic.SuppressCompilation +public import Mathlib.Tactic.SwapVar +public import Mathlib.Tactic.TFAE +public import Mathlib.Tactic.TacticAnalysis +public import Mathlib.Tactic.TacticAnalysis.Declarations +public import Mathlib.Tactic.Tauto +public import Mathlib.Tactic.TautoSet +public import Mathlib.Tactic.TermCongr +public import Mathlib.Tactic.ToAdditive +public import Mathlib.Tactic.ToAdditive.Frontend +public import Mathlib.Tactic.ToAdditive.GuessName +public import Mathlib.Tactic.ToExpr +public import Mathlib.Tactic.ToLevel +public import Mathlib.Tactic.Trace +public import Mathlib.Tactic.TryThis +public import Mathlib.Tactic.TypeCheck +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.UnsetOption +public import Mathlib.Tactic.Use +public import Mathlib.Tactic.Variable +public import Mathlib.Tactic.WLOG +public import Mathlib.Tactic.Widget.Calc +public import Mathlib.Tactic.Widget.CommDiag +public import Mathlib.Tactic.Widget.CongrM +public import Mathlib.Tactic.Widget.Conv +public import Mathlib.Tactic.Widget.GCongr +public import Mathlib.Tactic.Widget.InteractiveUnfold +public import Mathlib.Tactic.Widget.LibraryRewrite +public import Mathlib.Tactic.Widget.SelectInsertParamsClass +public import Mathlib.Tactic.Widget.SelectPanelUtils +public import Mathlib.Tactic.Widget.StringDiagram +public import Mathlib.Tactic.WithoutCDot +public import Mathlib.Tactic.Zify +public import Mathlib.Testing.Plausible.Functions +public import Mathlib.Testing.Plausible.Sampleable +public import Mathlib.Testing.Plausible.Testable +public import Mathlib.Topology.AlexandrovDiscrete +public import Mathlib.Topology.Algebra.Affine +public import Mathlib.Topology.Algebra.AffineSubspace +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.Algebra.Algebra.Equiv +public import Mathlib.Topology.Algebra.Algebra.Rat +public import Mathlib.Topology.Algebra.AsymptoticCone +public import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic +public import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Limits +public import Mathlib.Topology.Algebra.ClopenNhdofOne +public import Mathlib.Topology.Algebra.ClosedSubgroup +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Algebra.Constructions +public import Mathlib.Topology.Algebra.Constructions.DomMulAct +public import Mathlib.Topology.Algebra.ContinuousAffineEquiv +public import Mathlib.Topology.Algebra.ContinuousAffineMap +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.Equicontinuity +public import Mathlib.Topology.Algebra.Field +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.Group.AddTorsor +public import Mathlib.Topology.Algebra.Group.Basic +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup +public import Mathlib.Topology.Algebra.Group.Compact +public import Mathlib.Topology.Algebra.Group.CompactOpen +public import Mathlib.Topology.Algebra.Group.Defs +public import Mathlib.Topology.Algebra.Group.GroupTopology +public import Mathlib.Topology.Algebra.Group.OpenMapping +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Topology.Algebra.Group.SubmonoidClosure +public import Mathlib.Topology.Algebra.Group.TopologicalAbelianization +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Algebra.Indicator +public import Mathlib.Topology.Algebra.InfiniteSum.Basic +public import Mathlib.Topology.Algebra.InfiniteSum.Constructions +public import Mathlib.Topology.Algebra.InfiniteSum.Defs +public import Mathlib.Topology.Algebra.InfiniteSum.ENNReal +public import Mathlib.Topology.Algebra.InfiniteSum.Field +public import Mathlib.Topology.Algebra.InfiniteSum.Group +public import Mathlib.Topology.Algebra.InfiniteSum.GroupCompletion +public import Mathlib.Topology.Algebra.InfiniteSum.Module +public import Mathlib.Topology.Algebra.InfiniteSum.NatInt +public import Mathlib.Topology.Algebra.InfiniteSum.Nonarchimedean +public import Mathlib.Topology.Algebra.InfiniteSum.Order +public import Mathlib.Topology.Algebra.InfiniteSum.Real +public import Mathlib.Topology.Algebra.InfiniteSum.Ring +public import Mathlib.Topology.Algebra.InfiniteSum.SummationFilter +public import Mathlib.Topology.Algebra.InfiniteSum.TsumUniformlyOn +public import Mathlib.Topology.Algebra.InfiniteSum.UniformOn +public import Mathlib.Topology.Algebra.IntermediateField +public import Mathlib.Topology.Algebra.IsOpenUnits +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.Algebra.IsUniformGroup.DiscreteSubgroup +public import Mathlib.Topology.Algebra.IsUniformGroup.Order +public import Mathlib.Topology.Algebra.LinearTopology +public import Mathlib.Topology.Algebra.Localization +public import Mathlib.Topology.Algebra.MetricSpace.Lipschitz +public import Mathlib.Topology.Algebra.Module.Alternating.Basic +public import Mathlib.Topology.Algebra.Module.Alternating.Topology +public import Mathlib.Topology.Algebra.Module.Basic +public import Mathlib.Topology.Algebra.Module.Cardinality +public import Mathlib.Topology.Algebra.Module.CharacterSpace +public import Mathlib.Topology.Algebra.Module.ClosedSubmodule +public import Mathlib.Topology.Algebra.Module.Compact +public import Mathlib.Topology.Algebra.Module.Determinant +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.Module.FiniteDimension +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd +public import Mathlib.Topology.Algebra.Module.LinearPMap +public import Mathlib.Topology.Algebra.Module.LocallyConvex +public import Mathlib.Topology.Algebra.Module.ModuleTopology +public import Mathlib.Topology.Algebra.Module.Multilinear.Basic +public import Mathlib.Topology.Algebra.Module.Multilinear.Bounded +public import Mathlib.Topology.Algebra.Module.Multilinear.Topology +public import Mathlib.Topology.Algebra.Module.PerfectPairing +public import Mathlib.Topology.Algebra.Module.PerfectSpace +public import Mathlib.Topology.Algebra.Module.Simple +public import Mathlib.Topology.Algebra.Module.Star +public import Mathlib.Topology.Algebra.Module.StrongDual +public import Mathlib.Topology.Algebra.Module.StrongTopology +public import Mathlib.Topology.Algebra.Module.UniformConvergence +public import Mathlib.Topology.Algebra.Module.WeakBilin +public import Mathlib.Topology.Algebra.Module.WeakDual +public import Mathlib.Topology.Algebra.Monoid +public import Mathlib.Topology.Algebra.Monoid.AddChar +public import Mathlib.Topology.Algebra.Monoid.Defs +public import Mathlib.Topology.Algebra.Monoid.FunOnFinite +public import Mathlib.Topology.Algebra.MulAction +public import Mathlib.Topology.Algebra.MvPolynomial +public import Mathlib.Topology.Algebra.NonUnitalAlgebra +public import Mathlib.Topology.Algebra.NonUnitalStarAlgebra +public import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology +public import Mathlib.Topology.Algebra.Nonarchimedean.Bases +public import Mathlib.Topology.Algebra.Nonarchimedean.Basic +public import Mathlib.Topology.Algebra.Nonarchimedean.Completion +public import Mathlib.Topology.Algebra.Nonarchimedean.TotallyDisconnected +public import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.Topology.Algebra.Order.Archimedean +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.Algebra.Order.Floor +public import Mathlib.Topology.Algebra.Order.Group +public import Mathlib.Topology.Algebra.Order.LiminfLimsup +public import Mathlib.Topology.Algebra.Order.Module +public import Mathlib.Topology.Algebra.Order.Support +public import Mathlib.Topology.Algebra.Order.UpperLower +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.Topology.Algebra.PontryaginDual +public import Mathlib.Topology.Algebra.ProperAction.AddTorsor +public import Mathlib.Topology.Algebra.ProperAction.Basic +public import Mathlib.Topology.Algebra.ProperAction.ProperlyDiscontinuous +public import Mathlib.Topology.Algebra.ProperConstSMul +public import Mathlib.Topology.Algebra.RestrictedProduct +public import Mathlib.Topology.Algebra.RestrictedProduct.Basic +public import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Algebra.Ring.Compact +public import Mathlib.Topology.Algebra.Ring.Ideal +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.Algebra.Semigroup +public import Mathlib.Topology.Algebra.SeparationQuotient.Basic +public import Mathlib.Topology.Algebra.SeparationQuotient.FiniteDimensional +public import Mathlib.Topology.Algebra.SeparationQuotient.Hom +public import Mathlib.Topology.Algebra.SeparationQuotient.Section +public import Mathlib.Topology.Algebra.Star +public import Mathlib.Topology.Algebra.Star.Real +public import Mathlib.Topology.Algebra.Star.Unitary +public import Mathlib.Topology.Algebra.StarSubalgebra +public import Mathlib.Topology.Algebra.Support +public import Mathlib.Topology.Algebra.TopologicallyNilpotent +public import Mathlib.Topology.Algebra.UniformConvergence +public import Mathlib.Topology.Algebra.UniformField +public import Mathlib.Topology.Algebra.UniformFilterBasis +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Topology.Algebra.UniformRing +public import Mathlib.Topology.Algebra.Valued.LocallyCompact +public import Mathlib.Topology.Algebra.Valued.NormedValued +public import Mathlib.Topology.Algebra.Valued.ValuationTopology +public import Mathlib.Topology.Algebra.Valued.ValuativeRel +public import Mathlib.Topology.Algebra.Valued.ValuedField +public import Mathlib.Topology.Algebra.Valued.WithVal +public import Mathlib.Topology.Algebra.Valued.WithZeroMulInt +public import Mathlib.Topology.Algebra.WithZeroTopology +public import Mathlib.Topology.ApproximateUnit +public import Mathlib.Topology.Baire.BaireMeasurable +public import Mathlib.Topology.Baire.CompleteMetrizable +public import Mathlib.Topology.Baire.Lemmas +public import Mathlib.Topology.Baire.LocallyCompactRegular +public import Mathlib.Topology.Bases +public import Mathlib.Topology.Basic +public import Mathlib.Topology.Bornology.Absorbs +public import Mathlib.Topology.Bornology.Basic +public import Mathlib.Topology.Bornology.BoundedOperation +public import Mathlib.Topology.Bornology.Constructions +public import Mathlib.Topology.Bornology.Hom +public import Mathlib.Topology.Bornology.Real +public import Mathlib.Topology.CWComplex.Abstract.Basic +public import Mathlib.Topology.CWComplex.Classical.Basic +public import Mathlib.Topology.CWComplex.Classical.Finite +public import Mathlib.Topology.CWComplex.Classical.Subcomplex +public import Mathlib.Topology.Category.Born +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Category.CompHaus.EffectiveEpi +public import Mathlib.Topology.Category.CompHaus.Frm +public import Mathlib.Topology.Category.CompHaus.Limits +public import Mathlib.Topology.Category.CompHaus.Projective +public import Mathlib.Topology.Category.CompHausLike.Basic +public import Mathlib.Topology.Category.CompHausLike.EffectiveEpi +public import Mathlib.Topology.Category.CompHausLike.Limits +public import Mathlib.Topology.Category.CompHausLike.SigmaComparison +public import Mathlib.Topology.Category.CompactlyGenerated +public import Mathlib.Topology.Category.Compactum +public import Mathlib.Topology.Category.DeltaGenerated +public import Mathlib.Topology.Category.FinTopCat +public import Mathlib.Topology.Category.LightProfinite.AsLimit +public import Mathlib.Topology.Category.LightProfinite.Basic +public import Mathlib.Topology.Category.LightProfinite.EffectiveEpi +public import Mathlib.Topology.Category.LightProfinite.Extend +public import Mathlib.Topology.Category.LightProfinite.Limits +public import Mathlib.Topology.Category.LightProfinite.Sequence +public import Mathlib.Topology.Category.Locale +public import Mathlib.Topology.Category.Profinite.AsLimit +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.Category.Profinite.CofilteredLimit +public import Mathlib.Topology.Category.Profinite.EffectiveEpi +public import Mathlib.Topology.Category.Profinite.Extend +public import Mathlib.Topology.Category.Profinite.Limits +public import Mathlib.Topology.Category.Profinite.Nobeling +public import Mathlib.Topology.Category.Profinite.Nobeling.Basic +public import Mathlib.Topology.Category.Profinite.Nobeling.Induction +public import Mathlib.Topology.Category.Profinite.Nobeling.Span +public import Mathlib.Topology.Category.Profinite.Nobeling.Successor +public import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit +public import Mathlib.Topology.Category.Profinite.Product +public import Mathlib.Topology.Category.Profinite.Projective +public import Mathlib.Topology.Category.Sequential +public import Mathlib.Topology.Category.Stonean.Adjunctions +public import Mathlib.Topology.Category.Stonean.Basic +public import Mathlib.Topology.Category.Stonean.EffectiveEpi +public import Mathlib.Topology.Category.Stonean.Limits +public import Mathlib.Topology.Category.TopCat.Adjunctions +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Category.TopCat.EffectiveEpi +public import Mathlib.Topology.Category.TopCat.EpiMono +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.Topology.Category.TopCat.Limits.Cofiltered +public import Mathlib.Topology.Category.TopCat.Limits.Konig +public import Mathlib.Topology.Category.TopCat.Limits.Products +public import Mathlib.Topology.Category.TopCat.Limits.Pullbacks +public import Mathlib.Topology.Category.TopCat.OpenNhds +public import Mathlib.Topology.Category.TopCat.Opens +public import Mathlib.Topology.Category.TopCat.Sphere +public import Mathlib.Topology.Category.TopCat.ULift +public import Mathlib.Topology.Category.TopCat.Yoneda +public import Mathlib.Topology.Category.TopCommRingCat +public import Mathlib.Topology.Category.UniformSpace +public import Mathlib.Topology.Clopen +public import Mathlib.Topology.ClopenBox +public import Mathlib.Topology.Closure +public import Mathlib.Topology.ClusterPt +public import Mathlib.Topology.Coherent +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Compactification.OnePoint +public import Mathlib.Topology.Compactification.OnePoint.Basic +public import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine +public import Mathlib.Topology.Compactification.OnePoint.Sphere +public import Mathlib.Topology.Compactification.OnePointEquiv +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.Topology.Compactness.Bases +public import Mathlib.Topology.Compactness.Compact +public import Mathlib.Topology.Compactness.CompactlyCoherentSpace +public import Mathlib.Topology.Compactness.CompactlyGeneratedSpace +public import Mathlib.Topology.Compactness.DeltaGeneratedSpace +public import Mathlib.Topology.Compactness.Exterior +public import Mathlib.Topology.Compactness.HilbertCubeEmbedding +public import Mathlib.Topology.Compactness.Lindelof +public import Mathlib.Topology.Compactness.LocallyCompact +public import Mathlib.Topology.Compactness.LocallyFinite +public import Mathlib.Topology.Compactness.NhdsKer +public import Mathlib.Topology.Compactness.Paracompact +public import Mathlib.Topology.Compactness.PseudometrizableLindelof +public import Mathlib.Topology.Compactness.SigmaCompact +public import Mathlib.Topology.Connected.Basic +public import Mathlib.Topology.Connected.Clopen +public import Mathlib.Topology.Connected.LocPathConnected +public import Mathlib.Topology.Connected.LocallyConnected +public import Mathlib.Topology.Connected.PathComponentOne +public import Mathlib.Topology.Connected.PathConnected +public import Mathlib.Topology.Connected.Separation +public import Mathlib.Topology.Connected.TotallyDisconnected +public import Mathlib.Topology.Constructible +public import Mathlib.Topology.Constructions +public import Mathlib.Topology.Constructions.SumProd +public import Mathlib.Topology.Continuous +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.ArzelaAscoli +public import Mathlib.Topology.ContinuousMap.Bounded.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.ContinuousMap.Bounded.Star +public import Mathlib.Topology.ContinuousMap.BoundedCompactlySupported +public import Mathlib.Topology.ContinuousMap.CocompactMap +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.ContinuousMap.CompactlySupported +public import Mathlib.Topology.ContinuousMap.ContinuousMapZero +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt +public import Mathlib.Topology.ContinuousMap.Defs +public import Mathlib.Topology.ContinuousMap.Ideals +public import Mathlib.Topology.ContinuousMap.Interval +public import Mathlib.Topology.ContinuousMap.Lattice +public import Mathlib.Topology.ContinuousMap.LocallyConstant +public import Mathlib.Topology.ContinuousMap.LocallyConvex +public import Mathlib.Topology.ContinuousMap.Ordered +public import Mathlib.Topology.ContinuousMap.Periodic +public import Mathlib.Topology.ContinuousMap.Polynomial +public import Mathlib.Topology.ContinuousMap.SecondCountableSpace +public import Mathlib.Topology.ContinuousMap.Sigma +public import Mathlib.Topology.ContinuousMap.Star +public import Mathlib.Topology.ContinuousMap.StarOrdered +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass +public import Mathlib.Topology.ContinuousMap.T0Sierpinski +public import Mathlib.Topology.ContinuousMap.Units +public import Mathlib.Topology.ContinuousMap.Weierstrass +public import Mathlib.Topology.ContinuousMap.ZeroAtInfty +public import Mathlib.Topology.ContinuousOn +public import Mathlib.Topology.Covering +public import Mathlib.Topology.Defs.Basic +public import Mathlib.Topology.Defs.Filter +public import Mathlib.Topology.Defs.Induced +public import Mathlib.Topology.Defs.Sequences +public import Mathlib.Topology.Defs.Ultrafilter +public import Mathlib.Topology.DenseEmbedding +public import Mathlib.Topology.DerivedSet +public import Mathlib.Topology.DiscreteQuotient +public import Mathlib.Topology.DiscreteSubset +public import Mathlib.Topology.EMetricSpace.Basic +public import Mathlib.Topology.EMetricSpace.BoundedVariation +public import Mathlib.Topology.EMetricSpace.Defs +public import Mathlib.Topology.EMetricSpace.Diam +public import Mathlib.Topology.EMetricSpace.Lipschitz +public import Mathlib.Topology.EMetricSpace.PairReduction +public import Mathlib.Topology.EMetricSpace.Paracompact +public import Mathlib.Topology.EMetricSpace.Pi +public import Mathlib.Topology.ExtendFrom +public import Mathlib.Topology.Exterior +public import Mathlib.Topology.ExtremallyDisconnected +public import Mathlib.Topology.FiberBundle.Basic +public import Mathlib.Topology.FiberBundle.Constructions +public import Mathlib.Topology.FiberBundle.IsHomeomorphicTrivialBundle +public import Mathlib.Topology.FiberBundle.Trivialization +public import Mathlib.Topology.FiberPartition +public import Mathlib.Topology.Filter +public import Mathlib.Topology.GDelta.Basic +public import Mathlib.Topology.GDelta.MetrizableSpace +public import Mathlib.Topology.GDelta.UniformSpace +public import Mathlib.Topology.Germ +public import Mathlib.Topology.Gluing +public import Mathlib.Topology.Hom.ContinuousEval +public import Mathlib.Topology.Hom.ContinuousEvalConst +public import Mathlib.Topology.Hom.Open +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Homotopy.Affine +public import Mathlib.Topology.Homotopy.Basic +public import Mathlib.Topology.Homotopy.Contractible +public import Mathlib.Topology.Homotopy.Equiv +public import Mathlib.Topology.Homotopy.HSpaces +public import Mathlib.Topology.Homotopy.HomotopyGroup +public import Mathlib.Topology.Homotopy.Lifting +public import Mathlib.Topology.Homotopy.Path +public import Mathlib.Topology.Homotopy.Product +public import Mathlib.Topology.IndicatorConstPointwise +public import Mathlib.Topology.Inseparable +public import Mathlib.Topology.Instances.AddCircle.Defs +public import Mathlib.Topology.Instances.AddCircle.DenseSubgroup +public import Mathlib.Topology.Instances.AddCircle.Real +public import Mathlib.Topology.Instances.CantorSet +public import Mathlib.Topology.Instances.Complex +public import Mathlib.Topology.Instances.Discrete +public import Mathlib.Topology.Instances.ENNReal.Lemmas +public import Mathlib.Topology.Instances.ENat +public import Mathlib.Topology.Instances.EReal.Lemmas +public import Mathlib.Topology.Instances.Int +public import Mathlib.Topology.Instances.Irrational +public import Mathlib.Topology.Instances.Matrix +public import Mathlib.Topology.Instances.NNReal.Lemmas +public import Mathlib.Topology.Instances.Nat +public import Mathlib.Topology.Instances.PNat +public import Mathlib.Topology.Instances.Rat +public import Mathlib.Topology.Instances.RatLemmas +public import Mathlib.Topology.Instances.Real.Lemmas +public import Mathlib.Topology.Instances.RealVectorSpace +public import Mathlib.Topology.Instances.Shrink +public import Mathlib.Topology.Instances.Sign +public import Mathlib.Topology.Instances.TrivSqZeroExt +public import Mathlib.Topology.Instances.ZMod +public import Mathlib.Topology.Instances.ZMultiples +public import Mathlib.Topology.Irreducible +public import Mathlib.Topology.IsClosedRestrict +public import Mathlib.Topology.IsLocalHomeomorph +public import Mathlib.Topology.JacobsonSpace +public import Mathlib.Topology.KrullDimension +public import Mathlib.Topology.List +public import Mathlib.Topology.LocalAtTarget +public import Mathlib.Topology.LocallyClosed +public import Mathlib.Topology.LocallyConstant.Algebra +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.Topology.LocallyFinite +public import Mathlib.Topology.LocallyFinsupp +public import Mathlib.Topology.Maps.Basic +public import Mathlib.Topology.Maps.OpenQuotient +public import Mathlib.Topology.Maps.Proper.Basic +public import Mathlib.Topology.Maps.Proper.CompactlyGenerated +public import Mathlib.Topology.Maps.Proper.UniversallyClosed +public import Mathlib.Topology.MetricSpace.Algebra +public import Mathlib.Topology.MetricSpace.Antilipschitz +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.MetricSpace.Bilipschitz +public import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Topology.MetricSpace.BundledFun +public import Mathlib.Topology.MetricSpace.CantorScheme +public import Mathlib.Topology.MetricSpace.CauSeqFilter +public import Mathlib.Topology.MetricSpace.Cauchy +public import Mathlib.Topology.MetricSpace.Closeds +public import Mathlib.Topology.MetricSpace.Completion +public import Mathlib.Topology.MetricSpace.Congruence +public import Mathlib.Topology.MetricSpace.Contracting +public import Mathlib.Topology.MetricSpace.Defs +public import Mathlib.Topology.MetricSpace.Dilation +public import Mathlib.Topology.MetricSpace.DilationEquiv +public import Mathlib.Topology.MetricSpace.Equicontinuity +public import Mathlib.Topology.MetricSpace.Gluing +public import Mathlib.Topology.MetricSpace.GromovHausdorff +public import Mathlib.Topology.MetricSpace.GromovHausdorffRealized +public import Mathlib.Topology.MetricSpace.HausdorffDimension +public import Mathlib.Topology.MetricSpace.HausdorffDistance +public import Mathlib.Topology.MetricSpace.Holder +public import Mathlib.Topology.MetricSpace.HolderNorm +public import Mathlib.Topology.MetricSpace.Infsep +public import Mathlib.Topology.MetricSpace.IsometricSMul +public import Mathlib.Topology.MetricSpace.Isometry +public import Mathlib.Topology.MetricSpace.Kuratowski +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Topology.MetricSpace.MetricSeparated +public import Mathlib.Topology.MetricSpace.PartitionOfUnity +public import Mathlib.Topology.MetricSpace.Perfect +public import Mathlib.Topology.MetricSpace.PiNat +public import Mathlib.Topology.MetricSpace.Polish +public import Mathlib.Topology.MetricSpace.ProperSpace +public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas +public import Mathlib.Topology.MetricSpace.ProperSpace.Real +public import Mathlib.Topology.MetricSpace.Pseudo.Basic +public import Mathlib.Topology.MetricSpace.Pseudo.Constructions +public import Mathlib.Topology.MetricSpace.Pseudo.Defs +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +public import Mathlib.Topology.MetricSpace.Pseudo.Pi +public import Mathlib.Topology.MetricSpace.Pseudo.Real +public import Mathlib.Topology.MetricSpace.Sequences +public import Mathlib.Topology.MetricSpace.ShrinkingLemma +public import Mathlib.Topology.MetricSpace.Similarity +public import Mathlib.Topology.MetricSpace.ThickenedIndicator +public import Mathlib.Topology.MetricSpace.Thickening +public import Mathlib.Topology.MetricSpace.Ultra.Basic +public import Mathlib.Topology.MetricSpace.Ultra.ContinuousMaps +public import Mathlib.Topology.MetricSpace.Ultra.Pi +public import Mathlib.Topology.MetricSpace.Ultra.TotallySeparated +public import Mathlib.Topology.MetricSpace.UniformConvergence +public import Mathlib.Topology.Metrizable.Basic +public import Mathlib.Topology.Metrizable.CompletelyMetrizable +public import Mathlib.Topology.Metrizable.ContinuousMap +public import Mathlib.Topology.Metrizable.Real +public import Mathlib.Topology.Metrizable.Uniformity +public import Mathlib.Topology.Metrizable.Urysohn +public import Mathlib.Topology.Neighborhoods +public import Mathlib.Topology.NhdsKer +public import Mathlib.Topology.NhdsSet +public import Mathlib.Topology.NoetherianSpace +public import Mathlib.Topology.OmegaCompletePartialOrder +public import Mathlib.Topology.OpenPartialHomeomorph +public import Mathlib.Topology.Order +public import Mathlib.Topology.Order.Basic +public import Mathlib.Topology.Order.Bornology +public import Mathlib.Topology.Order.Category.AlexDisc +public import Mathlib.Topology.Order.Category.FrameAdjunction +public import Mathlib.Topology.Order.Compact +public import Mathlib.Topology.Order.CountableSeparating +public import Mathlib.Topology.Order.DenselyOrdered +public import Mathlib.Topology.Order.ExtendFrom +public import Mathlib.Topology.Order.ExtrClosure +public import Mathlib.Topology.Order.Filter +public import Mathlib.Topology.Order.Hom.Basic +public import Mathlib.Topology.Order.Hom.Esakia +public import Mathlib.Topology.Order.HullKernel +public import Mathlib.Topology.Order.IntermediateValue +public import Mathlib.Topology.Order.IsLUB +public import Mathlib.Topology.Order.IsLocallyClosed +public import Mathlib.Topology.Order.IsNormal +public import Mathlib.Topology.Order.Lattice +public import Mathlib.Topology.Order.LawsonTopology +public import Mathlib.Topology.Order.LeftRight +public import Mathlib.Topology.Order.LeftRightLim +public import Mathlib.Topology.Order.LeftRightNhds +public import Mathlib.Topology.Order.LiminfLimsup +public import Mathlib.Topology.Order.LocalExtr +public import Mathlib.Topology.Order.LowerUpperTopology +public import Mathlib.Topology.Order.Monotone +public import Mathlib.Topology.Order.MonotoneContinuity +public import Mathlib.Topology.Order.MonotoneConvergence +public import Mathlib.Topology.Order.NhdsSet +public import Mathlib.Topology.Order.OrderClosed +public import Mathlib.Topology.Order.OrderClosedExtr +public import Mathlib.Topology.Order.PartialSups +public import Mathlib.Topology.Order.Priestley +public import Mathlib.Topology.Order.ProjIcc +public import Mathlib.Topology.Order.Real +public import Mathlib.Topology.Order.Rolle +public import Mathlib.Topology.Order.ScottTopology +public import Mathlib.Topology.Order.T5 +public import Mathlib.Topology.Order.UpperLowerSetTopology +public import Mathlib.Topology.Order.WithTop +public import Mathlib.Topology.Partial +public import Mathlib.Topology.PartialHomeomorph +public import Mathlib.Topology.PartitionOfUnity +public import Mathlib.Topology.Path +public import Mathlib.Topology.Perfect +public import Mathlib.Topology.Piecewise +public import Mathlib.Topology.PreorderRestrict +public import Mathlib.Topology.QuasiSeparated +public import Mathlib.Topology.Semicontinuous +public import Mathlib.Topology.SeparatedMap +public import Mathlib.Topology.Separation.AlexandrovDiscrete +public import Mathlib.Topology.Separation.Basic +public import Mathlib.Topology.Separation.CompletelyRegular +public import Mathlib.Topology.Separation.Connected +public import Mathlib.Topology.Separation.CountableSeparatingOn +public import Mathlib.Topology.Separation.DisjointCover +public import Mathlib.Topology.Separation.GDelta +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.Separation.Lemmas +public import Mathlib.Topology.Separation.LinearUpperLowerSetTopology +public import Mathlib.Topology.Separation.NotNormal +public import Mathlib.Topology.Separation.Profinite +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.Separation.SeparatedNhds +public import Mathlib.Topology.Sequences +public import Mathlib.Topology.Sets.Closeds +public import Mathlib.Topology.Sets.CompactOpenCovered +public import Mathlib.Topology.Sets.Compacts +public import Mathlib.Topology.Sets.OpenCover +public import Mathlib.Topology.Sets.Opens +public import Mathlib.Topology.Sets.Order +public import Mathlib.Topology.Sheaves.Alexandrov +public import Mathlib.Topology.Sheaves.CommRingCat +public import Mathlib.Topology.Sheaves.Forget +public import Mathlib.Topology.Sheaves.Functors +public import Mathlib.Topology.Sheaves.Init +public import Mathlib.Topology.Sheaves.Limits +public import Mathlib.Topology.Sheaves.LocalPredicate +public import Mathlib.Topology.Sheaves.LocallySurjective +public import Mathlib.Topology.Sheaves.MayerVietoris +public import Mathlib.Topology.Sheaves.PUnit +public import Mathlib.Topology.Sheaves.Presheaf +public import Mathlib.Topology.Sheaves.PresheafOfFunctions +public import Mathlib.Topology.Sheaves.Sheaf +public import Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts +public import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover +public import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections +public import Mathlib.Topology.Sheaves.SheafCondition.Sites +public import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing +public import Mathlib.Topology.Sheaves.SheafOfFunctions +public import Mathlib.Topology.Sheaves.Sheafify +public import Mathlib.Topology.Sheaves.Skyscraper +public import Mathlib.Topology.Sheaves.Stalks +public import Mathlib.Topology.ShrinkingLemma +public import Mathlib.Topology.Sober +public import Mathlib.Topology.Specialization +public import Mathlib.Topology.Spectral.Basic +public import Mathlib.Topology.Spectral.Hom +public import Mathlib.Topology.Spectral.Prespectral +public import Mathlib.Topology.StoneCech +public import Mathlib.Topology.TietzeExtension +public import Mathlib.Topology.Ultrafilter +public import Mathlib.Topology.UniformSpace.AbsoluteValue +public import Mathlib.Topology.UniformSpace.AbstractCompletion +public import Mathlib.Topology.UniformSpace.Ascoli +public import Mathlib.Topology.UniformSpace.Basic +public import Mathlib.Topology.UniformSpace.Cauchy +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.UniformSpace.CompactConvergence +public import Mathlib.Topology.UniformSpace.CompareReals +public import Mathlib.Topology.UniformSpace.CompleteSeparated +public import Mathlib.Topology.UniformSpace.Completion +public import Mathlib.Topology.UniformSpace.Defs +public import Mathlib.Topology.UniformSpace.Dini +public import Mathlib.Topology.UniformSpace.DiscreteUniformity +public import Mathlib.Topology.UniformSpace.Equicontinuity +public import Mathlib.Topology.UniformSpace.Equiv +public import Mathlib.Topology.UniformSpace.HeineCantor +public import Mathlib.Topology.UniformSpace.LocallyUniformConvergence +public import Mathlib.Topology.UniformSpace.Matrix +public import Mathlib.Topology.UniformSpace.OfCompactT2 +public import Mathlib.Topology.UniformSpace.OfFun +public import Mathlib.Topology.UniformSpace.Path +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.UniformSpace.ProdApproximation +public import Mathlib.Topology.UniformSpace.Real +public import Mathlib.Topology.UniformSpace.Separation +public import Mathlib.Topology.UniformSpace.Ultra.Basic +public import Mathlib.Topology.UniformSpace.Ultra.Completion +public import Mathlib.Topology.UniformSpace.Ultra.Constructions +public import Mathlib.Topology.UniformSpace.UniformApproximation +public import Mathlib.Topology.UniformSpace.UniformConvergence +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +public import Mathlib.Topology.UniformSpace.UniformEmbedding +public import Mathlib.Topology.UnitInterval +public import Mathlib.Topology.UrysohnsBounded +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.VectorBundle.Basic +public import Mathlib.Topology.VectorBundle.Constructions +public import Mathlib.Topology.VectorBundle.Hom +public import Mathlib.Topology.VectorBundle.Riemannian +public import Mathlib.Util.AddRelatedDecl +public import Mathlib.Util.AssertExists +public import Mathlib.Util.AssertExistsExt +public import Mathlib.Util.AssertNoSorry +public import Mathlib.Util.AtLocation +public import Mathlib.Util.AtomM +public import Mathlib.Util.AtomM.Recurse +public import Mathlib.Util.CompileInductive +public import Mathlib.Util.CountHeartbeats +public import Mathlib.Util.Delaborators +public import Mathlib.Util.DischargerAsTactic +public import Mathlib.Util.ElabWithoutMVars +public import Mathlib.Util.Export +public import Mathlib.Util.FormatTable +public import Mathlib.Util.GetAllModules +public import Mathlib.Util.LongNames +public import Mathlib.Util.MemoFix +public import Mathlib.Util.Notation3 +public import Mathlib.Util.PPOptions +public import Mathlib.Util.ParseCommand +public import Mathlib.Util.PrintSorries +public import Mathlib.Util.Qq +public import Mathlib.Util.Simp +public import Mathlib.Util.SleepHeartbeats +public import Mathlib.Util.Superscript +public import Mathlib.Util.SynthesizeUsing +public import Mathlib.Util.Tactic +public import Mathlib.Util.TermReduce +public import Mathlib.Util.TransImports +public import Mathlib.Util.WhatsNew +public import Mathlib.Util.WithWeakNamespace diff --git a/Mathlib/Algebra/AddConstMap/Basic.lean b/Mathlib/Algebra/AddConstMap/Basic.lean index 3c938b82d62f0d..e65e4f25b9c2ca 100644 --- a/Mathlib/Algebra/AddConstMap/Basic.lean +++ b/Mathlib/Algebra/AddConstMap/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.Order.Archimedean.Basic +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.Order.Archimedean.Basic /-! # Maps (semi)conjugating a shift to a shift @@ -26,6 +28,8 @@ We use parameters `a` and `b` instead of `1` to accommodate for two use cases: including orientation-reversing maps. -/ +@[expose] public section + assert_not_exists Finset open Function Set diff --git a/Mathlib/Algebra/AddConstMap/Equiv.lean b/Mathlib/Algebra/AddConstMap/Equiv.lean index 98c8d192cd6d12..cb710dcb956f05 100644 --- a/Mathlib/Algebra/AddConstMap/Equiv.lean +++ b/Mathlib/Algebra/AddConstMap/Equiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.AddConstMap.Basic +module + +public import Mathlib.Algebra.AddConstMap.Basic /-! # Equivalences conjugating `(· + a)` to `(· + b)` @@ -14,6 +16,8 @@ to be the type of equivalences such that `∀ x, f (x + a) = f x + b`. We also define the corresponding typeclass and prove some basic properties. -/ +@[expose] public section + assert_not_exists Finset open Function diff --git a/Mathlib/Algebra/AddTorsor/Basic.lean b/Mathlib/Algebra/AddTorsor/Basic.lean index e0f82122ba9445..877cc7784d0645 100644 --- a/Mathlib/Algebra/AddTorsor/Basic.lean +++ b/Mathlib/Algebra/AddTorsor/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Yury Kudryashov -/ -import Mathlib.Algebra.AddTorsor.Defs -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Group.Pointwise.Set.Scalar +module + +public import Mathlib.Algebra.AddTorsor.Defs +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar /-! # Torsors of additive group actions @@ -16,6 +18,8 @@ Further results for torsors, that are not in `Mathlib/Algebra/AddTorsor/Defs.lea increasing imports there. -/ +@[expose] public section + open scoped Pointwise diff --git a/Mathlib/Algebra/AddTorsor/Defs.lean b/Mathlib/Algebra/AddTorsor/Defs.lean index 08d2b005a90d92..c086e0aa0324a5 100644 --- a/Mathlib/Algebra/AddTorsor/Defs.lean +++ b/Mathlib/Algebra/AddTorsor/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs +module + +public import Mathlib.Algebra.Group.Action.Defs /-! # Torsors of additive group actions @@ -37,6 +39,8 @@ multiplicative group actions). -/ +@[expose] public section + assert_not_exists MonoidWithZero /-- An `AddTorsor G P` gives a structure to the nonempty type `P`, diff --git a/Mathlib/Algebra/Algebra/Basic.lean b/Mathlib/Algebra/Algebra/Basic.lean index 9841d985dfd433..b19673d6c83e62 100644 --- a/Mathlib/Algebra/Algebra/Basic.lean +++ b/Mathlib/Algebra/Algebra/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.Submodule.Ker -import Mathlib.Algebra.Module.Submodule.RestrictScalars -import Mathlib.Algebra.Module.ULift -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Int.CharZero +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.Submodule.Ker +public import Mathlib.Algebra.Module.Submodule.RestrictScalars +public import Mathlib.Algebra.Module.ULift +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Int.CharZero /-! # Further basic results about `Algebra`. @@ -19,6 +21,8 @@ import Mathlib.Data.Int.CharZero This file could usefully be split further. -/ +@[expose] public section + universe u v w u₁ v₁ open Function diff --git a/Mathlib/Algebra/Algebra/Bilinear.lean b/Mathlib/Algebra/Algebra/Bilinear.lean index 87a740540caba0..7aa1e867160abc 100644 --- a/Mathlib/Algebra/Algebra/Bilinear.lean +++ b/Mathlib/Algebra/Algebra/Bilinear.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.LinearAlgebra.TensorProduct.Basic +module + +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.LinearAlgebra.TensorProduct.Basic /-! # Facts about algebras involving bilinear maps and tensor products @@ -14,6 +16,8 @@ in order to avoid importing `LinearAlgebra.BilinearMap` and `LinearAlgebra.TensorProduct` unnecessarily. -/ +@[expose] public section + open TensorProduct Module namespace LinearMap diff --git a/Mathlib/Algebra/Algebra/Defs.lean b/Mathlib/Algebra/Algebra/Defs.lean index 5c372113c33e15..92de63cf232c7b 100644 --- a/Mathlib/Algebra/Algebra/Defs.lean +++ b/Mathlib/Algebra/Algebra/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Module.LinearMap.Defs +module + +public import Mathlib.Algebra.Module.LinearMap.Defs /-! # Algebras over commutative semirings @@ -80,6 +82,8 @@ the second approach only when you need to weaken a condition on either `R` or `A -/ +@[expose] public section + assert_not_exists Field Finset Module.End universe u v w u₁ v₁ diff --git a/Mathlib/Algebra/Algebra/Equiv.lean b/Mathlib/Algebra/Algebra/Equiv.lean index c6e0e8535a8c90..8456c19b9211e0 100644 --- a/Mathlib/Algebra/Algebra/Equiv.lean +++ b/Mathlib/Algebra/Algebra/Equiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Algebra.Ring.Action.Group +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Algebra.Ring.Action.Group /-! # Isomorphisms of `R`-algebras @@ -20,6 +22,8 @@ This file defines bundled isomorphisms of `R`-algebras. * `A ≃ₐ[R] B` : `R`-algebra equivalence from `A` to `B`. -/ +@[expose] public section + universe u v w u₁ v₁ /-- An equivalence of algebras (denoted as `A ≃ₐ[R] B`) diff --git a/Mathlib/Algebra/Algebra/Field.lean b/Mathlib/Algebra/Algebra/Field.lean index 1c540cb5d3cc8f..e9805af928ac14 100644 --- a/Mathlib/Algebra/Algebra/Field.lean +++ b/Mathlib/Algebra/Algebra/Field.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Data.Rat.Cast.Defs +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Data.Rat.Cast.Defs /-! # Facts about `algebraMap` when the coefficient ring is a field. -/ +@[expose] public section + namespace algebraMap universe u v w u₁ v₁ diff --git a/Mathlib/Algebra/Algebra/Hom.lean b/Mathlib/Algebra/Algebra/Hom.lean index 532d6790ae1a06..d33539624746df 100644 --- a/Mathlib/Algebra/Algebra/Hom.lean +++ b/Mathlib/Algebra/Algebra/Hom.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Basic +module + +public import Mathlib.Algebra.Algebra.Basic /-! # Homomorphisms of `R`-algebras @@ -20,6 +22,8 @@ This file defines bundled homomorphisms of `R`-algebras. * `A →ₐ[R] B` : `R`-algebra homomorphism from `A` to `B`. -/ +@[expose] public section + universe u v w u₁ v₁ /-- Defining the homomorphism in the category R-Alg, denoted `A →ₐ[R] B`. -/ diff --git a/Mathlib/Algebra/Algebra/Hom/Rat.lean b/Mathlib/Algebra/Algebra/Hom/Rat.lean index 75dc61c255c91f..1c9f1a564452cf 100644 --- a/Mathlib/Algebra/Algebra/Hom/Rat.lean +++ b/Mathlib/Algebra/Algebra/Hom/Rat.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Algebra.Algebra.Rat +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Algebra.Algebra.Rat /-! # Homomorphisms of `ℚ`-algebras -/ +@[expose] public section + namespace RingHom diff --git a/Mathlib/Algebra/Algebra/IsSimpleRing.lean b/Mathlib/Algebra/Algebra/IsSimpleRing.lean index ad9ff3fc0b001a..a94c5954c95a43 100644 --- a/Mathlib/Algebra/Algebra/IsSimpleRing.lean +++ b/Mathlib/Algebra/Algebra/IsSimpleRing.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Eric Wieser -/ +module -import Mathlib.Algebra.Algebra.Basic -import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Facts about algebras when the coefficient ring is a simple ring -/ +@[expose] public section + variable (R A : Type*) [CommRing R] [Semiring A] [Algebra R A] [IsSimpleRing R] [Nontrivial A] instance : FaithfulSMul R A := diff --git a/Mathlib/Algebra/Algebra/NonUnitalHom.lean b/Mathlib/Algebra/Algebra/NonUnitalHom.lean index 37642fa7d8255d..d3986be73bd13b 100644 --- a/Mathlib/Algebra/Algebra/NonUnitalHom.lean +++ b/Mathlib/Algebra/Algebra/NonUnitalHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Algebra.GroupWithZero.Action.Prod +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Algebra.GroupWithZero.Action.Prod /-! # Morphisms of non-unital algebras @@ -42,6 +44,8 @@ TODO: add `NonUnitalAlgEquiv` when needed. non-unital, algebra, morphism -/ +@[expose] public section + universe u u₁ v w w₁ w₂ w₃ variable {R : Type u} {S : Type u₁} diff --git a/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean index 89a46bd2ab3676..fac1d92b808c84 100644 --- a/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Data.Set.UnionLift -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.RingTheory.NonUnitalSubring.Basic +module + +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Data.Set.UnionLift +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.RingTheory.NonUnitalSubring.Basic /-! # Non-unital Subalgebras over Commutative Semirings @@ -19,6 +21,8 @@ In this file we define `NonUnitalSubalgebra`s and the usual operations on them ( non-unital subalgebra on the larger algebra. -/ +@[expose] public section + universe u u' v v' w w' section NonUnitalSubalgebraClass diff --git a/Mathlib/Algebra/Algebra/Operations.lean b/Mathlib/Algebra/Algebra/Operations.lean index 69c72e8c190d99..442d7e1abce88e 100644 --- a/Mathlib/Algebra/Algebra/Operations.lean +++ b/Mathlib/Algebra/Algebra/Operations.lean @@ -3,15 +3,17 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.Algebra.Opposite -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.Algebra.Group.Pointwise.Set.BigOperators -import Mathlib.Algebra.Module.Submodule.Pointwise -import Mathlib.Algebra.Ring.NonZeroDivisors -import Mathlib.Algebra.Ring.Submonoid.Pointwise -import Mathlib.Data.Set.Semiring -import Mathlib.GroupTheory.GroupAction.SubMulAction.Pointwise +module + +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.Algebra.Opposite +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.BigOperators +public import Mathlib.Algebra.Module.Submodule.Pointwise +public import Mathlib.Algebra.Ring.NonZeroDivisors +public import Mathlib.Algebra.Ring.Submonoid.Pointwise +public import Mathlib.Data.Set.Semiring +public import Mathlib.GroupTheory.GroupAction.SubMulAction.Pointwise /-! # Multiplication and division of submodules of an algebra. @@ -43,6 +45,8 @@ by `ringHomEquivModuleIsScalarTower`), we can still define `1 : Submodule R A` a multiplication of submodules, division of submodules, submodule semiring -/ +@[expose] public section + universe uι u v diff --git a/Mathlib/Algebra/Algebra/Opposite.lean b/Mathlib/Algebra/Algebra/Opposite.lean index 982992dccc517a..d9099b935aeaef 100644 --- a/Mathlib/Algebra/Algebra/Opposite.lean +++ b/Mathlib/Algebra/Algebra/Opposite.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Module.Opposite -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Algebra.Ring.Opposite /-! # Algebra structures on the multiplicative opposite @@ -24,6 +26,8 @@ import Mathlib.Algebra.Ring.Opposite * `AlgEquiv.opComm`: swap which side of an isomorphism lies in the opposite algebra. -/ +@[expose] public section + variable {R S A B : Type*} diff --git a/Mathlib/Algebra/Algebra/Pi.lean b/Mathlib/Algebra/Algebra/Pi.lean index df383bbefd1d39..e8657e7c1d860e 100644 --- a/Mathlib/Algebra/Algebra/Pi.lean +++ b/Mathlib/Algebra/Algebra/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.Opposite -import Mathlib.Algebra.Algebra.Prod +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.Opposite +public import Mathlib.Algebra.Algebra.Prod /-! # The R-algebra structure on families of R-algebras @@ -19,6 +21,8 @@ The R-algebra structure on `Π i : I, A i` when each `A i` is an R-algebra. * `Pi.constAlgHom` -/ +@[expose] public section + namespace Pi -- The indexing type diff --git a/Mathlib/Algebra/Algebra/Prod.lean b/Mathlib/Algebra/Algebra/Prod.lean index 0dbd736a0f0cf4..46058dff5af82d 100644 --- a/Mathlib/Algebra/Algebra/Prod.lean +++ b/Mathlib/Algebra/Algebra/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Algebra.Module.Prod +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Algebra.Module.Prod /-! # The R-algebra structure on products of R-algebras @@ -21,6 +23,8 @@ The R-algebra structure on `(i : I) → A i` when each `A i` is an R-algebra. * `AlgEquiv.prodUnique` and `AlgEquiv.uniqueProd` -/ +@[expose] public section + variable {R A B C : Type*} variable [CommSemiring R] diff --git a/Mathlib/Algebra/Algebra/Rat.lean b/Mathlib/Algebra/Algebra/Rat.lean index df9d50b1e4f873..809834cb772ba4 100644 --- a/Mathlib/Algebra/Algebra/Rat.lean +++ b/Mathlib/Algebra/Algebra/Rat.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Data.Rat.Cast.CharZero +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Data.Rat.Cast.CharZero /-! # Further basic results about `Algebra`'s over `ℚ`. @@ -14,6 +16,8 @@ import Mathlib.Data.Rat.Cast.CharZero This file could usefully be split further. -/ +@[expose] public section + assert_not_exists Subgroup variable {F R S : Type*} diff --git a/Mathlib/Algebra/Algebra/RestrictScalars.lean b/Mathlib/Algebra/Algebra/RestrictScalars.lean index 6d8d77b354eaf9..7594d7da0a0677 100644 --- a/Mathlib/Algebra/Algebra/RestrictScalars.lean +++ b/Mathlib/Algebra/Algebra/RestrictScalars.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Tower +module + +public import Mathlib.Algebra.Algebra.Tower /-! @@ -38,6 +40,8 @@ refer to restricting the scalar type in a bundled type, such as from `A →ₗ[R * `Subalgebra.restrictScalars` -/ +@[expose] public section + variable (R S M A : Type*) diff --git a/Mathlib/Algebra/Algebra/Shrink.lean b/Mathlib/Algebra/Algebra/Shrink.lean index c3a00fcec8f393..d9fa2e7bd84a67 100644 --- a/Mathlib/Algebra/Algebra/Shrink.lean +++ b/Mathlib/Algebra/Algebra/Shrink.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.TransferInstance -import Mathlib.Algebra.Ring.Shrink +module + +public import Mathlib.Algebra.Algebra.TransferInstance +public import Mathlib.Algebra.Ring.Shrink /-! # Transfer module and algebra structures from `α` to `Shrink α` -/ +@[expose] public section + noncomputable section universe v diff --git a/Mathlib/Algebra/Algebra/Spectrum/Basic.lean b/Mathlib/Algebra/Algebra/Spectrum/Basic.lean index 549614e7cbcace..b07f38ee1e9611 100644 --- a/Mathlib/Algebra/Algebra/Spectrum/Basic.lean +++ b/Mathlib/Algebra/Algebra/Spectrum/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.Star.Pointwise -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Nonunits -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.Star.Pointwise +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Nonunits +public import Mathlib.Tactic.NoncommRing /-! # Spectrum of an element in an algebra @@ -38,6 +40,8 @@ This theory will serve as the foundation for spectral theory in Banach algebras. * `σ a` : `spectrum R a` of `a : A` -/ +@[expose] public section + open Set diff --git a/Mathlib/Algebra/Algebra/Spectrum/Pi.lean b/Mathlib/Algebra/Algebra/Spectrum/Pi.lean index aa626aca013722..1d02f55cde2992 100644 --- a/Mathlib/Algebra/Algebra/Spectrum/Pi.lean +++ b/Mathlib/Algebra/Algebra/Spectrum/Pi.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Group.Pi.Units +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Group.Pi.Units /-! # Spectrum and quasispectrum of products @@ -29,6 +30,8 @@ union of the (quasi)spectra. -/ +@[expose] public section + variable {ι A B R : Type*} {κ : ι → Type*} section quasiregular diff --git a/Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean b/Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean index 7a487f9bccfc1f..0263e317c048f6 100644 --- a/Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean +++ b/Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Algebra.Unitization +module + +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Algebra.Unitization /-! # Quasiregularity and quasispectrum @@ -60,6 +62,8 @@ In Mathlib, the quasispectrum is the domain of the continuous functions associat in `Unitization R A` (via the coercion `Unitization.inr`). -/ +@[expose] public section + /-- A type synonym for non-unital rings where an alternative monoid structure is introduced. If `R` is a non-unital semiring, then `PreQuasiregular R` is equipped with the monoid structure with binary operation `fun x y ↦ y + x + x * y` and identity `0`. Elements of `R` which are diff --git a/Mathlib/Algebra/Algebra/StrictPositivity.lean b/Mathlib/Algebra/Algebra/StrictPositivity.lean index ed0f11e893e62c..fcb2c91ab4634c 100644 --- a/Mathlib/Algebra/Algebra/StrictPositivity.lean +++ b/Mathlib/Algebra/Algebra/StrictPositivity.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Tactic.ContinuousFunctionalCalculus /-! # Strictly positive elements of an algebra @@ -28,6 +29,8 @@ Thus, it is best to avoid unfolding the definition and only use the API provided + Generalize the definition to non-unital algebras. -/ +@[expose] public section + /-- An element of an ordered algebra is *strictly positive* if it is nonnegative and invertible. NOTE: This definition will be generalized to the non-unital case in the future; do not unfold diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean b/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean index 9f882556e2b5b3..15aed0ef96eb52 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.NonUnitalSubalgebra -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.NonUnitalSubalgebra +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Subalgebras over Commutative Semiring @@ -16,6 +18,8 @@ The `Algebra.adjoin` operation and complete lattice structure can be found in `Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean`. -/ +@[expose] public section + universe u u' v w w' /-- A subalgebra is a sub(semi)ring that includes the range of `algebraMap`. -/ diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean b/Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean index 3f342ae9ffb31a..ee4d61e3111a71 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.LinearAlgebra.TensorProduct.Basis -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Basis +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Properties of centers and centralizers @@ -22,6 +24,8 @@ Let `R` be a commutative ring and `A` and `B` two `R`-algebras. then the centralizer of `1 ⊗ B` in `A ⊗ B` is `A ⊗ C(B)` where `C(B)` is the center of `B`. -/ +@[expose] public section + namespace Subalgebra open Algebra.TensorProduct diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean b/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean index bc750cc73b0c58..0378da85794a22 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean @@ -3,9 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Data.Set.UnionLift +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Data.Set.UnionLift /-! # Subalgebras and directed Unions of sets @@ -17,6 +18,8 @@ import Mathlib.Data.Set.UnionLift defining it on each subalgebra, and proving that it agrees on the intersection of subalgebras. -/ +@[expose] public section + namespace Subalgebra open Algebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean b/Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean index 6b4e1753aac23c..af99097ea7fc79 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.LinearAlgebra.FiniteDimensional.Basic -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +module + +public import Mathlib.LinearAlgebra.FiniteDimensional.Basic +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition /-! If `A` is a domain, and a finite-dimensional algebra over a field `F`, with prime dimension, then there are no non-trivial `F`-subalgebras. -/ +@[expose] public section + open Module Submodule theorem Subalgebra.isSimpleOrder_of_finrank_prime (F A) [Field F] [Ring A] [IsDomain A] diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean b/Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean index 7cf06d1b44c3b4..c7e8a3bf37be14 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Algebra.Subalgebra.Basic +module + +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Algebra.Subalgebra.Basic /-! # Complete lattice structure of subalgebras @@ -14,6 +16,8 @@ In this file we define `Algebra.adjoin` and the complete lattice structure on su More lemmas about `adjoin` can be found in `Mathlib/RingTheory/Adjoin/Basic.lean`. -/ +@[expose] public section + assert_not_exists Polynomial universe u u' v w w' @@ -213,7 +217,7 @@ theorem iSup_induction' {ι : Sort*} (S : ι → Subalgebra R A) {motive : ∀ x (zero : motive 0 (zero_mem _)) (one : motive 1 (one_mem _)) (add : ∀ x y hx hy, motive x hx → motive y hy → motive (x + y) (add_mem ‹_› ‹_›)) (mul : ∀ x y hx hy, motive x hx → motive y hy → motive (x * y) (mul_mem ‹_› ‹_›)) - (algebraMap : ∀ r, motive (algebraMap R A r) (Subalgebra.algebraMap_mem _ ‹_›)) : + (algebraMap : ∀ r, motive (algebraMap R A r) (Subalgebra.algebraMap_mem _ _)) : motive x mem := by refine Exists.elim ?_ fun (hx : x ∈ ⨆ i, S i) (hc : motive x hx) ↦ hc exact iSup_induction S (motive := fun x' ↦ ∃ h, motive x' h) mem diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean b/Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean index c8d0ba15f94c6d..026750942f3d54 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Bryan Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bryan Wang -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Diagonal -import Mathlib.Algebra.Algebra.Subalgebra.Basic +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Diagonal +public import Mathlib.Algebra.Algebra.Subalgebra.Basic /-! # Matrix subalgebras @@ -17,6 +19,8 @@ In this file we define the subalgebra of square matrices with entries in some su * `Subalgebra.matrix`: the subalgebra of square matrices with entries in some subalgebra. -/ +@[expose] public section + open Matrix open Algebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean b/Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean index 55fb65b0bf6875..81af25fb03a6d0 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Ring.Subring.MulOpposite +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Ring.Subring.MulOpposite /-! @@ -15,6 +17,8 @@ subalgebras of `A / R` and that of `Aᵐᵒᵖ / R`. -/ +@[expose] public section + namespace Subalgebra section Semiring diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Operations.lean b/Mathlib/Algebra/Algebra/Subalgebra/Operations.lean index 4d79b5812bdde7..f7c9efb18e9177 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Operations.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Operations.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Antoine Chambert-Loir -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.Algebra.Ring.Action.Submonoid +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.Algebra.Ring.Action.Submonoid /-! # More operations on subalgebras @@ -16,6 +18,8 @@ The contents of this file are somewhat random since both somewhat of a grab-bag of definitions, and this is whatever ends up in the intersection. -/ +@[expose] public section + assert_not_exists Cardinal namespace AlgHom diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Order.lean b/Mathlib/Algebra/Algebra/Subalgebra/Order.lean index b0002a14b9cf39..3a1cedf014533e 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Order.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Order.lean @@ -3,15 +3,18 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.Module.Submodule.Order -import Mathlib.Algebra.Ring.Subsemiring.Order +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.Module.Submodule.Order +public import Mathlib.Algebra.Ring.Subsemiring.Order /-! # Order instances on subalgebras -/ +@[expose] public section + namespace Subalgebra variable {R A : Type*} diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Pi.lean b/Mathlib/Algebra/Algebra/Subalgebra/Pi.lean index 1f6fa66fd31865..b8e33329534963 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Pi.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.LinearAlgebra.Pi /-! # Products of subalgebras @@ -17,6 +19,8 @@ In this file we define the product of subalgebras as a subalgebra of the product * `Subalgebra.pi`: the product of subalgebras. -/ +@[expose] public section + open Algebra namespace Subalgebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean b/Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean index 91efda06f8674e..38b998cec76a8e 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Weiser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Ring.Subring.Pointwise +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Ring.Subring.Pointwise /-! # Pointwise actions on subalgebras. @@ -13,6 +15,8 @@ If `R'` acts on an `R`-algebra `A` (so that `R'` and `R` actions commute) then we get an `R'` action on the collection of `R`-subalgebras. -/ +@[expose] public section + namespace Subalgebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Prod.lean b/Mathlib/Algebra/Algebra/Subalgebra/Prod.lean index 5d1a273144a9c3..78e639602686b7 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Prod.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Algebra.Subalgebra.Lattice +module + +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice /-! # Products of subalgebras @@ -16,6 +18,8 @@ In this file we define the product of two subalgebras as a subalgebra of the pro * `Subalgebra.prod`: the product of two subalgebras. -/ +@[expose] public section + namespace Subalgebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Rank.lean b/Mathlib/Algebra/Algebra/Subalgebra/Rank.lean index fc4388bdd8a465..2b44e89c38d4e6 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Rank.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Rank.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.Dimension.Free -import Mathlib.LinearAlgebra.Dimension.Subsingleton -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +module + +public import Mathlib.LinearAlgebra.Dimension.Free +public import Mathlib.LinearAlgebra.Dimension.Subsingleton +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition /-! @@ -18,6 +20,8 @@ satisfies the strong rank condition, we put them into a separate file. -/ +@[expose] public section + open Module namespace Subalgebra diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Tower.lean b/Mathlib/Algebra/Algebra/Subalgebra/Tower.lean index f4db0a6623677b..0a551eaec5beaa 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Tower.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Tower +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Tower /-! # Subalgebras in towers of algebras @@ -26,6 +28,8 @@ compatibility condition `(r • s) • a = r • (s • a)`. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean b/Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean index 240e1a3ef544ab..218f6555b58deb 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Unitization -import Mathlib.Algebra.Star.Subalgebra -import Mathlib.GroupTheory.GroupAction.Ring +module + +public import Mathlib.Algebra.Algebra.Unitization +public import Mathlib.Algebra.Star.Subalgebra +public import Mathlib.GroupTheory.GroupAction.Ring /-! # Relating unital and non-unital substructures @@ -43,6 +45,8 @@ this map to be injective it suffices that the range omits `1`. In this setting w a version of `NonUnitalSubalgebra.unitizationAlgEquiv` for star algebras. -/ +@[expose] public section + /-! ## Subalgebras -/ namespace Unitization diff --git a/Mathlib/Algebra/Algebra/Tower.lean b/Mathlib/Algebra/Algebra/Tower.lean index ad92a5617cb823..045f34c664a5e3 100644 --- a/Mathlib/Algebra/Algebra/Tower.lean +++ b/Mathlib/Algebra/Algebra/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.LinearAlgebra.Span.Basic /-! # Towers of algebras @@ -19,6 +21,8 @@ An important definition is `toAlgHom R S A`, the canonical `R`-algebra homomorph -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/Algebra/Algebra/TransferInstance.lean b/Mathlib/Algebra/Algebra/TransferInstance.lean index 817c4f6c4b8ed3..96770c8019cf0d 100644 --- a/Mathlib/Algebra/Algebra/TransferInstance.lean +++ b/Mathlib/Algebra/Algebra/TransferInstance.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Module.TransferInstance -import Mathlib.Algebra.Ring.TransferInstance +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Module.TransferInstance +public import Mathlib.Algebra.Ring.TransferInstance /-! # Transfer algebraic structures across `Equiv`s @@ -13,6 +15,8 @@ import Mathlib.Algebra.Ring.TransferInstance This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + universe v variable {R α β : Type*} [CommSemiring R] diff --git a/Mathlib/Algebra/Algebra/Unitization.lean b/Mathlib/Algebra/Algebra/Unitization.lean index 57906585249ab6..0ae3b69d024017 100644 --- a/Mathlib/Algebra/Algebra/Unitization.lean +++ b/Mathlib/Algebra/Algebra/Unitization.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Algebra.Star.Module -import Mathlib.Algebra.Star.NonUnitalSubalgebra -import Mathlib.LinearAlgebra.Prod -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Algebra.Star.Module +public import Mathlib.Algebra.Star.NonUnitalSubalgebra +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.Tactic.Abel /-! # Unitization of a non-unital algebra @@ -54,6 +56,8 @@ extension to a (unital) algebra homomorphism from `Unitization R A` to `B`. * prove the image of the coercion is an essential ideal, maximal if scalars are a field. -/ +@[expose] public section + /-- The minimal unitization of a non-unital `R`-algebra `A`. This is just a type synonym for `R × A`. -/ diff --git a/Mathlib/Algebra/Algebra/ZMod.lean b/Mathlib/Algebra/Algebra/ZMod.lean index 73260df1d9b9da..e5fb7af3200263 100644 --- a/Mathlib/Algebra/Algebra/ZMod.lean +++ b/Mathlib/Algebra/Algebra/ZMod.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Data.ZMod.Basic /-! # The `ZMod n`-algebra structure on rings whose characteristic divides `n` -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace ZMod diff --git a/Mathlib/Algebra/AlgebraicCard.lean b/Mathlib/Algebra/AlgebraicCard.lean index e3281aeda2b1a9..5b27c9c205c9a8 100644 --- a/Mathlib/Algebra/AlgebraicCard.lean +++ b/Mathlib/Algebra/AlgebraicCard.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Algebra.Polynomial.Cardinal -import Mathlib.RingTheory.Algebraic.Basic +module + +public import Mathlib.Algebra.Polynomial.Cardinal +public import Mathlib.RingTheory.Algebraic.Basic /-! ### Cardinality of algebraic numbers @@ -16,6 +18,8 @@ Although this can be used to prove that real or complex transcendental numbers e proof is given by `Liouville.transcendental`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/ArithmeticGeometric.lean b/Mathlib/Algebra/ArithmeticGeometric.lean index 798f19e0ef2396..ab552e89bebe34 100644 --- a/Mathlib/Algebra/ArithmeticGeometric.lean +++ b/Mathlib/Algebra/ArithmeticGeometric.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric +module + +public import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric deprecated_module (since := "2025-09-17") diff --git a/Mathlib/Algebra/Azumaya/Basic.lean b/Mathlib/Algebra/Azumaya/Basic.lean index 0333504c1a9035..17d3d818a8443b 100644 --- a/Mathlib/Algebra/Azumaya/Basic.lean +++ b/Mathlib/Algebra/Azumaya/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Jujian Zhang -/ -import Mathlib.Algebra.Azumaya.Defs -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.Algebra.Azumaya.Defs +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.GroupTheory.GroupAction.Hom /-! # Basic properties of Azumaya algebras @@ -26,6 +28,8 @@ Noncommutative algebra, Azumaya algebra, Brauer Group -/ +@[expose] public section + open scoped TensorProduct open MulOpposite diff --git a/Mathlib/Algebra/Azumaya/Defs.lean b/Mathlib/Algebra/Azumaya/Defs.lean index 53d70cdd3f7986..6fa2c8454eab4d 100644 --- a/Mathlib/Algebra/Azumaya/Defs.lean +++ b/Mathlib/Algebra/Azumaya/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Jujian Zhang -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Azumaya Algebras @@ -27,6 +29,8 @@ TODO : Add the three more definitions and prove they are equivalent: Azumaya algebra, central simple algebra, noncommutative algebra -/ +@[expose] public section + variable (R A : Type*) [CommSemiring R] [Semiring A] [Algebra R A] open TensorProduct MulOpposite diff --git a/Mathlib/Algebra/Azumaya/Matrix.lean b/Mathlib/Algebra/Azumaya/Matrix.lean index c52e3c07329afa..37d95486cbaa02 100644 --- a/Mathlib/Algebra/Azumaya/Matrix.lean +++ b/Mathlib/Algebra/Azumaya/Matrix.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Jujian Zhang -/ -import Mathlib.Algebra.Azumaya.Defs -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +module + +public import Mathlib.Algebra.Azumaya.Defs +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! # Matrix algebra is an Azumaya algebra over R @@ -17,6 +19,8 @@ is an Azumaya algebra where `R` is a commutative ring. - `IsAzumaya.Matrix`: Finite-dimensional matrix algebra over `R` is Azumaya. -/ + +@[expose] public section open scoped TensorProduct variable (R n : Type*) [CommSemiring R] [Fintype n] [DecidableEq n] diff --git a/Mathlib/Algebra/BigOperators/Associated.lean b/Mathlib/Algebra/BigOperators/Associated.lean index 876588a1dce4ac..78466c2b74206a 100644 --- a/Mathlib/Algebra/BigOperators/Associated.lean +++ b/Mathlib/Algebra/BigOperators/Associated.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Anne Baanen -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.GroupWithZero.Associated +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.GroupWithZero.Associated /-! # Products of associated, prime, and irreducible elements. @@ -15,6 +17,8 @@ and products of multisets, finsets, and finsupps. -/ +@[expose] public section + assert_not_exists Field variable {ι M M₀ : Type*} diff --git a/Mathlib/Algebra/BigOperators/Balance.lean b/Mathlib/Algebra/BigOperators/Balance.lean index 1b2b2ca767a64a..d224cc7c0c647c 100644 --- a/Mathlib/Algebra/BigOperators/Balance.lean +++ b/Mathlib/Algebra/BigOperators/Balance.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.BigOperators.Expect +module + +public import Mathlib.Algebra.BigOperators.Expect /-! # Balancing a function @@ -15,6 +17,8 @@ This is the unique function `g` such that `f a - f b = g a - g b` for all `a` an Fourier transform, except in the `0`-th frequency where the Fourier transform of `g` vanishes. -/ +@[expose] public section + open Finset Function open scoped BigOperators diff --git a/Mathlib/Algebra/BigOperators/Expect.lean b/Mathlib/Algebra/BigOperators/Expect.lean index 8186a1aa305760..139cbf80f50738 100644 --- a/Mathlib/Algebra/BigOperators/Expect.lean +++ b/Mathlib/Algebra/BigOperators/Expect.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Module.Pi -import Mathlib.Data.Finset.Density -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Data.Finset.Density +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Average over a finset @@ -43,6 +45,8 @@ combination operator. * Give a formulation of Jensen's inequality in this language. -/ +@[expose] public section + open Finset Function open Fintype (card) open scoped Pointwise @@ -85,7 +89,7 @@ open Batteries.ExtendedBinder /-- Delaborator for `Finset.expect`. The `pp.funBinderTypes` option controls whether to show the domain type when the expect is over `Finset.univ`. -/ -@[scoped app_delab Finset.expect] def delabFinsetExpect : Delab := +@[scoped app_delab Finset.expect] meta def delabFinsetExpect : Delab := whenPPOption getPPNotation <| withOverApp 6 <| do let #[_, _, _, _, s, f] := (← getExpr).getAppArgs | failure guard <| f.isLambda diff --git a/Mathlib/Algebra/BigOperators/Field.lean b/Mathlib/Algebra/BigOperators/Field.lean index 9859dc84dbdb55..3d1f333e0089b4 100644 --- a/Mathlib/Algebra/BigOperators/Field.lean +++ b/Mathlib/Algebra/BigOperators/Field.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Daniel Weber -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Field.Defs -import Mathlib.Data.Finset.Density +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Data.Finset.Density /-! # Results about big operators with values in a field -/ +@[expose] public section + open Fintype variable {ι K : Type*} [DivisionSemiring K] diff --git a/Mathlib/Algebra/BigOperators/Fin.lean b/Mathlib/Algebra/BigOperators/Fin.lean index 3b349a62218ec4..d1a7616be0e8cc 100644 --- a/Mathlib/Algebra/BigOperators/Fin.lean +++ b/Mathlib/Algebra/BigOperators/Fin.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov, Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Anne Baanen -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Fintype.Fin -import Mathlib.Logic.Equiv.Fin.Basic +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Fintype.Fin +public import Mathlib.Logic.Equiv.Fin.Basic /-! # Big operators and `Fin` @@ -23,6 +25,8 @@ constant function. These results have variants for sums instead of products. * `finFunctionFinEquiv`: An explicit equivalence between `Fin n → Fin m` and `Fin (m ^ n)`. -/ +@[expose] public section + assert_not_exists Field open Finset diff --git a/Mathlib/Algebra/BigOperators/Finprod.lean b/Mathlib/Algebra/BigOperators/Finprod.lean index 057321e0be21ef..fe01f23a977aa7 100644 --- a/Mathlib/Algebra/BigOperators/Finprod.lean +++ b/Mathlib/Algebra/BigOperators/Finprod.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kexing Ying and Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Group.Indicator -import Mathlib.Algebra.Group.Support -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.Algebra.Notation.FiniteSupport -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Data.Set.Finite.Lattice +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Algebra.Group.Support +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.Algebra.Notation.FiniteSupport +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Data.Set.Finite.Lattice /-! # Finite products and sums over types and sets @@ -73,6 +75,8 @@ We did not add `IsFinite (X : Type) : Prop`, because it is simply `Nonempty (Fin finsum, finprod, finite sum, finite product -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Algebra/BigOperators/Finsupp/Basic.lean b/Mathlib/Algebra/BigOperators/Finsupp/Basic.lean index eb722782a426c4..93c5166889b709 100644 --- a/Mathlib/Algebra/BigOperators/Finsupp/Basic.lean +++ b/Mathlib/Algebra/BigOperators/Finsupp/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Sigma -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Data.Finsupp.Ext -import Mathlib.Data.Finsupp.Indicator +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Sigma +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Data.Finsupp.Ext +public import Mathlib.Data.Finsupp.Indicator /-! # Big operators for finsupps @@ -16,6 +18,8 @@ import Mathlib.Data.Finsupp.Indicator This file contains theorems relevant to big operators in finitely supported functions. -/ +@[expose] public section + assert_not_exists Field noncomputable section diff --git a/Mathlib/Algebra/BigOperators/Finsupp/Fin.lean b/Mathlib/Algebra/BigOperators/Finsupp/Fin.lean index 8e4f74e5151105..d6829f348e5b0f 100644 --- a/Mathlib/Algebra/BigOperators/Finsupp/Fin.lean +++ b/Mathlib/Algebra/BigOperators/Finsupp/Fin.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Data.Finsupp.Fin +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Data.Finsupp.Fin /-! # `Finsupp.sum` and `Finsupp.prod` over `Fin` @@ -13,6 +15,8 @@ import Mathlib.Data.Finsupp.Fin This file contains theorems relevant to big operators on finitely supported functions over `Fin`. -/ +@[expose] public section + namespace Finsupp variable {M N : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean index 0d4d190659aba6..a25ae8ed920858 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Defs -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Finset.Sum +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Finset.Sum /-! # Big operators @@ -13,6 +15,8 @@ import Mathlib.Data.Finset.Sum In this file we prove theorems about products and sums indexed by a `Finset`. -/ +@[expose] public section + -- TODO: assert_not_exists AddCommMonoidWithOne assert_not_exists MonoidWithZero MulAction OrderedCommMonoid assert_not_exists Finset.preimage Finset.sigma Fintype.piFinset diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean index 44b1f2b37add58..4949ce3b5a2a1d 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Data.Fintype.Sets -import Mathlib.Data.Multiset.Bind +module + +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Data.Fintype.Sets +public import Mathlib.Data.Multiset.Bind /-! # Big operators @@ -40,6 +42,8 @@ See the documentation of `to_additive.attr` for more information. -/ +@[expose] public section + -- TODO -- assert_not_exists AddCommMonoidWithOne assert_not_exists MonoidWithZero @@ -113,7 +117,7 @@ syntax bigOpBinders := bigOpBinderCollection <|> (ppSpace bigOpBinder) /-- Collects additional binder/Finset pairs for the given `bigOpBinder`. Note: this is not extensible at the moment, unlike the usual `bigOpBinder` expansions. -/ -def processBigOpBinder (processed : (Array (Term × Term))) (binder : TSyntax ``bigOpBinder) : +meta def processBigOpBinder (processed : (Array (Term × Term))) (binder : TSyntax ``bigOpBinder) : MacroM (Array (Term × Term)) := set_option hygiene false in withRef binder do @@ -134,7 +138,7 @@ def processBigOpBinder (processed : (Array (Term × Term))) (binder : TSyntax `` | _ => Macro.throwUnsupported /-- Collects the binder/Finset pairs for the given `bigOpBinders`. -/ -def processBigOpBinders (binders : TSyntax ``bigOpBinders) : +meta def processBigOpBinders (binders : TSyntax ``bigOpBinders) : MacroM (Array (Term × Term)) := match binders with | `(bigOpBinders| $b:bigOpBinder) => processBigOpBinder #[] b @@ -142,7 +146,7 @@ def processBigOpBinders (binders : TSyntax ``bigOpBinders) : | _ => Macro.throwUnsupported /-- Collects the binderIdents into a `⟨...⟩` expression. -/ -def bigOpBindersPattern (processed : Array (Term × Term)) : MacroM Term := do +meta def bigOpBindersPattern (processed : Array (Term × Term)) : MacroM Term := do let ts := processed.map Prod.fst if h : ts.size = 1 then return ts[0] @@ -150,7 +154,7 @@ def bigOpBindersPattern (processed : Array (Term × Term)) : MacroM Term := do `(⟨$ts,*⟩) /-- Collects the terms into a product of sets. -/ -def bigOpBindersProd (processed : Array (Term × Term)) : MacroM Term := do +meta def bigOpBindersProd (processed : Array (Term × Term)) : MacroM Term := do if h₀ : processed.size = 0 then `((Finset.univ : Finset Unit)) else if h₁ : processed.size = 1 then @@ -233,7 +237,7 @@ private inductive FinsetResult where /-- Delaborates a finset indexing a big operator. In case it is a `Finset.filter`, `i` is used for the binder name. -/ -private def delabFinsetArg (i : Ident) : DelabM FinsetResult := do +private meta def delabFinsetArg (i : Ident) : DelabM FinsetResult := do let s ← getExpr if s.isAppOfArity ``Finset.univ 2 then return .univ @@ -257,7 +261,7 @@ private def delabFinsetArg (i : Ident) : DelabM FinsetResult := do /-- Delaborator for `Finset.prod`. The `pp.funBinderTypes` option controls whether to show the domain type when the product is over `Finset.univ`. -/ -@[app_delab Finset.prod] def delabFinsetProd : Delab := +@[app_delab Finset.prod] meta def delabFinsetProd : Delab := whenPPOption getPPNotation <| withOverApp 5 <| do let #[_, _, _, _, f] := (← getExpr).getAppArgs | failure guard f.isLambda @@ -288,7 +292,7 @@ to show the domain type when the product is over `Finset.univ`. -/ /-- Delaborator for `Finset.sum`. The `pp.funBinderTypes` option controls whether to show the domain type when the sum is over `Finset.univ`. -/ -@[app_delab Finset.sum] def delabFinsetSum : Delab := +@[app_delab Finset.sum] meta def delabFinsetSum : Delab := whenPPOption getPPNotation <| withOverApp 5 <| do let #[_, _, _, _, f] := (← getExpr).getAppArgs | failure guard f.isLambda diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean index 19687afb38c90e..9f3af393c86fe6 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Indicator -import Mathlib.Order.CompleteLattice.Finset +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Order.CompleteLattice.Finset /-! # Interaction of big operators with indicator functions -/ +@[expose] public section + namespace Finset variable {ι κ α β : Type*} [CommMonoid β] diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean index d82058ae12837b..336bc7a63744b5 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Notation.Support +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Notation.Support /-! # Miscellaneous lemmas on big operators @@ -15,6 +17,8 @@ The lemmas in this file have been moved out of `Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean` to reduce its imports. -/ +@[expose] public section + variable {ι κ M N β : Type*} @[to_additive] diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean index 0090efbcd2bdfc..2c3f45b0d964ec 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Fintype.Pi -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +module + +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! @@ -12,6 +14,8 @@ import Mathlib.Algebra.BigOperators.Group.Finset.Defs -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction OrderedCommMonoid variable {ι β : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean index a32891c72d29d3..c42860ea91af65 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Data.Finset.Piecewise +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Data.Finset.Piecewise /-! # Interaction of big operators with piecewise functions @@ -12,6 +14,8 @@ import Mathlib.Data.Finset.Piecewise This file proves lemmas on the sum and product of piecewise functions, including `ite` and `dite`. -/ +@[expose] public section + variable {ι κ M β γ : Type*} {s : Finset ι} namespace Finset diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean index aa70fe7b824d49..3f2d2f3fecede4 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Data.Finset.Powerset +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Data.Finset.Powerset /-! # Big operators @@ -13,6 +15,8 @@ In this file we prove theorems about products and sums over a `Finset.powerset`. -/ +@[expose] public section + variable {α β γ : Type*} variable {s : Finset α} {a : α} diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean index 4511de74bbed89..d0fbc21081e94b 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Finset.Preimage -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Sums and products over preimages of finite sets. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction OrderedCommMonoid variable {ι κ β : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean b/Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean index fb82f7ed478158..6b9352f42b09be 100644 --- a/Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean +++ b/Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Finset.Sigma -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Product and sums indexed by finite sets in sigma types. -/ +@[expose] public section + variable {ι κ α β γ : Type*} open Fin Function diff --git a/Mathlib/Algebra/BigOperators/Group/List/Basic.lean b/Mathlib/Algebra/BigOperators/Group/List/Basic.lean index c2bbfa7b79e095..be6307c87e902d 100644 --- a/Mathlib/Algebra/BigOperators/Group/List/Basic.lean +++ b/Mathlib/Algebra/BigOperators/Group/List/Basic.lean @@ -3,17 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Sébastien Gouëzel, Alex J. Best -/ -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Order.RelClasses -import Mathlib.Data.List.TakeDrop -import Mathlib.Data.List.Forall2 -import Mathlib.Data.List.Perm.Basic -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.Int.Defs +module + +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Order.RelClasses +public import Mathlib.Data.List.TakeDrop +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.List.Perm.Basic +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.Int.Defs /-! # Sums and products from lists @@ -22,6 +24,8 @@ This file provides basic results about `List.prod`, `List.sum`, which calculate of elements of a list and `List.alternatingProd`, `List.alternatingSum`, their alternating counterparts. -/ + +@[expose] public section assert_not_imported Mathlib.Algebra.Order.Group.Nat variable {ι α β M N P G : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/List/Defs.lean b/Mathlib/Algebra/BigOperators/Group/List/Defs.lean index 5345665315a440..7eadd1fa492017 100644 --- a/Mathlib/Algebra/BigOperators/Group/List/Defs.lean +++ b/Mathlib/Algebra/BigOperators/Group/List/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Sébastien Gouëzel, Alex J. Best -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # Sums and products from lists @@ -13,6 +15,8 @@ which calculate the product and sum of elements of a list and `List.alternatingProd`, `List.alternatingSum`, their alternating counterparts. -/ +@[expose] public section + variable {ι α β M N P G : Type*} namespace List diff --git a/Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean b/Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean index a0222087e0c230..b35bc5dbd08367 100644 --- a/Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean +++ b/Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean @@ -3,17 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Sébastien Gouëzel, Alex J. Best -/ -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Int.Units -import Mathlib.Data.List.Dedup -import Mathlib.Data.List.Flatten -import Mathlib.Data.List.Pairwise -import Mathlib.Data.List.Perm.Basic -import Mathlib.Data.List.Range -import Mathlib.Data.List.Rotate -import Mathlib.Data.List.ProdSigma -import Mathlib.Algebra.Group.Opposite +module + +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Int.Units +public import Mathlib.Data.List.Dedup +public import Mathlib.Data.List.Flatten +public import Mathlib.Data.List.Pairwise +public import Mathlib.Data.List.Perm.Basic +public import Mathlib.Data.List.Range +public import Mathlib.Data.List.Rotate +public import Mathlib.Data.List.ProdSigma +public import Mathlib.Algebra.Group.Opposite /-! # Sums and products from lists @@ -22,6 +24,8 @@ This file provides further results about `List.prod`, `List.sum`, which calculate the product and sum of elements of a list and `List.alternatingProd`, `List.alternatingSum`, their alternating counterparts. -/ + +@[expose] public section assert_not_imported Mathlib.Algebra.Order.Group.Nat variable {ι α β M N P G : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean b/Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean index e7dba074fb494c..ca1380e320e70a 100644 --- a/Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean +++ b/Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Group.List.Lemmas -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Algebra.Order.Sub.Unbundled.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.List.Lemmas +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic /-! # Sums and products over multisets @@ -22,6 +24,8 @@ and sums indexed by finite sets. * `Multiset.sum`: `s.sum f` is the sum of `f i` over all `i ∈ s`. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {F ι κ G M N O : Type*} diff --git a/Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean b/Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean index d67670a782ee09..48f78b8ee45db7 100644 --- a/Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean +++ b/Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Algebra.Group.Basic -import Mathlib.Data.Multiset.Basic -import Mathlib.Data.Multiset.Filter +module + +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Data.Multiset.Basic +public import Mathlib.Data.Multiset.Filter /-! # Sums and products over multisets @@ -21,6 +23,8 @@ and sums indexed by finite sets. * `Multiset.sum`: `s.sum f` is the sum of `f i` over all `i ∈ s`. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {F ι M N : Type*} diff --git a/Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean b/Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean index da921c2231416d..29855c58647fc3 100644 --- a/Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean +++ b/Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Data.Finset.Basic -import Mathlib.Algebra.Group.Action.Basic +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Data.Finset.Basic +public import Mathlib.Algebra.Group.Action.Basic /-! # Lemmas about group actions on big operators @@ -22,6 +24,8 @@ This file contains results about two kinds of actions: Note that analogous lemmas for `Module`s like `Finset.sum_smul` appear in other files. -/ +@[expose] public section + variable {M N γ : Type*} diff --git a/Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean b/Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean index 709755733c9aa4..fde6bada2edce2 100644 --- a/Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean +++ b/Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Notation.Support -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Data.Set.Lattice /-! # Big operators on a finset in groups with zero @@ -15,6 +17,8 @@ This file contains the results concerning the interaction of finset big operator zero. -/ +@[expose] public section + open Function variable {ι κ G₀ M₀ : Type*} diff --git a/Mathlib/Algebra/BigOperators/Intervals.lean b/Mathlib/Algebra/BigOperators/Intervals.lean index 64e6ee63087b67..62a257069ea520 100644 --- a/Mathlib/Algebra/BigOperators/Intervals.lean +++ b/Mathlib/Algebra/BigOperators/Intervals.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite -import Mathlib.Algebra.Order.Interval.Finset.Basic -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.Nat.Factorial.Basic +module + +public import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite +public import Mathlib.Algebra.Order.Interval.Finset.Basic +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.Nat.Factorial.Basic /-! # Results about big operators over intervals @@ -14,6 +16,8 @@ import Mathlib.Data.Nat.Factorial.Basic We prove results about big operators over intervals. -/ +@[expose] public section + open Nat variable {α G M : Type*} diff --git a/Mathlib/Algebra/BigOperators/Module.lean b/Mathlib/Algebra/BigOperators/Module.lean index 8e39063e9f1f99..7df8e22290456c 100644 --- a/Mathlib/Algebra/BigOperators/Module.lean +++ b/Mathlib/Algebra/BigOperators/Module.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Dylan MacKenzie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dylan MacKenzie -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Algebra.Module.Defs -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Tactic.Abel /-! # Summation by parts -/ +@[expose] public section + namespace Finset variable {R M : Type*} [Ring R] [AddCommGroup M] [Module R M] (f : ℕ → R) (g : ℕ → M) {m n : ℕ} diff --git a/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean b/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean index 1b544c3c386a22..3385cf90c61382 100644 --- a/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean +++ b/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Big operators for `NatAntidiagonal` @@ -12,6 +14,8 @@ import Mathlib.Algebra.BigOperators.Group.Finset.Basic This file contains theorems relevant to big operators over `Finset.NatAntidiagonal`. -/ +@[expose] public section + variable {M N : Type*} [CommMonoid M] [AddCommMonoid N] namespace Finset diff --git a/Mathlib/Algebra/BigOperators/Option.lean b/Mathlib/Algebra/BigOperators/Option.lean index c3461eaf0d18b3..82b4acd8fbef9f 100644 --- a/Mathlib/Algebra/BigOperators/Option.lean +++ b/Mathlib/Algebra/BigOperators/Option.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finset.Option -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Option +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Lemmas about products and sums over finite sets in `Option α` @@ -13,6 +15,8 @@ In this file we prove formulas for products and sums over `Finset.insertNone s` `Finset.eraseNone s`. -/ +@[expose] public section + open Function namespace Finset diff --git a/Mathlib/Algebra/BigOperators/Pi.lean b/Mathlib/Algebra/BigOperators/Pi.lean index 25ef72e2e88fc5..4482ce9b21f1f0 100644 --- a/Mathlib/Algebra/BigOperators/Pi.lean +++ b/Mathlib/Algebra/BigOperators/Pi.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.BigOperators.GroupWithZero.Finset -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Algebra.Ring.Pi -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.BigOperators.GroupWithZero.Finset +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Fintype.Basic /-! # Big operators for Pi Types @@ -19,6 +21,8 @@ This file contains theorems relevant to big operators in binary and arbitrary pr of monoids and groups -/ +@[expose] public section + open scoped Finset variable {ι κ M N R α : Type*} diff --git a/Mathlib/Algebra/BigOperators/Ring/Finset.lean b/Mathlib/Algebra/BigOperators/Ring/Finset.lean index b2489c1d4451f9..48e39cb63a50c6 100644 --- a/Mathlib/Algebra/BigOperators/Ring/Finset.lean +++ b/Mathlib/Algebra/BigOperators/Ring/Finset.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Pi -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.BigOperators.GroupWithZero.Finset -import Mathlib.Algebra.BigOperators.Ring.Multiset -import Mathlib.Data.Finset.Max -import Mathlib.Data.Fintype.Powerset -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Pi +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.BigOperators.GroupWithZero.Finset +public import Mathlib.Algebra.BigOperators.Ring.Multiset +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Data.Int.Cast.Lemmas /-! # Results about big operators with values in a (semi)ring @@ -18,6 +20,8 @@ We prove results about big operators that involve some interaction between multiplicative and additive structures on the values being combined. -/ +@[expose] public section + assert_not_exists Field open Fintype diff --git a/Mathlib/Algebra/BigOperators/Ring/List.lean b/Mathlib/Algebra/BigOperators/Ring/List.lean index 5c4e5849045fe9..0db9e082850fe2 100644 --- a/Mathlib/Algebra/BigOperators/Ring/List.lean +++ b/Mathlib/Algebra/BigOperators/Ring/List.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Sébastien Gouëzel, Alex J. Best -/ -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Ring.Basic -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Commute -import Mathlib.Algebra.BigOperators.Group.List.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Ring.Basic +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Commute +public import Mathlib.Algebra.BigOperators.Group.List.Basic /-! # Big operators on a list in rings @@ -16,6 +18,8 @@ import Mathlib.Algebra.BigOperators.Group.List.Basic This file contains the results concerning the interaction of list big operators with rings. -/ +@[expose] public section + open MulOpposite List variable {ι κ M M₀ R : Type*} diff --git a/Mathlib/Algebra/BigOperators/Ring/Multiset.lean b/Mathlib/Algebra/BigOperators/Ring/Multiset.lean index f3f3c3dfb73550..abd6c08f9775c4 100644 --- a/Mathlib/Algebra/BigOperators/Ring/Multiset.lean +++ b/Mathlib/Algebra/BigOperators/Ring/Multiset.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Bhavik Mehta, Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Basic -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Data.Multiset.Antidiagonal -import Mathlib.Data.Multiset.Sections +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Basic +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Data.Multiset.Antidiagonal +public import Mathlib.Data.Multiset.Sections /-! # Lemmas about `Multiset.sum` and `Multiset.prod` requiring extra algebra imports -/ +@[expose] public section + variable {ι M M₀ R : Type*} diff --git a/Mathlib/Algebra/BigOperators/Ring/Nat.lean b/Mathlib/Algebra/BigOperators/Ring/Nat.lean index 6139f06c6ed911..5070177a92850d 100644 --- a/Mathlib/Algebra/BigOperators/Ring/Nat.lean +++ b/Mathlib/Algebra/BigOperators/Ring/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Otte -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Lemmas +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.SetTheory.Cardinal.Finite /-! # Big operators on a finset in the natural numbers @@ -14,6 +16,8 @@ This file contains the results concerning the interaction of finset big operator numbers. -/ +@[expose] public section + variable {ι : Type*} namespace Finset diff --git a/Mathlib/Algebra/BigOperators/RingEquiv.lean b/Mathlib/Algebra/BigOperators/RingEquiv.lean index 4d6a7c1922e052..1d4be6a25e1483 100644 --- a/Mathlib/Algebra/BigOperators/RingEquiv.lean +++ b/Mathlib/Algebra/BigOperators/RingEquiv.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +module + +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! # Results about mapping big operators across ring equivalences -/ +@[expose] public section + namespace RingEquiv diff --git a/Mathlib/Algebra/BigOperators/Sym.lean b/Mathlib/Algebra/BigOperators/Sym.lean index 215d6df545864f..5ee798c5789a87 100644 --- a/Mathlib/Algebra/BigOperators/Sym.lean +++ b/Mathlib/Algebra/BigOperators/Sym.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Sym.Sym2.Order -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Sym.Sym2.Order +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Lemmas on `Finset.sum` and `Finset.prod` involving `Finset.sym2` or `Finset.sym`. -/ +@[expose] public section + namespace Finset open Multiset diff --git a/Mathlib/Algebra/BigOperators/WithTop.lean b/Mathlib/Algebra/BigOperators/WithTop.lean index 0fff0274c48e5a..20a38ad1028cd8 100644 --- a/Mathlib/Algebra/BigOperators/WithTop.lean +++ b/Mathlib/Algebra/BigOperators/WithTop.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yaël Dillies -/ -import Mathlib.Algebra.Order.Ring.WithTop -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Sums in `WithTop` @@ -12,6 +14,8 @@ import Mathlib.Algebra.BigOperators.Group.Finset.Basic This file proves results about finite sums over monoids extended by a bottom or top element. -/ +@[expose] public section + open Finset variable {ι M M₀ : Type*} diff --git a/Mathlib/Algebra/BrauerGroup/Defs.lean b/Mathlib/Algebra/BrauerGroup/Defs.lean index dbf4343e0bb125..012d64e6d7007e 100644 --- a/Mathlib/Algebra/BrauerGroup/Defs.lean +++ b/Mathlib/Algebra/BrauerGroup/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Jujian Zhang -/ -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.Algebra.Central.Defs -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.LinearAlgebra.Matrix.Reindex +module + +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.Algebra.Central.Defs +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.LinearAlgebra.Matrix.Reindex /-! # Definition of Brauer group of a field K @@ -29,6 +31,8 @@ that `Mₙ(A) ≃ₐ[K] Mₘ(B)`. Brauer group, Central simple algebra, Galois Cohomology -/ +@[expose] public section + universe u v /-- `CSA` is the set of all finite-dimensional central simple algebras over field `K`, for its diff --git a/Mathlib/Algebra/Category/AlgCat/Basic.lean b/Mathlib/Algebra/Category/AlgCat/Basic.lean index a136b0ec87a984..08e5f6fa97bf70 100644 --- a/Mathlib/Algebra/Category/AlgCat/Basic.lean +++ b/Mathlib/Algebra/Category/AlgCat/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.FreeAlgebra -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic /-! # Category instance for algebras over a commutative ring @@ -16,6 +18,8 @@ with the forgetful functors to `RingCat` and `ModuleCat`. We furthermore show th associating to a type the free `R`-algebra on that type is left adjoint to the forgetful functor. -/ +@[expose] public section + open CategoryTheory Limits universe v u diff --git a/Mathlib/Algebra/Category/AlgCat/Limits.lean b/Mathlib/Algebra/Category/AlgCat/Limits.lean index 417cdd0a1e59e1..2fe478bf531f23 100644 --- a/Mathlib/Algebra/Category/AlgCat/Limits.lean +++ b/Mathlib/Algebra/Category/AlgCat/Limits.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Shrink -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Algebra.Category.Ring.Limits +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Shrink +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Algebra.Category.Ring.Limits /-! # The category of R-algebras has all limits @@ -17,6 +19,8 @@ Further, these limits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types. -/ +@[expose] public section + open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/AlgCat/Monoidal.lean b/Mathlib/Algebra/Category/AlgCat/Monoidal.lean index cce7f3d717cd41..106747db84ff27 100644 --- a/Mathlib/Algebra/Category/AlgCat/Monoidal.lean +++ b/Mathlib/Algebra/Category/AlgCat/Monoidal.lean @@ -3,15 +3,19 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! # The monoidal category structure on R-algebras -/ +@[expose] public section + open CategoryTheory open scoped MonoidalCategory diff --git a/Mathlib/Algebra/Category/AlgCat/Symmetric.lean b/Mathlib/Algebra/Category/AlgCat/Symmetric.lean index c0560a10db395b..54c4318bcff8d6 100644 --- a/Mathlib/Algebra/Category/AlgCat/Symmetric.lean +++ b/Mathlib/Algebra/Category/AlgCat/Symmetric.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Category.AlgCat.Monoidal -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +module + +public import Mathlib.Algebra.Category.AlgCat.Monoidal +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric /-! # The monoidal structure on `AlgCat` is symmetric. @@ -13,6 +15,8 @@ In this file we show: * `AlgCat.instSymmetricCategory : SymmetricCategory (AlgCat.{u} R)` -/ + +@[expose] public section open CategoryTheory diff --git a/Mathlib/Algebra/Category/AlgebraCat/Symmetric.lean b/Mathlib/Algebra/Category/AlgebraCat/Symmetric.lean index 3beacaab34998f..e7ce4b07c554bd 100644 --- a/Mathlib/Algebra/Category/AlgebraCat/Symmetric.lean +++ b/Mathlib/Algebra/Category/AlgebraCat/Symmetric.lean @@ -1,4 +1,6 @@ -import Mathlib.Algebra.Category.AlgCat.Monoidal -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +module + +public import Mathlib.Algebra.Category.AlgCat.Monoidal +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric deprecated_module (since := "2025-05-11") diff --git a/Mathlib/Algebra/Category/BialgCat/Basic.lean b/Mathlib/Algebra/Category/BialgCat/Basic.lean index 1b1d17c51df853..d6e8318026c021 100644 --- a/Mathlib/Algebra/Category/BialgCat/Basic.lean +++ b/Mathlib/Algebra/Category/BialgCat/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.CoalgCat.Basic -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.RingTheory.Bialgebra.Equiv +module + +public import Mathlib.Algebra.Category.CoalgCat.Basic +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.RingTheory.Bialgebra.Equiv /-! # The category of bialgebras over a commutative ring @@ -17,6 +19,8 @@ This file mimics `Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean`. -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/Algebra/Category/BialgCat/Monoidal.lean b/Mathlib/Algebra/Category/BialgCat/Monoidal.lean index c2c03e5895dadd..07a699bbf06753 100644 --- a/Mathlib/Algebra/Category/BialgCat/Monoidal.lean +++ b/Mathlib/Algebra/Category/BialgCat/Monoidal.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.AlgCat.Monoidal -import Mathlib.Algebra.Category.BialgCat.Basic -import Mathlib.Algebra.Category.CoalgCat.Monoidal -import Mathlib.RingTheory.Bialgebra.TensorProduct +module + +public import Mathlib.Algebra.Category.AlgCat.Monoidal +public import Mathlib.Algebra.Category.BialgCat.Basic +public import Mathlib.Algebra.Category.CoalgCat.Monoidal +public import Mathlib.RingTheory.Bialgebra.TensorProduct /-! # The monoidal structure on the category of bialgebras @@ -21,6 +23,8 @@ using `Monoidal.induced`. -/ +@[expose] public section + universe u namespace BialgCat diff --git a/Mathlib/Algebra/Category/BoolRing.lean b/Mathlib/Algebra/Category/BoolRing.lean index 78332223b25f71..92bad67a29c129 100644 --- a/Mathlib/Algebra/Category/BoolRing.lean +++ b/Mathlib/Algebra/Category/BoolRing.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Algebra.Ring.BooleanRing -import Mathlib.Order.Category.BoolAlg +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Algebra.Ring.BooleanRing +public import Mathlib.Order.Category.BoolAlg /-! # The category of Boolean rings @@ -17,6 +19,8 @@ This file defines `BoolRing`, the category of Boolean rings. Finish the equivalence with `BoolAlg`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Category/CoalgCat/Basic.lean b/Mathlib/Algebra/Category/CoalgCat/Basic.lean index 4585d6e73d92f1..35bd44291d249f 100644 --- a/Mathlib/Algebra/Category/CoalgCat/Basic.lean +++ b/Mathlib/Algebra/Category/CoalgCat/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.RingTheory.Coalgebra.Equiv +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.RingTheory.Coalgebra.Equiv /-! # The category of coalgebras over a commutative ring @@ -16,6 +18,8 @@ This file mimics `Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean`. -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean b/Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean index ee8ef3d77aa0df..4808dde40af116 100644 --- a/Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean +++ b/Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.CoalgCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric -import Mathlib.CategoryTheory.Monoidal.Braided.Opposite -import Mathlib.CategoryTheory.Monoidal.Comon_ -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Coalgebra.TensorProduct +module + +public import Mathlib.Algebra.Category.CoalgCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +public import Mathlib.CategoryTheory.Monoidal.Braided.Opposite +public import Mathlib.CategoryTheory.Monoidal.Comon_ +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Coalgebra.TensorProduct /-! # The category equivalence between `R`-coalgebras and comonoid objects in `R-Mod` @@ -30,6 +32,8 @@ definitional equalities. -/ +@[expose] public section + suppress_compilation universe v u diff --git a/Mathlib/Algebra/Category/CoalgCat/Monoidal.lean b/Mathlib/Algebra/Category/CoalgCat/Monoidal.lean index ff095d05b4594f..5de663767ebe38 100644 --- a/Mathlib/Algebra/Category/CoalgCat/Monoidal.lean +++ b/Mathlib/Algebra/Category/CoalgCat/Monoidal.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ +module -import Mathlib.Algebra.Category.CoalgCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.RingTheory.Coalgebra.TensorProduct +public import Mathlib.Algebra.Category.CoalgCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.RingTheory.Coalgebra.TensorProduct /-! # The monoidal category structure on `R`-coalgebras @@ -23,6 +24,8 @@ using `Monoidal.induced`. -/ +@[expose] public section + universe v u namespace CoalgCat diff --git a/Mathlib/Algebra/Category/CommAlgCat/Basic.lean b/Mathlib/Algebra/Category/CommAlgCat/Basic.lean index 1104c8640a3644..81762399f8a8b6 100644 --- a/Mathlib/Algebra/Category/CommAlgCat/Basic.lean +++ b/Mathlib/Algebra/Category/CommAlgCat/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yaël Dillies, Christian Merten, Michał Mrugała, Andrew Yan Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Christian Merten, Michał Mrugała, Andrew Yang -/ -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.Algebra.Category.Ring.Under.Basic -import Mathlib.CategoryTheory.Limits.Over -import Mathlib.CategoryTheory.WithTerminal.Cone +module + +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.Algebra.Category.Ring.Under.Basic +public import Mathlib.CategoryTheory.Limits.Over +public import Mathlib.CategoryTheory.WithTerminal.Cone /-! # The category of commutative algebras over a commutative ring @@ -15,6 +17,8 @@ This file defines the bundled category `CommAlgCat` of commutative algebras over ring `R` along with the forgetful functors to `CommRingCat` and `AlgCat`. -/ +@[expose] public section + open CategoryTheory Limits universe w v u diff --git a/Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean b/Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean index 3e79390adae875..4b1d98b511a4ff 100644 --- a/Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean +++ b/Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Christian Merten, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.Algebra.Category.CommAlgCat.Basic -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.RingHomProperties +module + +public import Mathlib.Algebra.Category.CommAlgCat.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.RingHomProperties /-! # The category of finitely generated `R`-algebras @@ -14,6 +16,8 @@ import Mathlib.RingTheory.RingHomProperties We define the category of finitely generated `R`-algebras and show it is essentially small. -/ +@[expose] public section + universe w v u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/CommAlgCat/Monoidal.lean b/Mathlib/Algebra/Category/CommAlgCat/Monoidal.lean index a056640bd4d877..45d635326ac7df 100644 --- a/Mathlib/Algebra/Category/CommAlgCat/Monoidal.lean +++ b/Mathlib/Algebra/Category/CommAlgCat/Monoidal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies, Christian Merten, Michał Mrugała, Andrew Yan Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Christian Merten, Michał Mrugała, Andrew Yang -/ -import Mathlib.Algebra.Category.CommAlgCat.Basic -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.Algebra.Category.CommAlgCat.Basic +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic /-! # The co-Cartesian monoidal category structure on commutative `R`-algebras @@ -13,6 +15,8 @@ This file provides the co-Cartesian-monoidal category structure on `CommAlgCat R explicitly using the tensor product. -/ +@[expose] public section + open CategoryTheory MonoidalCategory CartesianMonoidalCategory Limits TensorProduct Opposite open Algebra.TensorProduct open Algebra.TensorProduct (lid rid assoc comm) diff --git a/Mathlib/Algebra/Category/CommBialgCat.lean b/Mathlib/Algebra/Category/CommBialgCat.lean index 7579d7fc22093e..f645d3bcf6e593 100644 --- a/Mathlib/Algebra/Category/CommBialgCat.lean +++ b/Mathlib/Algebra/Category/CommBialgCat.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yaël Dillies, Michał Mrugała, Andrew Yang. All rights rese Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Michał Mrugała, Andrew Yang -/ -import Mathlib.Algebra.Category.CommAlgCat.Monoidal -import Mathlib.CategoryTheory.Monoidal.Mon_ -import Mathlib.RingTheory.Bialgebra.Equiv +module + +public import Mathlib.Algebra.Category.CommAlgCat.Monoidal +public import Mathlib.CategoryTheory.Monoidal.Mon_ +public import Mathlib.RingTheory.Bialgebra.Equiv /-! # The category of commutative bialgebras over a commutative ring @@ -14,6 +16,8 @@ This file defines the bundled category `CommBialgCat R` of commutative bialgebra commutative ring `R` along with the forgetful functor to `CommAlgCat`. -/ +@[expose] public section + noncomputable section open Bialgebra Coalgebra Opposite CategoryTheory Limits MonObj diff --git a/Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean b/Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean index bfba6521d9b1f5..165e48245c0dd2 100644 --- a/Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean +++ b/Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Richard Hill. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Richard Hill, Andrew Yang -/ -import Mathlib.Algebra.Category.ModuleCat.Topology.Homology -import Mathlib.Algebra.Homology.Embedding.Restriction -import Mathlib.Algebra.Homology.Functor -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.CategoryTheory.Action.Limits -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Algebra.Category.ModuleCat.Topology.Homology +public import Mathlib.Algebra.Homology.Embedding.Restriction +public import Mathlib.Algebra.Homology.Functor +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.CategoryTheory.Action.Limits +public import Mathlib.Topology.ContinuousMap.Algebra /-! @@ -41,6 +43,8 @@ See `ContinuousCohomology.MultiInd.d`. - Show that short exact sequences induce long exact sequences in certain scenarios. -/ +@[expose] public section + open CategoryTheory Functor ContinuousMap variable (R G : Type*) [CommRing R] [Group G] [TopologicalSpace R] diff --git a/Mathlib/Algebra/Category/FGModuleCat/Abelian.lean b/Mathlib/Algebra/Category/FGModuleCat/Abelian.lean index ba165636381d03..305f9fc50ff4b3 100644 --- a/Mathlib/Algebra/Category/FGModuleCat/Abelian.lean +++ b/Mathlib/Algebra/Category/FGModuleCat/Abelian.lean @@ -3,16 +3,20 @@ Copyright (c) 2025 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.Category.FGModuleCat.Colimits -import Mathlib.Algebra.Category.FGModuleCat.Limits -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages +module + +public import Mathlib.Algebra.Category.FGModuleCat.Colimits +public import Mathlib.Algebra.Category.FGModuleCat.Limits +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages /-! # `FGModuleCat K` is an abelian category. -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Algebra/Category/FGModuleCat/Basic.lean b/Mathlib/Algebra/Category/FGModuleCat/Basic.lean index 8d77585e482959..21f73a5ab3517f 100644 --- a/Mathlib/Algebra/Category/FGModuleCat/Basic.lean +++ b/Mathlib/Algebra/Category/FGModuleCat/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed -import Mathlib.CategoryTheory.Monoidal.Rigid.Basic -import Mathlib.CategoryTheory.Monoidal.Subcategory -import Mathlib.LinearAlgebra.Coevaluation -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Closed +public import Mathlib.CategoryTheory.Monoidal.Rigid.Basic +public import Mathlib.CategoryTheory.Monoidal.Subcategory +public import Mathlib.LinearAlgebra.Coevaluation +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +public import Mathlib.RingTheory.TensorProduct.Finite /-! # The category of finitely generated modules over a ring @@ -30,6 +32,8 @@ and then as a right-rigid monoidal category. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Category/FGModuleCat/Colimits.lean b/Mathlib/Algebra/Category/FGModuleCat/Colimits.lean index daa5a9459c4409..52646a5d0f3344 100644 --- a/Mathlib/Algebra/Category/FGModuleCat/Colimits.lean +++ b/Mathlib/Algebra/Category/FGModuleCat/Colimits.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.Category.FGModuleCat.Basic -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Products -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.LinearAlgebra.DirectSum.Finite +module + +public import Mathlib.Algebra.Category.FGModuleCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Products +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.LinearAlgebra.DirectSum.Finite /-! # `forget₂ (FGModuleCat K) (ModuleCat K)` creates all finite colimits. @@ -17,6 +19,8 @@ And hence `FGModuleCat K` has all finite colimits. -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean b/Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean index d5f2a8524b72eb..56d21c78748b3c 100644 --- a/Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean +++ b/Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.Algebra.Category.FGModuleCat.Basic -import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.Algebra.Category.FGModuleCat.Basic +public import Mathlib.RingTheory.Finiteness.Cardinality /-! # The category of finitely generated modules over a ring is essentially small @@ -16,6 +17,8 @@ recommended to use the standard `CategoryTheory.SmallModel (FGModuleCat R)` inst -/ +@[expose] public section + universe v w u variable (R : Type u) [CommRing R] diff --git a/Mathlib/Algebra/Category/FGModuleCat/Limits.lean b/Mathlib/Algebra/Category/FGModuleCat/Limits.lean index d57fed4a81b44b..057edb52c39d3b 100644 --- a/Mathlib/Algebra/Category/FGModuleCat/Limits.lean +++ b/Mathlib/Algebra/Category/FGModuleCat/Limits.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.FGModuleCat.Basic -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Algebra.Category.ModuleCat.Products -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +module + +public import Mathlib.Algebra.Category.FGModuleCat.Basic +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Algebra.Category.ModuleCat.Products +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers /-! # `forget₂ (FGModuleCat K) (ModuleCat K)` creates all finite limits. @@ -22,6 +24,8 @@ as is done for the other algebraic categories. Analogous constructions for Noetherian modules. -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Algebra/Category/Grp/AB.lean b/Mathlib/Algebra/Category/Grp/AB.lean index aaa134ae71b9b7..5b8514dbd1cd36 100644 --- a/Mathlib/Algebra/Category/Grp/AB.lean +++ b/Mathlib/Algebra/Category/Grp/AB.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata, Moritz Firsching, Nikolas Kuhn, Amelia Livingston -/ -import Mathlib.Algebra.Category.Grp.Biproducts -import Mathlib.Algebra.Category.Grp.FilteredColimits -import Mathlib.Algebra.Homology.ShortComplex.Ab -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +module + +public import Mathlib.Algebra.Category.Grp.Biproducts +public import Mathlib.Algebra.Category.Grp.FilteredColimits +public import Mathlib.Algebra.Homology.ShortComplex.Ab +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono /-! # AB axioms for the category of abelian groups @@ -15,6 +17,8 @@ This file proves that the category of abelian groups satisfies Grothendieck's ax AB4*. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/Grp/Abelian.lean b/Mathlib/Algebra/Category/Grp/Abelian.lean index b72a6a633be132..f7f4596c8f3512 100644 --- a/Mathlib/Algebra/Category/Grp/Abelian.lean +++ b/Mathlib/Algebra/Category/Grp/Abelian.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.Colimits -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Algebra.Category.Grp.ZModuleEquivalence -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +module + +public import Mathlib.Algebra.Category.Grp.Colimits +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Algebra.Category.Grp.ZModuleEquivalence +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic /-! # The category of abelian groups is abelian -/ +@[expose] public section + open CategoryTheory Limits universe u diff --git a/Mathlib/Algebra/Category/Grp/Adjunctions.lean b/Mathlib/Algebra/Category/Grp/Adjunctions.lean index 712af1fe8debb6..1c0c6c46600760 100644 --- a/Mathlib/Algebra/Category/Grp/Adjunctions.lean +++ b/Mathlib/Algebra/Category/Grp/Adjunctions.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johannes Hölzl -/ -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.GroupTheory.FreeAbelianGroup -import Mathlib.CategoryTheory.Limits.Types.Shapes +module + +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.GroupTheory.FreeAbelianGroup +public import Mathlib.CategoryTheory.Limits.Types.Shapes /-! # Adjunctions regarding the category of (abelian) groups @@ -31,6 +33,8 @@ category of abelian groups. abelian groups to groups. -/ +@[expose] public section + assert_not_exists Cardinal noncomputable section diff --git a/Mathlib/Algebra/Category/Grp/Basic.lean b/Mathlib/Algebra/Category/Grp/Basic.lean index 186db81d3eb798..d1861ebca4fd8a 100644 --- a/Mathlib/Algebra/Category/Grp/Basic.lean +++ b/Mathlib/Algebra/Category/Grp/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Group.End -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Group.End +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.Data.Int.Cast.Lemmas /-! # Category instances for Group, AddGroup, CommGroup, and AddCommGroup. @@ -20,6 +22,8 @@ We introduce the bundled categories: along with the relevant forgetful functors between them, and to the bundled monoid categories. -/ +@[expose] public section + universe u v open CategoryTheory @@ -59,14 +63,14 @@ end GrpCat /-- The type of morphisms in `AddGrpCat R`. -/ @[ext] structure AddGrpCat.Hom (A B : AddGrpCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →+ B /-- The type of morphisms in `GrpCat R`. -/ @[to_additive, ext] structure GrpCat.Hom (A B : GrpCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →* B @@ -268,14 +272,14 @@ end CommGrpCat /-- The type of morphisms in `AddCommGrpCat R`. -/ @[ext] structure AddCommGrpCat.Hom (A B : AddCommGrpCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →+ B /-- The type of morphisms in `CommGrpCat R`. -/ @[to_additive, ext] structure CommGrpCat.Hom (A B : CommGrpCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →* B diff --git a/Mathlib/Algebra/Category/Grp/Biproducts.lean b/Mathlib/Algebra/Category/Grp/Biproducts.lean index e98adcaea7edf6..d4fe3ca775ee33 100644 --- a/Mathlib/Algebra/Category/Grp/Biproducts.lean +++ b/Mathlib/Algebra/Category/Grp/Biproducts.lean @@ -3,16 +3,20 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Tactic.CategoryTheory.Elementwise +module + +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Tactic.CategoryTheory.Elementwise /-! # The category of abelian groups has finite biproducts -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean b/Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean index 55f03cc6ca42e2..5f306ef3b98657 100644 --- a/Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean +++ b/Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.Biproducts -import Mathlib.Algebra.Category.Grp.Zero -import Mathlib.Algebra.Ring.PUnit -import Mathlib.CategoryTheory.Monoidal.Types.Basic +module + +public import Mathlib.Algebra.Category.Grp.Biproducts +public import Mathlib.Algebra.Category.Grp.Zero +public import Mathlib.Algebra.Ring.PUnit +public import Mathlib.CategoryTheory.Monoidal.Types.Basic /-! # Chosen finite products in `GrpCat` and friends -/ +@[expose] public section + open CategoryTheory Limits MonoidalCategory universe u diff --git a/Mathlib/Algebra/Category/Grp/ChosenFiniteProducts.lean b/Mathlib/Algebra/Category/Grp/ChosenFiniteProducts.lean index f450e1ea57b6ec..825020c9933271 100644 --- a/Mathlib/Algebra/Category/Grp/ChosenFiniteProducts.lean +++ b/Mathlib/Algebra/Category/Grp/ChosenFiniteProducts.lean @@ -1,3 +1,5 @@ -import Mathlib.Algebra.Category.Grp.CartesianMonoidal +module + +public import Mathlib.Algebra.Category.Grp.CartesianMonoidal deprecated_module (since := "2025-05-15") diff --git a/Mathlib/Algebra/Category/Grp/Colimits.lean b/Mathlib/Algebra/Category/Grp/Colimits.lean index 7892ddc35682de..b29bb1d2c33635 100644 --- a/Mathlib/Algebra/Category/Grp/Colimits.lean +++ b/Mathlib/Algebra/Category/Grp/Colimits.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Sophie Morel -/ -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Group.Shrink -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise -import Mathlib.Data.DFinsupp.BigOperators -import Mathlib.Data.DFinsupp.Small -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +public import Mathlib.Data.DFinsupp.BigOperators +public import Mathlib.Data.DFinsupp.Small +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # The category of additive commutative groups has all colimits. @@ -17,6 +19,8 @@ quotients of finitely supported functions. -/ +@[expose] public section + universe u' w u v open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/Grp/EnoughInjectives.lean b/Mathlib/Algebra/Category/Grp/EnoughInjectives.lean index 7127838c27bc92..bc6e16a852e7ae 100644 --- a/Mathlib/Algebra/Category/Grp/EnoughInjectives.lean +++ b/Mathlib/Algebra/Category/Grp/EnoughInjectives.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Junyan Xu -/ +module -import Mathlib.Algebra.Module.CharacterModule -import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.Grp.Injective +public import Mathlib.Algebra.Module.CharacterModule +public import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.Grp.Injective /-! @@ -28,6 +29,8 @@ injective presentation for `A`, hence category of abelian groups has enough inje This file is split from `Mathlib/Algebra/Category/GrpCat/Injective.lean` to prevent import loops. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Algebra/Category/Grp/EpiMono.lean b/Mathlib/Algebra/Category/Grp/EpiMono.lean index 23f05cda2be3ac..029b6a9bf0821a 100644 --- a/Mathlib/Algebra/Category/Grp/EpiMono.lean +++ b/Mathlib/Algebra/Category/Grp/EpiMono.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.GroupTheory.Coset.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.GroupTheory.Coset.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Monomorphisms and epimorphisms in `Group` @@ -15,6 +17,8 @@ In this file, we prove monomorphisms in the category of groups are injective hom epimorphisms are surjective homomorphisms. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Category/Grp/EquivalenceGroupAddGroup.lean b/Mathlib/Algebra/Category/Grp/EquivalenceGroupAddGroup.lean index 1132a634dc5127..44d8d10eadc758 100644 --- a/Mathlib/Algebra/Category/Grp/EquivalenceGroupAddGroup.lean +++ b/Mathlib/Algebra/Category/Grp/EquivalenceGroupAddGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Category.Grp.Basic +module + +public import Mathlib.Algebra.Category.Grp.Basic /-! # Equivalence between `Group` and `AddGroup` @@ -15,6 +17,8 @@ This file contains two equivalences: by sending `X : CommGrpCat` to `Additive X` and `Y : AddCommGrpCat` to `Multiplicative Y`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/FilteredColimits.lean b/Mathlib/Algebra/Category/Grp/FilteredColimits.lean index a4c06f4a773d89..2a40dc749f86d8 100644 --- a/Mathlib/Algebra/Category/Grp/FilteredColimits.lean +++ b/Mathlib/Algebra/Category/Grp/FilteredColimits.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.Algebra.Category.MonCat.FilteredColimits +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.Algebra.Category.MonCat.FilteredColimits /-! # The forgetful functor from (commutative) (additive) groups preserves filtered colimits. @@ -21,6 +23,8 @@ Similarly for `AddGrpCat`, `CommGrpCat` and `AddCommGrpCat`. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Category/Grp/FiniteGrp.lean b/Mathlib/Algebra/Category/Grp/FiniteGrp.lean index 0aa9c6c28c2ae3..9577779364eebe 100644 --- a/Mathlib/Algebra/Category/Grp/FiniteGrp.lean +++ b/Mathlib/Algebra/Category/Grp/FiniteGrp.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Nailin Guan, Yuyang Zhao -/ -import Mathlib.Data.Finite.Defs -import Mathlib.Algebra.Category.Grp.Basic +module + +public import Mathlib.Data.Finite.Defs +public import Mathlib.Algebra.Category.Grp.Basic /-! @@ -14,6 +16,8 @@ import Mathlib.Algebra.Category.Grp.Basic -/ +@[expose] public section + universe u v open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean b/Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean index 48bba3325197f7..256fe8ba3afc42 100644 --- a/Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean +++ b/Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.CategoryTheory.Yoneda /-! # The forget functor is corepresentable @@ -15,6 +17,8 @@ and `GrpCat`. -/ +@[expose] public section + universe u open CategoryTheory Opposite diff --git a/Mathlib/Algebra/Category/Grp/Images.lean b/Mathlib/Algebra/Category/Grp/Images.lean index ce0db02bc2810c..84b5d244342071 100644 --- a/Mathlib/Algebra/Category/Grp/Images.lean +++ b/Mathlib/Algebra/Category/Grp/Images.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.CategoryTheory.Limits.Shapes.Images +module + +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.CategoryTheory.Limits.Shapes.Images /-! # The category of commutative additive groups has images. @@ -13,6 +15,8 @@ Note that we don't need to register any of the constructions here as instances, from the fact that `AddCommGrpCat` is an abelian category. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/Injective.lean b/Mathlib/Algebra/Category/Grp/Injective.lean index d45ca7abd45731..5cbe55918f928e 100644 --- a/Mathlib/Algebra/Category/Grp/Injective.lean +++ b/Mathlib/Algebra/Category/Grp/Injective.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Category.Grp.ZModuleEquivalence -import Mathlib.Algebra.Category.ModuleCat.Injective -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.GroupTheory.Divisible -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.Category.Grp.ZModuleEquivalence +public import Mathlib.Algebra.Category.ModuleCat.Injective +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.GroupTheory.Divisible +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Injective objects in the category of abelian groups @@ -22,6 +24,8 @@ in `Mathlib/Algebra/Category/GrpCat/EnoughInjectives.lean`. -/ +@[expose] public section + open CategoryTheory open Pointwise diff --git a/Mathlib/Algebra/Category/Grp/IsFinite.lean b/Mathlib/Algebra/Category/Grp/IsFinite.lean index 38149b99234081..89ec8e5a2f8ed6 100644 --- a/Mathlib/Algebra/Category/Grp/IsFinite.lean +++ b/Mathlib/Algebra/Category/Grp/IsFinite.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.Grp.Zero -import Mathlib.Algebra.Homology.ShortComplex.Ab -import Mathlib.CategoryTheory.Abelian.SerreClass.Basic -import Mathlib.Data.Finite.Prod +module + +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.Grp.Zero +public import Mathlib.Algebra.Homology.ShortComplex.Ab +public import Mathlib.CategoryTheory.Abelian.SerreClass.Basic +public import Mathlib.Data.Finite.Prod /-! # The Serre class of finite abelian groups @@ -18,6 +20,8 @@ that it is a Serre class. -/ +@[expose] public section + universe u open CategoryTheory Limits ZeroObject diff --git a/Mathlib/Algebra/Category/Grp/Kernels.lean b/Mathlib/Algebra/Category/Grp/Kernels.lean index d26db40873eaa5..a37dcdbb77d284 100644 --- a/Mathlib/Algebra/Category/Grp/Kernels.lean +++ b/Mathlib/Algebra/Category/Grp/Kernels.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata, Moritz Firsching, Nikolas Kuhn -/ -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +module + +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # The concrete (co)kernels in the category of abelian groups are categorical (co)kernels. -/ +@[expose] public section + namespace AddCommGrpCat open AddMonoidHom CategoryTheory Limits QuotientAddGroup diff --git a/Mathlib/Algebra/Category/Grp/LargeColimits.lean b/Mathlib/Algebra/Category/Grp/LargeColimits.lean index 70533e5076d273..a343a5c0fefe06 100644 --- a/Mathlib/Algebra/Category/Grp/LargeColimits.lean +++ b/Mathlib/Algebra/Category/Grp/LargeColimits.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.Category.Grp.Colimits -import Mathlib.Algebra.Module.CharacterModule -import Mathlib.Algebra.Group.Equiv.Basic +module + +public import Mathlib.Algebra.Category.Grp.Colimits +public import Mathlib.Algebra.Module.CharacterModule +public import Mathlib.Algebra.Group.Equiv.Basic /-! # Existence of "big" colimits in the category of additive commutative groups @@ -16,6 +18,8 @@ by the relations given by the morphisms in the diagram) is `w`-small. -/ +@[expose] public section + universe w u v open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean b/Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean index aca44f7e41b0b7..eee1d4aff905fd 100644 --- a/Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean +++ b/Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.CartesianMonoidal -import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup -import Mathlib.CategoryTheory.Monoidal.Internal.Types.CommGrp_ -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Preadditive.CommGrp_ +module + +public import Mathlib.Algebra.Category.Grp.CartesianMonoidal +public import Mathlib.Algebra.Category.Grp.EquivalenceGroupAddGroup +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.CommGrp_ +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Preadditive.CommGrp_ /-! # The forgetful functor `(C ⥤ₗ AddCommGroup) ⥤ (C ⥤ₗ Type v)` is an equivalence @@ -26,6 +28,8 @@ can be shown that this construction gives a quasi-inverse to the whiskering oper `(C ⥤ₗ AddCommGrpCat.{v}) ⥤ (C ⥤ₗ Type v)`. -/ +@[expose] public section + open CategoryTheory MonoidalCategory Limits diff --git a/Mathlib/Algebra/Category/Grp/Limits.lean b/Mathlib/Algebra/Category/Grp/Limits.lean index 4428671bc9e35b..a1920f9502e6c1 100644 --- a/Mathlib/Algebra/Category/Grp/Limits.lean +++ b/Mathlib/Algebra/Category/Grp/Limits.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Grp.ForgetCorepresentable -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Category.MonCat.ForgetCorepresentable -import Mathlib.Algebra.Category.MonCat.Limits -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +module + +public import Mathlib.Algebra.Category.Grp.ForgetCorepresentable +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Category.MonCat.ForgetCorepresentable +public import Mathlib.Algebra.Category.MonCat.Limits +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic /-! # The category of (commutative) (additive) groups has all limits @@ -19,6 +21,8 @@ the underlying types are just the limits in the category of types. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits universe v u w diff --git a/Mathlib/Algebra/Category/Grp/Preadditive.lean b/Mathlib/Algebra/Category/Grp/Preadditive.lean index 5d75805a9873e8..a387bde9581f22 100644 --- a/Mathlib/Algebra/Category/Grp/Preadditive.lean +++ b/Mathlib/Algebra/Category/Grp/Preadditive.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.CategoryTheory.Preadditive.Basic +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.CategoryTheory.Preadditive.Basic /-! # The category of additive commutative groups is preadditive. -/ +@[expose] public section + assert_not_exists Subgroup open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/Subobject.lean b/Mathlib/Algebra/Category/Grp/Subobject.lean index 99e5804467604c..ca8f773c0f6013 100644 --- a/Mathlib/Algebra/Category/Grp/Subobject.lean +++ b/Mathlib/Algebra/Category/Grp/Subobject.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.ZModuleEquivalence -import Mathlib.Algebra.Category.ModuleCat.Subobject +module + +public import Mathlib.Algebra.Category.Grp.ZModuleEquivalence +public import Mathlib.Algebra.Category.ModuleCat.Subobject /-! # The category of abelian groups is well-powered -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/Ulift.lean b/Mathlib/Algebra/Category/Grp/Ulift.lean index 43d93f816bfe5f..9005b11467b0f4 100644 --- a/Mathlib/Algebra/Category/Grp/Ulift.lean +++ b/Mathlib/Algebra/Category/Grp/Ulift.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.Category.Grp.LargeColimits -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Algebra.Module.CharacterModule -import Mathlib.CategoryTheory.Limits.Preserves.Ulift +module + +public import Mathlib.Algebra.Category.Grp.LargeColimits +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Algebra.Module.CharacterModule +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift /-! # Properties of the universe lift functor for groups @@ -67,6 +69,8 @@ of `K ⋙ GrpCat.uliftFunctor.{u + 1}` is nontrivial (it is the "union" of all t too big to be in `GrpCat.{u}`). -/ +@[expose] public section + universe v w w' u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/Grp/Yoneda.lean b/Mathlib/Algebra/Category/Grp/Yoneda.lean index 673c1e6a64b660..f284e6513b28b6 100644 --- a/Mathlib/Algebra/Category/Grp/Yoneda.lean +++ b/Mathlib/Algebra/Category/Grp/Yoneda.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.CategoryTheory.Yoneda /-! # Yoneda embeddings @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Yoneda This file defines a few Yoneda embeddings for the category of commutative groups. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean b/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean index 5b797c765eaf95..ad35312ca7d1da 100644 --- a/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean +++ b/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic /-! The forgetful functor from ℤ-modules to additive commutative groups is @@ -14,6 +16,8 @@ either use this equivalence to transport the monoidal structure from `Module ℤ or, having constructed that monoidal structure directly, show this functor is monoidal. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/Grp/Zero.lean b/Mathlib/Algebra/Category/Grp/Zero.lean index e468ed4058ef9f..7248c553f904c5 100644 --- a/Mathlib/Algebra/Category/Grp/Zero.lean +++ b/Mathlib/Algebra/Category/Grp/Zero.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects /-! # The category of (commutative) (additive) groups has a zero object. @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects rather than from the existence of a zero object. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/GrpWithZero.lean b/Mathlib/Algebra/Category/GrpWithZero.lean index f32c2909f86477..60e9a599de1c89 100644 --- a/Mathlib/Algebra/Category/GrpWithZero.lean +++ b/Mathlib/Algebra/Category/GrpWithZero.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.GroupWithZero.WithZero -import Mathlib.CategoryTheory.Category.Bipointed +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.GroupWithZero.WithZero +public import Mathlib.CategoryTheory.Category.Bipointed /-! # The category of groups with zero @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Category.Bipointed This file defines `GrpWithZero`, the category of groups with zero. -/ +@[expose] public section + assert_not_exists Ring universe u diff --git a/Mathlib/Algebra/Category/HopfAlgCat/Basic.lean b/Mathlib/Algebra/Category/HopfAlgCat/Basic.lean index b852ea6d11bf00..827061f7fa0c29 100644 --- a/Mathlib/Algebra/Category/HopfAlgCat/Basic.lean +++ b/Mathlib/Algebra/Category/HopfAlgCat/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.BialgCat.Basic -import Mathlib.RingTheory.HopfAlgebra.Basic +module + +public import Mathlib.Algebra.Category.BialgCat.Basic +public import Mathlib.RingTheory.HopfAlgebra.Basic /-! # The category of Hopf algebras over a commutative ring @@ -16,6 +18,8 @@ This file mimics `Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean`. -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean b/Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean index 64bbf329c76bcf..b5b11a1288ca73 100644 --- a/Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean +++ b/Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.BialgCat.Monoidal -import Mathlib.Algebra.Category.HopfAlgCat.Basic -import Mathlib.RingTheory.HopfAlgebra.TensorProduct +module + +public import Mathlib.Algebra.Category.BialgCat.Monoidal +public import Mathlib.Algebra.Category.HopfAlgCat.Basic +public import Mathlib.RingTheory.HopfAlgebra.TensorProduct /-! # The monoidal structure on the category of Hopf algebras @@ -17,6 +19,8 @@ Here, we use this to declare a `MonoidalCategory` instance on the category of Ho the existing monoidal structure on `BialgCat`. -/ +@[expose] public section + universe u namespace HopfAlgCat diff --git a/Mathlib/Algebra/Category/ModuleCat/AB.lean b/Mathlib/Algebra/Category/ModuleCat/AB.lean index 85340e179340bd..9e1a3f019c5b87 100644 --- a/Mathlib/Algebra/Category/ModuleCat/AB.lean +++ b/Mathlib/Algebra/Category/ModuleCat/AB.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.Grp.AB -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Module.Shrink -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +module + +public import Mathlib.Algebra.Category.Grp.AB +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Module.Shrink +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic /-! # AB axioms in module categories @@ -16,6 +18,8 @@ and AB4*. Further, it proves that `R` is a separator in the category of modules concludes that this category is Grothendieck abelian. -/ +@[expose] public section + universe u v open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Abelian.lean b/Mathlib/Algebra/Category/ModuleCat/Abelian.lean index d41a39b3633f01..a876d7e09d433a 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Abelian.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Abelian.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.Algebra.Category.ModuleCat.Kernels -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.Algebra.Category.ModuleCat.Kernels +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.CategoryTheory.Abelian.Basic /-! # The category of left R-modules is abelian. @@ -14,6 +16,8 @@ import Mathlib.CategoryTheory.Abelian.Basic Additionally, two linear maps are exact in the categorical sense iff `range f = ker g`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean b/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean index 1b4ca8874b19bc..a5e8609a48faec 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin -/ -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.CategoryTheory.Linear.LinearFunctor +module + +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.CategoryTheory.Linear.LinearFunctor /-! The functor of forming finitely supported functions on a type with values in a `[Ring R]` @@ -14,6 +16,8 @@ is the left adjoint of the forgetful functor from `R`-modules to types. -/ +@[expose] public section + assert_not_exists Cardinal diff --git a/Mathlib/Algebra/Category/ModuleCat/Algebra.lean b/Mathlib/Algebra/Category/ModuleCat/Algebra.lean index 275ae2fa12b4ff..40cd138b3b401b 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Algebra.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic +module + +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic /-! # Additional typeclass for modules over an algebra @@ -29,6 +31,8 @@ that carries these typeclasses, this seems hard to achieve. requiring users to write `ModuleCat' ℤ A` when `A` is merely a ring.) -/ +@[expose] public section + universe v u w diff --git a/Mathlib/Algebra/Category/ModuleCat/Basic.lean b/Mathlib/Algebra/Category/ModuleCat/Basic.lean index a20eda623ce4f3..0569e3f96a1a50 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Basic.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Robert A. Spencer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert A. Spencer, Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.PUnit -import Mathlib.CategoryTheory.Conj -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.PUnit +public import Mathlib.CategoryTheory.Conj +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # The category of `R`-modules @@ -33,6 +35,8 @@ Similarly, given an isomorphism `f : M ≅ N` use `f.toLinearEquiv` and given a `f : M ≃ₗ[R] N`, use `f.toModuleIso`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Biproducts.lean b/Mathlib/Algebra/Category/ModuleCat/Biproducts.lean index 105b270f5efd24..ebaed602ebee67 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Biproducts.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Biproducts.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +module + +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat /-! # The category of `R`-modules has finite biproducts -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean b/Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean index f2c79cacff1c8a..5012d1b3c7be40 100644 --- a/Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean +++ b/Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.CategoryTheory.Adjunction.Mates -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.LinearAlgebra.TensorProduct.Tower +module + +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.CategoryTheory.Adjunction.Mates +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.LinearAlgebra.TensorProduct.Tower /-! # Change Of Rings @@ -43,6 +45,8 @@ Let `R, S` be rings and `f : R →+* S` `s ⊗ m : S ⊗[R, f] M`. -/ +@[expose] public section + suppress_compilation diff --git a/Mathlib/Algebra/Category/ModuleCat/Colimits.lean b/Mathlib/Algebra/Category/ModuleCat/Colimits.lean index a0364c9f7bad9a..e982cbe31b5d5e 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Colimits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Colimits.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise -import Mathlib.Algebra.Category.Grp.Colimits +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +public import Mathlib.Algebra.Category.Grp.Colimits /-! # The category of R-modules has all colimits. @@ -21,6 +23,8 @@ In fact, in `ModuleCat R` there is a much nicer model of colimits as quotients of finitely supported functions, and we really should implement this as well. -/ +@[expose] public section + universe w' w u v open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean b/Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean index 4019891ec410b5..13a0c2bd109c6a 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.RingTheory.Kaehler.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.RingTheory.Kaehler.Basic /-! # The differentials of a morphism in the category of commutative rings @@ -18,6 +20,8 @@ We also construct the module of differentials -/ +@[expose] public section + universe v u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean b/Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean index b97ea71e836873..bae7cf8db5072e 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Differentials.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Differentials.Basic /-! # The presheaf of differentials of a presheaf of modules @@ -35,6 +37,8 @@ to show that the two vanishing conditions `d_app` are equivalent). -/ +@[expose] public section + universe v u v₁ v₂ u₁ u₂ open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/EnoughInjectives.lean b/Mathlib/Algebra/Category/ModuleCat/EnoughInjectives.lean index 7bd654eb0c8c61..d4027d6b06fead 100644 --- a/Mathlib/Algebra/Category/ModuleCat/EnoughInjectives.lean +++ b/Mathlib/Algebra/Category/ModuleCat/EnoughInjectives.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Category.Grp.EnoughInjectives -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Ring.Shrink +module + +public import Mathlib.Algebra.Category.Grp.EnoughInjectives +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Ring.Shrink /-! # Category of $R$-modules has enough injectives @@ -14,6 +16,8 @@ We lift enough injectives of abelian groups to arbitrary $R$-modules by adjoint `restrictScalars ⊣ coextendScalars` -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/Algebra/Category/ModuleCat/EpiMono.lean b/Mathlib/Algebra/Category/ModuleCat/EpiMono.lean index b1967a8ea1eb06..32f557e5d25a62 100644 --- a/Mathlib/Algebra/Category/ModuleCat/EpiMono.lean +++ b/Mathlib/Algebra/Category/ModuleCat/EpiMono.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono /-! # Monomorphisms in `Module R` @@ -14,6 +16,8 @@ This file shows that an `R`-linear map is a monomorphism in the category of `R`- if and only if it is injective, and similarly an epimorphism if and only if it is surjective. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean b/Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean index e264e0042aec06..c1bf6b14d57304 100644 --- a/Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean +++ b/Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.LinearAlgebra.ExteriorPower.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic +module + +public import Mathlib.LinearAlgebra.ExteriorPower.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic /-! # The exterior powers as functors on the category of modules @@ -14,6 +16,8 @@ and this extends to a functor `ModuleCat.exteriorPower.functor : ModuleCat R ⥤ -/ +@[expose] public section + universe v u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean b/Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean index dd49339fefd500..64cf870b3ee45b 100644 --- a/Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.Algebra.Category.Grp.FilteredColimits -import Mathlib.Algebra.Category.ModuleCat.Colimits +module + +public import Mathlib.Algebra.Category.Grp.FilteredColimits +public import Mathlib.Algebra.Category.ModuleCat.Colimits /-! # The forgetful functor from `R`-modules preserves filtered colimits. @@ -20,6 +22,8 @@ implies that `forget (ModuleCat R)` preserves filtered colimits. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Category/ModuleCat/Free.lean b/Mathlib/Algebra/Category/ModuleCat/Free.lean index 6cca42e75a6fda..e2c55be05625c6 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Free.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Free.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.LinearAlgebra.Dimension.Free -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +module + +public import Mathlib.LinearAlgebra.Dimension.Free +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat /-! # Exact sequences with free modules @@ -26,6 +28,8 @@ linear algebra, module, free -/ +@[expose] public section + open CategoryTheory Module namespace ModuleCat diff --git a/Mathlib/Algebra/Category/ModuleCat/Images.lean b/Mathlib/Algebra/Category/ModuleCat/Images.lean index 186f5be8cdd48e..9b8403e83faf32 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Images.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Images.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.CategoryTheory.Limits.Shapes.Images +module + +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.CategoryTheory.Limits.Shapes.Images /-! # The category of R-modules has images. @@ -13,6 +15,8 @@ Note that we don't need to register any of the constructions here as instances, from the fact that `ModuleCat R` is an abelian category. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Injective.lean b/Mathlib/Algebra/Category/ModuleCat/Injective.lean index a0e3547845f395..cc0540901251e0 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Injective.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Injective.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Module.Injective -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.Algebra.Category.ModuleCat.EpiMono +module + +public import Mathlib.Algebra.Module.Injective +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.Algebra.Category.ModuleCat.EpiMono /-! # Injective objects in the category of $R$-modules -/ +@[expose] public section + open CategoryTheory universe u v diff --git a/Mathlib/Algebra/Category/ModuleCat/Kernels.lean b/Mathlib/Algebra/Category/ModuleCat/Kernels.lean index 4735438d07853e..daf915dc117fb2 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Kernels.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Kernels.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +module + +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise /-! # The concrete (co)kernels in the category of modules are (co)kernels in the categorical sense. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Limits.lean b/Mathlib/Algebra/Category/ModuleCat/Limits.lean index 9835da03c19797..dc60072185722c 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Limits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Limits.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Algebra.Colimit.Module -import Mathlib.Algebra.Module.Shrink +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Algebra.Colimit.Module +public import Mathlib.Algebra.Module.Shrink /-! # The category of R-modules has all limits @@ -15,6 +17,8 @@ Further, these limits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean index fe47f2da6701c9..42ebd75477af26 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Kim Morrison, Jakob von Raumer -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.LinearAlgebra.TensorProduct.Associator -import Mathlib.CategoryTheory.Monoidal.Linear +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Associator +public import Mathlib.CategoryTheory.Monoidal.Linear /-! # The monoidal category structure on R-modules @@ -27,6 +29,8 @@ If you're happy using the bundled `ModuleCat R`, it may be possible to mostly use this as an interface and not need to interact much with the implementation details. -/ +@[expose] public section + universe v w x u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean index d7bf93427f303d..374a6a924efa7f 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Kim Morrison, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Linear.Yoneda -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +module + +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Linear.Yoneda +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric /-! # The monoidal closed structure on `Module R`. -/ +@[expose] public section + universe v w x u open CategoryTheory Opposite diff --git a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean index 51752c4c9642dd..933ba6c92e7818 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Kim Morrison, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic /-! # The symmetric monoidal structure on `Module R`. -/ +@[expose] public section + universe v w x u open CategoryTheory MonoidalCategory diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf.lean index 81f341bba61bed..c937687f8ec090 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Category.Ring.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Category.Ring.Basic /-! # Presheaves of modules over a presheaf of rings. @@ -25,6 +27,8 @@ of scalars of `M.obj Y` via `R.map f`. * Pushforward and pullback. -/ +@[expose] public section + universe v v₁ u₁ u open CategoryTheory LinearMap Opposite diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean index cb0173d0796288..df11fbc7763267 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean @@ -3,16 +3,20 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.CategoryTheory.Abelian.Basic /-! # The category of presheaves of modules is abelian -/ +@[expose] public section + universe v v₁ u₁ u open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean index 57574ede2b8004..3c86c9755e6ae6 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Category.ModuleCat.Presheaf +module + +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Category.ModuleCat.Presheaf /-! # Change of presheaf of rings @@ -15,6 +17,8 @@ attached to a morphism of presheaves of rings `α : R ⟶ R'`. -/ +@[expose] public section + universe v v' u u' open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean index 54c19f7aea1af3..c48d4ff08b24b2 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Colimits +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Colimits /-! # Colimits in categories of presheaves of modules @@ -13,6 +15,8 @@ colimits exist in the category `PresheafOfModules R`. -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u u' open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean index 2bdcf0998ad7c7..95e1f0379fce9d 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits /-! # Epimorphisms and monomorphisms in the category of presheaves of modules @@ -15,6 +16,8 @@ in the category of presheaves of modules. -/ +@[expose] public section + universe v v₁ u₁ u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean index 9893653037ec2e..b63bbcbca176af 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Joel Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Adjunctions +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Adjunctions /-! # The free presheaf of modules on a presheaf of sets @@ -23,6 +25,8 @@ This contribution was created as part of the AIM workshop -/ +@[expose] public section + universe u v₁ u₁ open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean index 624fbfffa33fd0..6963a3fb6a3bd5 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian -import Mathlib.Algebra.Category.ModuleCat.Presheaf.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Free -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.Generator.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Free +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.Generator.Basic /-! # Generators for the category of presheaves of modules @@ -41,6 +43,8 @@ of a morphism between coproducts of objects in `freeYoneda R`. -/ +@[expose] public section + universe v v₁ u u₁ open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean index 6a19fb1dfefbd8..088bc1a7e2d9a6 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.CategoryTheory.Limits.Preserves.Limits -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.CategoryTheory.Limits.Preserves.Limits +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # Limits in categories of presheaves of modules @@ -15,6 +17,8 @@ limits exist in the category `PresheafOfModules R`. -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u u' open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean index e61dfa99e73b93..ed44194f96afcb 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Jack McKoen, Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic /-! # The monoidal category structure on presheaves of modules @@ -21,6 +23,8 @@ This contribution was created as part of the AIM workshop -/ +@[expose] public section + open CategoryTheory MonoidalCategory Category universe v u v₁ u₁ diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean index 79a2b6b1ddaea3..9ab9c07c7a0433 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Generator -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward -import Mathlib.CategoryTheory.Adjunction.PartialAdjoint +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Generator +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward +public import Mathlib.CategoryTheory.Adjunction.PartialAdjoint /-! # Pullback of presheaves of modules @@ -18,6 +20,8 @@ The existence of this left adjoint functor is obtained under suitable universe a -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u open CategoryTheory Limits Opposite diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean index 4f048fa4db8710..42e0285e0566a6 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings /-! # Pushforward of presheaves of modules @@ -18,6 +20,8 @@ a functor `pushforward : PresheafOfModules.{v} R ⥤ PresheafOfModules.{v} S`. -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean index cbb4687de2ae64..ce813977af36a4 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Limits -import Mathlib.CategoryTheory.Sites.LocallyBijective -import Mathlib.CategoryTheory.Sites.Sheafification -import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafify +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Limits +public import Mathlib.CategoryTheory.Sites.LocallyBijective +public import Mathlib.CategoryTheory.Sites.Sheafification +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced /-! # The sheafification functor for presheaves of modules @@ -23,6 +25,8 @@ sheafification functor `PresheafOfModules R.val ⥤ SheafOfModules R`. -/ +@[expose] public section + universe v v' u u' open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean index 778bf74dfa38ab..f3f5f1fd2e370f 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.ChangeOfRings +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! # The associated sheaf of a presheaf of modules @@ -22,6 +24,8 @@ and the presheaf of modules. -/ +@[expose] public section + universe w v v₁ u₁ u open CategoryTheory Functor diff --git a/Mathlib/Algebra/Category/ModuleCat/Products.lean b/Mathlib/Algebra/Category/ModuleCat/Products.lean index 5f54e822c1cf39..70e915806825df 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Products.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Products.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.LinearAlgebra.Pi -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Tactic.CategoryTheory.Elementwise +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Tactic.CategoryTheory.Elementwise /-! # The concrete products in the category of modules are products in the categorical sense. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Projective.lean b/Mathlib/Algebra/Category/ModuleCat/Projective.lean index c3d4ce770248af..02de13405902b1 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Projective.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Projective.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.Module.Projective -import Mathlib.CategoryTheory.Preadditive.Projective.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.Module.Projective +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic /-! # The category of `R`-modules has enough projectives. -/ +@[expose] public section + universe v u w open CategoryTheory Module ModuleCat diff --git a/Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean b/Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean index 4bc837231e4983..8fcbac094c1c36 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.CategoryTheory.Bicategory.Functor.LocallyDiscrete -import Mathlib.CategoryTheory.Adjunction.Mates +module + +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.CategoryTheory.Bicategory.Functor.LocallyDiscrete +public import Mathlib.CategoryTheory.Adjunction.Mates /-! # The pseudofunctors which send a commutative ring to its category of modules @@ -23,6 +25,8 @@ is given by the extension of scalars functors. -/ +@[expose] public section + universe v u open CategoryTheory ModuleCat diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf.lean index ec940988810a1e..6f25dae7b9b7ec 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.CategoryTheory.Sites.LocallyBijective -import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.CategoryTheory.Sites.LocallyBijective +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # Sheaves of modules over a sheaf of rings @@ -17,6 +18,8 @@ is a sheaf of rings on a category `C` equipped with a Grothendieck topology `J`. -/ +@[expose] public section + universe v v₁ u₁ u w open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean index 21b666f3991da0..dfa33872278309 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification -import Mathlib.CategoryTheory.Abelian.Transfer +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +public import Mathlib.CategoryTheory.Abelian.Transfer /-! # The category of sheaves of modules is abelian @@ -22,6 +24,8 @@ are imported. -/ +@[expose] public section + universe v v' u u' open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean index 119362781770b8..8e6dee6928b059 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Sheaf -import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.Algebra.Category.ModuleCat.Sheaf +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.ChangeOfRings +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! # Change of sheaf of rings @@ -16,6 +18,8 @@ attached to a morphism of sheaves of rings `α : R ⟶ R'`. -/ +@[expose] public section + universe v v' u u' open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean index 084626d49a1655..da187c899bcdab 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification /-! # Colimits in categories of sheaves of modules @@ -14,6 +16,8 @@ of presheaves of modules. -/ +@[expose] public section + universe w' w v v' u' u namespace SheafOfModules diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean index 3998bcac99d55e..99e131ceca8330 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Colimits +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Colimits /-! # Free sheaves of modules @@ -22,6 +24,8 @@ a type `I` to the coproduct of copies indexed by `I` of `unit R`. -/ +@[expose] public section + universe u v' u' open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean index d6fd8ed47cf6af..f92536f46cefc1 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Free -import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous -import Mathlib.CategoryTheory.Sites.CoversTop +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Free +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous +public import Mathlib.CategoryTheory.Sites.CoversTop /-! # Generating sections of sheaves of modules @@ -26,6 +27,8 @@ define sheaves of modules of finite type. -/ +@[expose] public section + universe u v' u' open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean index 355f39e454ce9f..990820cb99bb43 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits -import Mathlib.Algebra.Category.ModuleCat.Sheaf -import Mathlib.CategoryTheory.Sites.Limits +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits +public import Mathlib.Algebra.Category.ModuleCat.Sheaf +public import Mathlib.CategoryTheory.Sites.Limits /-! # Limits in categories of sheaves of modules @@ -17,6 +19,8 @@ limits exist in the category `SheafOfModules R`. -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean index 6ae976c69cad90..f00e194d477f4d 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification -import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Sheafification +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous /-! # Pullback of sheaves of modules @@ -23,6 +25,8 @@ modules commutes with the sheafification. -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean index 7c206e4ee078d2..5620e76b459127 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward -import Mathlib.Algebra.Category.ModuleCat.Sheaf -import Mathlib.CategoryTheory.Sites.Over +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward +public import Mathlib.Algebra.Category.ModuleCat.Sheaf +public import Mathlib.CategoryTheory.Sites.Over /-! # Pushforward of sheaves of modules @@ -18,6 +20,8 @@ a morphism of sheaves of rings, we construct the pushforward functor -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean index eb4fc1b80b9c4f..94ef65e8c2ce69 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators +module + +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators /-! # Quasicoherent sheaves @@ -18,6 +20,8 @@ When these coproducts are finite, we say that the sheaf is of finite presentatio -/ +@[expose] public section + universe u v' u' open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/ModuleCat/Simple.lean b/Mathlib/Algebra/Category/ModuleCat/Simple.lean index 39a3c7a0a5ce39..af73b99148ab10 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Simple.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Simple.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin, Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Algebra -import Mathlib.Algebra.Category.ModuleCat.Subobject -import Mathlib.CategoryTheory.Simple -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Algebra +public import Mathlib.Algebra.Category.ModuleCat.Subobject +public import Mathlib.CategoryTheory.Simple +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Simple objects in the category of `R`-modules @@ -15,6 +17,8 @@ import Mathlib.RingTheory.SimpleModule.Basic We prove simple modules are exactly simple objects in the category of `R`-modules. -/ +@[expose] public section + variable {R M : Type*} [Ring R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/Algebra/Category/ModuleCat/Subobject.lean b/Mathlib/Algebra/Category/ModuleCat/Subobject.lean index 323cad5f04566f..1b4e333f8250f1 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Subobject.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Subobject.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Kernels -import Mathlib.CategoryTheory.Subobject.WellPowered -import Mathlib.CategoryTheory.Subobject.Limits +module + +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Kernels +public import Mathlib.CategoryTheory.Subobject.WellPowered +public import Mathlib.CategoryTheory.Subobject.Limits /-! # Subobjects in the category of `R`-modules @@ -16,6 +18,8 @@ and its submodules. This immediately implies that the category of `R`-modules is -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Tannaka.lean b/Mathlib/Algebra/Category/ModuleCat/Tannaka.lean index c826db62f55412..eb187c8342d418 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Tannaka.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Tannaka.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.LinearAlgebra.Span.Basic /-! # Tannaka duality for rings @@ -14,6 +16,8 @@ the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean b/Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean index 75d4d37e9041c6..309be660819d37 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Richard Hill, Andrew Yang -/ -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Topology.Algebra.Module.ModuleTopology -import Mathlib.Topology.Category.TopCat.Limits.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Topology.Algebra.Module.ModuleTopology +public import Mathlib.Topology.Category.TopCat.Limits.Basic /-! # The category `TopModuleCat R` of topological modules @@ -26,6 +28,8 @@ We also provide various adjunctions: Show that the forgetful functor to `TopCat` preserves filtered colimits. -/ +@[expose] public section + universe v u variable (R : Type u) [Ring R] [TopologicalSpace R] diff --git a/Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean b/Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean index 1c76a05c141f68..2b84da70866395 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Richard Hill, Andrew Yang -/ -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Category.ModuleCat.Topology.Basic -import Mathlib.Algebra.Homology.ShortComplex.Abelian -import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology +module + +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Topology.Basic +public import Mathlib.Algebra.Homology.ShortComplex.Abelian +public import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology /-! @@ -18,6 +20,8 @@ category. See the `CategoryWithHomology (TopModuleCat R)` instance in this file. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Category/MonCat/Adjunctions.lean b/Mathlib/Algebra/Category/MonCat/Adjunctions.lean index b1e6ae7b285858..5d23b4c372cd46 100644 --- a/Mathlib/Algebra/Category/MonCat/Adjunctions.lean +++ b/Mathlib/Algebra/Category/MonCat/Adjunctions.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Category.Semigrp.Basic -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.Group.WithOne.Basic -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.SMulWithZero -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Category.Semigrp.Basic +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.Group.WithOne.Basic +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.SMulWithZero +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # Adjunctions regarding the category of monoids @@ -23,6 +25,8 @@ from monoids to semigroups. * adjunctions related to commutative monoids -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Category/MonCat/Basic.lean b/Mathlib/Algebra/Category/MonCat/Basic.lean index 5571bace71297f..1465eb1b709ad1 100644 --- a/Mathlib/Algebra/Category/MonCat/Basic.lean +++ b/Mathlib/Algebra/Category/MonCat/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Group.TypeTags.Hom -import Mathlib.Algebra.Group.ULift -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Group.TypeTags.Hom +public import Mathlib.Algebra.Group.ULift +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Category instances for `Monoid`, `AddMonoid`, `CommMonoid`, and `AddCommMonoid`. @@ -21,6 +23,8 @@ We introduce the bundled categories: along with the relevant forgetful functors between them. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u v @@ -62,14 +66,14 @@ end MonCat /-- The type of morphisms in `AddMonCat`. -/ @[ext] structure AddMonCat.Hom (A B : AddMonCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →+ B /-- The type of morphisms in `MonCat`. -/ @[to_additive, ext] structure MonCat.Hom (A B : MonCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →* B @@ -243,14 +247,14 @@ end CommMonCat /-- The type of morphisms in `AddCommMonCat`. -/ @[ext] structure AddCommMonCat.Hom (A B : AddCommMonCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →+ B /-- The type of morphisms in `CommMonCat`. -/ @[to_additive, ext] structure CommMonCat.Hom (A B : CommMonCat.{u}) where - private mk :: + --private mk :: /-- The underlying monoid homomorphism. -/ hom' : A →* B diff --git a/Mathlib/Algebra/Category/MonCat/Colimits.lean b/Mathlib/Algebra/Category/MonCat/Colimits.lean index 80d0e06c7d3259..f22ace6e4a5cef 100644 --- a/Mathlib/Algebra/Category/MonCat/Colimits.lean +++ b/Mathlib/Algebra/Category/MonCat/Colimits.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise /-! # The category of monoids has all colimits. @@ -46,6 +48,8 @@ Monoid.mk : {M : Type u} → ``` -/ +@[expose] public section + assert_not_exists MonoidWithZero universe v u diff --git a/Mathlib/Algebra/Category/MonCat/FilteredColimits.lean b/Mathlib/Algebra/Category/MonCat/FilteredColimits.lean index 67bdbf2c40121f..37c4c3553385c2 100644 --- a/Mathlib/Algebra/Category/MonCat/FilteredColimits.lean +++ b/Mathlib/Algebra/Category/MonCat/FilteredColimits.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.CategoryTheory.Limits.Preserves.Filtered -import Mathlib.CategoryTheory.ConcreteCategory.Elementwise -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.Algebra.Category.MonCat.Basic +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered +public import Mathlib.CategoryTheory.ConcreteCategory.Elementwise +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.Algebra.Category.MonCat.Basic /-! # The forgetful functor from (commutative) (additive) monoids preserves filtered colimits. @@ -21,6 +23,8 @@ showing that the forgetful functor `forget MonCat` preserves filtered colimits. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean b/Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean index 47181486947577..a74f6a80958998 100644 --- a/Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean +++ b/Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.CategoryTheory.Yoneda /-! # The forgetful functor is corepresentable @@ -17,6 +19,8 @@ and `MonCat`. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u diff --git a/Mathlib/Algebra/Category/MonCat/Limits.lean b/Mathlib/Algebra/Category/MonCat/Limits.lean index 2244738150f8d3..02695c7a222d1e 100644 --- a/Mathlib/Algebra/Category/MonCat/Limits.lean +++ b/Mathlib/Algebra/Category/MonCat/Limits.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Types.Limits +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Types.Limits /-! # The category of (commutative) (additive) monoids has all limits @@ -18,6 +20,8 @@ the underlying types are just the limits in the category of types. -/ +@[expose] public section + assert_not_exists MonoidWithZero noncomputable section diff --git a/Mathlib/Algebra/Category/MonCat/Yoneda.lean b/Mathlib/Algebra/Category/MonCat/Yoneda.lean index 5ee47dfe645a81..203fd42e038a6e 100644 --- a/Mathlib/Algebra/Category/MonCat/Yoneda.lean +++ b/Mathlib/Algebra/Category/MonCat/Yoneda.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.CategoryTheory.Yoneda /-! # Yoneda embeddings @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Yoneda This file defines a few Yoneda embeddings for the category of commutative monoids. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Algebra/Category/Ring/Adjunctions.lean b/Mathlib/Algebra/Category/Ring/Adjunctions.lean index bcb6dc2f2b798e..0303d63acbd9dc 100644 --- a/Mathlib/Algebra/Category/Ring/Adjunctions.lean +++ b/Mathlib/Algebra/Category/Ring/Adjunctions.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johannes Hölzl, Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Adjunctions in `CommRingCat` @@ -19,6 +21,8 @@ import Mathlib.CategoryTheory.Limits.Shapes.Terminal -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Algebra/Category/Ring/Basic.lean b/Mathlib/Algebra/Category/Ring/Basic.lean index 1af042df4d6ddd..05211ccf871119 100644 --- a/Mathlib/Algebra/Category/Ring/Basic.lean +++ b/Mathlib/Algebra/Category/Ring/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.PUnit -import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.PUnit +public import Mathlib.CategoryTheory.ConcreteCategory.ReflectsIso /-! # Category instances for `Semiring`, `Ring`, `CommSemiring`, and `CommRing`. @@ -20,13 +22,15 @@ We introduce the bundled categories: along with the relevant forgetful functors between them. -/ +@[expose] public section + universe u v open CategoryTheory /-- The category of semirings. -/ structure SemiRingCat where - private mk :: + --private mk :: /-- The underlying type. -/ carrier : Type u [semiring : Semiring carrier] @@ -56,7 +60,7 @@ variable {R} in /-- The type of morphisms in `SemiRingCat`. -/ @[ext] structure Hom (R S : SemiRingCat.{u}) where - private mk :: + --private mk :: /-- The underlying ring hom. -/ hom' : R →+* S @@ -176,7 +180,7 @@ end SemiRingCat /-- The category of rings. -/ structure RingCat where - private mk :: + --private mk :: /-- The underlying type. -/ carrier : Type u [ring : Ring carrier] @@ -206,7 +210,7 @@ variable {R} in /-- The type of morphisms in `RingCat`. -/ @[ext] structure Hom (R S : RingCat.{u}) where - private mk :: + --private mk :: /-- The underlying ring hom. -/ hom' : R →+* S @@ -338,7 +342,7 @@ end RingCat /-- The category of commutative semirings. -/ structure CommSemiRingCat where - private mk :: + --private mk :: /-- The underlying type. -/ carrier : Type u [commSemiring : CommSemiring carrier] @@ -368,7 +372,7 @@ variable {R} in /-- The type of morphisms in `CommSemiRingCat`. -/ @[ext] structure Hom (R S : CommSemiRingCat.{u}) where - private mk :: + --private mk :: /-- The underlying ring hom. -/ hom' : R →+* S @@ -499,7 +503,7 @@ end CommSemiRingCat /-- The category of commutative rings. -/ structure CommRingCat where - private mk :: + --private mk :: /-- The underlying type. -/ carrier : Type u [commRing : CommRing carrier] @@ -529,7 +533,7 @@ variable {R} in /-- The type of morphisms in `CommRingCat`. -/ @[ext] structure Hom (R S : CommRingCat.{u}) where - private mk :: + --private mk :: /-- The underlying ring hom. -/ hom' : R →+* S diff --git a/Mathlib/Algebra/Category/Ring/Colimits.lean b/Mathlib/Algebra/Category/Ring/Colimits.lean index 22f10d26279483..29f23085f72f9d 100644 --- a/Mathlib/Algebra/Category/Ring/Colimits.lean +++ b/Mathlib/Algebra/Category/Ring/Colimits.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # The category of commutative rings has all colimits. @@ -15,6 +17,8 @@ It is a very uniform approach, that conceivably could be synthesised directly by a tactic that analyses the shape of `CommRing` and `RingHom`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Category/Ring/Constructions.lean b/Mathlib/Algebra/Category/Ring/Constructions.lean index f2883d493ac1ba..7e6d8ff95c36d2 100644 --- a/Mathlib/Algebra/Category/Ring/Constructions.lean +++ b/Mathlib/Algebra/Category/Ring/Constructions.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Instances -import Mathlib.Algebra.Category.Ring.Limits -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Tactic.Algebraize -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.RingTheory.IsTensorProduct +module + +public import Mathlib.Algebra.Category.Ring.Instances +public import Mathlib.Algebra.Category.Ring.Limits +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Tactic.Algebraize +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.RingTheory.IsTensorProduct /-! # Constructions of (co)limits in `CommRingCat` @@ -26,6 +28,8 @@ In this file we provide the explicit (co)cones for various (co)limits in `CommRi -/ +@[expose] public section + universe u u' open CategoryTheory Limits TensorProduct diff --git a/Mathlib/Algebra/Category/Ring/Epi.lean b/Mathlib/Algebra/Category/Ring/Epi.lean index f11212bca2677e..947a69a885965b 100644 --- a/Mathlib/Algebra/Category/Ring/Epi.lean +++ b/Mathlib/Algebra/Category/Ring/Epi.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.RingTheory.TensorProduct.Finite -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.RingTheory.TensorProduct.Finite +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono /-! # Epimorphisms in `CommRingCat` @@ -14,6 +16,8 @@ import Mathlib.CategoryTheory.ConcreteCategory.EpiMono - `RingHom.surjective_iff_epi_and_finite`: surjective <=> epi + finite -/ +@[expose] public section + open CategoryTheory TensorProduct universe u diff --git a/Mathlib/Algebra/Category/Ring/FilteredColimits.lean b/Mathlib/Algebra/Category/Ring/FilteredColimits.lean index b6e2481baedba5..7905765b86058f 100644 --- a/Mathlib/Algebra/Category/Ring/FilteredColimits.lean +++ b/Mathlib/Algebra/Category/Ring/FilteredColimits.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Algebra.Category.Grp.FilteredColimits -import Mathlib.Algebra.Ring.ULift +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Algebra.Category.Grp.FilteredColimits +public import Mathlib.Algebra.Ring.ULift /-! # The forgetful functor from (commutative) (semi-) rings preserves filtered colimits. @@ -22,6 +24,8 @@ Similarly for `CommSemiRingCat`, `RingCat` and `CommRingCat`. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Category/Ring/FinitePresentation.lean b/Mathlib/Algebra/Category/Ring/FinitePresentation.lean index f823a647190526..8b7b2afa70fa20 100644 --- a/Mathlib/Algebra/Category/Ring/FinitePresentation.lean +++ b/Mathlib/Algebra/Category/Ring/FinitePresentation.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Christian Merten -/ -import Mathlib.Algebra.Category.Ring.FilteredColimits -import Mathlib.CategoryTheory.Limits.Preserves.Over -import Mathlib.CategoryTheory.Limits.Shapes.FiniteMultiequalizer -import Mathlib.CategoryTheory.Presentable.Finite -import Mathlib.RingTheory.EssentialFiniteness -import Mathlib.RingTheory.FinitePresentation +module + +public import Mathlib.Algebra.Category.Ring.FilteredColimits +public import Mathlib.CategoryTheory.Limits.Preserves.Over +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteMultiequalizer +public import Mathlib.CategoryTheory.Presentable.Finite +public import Mathlib.RingTheory.EssentialFiniteness +public import Mathlib.RingTheory.FinitePresentation /-! @@ -19,6 +21,8 @@ i.e. `Hom_R(S, -)` preserves filtered colimits. -/ +@[expose] public section + open CategoryTheory Limits universe vJ uJ u diff --git a/Mathlib/Algebra/Category/Ring/Instances.lean b/Mathlib/Algebra/Category/Ring/Instances.lean index a5577f8397b32e..7f0d6e462de808 100644 --- a/Mathlib/Algebra/Category/Ring/Instances.lean +++ b/Mathlib/Algebra/Category/Ring/Instances.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.LocalRing.RingHom.Basic +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.LocalRing.RingHom.Basic /-! # Ring-theoretic results in terms of categorical language -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Algebra/Category/Ring/Limits.lean b/Mathlib/Algebra/Category/Ring/Limits.lean index 4ef6c864d00748..5f69156836cc90 100644 --- a/Mathlib/Algebra/Category/Ring/Limits.lean +++ b/Mathlib/Algebra/Category/Ring/Limits.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Algebra.Ring.Pi -import Mathlib.Algebra.Ring.Shrink -import Mathlib.Algebra.Ring.Subring.Defs +module + +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Algebra.Ring.Shrink +public import Mathlib.Algebra.Ring.Subring.Defs /-! # The category of (commutative) rings has all limits @@ -16,6 +18,8 @@ Further, these limits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types. -/ +@[expose] public section + -- We use the following trick a lot of times in this file. library_note2 «change elaboration strategy with `by apply`» /-- diff --git a/Mathlib/Algebra/Category/Ring/LinearAlgebra.lean b/Mathlib/Algebra/Category/Ring/LinearAlgebra.lean index 056f49c7b389b9..4812f2dc8667d2 100644 --- a/Mathlib/Algebra/Category/Ring/LinearAlgebra.lean +++ b/Mathlib/Algebra/Category/Ring/LinearAlgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +module + +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic /-! # Results on the category of rings requiring linear algebra @@ -18,6 +20,8 @@ import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic -/ +@[expose] public section + universe u open CategoryTheory Limits TensorProduct diff --git a/Mathlib/Algebra/Category/Ring/Topology.lean b/Mathlib/Algebra/Category/Ring/Topology.lean index de03f0d8c0529a..8efca487e79dc8 100644 --- a/Mathlib/Algebra/Category/Ring/Topology.lean +++ b/Mathlib/Algebra/Category/Ring/Topology.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Christian Merten -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Topology on `Hom(R, S)` @@ -26,6 +28,8 @@ this is the subspace topology `Hom(A, R) ↪ Hom(ℤ[xᵢ], R) = Rᶥ`. -/ +@[expose] public section + universe u v open CategoryTheory Topology diff --git a/Mathlib/Algebra/Category/Ring/Under/Basic.lean b/Mathlib/Algebra/Category/Ring/Under/Basic.lean index f73058f450b323..25e5bb7a5dcb13 100644 --- a/Mathlib/Algebra/Category/Ring/Under/Basic.lean +++ b/Mathlib/Algebra/Category/Ring/Under/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.CategoryTheory.Comma.Over.Pullback +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.CategoryTheory.Comma.Over.Pullback /-! # Under `CommRingCat` @@ -15,6 +17,8 @@ In this file we provide basic API for `Under R` when `R : CommRingCat`. `Under R algebras, use `AlgCat R` instead. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/Algebra/Category/Ring/Under/Limits.lean b/Mathlib/Algebra/Category/Ring/Under/Limits.lean index 90289eedb1ed37..f2af3870f69f18 100644 --- a/Mathlib/Algebra/Category/Ring/Under/Limits.lean +++ b/Mathlib/Algebra/Category/Ring/Under/Limits.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Category.Ring.Under.Basic -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.Over -import Mathlib.RingTheory.TensorProduct.Pi -import Mathlib.RingTheory.RingHom.Flat -import Mathlib.RingTheory.Flat.Equalizer +module + +public import Mathlib.Algebra.Category.Ring.Under.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.Over +public import Mathlib.RingTheory.TensorProduct.Pi +public import Mathlib.RingTheory.RingHom.Flat +public import Mathlib.RingTheory.Flat.Equalizer /-! # Limits in `Under R` for a commutative ring `R` @@ -18,6 +20,8 @@ flat. -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Algebra/Category/Semigrp/Basic.lean b/Mathlib/Algebra/Category/Semigrp/Basic.lean index df4c1ac72ab44d..f428723d5d3624 100644 --- a/Mathlib/Algebra/Category/Semigrp/Basic.lean +++ b/Mathlib/Algebra/Category/Semigrp/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.PEmptyInstances -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.Algebra.PEmptyInstances +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Category instances for `Mul`, `Add`, `Semigroup` and `AddSemigroup` @@ -27,6 +29,8 @@ This closely follows `Mathlib/Algebra/Category/MonCat/Basic.lean`. * free/forgetful adjunctions -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Central/Basic.lean b/Mathlib/Algebra/Central/Basic.lean index e794953c237c62..6e5b091bee0412 100644 --- a/Mathlib/Algebra/Central/Basic.lean +++ b/Mathlib/Algebra/Central/Basic.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Jujian Zhang, Yunzhou Xie -/ +module -import Mathlib.Algebra.Central.Defs +public import Mathlib.Algebra.Central.Defs /-! # Central Algebras @@ -19,6 +20,8 @@ In this file, we prove some basic results about central algebras over a commutat `K` and `k` are fields. If `D` is a nontrivial central algebra over `k`, `K` is isomorphic to `k`. -/ +@[expose] public section + universe u v namespace Algebra.IsCentral diff --git a/Mathlib/Algebra/Central/Defs.lean b/Mathlib/Algebra/Central/Defs.lean index 84a98ab1559a55..bbdaed1e43c491 100644 --- a/Mathlib/Algebra/Central/Defs.lean +++ b/Mathlib/Algebra/Central/Defs.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice /-! # Central Algebras @@ -55,6 +56,8 @@ central algebra, center, simple ring, central simple algebra -/ +@[expose] public section + universe u v /-- diff --git a/Mathlib/Algebra/Central/Matrix.lean b/Mathlib/Algebra/Central/Matrix.lean index 00f3cc54fa95cd..f19b01526fc7ad 100644 --- a/Mathlib/Algebra/Central/Matrix.lean +++ b/Mathlib/Algebra/Central/Matrix.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Yunzhou Xie -/ -import Mathlib.Algebra.Central.Defs -import Mathlib.Data.Matrix.Basis +module + +public import Mathlib.Algebra.Central.Defs +public import Mathlib.Data.Matrix.Basis /-! # The matrix algebra is a central algebra -/ +@[expose] public section + namespace Matrix variable {n R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A] [Fintype n] [DecidableEq n] diff --git a/Mathlib/Algebra/Central/TensorProduct.lean b/Mathlib/Algebra/Central/TensorProduct.lean index 2c9a0dd4708ff9..976f9e6b97bd16 100644 --- a/Mathlib/Algebra/Central/TensorProduct.lean +++ b/Mathlib/Algebra/Central/TensorProduct.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Yunzhou Xie -/ +module -import Mathlib.Algebra.Central.Basic -import Mathlib.RingTheory.Flat.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.Algebra.Central.Basic +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! @@ -28,6 +29,8 @@ algebra and `B, C` nontrivial, then both `B` and `C` are central algebras. Central Algebras, Central Simple Algebras, Noncommutative Algebra -/ +@[expose] public section + universe u v open TensorProduct diff --git a/Mathlib/Algebra/CharP/Algebra.lean b/Mathlib/Algebra/CharP/Algebra.lean index bdd8950acecc5a..2d675ff2b4476e 100644 --- a/Mathlib/Algebra/CharP/Algebra.lean +++ b/Mathlib/Algebra/CharP/Algebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Eugster, Eric Wieser -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.FreeAlgebra -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Characteristics of algebras @@ -28,6 +30,8 @@ Instances constructed from this result: -/ +@[expose] public section + /-- Given `R →+* A`, then `char A ∣ char R`. -/ theorem CharP.dvd_of_ringHom {R A : Type*} [NonAssocSemiring R] [NonAssocSemiring A] (f : R →+* A) (p q : ℕ) [CharP R p] [CharP A q] : q ∣ p := by diff --git a/Mathlib/Algebra/CharP/Basic.lean b/Mathlib/Algebra/CharP/Basic.lean index 48044fd98a896f..cc49a2236da9d2 100644 --- a/Mathlib/Algebra/CharP/Basic.lean +++ b/Mathlib/Algebra/CharP/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Joey van Langen, Casper Putz -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Group.Fin.Basic -import Mathlib.Algebra.Ring.ULift -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Data.Int.ModEq -import Mathlib.Data.Nat.Cast.Prod -import Mathlib.Data.ULift -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Algebra.Ring.GrindInstances +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Group.Fin.Basic +public import Mathlib.Algebra.Ring.ULift +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Data.Int.ModEq +public import Mathlib.Data.Nat.Cast.Prod +public import Mathlib.Data.ULift +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Algebra.Ring.GrindInstances /-! # Characteristic of semirings @@ -22,6 +24,8 @@ imports of `CharP/Lemmas.lean`. As such, we can probably reorganize and find a better home for most of these lemmas. -/ +@[expose] public section + assert_not_exists Finset TwoSidedIdeal open Set diff --git a/Mathlib/Algebra/CharP/CharAndCard.lean b/Mathlib/Algebra/CharP/CharAndCard.lean index a151d9c2969fc5..c11288dc32e6ed 100644 --- a/Mathlib/Algebra/CharP/CharAndCard.lean +++ b/Mathlib/Algebra/CharP/CharAndCard.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.GroupTheory.Perm.Cycle.Type -import Mathlib.RingTheory.Coprime.Lemmas +module + +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.GroupTheory.Perm.Cycle.Type +public import Mathlib.RingTheory.Coprime.Lemmas /-! # Characteristic and cardinality @@ -17,6 +19,8 @@ We prove some results relating characteristic and cardinality of finite rings characteristic, cardinality, ring -/ +@[expose] public section + /-- A prime `p` is a unit in a commutative ring `R` of nonzero characteristic iff it does not divide the characteristic. -/ diff --git a/Mathlib/Algebra/CharP/Defs.lean b/Mathlib/Algebra/CharP/Defs.lean index aecefed26ade93..e9215059d61f89 100644 --- a/Mathlib/Algebra/CharP/Defs.lean +++ b/Mathlib/Algebra/CharP/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Joey van Langen, Casper Putz -/ -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Data.Nat.Find -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Order.Lattice +module + +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Order.Lattice /-! # Characteristic of semirings @@ -20,6 +22,8 @@ import Mathlib.Order.Lattice prime characteristic `p`) -/ +@[expose] public section + assert_not_exists Field Finset OrderHom variable (R : Type*) diff --git a/Mathlib/Algebra/CharP/Frobenius.lean b/Mathlib/Algebra/CharP/Frobenius.lean index 7f05dce9eba767..08f70877580f2d 100644 --- a/Mathlib/Algebra/CharP/Frobenius.lean +++ b/Mathlib/Algebra/CharP/Frobenius.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Jakob Scholbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Scholbach -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.CharP.Lemmas +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.CharP.Lemmas /-! ### The Frobenius endomorphism @@ -20,6 +22,8 @@ The definitions of `frobenius` and `iterateFrobenius` ring homomorphisms are in files forbidding to import algebra-related definitions (see `Mathlib/Algebra/CharP/Two.lean`). -/ +@[expose] public section + section CommSemiring variable {R : Type*} [CommSemiring R] {S : Type*} [CommSemiring S] diff --git a/Mathlib/Algebra/CharP/IntermediateField.lean b/Mathlib/Algebra/CharP/IntermediateField.lean index 6016d298478c6c..27e4608057065a 100644 --- a/Mathlib/Algebra/CharP/IntermediateField.lean +++ b/Mathlib/Algebra/CharP/IntermediateField.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.FieldTheory.IntermediateField.Basic +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.FieldTheory.IntermediateField.Basic /-! @@ -16,6 +18,8 @@ covered by `SubsemiringClass.instCharZero`. -/ +@[expose] public section + variable {F E : Type*} [Field F] [Field E] [Algebra F E] namespace Subfield diff --git a/Mathlib/Algebra/CharP/Invertible.lean b/Mathlib/Algebra/CharP/Invertible.lean index 932cf87bc84071..e0bfd66445fbd1 100644 --- a/Mathlib/Algebra/CharP/Invertible.lean +++ b/Mathlib/Algebra/CharP/Invertible.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.Parity -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Int.GCD -import Mathlib.Data.Nat.Cast.Commute +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Algebra.GroupWithZero.Invertible +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Int.GCD +public import Mathlib.Data.Nat.Cast.Commute /-! # Invertibility of elements given a characteristic @@ -20,6 +22,8 @@ when needed. To construct instances for concrete numbers, `invertibleOfNonzero` is a useful definition. -/ +@[expose] public section + variable {R K : Type*} diff --git a/Mathlib/Algebra/CharP/Lemmas.lean b/Mathlib/Algebra/CharP/Lemmas.lean index 1e8f00e320c4dc..d4dc64725ba2c4 100644 --- a/Mathlib/Algebra/CharP/Lemmas.lean +++ b/Mathlib/Algebra/CharP/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Joey van Langen, Casper Putz -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Data.Nat.Multiplicity -import Mathlib.Data.Nat.Choose.Sum +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Data.Nat.Multiplicity +public import Mathlib.Data.Nat.Choose.Sum /-! # Characteristic of semirings -/ +@[expose] public section + assert_not_exists Algebra LinearMap orderOf open Finset diff --git a/Mathlib/Algebra/CharP/LinearMaps.lean b/Mathlib/Algebra/CharP/LinearMaps.lean index 695e68e45f0797..c05d413a3626bb 100644 --- a/Mathlib/Algebra/CharP/LinearMaps.lean +++ b/Mathlib/Algebra/CharP/LinearMaps.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Wanyi He. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wanyi He, Huanyu Zheng -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.Algebra.Module.Torsion +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.Algebra.Module.Torsion /-! # Characteristic of the ring of linear Maps @@ -30,6 +32,8 @@ One can also deduce similar result via `charP_of_injective_ringHom` and -/ +@[expose] public section + namespace Module variable {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] diff --git a/Mathlib/Algebra/CharP/LocalRing.lean b/Mathlib/Algebra/CharP/LocalRing.lean index f8cc6f6a991be2..a9b5ce5797949b 100644 --- a/Mathlib/Algebra/CharP/LocalRing.lean +++ b/Mathlib/Algebra/CharP/LocalRing.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Eugster -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.IsPrimePow -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.RingTheory.LocalRing.ResidueField.Defs +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs /-! # Characteristics of local rings @@ -18,6 +20,8 @@ import Mathlib.RingTheory.LocalRing.ResidueField.Defs -/ +@[expose] public section + /-- In a local ring the characteristic is either zero or a prime power. -/ theorem charP_zero_or_prime_power (R : Type*) [CommRing R] [IsLocalRing R] (q : ℕ) diff --git a/Mathlib/Algebra/CharP/MixedCharZero.lean b/Mathlib/Algebra/CharP/MixedCharZero.lean index fc47e2a622e0b1..ff875f5c477e95 100644 --- a/Mathlib/Algebra/CharP/MixedCharZero.lean +++ b/Mathlib/Algebra/CharP/MixedCharZero.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Eugster -/ -import Mathlib.Algebra.CharP.LocalRing -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.CharP.LocalRing +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.Tactic.FieldSimp /-! # Equal and mixed characteristic @@ -53,6 +55,8 @@ equivalent conditions. - Relate mixed characteristic in a local ring to p-adic numbers [NumberTheory.PAdics]. -/ +@[expose] public section + variable (R : Type*) [CommRing R] /-! diff --git a/Mathlib/Algebra/CharP/Pi.lean b/Mathlib/Algebra/CharP/Pi.lean index 0d3677687fc0d4..5555da8daee1ff 100644 --- a/Mathlib/Algebra/CharP/Pi.lean +++ b/Mathlib/Algebra/CharP/Pi.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Ring.Pi +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Ring.Pi /-! # Characteristic of semirings of functions -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/CharP/Quotient.lean b/Mathlib/Algebra/CharP/Quotient.lean index b0309f5cc73108..3489153a2c73be 100644 --- a/Mathlib/Algebra/CharP/Quotient.lean +++ b/Mathlib/Algebra/CharP/Quotient.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Eric Wieser -/ -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Nonunits -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Nonunits +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! # Characteristic of quotient rings -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/CharP/Reduced.lean b/Mathlib/Algebra/CharP/Reduced.lean index c9a9acacb9a25f..4f96d782e015bc 100644 --- a/Mathlib/Algebra/CharP/Reduced.lean +++ b/Mathlib/Algebra/CharP/Reduced.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Joey van Langen, Casper Putz -/ -import Mathlib.Algebra.CharP.Frobenius -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Algebra.CharP.Frobenius +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Results about characteristic p reduced rings -/ +@[expose] public section + open Finset diff --git a/Mathlib/Algebra/CharP/Subring.lean b/Mathlib/Algebra/CharP/Subring.lean index 4ccb16333d933e..772b8bb64d4832 100644 --- a/Mathlib/Algebra/CharP/Subring.lean +++ b/Mathlib/Algebra/CharP/Subring.lean @@ -3,12 +3,16 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Algebra +module + +public import Mathlib.Algebra.CharP.Algebra /-! # Characteristic of subrings -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/CharP/Two.lean b/Mathlib/Algebra/CharP/Two.lean index edf352a7be1d12..3cf9a2fb481d06 100644 --- a/Mathlib/Algebra/CharP/Two.lean +++ b/Mathlib/Algebra/CharP/Two.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.GroupTheory.OrderOfElement +module + +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.GroupTheory.OrderOfElement /-! # Lemmas about rings of characteristic two @@ -15,6 +17,8 @@ The lemmas in this file with a `_sq` suffix are just special cases of the `_pow_ elsewhere, with a shorter name for ease of discovery, and no need for a `[Fact (Prime 2)]` argument. -/ +@[expose] public section + assert_not_exists Algebra LinearMap variable {R ι : Type*} diff --git a/Mathlib/Algebra/CharZero/AddMonoidHom.lean b/Mathlib/Algebra/CharZero/AddMonoidHom.lean index fadd04e104eb9d..1adfc8d6b94ddb 100644 --- a/Mathlib/Algebra/CharZero/AddMonoidHom.lean +++ b/Mathlib/Algebra/CharZero/AddMonoidHom.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Data.Nat.Cast.Basic +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Data.Nat.Cast.Basic /-! # Transporting `CharZero` accross injective `AddMonoidHom`s @@ -13,6 +15,8 @@ import Mathlib.Data.Nat.Cast.Basic This file exists in order to avoid adding extra imports to other files in this subdirectory. -/ +@[expose] public section + theorem CharZero.of_addMonoidHom {M N : Type*} [AddCommMonoidWithOne M] [AddCommMonoidWithOne N] [CharZero M] (e : M →+ N) (he : e 1 = 1) (he' : Function.Injective e) : CharZero N where cast_injective n m h := by diff --git a/Mathlib/Algebra/CharZero/Defs.lean b/Mathlib/Algebra/CharZero/Defs.lean index d05ad718c6b143..98d1478627011c 100644 --- a/Mathlib/Algebra/CharZero/Defs.lean +++ b/Mathlib/Algebra/CharZero/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Int.Cast.Defs -import Mathlib.Logic.Basic +module + +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.Logic.Basic /-! @@ -25,6 +27,8 @@ from the natural numbers into it is injective. * Unify with `CharP` (possibly using an out-parameter) -/ +@[expose] public section + /-- Typeclass for monoids with characteristic zero. (This is usually stated on fields but it makes sense for any additive monoid with 1.) diff --git a/Mathlib/Algebra/CharZero/Infinite.lean b/Mathlib/Algebra/CharZero/Infinite.lean index 3a76c6548a4f08..9b694380b4b912 100644 --- a/Mathlib/Algebra/CharZero/Infinite.lean +++ b/Mathlib/Algebra/CharZero/Infinite.lean @@ -3,11 +3,15 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Data.Fintype.EquivFin /-! # A characteristic-zero semiring is infinite -/ +@[expose] public section + open Set diff --git a/Mathlib/Algebra/CharZero/Quotient.lean b/Mathlib/Algebra/CharZero/Quotient.lean index 15df0b50b6de24..04635af627070a 100644 --- a/Mathlib/Algebra/CharZero/Quotient.lean +++ b/Mathlib/Algebra/CharZero/Quotient.lean @@ -3,16 +3,20 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Module.NatInt -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic /-! # Lemmas about quotients in characteristic zero -/ +@[expose] public section + variable {R : Type*} [DivisionRing R] [CharZero R] {p : R} diff --git a/Mathlib/Algebra/Colimit/DirectLimit.lean b/Mathlib/Algebra/Colimit/DirectLimit.lean index 52cc29f38708e4..03554918fa1437 100644 --- a/Mathlib/Algebra/Colimit/DirectLimit.lean +++ b/Mathlib/Algebra/Colimit/DirectLimit.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Data.Rat.Cast.Defs -import Mathlib.Order.DirectedInverseSystem -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Data.Rat.Cast.Defs +public import Mathlib.Order.DirectedInverseSystem +public import Mathlib.Tactic.SuppressCompilation /-! # Direct limit of algebraic structures @@ -41,6 +43,8 @@ the same pattern. Since any two colimits are isomorphic, this allows us to golf equality criteria for `Module/AddCommGroup/Ring.DirectLimit`. -/ +@[expose] public section + suppress_compilation variable {R ι : Type*} [Preorder ι] {G : ι → Type*} diff --git a/Mathlib/Algebra/Colimit/Finiteness.lean b/Mathlib/Algebra/Colimit/Finiteness.lean index 5ea30d317efcb7..f32fa1d96d3d39 100644 --- a/Mathlib/Algebra/Colimit/Finiteness.lean +++ b/Mathlib/Algebra/Colimit/Finiteness.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Colimit.Module -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Algebra.Colimit.Module +public import Mathlib.RingTheory.Finiteness.Basic /-! # Modules as direct limits of finitely generated submodules @@ -19,6 +21,8 @@ We show that every module is the direct limit of its finitely generated submodul finitely generated submodules. -/ +@[expose] public section + namespace Module variable (R M : Type*) [Semiring R] [AddCommMonoid M] [Module R M] diff --git a/Mathlib/Algebra/Colimit/Module.lean b/Mathlib/Algebra/Colimit/Module.lean index b40b3e67dedda8..2bc69c2d8803e8 100644 --- a/Mathlib/Algebra/Colimit/Module.lean +++ b/Mathlib/Algebra/Colimit/Module.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kenny Lau, Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Jujian Zhang -/ -import Mathlib.Algebra.Colimit.DirectLimit -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Data.Finset.Order -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Colimit.DirectLimit +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Data.Finset.Order +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.Tactic.SuppressCompilation /-! # Direct limit of modules and abelian groups @@ -27,6 +29,8 @@ so as to make the operations (addition etc.) "computable". -/ +@[expose] public section + suppress_compilation variable {R : Type*} [Semiring R] {ι : Type*} [Preorder ι] {G : ι → Type*} diff --git a/Mathlib/Algebra/Colimit/Ring.lean b/Mathlib/Algebra/Colimit/Ring.lean index e4aaadd4875aa2..cec53a540aa186 100644 --- a/Mathlib/Algebra/Colimit/Ring.lean +++ b/Mathlib/Algebra/Colimit/Ring.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kenny Lau, Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Jujian Zhang -/ -import Mathlib.Algebra.Colimit.DirectLimit -import Mathlib.Data.Finset.Order -import Mathlib.RingTheory.FreeCommRing -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Colimit.DirectLimit +public import Mathlib.Data.Finset.Order +public import Mathlib.RingTheory.FreeCommRing +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.Tactic.SuppressCompilation /-! # Direct limit of rings, and fields @@ -26,6 +28,8 @@ the disjoint union so as to make the operations (addition etc.) "computable". -/ +@[expose] public section + assert_not_exists Cardinal suppress_compilation diff --git a/Mathlib/Algebra/Colimit/TensorProduct.lean b/Mathlib/Algebra/Colimit/TensorProduct.lean index a49fceb3f6948b..212518cac81c08 100644 --- a/Mathlib/Algebra/Colimit/TensorProduct.lean +++ b/Mathlib/Algebra/Colimit/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Colimit.Finiteness -import Mathlib.LinearAlgebra.TensorProduct.DirectLimit +module + +public import Mathlib.Algebra.Colimit.Finiteness +public import Mathlib.LinearAlgebra.TensorProduct.DirectLimit /-! # Tensor product with direct limit of finitely generated submodules @@ -17,6 +19,8 @@ that every module is the direct limit of its finitely generated submodules and t product preserves colimits. -/ +@[expose] public section + open TensorProduct variable {R M P : Type*} [CommSemiring R] diff --git a/Mathlib/Algebra/ContinuedFractions/Basic.lean b/Mathlib/Algebra/ContinuedFractions/Basic.lean index 5ab3a573d5c4af..c6eb3f2797c9dc 100644 --- a/Mathlib/Algebra/ContinuedFractions/Basic.lean +++ b/Mathlib/Algebra/ContinuedFractions/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Data.Seq.Defs -import Mathlib.Algebra.Field.Defs +module + +public import Mathlib.Data.Seq.Defs +public import Mathlib.Algebra.Field.Defs /-! # Basic Definitions/Theorems for Continued Fractions @@ -38,6 +40,8 @@ fractions. We hence just call them `ContFract` in the library. numerics, number theory, approximations, fractions -/ +@[expose] public section + -- Fix a carrier `α`. variable (α : Type*) diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean b/Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean index fd600a335de6c4..e2c590c33de928 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Computation.Approximations -import Mathlib.Algebra.ContinuedFractions.ConvergentsEquiv -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Tactic.GCongr -import Mathlib.Topology.Order.LeftRightNhds +module + +public import Mathlib.Algebra.ContinuedFractions.Computation.Approximations +public import Mathlib.Algebra.ContinuedFractions.ConvergentsEquiv +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Tactic.GCongr +public import Mathlib.Topology.Order.LeftRightNhds /-! # Corollaries From Approximation Lemmas (`Algebra.ContinuedFractions.Computation.Approximations`) @@ -37,6 +39,8 @@ Moreover, we show the convergence of the continued fractions computations, that convergence, fractions -/ +@[expose] public section + variable {K : Type*} (v : K) [Field K] [LinearOrder K] [IsStrictOrderedRing K] [FloorRing K] open GenContFract (of) diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean b/Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean index 4361b52805ec7c..938f3b8bbacbfb 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Determinant -import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Data.Nat.Fib.Basic -import Mathlib.Tactic.Monotonicity -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.ContinuedFractions.Determinant +public import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Data.Nat.Fib.Basic +public import Mathlib.Tactic.Monotonicity +public import Mathlib.Tactic.GCongr /-! # Approximations for Continued Fraction Computations (`GenContFract.of`) @@ -46,6 +48,8 @@ in `Algebra.ContinuedFractions.Computation.ApproximationCorollaries`. -/ +@[expose] public section + open GenContFract open GenContFract (of) diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean b/Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean index 19741ccc9e0a61..360199bdfe4e46 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Basic -import Mathlib.Algebra.Order.Floor.Defs +module + +public import Mathlib.Algebra.ContinuedFractions.Basic +public import Mathlib.Algebra.Order.Floor.Defs /-! # Computable Continued Fractions @@ -58,6 +60,8 @@ with a head term (`seq1`) is then transformed to a generalized continued fractio numerics, number theory, approximations, fractions -/ +@[expose] public section + assert_not_exists Finset namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean b/Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean index 246265f28f3ed2..044e09a879e51f 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Computation.Translations -import Mathlib.Algebra.ContinuedFractions.TerminatedStable -import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.ContinuedFractions.Computation.Translations +public import Mathlib.Algebra.ContinuedFractions.TerminatedStable +public import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Ring /-! # Correctness of Terminating Continued Fraction Computations (`GenContFract.of`) @@ -41,6 +43,8 @@ information about the computation process, refer to `Algebra.ContinuedFractions. `v = (GenContFract.of v).convs n` if `GenContFract.of v` terminated at position `n`. -/ +@[expose] public section + assert_not_exists Finset namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean index 13be5c4fc27e60..0efabec9521a19 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Computation.Approximations -import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating -import Mathlib.Data.Rat.Floor +module + +public import Mathlib.Algebra.ContinuedFractions.Computation.Approximations +public import Mathlib.Algebra.ContinuedFractions.Computation.CorrectnessTerminating +public import Mathlib.Data.Rat.Floor /-! # Termination of Continued Fraction Computations (`GenContFract.of`) @@ -27,6 +29,8 @@ rational number, that is `↑v = q` for some `q : ℚ`. rational, continued fraction, termination -/ +@[expose] public section + namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean b/Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean index 9348513700ccaa..2d3af712a2b935 100644 --- a/Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean +++ b/Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Computation.Basic -import Mathlib.Algebra.ContinuedFractions.Translations -import Mathlib.Algebra.Order.Floor.Ring +module + +public import Mathlib.Algebra.ContinuedFractions.Computation.Basic +public import Mathlib.Algebra.ContinuedFractions.Translations +public import Mathlib.Algebra.Order.Floor.Ring /-! # Basic Translation Lemmas Between Structures Defined for Computing Continued Fractions @@ -38,6 +40,8 @@ The file consists of three sections: parts. -/ +@[expose] public section + assert_not_exists Finset namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean b/Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean index 0c05fb47e27565..a61dbe457eaaba 100644 --- a/Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean +++ b/Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Translations +module + +public import Mathlib.Algebra.ContinuedFractions.Translations /-! # Recurrence Lemmas for the Continuants (`conts`) Function of Continued Fractions @@ -16,6 +18,8 @@ function indeed satisfies the following recurrences: - `Bₙ = bₙ * Bₙ₋₁ + aₙ * Bₙ₋₂`. -/ +@[expose] public section + namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean b/Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean index 4d990d1861b4e2..46aeb61dd33566 100644 --- a/Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean +++ b/Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence -import Mathlib.Algebra.ContinuedFractions.TerminatedStable -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence +public import Mathlib.Algebra.ContinuedFractions.TerminatedStable +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Ring /-! # Equivalence of Recursive and Direct Computations of Convergents of Generalized Continued Fractions @@ -63,6 +65,8 @@ The corresponding lemma in this file is `succ_nth_conv_eq_squashGCF_nth_conv`. fractions, recurrence, equivalence -/ +@[expose] public section + variable {K : Type*} {n : ℕ} diff --git a/Mathlib/Algebra/ContinuedFractions/Determinant.lean b/Mathlib/Algebra/ContinuedFractions/Determinant.lean index 34f75324ec2ca9..0300213fa49293 100644 --- a/Mathlib/Algebra/ContinuedFractions/Determinant.lean +++ b/Mathlib/Algebra/ContinuedFractions/Determinant.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence -import Mathlib.Algebra.ContinuedFractions.TerminatedStable -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.ContinuedFractions.ContinuantsRecurrence +public import Mathlib.Algebra.ContinuedFractions.TerminatedStable +public import Mathlib.Tactic.Ring /-! # Determinant Formula for Simple Continued Fraction @@ -26,6 +28,8 @@ Generalize this for `GenContFract` version: -/ +@[expose] public section + open GenContFract namespace SimpContFract diff --git a/Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean b/Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean index c76efe76007182..de1d77b9b3dcfa 100644 --- a/Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean +++ b/Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Translations +module + +public import Mathlib.Algebra.ContinuedFractions.Translations /-! # Stabilisation of gcf Computations Under Termination @@ -13,6 +15,8 @@ import Mathlib.Algebra.ContinuedFractions.Translations We show that the continuants and convergents of a gcf stabilise once the gcf terminates. -/ +@[expose] public section + namespace GenContFract diff --git a/Mathlib/Algebra/ContinuedFractions/Translations.lean b/Mathlib/Algebra/ContinuedFractions/Translations.lean index 4323af722d09ba..ed68101b281cc8 100644 --- a/Mathlib/Algebra/ContinuedFractions/Translations.lean +++ b/Mathlib/Algebra/ContinuedFractions/Translations.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann -/ -import Mathlib.Algebra.ContinuedFractions.Basic -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Data.Seq.Basic +module + +public import Mathlib.Algebra.ContinuedFractions.Basic +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Data.Seq.Basic /-! # Basic Translation Lemmas Between Functions Defined for Continued Fractions @@ -16,6 +18,8 @@ Some simple translation lemmas between the different definitions of functions de `Algebra.ContinuedFractions.Basic`. -/ +@[expose] public section + namespace GenContFract diff --git a/Mathlib/Algebra/CubicDiscriminant.lean b/Mathlib/Algebra/CubicDiscriminant.lean index d5d65cd2fd2e53..b3317b8b88f6c8 100644 --- a/Mathlib/Algebra/CubicDiscriminant.lean +++ b/Mathlib/Algebra/CubicDiscriminant.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.Tactic.IntervalCases /-! # Cubics and discriminants @@ -31,6 +33,8 @@ This file defines cubic polynomials over a semiring and their discriminants over cubic, discriminant, polynomial, root -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/DirectSum/AddChar.lean b/Mathlib/Algebra/DirectSum/AddChar.lean index a9a6296c828330..71ed8ce3ca5986 100644 --- a/Mathlib/Algebra/DirectSum/AddChar.lean +++ b/Mathlib/Algebra/DirectSum/AddChar.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.DirectSum.Basic -import Mathlib.Algebra.Group.AddChar +module + +public import Mathlib.Algebra.DirectSum.Basic +public import Mathlib.Algebra.Group.AddChar /-! # Direct sum of additive characters @@ -12,6 +14,8 @@ import Mathlib.Algebra.Group.AddChar This file defines the direct sum of additive characters. -/ +@[expose] public section + open Function open scoped DirectSum diff --git a/Mathlib/Algebra/DirectSum/Algebra.lean b/Mathlib/Algebra/DirectSum/Algebra.lean index 43361da92bfd38..8de9548ba2a470 100644 --- a/Mathlib/Algebra/DirectSum/Algebra.lean +++ b/Mathlib/Algebra/DirectSum/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.DirectSum.Ring +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.DirectSum.Ring /-! # Additively-graded algebra structures on `⨁ i, A i` @@ -24,6 +26,8 @@ where all `A i` are `R`-modules. This is the extra structure needed to promote ` -/ +@[expose] public section + universe uι uR uA uB diff --git a/Mathlib/Algebra/DirectSum/Basic.lean b/Mathlib/Algebra/DirectSum/Basic.lean index 346ca5abc42190..d7dfc8f9337a00 100644 --- a/Mathlib/Algebra/DirectSum/Basic.lean +++ b/Mathlib/Algebra/DirectSum/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Data.DFinsupp.Sigma -import Mathlib.Data.DFinsupp.Submonoid +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Data.DFinsupp.Sigma +public import Mathlib.Data.DFinsupp.Submonoid /-! # Direct sum @@ -22,6 +24,8 @@ This notation is in the `DirectSum` locale, accessible after `open DirectSum`. * https://en.wikipedia.org/wiki/Direct_sum -/ +@[expose] public section + open Function universe u v w u₁ diff --git a/Mathlib/Algebra/DirectSum/Decomposition.lean b/Mathlib/Algebra/DirectSum/Decomposition.lean index 529e31190991bd..07f964edaf0a64 100644 --- a/Mathlib/Algebra/DirectSum/Decomposition.lean +++ b/Mathlib/Algebra/DirectSum/Decomposition.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jujian Zhang -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.Module.Submodule.Basic +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.Module.Submodule.Basic /-! # Decompositions of additive monoids, groups, and modules into direct sums @@ -28,6 +30,8 @@ we choose to avoid heavily bundling `DirectSum.decompose`, instead making copies bundled homs, but means we don't have to repeat statements for different types of decomposition. -/ +@[expose] public section + variable {ι R M σ : Type*} diff --git a/Mathlib/Algebra/DirectSum/Finsupp.lean b/Mathlib/Algebra/DirectSum/Finsupp.lean index f83402eed1c6e6..4c95de388a53a9 100644 --- a/Mathlib/Algebra/DirectSum/Finsupp.lean +++ b/Mathlib/Algebra/DirectSum/Finsupp.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Data.Finsupp.ToDFinsupp +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Data.Finsupp.ToDFinsupp /-! # Results on direct sums and finitely supported functions. @@ -13,6 +15,8 @@ import Mathlib.Data.Finsupp.ToDFinsupp the direct sum of copies of `M` indexed by `ι`. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/DirectSum/Idempotents.lean b/Mathlib/Algebra/DirectSum/Idempotents.lean index 1b22c93e5eff4c..c561979b7a1e21 100644 --- a/Mathlib/Algebra/DirectSum/Idempotents.lean +++ b/Mathlib/Algebra/DirectSum/Idempotents.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Jujian Zhang, Andrew Yang -/ -import Mathlib.RingTheory.Idempotents -import Mathlib.Algebra.DirectSum.Decomposition +module + +public import Mathlib.RingTheory.Idempotents +public import Mathlib.Algebra.DirectSum.Decomposition /-! # Decomposition of the identity of a semiring into orthogonal idempotents @@ -15,6 +17,8 @@ of (left) ideals `R = V₁ ⊕ V₂ ⊕ ⋯ ⊕ Vₙ` then in the corresponding `eᵢ`'s form a family of complete orthogonal idempotents. -/ +@[expose] public section + namespace DirectSum section OrthogonalIdempotents diff --git a/Mathlib/Algebra/DirectSum/Internal.lean b/Mathlib/Algebra/DirectSum/Internal.lean index d91fe3257a15b1..06c99be11fa022 100644 --- a/Mathlib/Algebra/DirectSum/Internal.lean +++ b/Mathlib/Algebra/DirectSum/Internal.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang, Fangming Li -/ -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.DirectSum.Algebra -import Mathlib.Algebra.Order.Antidiag.Prod +module + +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.DirectSum.Algebra +public import Mathlib.Algebra.Order.Antidiag.Prod /-! # Internally graded rings and algebras @@ -49,6 +51,8 @@ This file also provides some extra structure on `A 0`, namely: internally graded ring -/ +@[expose] public section + open DirectSum diff --git a/Mathlib/Algebra/DirectSum/LinearMap.lean b/Mathlib/Algebra/DirectSum/LinearMap.lean index 0c725a2d063305..a0feb6f80b3118 100644 --- a/Mathlib/Algebra/DirectSum/LinearMap.lean +++ b/Mathlib/Algebra/DirectSum/LinearMap.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.LinearAlgebra.Trace +module + +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.Trace /-! # Linear maps between direct sums @@ -16,6 +18,8 @@ domain and codomain. -/ +@[expose] public section + open DirectSum Module Set namespace LinearMap diff --git a/Mathlib/Algebra/DirectSum/Module.lean b/Mathlib/Algebra/DirectSum/Module.lean index de4c6a142d0d84..3d3c4c07f53164 100644 --- a/Mathlib/Algebra/DirectSum/Module.lean +++ b/Mathlib/Algebra/DirectSum/Module.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.DirectSum.Basic -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Basis.Defs +module + +public import Mathlib.Algebra.DirectSum.Basic +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Basis.Defs /-! # Direct sum of modules @@ -23,6 +25,8 @@ in this file. -/ +@[expose] public section + universe u v w u₁ namespace DirectSum diff --git a/Mathlib/Algebra/DirectSum/Ring.lean b/Mathlib/Algebra/DirectSum/Ring.lean index 95ed6af0104df3..b1928db370c332 100644 --- a/Mathlib/Algebra/DirectSum/Ring.lean +++ b/Mathlib/Algebra/DirectSum/Ring.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GradedMonoid -import Mathlib.Algebra.DirectSum.Basic -import Mathlib.Algebra.Ring.Associator +module + +public import Mathlib.Algebra.GradedMonoid +public import Mathlib.Algebra.DirectSum.Basic +public import Mathlib.Algebra.Ring.Associator /-! # Additively-graded multiplicative structures on `⨁ i, A i` @@ -72,6 +74,8 @@ can be obtained as `DirectSum.toMonoid (fun i ↦ AddSubmonoid.inclusion <| le_i graded ring, filtered ring, direct sum, add_submonoid -/ +@[expose] public section + variable {ι : Type*} [DecidableEq ι] diff --git a/Mathlib/Algebra/Divisibility/Basic.lean b/Mathlib/Algebra/Divisibility/Basic.lean index ea0547fb7a7b1c..93165efb4ebf4f 100644 --- a/Mathlib/Algebra/Divisibility/Basic.lean +++ b/Mathlib/Algebra/Divisibility/Basic.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Amelia Livingston, Yury Kudryashov, Neil Strickland, Aaron Anderson -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Tactic.Common /-! # Divisibility @@ -28,6 +30,8 @@ The divisibility relation is defined for all monoids, and as such, depends on th divisibility, divides -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Divisibility/Finite.lean b/Mathlib/Algebra/Divisibility/Finite.lean index 987527daf394d7..0aa7b305278f4b 100644 --- a/Mathlib/Algebra/Divisibility/Finite.lean +++ b/Mathlib/Algebra/Divisibility/Finite.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ +module -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Data.Fintype.Defs +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Data.Fintype.Defs /-! # Divisibility in finite types -/ +@[expose] public section + variable {M : Type*} [Semigroup M] instance [Fintype M] [DecidableEq M] (a b : M) : Decidable (a ∣ b) := diff --git a/Mathlib/Algebra/Divisibility/Hom.lean b/Mathlib/Algebra/Divisibility/Hom.lean index 9bc6a8ea610ccd..2b4b65935a8bab 100644 --- a/Mathlib/Algebra/Divisibility/Hom.lean +++ b/Mathlib/Algebra/Divisibility/Hom.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Amelia Livingston, Yury Kudryashov, Neil Strickland, Aaron Anderson -/ -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Hom.Defs +module + +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Hom.Defs /-! # Mapping divisibility across multiplication-preserving homomorphisms @@ -19,6 +21,8 @@ import Mathlib.Algebra.Group.Hom.Defs divisibility, divides -/ +@[expose] public section + attribute [local simp] mul_assoc mul_comm mul_left_comm variable {M N : Type*} diff --git a/Mathlib/Algebra/Divisibility/Prod.lean b/Mathlib/Algebra/Divisibility/Prod.lean index 4a1d5e8044f205..33cdb878141ddc 100644 --- a/Mathlib/Algebra/Divisibility/Prod.lean +++ b/Mathlib/Algebra/Divisibility/Prod.lean @@ -3,15 +3,19 @@ Copyright (c) 2023 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Prod -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Tactic.Common /-! # Lemmas about the divisibility relation in product (semi)groups -/ +@[expose] public section + variable {ι G₁ G₂ : Type*} {G : ι → Type*} [Semigroup G₁] [Semigroup G₂] [∀ i, Semigroup (G i)] theorem prod_dvd_iff {x y : G₁ × G₂} : diff --git a/Mathlib/Algebra/Divisibility/Units.lean b/Mathlib/Algebra/Divisibility/Units.lean index d6c22ef6cc3c96..0501d9b80d610e 100644 --- a/Mathlib/Algebra/Divisibility/Units.lean +++ b/Mathlib/Algebra/Divisibility/Units.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Amelia Livingston, Yury Kudryashov, Neil Strickland, Aaron Anderson -/ -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Units.Basic +module + +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Units.Basic /-! # Divisibility and units @@ -17,6 +19,8 @@ import Mathlib.Algebra.Group.Units.Basic -/ +@[expose] public section + variable {α : Type*} namespace Units diff --git a/Mathlib/Algebra/DualNumber.lean b/Mathlib/Algebra/DualNumber.lean index 542a46596063ca..c34bc6d5035627 100644 --- a/Mathlib/Algebra/DualNumber.lean +++ b/Mathlib/Algebra/DualNumber.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.TrivSqZeroExt +module + +public import Mathlib.Algebra.TrivSqZeroExt /-! # Dual numbers @@ -34,6 +36,8 @@ Rather than duplicating the API of `TrivSqZeroExt`, this file reuses the functio * https://en.wikipedia.org/wiki/Dual_number -/ +@[expose] public section + variable {R A B : Type*} diff --git a/Mathlib/Algebra/DualQuaternion.lean b/Mathlib/Algebra/DualQuaternion.lean index e664c0e4e642c1..3b49c02830a40d 100644 --- a/Mathlib/Algebra/DualQuaternion.lean +++ b/Mathlib/Algebra/DualQuaternion.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DualNumber -import Mathlib.Algebra.Quaternion +module + +public import Mathlib.Algebra.DualNumber +public import Mathlib.Algebra.Quaternion /-! # Dual quaternions @@ -22,6 +24,8 @@ rigid motions in 3D space can be represented by dual quaternions of unit length. * -/ +@[expose] public section + variable {R : Type*} [CommRing R] diff --git a/Mathlib/Algebra/EuclideanDomain/Basic.lean b/Mathlib/Algebra/EuclideanDomain/Basic.lean index cc1f31602bfbb8..cdb83484943611 100644 --- a/Mathlib/Algebra/EuclideanDomain/Basic.lean +++ b/Mathlib/Algebra/EuclideanDomain/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Louis Carlin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Louis Carlin, Mario Carneiro -/ -import Mathlib.Algebra.EuclideanDomain.Defs -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Regular -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.EuclideanDomain.Defs +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Ring.Basic /-! # Lemmas about Euclidean domains @@ -18,6 +20,8 @@ import Mathlib.Algebra.Ring.Basic -/ +@[expose] public section + universe u @@ -184,7 +188,7 @@ theorem xgcdAux_val (x y : R) : xgcdAux x 1 0 y 0 1 = (gcd x y, xgcd x y) := by private def P (a b : R) : R × R × R → Prop | (r, s, t) => (r : R) = a * s + b * t -theorem xgcdAux_P (a b : R) {r r' : R} {s t s' t'} (p : P a b (r, s, t)) +private theorem xgcdAux_P (a b : R) {r r' : R} {s t s' t'} (p : P a b (r, s, t)) (p' : P a b (r', s', t')) : P a b (xgcdAux r s t r' s' t') := by induction r, r' using GCD.induction generalizing s t s' t' with | H0 n => simpa only [xgcd_zero_left] diff --git a/Mathlib/Algebra/EuclideanDomain/Defs.lean b/Mathlib/Algebra/EuclideanDomain/Defs.lean index d88467f04ee92e..35621d3926a756 100644 --- a/Mathlib/Algebra/EuclideanDomain/Defs.lean +++ b/Mathlib/Algebra/EuclideanDomain/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Louis Carlin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Louis Carlin, Mario Carneiro -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Order.RelClasses +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Order.RelClasses /-! # Euclidean domains @@ -59,6 +61,8 @@ value of `j`. Euclidean domain, transfinite Euclidean domain, Bézout's lemma -/ +@[expose] public section + universe u /-- A `EuclideanDomain` is a non-trivial commutative ring with a division and a remainder, diff --git a/Mathlib/Algebra/EuclideanDomain/Field.lean b/Mathlib/Algebra/EuclideanDomain/Field.lean index 7090ac26b2343e..81aa1eb2817426 100644 --- a/Mathlib/Algebra/EuclideanDomain/Field.lean +++ b/Mathlib/Algebra/EuclideanDomain/Field.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Louis Carlin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Louis Carlin, Mario Carneiro -/ -import Mathlib.Algebra.EuclideanDomain.Defs -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.EuclideanDomain.Defs +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Instances for Euclidean domains * `Field.toEuclideanDomain`: shows that any field is a Euclidean domain. -/ +@[expose] public section + namespace Field variable {K : Type*} [Field K] diff --git a/Mathlib/Algebra/EuclideanDomain/Int.lean b/Mathlib/Algebra/EuclideanDomain/Int.lean index ef5b187665a83b..91e55e9945d5b5 100644 --- a/Mathlib/Algebra/EuclideanDomain/Int.lean +++ b/Mathlib/Algebra/EuclideanDomain/Int.lean @@ -3,16 +3,20 @@ Copyright (c) 2018 Louis Carlin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Louis Carlin, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.EuclideanDomain.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Ring.Int.Defs +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.EuclideanDomain.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Ring.Int.Defs /-! # Instances for Euclidean domains * `Int.euclideanDomain`: shows that `ℤ` is a Euclidean domain. -/ +@[expose] public section + instance Int.euclideanDomain : EuclideanDomain ℤ := { inferInstanceAs (CommRing Int), inferInstanceAs (Nontrivial Int) with quotient := (· / ·), quotient_zero := Int.ediv_zero, remainder := (· % ·), diff --git a/Mathlib/Algebra/Exact.lean b/Mathlib/Algebra/Exact.lean index 713e336473d443..c57d6bd5771ec0 100644 --- a/Mathlib/Algebra/Exact.lean +++ b/Mathlib/Algebra/Exact.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Module.Submodule.Range -import Mathlib.LinearAlgebra.Prod -import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.Algebra.Module.Submodule.Range +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.LinearAlgebra.Quotient.Basic /-! # Exactness of a pair @@ -26,6 +27,8 @@ import Mathlib.LinearAlgebra.Quotient.Basic * add the multiplicative case (`Function.Exact` will become `Function.AddExact`?) -/ +@[expose] public section + variable {R M M' N N' P P' : Type*} namespace Function diff --git a/Mathlib/Algebra/Expr.lean b/Mathlib/Algebra/Expr.lean index 0e6e8a5225eacb..77049b4e66253e 100644 --- a/Mathlib/Algebra/Expr.lean +++ b/Mathlib/Algebra/Expr.lean @@ -3,13 +3,18 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Init -import Qq +module + +public import Mathlib.Init +public import Qq +public import Qq.Typ /-! # Helpers to invoke functions involving algebra at tactic time This file provides instances on `x y : Q($α)` such that `x + y = q($x + $y)`. -/ + +@[expose] public section open Qq /-- Produce a `One` instance for `Q($α)` such that `1 : Q($α)` is `q(1 : $α)`. -/ diff --git a/Mathlib/Algebra/Field/Action/ConjAct.lean b/Mathlib/Algebra/Field/Action/ConjAct.lean index 08d434c0677852..ec5e40ff4bc7f9 100644 --- a/Mathlib/Algebra/Field/Action/ConjAct.lean +++ b/Mathlib/Algebra/Field/Action/ConjAct.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Action.ConjAct -import Mathlib.Algebra.GroupWithZero.Action.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Action.ConjAct +public import Mathlib.Algebra.GroupWithZero.Action.Defs /-! # Conjugation action on a field on itself -/ +@[expose] public section + namespace ConjAct variable {K : Type*} [DivisionRing K] diff --git a/Mathlib/Algebra/Field/Basic.lean b/Mathlib/Algebra/Field/Basic.lean index 03d3b5ca82279d..74dba05660e26e 100644 --- a/Mathlib/Algebra/Field/Basic.lean +++ b/Mathlib/Algebra/Field/Basic.lean @@ -3,17 +3,21 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.GrindInstances -import Mathlib.Algebra.Ring.Commute -import Mathlib.Algebra.Ring.Invertible -import Mathlib.Order.Synonym +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.GrindInstances +public import Mathlib.Algebra.Ring.Commute +public import Mathlib.Algebra.Ring.Invertible +public import Mathlib.Order.Synonym /-! # Lemmas about division (semi)rings and (semi)fields -/ +@[expose] public section + open Function OrderDual Set universe u diff --git a/Mathlib/Algebra/Field/Defs.lean b/Mathlib/Algebra/Field/Defs.lean index 08afcf9a9fb0db..d07e14959ce750 100644 --- a/Mathlib/Algebra/Field/Defs.lean +++ b/Mathlib/Algebra/Field/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Johannes Hölzl, Mario Carneiro, Yaël Dillies -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Data.Rat.Init +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Data.Rat.Init /-! # Division (semi)rings and (semi)fields @@ -43,6 +45,8 @@ a `GroupWithZero` lemma instead. field, division ring, skew field, skew-field, skewfield -/ +@[expose] public section + assert_not_imported Mathlib.Tactic.Common -- `NeZero` theory should not be needed in the basic algebraic hierarchy diff --git a/Mathlib/Algebra/Field/Equiv.lean b/Mathlib/Algebra/Field/Equiv.lean index ddef91fda5d18e..94d878d7196297 100644 --- a/Mathlib/Algebra/Field/Equiv.lean +++ b/Mathlib/Algebra/Field/Equiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.GroupWithZero.Equiv +module + +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.GroupWithZero.Equiv /-! # If a semiring is a field, any isomorphic semiring is also a field. @@ -13,6 +15,8 @@ import Mathlib.Algebra.GroupWithZero.Equiv This is in a separate file to avoid needing to import `Field` in `Mathlib/Algebra/Ring/Equiv.lean` -/ +@[expose] public section + variable {A B F : Type*} [Semiring A] [Semiring B] protected theorem IsLocalHom.isField [FunLike F A B] [MonoidWithZeroHomClass F A B] {f : F} diff --git a/Mathlib/Algebra/Field/GeomSum.lean b/Mathlib/Algebra/Field/GeomSum.lean index 4272633eee66f8..f9ca820eff56d1 100644 --- a/Mathlib/Algebra/Field/GeomSum.lean +++ b/Mathlib/Algebra/Field/GeomSum.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Ring.GeomSum +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Ring.GeomSum /-! # Partial sums of geometric series in a field @@ -22,6 +24,8 @@ Several variants are recorded, generalising in particular to the case of a divis which `x` and `y` commute. -/ +@[expose] public section + assert_not_exists IsOrderedRing variable {R K : Type*} diff --git a/Mathlib/Algebra/Field/IsField.lean b/Mathlib/Algebra/Field/IsField.lean index 505261080212b5..ea5f05d68cd974 100644 --- a/Mathlib/Algebra/Field/IsField.lean +++ b/Mathlib/Algebra/Field/IsField.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Tactic.Common /-! # `IsField` predicate @@ -16,6 +18,8 @@ to an element of the field its multiplicative inverse, this predicate only assum and can therefore more easily be used to e.g. transfer along ring isomorphisms. -/ +@[expose] public section + universe u section IsField diff --git a/Mathlib/Algebra/Field/MinimalAxioms.lean b/Mathlib/Algebra/Field/MinimalAxioms.lean index 981b95e22182b1..b38d61949b446b 100644 --- a/Mathlib/Algebra/Field/MinimalAxioms.lean +++ b/Mathlib/Algebra/Field/MinimalAxioms.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.MinimalAxioms +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.MinimalAxioms /-! # Minimal Axioms for a Field @@ -19,6 +20,8 @@ a minimum number of equalities. -/ +@[expose] public section + universe u /-- Define a `Field` structure on a Type by proving a minimized set of axioms. diff --git a/Mathlib/Algebra/Field/NegOnePow.lean b/Mathlib/Algebra/Field/NegOnePow.lean index 9c1f1a86af7dac..2fc2b8de3277ca 100644 --- a/Mathlib/Algebra/Field/NegOnePow.lean +++ b/Mathlib/Algebra/Field/NegOnePow.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Johan Commelin -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.Tactic.NormNum /-! # Integer powers of `-1` in a field -/ +@[expose] public section + namespace Int lemma cast_negOnePow (K : Type*) (n : ℤ) [DivisionRing K] : n.negOnePow = (-1 : K) ^ n := by diff --git a/Mathlib/Algebra/Field/Opposite.lean b/Mathlib/Algebra/Field/Opposite.lean index 8d912c876ea07c..5ddb52d76c12d1 100644 --- a/Mathlib/Algebra/Field/Opposite.lean +++ b/Mathlib/Algebra/Field/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Data.Int.Cast.Lemmas /-! # Field structure on the multiplicative/additive opposite -/ +@[expose] public section + assert_not_exists RelIso variable {α : Type*} diff --git a/Mathlib/Algebra/Field/Periodic.lean b/Mathlib/Algebra/Field/Periodic.lean index 0a3b4fb98f919c..30038d6cda1053 100644 --- a/Mathlib/Algebra/Field/Periodic.lean +++ b/Mathlib/Algebra/Field/Periodic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson -/ -import Mathlib.Algebra.Field.Opposite -import Mathlib.Algebra.Module.Opposite -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Ring.Periodic +module + +public import Mathlib.Algebra.Field.Opposite +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Ring.Periodic /-! # Periodic functions @@ -28,6 +30,8 @@ Note that any `c`-antiperiodic function will necessarily also be `2 • c`-perio period, periodic, periodicity, antiperiodic -/ +@[expose] public section + assert_not_exists TwoSidedIdeal variable {α β γ : Type*} {f g : α → β} {c c₁ c₂ x : α} diff --git a/Mathlib/Algebra/Field/Power.lean b/Mathlib/Algebra/Field/Power.lean index a295fde38a1ad9..1a545eb74486b4 100644 --- a/Mathlib/Algebra/Field/Power.lean +++ b/Mathlib/Algebra/Field/Power.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.Int.Parity +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.Int.Parity /-! # Results about powers in fields or division rings. @@ -14,6 +16,8 @@ so contains some lemmas about powers of elements which need imports beyond those needed for the basic definition. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Field/Rat.lean b/Mathlib/Algebra/Field/Rat.lean index 8197bb40873406..01ca8376674e9a 100644 --- a/Mathlib/Algebra/Field/Rat.lean +++ b/Mathlib/Algebra/Field/Rat.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Data.NNRat.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Data.NNRat.Defs /-! # The rational numbers form a field @@ -18,6 +20,8 @@ See note [foundational algebra order theory]. rat, rationals, field, ℚ, numerator, denominator, num, denom -/ +@[expose] public section + namespace Rat instance instField : Field ℚ where diff --git a/Mathlib/Algebra/Field/Shrink.lean b/Mathlib/Algebra/Field/Shrink.lean index a72127e50ab530..92e41a43c6245e 100644 --- a/Mathlib/Algebra/Field/Shrink.lean +++ b/Mathlib/Algebra/Field/Shrink.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Field.TransferInstance -import Mathlib.Logic.Small.Defs -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Field.TransferInstance +public import Mathlib.Logic.Small.Defs +public import Mathlib.Tactic.SuppressCompilation /-! # Transfer field structures from `α` to `Shrink α` -/ +@[expose] public section + noncomputable section universe v diff --git a/Mathlib/Algebra/Field/Subfield/Basic.lean b/Mathlib/Algebra/Field/Subfield/Basic.lean index 15c9961fd92e6b..3c398d4786f92e 100644 --- a/Mathlib/Algebra/Field/Subfield/Basic.lean +++ b/Mathlib/Algebra/Field/Subfield/Basic.lean @@ -3,12 +3,13 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ +module -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Field.Subfield.Defs -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Field.Subfield.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Subfields @@ -60,6 +61,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` subfield, subfields -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Field/Subfield/Defs.lean b/Mathlib/Algebra/Field/Subfield/Defs.lean index 3d2db31dcb5ed1..c218a00f4559d6 100644 --- a/Mathlib/Algebra/Field/Subfield/Defs.lean +++ b/Mathlib/Algebra/Field/Subfield/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Ring.Subring.Defs -import Mathlib.Algebra.Order.Ring.Unbundled.Rat +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Ring.Subring.Defs +public import Mathlib.Algebra.Order.Ring.Unbundled.Rat /-! # Subfields @@ -43,6 +45,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` subfield, subfields -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Field/TransferInstance.lean b/Mathlib/Algebra/Field/TransferInstance.lean index 3113a6f271392d..b7132e1ece85b4 100644 --- a/Mathlib/Algebra/Field/TransferInstance.lean +++ b/Mathlib/Algebra/Field/TransferInstance.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Ring.TransferInstance +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Ring.TransferInstance /-! # Transfer algebraic structures across `Equiv`s @@ -12,6 +14,8 @@ import Mathlib.Algebra.Ring.TransferInstance This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists Module namespace Equiv diff --git a/Mathlib/Algebra/Field/ULift.lean b/Mathlib/Algebra/Field/ULift.lean index 81abb5a313c42b..6ea193f1b572fc 100644 --- a/Mathlib/Algebra/Field/ULift.lean +++ b/Mathlib/Algebra/Field/ULift.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.ULift -import Mathlib.Algebra.Ring.ULift +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.ULift +public import Mathlib.Algebra.Ring.ULift /-! # Field instances for `ULift` @@ -15,6 +17,8 @@ This file defines instances for field, semifield and related structures on `ULif (Recall `ULift α` is just a "copy" of a type `α` in a higher universe.) -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Field/ZMod.lean b/Mathlib/Algebra/Field/ZMod.lean index 1bbfa86ba82f33..7cda2c38d0d6fb 100644 --- a/Mathlib/Algebra/Field/ZMod.lean +++ b/Mathlib/Algebra/Field/ZMod.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Data.ZMod.Basic /-! # `ZMod p` is a field -/ +@[expose] public section + namespace ZMod variable (p : ℕ) [hp : Fact p.Prime] @@ -21,7 +25,7 @@ private theorem mul_inv_cancel_aux (a : ZMod p) (h : a ≠ 0) : a * a⁻¹ = 1 : /-- Field structure on `ZMod p` if `p` is prime. -/ instance : Field (ZMod p) where - mul_inv_cancel := mul_inv_cancel_aux p + mul_inv_cancel := private mul_inv_cancel_aux p inv_zero := inv_zero p nnqsmul := _ nnqsmul_def := fun _ _ => rfl diff --git a/Mathlib/Algebra/FiveLemma.lean b/Mathlib/Algebra/FiveLemma.lean index aa5c1a14661bd9..ede4889e3be883 100644 --- a/Mathlib/Algebra/FiveLemma.lean +++ b/Mathlib/Algebra/FiveLemma.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Exact +module + +public import Mathlib.Algebra.Exact /-! # The five lemma in terms of modules @@ -39,6 +41,8 @@ In theory, we could prove these in the multiplicative version and let `to_additi the additive variants. But `Function.Exact` currently has no multiplicative analogue (yet). -/ +@[expose] public section + assert_not_exists Cardinal namespace AddMonoidHom diff --git a/Mathlib/Algebra/Free.lean b/Mathlib/Algebra/Free.lean index c0103c7e186636..0d329452c6756b 100644 --- a/Mathlib/Algebra/Free.lean +++ b/Mathlib/Algebra/Free.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Control.Applicative -import Mathlib.Control.Traversable.Basic -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Control.Applicative +public import Mathlib.Control.Traversable.Basic +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.AdaptationNote /-! # Free constructions @@ -26,6 +28,8 @@ import Mathlib.Tactic.AdaptationNote * `FreeMagma.lift`: the universal property of the free magma, expressing its adjointness. -/ +@[expose] public section + universe u v l -- Disable generation of `sizeOf_spec` and `injEq`, diff --git a/Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean b/Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean index ecffd5c8b86c51..3a350b522367c2 100644 --- a/Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean +++ b/Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Algebra.Module.End -import Mathlib.GroupTheory.FreeAbelianGroup +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Algebra.Module.End +public import Mathlib.GroupTheory.FreeAbelianGroup /-! # Isomorphism between `FreeAbelianGroup X` and `X →₀ ℤ` @@ -20,6 +22,8 @@ We use this to transport the notion of `support` from `Finsupp` to `FreeAbelianG - `FreeAbelianGroup.support`: the finset of `x : X` that occur in `a : FreeAbelianGroup X` -/ +@[expose] public section + assert_not_exists Cardinal Module.Basis noncomputable section diff --git a/Mathlib/Algebra/FreeAbelianGroup/UniqueSums.lean b/Mathlib/Algebra/FreeAbelianGroup/UniqueSums.lean index 9375aa4e79ad6b..ba422e53eca46a 100644 --- a/Mathlib/Algebra/FreeAbelianGroup/UniqueSums.lean +++ b/Mathlib/Algebra/FreeAbelianGroup/UniqueSums.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Yaël Dillies, Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Paul Lezeau -/ -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.Algebra.Group.UniqueProds.Basic +module + +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.Algebra.Group.UniqueProds.Basic /-! # Free abelian groups have unique sums -/ +@[expose] public section + assert_not_exists Cardinal StarModule instance {σ : Type*} : TwoUniqueSums (FreeAbelianGroup σ) := diff --git a/Mathlib/Algebra/FreeAlgebra.lean b/Mathlib/Algebra/FreeAlgebra.lean index 6afbde963591a8..8ac6073a054f4c 100644 --- a/Mathlib/Algebra/FreeAlgebra.lean +++ b/Mathlib/Algebra/FreeAlgebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Adam Topaz, Eric Wieser -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.FreeMonoid.UniqueProds -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.FreeMonoid.UniqueProds +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors /-! # Free Algebras @@ -48,6 +50,8 @@ inductively defined relation `FreeAlgebra.Rel`. Explicitly, the construction inv the relation `FreeAlgebra.Rel R X`. -/ +@[expose] public section + variable (R : Type*) [CommSemiring R] variable (X : Type*) diff --git a/Mathlib/Algebra/FreeAlgebra/Cardinality.lean b/Mathlib/Algebra/FreeAlgebra/Cardinality.lean index 923be6f0f49784..664adb9e366116 100644 --- a/Mathlib/Algebra/FreeAlgebra/Cardinality.lean +++ b/Mathlib/Algebra/FreeAlgebra/Cardinality.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.FreeAlgebra -import Mathlib.SetTheory.Cardinal.Free +module + +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.SetTheory.Cardinal.Free /-! # Cardinality of free algebras @@ -13,6 +15,8 @@ This file contains some results about the cardinality of `FreeAlgebra`, parallel to that of `MvPolynomial`. -/ +@[expose] public section + universe u v variable (R : Type u) [CommSemiring R] diff --git a/Mathlib/Algebra/FreeMonoid/Basic.lean b/Mathlib/Algebra/FreeMonoid/Basic.lean index 9a3e5262bd9c65..69fe0e2840481b 100644 --- a/Mathlib/Algebra/FreeMonoid/Basic.lean +++ b/Mathlib/Algebra/FreeMonoid/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.Group.Equiv.Defs +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.Group.Equiv.Defs /-! # Free monoid over a given alphabet @@ -20,6 +22,8 @@ import Mathlib.Algebra.Group.Equiv.Defs * `FreeMonoid.map`: embedding of `α → β` into `FreeMonoid α →* FreeMonoid β` given by `List.map`. -/ +@[expose] public section + variable {α : Type*} {β : Type*} {γ : Type*} {M : Type*} [Monoid M] {N : Type*} [Monoid N] diff --git a/Mathlib/Algebra/FreeMonoid/Count.lean b/Mathlib/Algebra/FreeMonoid/Count.lean index 4610e152a967e4..f115873c07349f 100644 --- a/Mathlib/Algebra/FreeMonoid/Count.lean +++ b/Mathlib/Algebra/FreeMonoid/Count.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # `List.count` as a bundled homomorphism @@ -16,6 +18,8 @@ additive homomorphisms from `FreeMonoid` and `FreeAddMonoid`. We do not use `to_additive` too much because it can't map `Multiplicative ℕ` to `ℕ`. -/ +@[expose] public section + variable {α : Type*} (p : α → Prop) [DecidablePred p] namespace FreeMonoid diff --git a/Mathlib/Algebra/FreeMonoid/Symbols.lean b/Mathlib/Algebra/FreeMonoid/Symbols.lean index fcf68ede2d39ba..23ab4a5892c1e0 100644 --- a/Mathlib/Algebra/FreeMonoid/Symbols.lean +++ b/Mathlib/Algebra/FreeMonoid/Symbols.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Hannah Fechtner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hannah Fechtner -/ +module -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Data.Finset.Lattice.Lemmas +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Data.Finset.Lattice.Lemmas /-! # The finite set of symbols in a FreeMonoid element @@ -13,6 +14,8 @@ import Mathlib.Data.Finset.Lattice.Lemmas This is separated from the main FreeMonoid file, as it imports the finiteness hierarchy -/ +@[expose] public section + variable {α : Type*} [DecidableEq α] namespace FreeMonoid diff --git a/Mathlib/Algebra/FreeMonoid/UniqueProds.lean b/Mathlib/Algebra/FreeMonoid/UniqueProds.lean index b265902fa7df49..df157b84c6836a 100644 --- a/Mathlib/Algebra/FreeMonoid/UniqueProds.lean +++ b/Mathlib/Algebra/FreeMonoid/UniqueProds.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.Group.UniqueProds.Basic -import Mathlib.Algebra.Order.Group.Nat +module + +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.Group.UniqueProds.Basic +public import Mathlib.Algebra.Order.Group.Nat /-! # Free monoids have unique products -/ +@[expose] public section + assert_not_exists Cardinal Subsemiring Algebra Submodule StarModule open Finset diff --git a/Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean b/Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean index 536bd7de8b7e13..6e84e27cdd245a 100644 --- a/Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean +++ b/Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Free -import Mathlib.Algebra.MonoidAlgebra.Basic +module + +public import Mathlib.Algebra.Free +public import Mathlib.Algebra.MonoidAlgebra.Basic /-! # Free algebras @@ -35,6 +37,8 @@ free algebra, non-unital, non-associative, free magma, magma algebra, universal forgetful functor, adjoint functor -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/GCDMonoid/Basic.lean b/Mathlib/Algebra/GCDMonoid/Basic.lean index 754ba63817645e..68091237fdb73c 100644 --- a/Mathlib/Algebra/GCDMonoid/Basic.lean +++ b/Mathlib/Algebra/GCDMonoid/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker -/ -import Mathlib.Algebra.Ring.Associated -import Mathlib.Algebra.Ring.Regular +module + +public import Mathlib.Algebra.Ring.Associated +public import Mathlib.Algebra.Ring.Regular /-! # Monoids with normalization functions, `gcd`, and `lcm` @@ -60,6 +62,8 @@ For the `NormalizedGCDMonoid` instances on `ℕ` and `ℤ`, see `Mathlib/Algebra divisibility, gcd, lcm, normalize -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/GCDMonoid/Finset.lean b/Mathlib/Algebra/GCDMonoid/Finset.lean index dad1a7adf78c25..ce8d2b1b95164b 100644 --- a/Mathlib/Algebra/GCDMonoid/Finset.lean +++ b/Mathlib/Algebra/GCDMonoid/Finset.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Finset.Fold -import Mathlib.Algebra.GCDMonoid.Multiset +module + +public import Mathlib.Data.Finset.Fold +public import Mathlib.Algebra.GCDMonoid.Multiset /-! # GCD and LCM operations on finsets @@ -26,6 +28,8 @@ TODO: simplify with a tactic and `Data.Finset.Lattice` finset, gcd -/ +@[expose] public section + variable {ι α β γ : Type*} namespace Finset diff --git a/Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean b/Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean index 3324670b8dcbbc..78dac1b2594146 100644 --- a/Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean +++ b/Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.Polynomial.Eisenstein.Basic +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.Polynomial.Eisenstein.Basic /-! @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Polynomial.Eisenstein.Basic -/ +@[expose] public section + open scoped Polynomial diff --git a/Mathlib/Algebra/GCDMonoid/Multiset.lean b/Mathlib/Algebra/GCDMonoid/Multiset.lean index 1ba384fea3b94a..9c6f2c1719954b 100644 --- a/Mathlib/Algebra/GCDMonoid/Multiset.lean +++ b/Mathlib/Algebra/GCDMonoid/Multiset.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Data.Multiset.FinsetOps -import Mathlib.Data.Multiset.Fold +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Data.Multiset.FinsetOps +public import Mathlib.Data.Multiset.Fold /-! # GCD and LCM operations on multisets @@ -25,6 +27,8 @@ TODO: simplify with a tactic and `Data.Multiset.Lattice` multiset, gcd -/ +@[expose] public section + namespace Multiset variable {α : Type*} [CancelCommMonoidWithZero α] [NormalizedGCDMonoid α] diff --git a/Mathlib/Algebra/GCDMonoid/Nat.lean b/Mathlib/Algebra/GCDMonoid/Nat.lean index 0d3f487640dceb..3fc64c4e47a11e 100644 --- a/Mathlib/Algebra/GCDMonoid/Nat.lean +++ b/Mathlib/Algebra/GCDMonoid/Nat.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.Algebra.GroupWithZero.Nat +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.Algebra.GroupWithZero.Nat /-! # ℕ and ℤ are normalized GCD monoids. @@ -23,6 +25,8 @@ import Mathlib.Algebra.GroupWithZero.Nat natural numbers, integers, normalization monoid, gcd monoid, greatest common divisor -/ +@[expose] public section + assert_not_exists OrderedCommMonoid /-- `ℕ` is a gcd_monoid. -/ diff --git a/Mathlib/Algebra/GCDMonoid/PUnit.lean b/Mathlib/Algebra/GCDMonoid/PUnit.lean index 8279c4d6385fb9..27055c29e380bc 100644 --- a/Mathlib/Algebra/GCDMonoid/PUnit.lean +++ b/Mathlib/Algebra/GCDMonoid/PUnit.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.Ring.PUnit +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.Ring.PUnit /-! # `PUnit` is a GCD monoid @@ -13,6 +15,8 @@ This file collects facts about algebraic structures on the one-element type, e.g GCD. -/ +@[expose] public section + namespace PUnit -- This is too high-powered and should be split off also diff --git a/Mathlib/Algebra/GeomSum.lean b/Mathlib/Algebra/GeomSum.lean index 4a8750533a2710..ae304b7590bd84 100644 --- a/Mathlib/Algebra/GeomSum.lean +++ b/Mathlib/Algebra/GeomSum.lean @@ -1,8 +1,10 @@ -import Mathlib.Algebra.Group.NatPowAssoc -import Mathlib.Algebra.Order.Field.GeomSum -import Mathlib.Algebra.Order.Ring.GeomSum -import Mathlib.Algebra.Ring.Regular -import Mathlib.Tactic.Abel -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.Group.NatPowAssoc +public import Mathlib.Algebra.Order.Field.GeomSum +public import Mathlib.Algebra.Order.Ring.GeomSum +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.Positivity.Basic deprecated_module (since := "2025-06-19") diff --git a/Mathlib/Algebra/GradedMonoid.lean b/Mathlib/Algebra/GradedMonoid.lean index 4aa067410cc4c3..6711e5c6299d7d 100644 --- a/Mathlib/Algebra/GradedMonoid.lean +++ b/Mathlib/Algebra/GradedMonoid.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Group.List.Lemmas -import Mathlib.Algebra.Group.Action.Hom -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Data.List.FinRange -import Mathlib.Data.SetLike.Basic -import Mathlib.Data.Sigma.Basic -import Lean.Elab.Tactic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.List.Lemmas +public import Mathlib.Algebra.Group.Action.Hom +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Data.List.FinRange +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Data.Sigma.Basic +public import Lean.Elab.Tactic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Additively-graded multiplicative structures @@ -89,6 +91,8 @@ This file also defines: graded monoid -/ +@[expose] public section + variable {ι : Type*} diff --git a/Mathlib/Algebra/GradedMulAction.lean b/Mathlib/Algebra/GradedMulAction.lean index dd994a36060775..2390d94adba213 100644 --- a/Mathlib/Algebra/GradedMulAction.lean +++ b/Mathlib/Algebra/GradedMulAction.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Eric Wieser -/ -import Mathlib.Algebra.GradedMonoid +module + +public import Mathlib.Algebra.GradedMonoid /-! # Additively-graded multiplicative action structures @@ -44,6 +46,8 @@ a `MulAction` instance. graded action -/ +@[expose] public section + variable {ιA ιB ιM : Type*} diff --git a/Mathlib/Algebra/Group/Action/Basic.lean b/Mathlib/Algebra/Group/Action/Basic.lean index 51546f2d42e637..208d2770d55885 100644 --- a/Mathlib/Algebra/Group/Action/Basic.lean +++ b/Mathlib/Algebra/Group/Action/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.Group.Invertible.Basic -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Logic.Embedding.Basic +module + +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.Group.Invertible.Basic +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Logic.Embedding.Basic /-! # More lemmas about group actions @@ -15,6 +17,8 @@ This file contains lemmas about group actions that require more imports than `Mathlib/Algebra/Group/Action/Defs.lean` offers. -/ +@[expose] public section + assert_not_exists MonoidWithZero Equiv.Perm.permGroup variable {G M A B α β : Type*} diff --git a/Mathlib/Algebra/Group/Action/Defs.lean b/Mathlib/Algebra/Group/Action/Defs.lean index 04ae63a445720d..be03ae0cd3a362 100644 --- a/Mathlib/Algebra/Group/Action/Defs.lean +++ b/Mathlib/Algebra/Group/Action/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Opposites -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Opposites +public import Mathlib.Tactic.Spread /-! # Definitions of group actions @@ -42,6 +44,8 @@ More sophisticated lemmas belong in `GroupTheory.GroupAction`. group action -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/End.lean b/Mathlib/Algebra/Group/Action/End.lean index 16d092594acf8d..fa4b1e545fe784 100644 --- a/Mathlib/Algebra/Group/Action/End.lean +++ b/Mathlib/Algebra/Group/Action/End.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Action.Hom -import Mathlib.Algebra.Group.End +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Action.Hom +public import Mathlib.Algebra.Group.End /-! # Interaction between actions and endomorphisms/automorphisms @@ -20,6 +22,8 @@ This file provides two things: monoid action, group action -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/Equidecomp.lean b/Mathlib/Algebra/Group/Action/Equidecomp.lean index 4313db6c93d68f..d8656a44340295 100644 --- a/Mathlib/Algebra/Group/Action/Equidecomp.lean +++ b/Mathlib/Algebra/Group/Action/Equidecomp.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Logic.Equiv.PartialEquiv -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Logic.Equiv.PartialEquiv +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Equidecompositions @@ -50,6 +52,8 @@ We take this as our definition as it is easier to work with. It is implemented a -/ +@[expose] public section + variable {X G : Type*} {A B C : Set X} open Function Set Pointwise PartialEquiv diff --git a/Mathlib/Algebra/Group/Action/Faithful.lean b/Mathlib/Algebra/Group/Action/Faithful.lean index c17f3d4cab5776..91424919a90b8f 100644 --- a/Mathlib/Algebra/Group/Action/Faithful.lean +++ b/Mathlib/Algebra/Group/Action/Faithful.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs +module + +public import Mathlib.Algebra.Group.Action.Defs /-! # Faithful group actions @@ -25,6 +27,8 @@ More sophisticated lemmas belong in `GroupTheory.GroupAction`. group action -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/Hom.lean b/Mathlib/Algebra/Group/Action/Hom.lean index 72a9f82dac8ee5..9db532a67e2fb9 100644 --- a/Mathlib/Algebra/Group/Action/Hom.lean +++ b/Mathlib/Algebra/Group/Action/Hom.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Pretransitive -import Mathlib.Algebra.Group.Hom.Defs +module + +public import Mathlib.Algebra.Group.Action.Pretransitive +public import Mathlib.Algebra.Group.Hom.Defs /-! # Homomorphisms and group actions -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/Opposite.lean b/Mathlib/Algebra/Group/Action/Opposite.lean index 104e18d527ae04..10a71bb733c0fc 100644 --- a/Mathlib/Algebra/Group/Action/Opposite.lean +++ b/Mathlib/Algebra/Group/Action/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Opposite +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Opposite /-! # Scalar actions on and by `Mᵐᵒᵖ` @@ -25,6 +27,8 @@ With `open scoped RightActions`, this provides: * `p <+ᵥ v` as an alias for `AddOpposite.op v +ᵥ p` -/ +@[expose] public section + assert_not_exists MonoidWithZero Units FaithfulSMul MonoidHom variable {M N α β : Type*} diff --git a/Mathlib/Algebra/Group/Action/Option.lean b/Mathlib/Algebra/Group/Action/Option.lean index 65d765e75b4949..431c6018b03de8 100644 --- a/Mathlib/Algebra/Group/Action/Option.lean +++ b/Mathlib/Algebra/Group/Action/Option.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Faithful +module + +public import Mathlib.Algebra.Group.Action.Faithful /-! # Option instances for additive and multiplicative actions @@ -18,6 +20,8 @@ multiplication is defined by `a • some b = some (a • b)` and `a • none = n * `Mathlib/Algebra/Group/Action/Sum.lean` -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M N α : Type*} diff --git a/Mathlib/Algebra/Group/Action/Pi.lean b/Mathlib/Algebra/Group/Action/Pi.lean index 369acff8b6e49d..cadc487a7414f4 100644 --- a/Mathlib/Algebra/Group/Action/Pi.lean +++ b/Mathlib/Algebra/Group/Action/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Data.Set.Piecewise +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Data.Set.Piecewise /-! # Pi instances for multiplicative actions @@ -20,6 +22,8 @@ This file defines instances for `MulAction` and related structures on `Pi` types * `Mathlib/Algebra/Group/Action/Sum.lean` -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {ι M N : Type*} {α β γ : ι → Type*} (i : ι) diff --git a/Mathlib/Algebra/Group/Action/Pointwise/Finset.lean b/Mathlib/Algebra/Group/Action/Pointwise/Finset.lean index 47424441faa190..f1779b95700972 100644 --- a/Mathlib/Algebra/Group/Action/Pointwise/Finset.lean +++ b/Mathlib/Algebra/Group/Action/Pointwise/Finset.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise actions of finsets -/ +@[expose] public section + -- TODO -- assert_not_exists MonoidWithZero assert_not_exists Cardinal diff --git a/Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean b/Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean index 4cd51d23ce8845..3480fdd718859d 100644 --- a/Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean +++ b/Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Data.Set.Pairwise.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Data.Set.Pairwise.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise actions on sets @@ -25,6 +27,8 @@ of `α`/`Set α` on `Set β`. instances reducible changes the behavior of `simp`. -/ +@[expose] public section + assert_not_exists MonoidWithZero OrderedAddCommMonoid open Function MulOpposite diff --git a/Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean b/Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean index e1dd19b2194009..0ae13f3a282212 100644 --- a/Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean +++ b/Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Data.Set.Finite.Basic /-! # Finiteness lemmas for pointwise operations on sets -/ +@[expose] public section + open scoped Pointwise namespace Set diff --git a/Mathlib/Algebra/Group/Action/Pretransitive.lean b/Mathlib/Algebra/Group/Action/Pretransitive.lean index a4b3fe17811b66..7f3c93f298c254 100644 --- a/Mathlib/Algebra/Group/Action/Pretransitive.lean +++ b/Mathlib/Algebra/Group/Action/Pretransitive.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.TypeTags +module + +public import Mathlib.Algebra.Group.Action.TypeTags /-! # Pretransitive group actions @@ -25,6 +27,8 @@ More sophisticated lemmas belong in `GroupTheory.GroupAction`. group action -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/Prod.lean b/Mathlib/Algebra/Group/Action/Prod.lean index bc9c386514fe0f..99a259efbbaa8c 100644 --- a/Mathlib/Algebra/Group/Action/Prod.lean +++ b/Mathlib/Algebra/Group/Action/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Action.Hom -import Mathlib.Algebra.Group.Prod +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Action.Hom +public import Mathlib.Algebra.Group.Prod /-! # Prod instances for additive and multiplicative actions @@ -34,6 +36,8 @@ https://leanprover.zulipchat.com/#narrow/near/316087838 This was not done as part of the port in order to stay as close as possible to the mathlib3 code. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M N P E α β : Type*} diff --git a/Mathlib/Algebra/Group/Action/Sigma.lean b/Mathlib/Algebra/Group/Action/Sigma.lean index 8cdaccd36375e7..f593f124405477 100644 --- a/Mathlib/Algebra/Group/Action/Sigma.lean +++ b/Mathlib/Algebra/Group/Action/Sigma.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Data.Sigma.Basic +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Data.Sigma.Basic /-! # Sigma instances for additive and multiplicative actions @@ -19,6 +21,8 @@ This file defines instances for arbitrary sum of additive and multiplicative act * `Mathlib/Algebra/Group/Action/Sum.lean` -/ +@[expose] public section + assert_not_exists MonoidWithZero diff --git a/Mathlib/Algebra/Group/Action/Sum.lean b/Mathlib/Algebra/Group/Action/Sum.lean index 3e796cd0952ca6..524c8baa1a4907 100644 --- a/Mathlib/Algebra/Group/Action/Sum.lean +++ b/Mathlib/Algebra/Group/Action/Sum.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Faithful +module + +public import Mathlib.Algebra.Group.Action.Faithful /-! # Sum instances for additive and multiplicative actions @@ -18,6 +20,8 @@ This file defines instances for additive and multiplicative actions on the binar * `Mathlib/Algebra/Group/Action/Sigma.lean` -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M N α β : Type*} diff --git a/Mathlib/Algebra/Group/Action/TransferInstance.lean b/Mathlib/Algebra/Group/Action/TransferInstance.lean index 4948fe3aea634b..e48665a2f15a85 100644 --- a/Mathlib/Algebra/Group/Action/TransferInstance.lean +++ b/Mathlib/Algebra/Group/Action/TransferInstance.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Data.Fintype.Basic /-! # Transfer algebraic structures across `Equiv`s @@ -15,6 +17,8 @@ import Mathlib.Data.Fintype.Basic This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace Equiv diff --git a/Mathlib/Algebra/Group/Action/TypeTags.lean b/Mathlib/Algebra/Group/Action/TypeTags.lean index 3b63ed221a9e81..7c87abd05e2126 100644 --- a/Mathlib/Algebra/Group/Action/TypeTags.lean +++ b/Mathlib/Algebra/Group/Action/TypeTags.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Additive and Multiplicative for group actions @@ -14,6 +16,8 @@ import Mathlib.Algebra.Group.TypeTags.Basic group action -/ +@[expose] public section + assert_not_exists MonoidWithZero MonoidHom open Function (Injective Surjective) diff --git a/Mathlib/Algebra/Group/Action/Units.lean b/Mathlib/Algebra/Group/Action/Units.lean index da68759a816641..aa8d5bd595c464 100644 --- a/Mathlib/Algebra/Group/Action/Units.lean +++ b/Mathlib/Algebra/Group/Action/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Units.Defs +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Units.Defs /-! # Group actions on and by `Mˣ` @@ -20,6 +22,8 @@ These instances use a primed name. The results are repeated for `AddUnits` and `VAdd` where relevant. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {G H M N α : Type*} diff --git a/Mathlib/Algebra/Group/AddChar.lean b/Mathlib/Algebra/Group/AddChar.lean index 6ab93de86ac67f..6a8fa5a3d4b42b 100644 --- a/Mathlib/Algebra/Group/AddChar.lean +++ b/Mathlib/Algebra/Group/AddChar.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Ring.Regular +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Ring.Regular /-! # Characters from additive to multiplicative monoids @@ -42,6 +44,8 @@ https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Additive.20ch additive character -/ +@[expose] public section + /-! ### Definitions related to and results on additive characters -/ diff --git a/Mathlib/Algebra/Group/Basic.lean b/Mathlib/Algebra/Group/Basic.lean index be88ab009ee307..2a1b28f8776811 100644 --- a/Mathlib/Algebra/Group/Basic.lean +++ b/Mathlib/Algebra/Group/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Simon Hudon, Mario Carneiro -/ -import Aesop -import Mathlib.Algebra.Group.Defs -import Mathlib.Data.Int.Init -import Mathlib.Logic.Function.Iterate -import Mathlib.Tactic.SimpRw -import Mathlib.Tactic.SplitIfs +module + +public import Aesop +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Data.Int.Init +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Tactic.SimpRw +public import Mathlib.Tactic.SplitIfs /-! # Basic lemmas about semigroups, monoids, and groups @@ -18,6 +20,8 @@ one-liners from the corresponding axioms. For the definitions of semigroups, mon `Algebra/Group/Defs.lean`. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open Function diff --git a/Mathlib/Algebra/Group/Center.lean b/Mathlib/Algebra/Group/Center.lean index d05366b2c98d53..2c7ce6db814349 100644 --- a/Mathlib/Algebra/Group/Center.lean +++ b/Mathlib/Algebra/Group/Center.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Algebra.Group.Invertible.Basic -import Mathlib.Logic.Basic -import Mathlib.Data.Set.Basic -import Mathlib.Algebra.Notation.Prod +module + +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Algebra.Group.Invertible.Basic +public import Mathlib.Logic.Basic +public import Mathlib.Data.Set.Basic +public import Mathlib.Algebra.Notation.Prod /-! # Centers of magmas and semigroups @@ -38,6 +40,8 @@ We provide `Monoid.centralizer`, `AddMonoid.centralizer`, `Subgroup.centralizer` `AddSubgroup.centralizer` in other files. -/ +@[expose] public section + assert_not_exists HeytingAlgebra RelIso Finset MonoidWithZero Subsemigroup variable {M : Type*} {S T : Set M} diff --git a/Mathlib/Algebra/Group/Commutator.lean b/Mathlib/Algebra/Group/Commutator.lean index b719453bc1f7a1..ee9381b6803e3d 100644 --- a/Mathlib/Algebra/Group/Commutator.lean +++ b/Mathlib/Algebra/Group/Commutator.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Data.Bracket +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Data.Bracket /-! # The bracket on a group given by commutator. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered /-- The commutator of two elements `g₁` and `g₂`. -/ diff --git a/Mathlib/Algebra/Group/Commute/Basic.lean b/Mathlib/Algebra/Group/Commute/Basic.lean index 592b85e20f27d7..4c54462ae2949c 100644 --- a/Mathlib/Algebra/Group/Commute/Basic.lean +++ b/Mathlib/Algebra/Group/Commute/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Semiconj.Basic +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Semiconj.Basic /-! # Additional lemmas about commuting pairs of elements in monoids -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {G : Type*} diff --git a/Mathlib/Algebra/Group/Commute/Defs.lean b/Mathlib/Algebra/Group/Commute/Defs.lean index af7b68f0697bca..dbaa7979ce9cac 100644 --- a/Mathlib/Algebra/Group/Commute/Defs.lean +++ b/Mathlib/Algebra/Group/Commute/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Semiconj.Defs +module + +public import Mathlib.Algebra.Group.Semiconj.Defs /-! # Commuting pairs of elements in monoids @@ -24,6 +26,8 @@ This file defines only a few operations (`mul_left`, `inv_right`, etc). Other o Most of the proofs come from the properties of `SemiconjBy`. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {G M S : Type*} diff --git a/Mathlib/Algebra/Group/Commute/Hom.lean b/Mathlib/Algebra/Group/Commute/Hom.lean index 74d5ad5e18c7b8..bb4eb3604af038 100644 --- a/Mathlib/Algebra/Group/Commute/Hom.lean +++ b/Mathlib/Algebra/Group/Commute/Hom.lean @@ -4,13 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kevin Buzzard, Kim Morrison, Johan Commelin, Chris Hughes, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Hom.Defs +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Hom.Defs /-! # Multiplicative homomorphisms respect semiconjugation and commutation. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered section Commute diff --git a/Mathlib/Algebra/Group/Commute/Units.lean b/Mathlib/Algebra/Group/Commute/Units.lean index d94b6d9591f5d8..7c58d890916ba1 100644 --- a/Mathlib/Algebra/Group/Commute/Units.lean +++ b/Mathlib/Algebra/Group/Commute/Units.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Semiconj.Units +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Semiconj.Units /-! # Lemmas about commuting pairs of elements involving units. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {M : Type*} diff --git a/Mathlib/Algebra/Group/Conj.lean b/Mathlib/Algebra/Group/Conj.lean index 1bb7e4a87029b9..2e052dd54d7db6 100644 --- a/Mathlib/Algebra/Group/Conj.lean +++ b/Mathlib/Algebra/Group/Conj.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Chris Hughes, Michael Howes -/ -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Group.Semiconj.Units +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Group.Semiconj.Units /-! # Conjugacy of group elements @@ -12,6 +14,8 @@ import Mathlib.Algebra.Group.Semiconj.Units See also `MulAut.conj` and `Quandle.conj`. -/ +@[expose] public section + assert_not_exists MonoidWithZero Multiset MulAction universe u v diff --git a/Mathlib/Algebra/Group/ConjFinite.lean b/Mathlib/Algebra/Group/ConjFinite.lean index 2f857b428d4b92..001f212631a576 100644 --- a/Mathlib/Algebra/Group/ConjFinite.lean +++ b/Mathlib/Algebra/Group/ConjFinite.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Algebra.Group.Conj -import Mathlib.Data.Fintype.Units +module + +public import Mathlib.Algebra.Group.Conj +public import Mathlib.Data.Fintype.Units /-! # Conjugacy of elements of finite groups -/ +@[expose] public section + assert_not_exists Field -- TODO: the following `assert_not_exists` should work, but does not diff --git a/Mathlib/Algebra/Group/Defs.lean b/Mathlib/Algebra/Group/Defs.lean index 259d7ecff76201..f6a99f45fec9ad 100644 --- a/Mathlib/Algebra/Group/Defs.lean +++ b/Mathlib/Algebra/Group/Defs.lean @@ -3,15 +3,17 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Simon Hudon, Mario Carneiro -/ -import Batteries.Logic -import Mathlib.Algebra.Notation.Defs -import Mathlib.Algebra.Regular.Defs -import Mathlib.Data.Int.Notation -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Logic.Function.Defs -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.OfNat -import Mathlib.Tactic.Basic +module + +public import Batteries.Logic +public import Mathlib.Algebra.Notation.Defs +public import Mathlib.Algebra.Regular.Defs +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Logic.Function.Defs +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.OfNat +public import Mathlib.Tactic.Basic /-! # Typeclasses for (semi)groups and monoids @@ -40,6 +42,8 @@ We register the following instances: -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered Function.const_injective universe u v w @@ -1149,10 +1153,10 @@ theorem div_mul_cancel (a b : G) : a / b * b = a := by @[to_additive] instance (priority := 100) Group.toDivisionMonoid : DivisionMonoid G := - { inv_inv := fun a ↦ inv_eq_of_mul (inv_mul_cancel a) + { inv_inv := by exact fun a ↦ inv_eq_of_mul (inv_mul_cancel a) mul_inv_rev := - fun a b ↦ inv_eq_of_mul <| by rw [mul_assoc, mul_inv_cancel_left, mul_inv_cancel] - inv_eq_of_mul := fun _ _ ↦ inv_eq_of_mul } + by exact fun a b ↦ inv_eq_of_mul <| by rw [mul_assoc, mul_inv_cancel_left, mul_inv_cancel] + inv_eq_of_mul := by exact fun _ _ ↦ inv_eq_of_mul } -- see Note [lower instance priority] @[to_additive] diff --git a/Mathlib/Algebra/Group/Embedding.lean b/Mathlib/Algebra/Group/Embedding.lean index a276c9866e6869..2f25388801cdef 100644 --- a/Mathlib/Algebra/Group/Embedding.lean +++ b/Mathlib/Algebra/Group/Embedding.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Logic.Embedding.Basic -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Algebra.Group.Defs /-! # The embedding of a cancellative semigroup into itself by multiplication by a fixed element. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {G : Type*} diff --git a/Mathlib/Algebra/Group/End.lean b/Mathlib/Algebra/Group/End.lean index 3f6bd2686de3c8..f22f46a741c39a 100644 --- a/Mathlib/Algebra/Group/End.lean +++ b/Mathlib/Algebra/Group/End.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.TypeTags -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Data.Set.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Equiv.TypeTags +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Data.Set.Basic +public import Mathlib.Tactic.Common /-! # Monoids of endomorphisms, groups of automorphisms @@ -30,6 +32,8 @@ function composition, and multiplication in `CategoryTheory.End`, but not with end monoid, aut group -/ +@[expose] public section + assert_not_exists HeytingAlgebra MonoidWithZero MulAction RelIso variable {A M G α β γ : Type*} @@ -385,7 +389,7 @@ theorem subtypePerm_mul (f g : Perm α) (hf hg) : (f * g).subtypePerm fun _ => (hf _).trans <| hg _ := rfl -private theorem inv_aux : (∀ x, p (f x) ↔ p x) ↔ ∀ x, p (f⁻¹ x) ↔ p x := +theorem inv_aux : (∀ x, p (f x) ↔ p x) ↔ ∀ x, p (f⁻¹ x) ↔ p x := f⁻¹.surjective.forall.trans <| by simp_rw [f.apply_inv_self, Iff.comm] /-- See `Equiv.Perm.inv_subtypePerm`. -/ @@ -399,7 +403,7 @@ theorem inv_subtypePerm (f : Perm α) (hf) : (f.subtypePerm hf : Perm { x // p x })⁻¹ = f⁻¹.subtypePerm (inv_aux.1 hf) := rfl -private theorem pow_aux (hf : ∀ x, p (f x) ↔ p x) : ∀ {n : ℕ} (x), p ((f ^ n) x) ↔ p x +theorem pow_aux (hf : ∀ x, p (f x) ↔ p x) : ∀ {n : ℕ} (x), p ((f ^ n) x) ↔ p x | 0, _ => Iff.rfl | _ + 1, _ => (pow_aux hf (f _)).trans (hf _) @@ -410,7 +414,7 @@ theorem subtypePerm_pow (f : Perm α) (n : ℕ) (hf) : | zero => simp | succ n ih => simp_rw [pow_succ', ih, subtypePerm_mul] -private theorem zpow_aux (hf : ∀ x, p (f x) ↔ p x) : ∀ {n : ℤ} (x), p ((f ^ n) x) ↔ p x +theorem zpow_aux (hf : ∀ x, p (f x) ↔ p x) : ∀ {n : ℤ} (x), p ((f ^ n) x) ↔ p x | Int.ofNat _ => pow_aux hf | Int.negSucc n => by rw [zpow_negSucc] diff --git a/Mathlib/Algebra/Group/Equiv/Basic.lean b/Mathlib/Algebra/Group/Equiv/Basic.lean index e1cf82e5566373..2c5ce51abe6854 100644 --- a/Mathlib/Algebra/Group/Equiv/Basic.lean +++ b/Mathlib/Algebra/Group/Equiv/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Logic.Equiv.Basic -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Logic.Equiv.Basic +public import Mathlib.Tactic.Spread /-! # Multiplicative and additive equivs @@ -18,6 +20,8 @@ This file contains basic results on `MulEquiv` and `AddEquiv`. Equiv, MulEquiv, AddEquiv -/ +@[expose] public section + assert_not_exists Fintype open Function diff --git a/Mathlib/Algebra/Group/Equiv/Defs.lean b/Mathlib/Algebra/Group/Equiv/Defs.lean index fa781103de72a7..e9f360f10f3ef7 100644 --- a/Mathlib/Algebra/Group/Equiv/Defs.lean +++ b/Mathlib/Algebra/Group/Equiv/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Logic.Equiv.Defs /-! # Multiplicative and additive equivs @@ -31,6 +33,8 @@ notation when treating the isomorphisms as maps. Equiv, MulEquiv, AddEquiv -/ +@[expose] public section + open Function variable {F α β M N P G H : Type*} diff --git a/Mathlib/Algebra/Group/Equiv/Finite.lean b/Mathlib/Algebra/Group/Equiv/Finite.lean index 73e50571f3fe6f..beb0287f136da8 100644 --- a/Mathlib/Algebra/Group/Equiv/Finite.lean +++ b/Mathlib/Algebra/Group/Equiv/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Data.Fintype.Defs +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Data.Fintype.Defs /-! # Finite types with addition/multiplications @@ -17,6 +19,8 @@ addition/multiplication operator. * `Fintype.decidableEqMulEquivFintype`: `MulEquiv`s on finite types have decidable equality -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction open Function diff --git a/Mathlib/Algebra/Group/Equiv/Opposite.lean b/Mathlib/Algebra/Group/Equiv/Opposite.lean index 29abf63d754793..cea45d3b9f4471 100644 --- a/Mathlib/Algebra/Group/Equiv/Opposite.lean +++ b/Mathlib/Algebra/Group/Equiv/Opposite.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Opposite +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Opposite /-! # Group isomorphism between a group and its opposite -/ +@[expose] public section + variable {α : Type*} namespace MulOpposite diff --git a/Mathlib/Algebra/Group/Equiv/TypeTags.lean b/Mathlib/Algebra/Group/Equiv/TypeTags.lean index cc217118734826..782a2ef913f41a 100644 --- a/Mathlib/Algebra/Group/Equiv/TypeTags.lean +++ b/Mathlib/Algebra/Group/Equiv/TypeTags.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.TypeTags.Hom -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Notation.Prod -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.TypeTags.Hom +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Tactic.Spread /-! # Additive and multiplicative equivalences associated to `Multiplicative` and `Additive`. -/ +@[expose] public section + assert_not_exists Finite Fintype variable {ι G H : Type*} diff --git a/Mathlib/Algebra/Group/Even.lean b/Mathlib/Algebra/Group/Even.lean index 56ec585f1f7748..de3397af958e07 100644 --- a/Mathlib/Algebra/Group/Even.lean +++ b/Mathlib/Algebra/Group/Even.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Data.Set.Operations +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Data.Set.Operations /-! # Squares and even elements @@ -37,6 +39,8 @@ This file defines square and even elements in a monoid. `Even` / `IsSquare` in rings. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open MulOpposite diff --git a/Mathlib/Algebra/Group/EvenFunction.lean b/Mathlib/Algebra/Group/EvenFunction.lean index 5e39bc3da94a37..d1fbca7b501ec5 100644 --- a/Mathlib/Algebra/Group/EvenFunction.lean +++ b/Mathlib/Algebra/Group/EvenFunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Module.Defs /-! # Even and odd functions @@ -18,6 +20,8 @@ conflicting with the root-level definitions `Even` and `Odd` (which, for functio function takes even resp. odd _values_, a wholly different concept). -/ +@[expose] public section + assert_not_exists Module.IsTorsionFree NoZeroSMulDivisors namespace Function diff --git a/Mathlib/Algebra/Group/Ext.lean b/Mathlib/Algebra/Group/Ext.lean index 8c2a61354f914b..757146b52e21f3 100644 --- a/Mathlib/Algebra/Group/Ext.lean +++ b/Mathlib/Algebra/Group/Ext.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Bryan Gin-ge Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bryan Gin-ge Chen, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Defs +module + +public import Mathlib.Algebra.Group.Hom.Defs /-! # Extensionality lemmas for monoid and group structures @@ -25,6 +27,8 @@ former uses `HMul.hMul` which is the canonical spelling. monoid, group, extensionality -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open Function diff --git a/Mathlib/Algebra/Group/Fin/Basic.lean b/Mathlib/Algebra/Group/Fin/Basic.lean index bd6aaf1b750477..809efc625d46cf 100644 --- a/Mathlib/Algebra/Group/Fin/Basic.lean +++ b/Mathlib/Algebra/Group/Fin/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.NeZero -import Mathlib.Data.Nat.Cast.Defs -import Mathlib.Data.Fin.Rev +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.NeZero +public import Mathlib.Data.Nat.Cast.Defs +public import Mathlib.Data.Fin.Rev /-! # Fin is a group @@ -16,6 +18,8 @@ This file contains the additive and multiplicative monoid instances on `Fin n`. See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero open Nat diff --git a/Mathlib/Algebra/Group/Fin/Tuple.lean b/Mathlib/Algebra/Group/Fin/Tuple.lean index 3a13db7774f927..c65996958bbd97 100644 --- a/Mathlib/Algebra/Group/Fin/Tuple.lean +++ b/Mathlib/Algebra/Group/Fin/Tuple.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yury Kudryashov, Sébastien Gouëzel, Chris Hughes -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Data.Fin.VecNotation +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Data.Fin.VecNotation /-! # Algebraic properties of tuples -/ +@[expose] public section + namespace Fin variable {n : ℕ} {α : Fin (n + 1) → Type*} diff --git a/Mathlib/Algebra/Group/Finsupp.lean b/Mathlib/Algebra/Group/Finsupp.lean index cc33871d517b13..5a38f3bd7850c8 100644 --- a/Mathlib/Algebra/Group/Finsupp.lean +++ b/Mathlib/Algebra/Group/Finsupp.lean @@ -3,16 +3,20 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Data.Finset.Max -import Mathlib.Data.Finsupp.Single -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Finsupp.Single +public import Mathlib.Tactic.FastInstance /-! # Additive monoid structure on `ι →₀ M` -/ +@[expose] public section + assert_not_exists MonoidWithZero open Finset diff --git a/Mathlib/Algebra/Group/ForwardDiff.lean b/Mathlib/Algebra/Group/ForwardDiff.lean index 140b8e339846f1..c875a9dc64945f 100644 --- a/Mathlib/Algebra/Group/ForwardDiff.lean +++ b/Mathlib/Algebra/Group/ForwardDiff.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Giulio Caflisch, David Loeffler, Yu Shao, Weijie Jiang, BeiBei Xiong -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Group.AddChar -import Mathlib.Algebra.Module.Submodule.LinearMap -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Tactic.Abel -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Algebra.Polynomial.Degree.Definitions -import Mathlib.Algebra.Polynomial.Eval.Degree +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Algebra.Module.Submodule.LinearMap +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Tactic.Abel +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Algebra.Polynomial.Degree.Definitions +public import Mathlib.Algebra.Polynomial.Eval.Degree /-! # Forward difference operators and Newton series @@ -31,6 +33,8 @@ We also prove some auxiliary results about iterated forward differences of the f `n ↦ n.choose k`. -/ +@[expose] public section + open Finset Nat Function Polynomial variable {M G : Type*} [AddCommMonoid M] [AddCommGroup G] (h : M) diff --git a/Mathlib/Algebra/Group/Graph.lean b/Mathlib/Algebra/Group/Graph.lean index ee02a967ca3b68..d3891e643d8941 100644 --- a/Mathlib/Algebra/Group/Graph.lean +++ b/Mathlib/Algebra/Group/Graph.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, David Loeffler -/ -import Mathlib.Algebra.Group.Subgroup.Ker +module + +public import Mathlib.Algebra.Group.Subgroup.Ker /-! # Vertical line test for group homs @@ -23,6 +25,8 @@ We also prove specialised versions when `f` is the inclusion of a subgroup of th homomorphism version is more flexible in applications.) -/ +@[expose] public section + open Function Set variable {G H I : Type*} diff --git a/Mathlib/Algebra/Group/Hom/Basic.lean b/Mathlib/Algebra/Group/Hom/Basic.lean index 61c9f1e64866fa..48295b4d989d7c 100644 --- a/Mathlib/Algebra/Group/Hom/Basic.lean +++ b/Mathlib/Algebra/Group/Hom/Basic.lean @@ -4,14 +4,18 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kevin Buzzard, Kim Morrison, Johan Commelin, Chris Hughes, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Hom.Defs +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Hom.Defs /-! # Additional lemmas about monoid and group homomorphisms -/ +@[expose] public section + -- `NeZero` cannot be additivised, hence its theory should be developed outside of the -- `Algebra.Group` folder. assert_not_imported Mathlib.Algebra.NeZero diff --git a/Mathlib/Algebra/Group/Hom/CompTypeclasses.lean b/Mathlib/Algebra/Group/Hom/CompTypeclasses.lean index da624918a831f4..7e6c1e100060de 100644 --- a/Mathlib/Algebra/Group/Hom/CompTypeclasses.lean +++ b/Mathlib/Algebra/Group/Hom/CompTypeclasses.lean @@ -3,10 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module - -import Mathlib.Logic.Function.CompTypeclasses -import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Logic.Function.CompTypeclasses +public import Mathlib.Algebra.Group.Hom.Defs /-! # Propositional typeclasses on several monoid homs @@ -34,6 +34,8 @@ TODO : -/ +@[expose] public section + section MonoidHomCompTriple namespace MonoidHom diff --git a/Mathlib/Algebra/Group/Hom/Defs.lean b/Mathlib/Algebra/Group/Hom/Defs.lean index f40dae0dce654f..52997d8da3ec3d 100644 --- a/Mathlib/Algebra/Group/Hom/Defs.lean +++ b/Mathlib/Algebra/Group/Hom/Defs.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kevin Buzzard, Kim Morrison, Johan Commelin, Chris Hughes, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Data.FunLike.Basic -import Mathlib.Logic.Function.Iterate +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Logic.Function.Iterate /-! # Monoid and group homomorphisms @@ -58,6 +60,8 @@ MonoidHom, AddMonoidHom -/ +@[expose] public section + open Function variable {ι α β M N P : Type*} diff --git a/Mathlib/Algebra/Group/Hom/End.lean b/Mathlib/Algebra/Group/Hom/End.lean index 7ea0b980390d9b..b0477baf971e62 100644 --- a/Mathlib/Algebra/Group/Hom/End.lean +++ b/Mathlib/Algebra/Group/Hom/End.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kevin Buzzard, Kim Morrison, Johan Commelin, Chris Hughes, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.Ring.Defs /-! # Instances on spaces of monoid and group morphisms @@ -17,6 +19,8 @@ They are separate, and if someone would like to split this file in two that may * Results about `AddMonoid.End R` when `R` is a ring. -/ +@[expose] public section + universe uM diff --git a/Mathlib/Algebra/Group/Hom/Instances.lean b/Mathlib/Algebra/Group/Hom/Instances.lean index 23aee596b3f297..fbdac6ac6146c9 100644 --- a/Mathlib/Algebra/Group/Hom/Instances.lean +++ b/Mathlib/Algebra/Group/Hom/Instances.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kevin Buzzard, Kim Morrison, Johan Commelin, Chris Hughes, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Tactic.FastInstance /-! # Instances on spaces of monoid and group morphisms @@ -22,6 +24,8 @@ operations. Finally, we provide the `Ring` structure on `AddMonoid.End`. -/ +@[expose] public section + assert_not_exists AddMonoidWithOne Ring universe uM uN uP uQ @@ -65,19 +69,19 @@ lemma MonoidHom.pow_apply [MulOneClass M] [CommMonoid N] (f : M →* N) (n : ℕ /-- `OneHom M N` is a `Monoid` if `N` is. -/ @[to_additive /-- `ZeroHom M N` is an `AddMonoid` if `N` is. -/] instance OneHom.instMonoid [One M] [Monoid N] : Monoid (OneHom M N) := - fast_instance% + --fast_instance% DFunLike.coe_injective.monoid DFunLike.coe rfl (fun _ _ => rfl) (fun _ _ => rfl) /-- `OneHom M N` is a `CommMonoid` if `N` is commutative. -/ @[to_additive /-- `ZeroHom M N` is an `AddCommMonoid` if `N` is commutative. -/] instance OneHom.instCommMonoid [One M] [CommMonoid N] : CommMonoid (OneHom M N) := - fast_instance% + --fast_instance% DFunLike.coe_injective.commMonoid DFunLike.coe rfl (fun _ _ => rfl) (fun _ _ => rfl) /-- `(M →* N)` is a `CommMonoid` if `N` is commutative. -/ @[to_additive /-- `(M →+ N)` is an `AddCommMonoid` if `N` is commutative. -/] instance MonoidHom.instCommMonoid [MulOneClass M] [CommMonoid N] : CommMonoid (M →* N) := - fast_instance% + --fast_instance% DFunLike.coe_injective.commMonoid DFunLike.coe rfl (fun _ _ => rfl) (fun _ _ => rfl) instance ZeroHom.instIntSMul [Zero M] [AddGroup N] : SMul ℤ (ZeroHom M N) where @@ -117,14 +121,14 @@ lemma MonoidHom.zpow_apply [MulOneClass M] [CommGroup N] (f : M →* N) (z : ℤ /-- If `G` is a group, then so is `OneHom M G`. -/ @[to_additive /-- If `G` is an additive group, then so is `ZeroHom M G`. -/] instance OneHom.instGroup [One M] [Group N] : Group (OneHom M N) := - fast_instance% + --fast_instance% DFunLike.coe_injective.group DFunLike.coe rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) /-- If `G` is a commutative group, then so is `OneHom M G`. -/ @[to_additive /-- If `G` is an additive commutative group, then so is `ZeroHom M G`. -/] instance OneHom.instCommGroup [One M] [CommGroup N] : CommGroup (OneHom M N) := - fast_instance% + --fast_instance% DFunLike.coe_injective.commGroup DFunLike.coe rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) diff --git a/Mathlib/Algebra/Group/Idempotent.lean b/Mathlib/Algebra/Group/Idempotent.lean index c3412cd6d36e20..eb272f5d58523a 100644 --- a/Mathlib/Algebra/Group/Idempotent.lean +++ b/Mathlib/Algebra/Group/Idempotent.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Data.Subtype -import Mathlib.Tactic.Conv +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Data.Subtype +public import Mathlib.Tactic.Conv /-! # Idempotents @@ -26,6 +28,8 @@ including: projection, idempotent -/ +@[expose] public section + assert_not_exists GroupWithZero variable {M N S : Type*} diff --git a/Mathlib/Algebra/Group/Indicator.lean b/Mathlib/Algebra/Group/Indicator.lean index a8a63abd868c8c..8029ca0f601ebd 100644 --- a/Mathlib/Algebra/Group/Indicator.lean +++ b/Mathlib/Algebra/Group/Indicator.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Notation.Indicator +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Notation.Indicator /-! # Indicator function @@ -33,6 +35,8 @@ arguments. This is in contrast with the design of `Pi.single` or `Set.piecewise` indicator, characteristic -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function diff --git a/Mathlib/Algebra/Group/InjSurj.lean b/Mathlib/Algebra/Group/InjSurj.lean index 8de254df3f1334..a276fe73fc93b5 100644 --- a/Mathlib/Algebra/Group/InjSurj.lean +++ b/Mathlib/Algebra/Group/InjSurj.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Logic.Function.Basic -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Logic.Function.Basic +public import Mathlib.Tactic.Spread /-! # Lifting algebraic data classes along injective/surjective maps @@ -28,6 +30,8 @@ Note that the `nsmul` and `zsmul` hypotheses in the declarations in this file ar `to_additive`ized from the versions for `^`. -/ +@[expose] public section + namespace Function diff --git a/Mathlib/Algebra/Group/Int/Defs.lean b/Mathlib/Algebra/Group/Int/Defs.lean index c5dd808e8332f4..b9bac9b676d5a0 100644 --- a/Mathlib/Algebra/Group/Int/Defs.lean +++ b/Mathlib/Algebra/Group/Int/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # The integers form a group @@ -13,6 +15,8 @@ This file contains the additive group and multiplicative monoid instances on the See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists Ring DenselyOrdered open Nat diff --git a/Mathlib/Algebra/Group/Int/Even.lean b/Mathlib/Algebra/Group/Int/Even.lean index e64befa8b02fee..95fde39469f196 100644 --- a/Mathlib/Algebra/Group/Int/Even.lean +++ b/Mathlib/Algebra/Group/Int/Even.lean @@ -3,14 +3,18 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Group.Nat.Even -import Mathlib.Data.Int.Sqrt +module + +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Group.Nat.Even +public import Mathlib.Data.Int.Sqrt /-! # Parity of integers -/ +@[expose] public section + open Nat namespace Int diff --git a/Mathlib/Algebra/Group/Int/TypeTags.lean b/Mathlib/Algebra/Group/Int/TypeTags.lean index 42958ea577c408..170571ba3037aa 100644 --- a/Mathlib/Algebra/Group/Int/TypeTags.lean +++ b/Mathlib/Algebra/Group/Int/TypeTags.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Lemmas about `Multiplicative ℤ`. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Algebra/Group/Int/Units.lean b/Mathlib/Algebra/Group/Int/Units.lean index 7526163963061f..7cd360deb38252 100644 --- a/Mathlib/Algebra/Group/Int/Units.lean +++ b/Mathlib/Algebra/Group/Int/Units.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Tactic.Tauto -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Nat.Units +module + +public import Mathlib.Tactic.Tauto +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Nat.Units /-! # Units in the integers -/ +@[expose] public section + open Nat diff --git a/Mathlib/Algebra/Group/Invertible/Basic.lean b/Mathlib/Algebra/Group/Invertible/Basic.lean index 19a631c52353ce..1bf6950d56ef1b 100644 --- a/Mathlib/Algebra/Group/Invertible/Basic.lean +++ b/Mathlib/Algebra/Group/Invertible/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Algebra.Group.Invertible.Defs -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Algebra.Group.Invertible.Defs +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Logic.Equiv.Defs /-! # Theorems about invertible elements -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered universe u diff --git a/Mathlib/Algebra/Group/Invertible/Defs.lean b/Mathlib/Algebra/Group/Invertible/Defs.lean index 420ec2ff61f515..265743e03968bf 100644 --- a/Mathlib/Algebra/Group/Invertible/Defs.lean +++ b/Mathlib/Algebra/Group/Invertible/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # Invertible elements @@ -73,6 +75,8 @@ invertible, inverse element, invOf, a half, one half, a third, one third, ½, -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered universe u diff --git a/Mathlib/Algebra/Group/Irreducible/Defs.lean b/Mathlib/Algebra/Group/Irreducible/Defs.lean index c465957cbfd439..6a9253c9482b85 100644 --- a/Mathlib/Algebra/Group/Irreducible/Defs.lean +++ b/Mathlib/Algebra/Group/Irreducible/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Yaël Dillies -/ -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Logic.Basic +module + +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Logic.Basic /-! # Irreducible elements in a monoid @@ -17,6 +19,8 @@ In decomposition monoids (e.g., `ℕ`, `ℤ`), this predicate is equivalent to ` (see `irreducible_iff_prime`), however this is not true in general. -/ +@[expose] public section + assert_not_exists MonoidWithZero OrderedCommMonoid Multiset variable {M : Type*} diff --git a/Mathlib/Algebra/Group/Irreducible/Lemmas.lean b/Mathlib/Algebra/Group/Irreducible/Lemmas.lean index ae445c19a76ff1..69a8faf49704f8 100644 --- a/Mathlib/Algebra/Group/Irreducible/Lemmas.lean +++ b/Mathlib/Algebra/Group/Irreducible/Lemmas.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Yaël Dillies -/ -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Irreducible.Defs -import Mathlib.Algebra.Group.Units.Equiv +module + +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Irreducible.Defs +public import Mathlib.Algebra.Group.Units.Equiv /-! # More lemmas about irreducible elements -/ +@[expose] public section + assert_not_exists MonoidWithZero OrderedCommMonoid Multiset variable {F M N : Type*} diff --git a/Mathlib/Algebra/Group/MinimalAxioms.lean b/Mathlib/Algebra/Group/MinimalAxioms.lean index b68806dbcfd67c..a07c08991113f6 100644 --- a/Mathlib/Algebra/Group/MinimalAxioms.lean +++ b/Mathlib/Algebra/Group/MinimalAxioms.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.Group.Defs /-! # Minimal Axioms for a Group @@ -21,6 +22,8 @@ equalities. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered universe u diff --git a/Mathlib/Algebra/Group/Nat/Defs.lean b/Mathlib/Algebra/Group/Nat/Defs.lean index c3420501c0fc69..80956881673639 100644 --- a/Mathlib/Algebra/Group/Nat/Defs.lean +++ b/Mathlib/Algebra/Group/Nat/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # The natural numbers form a monoid @@ -13,6 +15,8 @@ This file contains the additive and multiplicative monoid instances on the natur See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered namespace Nat diff --git a/Mathlib/Algebra/Group/Nat/Even.lean b/Mathlib/Algebra/Group/Nat/Even.lean index c7cde4b908f4fc..b63580b26f654c 100644 --- a/Mathlib/Algebra/Group/Nat/Even.lean +++ b/Mathlib/Algebra/Group/Nat/Even.lean @@ -3,14 +3,18 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Data.Nat.Sqrt +module + +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Data.Nat.Sqrt /-! # `IsSquare` and `Even` for natural numbers -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered namespace Nat diff --git a/Mathlib/Algebra/Group/Nat/Hom.lean b/Mathlib/Algebra/Group/Nat/Hom.lean index 7f11f2876bea3d..ebffd8f8ac0f68 100644 --- a/Mathlib/Algebra/Group/Nat/Hom.lean +++ b/Mathlib/Algebra/Group/Nat/Hom.lean @@ -3,16 +3,20 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.TypeTags.Hom -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.TypeTags.Hom +public import Mathlib.Tactic.Spread /-! # Extensionality of monoid homs from `ℕ` -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero open Additive Multiplicative diff --git a/Mathlib/Algebra/Group/Nat/Range.lean b/Mathlib/Algebra/Group/Nat/Range.lean index c9fd801fb0a8b7..aecff6a2be9268 100644 --- a/Mathlib/Algebra/Group/Nat/Range.lean +++ b/Mathlib/Algebra/Group/Nat/Range.lean @@ -3,13 +3,17 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Data.Finset.Image +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Data.Finset.Image /-! # `Finset.range` and addition of natural numbers -/ + +@[expose] public section assert_not_exists MonoidWithZero MulAction OrderedCommMonoid variable {α β γ : Type*} diff --git a/Mathlib/Algebra/Group/Nat/TypeTags.lean b/Mathlib/Algebra/Group/Nat/TypeTags.lean index e4675239184c8b..0f598ab498e03e 100644 --- a/Mathlib/Algebra/Group/Nat/TypeTags.lean +++ b/Mathlib/Algebra/Group/Nat/TypeTags.lean @@ -3,13 +3,17 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Lemmas about `Multiplicative ℕ` -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open Multiplicative diff --git a/Mathlib/Algebra/Group/Nat/Units.lean b/Mathlib/Algebra/Group/Nat/Units.lean index 925c8d06bf94d1..c70abdaf566660 100644 --- a/Mathlib/Algebra/Group/Nat/Units.lean +++ b/Mathlib/Algebra/Group/Nat/Units.lean @@ -3,14 +3,18 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Logic.Unique +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Logic.Unique /-! # The unit of the natural numbers -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered namespace Nat diff --git a/Mathlib/Algebra/Group/NatPowAssoc.lean b/Mathlib/Algebra/Group/NatPowAssoc.lean index 481ed5cc3c983f..aef592b5e32266 100644 --- a/Mathlib/Algebra/Group/NatPowAssoc.lean +++ b/Mathlib/Algebra/Group/NatPowAssoc.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Cast.Basic +module + +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.Cast.Basic /-! # Typeclasses for power-associative structures @@ -35,6 +37,8 @@ We also produce the following instances: -/ +@[expose] public section + assert_not_exists DenselyOrdered variable {M : Type*} diff --git a/Mathlib/Algebra/Group/Opposite.lean b/Mathlib/Algebra/Group/Opposite.lean index e8b3da31a4f6b6..644880f6b94376 100644 --- a/Mathlib/Algebra/Group/Opposite.lean +++ b/Mathlib/Algebra/Group/Opposite.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Algebra.Group.Torsion -import Mathlib.Algebra.Opposites +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Algebra.Opposites /-! # Group structures on the multiplicative and additive opposites -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered Units variable {α : Type*} diff --git a/Mathlib/Algebra/Group/PNatPowAssoc.lean b/Mathlib/Algebra/Group/PNatPowAssoc.lean index 5a65f4e43c10a6..b2f5f1e9e8f49c 100644 --- a/Mathlib/Algebra/Group/PNatPowAssoc.lean +++ b/Mathlib/Algebra/Group/PNatPowAssoc.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ +module -import Mathlib.Data.PNat.Basic -import Mathlib.Algebra.Notation.Prod +public import Mathlib.Data.PNat.Basic +public import Mathlib.Algebra.Notation.Prod /-! # Typeclasses for power-associative structures @@ -35,6 +36,8 @@ powers are considered. -/ +@[expose] public section + -- TODO: -- assert_not_exists MonoidWithZero diff --git a/Mathlib/Algebra/Group/PUnit.lean b/Mathlib/Algebra/Group/PUnit.lean index 8a8b0aa4ff7a04..5e8485a596bbdf 100644 --- a/Mathlib/Algebra/Group/PUnit.lean +++ b/Mathlib/Algebra/Group/PUnit.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # `PUnit` is a commutative group @@ -12,6 +14,8 @@ This file collects facts about algebraic structures on the one-element type, e.g commutative ring. -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace PUnit diff --git a/Mathlib/Algebra/Group/Pi/Basic.lean b/Mathlib/Algebra/Group/Pi/Basic.lean index 2ce4ef778b1a05..5a9861ac38265b 100644 --- a/Mathlib/Algebra/Group/Pi/Basic.lean +++ b/Mathlib/Algebra/Group/Pi/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Data.Sum.Basic -import Mathlib.Logic.Unique -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Data.Sum.Basic +public import Mathlib.Logic.Unique +public import Mathlib.Tactic.Spread /-! # Instances and theorems on pi types @@ -23,6 +25,8 @@ comment `--pi_instance` is inserted before all fields which were previously deri [https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/not.20porting.20pi_instance] -/ +@[expose] public section + -- We enforce to only import `Algebra.Group.Defs` and basic logic assert_not_exists Set.range MonoidHom MonoidWithZero DenselyOrdered diff --git a/Mathlib/Algebra/Group/Pi/Lemmas.lean b/Mathlib/Algebra/Group/Pi/Lemmas.lean index 8071172f9dc4b4..08f888278d23f4 100644 --- a/Mathlib/Algebra/Group/Pi/Lemmas.lean +++ b/Mathlib/Algebra/Group/Pi/Lemmas.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Torsion -import Mathlib.Data.Set.Piecewise -import Mathlib.Logic.Pairwise +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Logic.Pairwise /-! # Extra lemmas about products of monoids and groups @@ -17,6 +19,8 @@ This file proves lemmas about the instances defined in `Algebra.Group.Pi.Basic` imports. -/ +@[expose] public section + assert_not_exists AddMonoidWithOne MonoidWithZero universe u v w diff --git a/Mathlib/Algebra/Group/Pi/Units.lean b/Mathlib/Algebra/Group/Pi/Units.lean index bf2c48119ab5a0..f43ebce5975944 100644 --- a/Mathlib/Algebra/Group/Pi/Units.lean +++ b/Mathlib/Algebra/Group/Pi/Units.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Util.Delaborators +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Util.Delaborators /-! # Units in pi types -/ +@[expose] public section + variable {ι : Type*} {M : ι → Type*} [∀ i, Monoid (M i)] {x : Π i, M i} open Units in diff --git a/Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean b/Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean index 37706585d0e31f..f0fe007aa2cc94 100644 --- a/Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean +++ b/Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Finite -import Mathlib.Algebra.Group.Pointwise.Set.ListOfFn -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Data.Finset.Max -import Mathlib.Data.Finset.NAry -import Mathlib.Data.Finset.Preimage +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Finite +public import Mathlib.Algebra.Group.Pointwise.Set.ListOfFn +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Finset.NAry +public import Mathlib.Data.Finset.Preimage /-! # Pointwise operations of finsets @@ -45,6 +47,8 @@ finset multiplication, finset addition, pointwise addition, pointwise multiplica pointwise subtraction -/ +@[expose] public section + assert_not_exists Cardinal Finset.dens MonoidWithZero MulAction OrderedCommMonoid open Function MulOpposite diff --git a/Mathlib/Algebra/Group/Pointwise/Finset/BigOperators.lean b/Mathlib/Algebra/Group/Pointwise/Finset/BigOperators.lean index 246f528031cea3..7d3aecfd357b2c 100644 --- a/Mathlib/Algebra/Group/Pointwise/Finset/BigOperators.lean +++ b/Mathlib/Algebra/Group/Pointwise/Finset/BigOperators.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise big operators on finsets @@ -24,6 +26,8 @@ finset multiplication, finset addition, pointwise addition, pointwise multiplica pointwise subtraction -/ +@[expose] public section + open scoped Pointwise variable {α ι : Type*} diff --git a/Mathlib/Algebra/Group/Pointwise/Finset/Density.lean b/Mathlib/Algebra/Group/Pointwise/Finset/Density.lean index 646c0ee6780ffc..7d05d19f41044d 100644 --- a/Mathlib/Algebra/Group/Pointwise/Finset/Density.lean +++ b/Mathlib/Algebra/Group/Pointwise/Finset/Density.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Data.Finset.Density +module + +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Data.Finset.Density /-! # Theorems about the density of pointwise operations on finsets. -/ +@[expose] public section + open scoped Pointwise variable {α β : Type*} diff --git a/Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean b/Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean index 8877a22eee3eb8..e11d839f472f60 100644 --- a/Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean +++ b/Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean @@ -3,15 +3,19 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise operations on intervals This should be kept in sync with `Mathlib/Data/Set/Pointwise/Interval.lean`. -/ +@[expose] public section + variable {α : Type*} namespace Finset diff --git a/Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean b/Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean index 894f8bfae2796d..03ad68351d8dce 100644 --- a/Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean +++ b/Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Data.Finset.NAry -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Finite +module + +public import Mathlib.Data.Finset.NAry +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Finite /-! # Pointwise operations of finsets @@ -42,6 +44,8 @@ finset multiplication, finset addition, pointwise addition, pointwise multiplica pointwise subtraction -/ +@[expose] public section + assert_not_exists Cardinal Finset.dens MonoidWithZero MulAction OrderedCommMonoid open Function MulOpposite diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Basic.lean b/Mathlib/Algebra/Group/Pointwise/Set/Basic.lean index ce78c4b88c44c6..8efee273a2d731 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Basic.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Data.Set.NAry +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Data.Set.NAry /-! # Pointwise operations of sets @@ -47,6 +49,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists Set.iUnion MulAction MonoidWithZero OrderedAddCommMonoid library_note2 «pointwise nat action» /-- diff --git a/Mathlib/Algebra/Group/Pointwise/Set/BigOperators.lean b/Mathlib/Algebra/Group/Pointwise/Set/BigOperators.lean index 9b228fee2bb95b..feedb7aa9ee57a 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/BigOperators.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/BigOperators.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Data.Fintype.Card +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Data.Fintype.Card /-! # Results about pointwise operations on sets and big operators. -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Card.lean b/Mathlib/Algebra/Group/Pointwise/Set/Card.lean index 092fdc237b28b8..d4e3fe0ff3cdb1 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Card.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Card.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Finite -import Mathlib.Data.Set.Card +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Finite +public import Mathlib.Data.Set.Card /-! # Cardinalities of pointwise operations on sets -/ +@[expose] public section + assert_not_exists Field open scoped Cardinal Pointwise diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Finite.lean b/Mathlib/Algebra/Group/Pointwise/Set/Finite.lean index 9da8d8eec3d80c..8e02ddafc4055c 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Finite.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Finite.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Data.Finite.Prod -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Data.Finite.Prod +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Finiteness lemmas for pointwise operations on sets -/ +@[expose] public section + assert_not_exists MulAction MonoidWithZero open Pointwise diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean b/Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean index 1607b82cf68afe..bed08dd56245fc 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Indexed unions and intersections of pointwise operations of sets @@ -19,6 +21,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists MulAction MonoidWithZero OrderedAddCommMonoid open Function MulOpposite diff --git a/Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean b/Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean index 48316c4a24c194..97fcf26b086dd9 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.List.OfFn -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Data.List.OfFn +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise operations with lists of sets @@ -13,6 +15,8 @@ import Mathlib.Algebra.Group.Pointwise.Set.Basic This file proves some lemmas about pointwise algebraic operations with lists of sets. -/ +@[expose] public section + namespace Set variable {α : Type*} [Monoid α] {s : Set α} {n : ℕ} diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean b/Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean index 972044ba64bba6..a80b72ce64d670 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Algebra.Opposites -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Data.Set.NAry +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Algebra.Opposites +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Data.Set.NAry /-! # Pointwise scalar operations of sets @@ -47,6 +49,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists Set.iUnion MulAction MonoidWithZero OrderedAddCommMonoid open Function MulOpposite diff --git a/Mathlib/Algebra/Group/Pointwise/Set/Small.lean b/Mathlib/Algebra/Group/Pointwise/Set/Small.lean index d602ad2dd6c62b..9dac8812189024 100644 --- a/Mathlib/Algebra/Group/Pointwise/Set/Small.lean +++ b/Mathlib/Algebra/Group/Pointwise/Set/Small.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Logic.Small.Set +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Logic.Small.Set /-! # Small instances for pointwise operations -/ +@[expose] public section + universe u variable {α β : Type*} (s t : Set α) diff --git a/Mathlib/Algebra/Group/Prod.lean b/Mathlib/Algebra/Group/Prod.lean index e403727e4f64a0..6645dce43889b1 100644 --- a/Mathlib/Algebra/Group/Prod.lean +++ b/Mathlib/Algebra/Group/Prod.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.Torsion -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Notation.Prod -import Mathlib.Logic.Equiv.Prod -import Mathlib.Tactic.TermCongr +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Logic.Equiv.Prod +public import Mathlib.Tactic.TermCongr /-! # Monoid, group etc. structures on `M × N` @@ -36,6 +38,8 @@ We also prove trivial `simp` lemmas, and define the following operations on `Mon * `divMonoidHom`: Division bundled as a monoid homomorphism. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered AddMonoidWithOne variable {G : Type*} {H : Type*} {M : Type*} {N : Type*} {P : Type*} diff --git a/Mathlib/Algebra/Group/Semiconj/Basic.lean b/Mathlib/Algebra/Group/Semiconj/Basic.lean index d158c2622d6e58..6d0acfb9e69555 100644 --- a/Mathlib/Algebra/Group/Semiconj/Basic.lean +++ b/Mathlib/Algebra/Group/Semiconj/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Semiconj.Defs -import Mathlib.Algebra.Group.Basic +module + +public import Mathlib.Algebra.Group.Semiconj.Defs +public import Mathlib.Algebra.Group.Basic /-! # Lemmas about semiconjugate elements of a group -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered namespace SemiconjBy diff --git a/Mathlib/Algebra/Group/Semiconj/Defs.lean b/Mathlib/Algebra/Group/Semiconj/Defs.lean index a1f51ffcecab78..97c960b8b885fc 100644 --- a/Mathlib/Algebra/Group/Semiconj/Defs.lean +++ b/Mathlib/Algebra/Group/Semiconj/Defs.lean @@ -4,9 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -- Some proofs and docs came from mathlib3 `src/algebra/commute.lean` (c) Neil Strickland +module -import Mathlib.Algebra.Group.Defs -import Mathlib.Order.Defs.Unbundled +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Order.Defs.Unbundled /-! # Semiconjugate elements of a semigroup @@ -27,6 +28,8 @@ This file provides only basic operations (`mul_left`, `mul_right`, `inv_right` e operations (`pow_right`, field inverse etc) are in the files that define corresponding notions. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {S M G : Type*} diff --git a/Mathlib/Algebra/Group/Semiconj/Units.lean b/Mathlib/Algebra/Group/Semiconj/Units.lean index a5caf977889884..19f7d8bd4fedf7 100644 --- a/Mathlib/Algebra/Group/Semiconj/Units.lean +++ b/Mathlib/Algebra/Group/Semiconj/Units.lean @@ -4,9 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -- Some proofs and docs came from mathlib3 `src/algebra/commute.lean` (c) Neil Strickland +module -import Mathlib.Algebra.Group.Semiconj.Defs -import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.Group.Semiconj.Defs +public import Mathlib.Algebra.Group.Units.Basic /-! # Semiconjugate elements of a semigroup @@ -27,6 +28,8 @@ This file provides only basic operations (`mul_left`, `mul_right`, `inv_right` e operations (`pow_right`, field inverse etc) are in the files that define corresponding notions. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open scoped Int diff --git a/Mathlib/Algebra/Group/Shrink.lean b/Mathlib/Algebra/Group/Shrink.lean index 80238e7bf41095..43b69f1a2126a3 100644 --- a/Mathlib/Algebra/Group/Shrink.lean +++ b/Mathlib/Algebra/Group/Shrink.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Action.TransferInstance -import Mathlib.Logic.Small.Defs -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Group.Action.TransferInstance +public import Mathlib.Logic.Small.Defs +public import Mathlib.Tactic.SuppressCompilation /-! # Transfer group structures from `α` to `Shrink α` -/ +@[expose] public section + -- FIXME: `to_additive` is incompatible with `noncomputable section`. -- See https://github.com/leanprover-community/mathlib4/issues/1074. suppress_compilation diff --git a/Mathlib/Algebra/Group/Subgroup/Actions.lean b/Mathlib/Algebra/Group/Subgroup/Actions.lean index 40fc492beb3014..29faa3fd7b839d 100644 --- a/Mathlib/Algebra/Group/Subgroup/Actions.lean +++ b/Mathlib/Algebra/Group/Subgroup/Actions.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Submonoid.DistribMulAction -import Mathlib.GroupTheory.Subgroup.Center +module + +public import Mathlib.Algebra.Group.Submonoid.DistribMulAction +public import Mathlib.GroupTheory.Subgroup.Center /-! # Actions by `Subgroup`s @@ -16,6 +18,8 @@ subgroup, subgroups -/ +@[expose] public section + namespace Subgroup variable {G α β : Type*} [Group G] diff --git a/Mathlib/Algebra/Group/Subgroup/Basic.lean b/Mathlib/Algebra/Group/Subgroup/Basic.lean index 9002dad9e11ae0..ea6443d17cf53b 100644 --- a/Mathlib/Algebra/Group/Subgroup/Basic.lean +++ b/Mathlib/Algebra/Group/Subgroup/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Conj -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Group.Torsion +module + +public import Mathlib.Algebra.Group.Conj +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Group.Torsion /-! # Basic results on subgroups @@ -46,6 +48,8 @@ membership of a subgroup's underlying set. subgroup, subgroups -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Multiset Ring open Function diff --git a/Mathlib/Algebra/Group/Subgroup/Defs.lean b/Mathlib/Algebra/Group/Subgroup/Defs.lean index 8b57b8986e7df6..016040dec75cab 100644 --- a/Mathlib/Algebra/Group/Subgroup/Defs.lean +++ b/Mathlib/Algebra/Group/Subgroup/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Data.Set.Inclusion -import Mathlib.Tactic.Common -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Data.Set.Inclusion +public import Mathlib.Tactic.Common +public import Mathlib.Tactic.FastInstance /-! # Subgroups @@ -50,6 +52,8 @@ membership of a subgroup's underlying set. subgroup, subgroups -/ +@[expose] public section + assert_not_exists RelIso OrderedCommMonoid Multiset MonoidWithZero open Function @@ -204,7 +208,7 @@ variable (H) -- Prefer subclasses of `Group` over subclasses of `SubgroupClass`. /-- A subgroup of a group inherits a group structure. -/ @[to_additive /-- An additive subgroup of an `AddGroup` inherits an `AddGroup` structure. -/] -instance (priority := 75) toGroup : Group H := fast_instance% +instance (priority := 75) toGroup : Group H := --fast_instance% Subtype.coe_injective.group _ rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) fun _ _ => rfl diff --git a/Mathlib/Algebra/Group/Subgroup/Even.lean b/Mathlib/Algebra/Group/Subgroup/Even.lean index b80fed354d90e9..f23e823e8cd328 100644 --- a/Mathlib/Algebra/Group/Subgroup/Even.lean +++ b/Mathlib/Algebra/Group/Subgroup/Even.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Artie Khovanov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Artie Khovanov -/ -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Subgroup.Defs +module + +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Subgroup.Defs /-! # Squares and even elements @@ -12,6 +14,8 @@ import Mathlib.Algebra.Group.Subgroup.Defs This file defines the subgroup of squares / even elements in an abelian group. -/ +@[expose] public section + assert_not_exists RelIso MonoidWithZero namespace Subsemigroup diff --git a/Mathlib/Algebra/Group/Subgroup/Finite.lean b/Mathlib/Algebra/Group/Subgroup/Finite.lean index 64a4f222c7afdc..5ce9fa47594fdd 100644 --- a/Mathlib/Algebra/Group/Subgroup/Finite.lean +++ b/Mathlib/Algebra/Group/Subgroup/Finite.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Group.Submonoid.Finite -import Mathlib.Data.Finite.Card -import Mathlib.Data.Set.Finite.Range +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Group.Submonoid.Finite +public import Mathlib.Data.Finite.Card +public import Mathlib.Data.Set.Finite.Range /-! # Subgroups @@ -18,6 +20,8 @@ This file provides some result on multiplicative and additive subgroups in the f subgroup, subgroups -/ +@[expose] public section + assert_not_exists Field variable {G : Type*} [Group G] diff --git a/Mathlib/Algebra/Group/Subgroup/Finsupp.lean b/Mathlib/Algebra/Group/Subgroup/Finsupp.lean index 30b5d2acb82c3f..abe4da0907e515 100644 --- a/Mathlib/Algebra/Group/Subgroup/Finsupp.lean +++ b/Mathlib/Algebra/Group/Subgroup/Finsupp.lean @@ -3,11 +3,15 @@ Copyright (c) 2024 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Algebra.Group.Subgroup.Lattice +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Algebra.Group.Subgroup.Lattice /-! # Connection between `Subgroup.closure` and `Finsupp.prod` -/ +@[expose] public section + assert_not_exists Field namespace Subgroup diff --git a/Mathlib/Algebra/Group/Subgroup/Ker.lean b/Mathlib/Algebra/Group/Subgroup/Ker.lean index 70405ecc47660d..f8736ba5ae7145 100644 --- a/Mathlib/Algebra/Group/Subgroup/Ker.lean +++ b/Mathlib/Algebra/Group/Subgroup/Ker.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Tactic.ApplyFun /-! # Kernel and range of group homomorphisms @@ -42,6 +44,8 @@ membership of a subgroup's underlying set. subgroup, subgroups -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Multiset Ring open Function diff --git a/Mathlib/Algebra/Group/Subgroup/Lattice.lean b/Mathlib/Algebra/Group/Subgroup/Lattice.lean index b20b6b99e403cc..113ba006a576c1 100644 --- a/Mathlib/Algebra/Group/Subgroup/Lattice.lean +++ b/Mathlib/Algebra/Group/Subgroup/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Group.Subgroup.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Group.Subgroup.Defs /-! # Lattice structure of subgroups @@ -42,6 +44,8 @@ membership of a subgroup's underlying set. subgroup, subgroups -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Multiset Ring open Function diff --git a/Mathlib/Algebra/Group/Subgroup/Map.lean b/Mathlib/Algebra/Group/Subgroup/Map.lean index b6c22019a50f31..293f6e702b9425 100644 --- a/Mathlib/Algebra/Group/Subgroup/Map.lean +++ b/Mathlib/Algebra/Group/Subgroup/Map.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Algebra.Group.TypeTags.Hom +module + +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Algebra.Group.TypeTags.Hom /-! # `map` and `comap` for subgroups @@ -45,6 +47,8 @@ membership of a subgroup's underlying set. subgroup, subgroups -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Multiset Ring open Function diff --git a/Mathlib/Algebra/Group/Subgroup/MulOpposite.lean b/Mathlib/Algebra/Group/Subgroup/MulOpposite.lean index 4987463da7e74c..68efa24a3b4a04 100644 --- a/Mathlib/Algebra/Group/Subgroup/MulOpposite.lean +++ b/Mathlib/Algebra/Group/Subgroup/MulOpposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alex Kontorovich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Eric Wieser -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Submonoid.MulOpposite +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Submonoid.MulOpposite /-! # Mul-opposite subgroups @@ -14,6 +16,8 @@ subgroup, subgroups -/ +@[expose] public section + variable {ι : Sort*} {G : Type*} [Group G] namespace Subgroup diff --git a/Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean b/Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean index c3ece09a101142..879b0dc602cb13 100644 --- a/Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean +++ b/Mathlib/Algebra/Group/Subgroup/MulOppositeLemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Alex Kontorovich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Eric Wieser -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Group.Subgroup.MulOpposite -import Mathlib.Algebra.Group.Submonoid.MulOpposite -import Mathlib.Logic.Encodable.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Group.Subgroup.MulOpposite +public import Mathlib.Algebra.Group.Submonoid.MulOpposite +public import Mathlib.Logic.Encodable.Basic /-! # Mul-opposite subgroups @@ -20,6 +22,8 @@ subgroup, subgroups -/ +@[expose] public section + variable {ι : Sort*} {G : Type*} [Group G] namespace Subgroup diff --git a/Mathlib/Algebra/Group/Subgroup/Order.lean b/Mathlib/Algebra/Group/Subgroup/Order.lean index fe1ffebae7f881..97ec95839e5b7b 100644 --- a/Mathlib/Algebra/Group/Subgroup/Order.lean +++ b/Mathlib/Algebra/Group/Subgroup/Order.lean @@ -3,16 +3,20 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Ruben Van de Velde -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Group.Subsemigroup.Operations -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Order.Atoms +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Group.Subsemigroup.Operations +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Order.Atoms /-! # Facts about ordered structures and ordered instances on subgroups -/ +@[expose] public section + open Subgroup @[to_additive (attr := simp)] diff --git a/Mathlib/Algebra/Group/Subgroup/Pointwise.lean b/Mathlib/Algebra/Group/Subgroup/Pointwise.lean index b52fbea93d52b6..f51955f969fca3 100644 --- a/Mathlib/Algebra/Group/Subgroup/Pointwise.lean +++ b/Mathlib/Algebra/Group/Subgroup/Pointwise.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Pointwise.Set.Lattice -import Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas -import Mathlib.Algebra.Group.Submonoid.Pointwise -import Mathlib.GroupTheory.GroupAction.ConjAct +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Pointwise.Set.Lattice +public import Mathlib.Algebra.Group.Subgroup.MulOppositeLemmas +public import Mathlib.Algebra.Group.Submonoid.Pointwise +public import Mathlib.GroupTheory.GroupAction.ConjAct /-! # Pointwise instances on `Subgroup` and `AddSubgroup`s @@ -27,6 +29,8 @@ the file `Mathlib/Algebra/Group/Submonoid/Pointwise.lean`. Where possible, try to keep them in sync. -/ +@[expose] public section + assert_not_exists GroupWithZero open Set diff --git a/Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean b/Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean index 88c3ac2ebc6a15..37922e9239853d 100644 --- a/Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean +++ b/Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Algebra.Group.Int.Defs +module + +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Algebra.Group.Int.Defs /-! # Subgroups generated by an element @@ -15,6 +17,8 @@ subgroup, subgroups -/ +@[expose] public section + variable {G : Type*} [Group G] variable {A : Type*} [AddGroup A] variable {N : Type*} [Group N] diff --git a/Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean b/Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean index 0d1a7fec359b83..52de5bba042d13 100644 --- a/Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean +++ b/Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic -import Mathlib.Data.Countable.Basic -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.GroupTheory.Subgroup.Centralizer +module + +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +public import Mathlib.Data.Countable.Basic +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.GroupTheory.Subgroup.Centralizer /-! # Subgroups generated by an element @@ -16,6 +18,8 @@ subgroup, subgroups -/ +@[expose] public section + variable {G : Type*} [Group G] variable {A : Type*} [AddGroup A] variable {N : Type*} [Group N] diff --git a/Mathlib/Algebra/Group/Submonoid/Basic.lean b/Mathlib/Algebra/Group/Submonoid/Basic.lean index 010036df4b6d01..390762f82ae8a6 100644 --- a/Mathlib/Algebra/Group/Submonoid/Basic.lean +++ b/Mathlib/Algebra/Group/Submonoid/Basic.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Group.Subsemigroup.Basic -import Mathlib.Algebra.Group.Units.Defs +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Group.Subsemigroup.Basic +public import Mathlib.Algebra.Group.Units.Defs /-! # Submonoids: `CompleteLattice` structure @@ -48,6 +50,8 @@ numbers. `Submonoid` is implemented by extending `Subsemigroup` requiring `one_m submonoid, submonoids -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M : Type*} {N : Type*} diff --git a/Mathlib/Algebra/Group/Submonoid/BigOperators.lean b/Mathlib/Algebra/Group/Submonoid/BigOperators.lean index 04f7424034016a..e729797a8871c3 100644 --- a/Mathlib/Algebra/Group/Submonoid/BigOperators.lean +++ b/Mathlib/Algebra/Group/Submonoid/BigOperators.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Group.Support -import Mathlib.Data.Finset.NoncommProd +module + +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Group.Support +public import Mathlib.Data.Finset.NoncommProd /-! # Submonoids: membership criteria for products and sums @@ -22,6 +24,8 @@ In this file we prove various facts about membership in a submonoid: submonoid, submonoids -/ +@[expose] public section + -- We don't need ordered structures to establish basic membership facts for submonoids assert_not_exists OrderedSemiring diff --git a/Mathlib/Algebra/Group/Submonoid/Defs.lean b/Mathlib/Algebra/Group/Submonoid/Defs.lean index 4ec11ac00dc318..15c93ecd2e523d 100644 --- a/Mathlib/Algebra/Group/Submonoid/Defs.lean +++ b/Mathlib/Algebra/Group/Submonoid/Defs.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Subsemigroup.Defs -import Mathlib.Tactic.FastInstance -import Mathlib.Data.Set.Insert +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Subsemigroup.Defs +public import Mathlib.Tactic.FastInstance +public import Mathlib.Data.Set.Insert /-! # Submonoids: definition @@ -46,6 +48,8 @@ numbers. `Submonoid` is implemented by extending `Subsemigroup` requiring `one_m submonoid, submonoids -/ +@[expose] public section + assert_not_exists RelIso CompleteLattice MonoidWithZero variable {M : Type*} {N : Type*} @@ -363,14 +367,14 @@ theorem mk_pow {M} [Monoid M] {A : Type*} [SetLike A M] [SubmonoidClass A M] {S @[to_additive /-- An `AddSubmonoid` of a unital additive magma inherits a unital additive magma structure. -/] instance (priority := 75) toMulOneClass {M : Type*} [MulOneClass M] {A : Type*} [SetLike A M] - [SubmonoidClass A M] (S : A) : MulOneClass S := fast_instance% + [SubmonoidClass A M] (S : A) : MulOneClass S := --fast_instance% Subtype.coe_injective.mulOneClass Subtype.val rfl (fun _ _ => rfl) -- Prefer subclasses of `Monoid` over subclasses of `SubmonoidClass`. /-- A submonoid of a monoid inherits a monoid structure. -/ @[to_additive /-- An `AddSubmonoid` of an `AddMonoid` inherits an `AddMonoid` structure. -/] instance (priority := 75) toMonoid {M : Type*} [Monoid M] {A : Type*} [SetLike A M] - [SubmonoidClass A M] (S : A) : Monoid S := fast_instance% + [SubmonoidClass A M] (S : A) : Monoid S := --fast_instance% Subtype.coe_injective.monoid Subtype.val rfl (fun _ _ => rfl) (fun _ _ => rfl) -- Prefer subclasses of `Monoid` over subclasses of `SubmonoidClass`. diff --git a/Mathlib/Algebra/Group/Submonoid/DistribMulAction.lean b/Mathlib/Algebra/Group/Submonoid/DistribMulAction.lean index 3d556ddd95a38f..1bc47ec50e2b1b 100644 --- a/Mathlib/Algebra/Group/Submonoid/DistribMulAction.lean +++ b/Mathlib/Algebra/Group/Submonoid/DistribMulAction.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Submonoid.MulAction -import Mathlib.Algebra.GroupWithZero.Action.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.MulAction +public import Mathlib.Algebra.GroupWithZero.Action.Defs /-! # Distributive actions by submonoids -/ +@[expose] public section + assert_not_exists RelIso Ring namespace Submonoid diff --git a/Mathlib/Algebra/Group/Submonoid/Finite.lean b/Mathlib/Algebra/Group/Submonoid/Finite.lean index 2f7e633146f121..8be22be4cad7c6 100644 --- a/Mathlib/Algebra/Group/Submonoid/Finite.lean +++ b/Mathlib/Algebra/Group/Submonoid/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Data.Fintype.Basic /-! # Submonoids @@ -12,6 +14,8 @@ import Mathlib.Data.Fintype.Basic This file provides some results on multiplicative and additive submonoids in the finite context. -/ +@[expose] public section + namespace Submonoid section Pi diff --git a/Mathlib/Algebra/Group/Submonoid/Finsupp.lean b/Mathlib/Algebra/Group/Submonoid/Finsupp.lean index 8c2c1be5e04d7e..38e07d24a18b87 100644 --- a/Mathlib/Algebra/Group/Submonoid/Finsupp.lean +++ b/Mathlib/Algebra/Group/Submonoid/Finsupp.lean @@ -3,10 +3,14 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic /-! # Connection between `Submonoid.closure` and `Finsupp.prod` -/ +@[expose] public section + assert_not_exists Field namespace Submonoid diff --git a/Mathlib/Algebra/Group/Submonoid/Membership.lean b/Mathlib/Algebra/Group/Submonoid/Membership.lean index 82db7edccef381..6c0e87713e21d8 100644 --- a/Mathlib/Algebra/Group/Submonoid/Membership.lean +++ b/Mathlib/Algebra/Group/Submonoid/Membership.lean @@ -4,14 +4,16 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.Group.Idempotent -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.Algebra.Group.Submonoid.MulOpposite -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Int.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.Group.Idempotent +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.Algebra.Group.Submonoid.MulOpposite +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Int.Basic /-! # Submonoids: membership criteria @@ -33,6 +35,8 @@ generated by a single element. submonoid, submonoids -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M A B : Type*} diff --git a/Mathlib/Algebra/Group/Submonoid/MulAction.lean b/Mathlib/Algebra/Group/Submonoid/MulAction.lean index a157ead671ff20..456a708e2b3369 100644 --- a/Mathlib/Algebra/Group/Submonoid/MulAction.lean +++ b/Mathlib/Algebra/Group/Submonoid/MulAction.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Group.Action.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Group.Action.Defs /-! # Actions by `Submonoid`s @@ -16,6 +18,8 @@ These instances work particularly well in conjunction with `Monoid.toMulAction`, `s • m` as an alias for `↑s * m`. -/ +@[expose] public section + assert_not_exists RelIso namespace Submonoid diff --git a/Mathlib/Algebra/Group/Submonoid/MulOpposite.lean b/Mathlib/Algebra/Group/Submonoid/MulOpposite.lean index d93f8d93cdff12..5bc0a060c92f0d 100644 --- a/Mathlib/Algebra/Group/Submonoid/MulOpposite.lean +++ b/Mathlib/Algebra/Group/Submonoid/MulOpposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jujian Zhang -/ -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.Submonoid.Basic +module + +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.Submonoid.Basic /-! # Submonoid of opposite monoids @@ -13,6 +15,8 @@ For every monoid `M`, we construct an equivalence between submonoids of `M` and -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {ι : Sort*} {M : Type*} [MulOneClass M] diff --git a/Mathlib/Algebra/Group/Submonoid/Operations.lean b/Mathlib/Algebra/Group/Submonoid/Operations.lean index ed45c48162c0e0..edfce673c910be 100644 --- a/Mathlib/Algebra/Group/Submonoid/Operations.lean +++ b/Mathlib/Algebra/Group/Submonoid/Operations.lean @@ -4,13 +4,15 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Group.Submonoid.MulAction -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Group.Submonoid.MulAction +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Operations on `Submonoid`s @@ -65,6 +67,8 @@ In this file we define various operations on `Submonoid`s and `MonoidHom`s. submonoid, range, product, map, comap -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function diff --git a/Mathlib/Algebra/Group/Submonoid/Pointwise.lean b/Mathlib/Algebra/Group/Submonoid/Pointwise.lean index 1762b1b5d9d887..7b39e9b4da5eb8 100644 --- a/Mathlib/Algebra/Group/Submonoid/Pointwise.lean +++ b/Mathlib/Algebra/Group/Submonoid/Pointwise.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.Order.BigOperators.Group.List -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.Order.BigOperators.Group.List +public import Mathlib.Order.WellFoundedSet /-! # Pointwise instances on `Submonoid`s and `AddSubmonoid`s @@ -33,6 +35,8 @@ syntactically equal. Before adding new lemmas here, consider if they would also on `Set`s. -/ +@[expose] public section + assert_not_exists GroupWithZero open Set Pointwise diff --git a/Mathlib/Algebra/Group/Submonoid/Units.lean b/Mathlib/Algebra/Group/Submonoid/Units.lean index c1024f35a8cadb..8d6c5dd4a21eae 100644 --- a/Mathlib/Algebra/Group/Submonoid/Units.lean +++ b/Mathlib/Algebra/Group/Submonoid/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Wrenna Robson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wrenna Robson -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Group.Submonoid.Pointwise -import Mathlib.Algebra.Group.Subgroup.Lattice +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Group.Submonoid.Pointwise +public import Mathlib.Algebra.Group.Subgroup.Lattice /-! @@ -35,6 +37,8 @@ All of these are distinct from `S.leftInv`, which is the submonoid of `M` which every member of `M` with a right inverse in `S`. -/ +@[expose] public section + variable {M : Type*} [Monoid M] open Units diff --git a/Mathlib/Algebra/Group/Subsemigroup/Basic.lean b/Mathlib/Algebra/Group/Subsemigroup/Basic.lean index 02db098aa72ac0..b89932a46989c3 100644 --- a/Mathlib/Algebra/Group/Subsemigroup/Basic.lean +++ b/Mathlib/Algebra/Group/Subsemigroup/Basic.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov, Yakov Pechersky -/ -import Mathlib.Algebra.Group.Subsemigroup.Defs -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Algebra.Group.Subsemigroup.Defs +public import Mathlib.Data.Set.Lattice.Image /-! # Subsemigroups: `CompleteLattice` structure @@ -40,6 +42,8 @@ numbers. subsemigroup, subsemigroups -/ +@[expose] public section + assert_not_exists MonoidWithZero -- Only needed for notation diff --git a/Mathlib/Algebra/Group/Subsemigroup/Defs.lean b/Mathlib/Algebra/Group/Subsemigroup/Defs.lean index ef712f6aa66c8d..5aeed48831fda3 100644 --- a/Mathlib/Algebra/Group/Subsemigroup/Defs.lean +++ b/Mathlib/Algebra/Group/Subsemigroup/Defs.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov, Yakov Pechersky -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Data.SetLike.Basic -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Tactic.FastInstance /-! # Subsemigroups: definition @@ -46,6 +48,8 @@ numbers. subsemigroup, subsemigroups -/ +@[expose] public section + assert_not_exists RelIso CompleteLattice MonoidWithZero variable {M : Type*} {N : Type*} @@ -276,7 +280,7 @@ theorem mul_def (x y : S') : x * y = ⟨x * y, mul_mem x.2 y.2⟩ := @[to_additive /-- An `AddSubsemigroup` of an `AddSemigroup` inherits an `AddSemigroup` structure. -/] instance toSemigroup {M : Type*} [Semigroup M] {A : Type*} [SetLike A M] [MulMemClass A M] - (S : A) : Semigroup S := fast_instance% + (S : A) : Semigroup S := --fast_instance% Subtype.coe_injective.semigroup Subtype.val fun _ _ => rfl /-- A subsemigroup of a `CommSemigroup` is a `CommSemigroup`. -/ diff --git a/Mathlib/Algebra/Group/Subsemigroup/Membership.lean b/Mathlib/Algebra/Group/Subsemigroup/Membership.lean index fc0c74dfe19f49..73619312f6816e 100644 --- a/Mathlib/Algebra/Group/Subsemigroup/Membership.lean +++ b/Mathlib/Algebra/Group/Subsemigroup/Membership.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Group.Subsemigroup.Basic +module + +public import Mathlib.Algebra.Group.Subsemigroup.Basic /-! # Subsemigroups: membership criteria @@ -27,6 +29,8 @@ stub and only provides rudimentary support. subsemigroup -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {ι : Sort*} {M : Type*} diff --git a/Mathlib/Algebra/Group/Subsemigroup/Operations.lean b/Mathlib/Algebra/Group/Subsemigroup/Operations.lean index 52b196f550e450..19bd44f5a0a1fc 100644 --- a/Mathlib/Algebra/Group/Subsemigroup/Operations.lean +++ b/Mathlib/Algebra/Group/Subsemigroup/Operations.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov, Yakov Pechersky, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Group.Subsemigroup.Basic -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Group.Subsemigroup.Basic +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Operations on `Subsemigroup`s @@ -62,6 +64,8 @@ necessary. subsemigroup, range, product, map, comap -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {M N P σ : Type*} @@ -548,7 +552,7 @@ theorem mem_srange {f : M →ₙ* N} {y : N} : y ∈ f.srange ↔ ∃ x, f x = y Iff.rfl @[to_additive] -private theorem srange_mk_aux_mul {f : M → N} (hf : ∀ (x y : M), f (x * y) = f x * f y) +theorem srange_mk_aux_mul {f : M → N} (hf : ∀ (x y : M), f (x * y) = f x * f y) {x y : N} (hx : x ∈ Set.range f) (hy : y ∈ Set.range f) : x * y ∈ Set.range f := (srange ⟨f, hf⟩).mul_mem hx hy diff --git a/Mathlib/Algebra/Group/Support.lean b/Mathlib/Algebra/Group/Support.lean index 2185a09f84288f..18aea9729de911 100644 --- a/Mathlib/Algebra/Group/Support.lean +++ b/Mathlib/Algebra/Group/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Notation.Support +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Notation.Support /-! # Support of a function @@ -13,6 +15,8 @@ In this file we prove basic properties of `Function.support f = {x | f x ≠ 0}` `Function.mulSupport f = {x | f x ≠ 1}`. -/ +@[expose] public section + assert_not_exists CompleteLattice MonoidWithZero open Set diff --git a/Mathlib/Algebra/Group/Torsion.lean b/Mathlib/Algebra/Group/Torsion.lean index 4d477821c90a15..bd8030ec05aab1 100644 --- a/Mathlib/Algebra/Group/Torsion.lean +++ b/Mathlib/Algebra/Group/Torsion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies, Patrick Luo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Patrick Luo -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Tactic.MkIffOfInductiveProp +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Tactic.MkIffOfInductiveProp /-! # Torsion-free monoids and groups @@ -13,6 +15,8 @@ This file proves lemmas about torsion-free monoids. A monoid `M` is *torsion-free* if `n • · : M → M` is injective for all non-zero natural numbers `n`. -/ +@[expose] public section + open Function variable {M G : Type*} diff --git a/Mathlib/Algebra/Group/TransferInstance.lean b/Mathlib/Algebra/Group/TransferInstance.lean index 08edcaf4e41b3e..c761290bceb7b5 100644 --- a/Mathlib/Algebra/Group/TransferInstance.lean +++ b/Mathlib/Algebra/Group/TransferInstance.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Data.Fintype.Basic /-! # Transfer algebraic structures across `Equiv`s @@ -19,6 +21,8 @@ When adding new definitions that transfer type-classes across an equivalence, pl `abbrev`. See note [reducible non-instances]. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction namespace Equiv diff --git a/Mathlib/Algebra/Group/Translate.lean b/Mathlib/Algebra/Group/Translate.lean index 3ff3ab50d2e744..cf3e3855f02159 100644 --- a/Mathlib/Algebra/Group/Translate.lean +++ b/Mathlib/Algebra/Group/Translate.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.GroupTheory.GroupAction.DomAct.Basic +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic /-! # Translation operator @@ -26,6 +28,8 @@ negation appearing inside `DomAddAct.mk`. Although mathematically equivalent, th convention is that translating is an action by subtraction, not by addition. -/ +@[expose] public section + open Function Set open scoped Pointwise diff --git a/Mathlib/Algebra/Group/TypeTags/Basic.lean b/Mathlib/Algebra/Group/TypeTags/Basic.lean index 6a14a5f729ed28..d122c0a1affdcc 100644 --- a/Mathlib/Algebra/Group/TypeTags/Basic.lean +++ b/Mathlib/Algebra/Group/TypeTags/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Torsion -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Data.FunLike.Basic -import Mathlib.Logic.Function.Iterate -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Set -import Mathlib.Util.AssertExists -import Mathlib.Logic.Nontrivial.Basic +module + +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Set +public import Mathlib.Util.AssertExists +public import Mathlib.Logic.Nontrivial.Basic /-! # Type tags that turn additive structures into multiplicative, and vice versa @@ -30,6 +32,8 @@ This file is similar to `Order.Synonym`. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered MonoidHom Finite universe u v diff --git a/Mathlib/Algebra/Group/TypeTags/Finite.lean b/Mathlib/Algebra/Group/TypeTags/Finite.lean index 4adcc8410f485e..daba3c763d2376 100644 --- a/Mathlib/Algebra/Group/TypeTags/Finite.lean +++ b/Mathlib/Algebra/Group/TypeTags/Finite.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Data.Finite.Defs -import Mathlib.Data.Fintype.Card +module + +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Data.Finite.Defs +public import Mathlib.Data.Fintype.Card /-! # `Finite`, `Infinite` and `Fintype` are preserved by `Additive` and `Multiplicative`. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction universe u diff --git a/Mathlib/Algebra/Group/TypeTags/Hom.lean b/Mathlib/Algebra/Group/TypeTags/Hom.lean index c9845f7387b39c..4bb3ab47b8c97d 100644 --- a/Mathlib/Algebra/Group/TypeTags/Hom.lean +++ b/Mathlib/Algebra/Group/TypeTags/Hom.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.TypeTags.Basic +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.TypeTags.Basic /-! # Transport algebra morphisms between additive and multiplicative types. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Group/ULift.lean b/Mathlib/Algebra/Group/ULift.lean index 7dfbfbff7a9fee..a6bd08e0ef18fd 100644 --- a/Mathlib/Algebra/Group/ULift.lean +++ b/Mathlib/Algebra/Group/ULift.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Logic.Nontrivial.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Logic.Nontrivial.Basic /-! # `ULift` instances for groups and monoids @@ -17,6 +19,8 @@ This file defines instances for group, monoid, semigroup and related structures We also provide `MulEquiv.ulift : ULift R ≃* R` (and its additive analogue). -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered universe u v w diff --git a/Mathlib/Algebra/Group/UniqueProds/Basic.lean b/Mathlib/Algebra/Group/UniqueProds/Basic.lean index 50ad960ddda183..ae0420e287a538 100644 --- a/Mathlib/Algebra/Group/UniqueProds/Basic.lean +++ b/Mathlib/Algebra/Group/UniqueProds/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Algebra.Group.ULift -import Mathlib.Data.DFinsupp.Defs +module + +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Data.DFinsupp.Defs /-! # Unique products and related notions @@ -49,6 +51,8 @@ about the grading type and then a generic statement of the form "look at the coe The file `Algebra/MonoidAlgebra/NoZeroDivisors` contains several examples of this use. -/ +@[expose] public section + assert_not_exists Cardinal Subsemiring Algebra Submodule StarModule FreeMonoid OrderedCommMonoid open Finset diff --git a/Mathlib/Algebra/Group/UniqueProds/VectorSpace.lean b/Mathlib/Algebra/Group/UniqueProds/VectorSpace.lean index 90fa001ae4ca46..65ee77b8af30b4 100644 --- a/Mathlib/Algebra/Group/UniqueProds/VectorSpace.lean +++ b/Mathlib/Algebra/Group/UniqueProds/VectorSpace.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.UniqueProds.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Algebra.Group.UniqueProds.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # A `ℚ`-vector space has `TwoUniqueSums`. -/ +@[expose] public section + variable {G : Type*} /-- Any `ℚ`-vector space has `TwoUniqueSums`, because it is isomorphic to some diff --git a/Mathlib/Algebra/Group/Units/Basic.lean b/Mathlib/Algebra/Group/Units/Basic.lean index 5b2f36c80d5499..698e6388b1eb8b 100644 --- a/Mathlib/Algebra/Group/Units/Basic.lean +++ b/Mathlib/Algebra/Group/Units/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johannes Hölzl, Chris Hughes, Jens Wagemaker, Jon Eugster -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Logic.Unique -import Mathlib.Tactic.Nontriviality -import Mathlib.Tactic.Lift -import Mathlib.Tactic.Subsingleton +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Logic.Unique +public import Mathlib.Tactic.Nontriviality +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.Subsingleton /-! # Units (i.e., invertible elements) of a monoid @@ -23,6 +25,8 @@ and unique types. The results here should be used to golf the basic `Group` lemmas. -/ +@[expose] public section + assert_not_exists Multiplicative MonoidWithZero DenselyOrdered open Function diff --git a/Mathlib/Algebra/Group/Units/Defs.lean b/Mathlib/Algebra/Group/Units/Defs.lean index 18a814e9e21f75..82f7525d360df2 100644 --- a/Mathlib/Algebra/Group/Units/Defs.lean +++ b/Mathlib/Algebra/Group/Units/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johannes Hölzl, Chris Hughes, Jens Wagemaker, Jon Eugster -/ -import Mathlib.Algebra.Group.Commute.Defs +module + +public import Mathlib.Algebra.Group.Commute.Defs /-! # Units (i.e., invertible elements) of a monoid @@ -28,6 +30,8 @@ resembling the notation $R^{\times}$ for the units of a ring, which is common in The results here should be used to golf the basic `Group` lemmas. -/ +@[expose] public section + assert_not_exists Multiplicative MonoidWithZero DenselyOrdered open Function diff --git a/Mathlib/Algebra/Group/Units/Equiv.lean b/Mathlib/Algebra/Group/Units/Equiv.lean index 186eb1aaf179e2..bb64621692dd45 100644 --- a/Mathlib/Algebra/Group/Units/Equiv.lean +++ b/Mathlib/Algebra/Group/Units/Equiv.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Units.Hom +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Units.Hom /-! # Multiplicative and additive equivalence acting on units. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {F α M N G : Type*} diff --git a/Mathlib/Algebra/Group/Units/Hom.lean b/Mathlib/Algebra/Group/Units/Hom.lean index d031272197126d..5186df65964363 100644 --- a/Mathlib/Algebra/Group/Units/Hom.lean +++ b/Mathlib/Algebra/Group/Units/Hom.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Chris Hughes, Kevin Buzzard -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Group.Units.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Group.Units.Basic /-! # Monoid homomorphisms and units @@ -34,6 +36,8 @@ used to golf the basic `Group` lemmas. Add a `@[to_additive]` version of `IsLocalHom`. -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered open Function diff --git a/Mathlib/Algebra/Group/Units/Opposite.lean b/Mathlib/Algebra/Group/Units/Opposite.lean index d9e2fd7887f651..c384f65eb131fe 100644 --- a/Mathlib/Algebra/Group/Units/Opposite.lean +++ b/Mathlib/Algebra/Group/Units/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.Units.Defs +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.Units.Defs /-! # Units in multiplicative and additive opposites -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered variable {α : Type*} diff --git a/Mathlib/Algebra/Group/WithOne/Basic.lean b/Mathlib/Algebra/Group/WithOne/Basic.lean index 7e9dd5db175c3d..99815fa2aa9134 100644 --- a/Mathlib/Algebra/Group/WithOne/Basic.lean +++ b/Mathlib/Algebra/Group/WithOne/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johan Commelin -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.WithOne.Defs +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.WithOne.Defs /-! # More operations on `WithOne` and `WithZero` @@ -19,6 +21,8 @@ that were not available in `Algebra/Group/WithOne/Defs`. * `WithOne.map`, `WithZero.map` -/ +@[expose] public section + assert_not_exists MonoidWithZero DenselyOrdered universe u v w diff --git a/Mathlib/Algebra/Group/WithOne/Defs.lean b/Mathlib/Algebra/Group/WithOne/Defs.lean index 2f12361915d832..8fd87998256243 100644 --- a/Mathlib/Algebra/Group/WithOne/Defs.lean +++ b/Mathlib/Algebra/Group/WithOne/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johan Commelin -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Data.Option.Basic -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Data.Option.Basic +public import Mathlib.Logic.Nontrivial.Basic +public import Mathlib.Tactic.Common /-! # Adjoining a zero/one to semigroups and related algebraic structures @@ -25,6 +27,8 @@ information about these structures (which are not that standard in informal math `WithOne.coe_mul` and `WithZero.coe_mul` have inconsistent use of implicit parameters -/ +@[expose] public section + -- Check that we haven't needed to import all the basic lemmas about groups, -- by asserting a random sample don't exist here: assert_not_exists inv_involutive div_right_inj pow_ite MonoidWithZero DenselyOrdered diff --git a/Mathlib/Algebra/Group/WithOne/Map.lean b/Mathlib/Algebra/Group/WithOne/Map.lean index df0fded4afc2f2..b7af9151f5b235 100644 --- a/Mathlib/Algebra/Group/WithOne/Map.lean +++ b/Mathlib/Algebra/Group/WithOne/Map.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde -/ -import Mathlib.Algebra.Group.WithOne.Defs -import Mathlib.Data.Option.NAry +module + +public import Mathlib.Algebra.Group.WithOne.Defs +public import Mathlib.Data.Option.NAry /-! # Adjoining a zero/one to semigroups and mapping -/ +@[expose] public section + variable {α β γ : Type*} namespace WithOne diff --git a/Mathlib/Algebra/GroupWithZero/Action/Basic.lean b/Mathlib/Algebra/GroupWithZero/Action/Basic.lean index e240c5ae82b1c5..a68ad6a9349e48 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Basic.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Group.Action.Prod -import Mathlib.Algebra.GroupWithZero.Prod +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Group.Action.Prod +public import Mathlib.Algebra.GroupWithZero.Prod /-! # Definitions of group actions @@ -44,6 +46,8 @@ More sophisticated lemmas belong in `GroupTheory.GroupAction`. group action -/ +@[expose] public section + assert_not_exists Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Action/Center.lean b/Mathlib/Algebra/GroupWithZero/Action/Center.lean index 28999262b4e9c6..ae1e08c09af022 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Center.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Center.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.GroupTheory.Subgroup.Center +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.GroupTheory.Subgroup.Center /-! # The center of a group with zero -/ +@[expose] public section + assert_not_exists Ring /-- For a group with zero, the center of the units is the same as the units of the center. -/ diff --git a/Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean b/Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean index 4ab00f148f92f7..f1bbcd15d6af71 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.GroupTheory.GroupAction.ConjAct +module + +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.GroupTheory.GroupAction.ConjAct /-! # Conjugation action of a group with zero on itself -/ +@[expose] public section + assert_not_exists Ring variable {α G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Action/Defs.lean b/Mathlib/Algebra/GroupWithZero/Action/Defs.lean index fa73e851434468..8d3d6ca58741a2 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Defs.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.Opposite -import Mathlib.Algebra.Notation.Pi.Basic +module + +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.Opposite +public import Mathlib.Algebra.Notation.Pi.Basic /-! # Definitions of group actions @@ -36,6 +38,8 @@ More sophisticated lemmas belong in `GroupTheory.GroupAction`. group action -/ +@[expose] public section + assert_not_exists Equiv.Perm.equivUnitsEnd Prod.fst_mul Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Action/End.lean b/Mathlib/Algebra/GroupWithZero/Action/End.lean index 250f6726f534cf..1a1525facf64b0 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/End.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/End.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Hom -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.GroupWithZero.Action.Units +module + +public import Mathlib.Algebra.Group.Action.Hom +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Units /-! # Group actions and (endo)morphisms -/ +@[expose] public section + assert_not_exists RelIso Equiv.Perm.equivUnitsEnd Prod.fst_mul Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Action/Faithful.lean b/Mathlib/Algebra/GroupWithZero/Action/Faithful.lean index fbb73d2353ea50..cf2ba9a074b7cb 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Faithful.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Faithful.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.GroupWithZero.NeZero +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.GroupWithZero.NeZero /-! # Faithful actions involving groups with zero -/ +@[expose] public section + assert_not_exists Equiv.Perm.equivUnitsEnd Prod.fst_mul Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Action/Hom.lean b/Mathlib/Algebra/GroupWithZero/Action/Hom.lean index 434f56444e7485..20d7357711fd88 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Hom.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Hom.lean @@ -3,12 +3,15 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ +module -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Group.Hom.Instances /-! # Zero-related `•` instances on group-like morphisms -/ +@[expose] public section + variable {M N A B C : Type*} namespace ZeroHom diff --git a/Mathlib/Algebra/GroupWithZero/Action/Opposite.lean b/Mathlib/Algebra/GroupWithZero/Action/Opposite.lean index f90448ef6608f4..ce8b99799e7f9a 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Opposite.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Opposite.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.NeZero +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.NeZero /-! # Scalar actions on and by `Mᵐᵒᵖ` @@ -27,6 +29,8 @@ With `open scoped RightActions`, this provides: * `p <+ᵥ v` as an alias for `AddOpposite.op v +ᵥ p` -/ +@[expose] public section + assert_not_exists Ring variable {M α : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Action/Pi.lean b/Mathlib/Algebra/GroupWithZero/Action/Pi.lean index d7c63cde39b819..749c5e66beeaac 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Pi.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Pi.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.GroupWithZero.Pi -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.GroupWithZero.Pi +public import Mathlib.Tactic.Common /-! # Pi instances for multiplicative actions with zero @@ -21,6 +23,8 @@ This file defines instances for `MulActionWithZero` and related structures on `P * `Algebra.GroupWithZero.Action.Units` -/ +@[expose] public section + assert_not_exists Ring universe u v diff --git a/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean b/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean index 32f6dd04abdc43..96e8693a4801c0 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.GroupWithZero.Pointwise.Finset +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.GroupWithZero.Pointwise.Finset /-! # Pointwise operations of finsets in a group with zero @@ -15,6 +17,8 @@ import Mathlib.Algebra.GroupWithZero.Pointwise.Finset This file proves properties of pointwise operations of finsets in a group with zero. -/ +@[expose] public section + assert_not_exists Ring open scoped Pointwise diff --git a/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean b/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean index 09fb0124f3c885..48636616553b85 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic -import Mathlib.Algebra.NoZeroSMulDivisors.Defs +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs /-! # Pointwise operations of sets in a group with zero @@ -20,6 +22,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Action/Prod.lean b/Mathlib/Algebra/GroupWithZero/Action/Prod.lean index ed0f5ec6f03d45..f20dc6c0fc8b35 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Prod.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Prod -import Mathlib.Algebra.GroupWithZero.Action.End +module + +public import Mathlib.Algebra.Group.Action.Prod +public import Mathlib.Algebra.GroupWithZero.Action.End /-! # Prod instances for multiplicative actions with zero @@ -18,6 +20,8 @@ This file defines instances for `MulActionWithZero` and related structures on ` * `Algebra.GroupWithZero.Action.Units` -/ +@[expose] public section + assert_not_exists Ring variable {M N α β : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean b/Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean index 8053031b6997bd..b293ce1704b2b8 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.TransferInstance -import Mathlib.Algebra.GroupWithZero.Action.Defs +module + +public import Mathlib.Algebra.Group.Action.TransferInstance +public import Mathlib.Algebra.GroupWithZero.Action.Defs /-! # Transfer algebraic structures across `Equiv`s @@ -12,6 +14,8 @@ import Mathlib.Algebra.GroupWithZero.Action.Defs This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists Ring variable {M M₀ A B : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Action/Units.lean b/Mathlib/Algebra/GroupWithZero/Action/Units.lean index 38961e14334b9c..7ad05add78d858 100644 --- a/Mathlib/Algebra/GroupWithZero/Action/Units.lean +++ b/Mathlib/Algebra/GroupWithZero/Action/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Multiplicative actions with zero on and by `Mˣ` @@ -24,6 +26,8 @@ admits a `MulDistribMulAction G Mˣ` structure, again with the obvious definitio * `Algebra.GroupWithZero.Action.Prod` -/ +@[expose] public section + assert_not_exists Ring variable {G₀ G M α β : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Associated.lean b/Mathlib/Algebra/GroupWithZero/Associated.lean index affc189b773017..8a32af331872da 100644 --- a/Mathlib/Algebra/GroupWithZero/Associated.lean +++ b/Mathlib/Algebra/GroupWithZero/Associated.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker -/ -import Mathlib.Algebra.Prime.Lemmas -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Algebra.Prime.Lemmas +public import Mathlib.Order.BoundedOrder.Basic /-! # Associated elements. @@ -15,6 +17,8 @@ Then we show that the quotient type `Associates` is a monoid and prove basic properties of this quotient. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Multiset Ring variable {M : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Basic.lean b/Mathlib/Algebra/GroupWithZero/Basic.lean index 9b1b9aabc6ebcc..ba6f5d9668bc47 100644 --- a/Mathlib/Algebra/GroupWithZero/Basic.lean +++ b/Mathlib/Algebra/GroupWithZero/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.GroupWithZero.NeZero -import Mathlib.Logic.Unique -import Mathlib.Tactic.Conv +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.GroupWithZero.NeZero +public import Mathlib.Logic.Unique +public import Mathlib.Tactic.Conv /-! # Groups with an adjoined zero element @@ -34,6 +36,8 @@ and require `0⁻¹ = 0`. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring open Function @@ -294,7 +298,7 @@ instance (priority := 100) GroupWithZero.toDivisionMonoid : DivisionMonoid G₀ · simp [hb] apply inv_eq_of_mul simp [mul_assoc, ha, hb], - inv_eq_of_mul := fun _ _ => inv_eq_of_mul } + inv_eq_of_mul := by exact fun _ _ => inv_eq_of_mul } -- see Note [lower instance priority] instance (priority := 10) GroupWithZero.toCancelMonoidWithZero : CancelMonoidWithZero G₀ := diff --git a/Mathlib/Algebra/GroupWithZero/Center.lean b/Mathlib/Algebra/GroupWithZero/Center.lean index d43d70a40877dd..790a84412effe3 100644 --- a/Mathlib/Algebra/GroupWithZero/Center.lean +++ b/Mathlib/Algebra/GroupWithZero/Center.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Center -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.Group.Center +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Center of a group with zero -/ +@[expose] public section + assert_not_exists RelIso Finset Ring Subsemigroup variable {M₀ G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Commute.lean b/Mathlib/Algebra/GroupWithZero/Commute.lean index 80b2f7ad9e7f8c..09cd256543a5ec 100644 --- a/Mathlib/Algebra/GroupWithZero/Commute.lean +++ b/Mathlib/Algebra/GroupWithZero/Commute.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.GroupWithZero.Semiconj -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Tactic.Nontriviality +module + +public import Mathlib.Algebra.GroupWithZero.Semiconj +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Tactic.Nontriviality /-! # Lemmas about commuting elements in a `MonoidWithZero` or a `GroupWithZero`. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {M₀ G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Conj.lean b/Mathlib/Algebra/GroupWithZero/Conj.lean index aebc0f8f0e3415..e4b52ad91446f7 100644 --- a/Mathlib/Algebra/GroupWithZero/Conj.lean +++ b/Mathlib/Algebra/GroupWithZero/Conj.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.Group.Conj -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.Group.Conj +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Conjugacy in a group with zero -/ +@[expose] public section + assert_not_exists Multiset Ring -- TODO -- assert_not_exists DenselyOrdered diff --git a/Mathlib/Algebra/GroupWithZero/Defs.lean b/Mathlib/Algebra/GroupWithZero/Defs.lean index 1c179ea3da5cc2..866b960653bf3b 100644 --- a/Mathlib/Algebra/GroupWithZero/Defs.lean +++ b/Mathlib/Algebra/GroupWithZero/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Tactic.SplitIfs -import Mathlib.Logic.Basic +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Logic.Basic /-! # Typeclasses for groups with an adjoined zero element @@ -20,6 +22,8 @@ members. * `CommGroupWithZero` -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring universe u diff --git a/Mathlib/Algebra/GroupWithZero/Divisibility.lean b/Mathlib/Algebra/GroupWithZero/Divisibility.lean index 2b3cc88f2b60a5..aa36be5236900b 100644 --- a/Mathlib/Algebra/GroupWithZero/Divisibility.lean +++ b/Mathlib/Algebra/GroupWithZero/Divisibility.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Amelia Livingston, Yury Kudryashov, Neil Strickland, Aaron Anderson -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Divisibility.Units -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Divisibility.Units +public import Mathlib.Data.Nat.Basic /-! # Divisibility in groups with zero. @@ -15,6 +17,8 @@ Lemmas about divisibility in groups and monoids with zero. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {α : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Equiv.lean b/Mathlib/Algebra/GroupWithZero/Equiv.lean index e0f8acc337e154..aa07a99e6e75cc 100644 --- a/Mathlib/Algebra/GroupWithZero/Equiv.lean +++ b/Mathlib/Algebra/GroupWithZero/Equiv.lean @@ -3,11 +3,15 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.GroupWithZero.Hom +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.GroupWithZero.Hom /-! # Isomorphisms of monoids with zero -/ +@[expose] public section + assert_not_exists Ring namespace MulEquivClass diff --git a/Mathlib/Algebra/GroupWithZero/Hom.lean b/Mathlib/Algebra/GroupWithZero/Hom.lean index ecee579465afea..b549d7ecb2714a 100644 --- a/Mathlib/Algebra/GroupWithZero/Hom.lean +++ b/Mathlib/Algebra/GroupWithZero/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.GroupWithZero.Basic +module + +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.GroupWithZero.Basic /-! # Monoid with zero and group with zero homomorphisms @@ -31,6 +33,8 @@ can be inferred from the type it is faster to use this method than to use type c monoid homomorphism -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Idempotent.lean b/Mathlib/Algebra/GroupWithZero/Idempotent.lean index 1b7907ca967872..59427a76ef9770 100644 --- a/Mathlib/Algebra/GroupWithZero/Idempotent.lean +++ b/Mathlib/Algebra/GroupWithZero/Idempotent.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Group.Idempotent -import Mathlib.Algebra.GroupWithZero.Defs +module + +public import Mathlib.Algebra.Group.Idempotent +public import Mathlib.Algebra.GroupWithZero.Defs /-! # Idempotent elements of a group with zero -/ +@[expose] public section + assert_not_exists Ring variable {M N S M₀ M₁ R G G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Indicator.lean b/Mathlib/Algebra/GroupWithZero/Indicator.lean index e242444e7ba6d6..1abaf25762effd 100644 --- a/Mathlib/Algebra/GroupWithZero/Indicator.lean +++ b/Mathlib/Algebra/GroupWithZero/Indicator.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Support -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.Notation.Indicator +module + +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Support +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.Notation.Indicator /-! # Indicator functions and support of a function in groups with zero -/ +@[expose] public section + assert_not_exists Ring open Set diff --git a/Mathlib/Algebra/GroupWithZero/InjSurj.lean b/Mathlib/Algebra/GroupWithZero/InjSurj.lean index 47bc4c899a6057..8eb83814d5de8d 100644 --- a/Mathlib/Algebra/GroupWithZero/InjSurj.lean +++ b/Mathlib/Algebra/GroupWithZero/InjSurj.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Algebra.GroupWithZero.NeZero +module + +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Algebra.GroupWithZero.NeZero /-! # Lifting groups with zero along injective/surjective maps -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Int.lean b/Mathlib/Algebra/GroupWithZero/Int.lean index 8613212ad92527..51d6b4258d9689 100644 --- a/Mathlib/Algebra/GroupWithZero/Int.lean +++ b/Mathlib/Algebra/GroupWithZero/Int.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.GroupWithZero.WithZero +module + +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.GroupWithZero.WithZero /-! # Lemmas about `ℤᵐ⁰`. -/ +@[expose] public section + assert_not_exists Ring open Multiplicative diff --git a/Mathlib/Algebra/GroupWithZero/Invertible.lean b/Mathlib/Algebra/GroupWithZero/Invertible.lean index 1054f204365a2e..2bf312335ef5db 100644 --- a/Mathlib/Algebra/GroupWithZero/Invertible.lean +++ b/Mathlib/Algebra/GroupWithZero/Invertible.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Group.Invertible.Basic -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.Group.Invertible.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Theorems about invertible elements in a `GroupWithZero` @@ -12,6 +14,8 @@ import Mathlib.Algebra.GroupWithZero.Units.Basic We intentionally keep imports minimal here as this file is used by `Mathlib/Tactic/NormNum.lean`. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring universe u diff --git a/Mathlib/Algebra/GroupWithZero/Nat.lean b/Mathlib/Algebra/GroupWithZero/Nat.lean index 61c491f0391df2..e994d446f25ae3 100644 --- a/Mathlib/Algebra/GroupWithZero/Nat.lean +++ b/Mathlib/Algebra/GroupWithZero/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Tactic.Spread /-! # The natural numbers form a `CancelCommMonoidWithZero` @@ -15,6 +17,8 @@ This file contains the `CancelCommMonoidWithZero` instance on the natural number See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists Ring namespace Nat diff --git a/Mathlib/Algebra/GroupWithZero/NeZero.lean b/Mathlib/Algebra/GroupWithZero/NeZero.lean index 9cf54a4bc46906..a4355f49c8a4ac 100644 --- a/Mathlib/Algebra/GroupWithZero/NeZero.lean +++ b/Mathlib/Algebra/GroupWithZero/NeZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.NeZero +module + +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.NeZero /-! # `NeZero 1` in a nontrivial `MulZeroOneClass`. @@ -13,6 +15,8 @@ This file exists to minimize the dependencies of `Mathlib/Algebra/GroupWithZero/ which is a part of the algebraic hierarchy used by basic tactics. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring universe u diff --git a/Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean b/Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean index e59869f9e34c40..f8f5deef6adf9f 100644 --- a/Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean +++ b/Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Devon Tuma, Oliver Nash -/ -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.Regular.SMul +module + +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.Regular.SMul /-! # Non-zero divisors and smul-divisors @@ -28,6 +30,8 @@ your own code. -/ +@[expose] public section + assert_not_exists Ring open Function @@ -172,14 +176,14 @@ theorem nonZeroDivisors.coe_ne_zero (x : M₀⁰) : (x : M₀) ≠ 0 := nonZeroD instance [IsLeftCancelMulZero M₀] : LeftCancelMonoid M₀⁰ where - mul_left_cancel _ _ _ h := Subtype.ext <| - mul_left_cancel₀ (nonZeroDivisors.coe_ne_zero _) (by + mul_left_cancel _ _ _ h := Subtype.ext <| by + exact mul_left_cancel₀ (nonZeroDivisors.coe_ne_zero _) (by simpa only [Subtype.ext_iff, Submonoid.coe_mul] using h) instance [IsRightCancelMulZero M₀] : RightCancelMonoid M₀⁰ where - mul_right_cancel _ _ _ h := Subtype.ext <| - mul_right_cancel₀ (nonZeroDivisors.coe_ne_zero _) (by + mul_right_cancel _ _ _ h := Subtype.ext <| by + exact mul_right_cancel₀ (nonZeroDivisors.coe_ne_zero _) (by simpa only [Subtype.ext_iff, Submonoid.coe_mul] using h) end Nontrivial diff --git a/Mathlib/Algebra/GroupWithZero/Opposite.lean b/Mathlib/Algebra/GroupWithZero/Opposite.lean index 338bbadac9c861..5b1238ece6f1b5 100644 --- a/Mathlib/Algebra/GroupWithZero/Opposite.lean +++ b/Mathlib/Algebra/GroupWithZero/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.GroupWithZero.NeZero +module + +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.GroupWithZero.NeZero /-! # Opposites of groups with zero -/ +@[expose] public section + assert_not_exists Ring variable {α : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Pi.lean b/Mathlib/Algebra/GroupWithZero/Pi.lean index 7b04ddb4f535b1..b3901f472c735c 100644 --- a/Mathlib/Algebra/GroupWithZero/Pi.lean +++ b/Mathlib/Algebra/GroupWithZero/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Pi.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Pi.Basic /-! # Pi instances for groups with zero @@ -13,6 +15,8 @@ import Mathlib.Algebra.Group.Pi.Basic This file defines monoid with zero, group with zero, and related structure instances for pi types. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {ι : Type*} {α : ι → Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean b/Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean index 8b01c6adf447ad..f282f775193784 100644 --- a/Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean +++ b/Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise operations of finsets in a group with zero @@ -12,6 +14,8 @@ import Mathlib.Algebra.Group.Pointwise.Finset.Basic This file proves properties of pointwise operations of finsets in a group with zero. -/ +@[expose] public section + assert_not_exists MulAction Ring open scoped Pointwise diff --git a/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean b/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean index 1ebbf19e46414d..ad7a84e1f545b0 100644 --- a/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean +++ b/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn -/ -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise operations of sets in a group with zero @@ -17,6 +19,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists MulAction OrderedAddCommMonoid Ring open Function diff --git a/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean b/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean index 10fa659c1455be..65295dd822c290 100644 --- a/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean +++ b/Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.SetTheory.Cardinal.Finite /-! # Cardinality of sets under pointwise group with zero operations -/ +@[expose] public section + assert_not_exists Field open scoped Cardinal Pointwise diff --git a/Mathlib/Algebra/GroupWithZero/Prod.lean b/Mathlib/Algebra/GroupWithZero/Prod.lean index 0652ca2b7a69d5..eb38aced7ff4c7 100644 --- a/Mathlib/Algebra/GroupWithZero/Prod.lean +++ b/Mathlib/Algebra/GroupWithZero/Prod.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Yaël Dillies -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.GroupWithZero.WithZero +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.GroupWithZero.WithZero /-! # Products of monoids with zero, groups with zero @@ -19,6 +21,8 @@ In this file we define `MonoidWithZero`, `GroupWithZero`, etc... instances for ` * `divMonoidWithZeroHom`: Division bundled as a monoid with zero homomorphism. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {M₀ N₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/ProdHom.lean b/Mathlib/Algebra/GroupWithZero/ProdHom.lean index a3f21a2b242df1..ebc7b4a8b80234 100644 --- a/Mathlib/Algebra/GroupWithZero/ProdHom.lean +++ b/Mathlib/Algebra/GroupWithZero/ProdHom.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.GroupWithZero.WithZero +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.GroupWithZero.WithZero /-! # Homomorphisms for products of groups with zero @@ -22,6 +24,8 @@ as well as a terminal object. -/ +@[expose] public section + namespace MonoidWithZeroHom /-- The trivial group-with-zero hom is absorbing for composition. -/ diff --git a/Mathlib/Algebra/GroupWithZero/Range.lean b/Mathlib/Algebra/GroupWithZero/Range.lean index 32532e308aea12..ec1d24caa181e7 100644 --- a/Mathlib/Algebra/GroupWithZero/Range.lean +++ b/Mathlib/Algebra/GroupWithZero/Range.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir and Filippo Nuccio. All rights reserved Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ +module -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.GroupWithZero.Submonoid.Instances -import Mathlib.Algebra.GroupWithZero.WithZero +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.GroupWithZero.Submonoid.Instances +public import Mathlib.Algebra.GroupWithZero.WithZero /-! # The range of a MonoidWithZeroHom Given a `MonoidWithZeroHom` `f : A → B` whose codomain `B` is a `MonoidWithZero`, we define the @@ -45,6 +46,8 @@ required properties; that it coincides with the submonoid generated by the closu unfolding. -/ +@[expose] public section + namespace MonoidWithZeroHom open Set Subgroup Submonoid diff --git a/Mathlib/Algebra/GroupWithZero/Regular.lean b/Mathlib/Algebra/GroupWithZero/Regular.lean index 2fec807c9e09c4..9b17c8c0c5785b 100644 --- a/Mathlib/Algebra/GroupWithZero/Regular.lean +++ b/Mathlib/Algebra/GroupWithZero/Regular.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Tactic.Push +module + +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Tactic.Push /-! # Results about `IsRegular` and `0` -/ +@[expose] public section + variable {R} section MulZeroClass diff --git a/Mathlib/Algebra/GroupWithZero/Semiconj.lean b/Mathlib/Algebra/GroupWithZero/Semiconj.lean index 3a62e10bd204f8..e0f66990d5b974 100644 --- a/Mathlib/Algebra/GroupWithZero/Semiconj.lean +++ b/Mathlib/Algebra/GroupWithZero/Semiconj.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Group.Semiconj.Units +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Group.Semiconj.Units /-! # Lemmas about semiconjugate elements in a `GroupWithZero`. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Shrink.lean b/Mathlib/Algebra/GroupWithZero/Shrink.lean index 045c3449e4ff47..8295e1be2750f2 100644 --- a/Mathlib/Algebra/GroupWithZero/Shrink.lean +++ b/Mathlib/Algebra/GroupWithZero/Shrink.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.GroupWithZero.Action.TransferInstance -import Mathlib.Algebra.GroupWithZero.TransferInstance +module + +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.GroupWithZero.Action.TransferInstance +public import Mathlib.Algebra.GroupWithZero.TransferInstance /-! # Transfer group with zero structures from `α` to `Shrink α` -/ +@[expose] public section + noncomputable section universe v diff --git a/Mathlib/Algebra/GroupWithZero/Subgroup.lean b/Mathlib/Algebra/GroupWithZero/Subgroup.lean index 8abe273c1a5e12..583b292b34f953 100644 --- a/Mathlib/Algebra/GroupWithZero/Subgroup.lean +++ b/Mathlib/Algebra/GroupWithZero/Subgroup.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise +module + +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise /-! # Subgroups in a group with zero -/ +@[expose] public section + assert_not_exists Ring open Set diff --git a/Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean b/Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean index 4a9d0a661ef1cc..caff15f313ca73 100644 --- a/Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean +++ b/Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Dexin Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dexin Zhang -/ -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.Group.Submonoid.Defs +module + +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.Group.Submonoid.Defs /-! # Submagmas with zero inherit cancellations -/ +@[expose] public section + namespace MulZeroMemClass variable {M₀ : Type*} [Mul M₀] [Zero M₀] {S : Type*} [SetLike S M₀] [MulMemClass S M₀] diff --git a/Mathlib/Algebra/GroupWithZero/Submonoid/Instances.lean b/Mathlib/Algebra/GroupWithZero/Submonoid/Instances.lean index fbda0b57d5adf2..80d2776c4cdd8e 100644 --- a/Mathlib/Algebra/GroupWithZero/Submonoid/Instances.lean +++ b/Mathlib/Algebra/GroupWithZero/Submonoid/Instances.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ +module -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas /-! # Instances for the range submonoid of a monoid with zero hom -/ +@[expose] public section + assert_not_exists Ring namespace MonoidWithZeroHom diff --git a/Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean b/Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean index c93d3dfa11db7c..7ca9a3917a5739 100644 --- a/Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean +++ b/Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Submonoid.Pointwise -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +module + +public import Mathlib.Algebra.Group.Submonoid.Pointwise +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set /-! # Submonoids in a group with zero -/ +@[expose] public section + assert_not_exists Ring open Set diff --git a/Mathlib/Algebra/GroupWithZero/Submonoid/Primal.lean b/Mathlib/Algebra/GroupWithZero/Submonoid/Primal.lean index 22ea2d6a07d97d..f49bbe1a6ebb16 100644 --- a/Mathlib/Algebra/GroupWithZero/Submonoid/Primal.lean +++ b/Mathlib/Algebra/GroupWithZero/Submonoid/Primal.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.GroupWithZero.Divisibility +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.GroupWithZero.Divisibility /-! # Submonoid of primal elements -/ +@[expose] public section + assert_not_exists RelIso Ring /-- The submonoid of primal elements in a cancellative commutative monoid with zero. -/ diff --git a/Mathlib/Algebra/GroupWithZero/Torsion.lean b/Mathlib/Algebra/GroupWithZero/Torsion.lean index 44faf99ef0ac2c..fce8165f8024f1 100644 --- a/Mathlib/Algebra/GroupWithZero/Torsion.lean +++ b/Mathlib/Algebra/GroupWithZero/Torsion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Xavier Roblot -/ -import Mathlib.Algebra.Regular.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Torsion-free monoids with zero @@ -16,6 +18,8 @@ Note. You need to import this file to get that the monoid of ideals of a Dedekin torsion-free. -/ +@[expose] public section + variable {M : Type*} [CancelCommMonoidWithZero M] theorem IsMulTorsionFree.mk' (ih : ∀ x ≠ 0, ∀ y ≠ 0, ∀ n ≠ 0, (x ^ n : M) = y ^ n → x = y) : diff --git a/Mathlib/Algebra/GroupWithZero/TransferInstance.lean b/Mathlib/Algebra/GroupWithZero/TransferInstance.lean index c9ec3900790310..a21284c94f57ae 100644 --- a/Mathlib/Algebra/GroupWithZero/TransferInstance.lean +++ b/Mathlib/Algebra/GroupWithZero/TransferInstance.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.GroupWithZero.InjSurj +module + +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.GroupWithZero.InjSurj /-! # Transfer algebraic structures across `Equiv`s @@ -12,6 +14,8 @@ import Mathlib.Algebra.GroupWithZero.InjSurj This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists MulAction Ring universe u v diff --git a/Mathlib/Algebra/GroupWithZero/ULift.lean b/Mathlib/Algebra/GroupWithZero/ULift.lean index 67036af88290e8..0ace2b207de2af 100644 --- a/Mathlib/Algebra/GroupWithZero/ULift.lean +++ b/Mathlib/Algebra/GroupWithZero/ULift.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.ULift -import Mathlib.Algebra.GroupWithZero.InjSurj +module + +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Algebra.GroupWithZero.InjSurj /-! # `ULift` instances for groups and monoids with zero @@ -14,6 +16,8 @@ This file defines instances for group and monoid with zero and related structure (Recall `ULift α` is just a "copy" of a type `α` in a higher universe.) -/ +@[expose] public section + assert_not_exists Ring universe u diff --git a/Mathlib/Algebra/GroupWithZero/Units/Basic.lean b/Mathlib/Algebra/GroupWithZero/Units/Basic.lean index fe50dd1c057117..305697a5f4f6dd 100644 --- a/Mathlib/Algebra/GroupWithZero/Units/Basic.lean +++ b/Mathlib/Algebra/GroupWithZero/Units/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Data.Int.Basic -import Mathlib.Lean.Meta.CongrTheorems -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Spread +module + +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Data.Int.Basic +public import Mathlib.Lean.Meta.CongrTheorems +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Spread /-! # Lemmas about units in a `MonoidWithZero` or a `GroupWithZero`. @@ -17,6 +19,8 @@ We also define `Ring.inverse`, a globally defined function on any ring (in fact any `MonoidWithZero`), which inverts units and sends non-units to zero. -/ +@[expose] public section + assert_not_exists DenselyOrdered Equiv Subtype.restrict Multiplicative Ring variable {α M₀ G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Units/Equiv.lean b/Mathlib/Algebra/GroupWithZero/Units/Equiv.lean index 8b6d87f3716a25..225564579cb099 100644 --- a/Mathlib/Algebra/GroupWithZero/Units/Equiv.lean +++ b/Mathlib/Algebra/GroupWithZero/Units/Equiv.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Multiplication by a nonzero element in a `GroupWithZero` is a permutation. -/ +@[expose] public section + assert_not_exists DenselyOrdered Ring variable {G₀ : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean b/Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean index 6edfeea50096ba..beb96a3b8fa237 100644 --- a/Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean +++ b/Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.GroupWithZero.Hom +module + +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.GroupWithZero.Hom /-! # Further lemmas about units in a `MonoidWithZero` or a `GroupWithZero`. -/ +@[expose] public section + assert_not_exists DenselyOrdered MulAction Ring variable {M M₀ G₀ M₀' G₀' F F' : Type*} diff --git a/Mathlib/Algebra/GroupWithZero/WithZero.lean b/Mathlib/Algebra/GroupWithZero/WithZero.lean index dca6e3805dd718..899c7506a3368b 100644 --- a/Mathlib/Algebra/GroupWithZero/WithZero.lean +++ b/Mathlib/Algebra/GroupWithZero/WithZero.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johan Commelin -/ -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Algebra.Group.WithOne.Defs -import Mathlib.Algebra.GroupWithZero.Equiv -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Data.Nat.Cast.Defs -import Mathlib.Data.Option.Basic -import Mathlib.Data.Option.NAry +module + +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Algebra.Group.WithOne.Defs +public import Mathlib.Algebra.GroupWithZero.Equiv +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Data.Nat.Cast.Defs +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.Option.NAry /-! # Adjoining a zero to a group @@ -34,6 +36,8 @@ In scope `WithZero`: * `WithZero.exp`: The "logarithm" `Mᵐ⁰ → M` -/ +@[expose] public section + open Function assert_not_exists DenselyOrdered Ring diff --git a/Mathlib/Algebra/HierarchyDesign.lean b/Mathlib/Algebra/HierarchyDesign.lean index cbb841ccff50c9..a0bc05fcc6aeb8 100644 --- a/Mathlib/Algebra/HierarchyDesign.lean +++ b/Mathlib/Algebra/HierarchyDesign.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Eric Wieser -/ -import Mathlib.Init -import Mathlib.Tactic.Basic +module + +public import Mathlib.Init +public import Mathlib.Tactic.Basic /-! # Documentation of the algebraic hierarchy @@ -17,6 +19,8 @@ TODO: Add sections about interactions with topological typeclasses, and order ty -/ +@[expose] public section + library_note2 «the algebraic hierarchy» /-- # The algebraic hierarchy diff --git a/Mathlib/Algebra/Homology/Additive.lean b/Mathlib/Algebra/Homology/Additive.lean index f60c6bc8b7f9fe..6133f3748b3b25 100644 --- a/Mathlib/Algebra/Homology/Additive.lean +++ b/Mathlib/Algebra/Homology/Additive.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Homology.Single -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Homology.Single +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Homology is an additive functor @@ -15,6 +17,8 @@ and `homologyFunctor` is additive. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Homology/AlternatingConst.lean b/Mathlib/Algebra/Homology/AlternatingConst.lean index e212e04cccce6c..3f06f1ace24c9c 100644 --- a/Mathlib/Algebra/Homology/AlternatingConst.lean +++ b/Mathlib/Algebra/Homology/AlternatingConst.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Module.BigOperators -import Mathlib.AlgebraicTopology.ExtraDegeneracy +module + +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.AlgebraicTopology.ExtraDegeneracy /-! # The alternating constant complex @@ -20,6 +22,8 @@ In particular, we show `... ⟶ X --𝟙--> X --0--> X --𝟙--> X --0--> X ⟶ to the single complex where `X` is in degree `0`. -/ + +@[expose] public section universe v u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/Augment.lean b/Mathlib/Algebra/Homology/Augment.lean index 076d87f5343116..9062f640ece91f 100644 --- a/Mathlib/Algebra/Homology/Augment.lean +++ b/Mathlib/Algebra/Homology/Augment.lean @@ -3,12 +3,16 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.Single +module + +public import Mathlib.Algebra.Homology.Single /-! # Augmentation and truncation of `ℕ`-indexed (co)chain complexes. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Homology/Bifunctor.lean b/Mathlib/Algebra/Homology/Bifunctor.lean index 4f5eb642328dae..e466b5706f8469 100644 --- a/Mathlib/Algebra/Homology/Bifunctor.lean +++ b/Mathlib/Algebra/Homology/Bifunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.TotalComplex -import Mathlib.CategoryTheory.GradedObject.Bifunctor +module + +public import Mathlib.Algebra.Homology.TotalComplex +public import Mathlib.CategoryTheory.GradedObject.Bifunctor /-! # The action of a bifunctor on homological complexes @@ -21,6 +23,8 @@ bicomplex `(((F.mapBifunctorHomologicalComplex c₁ c₂).obj K₁).obj K₂)`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/BifunctorAssociator.lean b/Mathlib/Algebra/Homology/BifunctorAssociator.lean index 99da5a72aca106..4bfd25b4f22f10 100644 --- a/Mathlib/Algebra/Homology/BifunctorAssociator.lean +++ b/Mathlib/Algebra/Homology/BifunctorAssociator.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject.Associator -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.Algebra.Homology.Bifunctor +module + +public import Mathlib.CategoryTheory.GradedObject.Associator +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.Algebra.Homology.Bifunctor /-! # The associator for actions of bifunctors on homological complexes @@ -34,6 +36,8 @@ the associator for the monoidal category structure on homological complexes. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Homology/BifunctorFlip.lean b/Mathlib/Algebra/Homology/BifunctorFlip.lean index 1f1ea01d482050..27370fe41bc036 100644 --- a/Mathlib/Algebra/Homology/BifunctorFlip.lean +++ b/Mathlib/Algebra/Homology/BifunctorFlip.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Bifunctor -import Mathlib.Algebra.Homology.TotalComplexSymmetry +module + +public import Mathlib.Algebra.Homology.Bifunctor +public import Mathlib.Algebra.Homology.TotalComplexSymmetry /-! # Action of the flip of a bifunctor on homological complexes @@ -17,6 +19,8 @@ under the additional assumption `[TotalComplexShapeSymmetry c₁ c₂ c]`. -/ +@[expose] public section + open CategoryTheory Limits variable {C₁ C₂ D : Type*} [Category C₁] [Category C₂] [Category D] diff --git a/Mathlib/Algebra/Homology/BifunctorHomotopy.lean b/Mathlib/Algebra/Homology/BifunctorHomotopy.lean index 4c000b592f3c11..4455a1c13dd332 100644 --- a/Mathlib/Algebra/Homology/BifunctorHomotopy.lean +++ b/Mathlib/Algebra/Homology/BifunctorHomotopy.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Bifunctor -import Mathlib.Algebra.Homology.Homotopy +module + +public import Mathlib.Algebra.Homology.Bifunctor +public import Mathlib.Algebra.Homology.Homotopy /-! # The action of a bifunctor on homological complexes factors through homotopies @@ -17,6 +19,8 @@ the morphism `f₂` in `HomologicalComplex C c₂` (TODO). -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Homology/BifunctorShift.lean b/Mathlib/Algebra/Homology/BifunctorShift.lean index 83a5a29a3a8d24..2e5cf40344f90c 100644 --- a/Mathlib/Algebra/Homology/BifunctorShift.lean +++ b/Mathlib/Algebra/Homology/BifunctorShift.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Bifunctor -import Mathlib.Algebra.Homology.TotalComplexShift +module + +public import Mathlib.Algebra.Homology.Bifunctor +public import Mathlib.Algebra.Homology.TotalComplexShift /-! # Behavior of the action of a bifunctor on cochain complexes with respect to shifts @@ -23,6 +25,8 @@ that the two ways to deduce an isomorphism -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Homology/CommSq.lean b/Mathlib/Algebra/Homology/CommSq.lean index 31de78b776112a..c94664e11960a1 100644 --- a/Mathlib/Algebra/Homology/CommSq.lean +++ b/Mathlib/Algebra/Homology/CommSq.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Preadditive.Biproducts +module + +public import Mathlib.Algebra.Homology.ShortComplex.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Preadditive.Biproducts /-! # Relation between pullback/pushout squares and kernel/cokernel sequences @@ -29,6 +31,8 @@ via the obvious map `X₁ ⟶ X₂ ⊞ X₃`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ComplexShape.lean b/Mathlib/Algebra/Homology/ComplexShape.lean index 799fbafe6ec39a..d1e39e09cf3e1f 100644 --- a/Mathlib/Algebra/Homology/ComplexShape.lean +++ b/Mathlib/Algebra/Homology/ComplexShape.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Logic.Relation -import Mathlib.Logic.Function.Basic +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Logic.Relation +public import Mathlib.Logic.Function.Basic /-! # Shapes of homological complexes @@ -40,6 +42,8 @@ so `d : X i ⟶ X j` is nonzero only when `i = j + 1`. `HomologicalComplex` with one of these shapes baked in.) -/ +@[expose] public section + noncomputable section /-- A `c : ComplexShape ι` describes the shape of a chain complex, diff --git a/Mathlib/Algebra/Homology/ComplexShapeSigns.lean b/Mathlib/Algebra/Homology/ComplexShapeSigns.lean index dcee8573de2fa4..2c046f371762cc 100644 --- a/Mathlib/Algebra/Homology/ComplexShapeSigns.lean +++ b/Mathlib/Algebra/Homology/ComplexShapeSigns.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ComplexShape -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.CategoryTheory.GradedObject.Trifunctor +module + +public import Mathlib.Algebra.Homology.ComplexShape +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.CategoryTheory.GradedObject.Trifunctor /-! Signs in constructions on homological complexes @@ -24,6 +26,8 @@ satisfying certain properties (see `ComplexShape.TensorSigns`). -/ +@[expose] public section + assert_not_exists Field TwoSidedIdeal variable {I₁ I₂ I₃ I₁₂ I₂₃ J : Type*} diff --git a/Mathlib/Algebra/Homology/ConcreteCategory.lean b/Mathlib/Algebra/Homology/ConcreteCategory.lean index 804bc456816b84..ffffd2bf74737d 100644 --- a/Mathlib/Algebra/Homology/ConcreteCategory.lean +++ b/Mathlib/Algebra/Homology/ConcreteCategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologySequence -import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory +module + +public import Mathlib.Algebra.Homology.HomologySequence +public import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory /-! # Homology of complexes in concrete categories @@ -18,6 +20,8 @@ the homology sequence in terms of (co)cycles. -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Basic.lean b/Mathlib/Algebra/Homology/DerivedCategory/Basic.lean index 44b6956c910fa4..3c306bb0329708 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Basic.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor -import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence -import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors -import Mathlib.Algebra.Homology.HomotopyCategory.Triangulated -import Mathlib.Algebra.Homology.Localization +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor +public import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence +public import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors +public import Mathlib.Algebra.Homology.HomotopyCategory.Triangulated +public import Mathlib.Algebra.Homology.Localization /-! # The derived category of an abelian category @@ -57,6 +59,8 @@ with the one defined in `Algebra.Homology.HomologySequence`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean b/Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean index 1602470be42005..edc38ee3fa4943 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/ExactFunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Basic +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Basic /-! # An exact functor induces a functor on derived categories @@ -14,6 +16,8 @@ abelian categories, then there is an induced triangulated functor -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w₁ w₂ v₁ v₂ u₁ u₂ diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean index c40f3410a5b455..04236fc7efe820 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.FullyFaithful -import Mathlib.CategoryTheory.Localization.SmallShiftedHom +module + +public import Mathlib.Algebra.Homology.DerivedCategory.FullyFaithful +public import Mathlib.CategoryTheory.Localization.SmallShiftedHom /-! # Ext groups in abelian categories @@ -36,6 +38,8 @@ sheaves over `X` shall be in `Type u`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w'' w' w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean index 1b9e687873aa42..daef5d00864f4f 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughInjectives.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences /-! # Smallness of Ext-groups from the existence of enough injectives @@ -23,6 +25,8 @@ Note: this file dualizes the results in `HasEnoughProjectives.lean`. -/ +@[expose] public section + universe w v u open CategoryTheory Category diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean index 323b43bbcfcaae..31a9158b307532 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences /-! # Smallness of Ext-groups from the existence of enough projectives @@ -21,6 +23,8 @@ So we must be very selective regarding `HasExt` instances. -/ +@[expose] public section + universe w v u open CategoryTheory Category diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean index b153016bb9a972..924d670f566c7a 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass -import Mathlib.CategoryTheory.Triangulated.Yoneda +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass +public import Mathlib.CategoryTheory.Triangulated.Yoneda /-! # Long exact sequences of `Ext`-groups @@ -17,6 +19,8 @@ Similarly, if `Y : C`, there is a contravariant long exact sequence : -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w' w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean index faecccd3b22e86..768df49054a919 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic -import Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic +public import Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle /-! # The Ext class of a short exact sequence @@ -15,6 +17,8 @@ in an abelian category, we construct the associated class in -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w' w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean b/Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean index 1acbf86d3de05c..c9af0a42ff93de 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.HomologySequence -import Mathlib.Algebra.Homology.Embedding.CochainComplex +module + +public import Mathlib.Algebra.Homology.DerivedCategory.HomologySequence +public import Mathlib.Algebra.Homology.Embedding.CochainComplex /-! # Calculus of fractions in the derived category @@ -19,6 +21,8 @@ on the auxiliary object appearing in the fraction. -/ +@[expose] public section + universe w v u open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean b/Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean index 6e6d5179914007..ae7739dac5ee6b 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/FullyFaithful.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Fractions -import Mathlib.Algebra.Homology.SingleHomology +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Fractions +public import Mathlib.Algebra.Homology.SingleHomology /-! # The fully faithful embedding of the abelian category in its derived category @@ -13,6 +15,8 @@ In this file, we show that for any `n : ℤ`, the functor -/ +@[expose] public section + universe w v u open CategoryTheory diff --git a/Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean b/Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean index 865df8de2de37b..c1a96b5e2b84c8 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.DerivedCategory.Basic +public import Mathlib.Algebra.Homology.DerivedCategory.Basic /-! # The homology sequence @@ -16,6 +17,8 @@ derived category. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Linear.lean b/Mathlib/Algebra/Homology/DerivedCategory/Linear.lean index fedfec4d0c11c8..e4a9114a0be270 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Linear.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Linear.lean @@ -3,16 +3,20 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Basic -import Mathlib.Algebra.Homology.Linear -import Mathlib.CategoryTheory.Localization.Linear -import Mathlib.CategoryTheory.Shift.Linear +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Basic +public import Mathlib.Algebra.Homology.Linear +public import Mathlib.CategoryTheory.Localization.Linear +public import Mathlib.CategoryTheory.Shift.Linear /-! # The derived category of a linear abelian category is linear -/ +@[expose] public section + open CategoryTheory Category Limits Pretriangulated ZeroObject Preadditive universe w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean b/Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean index 41b354c4b6d110..bc992439f08239 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.ShortExact -import Mathlib.Algebra.Homology.DerivedCategory.Basic +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.ShortExact +public import Mathlib.Algebra.Homology.DerivedCategory.Basic /-! # The distinguished triangle attached to a short exact sequence of cochain complexes @@ -17,6 +19,8 @@ in the derived category of `C`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean b/Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean index a3d9e41c733c01..e6e88a0ce31f02 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.ShortExact +module + +public import Mathlib.Algebra.Homology.DerivedCategory.ShortExact /-! # The distinguished triangle of a short exact sequence in an abelian category @@ -19,6 +21,8 @@ the associated distinguished triangle in the derived category: -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w v u diff --git a/Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean b/Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean index ef1b286ae54781..c1719f649c77a3 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/TStructure.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.DerivedCategory.Fractions -import Mathlib.Algebra.Homology.DerivedCategory.ShortExact -import Mathlib.Algebra.Homology.Embedding.CochainComplex -import Mathlib.CategoryTheory.Triangulated.TStructure.Basic +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Fractions +public import Mathlib.Algebra.Homology.DerivedCategory.ShortExact +public import Mathlib.Algebra.Homology.Embedding.CochainComplex +public import Mathlib.CategoryTheory.Triangulated.TStructure.Basic /-! # The canonical t-structure on the derived category @@ -16,6 +18,8 @@ derived category of an abelian category. -/ +@[expose] public section + open CategoryTheory Category Pretriangulated Triangulated Limits Preadditive universe w v u diff --git a/Mathlib/Algebra/Homology/DifferentialObject.lean b/Mathlib/Algebra/Homology/DifferentialObject.lean index 62b558bc85d3f9..5ff8e547e65dee 100644 --- a/Mathlib/Algebra/Homology/DifferentialObject.lean +++ b/Mathlib/Algebra/Homology/DifferentialObject.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.HomologicalComplex -import Mathlib.CategoryTheory.DifferentialObject +module + +public import Mathlib.Algebra.Homology.HomologicalComplex +public import Mathlib.CategoryTheory.DifferentialObject /-! # Homological complexes are differential graded objects. @@ -16,6 +18,8 @@ This equivalence is probably not particularly useful in practice; it's here to check that definitions match up as expected. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits noncomputable section diff --git a/Mathlib/Algebra/Homology/Double.lean b/Mathlib/Algebra/Homology/Double.lean index c2619a8ade32f6..182a6f0489e3c3 100644 --- a/Mathlib/Algebra/Homology/Double.lean +++ b/Mathlib/Algebra/Homology/Double.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HasNoLoop -import Mathlib.Algebra.Homology.Single -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.Algebra.Homology.HasNoLoop +public import Mathlib.Algebra.Homology.Single +public import Mathlib.CategoryTheory.Yoneda /-! # A homological complex lying in two degrees @@ -17,6 +19,8 @@ with the differential `X₀ ⟶ X₁` given by `f`, and zero everywhere else. -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject Opposite namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/Embedding/AreComplementary.lean b/Mathlib/Algebra/Homology/Embedding/AreComplementary.lean index 9db0c2800ab4a8..ec69ed1bdf3269 100644 --- a/Mathlib/Algebra/Homology/Embedding/AreComplementary.lean +++ b/Mathlib/Algebra/Homology/Embedding/AreComplementary.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.TruncLEHomology +module + +public import Mathlib.Algebra.Homology.Embedding.TruncLEHomology /-! # Complementary embeddings @@ -19,6 +21,8 @@ the cokernel of `K.ιTruncLE e₁ : K.truncLE e₁ ⟶ K` and `K.truncGE e₂`. -/ +@[expose] public section + open CategoryTheory Limits variable {ι ι₁ ι₂ : Type*} {c : ComplexShape ι} {c₁ : ComplexShape ι₁} {c₂ : ComplexShape ι₂} diff --git a/Mathlib/Algebra/Homology/Embedding/Basic.lean b/Mathlib/Algebra/Homology/Embedding/Basic.lean index 17e21792ba9dd7..70c0308fa4173f 100644 --- a/Mathlib/Algebra/Homology/Embedding/Basic.lean +++ b/Mathlib/Algebra/Homology/Embedding/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ComplexShape -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Tactic.ByContra +module + +public import Mathlib.Algebra.Homology.ComplexShape +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Tactic.ByContra /-! # Embeddings of complex shapes @@ -50,6 +52,8 @@ in degrees in the image of `e.f` (TODO); -/ +@[expose] public section + assert_not_exists Nat.instAddMonoidWithOne Nat.instMulZeroClass variable {ι ι' : Type*} (c : ComplexShape ι) (c' : ComplexShape ι') diff --git a/Mathlib/Algebra/Homology/Embedding/Boundary.lean b/Mathlib/Algebra/Homology/Embedding/Boundary.lean index 2bafdd5149b77f..d42abd1b87c0cc 100644 --- a/Mathlib/Algebra/Homology/Embedding/Boundary.lean +++ b/Mathlib/Algebra/Homology/Embedding/Boundary.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Basic -import Mathlib.Algebra.Homology.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.Embedding.Basic +public import Mathlib.Algebra.Homology.HomologicalComplex /-! # Boundary of an embedding of complex shapes @@ -32,6 +34,8 @@ only element in this lower boundary. Similarly, we define -/ +@[expose] public section + namespace ComplexShape namespace Embedding diff --git a/Mathlib/Algebra/Homology/Embedding/CochainComplex.lean b/Mathlib/Algebra/Homology/Embedding/CochainComplex.lean index c896f9889ca2fd..e8943228c5af77 100644 --- a/Mathlib/Algebra/Homology/Embedding/CochainComplex.lean +++ b/Mathlib/Algebra/Homology/Embedding/CochainComplex.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.AreComplementary -import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors -import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence +module + +public import Mathlib.Algebra.Homology.Embedding.AreComplementary +public import Mathlib.Algebra.Homology.HomotopyCategory.SingleFunctors +public import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence /-! # Truncations on cochain complexes indexed by the integers. @@ -18,6 +20,8 @@ complexes indexed by `ℤ`, as well as the conditions -/ +@[expose] public section + open CategoryTheory Category Limits ComplexShape ZeroObject namespace CochainComplex diff --git a/Mathlib/Algebra/Homology/Embedding/Connect.lean b/Mathlib/Algebra/Homology/Embedding/Connect.lean index 0f9d708843ded4..22d739c821007c 100644 --- a/Mathlib/Algebra/Homology/Embedding/Connect.lean +++ b/Mathlib/Algebra/Homology/Embedding/Connect.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.RestrictionHomology +module + +public import Mathlib.Algebra.Homology.Embedding.RestrictionHomology /-! # Connecting a chain complex and a cochain complex @@ -38,6 +40,8 @@ Now say `h : ConnectData K L`. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/Embedding/Extend.lean b/Mathlib/Algebra/Homology/Embedding/Extend.lean index 0b6fcb80ebeec4..ccfdfb973abc67 100644 --- a/Mathlib/Algebra/Homology/Embedding/Extend.lean +++ b/Mathlib/Algebra/Homology/Embedding/Extend.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.IsSupported -import Mathlib.Algebra.Homology.Additive -import Mathlib.Algebra.Homology.Opposite +module + +public import Mathlib.Algebra.Homology.Embedding.IsSupported +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.Algebra.Homology.Opposite /-! # The extension of a homological complex by an embedding of complex shapes @@ -18,6 +20,8 @@ This construction first appeared in the Liquid Tensor Experiment. -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/ExtendHomology.lean b/Mathlib/Algebra/Homology/Embedding/ExtendHomology.lean index 2d5d00e3d6d6f7..5e9f24ec8dc01c 100644 --- a/Mathlib/Algebra/Homology/Embedding/ExtendHomology.lean +++ b/Mathlib/Algebra/Homology/Embedding/ExtendHomology.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Extend -import Mathlib.Algebra.Homology.Embedding.IsSupported -import Mathlib.Algebra.Homology.QuasiIso +module + +public import Mathlib.Algebra.Homology.Embedding.Extend +public import Mathlib.Algebra.Homology.Embedding.IsSupported +public import Mathlib.Algebra.Homology.QuasiIso /-! # Homology of the extension of an homological complex @@ -17,6 +19,8 @@ the homology is obviously zero. When `e.f j = j`, we construct an isomorphism -/ +@[expose] public section + open CategoryTheory Limits Category namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/Embedding/HomEquiv.lean b/Mathlib/Algebra/Homology/Embedding/HomEquiv.lean index 2af7fd3613c4cd..0e7e9ceae31832 100644 --- a/Mathlib/Algebra/Homology/Embedding/HomEquiv.lean +++ b/Mathlib/Algebra/Homology/Embedding/HomEquiv.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Restriction -import Mathlib.Algebra.Homology.Embedding.Extend -import Mathlib.Algebra.Homology.Embedding.Boundary -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.Algebra.Homology.Embedding.Restriction +public import Mathlib.Algebra.Homology.Embedding.Extend +public import Mathlib.Algebra.Homology.Embedding.Boundary +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Relations between `extend` and `restriction` @@ -22,6 +24,8 @@ condition `e.HasLift φ`. -/ +@[expose] public section + open CategoryTheory Category Limits namespace ComplexShape diff --git a/Mathlib/Algebra/Homology/Embedding/IsSupported.lean b/Mathlib/Algebra/Homology/Embedding/IsSupported.lean index c7f67d418188e6..9d0188d4e528c2 100644 --- a/Mathlib/Algebra/Homology/Embedding/IsSupported.lean +++ b/Mathlib/Algebra/Homology/Embedding/IsSupported.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Basic -import Mathlib.Algebra.Homology.Opposite -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.Embedding.Basic +public import Mathlib.Algebra.Homology.Opposite +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex /-! # Support of homological complexes @@ -23,6 +25,8 @@ complementary embedding `e'`.) -/ +@[expose] public section + open CategoryTheory Limits ZeroObject variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/Restriction.lean b/Mathlib/Algebra/Homology/Embedding/Restriction.lean index cb3dd2d939761d..d6427f4ffca546 100644 --- a/Mathlib/Algebra/Homology/Embedding/Restriction.lean +++ b/Mathlib/Algebra/Homology/Embedding/Restriction.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Basic -import Mathlib.Algebra.Homology.Additive +module + +public import Mathlib.Algebra.Homology.Embedding.Basic +public import Mathlib.Algebra.Homology.Additive /-! # The restriction functor of an embedding of complex shapes @@ -15,6 +17,8 @@ Given `c` and `c'` complex shapes on two types, and `e : c.Embedding c'` -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/RestrictionHomology.lean b/Mathlib/Algebra/Homology/Embedding/RestrictionHomology.lean index dd56053c54d8cb..425c9c793659b0 100644 --- a/Mathlib/Algebra/Homology/Embedding/RestrictionHomology.lean +++ b/Mathlib/Algebra/Homology/Embedding/RestrictionHomology.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.Restriction -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.Embedding.Restriction +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex /-! # The homology of a restriction @@ -16,6 +18,8 @@ and `restriction.hasHomology`. -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean b/Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean index f4a21bf38fef78..26caa097ece166 100644 --- a/Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean +++ b/Mathlib/Algebra/Homology/Embedding/StupidTrunc.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.Embedding.Extend -import Mathlib.Algebra.Homology.Embedding.IsSupported -import Mathlib.Algebra.Homology.Embedding.Restriction +public import Mathlib.Algebra.Homology.Embedding.Extend +public import Mathlib.Algebra.Homology.Embedding.IsSupported +public import Mathlib.Algebra.Homology.Embedding.Restriction /-! # The stupid truncation of homological complexes @@ -21,6 +22,8 @@ which sends `K` to `K.stupidTrunc e` which is defined as `(K.restriction e).exte -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/TruncGE.lean b/Mathlib/Algebra/Homology/Embedding/TruncGE.lean index 658752c0a0e469..cfc7d5dd62bc02 100644 --- a/Mathlib/Algebra/Homology/Embedding/TruncGE.lean +++ b/Mathlib/Algebra/Homology/Embedding/TruncGE.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.HomEquiv -import Mathlib.Algebra.Homology.Embedding.IsSupported -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.Embedding.HomEquiv +public import Mathlib.Algebra.Homology.Embedding.IsSupported +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex /-! # The canonical truncation @@ -39,6 +41,8 @@ We also construct the canonical epimorphism `K.πTruncGE e : K ⟶ K.truncGE e`. -/ +@[expose] public section + open CategoryTheory Limits ZeroObject Category variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean b/Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean index 33aa50866daca8..13ebf14b437179 100644 --- a/Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean +++ b/Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.ExtendHomology -import Mathlib.Algebra.Homology.Embedding.TruncGE -import Mathlib.Algebra.Homology.Embedding.RestrictionHomology -import Mathlib.Algebra.Homology.QuasiIso +module + +public import Mathlib.Algebra.Homology.Embedding.ExtendHomology +public import Mathlib.Algebra.Homology.Embedding.TruncGE +public import Mathlib.Algebra.Homology.Embedding.RestrictionHomology +public import Mathlib.Algebra.Homology.QuasiIso /-! # The homology of a canonical truncation @@ -20,6 +22,8 @@ quasi-isomorphism in degree `e.f i` for all `i`. (Note that the complex -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/Embedding/TruncLE.lean b/Mathlib/Algebra/Homology/Embedding/TruncLE.lean index b648cb305d5c89..6444747a202b7b 100644 --- a/Mathlib/Algebra/Homology/Embedding/TruncLE.lean +++ b/Mathlib/Algebra/Homology/Embedding/TruncLE.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.TruncGE +module + +public import Mathlib.Algebra.Homology.Embedding.TruncGE /-! # The canonical truncation @@ -19,6 +21,8 @@ In order to achieve this, we dualize the constructions from the file -/ +@[expose] public section + open CategoryTheory Limits ZeroObject Category variable {ι ι' : Type*} {c : ComplexShape ι} {c' : ComplexShape ι'} diff --git a/Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean b/Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean index 91e2c63f869108..41673af10d152b 100644 --- a/Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean +++ b/Mathlib/Algebra/Homology/Embedding/TruncLEHomology.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Embedding.TruncGEHomology -import Mathlib.Algebra.Homology.Embedding.TruncLE -import Mathlib.Algebra.Homology.HomologySequence -import Mathlib.Algebra.Homology.ShortComplex.Abelian -import Mathlib.Algebra.Homology.HomologicalComplexAbelian +module + +public import Mathlib.Algebra.Homology.Embedding.TruncGEHomology +public import Mathlib.Algebra.Homology.Embedding.TruncLE +public import Mathlib.Algebra.Homology.HomologySequence +public import Mathlib.Algebra.Homology.ShortComplex.Abelian +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian /-! # The homology of a canonical truncation @@ -26,6 +28,8 @@ sequence `K.shortComplexTruncLE e` of the monomorphism `K.ιTruncLE e`. -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/ExactSequence.lean b/Mathlib/Algebra/Homology/ExactSequence.lean index bf75d7ca9a0402..60e40a9cc07329 100644 --- a/Mathlib/Algebra/Homology/ExactSequence.lean +++ b/Mathlib/Algebra/Homology/ExactSequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.CategoryTheory.ComposableArrows +module + +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.CategoryTheory.ComposableArrows /-! # Exact sequences @@ -25,6 +27,8 @@ Liquid Tensor Experiment as a property of lists in `Arrow C`. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/Algebra/Homology/Factorizations/Basic.lean b/Mathlib/Algebra/Homology/Factorizations/Basic.lean index 19078fd58e2dd8..c6e229baf513dc 100644 --- a/Mathlib/Algebra/Homology/Factorizations/Basic.lean +++ b/Mathlib/Algebra/Homology/Factorizations/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologicalComplex -import Mathlib.CategoryTheory.Abelian.EpiWithInjectiveKernel +module + +public import Mathlib.Algebra.Homology.HomologicalComplex +public import Mathlib.CategoryTheory.Abelian.EpiWithInjectiveKernel /-! # Basic definitions for factorizations lemmas @@ -32,6 +34,8 @@ of total derived functors (and a refactor of the sequence of derived functors). -/ +@[expose] public section + open CategoryTheory Abelian diff --git a/Mathlib/Algebra/Homology/Functor.lean b/Mathlib/Algebra/Homology/Functor.lean index 7560ad47ae5ed7..89b61c8d869691 100644 --- a/Mathlib/Algebra/Homology/Functor.lean +++ b/Mathlib/Algebra/Homology/Functor.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Homology.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.HomologicalComplex /-! # Complexes in functor categories @@ -16,6 +18,8 @@ In fact this is an equivalence of categories. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Homology/GrothendieckAbelian.lean b/Mathlib/Algebra/Homology/GrothendieckAbelian.lean index 933502df293a9a..b8b4b83b47da19 100644 --- a/Mathlib/Algebra/Homology/GrothendieckAbelian.lean +++ b/Mathlib/Algebra/Homology/GrothendieckAbelian.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic -import Mathlib.CategoryTheory.Generator.HomologicalComplex -import Mathlib.Algebra.Homology.HomologicalComplexAbelian +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +public import Mathlib.CategoryTheory.Generator.HomologicalComplex +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian /-! # Homological complexes in a Grothendieck abelian category @@ -17,6 +19,8 @@ category (with `IsGrothendieckAbelian.{w} C`), the category -/ +@[expose] public section + universe w w' t v u open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/HasNoLoop.lean b/Mathlib/Algebra/Homology/HasNoLoop.lean index adb8013b35d431..acf330fd8c150b 100644 --- a/Mathlib/Algebra/Homology/HasNoLoop.lean +++ b/Mathlib/Algebra/Homology/HasNoLoop.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ComplexShape -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Group.Nat.Defs +module + +public import Mathlib.Algebra.Homology.ComplexShape +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Group.Nat.Defs /-! # Complex shapes with no loop @@ -15,6 +17,8 @@ which expresses that `¬ c.Rel i i` for all `i : ι`. -/ +@[expose] public section + namespace ComplexShape variable {ι : Type*} diff --git a/Mathlib/Algebra/Homology/HomologicalBicomplex.lean b/Mathlib/Algebra/Homology/HomologicalBicomplex.lean index 5f533583540547..1f39036bbeaa11 100644 --- a/Mathlib/Algebra/Homology/HomologicalBicomplex.lean +++ b/Mathlib/Algebra/Homology/HomologicalBicomplex.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Homology.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.HomologicalComplex /-! # Bicomplexes @@ -21,6 +23,8 @@ which is obtained by exchanging the horizontal and vertical directions. -/ +@[expose] public section + open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/HomologicalComplex.lean b/Mathlib/Algebra/Homology/HomologicalComplex.lean index 41416a8feca1e4..ba6c106582302c 100644 --- a/Mathlib/Algebra/Homology/HomologicalComplex.lean +++ b/Mathlib/Algebra/Homology/HomologicalComplex.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison -/ -import Mathlib.Algebra.Homology.ComplexShape -import Mathlib.CategoryTheory.Subobject.Limits -import Mathlib.CategoryTheory.GradedObject -import Mathlib.Algebra.Homology.ShortComplex.Basic +module + +public import Mathlib.Algebra.Homology.ComplexShape +public import Mathlib.CategoryTheory.Subobject.Limits +public import Mathlib.CategoryTheory.GradedObject +public import Mathlib.Algebra.Homology.ShortComplex.Basic /-! # Homological complexes. @@ -34,6 +36,8 @@ Defined in terms of these we have `C.dFrom i : C.X i ⟶ C.xNext i` and `C.dTo j : C.xPrev j ⟶ C.X j`, which are either defined as `C.d i j`, or zero, as needed. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean b/Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean index b2edc9b29cd6df..8c45e9fe3ff119 100644 --- a/Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean +++ b/Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.Algebra.Homology.HomologicalComplexLimits -import Mathlib.Algebra.Homology.ShortComplex.ShortExact +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.Algebra.Homology.HomologicalComplexLimits +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact /-! # THe category of homological complexes is abelian @@ -17,6 +19,8 @@ is exact (resp. short exact) iff degreewise it is so. -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean b/Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean index a756748af1fe7b..f8f7c7f2b371f7 100644 --- a/Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean +++ b/Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologicalComplexLimits -import Mathlib.Algebra.Homology.Additive +module + +public import Mathlib.Algebra.Homology.HomologicalComplexLimits +public import Mathlib.Algebra.Homology.Additive /-! Binary biproducts of homological complexes @@ -14,6 +16,8 @@ a preadditive category are such that for all `i : ι`, the binary biproduct `biprodXIso K L i : (K ⊞ L).X i ≅ (K.X i) ⊞ (L.X i)`. -/ + +@[expose] public section open CategoryTheory Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/HomologicalComplexLimits.lean b/Mathlib/Algebra/Homology/HomologicalComplexLimits.lean index f8945bc3785c96..725a9b64c9bf91 100644 --- a/Mathlib/Algebra/Homology/HomologicalComplexLimits.lean +++ b/Mathlib/Algebra/Homology/HomologicalComplexLimits.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Single -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +module + +public import Mathlib.Algebra.Homology.Single +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono /-! # Limits and colimits in the category of homological complexes @@ -18,6 +20,8 @@ commute to these. -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/HomologySequence.lean b/Mathlib/Algebra/Homology/HomologySequence.lean index cfd2c61e4bf520..471dc4982f8776 100644 --- a/Mathlib/Algebra/Homology/HomologySequence.lean +++ b/Mathlib/Algebra/Homology/HomologySequence.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.Algebra.Homology.HomologicalComplexLimits +module + +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.Algebra.Homology.HomologicalComplexLimits /-! # The homology sequence @@ -29,6 +31,8 @@ the Liquid Tensor Experiment. -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/HomologySequenceLemmas.lean b/Mathlib/Algebra/Homology/HomologySequenceLemmas.lean index 26d1411fed80d2..57d73b87f81992 100644 --- a/Mathlib/Algebra/Homology/HomologySequenceLemmas.lean +++ b/Mathlib/Algebra/Homology/HomologySequenceLemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologySequence -import Mathlib.Algebra.Homology.QuasiIso -import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four +module + +public import Mathlib.Algebra.Homology.HomologySequence +public import Mathlib.Algebra.Homology.QuasiIso +public import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four /-! # Consequences of the homology sequence @@ -26,6 +28,8 @@ for `φ.τ₁` and `φ.τ₂` shall be also obtained (TODO). -/ +@[expose] public section + open CategoryTheory ComposableArrows Abelian namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/Homotopy.lean b/Mathlib/Algebra/Homology/Homotopy.lean index fb13ab7607a7cf..0eb0e3af6cfca0 100644 --- a/Mathlib/Algebra/Homology/Homotopy.lean +++ b/Mathlib/Algebra/Homology/Homotopy.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.Linear -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Homology.Linear +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Tactic.Abel /-! # Chain homotopies @@ -13,6 +15,8 @@ import Mathlib.Tactic.Abel We define chain homotopies, and prove that homotopic chain maps induce the same map on homology. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Algebra/Homology/HomotopyCategory.lean b/Mathlib/Algebra/Homology/HomotopyCategory.lean index ec3bb010b4fd2d..a5dd78f34cc955 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.Algebra.Homology.Linear -import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy -import Mathlib.CategoryTheory.Quotient.Linear -import Mathlib.CategoryTheory.Quotient.Preadditive +module + +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.Algebra.Homology.Linear +public import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy +public import Mathlib.CategoryTheory.Quotient.Linear +public import Mathlib.CategoryTheory.Quotient.Preadditive /-! # The homotopy category @@ -16,6 +18,8 @@ import Mathlib.CategoryTheory.Quotient.Preadditive with chain maps identified when they are homotopic. -/ +@[expose] public section + universe v u noncomputable section diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean b/Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean index ef8a657fb61232..6918863fceca6a 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated /-! # Degreewise split exact sequences of cochain complexes @@ -16,6 +18,8 @@ degreewise split short exact sequence of cochain complexes. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits Pretriangulated Preadditive diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean b/Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean index ee07d323f58644..8d6e33e82967f7 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.Tactic.Linarith /-! The cochain complex of homomorphisms between cochain complexes @@ -32,6 +34,8 @@ We follow the signs conventions appearing in the introduction of -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean b/Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean index 20852d174f983c..8d24794ae8c9ef 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex -import Mathlib.Algebra.Homology.HomotopyCategory.Shift -import Mathlib.Algebra.Module.Equiv.Basic +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex +public import Mathlib.Algebra.Homology.HomotopyCategory.Shift +public import Mathlib.Algebra.Module.Equiv.Basic /-! Shifting cochains @@ -28,6 +30,8 @@ appearing in the introduction of -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean b/Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean index 45a640e54f6c3c..d26057aee4b680 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologicalComplexAbelian -import Mathlib.Algebra.Homology.HomotopyCategory.DegreewiseSplit -import Mathlib.Algebra.Homology.HomologySequence -import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor +module + +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian +public import Mathlib.Algebra.Homology.HomotopyCategory.DegreewiseSplit +public import Mathlib.Algebra.Homology.HomologySequence +public import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor /-! The homological functor @@ -19,6 +21,8 @@ sequence of a short exact sequences of homological complexes. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean b/Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean index 46f0156a512a1c..2b6d56affdca70 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex -import Mathlib.Algebra.Homology.HomotopyCofiber +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.HomComplex +public import Mathlib.Algebra.Homology.HomotopyCofiber /-! # The mapping cone of a morphism of cochain complexes @@ -18,6 +20,8 @@ we redefine it as `CochainComplex.mappingCone φ`. The API involves definitions -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean b/Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean index c08f20e5881923..e3385de2052cb6 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.MappingCone -import Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift -import Mathlib.CategoryTheory.Triangulated.Functor +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.MappingCone +public import Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift +public import Mathlib.CategoryTheory.Triangulated.Functor /-! The pretriangulated structure on the homotopy category of complexes @@ -30,6 +32,8 @@ complexes. Here, we follow the original definitions in [Verdiers's thesis, I.3][ -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits CochainComplex.HomComplex Pretriangulated diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean b/Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean index 171308975c5bfe..e79a8d3199e67d 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.CategoryTheory.Shift.Quotient -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Algebra.Homology.HomotopyCategory +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.CategoryTheory.Shift.Quotient +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.Tactic.Linarith /-! # The shift on cochain complexes and on the homotopy category @@ -22,6 +24,8 @@ We also show that if `F : C ⥤ D` is an additive functor, then the functors -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe v v' u u' diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean b/Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean index 2e2d7061454fd0..f0a117f79beecc 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.InducedShiftSequence -import Mathlib.CategoryTheory.Shift.Localization -import Mathlib.Algebra.Homology.HomotopyCategory.Shift -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Homology.QuasiIso +module + +public import Mathlib.CategoryTheory.Shift.InducedShiftSequence +public import Mathlib.CategoryTheory.Shift.Localization +public import Mathlib.Algebra.Homology.HomotopyCategory.Shift +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Homology.QuasiIso /-! # Compatibilities of the homology functor with the shift @@ -19,6 +21,8 @@ and `HomotopyCategory` namespaces. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category ComplexShape Limits diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean b/Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean index 068383c07235be..9e4f58ea223ab6 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor -import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence -import Mathlib.Algebra.Homology.HomologySequenceLemmas -import Mathlib.Algebra.Homology.Refinements +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.HomologicalFunctor +public import Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence +public import Mathlib.Algebra.Homology.HomologySequenceLemmas +public import Mathlib.Algebra.Homology.Refinements /-! # The mapping cone of a monomorphism, up to a quasi-isomophism @@ -20,6 +22,8 @@ distinguished triangle attached to the mapping cone of `S.f`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category ComplexShape HomotopyCategory Limits diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean b/Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean index c02a1b34e48881..c154e4096270ed 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.Shift -import Mathlib.CategoryTheory.Shift.SingleFunctors +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.Shift +public import Mathlib.CategoryTheory.Shift.SingleFunctors /-! # Single functors from the homotopy category @@ -18,6 +20,8 @@ Similarly, we define -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe v' u' v u diff --git a/Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean b/Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean index c991b5e0bc9075..37d530df42ccea 100644 --- a/Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean +++ b/Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated -import Mathlib.CategoryTheory.Triangulated.Triangulated -import Mathlib.CategoryTheory.ComposableArrows +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.Pretriangulated +public import Mathlib.CategoryTheory.Triangulated.Triangulated +public import Mathlib.CategoryTheory.ComposableArrows /-! The triangulated structure on the homotopy category of complexes @@ -14,6 +16,8 @@ the pretriangulated category `HomotopyCategory C (ComplexShape.up ℤ)` is trian -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits Pretriangulated ComposableArrows diff --git a/Mathlib/Algebra/Homology/HomotopyCofiber.lean b/Mathlib/Algebra/Homology/HomotopyCofiber.lean index 7b3528c1e8a987..95b4dc04e34bd5 100644 --- a/Mathlib/Algebra/Homology/HomotopyCofiber.lean +++ b/Mathlib/Algebra/Homology/HomotopyCofiber.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomologicalComplexBiprod -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy +module + +public import Mathlib.Algebra.Homology.HomologicalComplexBiprod +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy /-! The homotopy cofiber of a morphism of homological complexes @@ -34,6 +36,8 @@ two homotopic maps are equal. -/ +@[expose] public section + open CategoryTheory Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/ImageToKernel.lean b/Mathlib/Algebra/Homology/ImageToKernel.lean index 17648736e62467..94227d6fadeb55 100644 --- a/Mathlib/Algebra/Homology/ImageToKernel.lean +++ b/Mathlib/Algebra/Homology/ImageToKernel.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.Limits +module + +public import Mathlib.CategoryTheory.Subobject.Limits /-! # Image-to-kernel comparison maps @@ -16,6 +18,8 @@ we have `image_le_kernel f g w : imageSubobject f ≤ kernelSubobject g` -/ +@[expose] public section + universe v u w open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/Algebra/Homology/Linear.lean b/Mathlib/Algebra/Homology/Linear.lean index de6efcb8254fb6..0390b83d5bc933 100644 --- a/Mathlib/Algebra/Homology/Linear.lean +++ b/Mathlib/Algebra/Homology/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.CategoryTheory.Linear.LinearFunctor +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.CategoryTheory.Linear.LinearFunctor /-! # The category of homological complexes is linear @@ -19,6 +21,8 @@ for short complexes in `Mathlib/Algebra/Homology/ShortComplex/Linear.lean`) -/ +@[expose] public section + open CategoryTheory variable {R : Type*} [Semiring R] {C D : Type*} [Category C] [Preadditive C] diff --git a/Mathlib/Algebra/Homology/LocalCohomology.lean b/Mathlib/Algebra/Homology/LocalCohomology.lean index aa37a44d6dfb2a..4d0311a8919cab 100644 --- a/Mathlib/Algebra/Homology/LocalCohomology.lean +++ b/Mathlib/Algebra/Homology/LocalCohomology.lean @@ -3,14 +3,16 @@ Copyright (c) 2023 Emily Witt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Emily Witt, Kim Morrison, Jake Levinson, Sam van Gool -/ -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.Projective -import Mathlib.CategoryTheory.Abelian.Ext -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Projective +public import Mathlib.CategoryTheory.Abelian.Ext +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Noetherian.Defs /-! # Local cohomology. @@ -45,6 +47,8 @@ local cohomology, local cohomology modules * Establish long exact sequence(s) in local cohomology -/ +@[expose] public section + open Opposite diff --git a/Mathlib/Algebra/Homology/Localization.lean b/Mathlib/Algebra/Homology/Localization.lean index f5623647aa5d54..84c7495341a358 100644 --- a/Mathlib/Algebra/Homology/Localization.lean +++ b/Mathlib/Algebra/Homology/Localization.lean @@ -3,12 +3,13 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.HomotopyCofiber -import Mathlib.Algebra.Homology.HomotopyCategory -import Mathlib.Algebra.Homology.QuasiIso -import Mathlib.CategoryTheory.Localization.Composition -import Mathlib.CategoryTheory.Localization.HasLocalization +public import Mathlib.Algebra.Homology.HomotopyCofiber +public import Mathlib.Algebra.Homology.HomotopyCategory +public import Mathlib.Algebra.Homology.QuasiIso +public import Mathlib.CategoryTheory.Localization.Composition +public import Mathlib.CategoryTheory.Localization.HasLocalization /-! The category of homological complexes up to quasi-isomorphisms @@ -25,6 +26,8 @@ the class of quasi-isomorphisms. -/ +@[expose] public section + open CategoryTheory Limits section diff --git a/Mathlib/Algebra/Homology/Monoidal.lean b/Mathlib/Algebra/Homology/Monoidal.lean index 1c0de7e8b2eac4..8277b973e19aac 100644 --- a/Mathlib/Algebra/Homology/Monoidal.lean +++ b/Mathlib/Algebra/Homology/Monoidal.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Kim Morrison -/ -import Mathlib.Algebra.Homology.BifunctorAssociator -import Mathlib.Algebra.Homology.Single -import Mathlib.CategoryTheory.GradedObject.Monoidal -import Mathlib.CategoryTheory.Monoidal.Transport +module + +public import Mathlib.Algebra.Homology.BifunctorAssociator +public import Mathlib.Algebra.Homology.Single +public import Mathlib.CategoryTheory.GradedObject.Monoidal +public import Mathlib.CategoryTheory.Monoidal.Transport /-! # The monoidal category structure on homological complexes @@ -22,6 +24,8 @@ In particular, we obtain a monoidal category structure on -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Limits MonoidalCategory Category diff --git a/Mathlib/Algebra/Homology/Opposite.lean b/Mathlib/Algebra/Homology/Opposite.lean index f4f44ae3d11b6d..a8e7f04181fc5d 100644 --- a/Mathlib/Algebra/Homology/Opposite.lean +++ b/Mathlib/Algebra/Homology/Opposite.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Amelia Livingston, Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.Opposite -import Mathlib.Algebra.Homology.Additive -import Mathlib.Algebra.Homology.ImageToKernel -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Homology.QuasiIso +module + +public import Mathlib.CategoryTheory.Abelian.Opposite +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.Algebra.Homology.ImageToKernel +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Homology.QuasiIso /-! # Opposite categories of complexes @@ -27,6 +29,8 @@ It is convenient to define both `op` and `opSymm`; this is because given a compl opposite, chain complex, cochain complex, homology, cohomology, homological complex -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Homology/QuasiIso.lean b/Mathlib/Algebra/Homology/QuasiIso.lean index e871785a0879c1..647d30b7cea4b0 100644 --- a/Mathlib/Algebra/Homology/QuasiIso.lean +++ b/Mathlib/Algebra/Homology/QuasiIso.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.Algebra.Homology.ShortComplex.Retract -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.Algebra.Homology.ShortComplex.Retract +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Quasi-isomorphisms @@ -14,6 +16,8 @@ A chain map is a quasi-isomorphism if it induces isomorphisms on homology. -/ +@[expose] public section + open CategoryTheory Limits diff --git a/Mathlib/Algebra/Homology/Refinements.lean b/Mathlib/Algebra/Homology/Refinements.lean index a2c442807fce7b..718d0abfb692d7 100644 --- a/Mathlib/Algebra/Homology/Refinements.lean +++ b/Mathlib/Algebra/Homology/Refinements.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Abelian.Refinements -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.CategoryTheory.Abelian.Refinements +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex /-! # Refinements @@ -17,6 +18,8 @@ in the file `CategoryTheory.Abelian.Refinements`. -/ +@[expose] public section + open CategoryTheory variable {C ι : Type*} [Category C] [Abelian C] {c : ComplexShape ι} diff --git a/Mathlib/Algebra/Homology/ShortComplex/Ab.lean b/Mathlib/Algebra/Homology/ShortComplex/Ab.lean index 39c37eabd511e8..bf20ebe15ebd98 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Ab.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Ab.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.Algebra.Category.Grp.Kernels -import Mathlib.Algebra.Exact +module + +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.Algebra.Category.Grp.Kernels +public import Mathlib.Algebra.Exact /-! # Homology and exactness of short complexes of abelian groups @@ -27,6 +29,8 @@ is exact iff any element in the kernel of `S.g` belongs to the image of `S.f`. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/Algebra/Homology/ShortComplex/Abelian.lean b/Mathlib/Algebra/Homology/ShortComplex/Abelian.lean index 806aabbe913404..56759f82a449c4 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Abelian.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Abelian.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.Homology -import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.Algebra.Homology.ShortComplex.Homology +public import Mathlib.CategoryTheory.Abelian.Basic /-! # Abelian categories have homology @@ -25,6 +26,8 @@ coimage-image isomorphism in abelian categories. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/Algebra/Homology/ShortComplex/Basic.lean b/Mathlib/Algebra/Homology/ShortComplex/Basic.lean index 36cc7cbe1cece2..0ad27a7eb87dfc 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Basic.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Basic.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero /-! # Short complexes @@ -17,6 +18,8 @@ the Liquid Tensor Experiment. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean b/Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean index 7bbabbd2b3a1cc..9d1c9129b87262 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Ab -import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor -import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma -import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory +module + +public import Mathlib.Algebra.Homology.ShortComplex.Ab +public import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor +public import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma +public import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory /-! # Exactness of short complexes in concrete abelian categories @@ -17,6 +19,8 @@ if and only if it is so after applying the functor `forget₂ C Ab`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/Algebra/Homology/ShortComplex/Exact.lean b/Mathlib/Algebra/Homology/ShortComplex/Exact.lean index e53f58b11fabdf..3ec96e9585364d 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Exact.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Exact.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology -import Mathlib.Algebra.Homology.ShortComplex.Abelian -import Mathlib.Algebra.Homology.ShortComplex.QuasiIso -import Mathlib.CategoryTheory.Abelian.Opposite -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Preadditive.Injective.Basic +module + +public import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology +public import Mathlib.Algebra.Homology.ShortComplex.Abelian +public import Mathlib.Algebra.Homology.ShortComplex.QuasiIso +public import Mathlib.CategoryTheory.Abelian.Opposite +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic /-! # Exact short complexes @@ -24,6 +26,8 @@ see `Exact.op` and `Exact.unop`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits ZeroObject Preadditive diff --git a/Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean b/Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean index 3afb0951d6c3c0..c41ef43328f08e 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Jujian Zhang -/ -import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.Algebra.Homology.ShortComplex.Abelian -import Mathlib.CategoryTheory.Preadditive.LeftExact -import Mathlib.CategoryTheory.Abelian.Exact +module + +public import Mathlib.Algebra.Homology.ShortComplex.PreservesHomology +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.Algebra.Homology.ShortComplex.Abelian +public import Mathlib.CategoryTheory.Preadditive.LeftExact +public import Mathlib.CategoryTheory.Abelian.Exact /-! # Exact functors @@ -51,6 +53,8 @@ If we further assume that `C` and `D` are abelian categories, then we have: -/ +@[expose] public section + namespace CategoryTheory open Limits ZeroObject ShortComplex diff --git a/Mathlib/Algebra/Homology/ShortComplex/FunctorEquivalence.lean b/Mathlib/Algebra/Homology/ShortComplex/FunctorEquivalence.lean index 15a90653ba4433..28dba65cb421ff 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/FunctorEquivalence.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/FunctorEquivalence.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Basic +module + +public import Mathlib.Algebra.Homology.ShortComplex.Basic /-! # Short complexes in functor categories @@ -14,6 +16,8 @@ that `C` has zero morphisms), then there is an equivalence of categories -/ +@[expose] public section + namespace CategoryTheory open Limits Functor diff --git a/Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean b/Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean index 410c9d12e87620..b70883623353b6 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.Algebra.Homology.ShortComplex.Preadditive -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.Algebra.Homology.ShortComplex.Preadditive +public import Mathlib.Tactic.Linarith /-! # The short complexes attached to homological complexes @@ -22,6 +24,8 @@ abbreviated as `K.sc i`. -/ +@[expose] public section + open CategoryTheory Category Limits namespace HomologicalComplex diff --git a/Mathlib/Algebra/Homology/ShortComplex/Homology.lean b/Mathlib/Algebra/Homology/ShortComplex/Homology.lean index 7ddc33c1507cc2..9e6e894cf682a7 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Homology.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Homology.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.RightHomology +public import Mathlib.Algebra.Homology.ShortComplex.RightHomology /-! # Homology of short complexes @@ -31,6 +32,8 @@ such a structure could be used as a basis for the *definition* of homology. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean b/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean index 96ad4a0fed3dc3..e9643333f7a41d 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.Algebra.Homology.ShortComplex.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # Left Homology of short complexes @@ -29,6 +30,8 @@ and `S.homology`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/Limits.lean b/Mathlib/Algebra/Homology/ShortComplex/Limits.lean index a8946c6f93022c..bad65b20159f97 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Limits.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Limits.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Basic -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Preserves.Finite +module + +public import Mathlib.Algebra.Homology.ShortComplex.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Preserves.Finite /-! # Limits and colimits in the category of short complexes @@ -16,6 +18,8 @@ of a certain shape `J`, then it is also the case of the category `ShortComplex C -/ +@[expose] public section + namespace CategoryTheory open Category Limits Functor diff --git a/Mathlib/Algebra/Homology/ShortComplex/Linear.lean b/Mathlib/Algebra/Homology/ShortComplex/Linear.lean index 7d76eeebfd50b8..328d8592eaf833 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Linear.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Preadditive -import Mathlib.CategoryTheory.Linear.LinearFunctor +module + +public import Mathlib.Algebra.Homology.ShortComplex.Preadditive +public import Mathlib.CategoryTheory.Linear.LinearFunctor /-! # Homology of linear categories @@ -15,6 +17,8 @@ are also shown to be linear. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean b/Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean index 4e5c90c2d10a85..4c92f642260681 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory -import Mathlib.Algebra.Category.ModuleCat.Colimits +module + +public import Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory +public import Mathlib.Algebra.Category.ModuleCat.Colimits /-! # Homology and exactness of short complexes of modules @@ -15,6 +17,8 @@ with the quotient of `LinearMap.ker S.g` by the image of the morphism -/ +@[expose] public section + universe v u variable {R : Type u} [Ring R] diff --git a/Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean b/Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean index 83532e5e699910..581779cd987c36 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Homology -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Preadditive.Opposite +module + +public import Mathlib.Algebra.Homology.ShortComplex.Homology +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Preadditive.Opposite /-! # Homology of preadditive categories @@ -15,6 +17,8 @@ In this file, it is shown that if `C` is a preadditive category, then -/ +@[expose] public section + namespace CategoryTheory open Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean b/Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean index 0450a0b845370a..eb68a509223a31 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.QuasiIso -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +public import Mathlib.Algebra.Homology.ShortComplex.QuasiIso +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels /-! # Functors which preserves homology @@ -23,6 +24,8 @@ is part of the natural isomorphism `homologyFunctorIso F` between the functors -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean b/Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean index 060f915f097a53..4d74226954f4c9 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.Homology +public import Mathlib.Algebra.Homology.ShortComplex.Homology /-! # Quasi-isomorphisms of short complexes @@ -15,6 +16,8 @@ morphism `homologyMap φ` in homology is an isomorphism. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/Retract.lean b/Mathlib/Algebra/Homology/ShortComplex/Retract.lean index 6a83271823fd11..a4f92814a265c3 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/Retract.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/Retract.lean @@ -3,15 +3,18 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.QuasiIso -import Mathlib.CategoryTheory.MorphismProperty.Retract +public import Mathlib.Algebra.Homology.ShortComplex.QuasiIso +public import Mathlib.CategoryTheory.MorphismProperty.Retract /-! # Quasi-isomorphisms of short complexes are stable under retracts -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean b/Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean index 7274b0d47b5c93..659791ae7f93ec 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Homology.ShortComplex.LeftHomology -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Kernels +public import Mathlib.Algebra.Homology.ShortComplex.LeftHomology +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Kernels /-! # Right Homology of short complexes @@ -27,6 +28,8 @@ In `Homology.lean`, when `S` has two compatible left and right homology data -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean b/Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean index 26e0b933d82822..5be291aae384c8 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.CategoryTheory.Preadditive.Injective.Basic +module + +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic /-! # Short exact short complexes @@ -14,6 +16,8 @@ A short complex `S : ShortComplex C` is short exact (`S.ShortExact`) when it is -/ +@[expose] public section + namespace CategoryTheory open Category Limits ZeroObject diff --git a/Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean b/Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean index 58f7cf3f80bdcb..9fe3cb59f18887 100644 --- a/Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean +++ b/Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ExactSequence -import Mathlib.Algebra.Homology.ShortComplex.Limits -import Mathlib.CategoryTheory.Abelian.Refinements +module + +public import Mathlib.Algebra.Homology.ExactSequence +public import Mathlib.Algebra.Homology.ShortComplex.Limits +public import Mathlib.CategoryTheory.Abelian.Refinements /-! # The snake lemma @@ -45,6 +47,8 @@ the other half by arguing in the opposite category), and the use of "refinements -/ +@[expose] public section + namespace CategoryTheory open Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/Single.lean b/Mathlib/Algebra/Homology/Single.lean index 7c78d117083b85..d402c719905faf 100644 --- a/Mathlib/Algebra/Homology/Single.lean +++ b/Mathlib/Algebra/Homology/Single.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.HomologicalComplex /-! # Homological complexes supported in a single degree @@ -19,6 +21,8 @@ an augmented exact complex of projectives.) -/ +@[expose] public section + open CategoryTheory Category Limits ZeroObject universe v u diff --git a/Mathlib/Algebra/Homology/SingleHomology.lean b/Mathlib/Algebra/Homology/SingleHomology.lean index ad3cb61fb37010..b586a7c0762586 100644 --- a/Mathlib/Algebra/Homology/SingleHomology.lean +++ b/Mathlib/Algebra/Homology/SingleHomology.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Single -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +module + +public import Mathlib.Algebra.Homology.Single +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex /-! # The homology of single complexes @@ -13,6 +15,8 @@ which is a natural isomorphism `single C c j ⋙ homologyFunctor C c j ≅ 𝟭 -/ +@[expose] public section + universe v u open CategoryTheory Category Limits ZeroObject diff --git a/Mathlib/Algebra/Homology/Square.lean b/Mathlib/Algebra/Homology/Square.lean index 774d7fff375139..c26606ac039306 100644 --- a/Mathlib/Algebra/Homology/Square.lean +++ b/Mathlib/Algebra/Homology/Square.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square +module + +public import Mathlib.Algebra.Homology.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square /-! # Relation between pullback/pushout squares and kernel/cokernel sequences @@ -14,6 +16,8 @@ The same results are obtained here for squares `sq : Square C` where `C` is an additive category. -/ + +@[expose] public section namespace CategoryTheory open Category Limits diff --git a/Mathlib/Algebra/Homology/TotalComplex.lean b/Mathlib/Algebra/Homology/TotalComplex.lean index 575e571cb1ac19..6c29787d34cdee 100644 --- a/Mathlib/Algebra/Homology/TotalComplex.lean +++ b/Mathlib/Algebra/Homology/TotalComplex.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.Algebra.Homology.ComplexShapeSigns -import Mathlib.Algebra.Homology.HomologicalBicomplex -import Mathlib.Algebra.Module.Basic +module + +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.Algebra.Homology.ComplexShapeSigns +public import Mathlib.Algebra.Homology.HomologicalBicomplex +public import Mathlib.Algebra.Module.Basic /-! # The total complex of a bicomplex @@ -25,6 +27,8 @@ differentials `(K.X p).X q ⟶ (K.X p).X (q + 1)`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category Limits Preadditive diff --git a/Mathlib/Algebra/Homology/TotalComplexShift.lean b/Mathlib/Algebra/Homology/TotalComplexShift.lean index 05ca61967b97b0..b218b0c9c67b00 100644 --- a/Mathlib/Algebra/Homology/TotalComplexShift.lean +++ b/Mathlib/Algebra/Homology/TotalComplexShift.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.HomotopyCategory.Shift -import Mathlib.Algebra.Homology.TotalComplex +module + +public import Mathlib.Algebra.Homology.HomotopyCategory.Shift +public import Mathlib.Algebra.Homology.TotalComplex /-! # Behaviour of the total complex with respect to shifts @@ -33,6 +35,8 @@ these two compositions of isomorphisms differ by the sign `(x * y).negOnePow`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Category ComplexShape Limits diff --git a/Mathlib/Algebra/Homology/TotalComplexSymmetry.lean b/Mathlib/Algebra/Homology/TotalComplexSymmetry.lean index 055aafaffef784..8cdbfd98887171 100644 --- a/Mathlib/Algebra/Homology/TotalComplexSymmetry.lean +++ b/Mathlib/Algebra/Homology/TotalComplexSymmetry.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.TotalComplex +module + +public import Mathlib.Algebra.Homology.TotalComplex /-! The symmetry of the total complex of a bicomplex @@ -20,6 +22,8 @@ are compatible `[TotalComplexShapeSymmetrySymmetry c₁ c₂ c]`, then the isomo -/ +@[expose] public section + assert_not_exists Ideal TwoSidedIdeal open CategoryTheory Category Limits diff --git a/Mathlib/Algebra/IsPrimePow.lean b/Mathlib/Algebra/IsPrimePow.lean index b214305a96c43f..e629c55de51868 100644 --- a/Mathlib/Algebra/IsPrimePow.lean +++ b/Mathlib/Algebra/IsPrimePow.lean @@ -3,17 +3,21 @@ Copyright (c) 2022 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Order.Nat -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.Nat.Log -import Mathlib.Data.Nat.Prime.Pow +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Order.Nat +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.Nat.Log +public import Mathlib.Data.Nat.Prime.Pow /-! # Prime powers This file deals with prime powers: numbers which are positive integer powers of a single prime. -/ + +@[expose] public section assert_not_exists Nat.divisors variable {R : Type*} [CommMonoidWithZero R] (n p : R) (k : ℕ) diff --git a/Mathlib/Algebra/Jordan/Basic.lean b/Mathlib/Algebra/Jordan/Basic.lean index 7a7f365c2cc807..ec28c2bd0ed857 100644 --- a/Mathlib/Algebra/Jordan/Basic.lean +++ b/Mathlib/Algebra/Jordan/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Lie.OfAssociative +module + +public import Mathlib.Algebra.Lie.OfAssociative /-! # Jordan rings @@ -71,6 +73,8 @@ Non-commutative Jordan algebras have connections to the Vidav-Palmer theorem -/ +@[expose] public section + variable (A : Type*) diff --git a/Mathlib/Algebra/Lie/Abelian.lean b/Mathlib/Algebra/Lie/Abelian.lean index b26e28a712bf96..c27fd07068be1b 100644 --- a/Mathlib/Algebra/Lie/Abelian.lean +++ b/Mathlib/Algebra/Lie/Abelian.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.IdealOperations +module + +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.IdealOperations /-! # Trivial Lie modules and Abelian Lie algebras @@ -29,6 +31,8 @@ In this file we define these concepts and provide some related definitions and r lie algebra, abelian, commutative, center -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/BaseChange.lean b/Mathlib/Algebra/Lie/BaseChange.lean index 3637f4c92c0e60..04c38dbf92dc44 100644 --- a/Mathlib/Algebra/Lie/BaseChange.lean +++ b/Mathlib/Algebra/Lie/BaseChange.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Algebra.Lie.TensorProduct +module + +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Algebra.Lie.TensorProduct /-! # Extension and restriction of scalars for Lie algebras and Lie modules @@ -23,6 +25,8 @@ scalars. lie ring, lie algebra, extension of scalars, restriction of scalars, base change -/ +@[expose] public section + open scoped TensorProduct variable (R A L M : Type*) diff --git a/Mathlib/Algebra/Lie/Basic.lean b/Mathlib/Algebra/Lie/Basic.lean index 8384962a41362a..4019629c8d37d0 100644 --- a/Mathlib/Algebra/Lie/Basic.lean +++ b/Mathlib/Algebra/Lie/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Module.Submodule.Equiv -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.Rat -import Mathlib.Data.Bracket -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Module.Submodule.Equiv +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Data.Bracket +public import Mathlib.Tactic.Abel /-! # Lie algebras @@ -47,6 +49,8 @@ are partially unbundled. lie bracket, jacobi identity, lie ring, lie algebra, lie module -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/CartanExists.lean b/Mathlib/Algebra/Lie/CartanExists.lean index 8a8303707c7a24..3ba4494efdfbdc 100644 --- a/Mathlib/Algebra/Lie/CartanExists.lean +++ b/Mathlib/Algebra/Lie/CartanExists.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ +module -import Mathlib.Algebra.Lie.CartanSubalgebra -import Mathlib.Algebra.Lie.Rank +public import Mathlib.Algebra.Lie.CartanSubalgebra +public import Mathlib.Algebra.Lie.Rank /-! # Existence of Cartan subalgebras @@ -27,6 +28,8 @@ following [barnes1967]. -/ +@[expose] public section + namespace LieAlgebra section CommRing diff --git a/Mathlib/Algebra/Lie/CartanMatrix.lean b/Mathlib/Algebra/Lie/CartanMatrix.lean index 9e06cf1a505975..670aeec234189d 100644 --- a/Mathlib/Algebra/Lie/CartanMatrix.lean +++ b/Mathlib/Algebra/Lie/CartanMatrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Free -import Mathlib.Algebra.Lie.Quotient -import Mathlib.LinearAlgebra.Matrix.Notation +module + +public import Mathlib.Algebra.Lie.Free +public import Mathlib.Algebra.Lie.Quotient +public import Mathlib.LinearAlgebra.Matrix.Notation /-! # Lie algebras from Cartan matrices @@ -78,6 +80,8 @@ exceptional semisimple Lie algebras. lie algebra, semi-simple, cartan matrix -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Lie/CartanSubalgebra.lean b/Mathlib/Algebra/Lie/CartanSubalgebra.lean index 234bcfa6a066ca..edcb3343555956 100644 --- a/Mathlib/Algebra/Lie/CartanSubalgebra.lean +++ b/Mathlib/Algebra/Lie/CartanSubalgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Nilpotent -import Mathlib.Algebra.Lie.Normalizer +module + +public import Mathlib.Algebra.Lie.Nilpotent +public import Mathlib.Algebra.Lie.Normalizer /-! # Cartan subalgebras @@ -23,6 +25,8 @@ The standard example is the set of diagonal matrices in the Lie algebra of matri lie subalgebra, normalizer, idealizer, cartan subalgebra -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Character.lean b/Mathlib/Algebra/Lie/Character.lean index e885196d2ff3a1..ce7bd0251342c2 100644 --- a/Mathlib/Algebra/Lie/Character.lean +++ b/Mathlib/Algebra/Lie/Character.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Abelian -import Mathlib.Algebra.Lie.Solvable -import Mathlib.LinearAlgebra.Dual.Defs +module + +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.Algebra.Lie.Solvable +public import Mathlib.LinearAlgebra.Dual.Defs /-! # Characters of Lie algebras @@ -24,6 +26,8 @@ algebra (e.g., a Cartan subalgebra of a semisimple Lie algebra) a character is j lie algebra, lie character -/ +@[expose] public section + universe u v w w₁ diff --git a/Mathlib/Algebra/Lie/Classical.lean b/Mathlib/Algebra/Lie/Classical.lean index 571493849a3c04..6e5d8f23a2dda6 100644 --- a/Mathlib/Algebra/Lie/Classical.lean +++ b/Mathlib/Algebra/Lie/Classical.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.DMatrix -import Mathlib.Algebra.Lie.Abelian -import Mathlib.LinearAlgebra.Matrix.Trace -import Mathlib.Algebra.Lie.SkewAdjoint -import Mathlib.LinearAlgebra.SymplecticGroup +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.DMatrix +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.LinearAlgebra.Matrix.Trace +public import Mathlib.Algebra.Lie.SkewAdjoint +public import Mathlib.LinearAlgebra.SymplecticGroup /-! # Classical Lie algebras @@ -63,6 +65,8 @@ definitions are equivalent. Similarly for the algebras of type `B`. classical lie algebra, special linear, symplectic, orthogonal -/ +@[expose] public section + universe u₁ u₂ diff --git a/Mathlib/Algebra/Lie/Cochain.lean b/Mathlib/Algebra/Lie/Cochain.lean index 55e2701f4f3736..83486d77d71245 100644 --- a/Mathlib/Algebra/Lie/Cochain.lean +++ b/Mathlib/Algebra/Lie/Cochain.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Lie.Abelian +module + +public import Mathlib.Algebra.Lie.Abelian /-! # Lie algebra cohomology in low degree @@ -28,6 +30,8 @@ general theory of Lie algebra cohomology. -/ +@[expose] public section + namespace LieModule.Cohomology variable (R : Type*) [CommRing R] diff --git a/Mathlib/Algebra/Lie/Derivation/AdjointAction.lean b/Mathlib/Algebra/Lie/Derivation/AdjointAction.lean index c960d0e005a95d..e8b2cd9cc6b5d2 100644 --- a/Mathlib/Algebra/Lie/Derivation/AdjointAction.lean +++ b/Mathlib/Algebra/Lie/Derivation/AdjointAction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Frédéric Marbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Marbach -/ -import Mathlib.Algebra.Lie.Abelian -import Mathlib.Algebra.Lie.Derivation.Basic -import Mathlib.Algebra.Lie.OfAssociative +module + +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.Algebra.Lie.Derivation.Basic +public import Mathlib.Algebra.Lie.OfAssociative /-! # Adjoint action of a Lie algebra on itself @@ -28,6 +30,8 @@ values in the endormophisms of `L`. derivations. -/ +@[expose] public section + namespace LieDerivation section AdjointAction diff --git a/Mathlib/Algebra/Lie/Derivation/Basic.lean b/Mathlib/Algebra/Lie/Derivation/Basic.lean index 5295f9ff2829d6..81fd2c783ad983 100644 --- a/Mathlib/Algebra/Lie/Derivation/Basic.lean +++ b/Mathlib/Algebra/Lie/Derivation/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Frédéric Marbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Marbach -/ -import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.Subalgebra -import Mathlib.RingTheory.Nilpotent.Exp -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.Subalgebra +public import Mathlib.RingTheory.Nilpotent.Exp +public import Mathlib.RingTheory.Noetherian.Basic /-! # Lie derivations @@ -36,6 +38,8 @@ the `RingTheory.Derivation.Basic.lean` file. as `- [b, D a]`. Within Lie algebras, skew symmetry restores the expected definition `[D a, b]`. -/ +@[expose] public section + /-- A Lie derivation `D` from the Lie `R`-algebra `L` to the `L`-module `M` is an `R`-linear map that satisfies the Leibniz rule `D [a, b] = [a, D b] - [b, D a]`. -/ structure LieDerivation (R L M : Type*) [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/Derivation/Killing.lean b/Mathlib/Algebra/Lie/Derivation/Killing.lean index 49006f10b65c64..349b027f975985 100644 --- a/Mathlib/Algebra/Lie/Derivation/Killing.lean +++ b/Mathlib/Algebra/Lie/Derivation/Killing.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Frédéric Marbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Marbach -/ -import Mathlib.Algebra.Lie.Derivation.AdjointAction -import Mathlib.Algebra.Lie.Killing -import Mathlib.LinearAlgebra.BilinearForm.Orthogonal +module + +public import Mathlib.Algebra.Lie.Derivation.AdjointAction +public import Mathlib.Algebra.Lie.Killing +public import Mathlib.LinearAlgebra.BilinearForm.Orthogonal /-! # Derivations of finite-dimensional Killing Lie algebras @@ -23,6 +25,8 @@ Killing form, the range of the adjoint action is full, Killing form, any derivation is an inner derivation. -/ +@[expose] public section + namespace LieDerivation.IsKilling section diff --git a/Mathlib/Algebra/Lie/DirectSum.lean b/Mathlib/Algebra/Lie/DirectSum.lean index 238f119db8ff42..cd8423431e6c9d 100644 --- a/Mathlib/Algebra/Lie/DirectSum.lean +++ b/Mathlib/Algebra/Lie/DirectSum.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.Ideal -import Mathlib.Algebra.Lie.Basic +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.Ideal +public import Mathlib.Algebra.Lie.Basic /-! # Direct sums of Lie algebras and Lie modules @@ -18,6 +20,8 @@ Direct sums of Lie algebras and Lie modules carry natural algebra and module str lie algebra, lie module, direct sum -/ +@[expose] public section + universe u v w w₁ diff --git a/Mathlib/Algebra/Lie/Engel.lean b/Mathlib/Algebra/Lie/Engel.lean index 2eab6636cfff87..40c531daad0b0d 100644 --- a/Mathlib/Algebra/Lie/Engel.lean +++ b/Mathlib/Algebra/Lie/Engel.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Nilpotent -import Mathlib.Algebra.Lie.Normalizer +module + +public import Mathlib.Algebra.Lie.Nilpotent +public import Mathlib.Algebra.Lie.Normalizer /-! # Engel's theorem @@ -64,6 +66,8 @@ into a single statement about nilpotency of Lie modules. This is not usually emp -/ +@[expose] public section + universe u₁ u₂ u₃ u₄ diff --git a/Mathlib/Algebra/Lie/EngelSubalgebra.lean b/Mathlib/Algebra/Lie/EngelSubalgebra.lean index f925ebd6087b61..831001f70b6c37 100644 --- a/Mathlib/Algebra/Lie/EngelSubalgebra.lean +++ b/Mathlib/Algebra/Lie/EngelSubalgebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Lie.Engel -import Mathlib.Algebra.Lie.Normalizer -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.Subalgebra -import Mathlib.Data.Finset.NatAntidiagonal +module + +public import Mathlib.Algebra.Lie.Engel +public import Mathlib.Algebra.Lie.Normalizer +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.Subalgebra +public import Mathlib.Data.Finset.NatAntidiagonal /-! # Engel subalgebras @@ -30,6 +32,8 @@ and minimal ones are nilpotent (TODO), hence Cartan subalgebras. if it is contained in the Engel subalgebra of all its elements. -/ +@[expose] public section + open LieAlgebra LieModule variable {R L M : Type*} [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/Extension.lean b/Mathlib/Algebra/Lie/Extension.lean index 9f0063b3db3f57..8ecfd5cd8ccb3d 100644 --- a/Mathlib/Algebra/Lie/Extension.lean +++ b/Mathlib/Algebra/Lie/Extension.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Lie.Ideal +module + +public import Mathlib.Algebra.Lie.Ideal /-! # Extensions of Lie algebras @@ -26,6 +28,8 @@ homomorphisms as parameters, and `Extension` is a structure that includes the mi -/ +@[expose] public section + namespace LieAlgebra variable {R N L M : Type*} diff --git a/Mathlib/Algebra/Lie/Free.lean b/Mathlib/Algebra/Lie/Free.lean index 01b7aff6a35b07..6b79db692d4189 100644 --- a/Mathlib/Algebra/Lie/Free.lean +++ b/Mathlib/Algebra/Lie/Free.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.FreeNonUnitalNonAssocAlgebra -import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra -import Mathlib.Algebra.Lie.UniversalEnveloping -import Mathlib.GroupTheory.GroupAction.Ring +module + +public import Mathlib.Algebra.FreeNonUnitalNonAssocAlgebra +public import Mathlib.Algebra.Lie.NonUnitalNonAssocAlgebra +public import Mathlib.Algebra.Lie.UniversalEnveloping +public import Mathlib.GroupTheory.GroupAction.Ring /-! # Free Lie algebras @@ -48,6 +50,8 @@ lie algebra, free algebra, non-unital, non-associative, universal property, forg adjoint functor -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Lie/Ideal.lean b/Mathlib/Algebra/Lie/Ideal.lean index c42bbcb281c319..98838eefaddaa6 100644 --- a/Mathlib/Algebra/Lie/Ideal.lean +++ b/Mathlib/Algebra/Lie/Ideal.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Submodule +module + +public import Mathlib.Algebra.Lie.Submodule /-! # Lie Ideals @@ -26,6 +28,8 @@ on Lie submodules. Lie algebra, ideal, submodule, Lie submodule -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/IdealOperations.lean b/Mathlib/Algebra/Lie/IdealOperations.lean index 46298d760fa287..f2e2f25dcd3cfb 100644 --- a/Mathlib/Algebra/Lie/IdealOperations.lean +++ b/Mathlib/Algebra/Lie/IdealOperations.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Ideal +module + +public import Mathlib.Algebra.Lie.Ideal /-! # Ideal operations for Lie algebras @@ -31,6 +33,8 @@ the action defined in this file. lie algebra, ideal operation -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/InvariantForm.lean b/Mathlib/Algebra/Lie/InvariantForm.lean index b6298ed013b836..ef893ef75ae8c6 100644 --- a/Mathlib/Algebra/Lie/InvariantForm.lean +++ b/Mathlib/Algebra/Lie/InvariantForm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Lie.Semisimple.Defs -import Mathlib.LinearAlgebra.BilinearForm.Orthogonal +module + +public import Mathlib.Algebra.Lie.Semisimple.Defs +public import Mathlib.LinearAlgebra.BilinearForm.Orthogonal /-! # Lie algebras with non-degenerate invariant bilinear forms are semisimple @@ -30,6 +32,8 @@ in the sense that `⁅x, Φ⁆ = 0` for all `x` or equivalently, `Φ ⁅x, y⁆ We follow the short and excellent paper [dieudonne1953]. -/ +@[expose] public section + namespace LieAlgebra namespace InvariantForm diff --git a/Mathlib/Algebra/Lie/Killing.lean b/Mathlib/Algebra/Lie/Killing.lean index e246f8f290e62f..9c425933f0fedd 100644 --- a/Mathlib/Algebra/Lie/Killing.lean +++ b/Mathlib/Algebra/Lie/Killing.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.InvariantForm -import Mathlib.Algebra.Lie.Semisimple.Basic -import Mathlib.Algebra.Lie.TraceForm +module + +public import Mathlib.Algebra.Lie.InvariantForm +public import Mathlib.Algebra.Lie.Semisimple.Basic +public import Mathlib.Algebra.Lie.TraceForm /-! # Lie algebras with non-degenerate Killing forms. @@ -38,6 +40,8 @@ This file contains basic definitions and results for such Lie algebras. -/ +@[expose] public section + variable (R K L : Type*) [CommRing R] [Field K] [LieRing L] [LieAlgebra R L] [LieAlgebra K L] namespace LieAlgebra diff --git a/Mathlib/Algebra/Lie/LieTheorem.lean b/Mathlib/Algebra/Lie/LieTheorem.lean index 362c3e5f11dc21..4d802372dfa374 100644 --- a/Mathlib/Algebra/Lie/LieTheorem.lean +++ b/Mathlib/Algebra/Lie/LieTheorem.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Lucas Whitfield. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lucas Whitfield, Johan Commelin -/ -import Mathlib.Algebra.Lie.Weights.Basic -import Mathlib.RingTheory.Finiteness.Nilpotent +module + +public import Mathlib.Algebra.Lie.Weights.Basic +public import Mathlib.RingTheory.Finiteness.Nilpotent /-! # Lie's theorem for Solvable Lie algebras. @@ -14,6 +16,8 @@ have a common eigenvector for the action of all elements of the Lie algebra. This result is named `LieModule.exists_forall_lie_eq_smul_of_isSolvable`. -/ +@[expose] public section + namespace LieModule section diff --git a/Mathlib/Algebra/Lie/Matrix.lean b/Mathlib/Algebra/Lie/Matrix.lean index cbccede03065d5..60ece59846e0e0 100644 --- a/Mathlib/Algebra/Lie/Matrix.lean +++ b/Mathlib/Algebra/Lie/Matrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +module + +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv /-! # Lie algebras of matrices @@ -25,6 +27,8 @@ primary value stems from their utility when constructing the classical Lie algeb lie algebra, matrix -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Nilpotent.lean b/Mathlib/Algebra/Lie/Nilpotent.lean index b6bb8dab943884..2d2f3fc2160edd 100644 --- a/Mathlib/Algebra/Lie/Nilpotent.lean +++ b/Mathlib/Algebra/Lie/Nilpotent.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Solvable -import Mathlib.Algebra.Lie.Quotient -import Mathlib.Algebra.Lie.Normalizer -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.RingTheory.Artinian.Module -import Mathlib.RingTheory.Nilpotent.Lemmas +module + +public import Mathlib.Algebra.Lie.Solvable +public import Mathlib.Algebra.Lie.Quotient +public import Mathlib.Algebra.Lie.Normalizer +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.RingTheory.Nilpotent.Lemmas /-! # Nilpotent Lie algebras @@ -29,6 +31,8 @@ carries a natural concept of nilpotency. We define these here via the lower cent lie algebra, lower central series, nilpotent, max nilpotent ideal -/ +@[expose] public section + universe u v w w₁ w₂ section NilpotentModules diff --git a/Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean b/Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean index 292c535a796a7d..06ea9a9054e66e 100644 --- a/Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean +++ b/Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Algebra.Lie.Basic +module + +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Algebra.Lie.Basic /-! # Lie algebras as non-unital, non-associative algebras @@ -32,6 +34,8 @@ algebra and we provide some basic definitions for doing so here. lie algebra, non-unital, non-associative -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Lie/Normalizer.lean b/Mathlib/Algebra/Lie/Normalizer.lean index cf2530b63ccb03..51b040ca20e68a 100644 --- a/Mathlib/Algebra/Lie/Normalizer.lean +++ b/Mathlib/Algebra/Lie/Normalizer.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Abelian -import Mathlib.Algebra.Lie.IdealOperations -import Mathlib.Algebra.Lie.Quotient +module + +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.Algebra.Lie.IdealOperations +public import Mathlib.Algebra.Lie.Quotient /-! # The normalizer of Lie submodules and subalgebras. @@ -32,6 +34,8 @@ consider the normalizer. This turns out to be a Lie subalgebra. lie algebra, normalizer -/ +@[expose] public section + variable {R L M M' : Type*} variable [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/OfAssociative.lean b/Mathlib/Algebra/Lie/OfAssociative.lean index e1b81dc5ed1316..0f66744ba449eb 100644 --- a/Mathlib/Algebra/Lie/OfAssociative.lean +++ b/Mathlib/Algebra/Lie/OfAssociative.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Basic -import Mathlib.Algebra.Lie.Subalgebra -import Mathlib.Algebra.Lie.Submodule -import Mathlib.Algebra.Algebra.Subalgebra.Basic +module + +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.Algebra.Lie.Subalgebra +public import Mathlib.Algebra.Lie.Submodule +public import Mathlib.Algebra.Algebra.Subalgebra.Basic /-! # Lie algebras of associative algebras @@ -32,6 +34,8 @@ make such a definition in this file. lie algebra, ring commutator, adjoint action -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Quotient.lean b/Mathlib/Algebra/Lie/Quotient.lean index e2cd96c91beb32..bbb2501069e4f3 100644 --- a/Mathlib/Algebra/Lie/Quotient.lean +++ b/Mathlib/Algebra/Lie/Quotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Ideal -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.Algebra.Lie.Ideal +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.RingTheory.Noetherian.Basic /-! # Quotients of Lie algebras and Lie modules @@ -28,6 +30,8 @@ is a statement and proof of the universal property of these quotients. lie algebra, quotient -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Rank.lean b/Mathlib/Algebra/Lie/Rank.lean index bdaf65110c6b11..938b4a11b6eab6 100644 --- a/Mathlib/Algebra/Lie/Rank.lean +++ b/Mathlib/Algebra/Lie/Rank.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Lie.EngelSubalgebra -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Module.LinearMap.Polynomial -import Mathlib.LinearAlgebra.Eigenspace.Zero +module + +public import Mathlib.Algebra.Lie.EngelSubalgebra +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Module.LinearMap.Polynomial +public import Mathlib.LinearAlgebra.Eigenspace.Zero /-! # Rank of a Lie algebra and regular elements @@ -30,6 +32,8 @@ if the `n`-th coefficient of the characteristic polynomial of `ad R L x` is non- -/ +@[expose] public section + open Module variable {R A L M ι ιₘ : Type*} diff --git a/Mathlib/Algebra/Lie/Semisimple/Basic.lean b/Mathlib/Algebra/Lie/Semisimple/Basic.lean index 4d347c36127900..b9a1a72b05f3a5 100644 --- a/Mathlib/Algebra/Lie/Semisimple/Basic.lean +++ b/Mathlib/Algebra/Lie/Semisimple/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Semisimple.Defs -import Mathlib.Order.BooleanGenerators +module + +public import Mathlib.Algebra.Lie.Semisimple.Defs +public import Mathlib.Order.BooleanGenerators /-! # Semisimple Lie algebras @@ -29,6 +31,8 @@ about simple and semisimple Lie algebras. lie algebra, radical, simple, semisimple -/ +@[expose] public section + section Irreducible variable (R L M : Type*) [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] diff --git a/Mathlib/Algebra/Lie/Semisimple/Defs.lean b/Mathlib/Algebra/Lie/Semisimple/Defs.lean index dc68c1d0df904f..1a4789f12a5575 100644 --- a/Mathlib/Algebra/Lie/Semisimple/Defs.lean +++ b/Mathlib/Algebra/Lie/Semisimple/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Johan Commelin -/ -import Mathlib.Algebra.Lie.Solvable +module + +public import Mathlib.Algebra.Lie.Solvable /-! # Semisimple Lie algebras @@ -22,6 +24,8 @@ In this file we define simple and semisimple Lie algebras, together with related lie algebra, radical, simple, semisimple -/ +@[expose] public section + variable (R L M : Type*) variable [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] diff --git a/Mathlib/Algebra/Lie/Semisimple/Lemmas.lean b/Mathlib/Algebra/Lie/Semisimple/Lemmas.lean index c8d8f7296907c1..219c6b7fa82ad7 100644 --- a/Mathlib/Algebra/Lie/Semisimple/Lemmas.lean +++ b/Mathlib/Algebra/Lie/Semisimple/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.LieTheorem -import Mathlib.Algebra.Lie.Semisimple.Basic +module + +public import Mathlib.Algebra.Lie.LieTheorem +public import Mathlib.Algebra.Lie.Semisimple.Basic /-! # Lemmas about semisimple Lie algebras @@ -26,6 +28,8 @@ This file is a home for lemmas about semisimple and reductive Lie algebras. -/ +@[expose] public section + namespace LieAlgebra open LieModule LieSubmodule Module Set diff --git a/Mathlib/Algebra/Lie/SkewAdjoint.lean b/Mathlib/Algebra/Lie/SkewAdjoint.lean index 0e2555137e9de7..b9084a35204261 100644 --- a/Mathlib/Algebra/Lie/SkewAdjoint.lean +++ b/Mathlib/Algebra/Lie/SkewAdjoint.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Matrix -import Mathlib.LinearAlgebra.Matrix.SesquilinearForm -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Algebra.Lie.Matrix +public import Mathlib.LinearAlgebra.Matrix.SesquilinearForm +public import Mathlib.Tactic.NoncommRing /-! # Lie algebras of skew-adjoint endomorphisms of a bilinear form @@ -30,6 +32,8 @@ results for the Lie algebra of square matrices. lie algebra, skew-adjoint, bilinear form -/ +@[expose] public section + universe u v w w₁ diff --git a/Mathlib/Algebra/Lie/Sl2.lean b/Mathlib/Algebra/Lie/Sl2.lean index eba0050892f6d0..dd5b2c9bbc4afe 100644 --- a/Mathlib/Algebra/Lie/Sl2.lean +++ b/Mathlib/Algebra/Lie/Sl2.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +module + +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition /-! @@ -25,6 +27,8 @@ about `sl₂`. -/ +@[expose] public section + variable (R L M : Type*) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] diff --git a/Mathlib/Algebra/Lie/Solvable.lean b/Mathlib/Algebra/Lie/Solvable.lean index bc722f4dbdd218..5f76e57036f73b 100644 --- a/Mathlib/Algebra/Lie/Solvable.lean +++ b/Mathlib/Algebra/Lie/Solvable.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Abelian -import Mathlib.Algebra.Lie.BaseChange -import Mathlib.Algebra.Lie.IdealOperations -import Mathlib.Order.Hom.Basic -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +module + +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.Algebra.Lie.BaseChange +public import Mathlib.Algebra.Lie.IdealOperations +public import Mathlib.Order.Hom.Basic +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic /-! # Solvable Lie algebras @@ -33,6 +35,8 @@ prove that it is solvable when the Lie algebra is Noetherian. lie algebra, derived series, derived length, solvable, radical -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Subalgebra.lean b/Mathlib/Algebra/Lie/Subalgebra.lean index 5a89c1ea77a33a..24b87ba650ae48 100644 --- a/Mathlib/Algebra/Lie/Subalgebra.lean +++ b/Mathlib/Algebra/Lie/Subalgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Basic -import Mathlib.RingTheory.Artinian.Module +module + +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.RingTheory.Artinian.Module /-! # Lie subalgebras @@ -27,6 +29,8 @@ results. lie algebra, lie subalgebra -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/Submodule.lean b/Mathlib/Algebra/Lie/Submodule.lean index bf5409008b4136..c861236627342b 100644 --- a/Mathlib/Algebra/Lie/Submodule.lean +++ b/Mathlib/Algebra/Lie/Submodule.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Subalgebra -import Mathlib.LinearAlgebra.Finsupp.Span +module + +public import Mathlib.Algebra.Lie.Subalgebra +public import Mathlib.LinearAlgebra.Finsupp.Span /-! # Lie submodules of a Lie algebra @@ -25,6 +27,8 @@ use it to define various important operations, notably the Lie span of a subset lie algebra, lie submodule, lie ideal, lattice structure -/ +@[expose] public section + universe u v w w₁ w₂ diff --git a/Mathlib/Algebra/Lie/TensorProduct.lean b/Mathlib/Algebra/Lie/TensorProduct.lean index 9310f99231065b..e331e0e5b0266f 100644 --- a/Mathlib/Algebra/Lie/TensorProduct.lean +++ b/Mathlib/Algebra/Lie/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Abelian -import Mathlib.LinearAlgebra.TensorProduct.Tower +module + +public import Mathlib.Algebra.Lie.Abelian +public import Mathlib.LinearAlgebra.TensorProduct.Tower /-! # Tensor products of Lie modules @@ -16,6 +18,8 @@ Tensor products of Lie modules carry natural Lie module structures. lie module, tensor product, universal property -/ +@[expose] public section + universe u v w w₁ w₂ w₃ variable {R : Type u} [CommRing R] diff --git a/Mathlib/Algebra/Lie/TraceForm.lean b/Mathlib/Algebra/Lie/TraceForm.lean index e81f55f1757d2d..44ab9a55854123 100644 --- a/Mathlib/Algebra/Lie/TraceForm.lean +++ b/Mathlib/Algebra/Lie/TraceForm.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.DirectSum.LinearMap -import Mathlib.Algebra.Lie.InvariantForm -import Mathlib.Algebra.Lie.Weights.Cartan -import Mathlib.Algebra.Lie.Weights.Linear -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.LinearAlgebra.PID +module + +public import Mathlib.Algebra.DirectSum.LinearMap +public import Mathlib.Algebra.Lie.InvariantForm +public import Mathlib.Algebra.Lie.Weights.Cartan +public import Mathlib.Algebra.Lie.Weights.Linear +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.LinearAlgebra.PID /-! # The trace and Killing forms of a Lie algebra. @@ -32,6 +34,8 @@ We define the trace / Killing form in this file and prove some basic properties. form on `L` via the trace form construction. -/ +@[expose] public section + variable (R K L M : Type*) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] diff --git a/Mathlib/Algebra/Lie/UniversalEnveloping.lean b/Mathlib/Algebra/Lie/UniversalEnveloping.lean index 58723e917d3209..8596517aeb39d9 100644 --- a/Mathlib/Algebra/Lie/UniversalEnveloping.lean +++ b/Mathlib/Algebra/Lie/UniversalEnveloping.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.RingQuot -import Mathlib.LinearAlgebra.TensorAlgebra.Basic +module + +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.RingQuot +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic /-! # Universal enveloping algebra @@ -33,6 +35,8 @@ enveloping algebra of `L`, together with its universal property. lie algebra, universal enveloping algebra, tensor algebra -/ +@[expose] public section + universe u₁ u₂ u₃ diff --git a/Mathlib/Algebra/Lie/Weights/Basic.lean b/Mathlib/Algebra/Lie/Weights/Basic.lean index 203c5e4b980af5..3246899feae8bf 100644 --- a/Mathlib/Algebra/Lie/Weights/Basic.lean +++ b/Mathlib/Algebra/Lie/Weights/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Ring.Divisibility.Lemmas -import Mathlib.Algebra.Lie.Nilpotent -import Mathlib.Algebra.Lie.Engel -import Mathlib.LinearAlgebra.Eigenspace.Pi -import Mathlib.RingTheory.Artinian.Module -import Mathlib.LinearAlgebra.Trace -import Mathlib.LinearAlgebra.FreeModule.PID +module + +public import Mathlib.Algebra.Ring.Divisibility.Lemmas +public import Mathlib.Algebra.Lie.Nilpotent +public import Mathlib.Algebra.Lie.Engel +public import Mathlib.LinearAlgebra.Eigenspace.Pi +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.LinearAlgebra.Trace +public import Mathlib.LinearAlgebra.FreeModule.PID /-! # Weight spaces of Lie modules of nilpotent Lie algebras @@ -45,6 +47,8 @@ Basic definitions and properties of the above ideas are provided in this file. lie character, eigenvalue, eigenspace, weight, weight vector, root, root vector -/ +@[expose] public section + variable {K R L M : Type*} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] diff --git a/Mathlib/Algebra/Lie/Weights/Cartan.lean b/Mathlib/Algebra/Lie/Weights/Cartan.lean index 4b5dc3fa13d45c..4831227237b130 100644 --- a/Mathlib/Algebra/Lie/Weights/Cartan.lean +++ b/Mathlib/Algebra/Lie/Weights/Cartan.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.CartanSubalgebra -import Mathlib.Algebra.Lie.Weights.Basic +module + +public import Mathlib.Algebra.Lie.CartanSubalgebra +public import Mathlib.Algebra.Lie.Weights.Basic /-! # Weights and roots of Lie modules and Lie algebras with respect to Cartan subalgebras @@ -26,6 +28,8 @@ Basic definitions and properties of the above ideas are provided in this file. -/ +@[expose] public section + open Set variable {R L : Type*} [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/Weights/Chain.lean b/Mathlib/Algebra/Lie/Weights/Chain.lean index 6fb449476a080d..b76296bbe89691 100644 --- a/Mathlib/Algebra/Lie/Weights/Chain.lean +++ b/Mathlib/Algebra/Lie/Weights/Chain.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.DirectSum.LinearMap -import Mathlib.Algebra.Lie.Weights.Cartan -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.RingTheory.Finiteness.Nilpotent -import Mathlib.Data.Int.Interval -import Mathlib.Order.Filter.Cofinite +module + +public import Mathlib.Algebra.DirectSum.LinearMap +public import Mathlib.Algebra.Lie.Weights.Cartan +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.RingTheory.Finiteness.Nilpotent +public import Mathlib.Data.Int.Interval +public import Mathlib.Order.Filter.Cofinite /-! # Chains of roots and weights @@ -53,6 +55,8 @@ It should be possible to unify some of the definitions here such as `LieModule.c -/ +@[expose] public section + open Module Function Set variable {R L : Type*} [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/Weights/IsSimple.lean b/Mathlib/Algebra/Lie/Weights/IsSimple.lean index 8a5258be2ed56e..9a1fda1aeab4a2 100644 --- a/Mathlib/Algebra/Lie/Weights/IsSimple.lean +++ b/Mathlib/Algebra/Lie/Weights/IsSimple.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Janos Wolosz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Janos Wolosz -/ -import Mathlib.Algebra.Lie.Weights.RootSystem -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +module + +public import Mathlib.Algebra.Lie.Weights.RootSystem +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas /-! # Simple Lie algebras @@ -19,6 +21,8 @@ We show the irreducibility of root systems of simple Lie algebras. * `LieAlgebra.IsKilling.instIsIrreducible`: the root system of a simple Lie algebra is irreducible -/ +@[expose] public section + namespace LieAlgebra.IsKilling variable {K L : Type*} [Field K] [CharZero K] [LieRing L] [LieAlgebra K L] [FiniteDimensional K L] diff --git a/Mathlib/Algebra/Lie/Weights/Killing.lean b/Mathlib/Algebra/Lie/Weights/Killing.lean index bfd2d993b38552..895054a2ecfaa3 100644 --- a/Mathlib/Algebra/Lie/Weights/Killing.lean +++ b/Mathlib/Algebra/Lie/Weights/Killing.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Derivation.Killing -import Mathlib.Algebra.Lie.Killing -import Mathlib.Algebra.Lie.Sl2 -import Mathlib.Algebra.Lie.Weights.Chain -import Mathlib.LinearAlgebra.Eigenspace.Semisimple -import Mathlib.LinearAlgebra.JordanChevalley +module + +public import Mathlib.Algebra.Lie.Derivation.Killing +public import Mathlib.Algebra.Lie.Killing +public import Mathlib.Algebra.Lie.Sl2 +public import Mathlib.Algebra.Lie.Weights.Chain +public import Mathlib.LinearAlgebra.Eigenspace.Semisimple +public import Mathlib.LinearAlgebra.JordanChevalley /-! # Roots of Lie algebras with non-degenerate Killing forms @@ -34,6 +36,8 @@ forms. -/ +@[expose] public section + variable (R K L : Type*) [CommRing R] [LieRing L] [LieAlgebra R L] [Field K] [LieAlgebra K L] namespace LieAlgebra diff --git a/Mathlib/Algebra/Lie/Weights/Linear.lean b/Mathlib/Algebra/Lie/Weights/Linear.lean index e71432fd512cb9..57e996a2fd5051 100644 --- a/Mathlib/Algebra/Lie/Weights/Linear.lean +++ b/Mathlib/Algebra/Lie/Weights/Linear.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Weights.Basic -import Mathlib.LinearAlgebra.Trace -import Mathlib.LinearAlgebra.FreeModule.PID +module + +public import Mathlib.Algebra.Lie.Weights.Basic +public import Mathlib.LinearAlgebra.Trace +public import Mathlib.LinearAlgebra.FreeModule.PID /-! # Lie modules with linear weights @@ -39,6 +41,8 @@ or `R` has characteristic zero. -/ +@[expose] public section + open Set variable (k R L M : Type*) [CommRing R] [LieRing L] [LieAlgebra R L] diff --git a/Mathlib/Algebra/Lie/Weights/RootSystem.lean b/Mathlib/Algebra/Lie/Weights/RootSystem.lean index 972c1c43541952..2dc7d0bf6726c7 100644 --- a/Mathlib/Algebra/Lie/Weights/RootSystem.lean +++ b/Mathlib/Algebra/Lie/Weights/RootSystem.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Lie.Weights.Killing -import Mathlib.LinearAlgebra.RootSystem.Basic -import Mathlib.LinearAlgebra.RootSystem.Reduced -import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear -import Mathlib.Algebra.Algebra.Rat +module + +public import Mathlib.Algebra.Lie.Weights.Killing +public import Mathlib.LinearAlgebra.RootSystem.Basic +public import Mathlib.LinearAlgebra.RootSystem.Reduced +public import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear +public import Mathlib.Algebra.Algebra.Rat /-! # The root system associated with a Lie algebra @@ -33,6 +35,8 @@ characteristic 0 form a root system. We achieve this by studying root chains. -/ +@[expose] public section + noncomputable section namespace LieAlgebra.IsKilling diff --git a/Mathlib/Algebra/LinearRecurrence.lean b/Mathlib/Algebra/LinearRecurrence.lean index d24ae2e099d150..51f6d1572f0803 100644 --- a/Mathlib/Algebra/LinearRecurrence.lean +++ b/Mathlib/Algebra/LinearRecurrence.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.LinearAlgebra.Dimension.Constructions +module + +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.LinearAlgebra.Dimension.Constructions /-! # Linear recurrence @@ -35,6 +37,8 @@ properties of eigenvalues and eigenvectors. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/ModEq.lean b/Mathlib/Algebra/ModEq.lean index 3666bb73d7e2bb..ea25a92cb2be84 100644 --- a/Mathlib/Algebra/ModEq.lean +++ b/Mathlib/Algebra/ModEq.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.Int.ModEq -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.Int.ModEq +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Equality modulo an element @@ -31,6 +33,8 @@ to `AddSubgroup.ModEq` and multiplicativise it. Longer term, we could generalise also unify with `Nat.ModEq`. -/ +@[expose] public section + assert_not_exists Module namespace AddCommGroup diff --git a/Mathlib/Algebra/Module/Basic.lean b/Mathlib/Algebra/Module/Basic.lean index 328e98339d87c2..e8c973bc27a1ba 100644 --- a/Mathlib/Algebra/Module/Basic.lean +++ b/Mathlib/Algebra/Module/Basic.lean @@ -3,19 +3,23 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.Ring.Invertible +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.Ring.Invertible /-! # Further basic results about modules. -/ +@[expose] public section + assert_not_exists Nonneg.inv Multiset open Function Set diff --git a/Mathlib/Algebra/Module/BigOperators.lean b/Mathlib/Algebra/Module/BigOperators.lean index 8e45b22d5e3ede..be7c367cfa215e 100644 --- a/Mathlib/Algebra/Module/BigOperators.lean +++ b/Mathlib/Algebra/Module/BigOperators.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.Module.Defs -import Mathlib.Data.Fintype.BigOperators +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Data.Fintype.BigOperators /-! # Finite sums over modules over a ring -/ +@[expose] public section + variable {ι κ α β R M : Type*} section AddCommMonoid diff --git a/Mathlib/Algebra/Module/Bimodule.lean b/Mathlib/Algebra/Module/Bimodule.lean index 06ca631ba9b507..6878e65c37e531 100644 --- a/Mathlib/Algebra/Module/Bimodule.lean +++ b/Mathlib/Algebra/Module/Bimodule.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Bimodules @@ -53,6 +55,8 @@ Develop the theory of two-sided ideals, which have type `Submodule (R ⊗[ℕ] R -/ +@[expose] public section + open TensorProduct diff --git a/Mathlib/Algebra/Module/Card.lean b/Mathlib/Algebra/Module/Card.lean index 3941ffd972d1d7..9f33b8f08d1d47 100644 --- a/Mathlib/Algebra/Module/Card.lean +++ b/Mathlib/Algebra/Module/Card.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.SetTheory.Cardinal.Basic /-! # Cardinality of a module @@ -13,6 +15,8 @@ This file proves that the cardinality of a module without zero divisors is at le of its base ring. -/ +@[expose] public section + open Function universe u v diff --git a/Mathlib/Algebra/Module/CharacterModule.lean b/Mathlib/Algebra/Module/CharacterModule.lean index e7189dc834e62d..f84bb525162226 100644 --- a/Mathlib/Algebra/Module/CharacterModule.lean +++ b/Mathlib/Algebra/Module/CharacterModule.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Junyan Xu -/ +module -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Algebra.Category.Grp.Injective -import Mathlib.Topology.Instances.AddCircle.Defs -import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Algebra.Category.Grp.Injective +public import Mathlib.Topology.Instances.AddCircle.Defs +public import Mathlib.LinearAlgebra.Isomorphisms /-! # Character module of a module @@ -28,6 +29,8 @@ an `R`-linear map `l : M ⟶ N` induces an `R`-linear map `l⋆ : f ↦ f ∘ l` -/ +@[expose] public section + open CategoryTheory universe uR uA uB diff --git a/Mathlib/Algebra/Module/DedekindDomain.lean b/Mathlib/Algebra/Module/DedekindDomain.lean index d8af5742daa554..3f52e9cca2d9bc 100644 --- a/Mathlib/Algebra/Module/DedekindDomain.lean +++ b/Mathlib/Algebra/Module/DedekindDomain.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas /-! # Modules over a Dedekind domain @@ -15,6 +17,8 @@ Therefore, as any finitely generated torsion module is `I`-torsion for some `I`, direct sum of its `p i ^ e i`-torsion submodules for some prime ideals `p i` and numbers `e i`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Module/Defs.lean b/Mathlib/Algebra/Module/Defs.lean index ef4fc5f70a29f0..02ab6480921094 100644 --- a/Mathlib/Algebra/Module/Defs.lean +++ b/Mathlib/Algebra/Module/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Ring.Defs /-! # Modules over a ring @@ -33,6 +35,8 @@ to use a canonical `Module` typeclass throughout. semimodule, module, vector space -/ +@[expose] public section + assert_not_exists Field Invertible Pi.single_smul₀ RingHom Set.indicator Multiset Units open Function Set diff --git a/Mathlib/Algebra/Module/End.lean b/Mathlib/Algebra/Module/End.lean index 67f35cb9c40109..4a5f04dbc3a4a1 100644 --- a/Mathlib/Algebra/Module/End.lean +++ b/Mathlib/Algebra/Module/End.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Group.Hom.End -import Mathlib.Algebra.Module.NatInt +module + +public import Mathlib.Algebra.Group.Hom.End +public import Mathlib.Algebra.Module.NatInt /-! # Module structure and endomorphisms @@ -13,6 +15,8 @@ In this file, we define `Module.toAddMonoidEnd`, which is `(•)` as a monoid ho We use this to prove some results on scalar multiplication by integers. -/ +@[expose] public section + assert_not_exists RelIso Multiset Set.indicator Pi.single_smul₀ Field open Function Set diff --git a/Mathlib/Algebra/Module/Equiv/Basic.lean b/Mathlib/Algebra/Module/Equiv/Basic.lean index 5708330aceceeb..9c52d8911c8472 100644 --- a/Mathlib/Algebra/Module/Equiv/Basic.lean +++ b/Mathlib/Algebra/Module/Equiv/Basic.lean @@ -4,20 +4,24 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Hom -import Mathlib.Algebra.Module.LinearMap.Basic -import Mathlib.Algebra.Module.LinearMap.End -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Module.Prod +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Hom +public import Mathlib.Algebra.Module.LinearMap.Basic +public import Mathlib.Algebra.Module.LinearMap.End +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Module.Prod /-! # Further results on (semi)linear equivalences. -/ +@[expose] public section + open Function variable {R : Type*} {R₂ : Type*} diff --git a/Mathlib/Algebra/Module/Equiv/Defs.lean b/Mathlib/Algebra/Module/Equiv/Defs.lean index 67d84ab98b8019..f46f2a7a181fc9 100644 --- a/Mathlib/Algebra/Module/Equiv/Defs.lean +++ b/Mathlib/Algebra/Module/Equiv/Defs.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.LinearMap.Defs +module + +public import Mathlib.Algebra.Module.LinearMap.Defs /-! # (Semi)linear equivalences @@ -33,6 +35,8 @@ The group structure on automorphisms, `LinearEquiv.automorphismGroup`, is provid linear equiv, linear equivalences, linear isomorphism, linear isomorphic -/ +@[expose] public section + assert_not_exists Field Pi.module open Function diff --git a/Mathlib/Algebra/Module/Equiv/Opposite.lean b/Mathlib/Algebra/Module/Equiv/Opposite.lean index 37c1211cb03766..9dd15de6ea38e7 100644 --- a/Mathlib/Algebra/Module/Equiv/Opposite.lean +++ b/Mathlib/Algebra/Module/Equiv/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Opposite +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Opposite /-! # Module operations on `Mᵐᵒᵖ` @@ -13,6 +15,8 @@ This file contains definitions that build on top of the group action definitions `Mathlib/Algebra/GroupWithZero/Action/Opposite.lean`. -/ +@[expose] public section + section variable {R S M : Type*} [Semiring R] [Semiring S] [AddCommMonoid M] [Module S M] diff --git a/Mathlib/Algebra/Module/FinitePresentation.lean b/Mathlib/Algebra/Module/FinitePresentation.lean index 9e41d87a6c47d3..8879e5a85877b9 100644 --- a/Mathlib/Algebra/Module/FinitePresentation.lean +++ b/Mathlib/Algebra/Module/FinitePresentation.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.Finiteness.Projective -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Noetherian.Basic -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.Finiteness.Projective +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Noetherian.Basic +public import Mathlib.RingTheory.TensorProduct.Finite /-! @@ -52,6 +54,8 @@ For finitely presented algebras, see `Algebra.FinitePresentation` in file `Mathlib/RingTheory/FinitePresentation.lean`. -/ +@[expose] public section + open Finsupp section Semiring diff --git a/Mathlib/Algebra/Module/GradedModule.lean b/Mathlib/Algebra/Module/GradedModule.lean index 0e6d6fde09aab8..f03ee0cabf30ad 100644 --- a/Mathlib/Algebra/Module/GradedModule.lean +++ b/Mathlib/Algebra/Module/GradedModule.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.RingTheory.GradedAlgebra.Basic -import Mathlib.Algebra.GradedMulAction -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Algebra.Module.BigOperators +module + +public import Mathlib.RingTheory.GradedAlgebra.Basic +public import Mathlib.Algebra.GradedMulAction +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Algebra.Module.BigOperators /-! # Graded Module @@ -20,6 +22,8 @@ Then `⨁ i, 𝓜 i` is an `A`-module and is isomorphic to `M`. graded module -/ +@[expose] public section + section diff --git a/Mathlib/Algebra/Module/Hom.lean b/Mathlib/Algebra/Module/Hom.lean index c7deb6b92ed993..d4ad1b01e4fd33 100644 --- a/Mathlib/Algebra/Module/Hom.lean +++ b/Mathlib/Algebra/Module/Hom.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.GroupWithZero.Action.End -import Mathlib.Algebra.GroupWithZero.Action.Hom -import Mathlib.Algebra.Module.End -import Mathlib.Algebra.Ring.Opposite -import Mathlib.GroupTheory.GroupAction.DomAct.Basic +module + +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.GroupWithZero.Action.End +public import Mathlib.Algebra.GroupWithZero.Action.Hom +public import Mathlib.Algebra.Module.End +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic /-! # Bundled Hom instances for module and multiplicative actions @@ -22,6 +24,8 @@ We also define bundled versions of `(c • ·)` and `(· • ·)` as `AddMonoidH `AddMonoidHom.smul`, respectively. -/ +@[expose] public section + variable {R S M A B : Type*} namespace ZeroHom diff --git a/Mathlib/Algebra/Module/Injective.lean b/Mathlib/Algebra/Module/Injective.lean index 4c966a4e453084..908836950e2156 100644 --- a/Mathlib/Algebra/Module/Injective.lean +++ b/Mathlib/Algebra/Module/Injective.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Module.Shrink -import Mathlib.LinearAlgebra.LinearPMap -import Mathlib.Logic.Small.Basic -import Mathlib.RingTheory.Ideal.Defs +module + +public import Mathlib.Algebra.Module.Shrink +public import Mathlib.LinearAlgebra.LinearPMap +public import Mathlib.Logic.Small.Basic +public import Mathlib.RingTheory.Ideal.Defs /-! # Injective modules @@ -32,6 +34,8 @@ import Mathlib.RingTheory.Ideal.Defs -/ +@[expose] public section + assert_not_exists ModuleCat noncomputable section diff --git a/Mathlib/Algebra/Module/Lattice.lean b/Mathlib/Algebra/Module/Lattice.lean index 432c4edf553a6f..699dc78c0dbbdf 100644 --- a/Mathlib/Algebra/Module/Lattice.lean +++ b/Mathlib/Algebra/Module/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.LinearAlgebra.Dimension.Localization -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.FreeModule.PID +module + +public import Mathlib.LinearAlgebra.Dimension.Localization +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.FreeModule.PID /-! # Lattices @@ -42,6 +44,8 @@ generated condition is replaced by having the discrete topology. This is for exa for complex tori. -/ +@[expose] public section + open Module open scoped Pointwise diff --git a/Mathlib/Algebra/Module/LinearMap/Basic.lean b/Mathlib/Algebra/Module/LinearMap/Basic.lean index 312d5dfdbe7892..d8f9a69f1a56ca 100644 --- a/Mathlib/Algebra/Module/LinearMap/Basic.lean +++ b/Mathlib/Algebra/Module/LinearMap/Basic.lean @@ -4,15 +4,19 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.NoZeroSMulDivisors.Pi -import Mathlib.Algebra.Ring.Opposite -import Mathlib.GroupTheory.GroupAction.DomAct.Basic +module + +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.NoZeroSMulDivisors.Pi +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic /-! # Further results on (semi)linear maps -/ +@[expose] public section + assert_not_exists Submonoid Finset TrivialStar diff --git a/Mathlib/Algebra/Module/LinearMap/Defs.lean b/Mathlib/Algebra/Module/LinearMap/Defs.lean index 68c756b1c457fd..e4d26e541837f2 100644 --- a/Mathlib/Algebra/Module/LinearMap/Defs.lean +++ b/Mathlib/Algebra/Module/LinearMap/Defs.lean @@ -4,11 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.Module.RingHom -import Mathlib.Algebra.Ring.CompTypeclasses -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.Module.RingHom +public import Mathlib.Algebra.Ring.CompTypeclasses +public import Mathlib.GroupTheory.GroupAction.Hom /-! # (Semi)linear maps @@ -50,6 +52,8 @@ To ensure that composition works smoothly for semilinear maps, we use the typecl linear map -/ +@[expose] public section + assert_not_exists TrivialStar DomMulAct Pi.module WCovBy.image Field diff --git a/Mathlib/Algebra/Module/LinearMap/DivisionRing.lean b/Mathlib/Algebra/Module/LinearMap/DivisionRing.lean index 15731b3f4672cb..665acb40abe54a 100644 --- a/Mathlib/Algebra/Module/LinearMap/DivisionRing.lean +++ b/Mathlib/Algebra/Module/LinearMap/DivisionRing.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Algebra.Module.Submodule.Range -import Mathlib.LinearAlgebra.Span.Defs +module + +public import Mathlib.Algebra.Module.Submodule.Range +public import Mathlib.LinearAlgebra.Span.Defs /-! # Some lemmas about linear functionals on division rings @@ -18,6 +20,8 @@ This file proves some results on linear functionals on division semirings. the range of `f.smulRight x` is the span of the set `{x}`. -/ +@[expose] public section + namespace LinearMap variable {R M M₁ : Type*} [AddCommMonoid M] [AddCommMonoid M₁] diff --git a/Mathlib/Algebra/Module/LinearMap/End.lean b/Mathlib/Algebra/Module/LinearMap/End.lean index 8d86458a13443a..06df65a1ac38f7 100644 --- a/Mathlib/Algebra/Module/LinearMap/End.lean +++ b/Mathlib/Algebra/Module/LinearMap/End.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Equiv.Opposite -import Mathlib.Algebra.NoZeroSMulDivisors.Defs +module + +public import Mathlib.Algebra.Module.Equiv.Opposite +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs /-! # Endomorphisms of a module @@ -20,6 +22,8 @@ including the action of `Module.End` on the module we are considering endomorphi taking the additive structure above with composition as multiplication. -/ +@[expose] public section + universe u v /-- Linear endomorphisms of a module, with associated ring structure diff --git a/Mathlib/Algebra/Module/LinearMap/Polynomial.lean b/Mathlib/Algebra/Module/LinearMap/Polynomial.lean index f6ecb9d749f254..b9571675891188 100644 --- a/Mathlib/Algebra/Module/LinearMap/Polynomial.lean +++ b/Mathlib/Algebra/Module/LinearMap/Polynomial.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Monad -import Mathlib.LinearAlgebra.Charpoly.ToMatrix -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.Matrix.Charpoly.Univ -import Mathlib.RingTheory.TensorProduct.Finite -import Mathlib.RingTheory.TensorProduct.Free +module + +public import Mathlib.Algebra.MvPolynomial.Monad +public import Mathlib.LinearAlgebra.Charpoly.ToMatrix +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Univ +public import Mathlib.RingTheory.TensorProduct.Finite +public import Mathlib.RingTheory.TensorProduct.Free /-! # Characteristic polynomials of linear families of endomorphisms @@ -62,6 +64,8 @@ The proof concludes because characteristic polynomials are independent of the ch -/ +@[expose] public section + open Module MvPolynomial open scoped Matrix diff --git a/Mathlib/Algebra/Module/LinearMap/Prod.lean b/Mathlib/Algebra/Module/LinearMap/Prod.lean index 9740ffe6d6eb48..8a44d526e18267 100644 --- a/Mathlib/Algebra/Module/LinearMap/Prod.lean +++ b/Mathlib/Algebra/Module/LinearMap/Prod.lean @@ -3,10 +3,11 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ +module -import Mathlib.Algebra.Module.Prod -import Mathlib.Tactic.Abel -import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Module.Prod +public import Mathlib.Tactic.Abel +public import Mathlib.Algebra.Module.LinearMap.Defs /-! # Addition and subtraction are linear maps from the product space @@ -18,6 +19,8 @@ linear algebra, vector space, module -/ +@[expose] public section + variable {R : Type*} {M : Type*} [Semiring R] namespace IsLinearMap diff --git a/Mathlib/Algebra/Module/LinearMap/Rat.lean b/Mathlib/Algebra/Module/LinearMap/Rat.lean index 68dc81821f5cf2..7bf73746d75bc9 100644 --- a/Mathlib/Algebra/Module/LinearMap/Rat.lean +++ b/Mathlib/Algebra/Module/LinearMap/Rat.lean @@ -4,13 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Rat -import Mathlib.Algebra.Module.LinearMap.Defs +module + +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Algebra.Module.LinearMap.Defs /-! # Reinterpret an additive homomorphism as a `ℚ`-linear map. -/ +@[expose] public section + open Function variable {M M₂ : Type*} diff --git a/Mathlib/Algebra/Module/LinearMap/Star.lean b/Mathlib/Algebra/Module/LinearMap/Star.lean index dccae5176a383a..81594c7d497b56 100644 --- a/Mathlib/Algebra/Module/LinearMap/Star.lean +++ b/Mathlib/Algebra/Module/LinearMap/Star.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Star.Basic /-! # Notation for star-linear maps @@ -13,6 +15,8 @@ This is in a separate file as a it is not needed until much later, and avoids importing the theory of star operations unnecessarily early. -/ +@[expose] public section + /-- `M →ₗ⋆[R] N` is the type of `R`-conjugate-linear maps from `M` to `N`. -/ notation:25 M " →ₗ⋆[" R:25 "] " M₂:0 => LinearMap (starRingEnd R) M M₂ diff --git a/Mathlib/Algebra/Module/LocalizedModule/AtPrime.lean b/Mathlib/Algebra/Module/LocalizedModule/AtPrime.lean index 791f3c0ccd6da7..b9bbea44515ac0 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/AtPrime.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/AtPrime.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu -/ -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.RingTheory.Ideal.Prime +module + +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.RingTheory.Ideal.Prime /-! # Localizations of modules at the complement of a prime ideal -/ +@[expose] public section + /-- Given a prime ideal `P` and `f : M →ₗ[R] M'`, `IsLocalizedModule.AtPrime P f` states that `M'` is isomorphic to the localization of `M` at the complement of `P`. -/ protected abbrev IsLocalizedModule.AtPrime {R M M' : Type*} [CommSemiring R] (P : Ideal R) diff --git a/Mathlib/Algebra/Module/LocalizedModule/Away.lean b/Mathlib/Algebra/Module/LocalizedModule/Away.lean index af585a025721d5..96a5be226777ea 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/Away.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/Away.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu -/ -import Mathlib.Algebra.Module.LocalizedModule.Basic +module + +public import Mathlib.Algebra.Module.LocalizedModule.Basic /-! # Localizations of modules away from an element -/ +@[expose] public section + /-- Given `x : R` and `f : M →ₗ[R] M'`, IsLocalization.Away x f` states that `M'` is isomorphic to the localization of `M` at the submonoid generated by `x`. -/ protected abbrev IsLocalizedModule.Away {R M M' : Type*} [CommSemiring R] (x : R) [AddCommMonoid M] diff --git a/Mathlib/Algebra/Module/LocalizedModule/Basic.lean b/Mathlib/Algebra/Module/LocalizedModule/Basic.lean index 6a7ddc1417c035..5797241a3c3729 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/Basic.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Jujian Zhang -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Module.TransferInstance -import Mathlib.RingTheory.Localization.Defs +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Module.TransferInstance +public import Mathlib.RingTheory.Localization.Defs /-! # Localized Module @@ -35,6 +37,8 @@ localize `M` by `S`. This gives us a `Localization S`-module. * Redefine `Localization` for monoids and rings to coincide with `LocalizedModule`. -/ +@[expose] public section + namespace LocalizedModule diff --git a/Mathlib/Algebra/Module/LocalizedModule/Exact.lean b/Mathlib/Algebra/Module/LocalizedModule/Exact.lean index 81b4d1a919335b..4348779b8e8dd8 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/Exact.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/Exact.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Jujian Zhang -/ -import Mathlib.Algebra.Exact -import Mathlib.Algebra.Module.LocalizedModule.Basic +module + +public import Mathlib.Algebra.Exact +public import Mathlib.Algebra.Module.LocalizedModule.Basic /-! # Localization of modules is an exact functor @@ -16,6 +18,8 @@ import Mathlib.Algebra.Module.LocalizedModule.Basic -/ +@[expose] public section + section open IsLocalizedModule Function Submonoid diff --git a/Mathlib/Algebra/Module/LocalizedModule/Int.lean b/Mathlib/Algebra/Module/LocalizedModule/Int.lean index c4a947564e0ad3..0457da3909a235 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/Int.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/Int.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.Algebra.Module.Submodule.Pointwise +module + +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.Algebra.Module.Submodule.Pointwise /-! @@ -23,6 +25,8 @@ can be unified. -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] {S : Submonoid R} {M : Type*} [AddCommMonoid M] [Module R M] {M' : Type*} [AddCommMonoid M'] [Module R M'] (f : M →ₗ[R] M') diff --git a/Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean b/Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean index d30404dae67836..201de89b3a840e 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Jujian Zhang -/ -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.Module.LocalizedModule.Basic +module + +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.Module.LocalizedModule.Basic /-! # Equivalence between `IsLocalizedModule` and `IsLocalization` -/ +@[expose] public section + section IsLocalizedModule variable {R : Type*} [CommSemiring R] (S : Submonoid R) diff --git a/Mathlib/Algebra/Module/LocalizedModule/Submodule.lean b/Mathlib/Algebra/Module/LocalizedModule/Submodule.lean index a98d38f5f31085..abdcb493ec471a 100644 --- a/Mathlib/Algebra/Module/LocalizedModule/Submodule.lean +++ b/Mathlib/Algebra/Module/LocalizedModule/Submodule.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.Submodule.Pointwise -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Localization.Module -import Mathlib.Algebra.Algebra.Operations +module + +public import Mathlib.Algebra.Module.Submodule.Pointwise +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Localization.Module +public import Mathlib.Algebra.Algebra.Operations /-! # Localization of Submodules @@ -27,6 +29,8 @@ Results about localizations of submodules and quotient modules are provided in t -/ +@[expose] public section + open nonZeroDivisors variable {R S M N : Type*} diff --git a/Mathlib/Algebra/Module/MinimalAxioms.lean b/Mathlib/Algebra/Module/MinimalAxioms.lean index 50e16b3cebcf42..f2deb664e98021 100644 --- a/Mathlib/Algebra/Module/MinimalAxioms.lean +++ b/Mathlib/Algebra/Module/MinimalAxioms.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Martin C. Martin -/ -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.Module.Defs /-! # Minimal Axioms for a Module @@ -18,6 +20,8 @@ This file defines a constructor to define a `Module` structure on a Type with an -/ +@[expose] public section + universe u v /-- Define a `Module` structure on a Type by proving a minimized set of axioms. -/ diff --git a/Mathlib/Algebra/Module/NatInt.lean b/Mathlib/Algebra/Module/NatInt.lean index 2726b7cd9f0506..47fdc48104ecb0 100644 --- a/Mathlib/Algebra/Module/NatInt.lean +++ b/Mathlib/Algebra/Module/NatInt.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Data.Int.Cast.Lemmas /-! # Modules over `ℕ` and `ℤ` @@ -25,6 +27,8 @@ This file concerns modules where the scalars are the natural numbers or the inte semimodule, module, vector space -/ +@[expose] public section + assert_not_exists RelIso Field Invertible Multiset Pi.single_smul₀ Set.indicator open Function Set diff --git a/Mathlib/Algebra/Module/Opposite.lean b/Mathlib/Algebra/Module/Opposite.lean index 6671b194e4c9cf..ecca770b14df8c 100644 --- a/Mathlib/Algebra/Module/Opposite.lean +++ b/Mathlib/Algebra/Module/Opposite.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Action.Opposite -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.GroupWithZero.Action.Opposite +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Ring.Opposite /-! # Module operations on `Mᵐᵒᵖ` @@ -14,6 +16,8 @@ This file contains definitions that build on top of the group action definitions `Mathlib/Algebra/GroupWithZero/Action/Opposite.lean`. -/ +@[expose] public section + assert_not_exists LinearMap section diff --git a/Mathlib/Algebra/Module/PID.lean b/Mathlib/Algebra/Module/PID.lean index 416267851cd908..23271764526db6 100644 --- a/Mathlib/Algebra/Module/PID.lean +++ b/Mathlib/Algebra/Module/PID.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin -/ -import Mathlib.Algebra.Module.DedekindDomain -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.Algebra.Module.Projective -import Mathlib.Algebra.Category.ModuleCat.Biproducts -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.Module.DedekindDomain +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.Algebra.Module.Projective +public import Mathlib.Algebra.Category.ModuleCat.Biproducts +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Structure of finitely generated modules over a PID @@ -45,6 +47,8 @@ Then we get the general result using that a torsion free module is free (which h Finitely generated module, principal ideal domain, classification, structure theorem -/ +@[expose] public section + -- We shouldn't need to know about topology to prove -- the structure theorem for finitely generated modules over a PID. assert_not_exists TopologicalSpace diff --git a/Mathlib/Algebra/Module/PUnit.lean b/Mathlib/Algebra/Module/PUnit.lean index 97329efc031a23..f74e2665c37c5a 100644 --- a/Mathlib/Algebra/Module/PUnit.lean +++ b/Mathlib/Algebra/Module/PUnit.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.Algebra.Ring.PUnit +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.Algebra.Ring.PUnit /-! # Instances on PUnit @@ -13,6 +15,8 @@ import Mathlib.Algebra.Ring.PUnit This file collects facts about module structures on the one-element type -/ +@[expose] public section + namespace PUnit variable {R S : Type*} diff --git a/Mathlib/Algebra/Module/Pi.lean b/Mathlib/Algebra/Module/Pi.lean index 73fb20b65fdc08..c27c0fefb65d6a 100644 --- a/Mathlib/Algebra/Module/Pi.lean +++ b/Mathlib/Algebra/Module/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Regular.SMul -import Mathlib.Algebra.Ring.Pi +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Regular.SMul +public import Mathlib.Algebra.Ring.Pi /-! # Pi instances for modules @@ -14,6 +16,8 @@ import Mathlib.Algebra.Ring.Pi This file defines instances for module and related structures on Pi Types -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Module/PointwisePi.lean b/Mathlib/Algebra/Module/PointwisePi.lean index 40379da001d397..dbb80cdd9a6c12 100644 --- a/Mathlib/Algebra/Module/PointwisePi.lean +++ b/Mathlib/Algebra/Module/PointwisePi.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Scalar +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar /-! # Pointwise actions on sets in Pi types @@ -18,6 +20,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, -/ +@[expose] public section + open Pointwise open Set diff --git a/Mathlib/Algebra/Module/Presentation/Basic.lean b/Mathlib/Algebra/Module/Presentation/Basic.lean index cd3c122cde379c..eee05016a6ae26 100644 --- a/Mathlib/Algebra/Module/Presentation/Basic.lean +++ b/Mathlib/Algebra/Module/Presentation/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Exact -import Mathlib.Algebra.Module.ULift -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.LinearAlgebra.Finsupp.LinearCombination +module + +public import Mathlib.Algebra.Exact +public import Mathlib.Algebra.Module.ULift +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination /-! # Presentations of modules @@ -36,6 +38,8 @@ generators and relations. -/ +@[expose] public section + assert_not_exists Cardinal universe w' w'' w₀ w₁ v'' v' v u diff --git a/Mathlib/Algebra/Module/Presentation/Cokernel.lean b/Mathlib/Algebra/Module/Presentation/Cokernel.lean index d9f2c84e6cd05a..5e7bd266e20efd 100644 --- a/Mathlib/Algebra/Module/Presentation/Cokernel.lean +++ b/Mathlib/Algebra/Module/Presentation/Cokernel.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.Basic +module + +public import Mathlib.Algebra.Module.Presentation.Basic /-! # Presentation of a cokernel @@ -24,6 +26,8 @@ we obtain a presentation of `M₃`, see `Presentation.ofExact`. -/ +@[expose] public section + universe w w₁ w₂₀ w₂₁ v₁ v₂ v₃ u namespace Module diff --git a/Mathlib/Algebra/Module/Presentation/Differentials.lean b/Mathlib/Algebra/Module/Presentation/Differentials.lean index 58e900d4b79c49..11cf7a8a8251d4 100644 --- a/Mathlib/Algebra/Module/Presentation/Differentials.lean +++ b/Mathlib/Algebra/Module/Presentation/Differentials.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.RingTheory.Kaehler.Polynomial -import Mathlib.RingTheory.Extension.Cotangent.Basic -import Mathlib.RingTheory.Extension.Presentation.Basic +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.RingTheory.Kaehler.Polynomial +public import Mathlib.RingTheory.Extension.Cotangent.Basic +public import Mathlib.RingTheory.Extension.Presentation.Basic /-! # Presentation of the module of differentials @@ -31,6 +32,8 @@ from the file `Mathlib/RingTheory/Kaehler/CotangentComplex.lean`. -/ +@[expose] public section + open Module universe w' t w u v diff --git a/Mathlib/Algebra/Module/Presentation/DirectSum.lean b/Mathlib/Algebra/Module/Presentation/DirectSum.lean index 673880af26a323..4b889999a013fb 100644 --- a/Mathlib/Algebra/Module/Presentation/DirectSum.lean +++ b/Mathlib/Algebra/Module/Presentation/DirectSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Data.Finsupp.ToDFinsupp +module + +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Data.Finsupp.ToDFinsupp /-! # Presentation of a direct sum @@ -17,6 +19,8 @@ a presentation of `ι →₀ M`. -/ +@[expose] public section + universe w' w₀ w₁ w v u namespace Module diff --git a/Mathlib/Algebra/Module/Presentation/Finite.lean b/Mathlib/Algebra/Module/Presentation/Finite.lean index fa50407683fcbe..1311dda7b45a74 100644 --- a/Mathlib/Algebra/Module/Presentation/Finite.lean +++ b/Mathlib/Algebra/Module/Presentation/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.Algebra.Module.FinitePresentation +module + +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.Algebra.Module.FinitePresentation /-! # Characterization of finitely presented modules @@ -14,6 +16,8 @@ it admits a presentation with finitely many generators and relations. -/ +@[expose] public section + universe w₀ w₁ v u namespace Module diff --git a/Mathlib/Algebra/Module/Presentation/Free.lean b/Mathlib/Algebra/Module/Presentation/Free.lean index e88a04b51493bc..8680c4ca1848bb 100644 --- a/Mathlib/Algebra/Module/Presentation/Free.lean +++ b/Mathlib/Algebra/Module/Presentation/Free.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.Logic.UnivLE +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.Logic.UnivLE /-! # Presentation of free modules @@ -17,6 +18,8 @@ see `Module.free_iff_exists_presentation`. -/ +@[expose] public section + assert_not_exists Cardinal universe w w₀ w₁ v u diff --git a/Mathlib/Algebra/Module/Presentation/RestrictScalars.lean b/Mathlib/Algebra/Module/Presentation/RestrictScalars.lean index e70e369b2fb9c6..151e13dbf23626 100644 --- a/Mathlib/Algebra/Module/Presentation/RestrictScalars.lean +++ b/Mathlib/Algebra/Module/Presentation/RestrictScalars.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.DirectSum -import Mathlib.Algebra.Module.Presentation.Cokernel +module + +public import Mathlib.Algebra.Module.Presentation.DirectSum +public import Mathlib.Algebra.Module.Presentation.Cokernel /-! # Presentation of the restriction of scalars of a module @@ -19,6 +21,8 @@ a presentation of `B` as a `A`-module (and some additional data). -/ +@[expose] public section + namespace Module variable {B : Type*} [Ring B] {M : Type*} [AddCommGroup M] [Module B M] diff --git a/Mathlib/Algebra/Module/Presentation/Tautological.lean b/Mathlib/Algebra/Module/Presentation/Tautological.lean index 97e54cc2295400..b724c1b24817f8 100644 --- a/Mathlib/Algebra/Module/Presentation/Tautological.lean +++ b/Mathlib/Algebra/Module/Presentation/Tautological.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.Algebra.Module.Presentation.Basic /-! # The tautological presentation of a module @@ -15,6 +16,8 @@ Given an `A`-module `M`, we provide its tautological presentation: -/ +@[expose] public section + universe w v u namespace Module diff --git a/Mathlib/Algebra/Module/Presentation/Tensor.lean b/Mathlib/Algebra/Module/Presentation/Tensor.lean index dfd33c564834db..01740d716ac87c 100644 --- a/Mathlib/Algebra/Module/Presentation/Tensor.lean +++ b/Mathlib/Algebra/Module/Presentation/Tensor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.LinearAlgebra.TensorProduct.Basic +module + +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Basic /-! # Presentation of the tensor product of two modules @@ -13,6 +15,8 @@ Given presentations of two `A`-modules `M₁` and `M₂`, we obtain a presentati -/ +@[expose] public section + universe w w₁₀ w₁₁ w₂₀ w₂₁ u v₁ v₂ namespace Module diff --git a/Mathlib/Algebra/Module/Prod.lean b/Mathlib/Algebra/Module/Prod.lean index 62fe11801adeee..6143b71444e0aa 100644 --- a/Mathlib/Algebra/Module/Prod.lean +++ b/Mathlib/Algebra/Module/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Action.Prod -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Prod +public import Mathlib.Algebra.Module.Defs /-! # Prod instances for module and multiplicative actions @@ -12,6 +14,8 @@ import Mathlib.Algebra.Module.Defs This file defines instances for binary product of modules -/ +@[expose] public section + variable {R : Type*} {M : Type*} {N : Type*} diff --git a/Mathlib/Algebra/Module/Projective.lean b/Mathlib/Algebra/Module/Projective.lean index 0a193e42c25525..19d9c93715ca54 100644 --- a/Mathlib/Algebra/Module/Projective.lean +++ b/Mathlib/Algebra/Module/Projective.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Antoine Labelle -/ -import Mathlib.Algebra.Module.Shrink -import Mathlib.LinearAlgebra.TensorProduct.Basis -import Mathlib.Logic.UnivLE +module + +public import Mathlib.Algebra.Module.Shrink +public import Mathlib.LinearAlgebra.TensorProduct.Basis +public import Mathlib.Logic.UnivLE /-! @@ -59,6 +61,8 @@ projective module -/ +@[expose] public section + universe w v u open LinearMap hiding id diff --git a/Mathlib/Algebra/Module/Rat.lean b/Mathlib/Algebra/Module/Rat.lean index d9651fa153a5ff..296e9a82be9be1 100644 --- a/Mathlib/Algebra/Module/Rat.lean +++ b/Mathlib/Algebra/Module/Rat.lean @@ -3,14 +3,18 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.Algebra.Field.Rat +module + +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.Algebra.Field.Rat /-! # Basic results about modules over the rationals. -/ +@[expose] public section + universe u v variable {M M₂ : Type*} diff --git a/Mathlib/Algebra/Module/RingHom.lean b/Mathlib/Algebra/Module/RingHom.lean index 1fa13009342d84..f2c66c48d2bfee 100644 --- a/Mathlib/Algebra/Module/RingHom.lean +++ b/Mathlib/Algebra/Module/RingHom.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Action.End -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Ring.Hom.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.End +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Ring.Hom.Defs /-! # Composing modules with a ring hom @@ -20,6 +22,8 @@ import Mathlib.Algebra.Ring.Hom.Defs semimodule, module, vector space -/ +@[expose] public section + assert_not_exists Field Invertible Multiset Pi.single_smul₀ Set.indicator open Function Set diff --git a/Mathlib/Algebra/Module/Shrink.lean b/Mathlib/Algebra/Module/Shrink.lean index 785fdcad6a9fb6..65f85f3f1565c5 100644 --- a/Mathlib/Algebra/Module/Shrink.lean +++ b/Mathlib/Algebra/Module/Shrink.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.Module.TransferInstance +module + +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.Module.TransferInstance /-! # Transfer module and algebra structures from `α` to `Shrink α` -/ +@[expose] public section + -- FIXME: `to_additive` is incompatible with `noncomputable section`. -- See https://github.com/leanprover-community/mathlib4/issues/1074. suppress_compilation diff --git a/Mathlib/Algebra/Module/SnakeLemma.lean b/Mathlib/Algebra/Module/SnakeLemma.lean index a18ceb6bede8b1..2afbf3a399239a 100644 --- a/Mathlib/Algebra/Module/SnakeLemma.lean +++ b/Mathlib/Algebra/Module/SnakeLemma.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Exact +module + +public import Mathlib.Algebra.Exact /-! @@ -19,6 +21,8 @@ categories, but for definitional equality and universe issues we reprove them he -/ +@[expose] public section + open LinearMap hiding id open Function diff --git a/Mathlib/Algebra/Module/SpanRank.lean b/Mathlib/Algebra/Module/SpanRank.lean index efdd980af33e30..244183fae2ad30 100644 --- a/Mathlib/Algebra/Module/SpanRank.lean +++ b/Mathlib/Algebra/Module/SpanRank.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wanyi He, Jiedong Jiang, Xuchun Li, Christian Merten, Jingting Wang, Andrew Yang -/ -import Mathlib.Data.Set.Card -import Mathlib.Data.ENat.Lattice -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +module + +public import Mathlib.Data.Set.Card +public import Mathlib.Data.ENat.Lattice +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition /-! # Minimum Cardinality of generating set of a submodule @@ -47,6 +49,8 @@ submodule, so there is some asymmetry here. Further refactoring might be needed creates a friction later on. -/ +@[expose] public section + namespace Submodule section Defs diff --git a/Mathlib/Algebra/Module/Submodule/Basic.lean b/Mathlib/Algebra/Module/Submodule/Basic.lean index 6898c548580504..585b45c1bc481d 100644 --- a/Mathlib/Algebra/Module/Submodule/Basic.lean +++ b/Mathlib/Algebra/Module/Submodule/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Submodules of a module @@ -21,6 +23,8 @@ As such it is a good target for organizing and splitting further. submodule, subspace, linear map -/ +@[expose] public section + open Function universe u'' u' u v w diff --git a/Mathlib/Algebra/Module/Submodule/Bilinear.lean b/Mathlib/Algebra/Module/Submodule/Bilinear.lean index b917236c820337..c23edbb308c2eb 100644 --- a/Mathlib/Algebra/Module/Submodule/Bilinear.lean +++ b/Mathlib/Algebra/Module/Submodule/Bilinear.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Eric Wieser -/ -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.LinearAlgebra.BilinearMap +module + +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.LinearAlgebra.BilinearMap /-! # Images of pairs of submodules under bilinear maps @@ -26,6 +28,8 @@ Please keep them in sync. Generalize this file to semilinear maps. -/ +@[expose] public section + universe uι u v diff --git a/Mathlib/Algebra/Module/Submodule/Defs.lean b/Mathlib/Algebra/Module/Submodule/Defs.lean index 397a4414ece639..4850418aaecaa5 100644 --- a/Mathlib/Algebra/Module/Submodule/Defs.lean +++ b/Mathlib/Algebra/Module/Submodule/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.Algebra.Group.Submonoid.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.Algebra.Group.Submonoid.Basic /-! @@ -23,6 +25,8 @@ In this file we define submodule, subspace, linear map -/ +@[expose] public section + assert_not_exists DivisionRing open Function diff --git a/Mathlib/Algebra/Module/Submodule/EqLocus.lean b/Mathlib/Algebra/Module/Submodule/EqLocus.lean index 1462cc65e63d66..a33162f313e46e 100644 --- a/Mathlib/Algebra/Module/Submodule/EqLocus.lean +++ b/Mathlib/Algebra/Module/Submodule/EqLocus.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Module.Submodule.Ker +module + +public import Mathlib.Algebra.Module.Submodule.Ker /-! # The submodule of elements `x : M` such that `f x = g x` @@ -17,6 +19,8 @@ linear algebra, vector space, module -/ +@[expose] public section + variable {R : Type*} {R₂ : Type*} variable {M : Type*} {M₂ : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/Equiv.lean b/Mathlib/Algebra/Module/Submodule/Equiv.lean index 5c804f8cb36009..4de5021d3345d7 100644 --- a/Mathlib/Algebra/Module/Submodule/Equiv.lean +++ b/Mathlib/Algebra/Module/Submodule/Equiv.lean @@ -4,10 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Submodule.Range +module + +public import Mathlib.Algebra.Module.Submodule.Range /-! ### Linear equivalences involving submodules -/ +@[expose] public section + open Function variable {R : Type*} {R₁ : Type*} {R₂ : Type*} {R₃ : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/Invariant.lean b/Mathlib/Algebra/Module/Submodule/Invariant.lean index 3c56beb586f285..a0803321e2e74d 100644 --- a/Mathlib/Algebra/Module/Submodule/Invariant.lean +++ b/Mathlib/Algebra/Module/Submodule/Invariant.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.Submodule.Map -import Mathlib.LinearAlgebra.Span.Defs -import Mathlib.Order.Sublattice +module + +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.Submodule.Map +public import Mathlib.LinearAlgebra.Span.Defs +public import Mathlib.Order.Sublattice /-! # The lattice of invariant submodules @@ -19,6 +21,8 @@ See also `Mathlib/Algebra/Polynomial/Module/AEval.lean`. -/ +@[expose] public section + open Submodule (span) namespace Module.End diff --git a/Mathlib/Algebra/Module/Submodule/IterateMapComap.lean b/Mathlib/Algebra/Module/Submodule/IterateMapComap.lean index 566ed459806f03..669f714ed2679d 100644 --- a/Mathlib/Algebra/Module/Submodule/IterateMapComap.lean +++ b/Mathlib/Algebra/Module/Submodule/IterateMapComap.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Module.Submodule.Ker +module + +public import Mathlib.Algebra.Module.Submodule.Ker /-! @@ -30,6 +32,8 @@ The construction here is adapted from the proof in Djoković's paper -/ +@[expose] public section + open Function Submodule namespace LinearMap diff --git a/Mathlib/Algebra/Module/Submodule/Ker.lean b/Mathlib/Algebra/Module/Submodule/Ker.lean index 4ec2fb91d84629..3b2c3c97936268 100644 --- a/Mathlib/Algebra/Module/Submodule/Ker.lean +++ b/Mathlib/Algebra/Module/Submodule/Ker.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Module.Submodule.Map +module + +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Module.Submodule.Map /-! # Kernel of a linear map @@ -26,6 +28,8 @@ linear algebra, vector space, module -/ +@[expose] public section + open Function open Pointwise diff --git a/Mathlib/Algebra/Module/Submodule/Lattice.lean b/Mathlib/Algebra/Module/Submodule/Lattice.lean index 30ff941c890d87..65d278dd34858d 100644 --- a/Mathlib/Algebra/Module/Submodule/Lattice.lean +++ b/Mathlib/Algebra/Module/Submodule/Lattice.lean @@ -3,15 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.PUnit -import Mathlib.Data.Set.Subsingleton -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.PUnit +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # The lattice structure on `Submodule`s @@ -30,6 +32,8 @@ to unify the APIs where possible. -/ +@[expose] public section + universe v variable {R S M : Type*} @@ -189,18 +193,18 @@ instance completeLattice : CompleteLattice (Submodule R M) := { (inferInstance : OrderTop (Submodule R M)), (inferInstance : OrderBot (Submodule R M)) with sup := fun a b ↦ sInf { x | a ≤ x ∧ b ≤ x } - le_sup_left := fun _ _ ↦ le_sInf' fun _ ⟨h, _⟩ ↦ h - le_sup_right := fun _ _ ↦ le_sInf' fun _ ⟨_, h⟩ ↦ h - sup_le := fun _ _ _ h₁ h₂ ↦ sInf_le' ⟨h₁, h₂⟩ + le_sup_left := private fun _ _ ↦ le_sInf' fun _ ⟨h, _⟩ ↦ h + le_sup_right := private fun _ _ ↦ le_sInf' fun _ ⟨_, h⟩ ↦ h + sup_le := private fun _ _ _ h₁ h₂ ↦ sInf_le' ⟨h₁, h₂⟩ inf := (· ⊓ ·) le_inf := fun _ _ _ ↦ Set.subset_inter inf_le_left := fun _ _ ↦ Set.inter_subset_left inf_le_right := fun _ _ ↦ Set.inter_subset_right sSup S := sInf {sm | ∀ s ∈ S, s ≤ sm} - le_sSup := fun _ _ hs ↦ le_sInf' fun _ hq ↦ by exact hq _ hs - sSup_le := fun _ _ hs ↦ sInf_le' hs - le_sInf := fun _ _ ↦ le_sInf' - sInf_le := fun _ _ ↦ sInf_le' } + le_sSup := private fun _ _ hs ↦ le_sInf' fun _ hq ↦ by exact hq _ hs + sSup_le := private fun _ _ hs ↦ sInf_le' hs + le_sInf := private fun _ _ ↦ le_sInf' + sInf_le := private fun _ _ ↦ sInf_le' } @[simp] theorem coe_inf : ↑(p ⊓ q) = (p ∩ q : Set M) := diff --git a/Mathlib/Algebra/Module/Submodule/LinearMap.lean b/Mathlib/Algebra/Module/Submodule/LinearMap.lean index c458464c324313..316d0e5983651c 100644 --- a/Mathlib/Algebra/Module/Submodule/LinearMap.lean +++ b/Mathlib/Algebra/Module/Submodule/LinearMap.lean @@ -3,10 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ +module -import Mathlib.Algebra.Module.LinearMap.End -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.Module.LinearMap.End +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! @@ -28,6 +29,8 @@ In this file we define a number of linear maps involving submodules of a module. submodule, subspace, linear map -/ +@[expose] public section + open Function Set universe u'' u' u v w diff --git a/Mathlib/Algebra/Module/Submodule/Map.lean b/Mathlib/Algebra/Module/Submodule/Map.lean index 93f1abff127dc1..91b2d4b0b3832e 100644 --- a/Mathlib/Algebra/Module/Submodule/Map.lean +++ b/Mathlib/Algebra/Module/Submodule/Map.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Algebra.Module.Submodule.LinearMap +module + +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Algebra.Module.Submodule.LinearMap /-! # `map` and `comap` for `Submodule`s @@ -24,6 +26,8 @@ import Mathlib.Algebra.Module.Submodule.LinearMap submodule, subspace, linear map, pushforward, pullback -/ +@[expose] public section + open Function Pointwise Set variable {R : Type*} {R₁ : Type*} {R₂ : Type*} {R₃ : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/Order.lean b/Mathlib/Algebra/Module/Submodule/Order.lean index de41661261ce75..a2d2ea40f334a1 100644 --- a/Mathlib/Algebra/Module/Submodule/Order.lean +++ b/Mathlib/Algebra/Module/Submodule/Order.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Algebra.Order.Monoid.Basic +module + +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Algebra.Order.Monoid.Basic /-! # Ordered instances on submodules -/ +@[expose] public section + namespace Submodule variable {R M : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/Pointwise.lean b/Mathlib/Algebra/Module/Submodule/Pointwise.lean index fcad14b1b9efeb..5d74fed04aca35 100644 --- a/Mathlib/Algebra/Module/Submodule/Pointwise.lean +++ b/Mathlib/Algebra/Module/Submodule/Pointwise.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jujian Zhang -/ -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Algebra.Order.Group.Action -import Mathlib.LinearAlgebra.Finsupp.Supported -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Algebra.Order.Group.Action +public import Mathlib.LinearAlgebra.Finsupp.Supported +public import Mathlib.LinearAlgebra.Span.Basic /-! # Pointwise instances on `Submodule`s @@ -39,6 +41,8 @@ Other than section `set_acting_on_submodules`, most of the lemmas in this file a lemmas from the file `Mathlib/Algebra/Group/Submonoid/Pointwise.lean`. -/ +@[expose] public section + assert_not_exists Ideal variable {α : Type*} {R : Type*} {M : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/Range.lean b/Mathlib/Algebra/Module/Submodule/Range.lean index 19016abcac9f22..6925baa546961a 100644 --- a/Mathlib/Algebra/Module/Submodule/Range.lean +++ b/Mathlib/Algebra/Module/Submodule/Range.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Submodule.Ker -import Mathlib.Algebra.Module.Submodule.RestrictScalars -import Mathlib.Data.Set.Finite.Range +module + +public import Mathlib.Algebra.Module.Submodule.Ker +public import Mathlib.Algebra.Module.Submodule.RestrictScalars +public import Mathlib.Data.Set.Finite.Range /-! # Range of linear maps @@ -27,6 +29,8 @@ Note that this also means that dot notation (i.e. `f.range` for a linear map `f` linear algebra, vector space, module, range -/ +@[expose] public section + open Function variable {R : Type*} {R₂ : Type*} {R₃ : Type*} diff --git a/Mathlib/Algebra/Module/Submodule/RestrictScalars.lean b/Mathlib/Algebra/Module/Submodule/RestrictScalars.lean index e8a669cb2926b7..ff1cb21e249407 100644 --- a/Mathlib/Algebra/Module/Submodule/RestrictScalars.lean +++ b/Mathlib/Algebra/Module/Submodule/RestrictScalars.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Andrew Yang, Johannes Hölzl, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Order.Hom.CompleteLattice /-! @@ -20,6 +22,8 @@ this restriction of scalars for submodules. -/ +@[expose] public section + namespace Submodule variable (S : Type*) {R M : Type*} [Semiring R] [AddCommMonoid M] [Semiring S] diff --git a/Mathlib/Algebra/Module/Submodule/Union.lean b/Mathlib/Algebra/Module/Submodule/Union.lean index c9a549a03fc951..6d64c940a1c60b 100644 --- a/Mathlib/Algebra/Module/Submodule/Union.lean +++ b/Mathlib/Algebra/Module/Submodule/Union.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Data.Set.Card -import Mathlib.LinearAlgebra.Dual.Defs -import Mathlib.Tactic.Module +module + +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Data.Set.Card +public import Mathlib.LinearAlgebra.Dual.Defs +public import Mathlib.Tactic.Module /-! # Unions of `Submodule`s @@ -19,6 +21,8 @@ a proper subset, provided the coefficients are a sufficiently large field. -/ +@[expose] public section + open Function Set variable {ι K M : Type*} [Field K] [AddCommGroup M] [Module K M] diff --git a/Mathlib/Algebra/Module/Torsion.lean b/Mathlib/Algebra/Module/Torsion.lean index 60e4103c0fde04..76ae5da3d0797f 100644 --- a/Mathlib/Algebra/Module/Torsion.lean +++ b/Mathlib/Algebra/Module/Torsion.lean @@ -3,16 +3,18 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.Module.ZMod -import Mathlib.Algebra.Regular.Opposite -import Mathlib.GroupTheory.Torsion -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.RingTheory.Coprime.Ideal -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.Module.ZMod +public import Mathlib.Algebra.Regular.Opposite +public import Mathlib.GroupTheory.Torsion +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.RingTheory.Coprime.Ideal +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Torsion submodules @@ -68,6 +70,8 @@ import Mathlib.RingTheory.SimpleModule.Basic Torsion, submodule, module, quotient -/ +@[expose] public section + /-! ### Torsion-free modules -/ namespace Module @@ -957,7 +961,7 @@ macro_rules | `($A[$n]) => `(torsionBy $A $n) /-- Unexpander for `torsionBy`. -/ @[scoped app_unexpander torsionBy] -def torsionByUnexpander : Lean.PrettyPrinter.Unexpander +meta def torsionByUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $A $n) => `($A[$n]) | _ => throw () diff --git a/Mathlib/Algebra/Module/TransferInstance.lean b/Mathlib/Algebra/Module/TransferInstance.lean index 44e59816396ad2..90b793ec1d0e02 100644 --- a/Mathlib/Algebra/Module/TransferInstance.lean +++ b/Mathlib/Algebra/Module/TransferInstance.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.GroupWithZero.Action.TransferInstance -import Mathlib.Algebra.Module.Equiv.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.TransferInstance +public import Mathlib.Algebra.Module.Equiv.Defs /-! # Transfer algebraic structures across `Equiv`s @@ -12,6 +14,8 @@ import Mathlib.Algebra.Module.Equiv.Defs This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists Algebra universe u v diff --git a/Mathlib/Algebra/Module/ULift.lean b/Mathlib/Algebra/Module/ULift.lean index fdc0541c24793e..d56e9e3cd517c3 100644 --- a/Mathlib/Algebra/Module/ULift.lean +++ b/Mathlib/Algebra/Module/ULift.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.GroupWithZero.ULift -import Mathlib.Algebra.Ring.ULift -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Data.ULift +module + +public import Mathlib.Algebra.GroupWithZero.ULift +public import Mathlib.Algebra.Ring.ULift +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Data.ULift /-! # `ULift` instances for module and multiplicative actions @@ -18,6 +20,8 @@ This file defines instances for module, mul_action and related structures on `UL We also provide `ULift.moduleEquiv : ULift M ≃ₗ[R] M`. -/ +@[expose] public section + namespace ULift diff --git a/Mathlib/Algebra/Module/ZLattice/Basic.lean b/Mathlib/Algebra/Module/ZLattice/Basic.lean index 6b8f0208804bc6..78082d1f030060 100644 --- a/Mathlib/Algebra/Module/ZLattice/Basic.lean +++ b/Mathlib/Algebra/Module/ZLattice/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.LinearAlgebra.Countable -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.MeasureTheory.Group.FundamentalDomain -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.RingTheory.Localization.Module +module + +public import Mathlib.LinearAlgebra.Countable +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.MeasureTheory.Group.FundamentalDomain +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.RingTheory.Localization.Module /-! # ℤ-lattices @@ -50,6 +52,8 @@ consistent with the `ZSpan` construction of `ℤ`-lattices. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Module/ZLattice/Covolume.lean b/Mathlib/Algebra/Module/ZLattice/Covolume.lean index 15f3dcb9e5865d..2853b66ebd6777 100644 --- a/Mathlib/Algebra/Module/ZLattice/Covolume.lean +++ b/Mathlib/Algebra/Module/ZLattice/Covolume.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.BoxIntegral.UnitPartition -import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient -import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace +module + +public import Mathlib.Analysis.BoxIntegral.UnitPartition +public import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient +public import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace /-! # Covolume of ℤ-lattices @@ -52,6 +54,8 @@ general case, we had two primes, e.g. `covolume.tendsto_card_div_pow''`. -/ +@[expose] public section + noncomputable section namespace ZLattice diff --git a/Mathlib/Algebra/Module/ZMod.lean b/Mathlib/Algebra/Module/ZMod.lean index b2a4ad707eda3d..e490d5bffe440a 100644 --- a/Mathlib/Algebra/Module/ZMod.lean +++ b/Mathlib/Algebra/Module/ZMod.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Lawrence Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lawrence Wu -/ -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.GroupTheory.Sylow +module + +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.GroupTheory.Sylow /-! # The `ZMod n`-module structure on Abelian groups whose elements have order dividing `n` -/ +@[expose] public section + assert_not_exists TwoSidedIdeal variable {n : ℕ} {M M₁ : Type*} diff --git a/Mathlib/Algebra/MonoidAlgebra/Basic.lean b/Mathlib/Algebra/MonoidAlgebra/Basic.lean index 9b40b70f50a0b6..6c617a567b3846 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Basic.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Basic.lean @@ -3,19 +3,23 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.MonoidAlgebra.MapDomain -import Mathlib.Algebra.MonoidAlgebra.Module -import Mathlib.Data.Finsupp.SMul -import Mathlib.LinearAlgebra.Finsupp.SumProd +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.MonoidAlgebra.MapDomain +public import Mathlib.Algebra.MonoidAlgebra.Module +public import Mathlib.Data.Finsupp.SMul +public import Mathlib.LinearAlgebra.Finsupp.SumProd /-! # Monoid algebras -/ +@[expose] public section + noncomputable section open Finset diff --git a/Mathlib/Algebra/MonoidAlgebra/Defs.lean b/Mathlib/Algebra/MonoidAlgebra/Defs.lean index f5b63084a8cc2d..b2ea21e630f2a5 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Defs.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.SMulWithZero +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.SMulWithZero /-! # Monoid algebras @@ -40,6 +42,8 @@ When the domain is multiplicative, e.g. a group, this will be used to define the We introduce the notation `R[A]` for `AddMonoidAlgebra R A`. -/ +@[expose] public section + assert_not_exists NonUnitalAlgHom AlgEquiv noncomputable section @@ -70,7 +74,7 @@ macro_rules | `($R[$M]) => `(AddMonoidAlgebra $R $M) /-- Unexpander for `AddMonoidAlgebra`. -/ @[scoped app_unexpander AddMonoidAlgebra] -def unexpander : Lean.PrettyPrinter.Unexpander +meta def unexpander : Lean.PrettyPrinter.Unexpander | `($_ $k $g) => `($k[$g]) | _ => throw () diff --git a/Mathlib/Algebra/MonoidAlgebra/Degree.lean b/Mathlib/Algebra/MonoidAlgebra/Degree.lean index d648b5d1d201e6..cd2cb0f4e875e1 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Degree.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Degree.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Subsemigroup.Operations -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.Order.Filter.Extr +module + +public import Mathlib.Algebra.Group.Subsemigroup.Operations +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.Order.Filter.Extr /-! # Lemmas about the `sup` and `inf` of the support of `AddMonoidAlgebra` @@ -17,6 +19,8 @@ The current plan is to state and prove lemmas about `Finset.sup (Finsupp.support Next, the general lemmas get specialized for some yet-to-be-defined `degree`s. -/ +@[expose] public section + variable {R R' A T B ι : Type*} diff --git a/Mathlib/Algebra/MonoidAlgebra/Division.lean b/Mathlib/Algebra/MonoidAlgebra/Division.lean index 5788d87810d13c..86fcc9854eb119 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Division.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Division.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Hom.End -import Mathlib.Algebra.MonoidAlgebra.Defs +module + +public import Mathlib.Algebra.Group.Hom.End +public import Mathlib.Algebra.MonoidAlgebra.Defs /-! # Division of `AddMonoidAlgebra` by monomials @@ -35,6 +37,8 @@ likely to be very useful. -/ +@[expose] public section + variable {k G : Type*} [Semiring k] diff --git a/Mathlib/Algebra/MonoidAlgebra/Grading.lean b/Mathlib/Algebra/MonoidAlgebra/Grading.lean index baf0a9c38f6c58..637412b2b2ed78 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Grading.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Grading.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DirectSum.Internal -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.Algebra.DirectSum.Internal +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Internal grading of an `AddMonoidAlgebra` @@ -31,6 +33,8 @@ In this file, we show that an `AddMonoidAlgebra` has an internal direct sum stru is the identity. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MonoidAlgebra/Ideal.lean b/Mathlib/Algebra/MonoidAlgebra/Ideal.lean index 832475cf07b0cf..b8732d3f3f836a 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Ideal.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Ideal.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.Ideal.Span -import Mathlib.Algebra.MonoidAlgebra.Defs +module + +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.Ideal.Span +public import Mathlib.Algebra.MonoidAlgebra.Defs /-! # Lemmas about ideals of `MonoidAlgebra` and `AddMonoidAlgebra` -/ +@[expose] public section + variable {k A G : Type*} diff --git a/Mathlib/Algebra/MonoidAlgebra/Lift.lean b/Mathlib/Algebra/MonoidAlgebra/Lift.lean index f9c11017f2bae8..5e8877a73354f4 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Lift.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Lift.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.MonoidAlgebra.Defs +module + +public import Mathlib.Algebra.MonoidAlgebra.Defs /-! # Lifting monoid algebras @@ -16,6 +18,8 @@ This file defines `liftNC`. For the definition of `MonoidAlgebra.lift`, see function `g : G → R` to a homomorphism `MonoidAlgebra k G →+ R`. -/ +@[expose] public section + assert_not_exists NonUnitalAlgHom AlgEquiv noncomputable section diff --git a/Mathlib/Algebra/MonoidAlgebra/MapDomain.lean b/Mathlib/Algebra/MonoidAlgebra/MapDomain.lean index 275a15e4a0034f..a2a5954ee5fb51 100644 --- a/Mathlib/Algebra/MonoidAlgebra/MapDomain.lean +++ b/Mathlib/Algebra/MonoidAlgebra/MapDomain.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.MonoidAlgebra.Lift +module + +public import Mathlib.Algebra.MonoidAlgebra.Lift /-! # MonoidAlgebra.mapDomain -/ +@[expose] public section + assert_not_exists NonUnitalAlgHom AlgEquiv open Function diff --git a/Mathlib/Algebra/MonoidAlgebra/Module.lean b/Mathlib/Algebra/MonoidAlgebra/Module.lean index a2a5bb028d92ae..b3ae7b0603af5e 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Module.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Module.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Algebra.MonoidAlgebra.Lift -import Mathlib.LinearAlgebra.Finsupp.LSum +module + +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Algebra.MonoidAlgebra.Lift +public import Mathlib.LinearAlgebra.Finsupp.LSum /-! # Module structure on monoid algebras @@ -16,6 +18,8 @@ import Mathlib.LinearAlgebra.Finsupp.LSum * `MonoidAlgebra.module`, `AddMonoidAlgebra.module`: lift a module structure to monoid algebras -/ +@[expose] public section + assert_not_exists NonUnitalAlgHom AlgEquiv noncomputable section diff --git a/Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean b/Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean index a4f370a02f6495..08d6c453e592e9 100644 --- a/Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean +++ b/Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.UniqueProds.Basic -import Mathlib.Algebra.MonoidAlgebra.Opposite +module + +public import Mathlib.Algebra.Group.UniqueProds.Basic +public import Mathlib.Algebra.MonoidAlgebra.Opposite /-! # Variations on non-zero divisors in `AddMonoidAlgebra`s @@ -55,6 +57,8 @@ These conditions are sufficient, but not necessary. As mentioned above, *Kaplan asserts that `A` being torsion-free may be enough. -/ +@[expose] public section + open Finsupp variable {R A : Type*} diff --git a/Mathlib/Algebra/MonoidAlgebra/Opposite.lean b/Mathlib/Algebra/MonoidAlgebra/Opposite.lean index 9d2230eaae9bea..3ce7c18ed2daf0 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Opposite.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kim Morrison -/ -import Mathlib.Algebra.MonoidAlgebra.Defs -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Data.Finsupp.Basic +module + +public import Mathlib.Algebra.MonoidAlgebra.Defs +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Data.Finsupp.Basic /-! # Monoid algebras and the opposite ring -/ +@[expose] public section + assert_not_exists NonUnitalAlgHom AlgEquiv noncomputable section diff --git a/Mathlib/Algebra/MonoidAlgebra/Support.lean b/Mathlib/Algebra/MonoidAlgebra/Support.lean index e49a9b3ed3501a..ec2f39030ce737 100644 --- a/Mathlib/Algebra/MonoidAlgebra/Support.lean +++ b/Mathlib/Algebra/MonoidAlgebra/Support.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.MonoidAlgebra.Module -import Mathlib.LinearAlgebra.Finsupp.Supported -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.MonoidAlgebra.Module +public import Mathlib.LinearAlgebra.Finsupp.Supported +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Lemmas about the support of a finitely supported function -/ +@[expose] public section + open scoped Pointwise universe u₁ u₂ u₃ diff --git a/Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean b/Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean index de1a807fe3501a..ea6fa080c076c1 100644 --- a/Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean +++ b/Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DirectSum.Algebra -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Data.Finsupp.ToDFinsupp +module + +public import Mathlib.Algebra.DirectSum.Algebra +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Data.Finsupp.ToDFinsupp /-! # Conversion between `AddMonoidAlgebra` and homogeneous `DirectSum` @@ -54,6 +56,8 @@ Note that there is no `AddMonoidAlgebra` equivalent to `Finsupp.single`, so many still involve this definition. -/ +@[expose] public section + variable {ι : Type*} {R : Type*} {M : Type*} {A : Type*} diff --git a/Mathlib/Algebra/MvPolynomial/Basic.lean b/Mathlib/Algebra/MvPolynomial/Basic.lean index 4a86568eddc7d3..9adbd56a98f82a 100644 --- a/Mathlib/Algebra/MvPolynomial/Basic.lean +++ b/Mathlib/Algebra/MvPolynomial/Basic.lean @@ -3,16 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.Algebra.Regular.Pow -import Mathlib.Data.Finsupp.Antidiagonal -import Mathlib.Data.Finsupp.Order -import Mathlib.Order.SymmDiff +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.Algebra.Regular.Pow +public import Mathlib.Data.Finsupp.Antidiagonal +public import Mathlib.Data.Finsupp.Order +public import Mathlib.Order.SymmDiff /-! # Multivariate polynomials @@ -63,6 +65,8 @@ polynomial, multivariate polynomial, multivariable polynomial -/ +@[expose] public section + noncomputable section open Set Function Finsupp AddMonoidAlgebra diff --git a/Mathlib/Algebra/MvPolynomial/Cardinal.lean b/Mathlib/Algebra/MvPolynomial/Cardinal.lean index 5423fa37992103..f56d127638f7aa 100644 --- a/Mathlib/Algebra/MvPolynomial/Cardinal.lean +++ b/Mathlib/Algebra/MvPolynomial/Cardinal.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Chris Hughes, Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Junyan Xu -/ -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Data.Finsupp.Fintype -import Mathlib.SetTheory.Cardinal.Finsupp +module + +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Data.Finsupp.Fintype +public import Mathlib.SetTheory.Cardinal.Finsupp /-! # Cardinality of Multivariate Polynomial Ring @@ -15,6 +17,8 @@ the cardinality of `MvPolynomial σ R` is bounded above by the maximum of `#R`, and `ℵ₀`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/MvPolynomial/Comap.lean b/Mathlib/Algebra/MvPolynomial/Comap.lean index 2d0ec2c481f22f..44f783485ab228 100644 --- a/Mathlib/Algebra/MvPolynomial/Comap.lean +++ b/Mathlib/Algebra/MvPolynomial/Comap.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Rename +module + +public import Mathlib.Algebra.MvPolynomial.Rename /-! # `comap` operation on `MvPolynomial` @@ -23,6 +25,8 @@ As in other polynomial files, we typically use the notation: -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/Algebra/MvPolynomial/CommRing.lean b/Mathlib/Algebra/MvPolynomial/CommRing.lean index d83992d156787e..b312b3a5c9ab55 100644 --- a/Mathlib/Algebra/MvPolynomial/CommRing.lean +++ b/Mathlib/Algebra/MvPolynomial/CommRing.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.MvPolynomial.Variables +module + +public import Mathlib.Algebra.MvPolynomial.Variables /-! # Multivariate polynomials over a ring @@ -32,6 +34,8 @@ This will give rise to a monomial in `MvPolynomial σ R` which mathematicians mi -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/Counit.lean b/Mathlib/Algebra/MvPolynomial/Counit.lean index be5ce465ef3a6c..f9ad0e70ece9d3 100644 --- a/Mathlib/Algebra/MvPolynomial/Counit.lean +++ b/Mathlib/Algebra/MvPolynomial/Counit.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Eval +module + +public import Mathlib.Algebra.MvPolynomial.Eval /-! ## Counit morphisms for multivariate polynomials @@ -22,6 +24,8 @@ obtained by `X a ↦ a`. -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/Algebra/MvPolynomial/Degrees.lean b/Mathlib/Algebra/MvPolynomial/Degrees.lean index 34402889f1b681..7ffc2cbcb7a951 100644 --- a/Mathlib/Algebra/MvPolynomial/Degrees.lean +++ b/Mathlib/Algebra/MvPolynomial/Degrees.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.MonoidAlgebra.Degree -import Mathlib.Algebra.MvPolynomial.Rename +module + +public import Mathlib.Algebra.MonoidAlgebra.Degree +public import Mathlib.Algebra.MvPolynomial.Rename /-! # Degrees of polynomials @@ -47,6 +49,8 @@ This will give rise to a monomial in `MvPolynomial σ R` which mathematicians mi -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/Derivation.lean b/Mathlib/Algebra/MvPolynomial/Derivation.lean index 51e9cd9a85fd97..8b022f32906437 100644 --- a/Mathlib/Algebra/MvPolynomial/Derivation.lean +++ b/Mathlib/Algebra/MvPolynomial/Derivation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.MvPolynomial.Supported -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Supported +public import Mathlib.RingTheory.Derivation.Basic /-! # Derivations of multivariate polynomials @@ -15,6 +17,8 @@ builds a derivation from its values on `X i`s and a linear equivalence `MvPolynomial.mkDerivationEquiv` between `σ → A` and `Derivation (MvPolynomial σ R) A`. -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/Algebra/MvPolynomial/Division.lean b/Mathlib/Algebra/MvPolynomial/Division.lean index c92a26639eb0eb..656dbe582b00ef 100644 --- a/Mathlib/Algebra/MvPolynomial/Division.lean +++ b/Mathlib/Algebra/MvPolynomial/Division.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.MonoidAlgebra.Division -import Mathlib.Algebra.MvPolynomial.Basic +module + +public import Mathlib.Algebra.MonoidAlgebra.Division +public import Mathlib.Algebra.MvPolynomial.Basic /-! # Division of `MvPolynomial` by monomials @@ -27,6 +29,8 @@ Where possible, the results in this file should be first proved in the generalit -/ +@[expose] public section + variable {σ R : Type*} [CommSemiring R] diff --git a/Mathlib/Algebra/MvPolynomial/Equiv.lean b/Mathlib/Algebra/MvPolynomial/Equiv.lean index 930626d652142f..5cdda015ff0b40 100644 --- a/Mathlib/Algebra/MvPolynomial/Equiv.lean +++ b/Mathlib/Algebra/MvPolynomial/Equiv.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Finsupp.Fin -import Mathlib.Algebra.MvPolynomial.Degrees -import Mathlib.Algebra.MvPolynomial.Rename -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Data.Finsupp.Option -import Mathlib.Logic.Equiv.Fin.Basic +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Fin +public import Mathlib.Algebra.MvPolynomial.Degrees +public import Mathlib.Algebra.MvPolynomial.Rename +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Data.Finsupp.Option +public import Mathlib.Logic.Equiv.Fin.Basic /-! # Equivalences between polynomial rings @@ -40,6 +42,8 @@ equivalence, isomorphism, morphism, ring hom, hom -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/Eval.lean b/Mathlib/Algebra/MvPolynomial/Eval.lean index af84f07a31f06a..8c3461d4ff90d5 100644 --- a/Mathlib/Algebra/MvPolynomial/Eval.lean +++ b/Mathlib/Algebra/MvPolynomial/Eval.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.MvPolynomial.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Basic /-! # Multivariate polynomials @@ -39,6 +41,8 @@ In the definitions below, we use the following notation: -/ +@[expose] public section + noncomputable section open Set Function Finsupp AddMonoidAlgebra diff --git a/Mathlib/Algebra/MvPolynomial/Expand.lean b/Mathlib/Algebra/MvPolynomial/Expand.lean index 8df2e679641d72..f6aee6b9d039c3 100644 --- a/Mathlib/Algebra/MvPolynomial/Expand.lean +++ b/Mathlib/Algebra/MvPolynomial/Expand.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.MvPolynomial.Monad +module + +public import Mathlib.Algebra.MvPolynomial.Monad /-! ## Expand multivariate polynomials @@ -17,6 +19,8 @@ This operation is called `MvPolynomial.expand` and it is an algebra homomorphism * `MvPolynomial.expand`: expand a polynomial by a factor of p, so `∑ aₙ xⁿ` becomes `∑ aₙ xⁿᵖ`. -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/Algebra/MvPolynomial/Funext.lean b/Mathlib/Algebra/MvPolynomial/Funext.lean index 3bb95d181683df..2ba361d0be0a35 100644 --- a/Mathlib/Algebra/MvPolynomial/Funext.lean +++ b/Mathlib/Algebra/MvPolynomial/Funext.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.RingDivision -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Polynomial -import Mathlib.Algebra.MvPolynomial.Rename +module + +public import Mathlib.Algebra.Polynomial.RingDivision +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Polynomial +public import Mathlib.Algebra.MvPolynomial.Rename /-! ## Function extensionality for multivariate polynomials @@ -22,6 +24,8 @@ if they are equal upon evaluating them on an arbitrary assignment of the variabl -/ +@[expose] public section + namespace MvPolynomial variable {R : Type*} [CommRing R] [IsDomain R] diff --git a/Mathlib/Algebra/MvPolynomial/Invertible.lean b/Mathlib/Algebra/MvPolynomial/Invertible.lean index 7235fa7a10a642..0db6b20b55fde7 100644 --- a/Mathlib/Algebra/MvPolynomial/Invertible.lean +++ b/Mathlib/Algebra/MvPolynomial/Invertible.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin, Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.MvPolynomial.Basic -import Mathlib.RingTheory.AlgebraTower +module + +public import Mathlib.Algebra.MvPolynomial.Basic +public import Mathlib.RingTheory.AlgebraTower /-! # Invertible polynomials @@ -13,6 +15,8 @@ This file is a stub containing some basic facts about invertible elements in the ring of polynomials. -/ +@[expose] public section + open MvPolynomial diff --git a/Mathlib/Algebra/MvPolynomial/Monad.lean b/Mathlib/Algebra/MvPolynomial/Monad.lean index 92a91223447f1b..46f307025f513a 100644 --- a/Mathlib/Algebra/MvPolynomial/Monad.lean +++ b/Mathlib/Algebra/MvPolynomial/Monad.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin, Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.MvPolynomial.Rename -import Mathlib.Algebra.MvPolynomial.Variables +module + +public import Mathlib.Algebra.MvPolynomial.Rename +public import Mathlib.Algebra.MvPolynomial.Variables /-! @@ -44,6 +46,8 @@ since it is not a monad in `Type` but in `CommRingCat` (or rather `CommSemiRingC -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/Nilpotent.lean b/Mathlib/Algebra/MvPolynomial/Nilpotent.lean index e5dd77f2fee9b8..29aa4276ac7efc 100644 --- a/Mathlib/Algebra/MvPolynomial/Nilpotent.lean +++ b/Mathlib/Algebra/MvPolynomial/Nilpotent.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.MvPolynomial.Homogeneous -import Mathlib.RingTheory.Polynomial.Nilpotent +module + +public import Mathlib.RingTheory.MvPolynomial.Homogeneous +public import Mathlib.RingTheory.Polynomial.Nilpotent /-! # Nilpotents and units in multivariate polynomial rings @@ -17,6 +19,8 @@ We prove that and its other coefficients are nilpotent. -/ +@[expose] public section + namespace MvPolynomial variable {σ R : Type*} [CommRing R] {P : MvPolynomial σ R} diff --git a/Mathlib/Algebra/MvPolynomial/PDeriv.lean b/Mathlib/Algebra/MvPolynomial/PDeriv.lean index e94104b76d3be8..5b2619a0c90317 100644 --- a/Mathlib/Algebra/MvPolynomial/PDeriv.lean +++ b/Mathlib/Algebra/MvPolynomial/PDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam, Yury Kudryashov -/ -import Mathlib.Algebra.MvPolynomial.Derivation -import Mathlib.Algebra.MvPolynomial.Variables +module + +public import Mathlib.Algebra.MvPolynomial.Derivation +public import Mathlib.Algebra.MvPolynomial.Variables /-! # Partial derivatives of polynomials @@ -38,6 +40,8 @@ This will give rise to a monomial in `MvPolynomial σ R` which mathematicians mi -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/Polynomial.lean b/Mathlib/Algebra/MvPolynomial/Polynomial.lean index 1ab4a4f81932ad..1ce4a68d7b1297 100644 --- a/Mathlib/Algebra/MvPolynomial/Polynomial.lean +++ b/Mathlib/Algebra/MvPolynomial/Polynomial.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.MvPolynomial.Equiv +module + +public import Mathlib.Algebra.MvPolynomial.Equiv /-! # Some lemmas relating polynomials and multivariable polynomials. -/ +@[expose] public section + namespace MvPolynomial variable {R S σ : Type*} diff --git a/Mathlib/Algebra/MvPolynomial/Rename.lean b/Mathlib/Algebra/MvPolynomial/Rename.lean index 36a2e42a5d9b24..3161df81725c17 100644 --- a/Mathlib/Algebra/MvPolynomial/Rename.lean +++ b/Mathlib/Algebra/MvPolynomial/Rename.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Algebra.MvPolynomial.Eval +module + +public import Mathlib.Algebra.MvPolynomial.Eval /-! # Renaming variables of polynomials @@ -35,6 +37,8 @@ This will give rise to a monomial in `MvPolynomial σ R` which mathematicians mi -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean b/Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean index 7fd854adf37471..d022d511d709db 100644 --- a/Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean +++ b/Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean @@ -3,15 +3,17 @@ Copyright (c) 2023 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey, Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.MvPolynomial.Variables -import Mathlib.Algebra.Order.GroupWithZero.Finset -import Mathlib.Algebra.Order.Ring.Finset -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Data.Fin.Tuple.Finset -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.MvPolynomial.Variables +public import Mathlib.Algebra.Order.GroupWithZero.Finset +public import Mathlib.Algebra.Order.Ring.Finset +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Data.Fin.Tuple.Finset +public import Mathlib.Tactic.Positivity.Finset +public import Mathlib.Tactic.GCongr /-! # The Schwartz-Zippel lemma @@ -50,6 +52,8 @@ of the field. This lemma is useful as a probabilistic polynomial identity test. * [zippel_1979] -/ +@[expose] public section + open Fin Finset Fintype local notation:70 s:70 " ^^ " n:71 => piFinset fun i : Fin n ↦ s i diff --git a/Mathlib/Algebra/MvPolynomial/Supported.lean b/Mathlib/Algebra/MvPolynomial/Supported.lean index 3fb1d81189d5fa..0e88ba15b78853 100644 --- a/Mathlib/Algebra/MvPolynomial/Supported.lean +++ b/Mathlib/Algebra/MvPolynomial/Supported.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.MvPolynomial.Variables +module + +public import Mathlib.Algebra.MvPolynomial.Variables /-! # Polynomials supported by a set of variables @@ -20,6 +22,8 @@ This file contains the definition and lemmas about `MvPolynomial.supported`. variables, polynomial, vars -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/MvPolynomial/Variables.lean b/Mathlib/Algebra/MvPolynomial/Variables.lean index 25c96b91898b1b..ca2edc7a576d32 100644 --- a/Mathlib/Algebra/MvPolynomial/Variables.lean +++ b/Mathlib/Algebra/MvPolynomial/Variables.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro -/ -import Mathlib.Data.Finsupp.Lex -import Mathlib.Algebra.MvPolynomial.Degrees +module + +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Algebra.MvPolynomial.Degrees /-! # Variables of polynomials @@ -39,6 +41,8 @@ This will give rise to a monomial in `MvPolynomial σ R` which mathematicians mi -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/NeZero.lean b/Mathlib/Algebra/NeZero.lean index 15f3c16aa1b327..0c22994457825a 100644 --- a/Mathlib/Algebra/NeZero.lean +++ b/Mathlib/Algebra/NeZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Logic.Basic -import Mathlib.Order.Defs.PartialOrder +module + +public import Mathlib.Logic.Basic +public import Mathlib.Order.Defs.PartialOrder /-! # `NeZero` typeclass @@ -13,6 +15,8 @@ We give basic facts about the `NeZero n` typeclass. -/ +@[expose] public section + variable {R : Type*} [Zero R] theorem not_neZero {n : R} : ¬NeZero n ↔ n = 0 := by simp [neZero_iff] diff --git a/Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean b/Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean index 33c4b41eccf1ec..36c630470dd50f 100644 --- a/Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean +++ b/Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yury Kudryashov, Joseph Myers, Heather Macbeth, Kim Morrison, Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.Module.End -import Mathlib.Algebra.NoZeroSMulDivisors.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.Module.End +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs /-! # `NoZeroSMulDivisors` @@ -14,6 +16,8 @@ This file defines the `NoZeroSMulDivisors` class, and includes some tests for the vanishing of elements (especially in modules over division rings). -/ +@[expose] public section + assert_not_exists Multiset Set.indicator Pi.single_smul₀ Field section NoZeroSMulDivisors diff --git a/Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean b/Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean index 2ba46ced071f5f..5f830b8ccf49a2 100644 --- a/Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean +++ b/Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Nathaniel Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yury Kudryashov, Joseph Myers, Heather Macbeth, Kim Morrison, Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Group.Torsion -import Mathlib.Tactic.Contrapose +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Tactic.Contrapose /-! # `NoZeroSMulDivisors` @@ -20,6 +22,8 @@ for the vanishing of elements (especially in modules over division rings). seen the same change happen already. -/ +@[expose] public section + assert_not_exists RelIso Multiset Set.indicator Pi.single_smul₀ Ring Module variable {R M G : Type*} diff --git a/Mathlib/Algebra/NoZeroSMulDivisors/Pi.lean b/Mathlib/Algebra/NoZeroSMulDivisors/Pi.lean index ac7b42a019040f..be88af0874e4c8 100644 --- a/Mathlib/Algebra/NoZeroSMulDivisors/Pi.lean +++ b/Mathlib/Algebra/NoZeroSMulDivisors/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yaël Dillies -/ -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.Group.Action.Pi +module + +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.Group.Action.Pi /-! # Pi instances for NoZeroSMulDivisors @@ -12,6 +14,8 @@ import Mathlib.Algebra.Group.Action.Pi This file defines instances for NoZeroSMulDivisors on Pi types. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/NoZeroSMulDivisors/Prod.lean b/Mathlib/Algebra/NoZeroSMulDivisors/Prod.lean index 9538dd5fb2b580..1e8c716314fdbd 100644 --- a/Mathlib/Algebra/NoZeroSMulDivisors/Prod.lean +++ b/Mathlib/Algebra/NoZeroSMulDivisors/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.Notation.Prod +module + +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.Notation.Prod /-! # Prod instances for NoZeroSMulDivisors @@ -12,6 +14,8 @@ import Mathlib.Algebra.Notation.Prod This file defines a NoZeroSMulDivisors instance for the binary product of actions. -/ +@[expose] public section + variable {R M N : Type*} namespace Prod diff --git a/Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean b/Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean index 0178332c2e1b23..701e566b412087 100644 --- a/Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean +++ b/Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Nikolas Tapia. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nikolas Tapia -/ -import Mathlib.Algebra.Lie.Basic -import Mathlib.Algebra.NonAssoc.PreLie.Basic +module + +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.Algebra.NonAssoc.PreLie.Basic /-! # Lie admissible rings and algebras @@ -36,6 +38,8 @@ documentation of `Algebra`. Frames.**][munthe-kaas_lundervold_2013] -/ +@[expose] public section + /-- A `LieAdmissibleRing` is a `NonUnitalNonAssocRing` such that the canonical bracket `⁅x, y⁆ := x * y - y * x` turns it into a `LieRing`. This is expressed by an associator identity. -/ @[ext] diff --git a/Mathlib/Algebra/NonAssoc/PreLie/Basic.lean b/Mathlib/Algebra/NonAssoc/PreLie/Basic.lean index 4b257b74657c3b..4fef981f19bc0f 100644 --- a/Mathlib/Algebra/NonAssoc/PreLie/Basic.lean +++ b/Mathlib/Algebra/NonAssoc/PreLie/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Nikolas Tapia. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nikolas Tapia -/ -import Mathlib.Algebra.Module.Opposite -import Mathlib.Algebra.Ring.Associator -import Mathlib.GroupTheory.GroupAction.Ring +module + +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Algebra.Ring.Associator +public import Mathlib.GroupTheory.GroupAction.Ring /-! # Pre-Lie rings and algebras @@ -40,6 +42,8 @@ Perhaps one could be favored but there is no real reason to. -/ +@[expose] public section + /-- `LeftPreLieRing`s are `NonUnitalNonAssocRing`s such that the `associator` is symmetric in the first two variables. -/ @[ext] diff --git a/Mathlib/Algebra/Notation.lean b/Mathlib/Algebra/Notation.lean index 9068883f0c810e..b879ac83a157c6 100644 --- a/Mathlib/Algebra/Notation.lean +++ b/Mathlib/Algebra/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.ToAdditive +module + +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.ToAdditive /-! # Notations for operations involving order and algebraic structure @@ -17,6 +19,8 @@ import Mathlib.Tactic.ToAdditive * `a⁻ = (-a) ⊔ 0`: *Negative component* of an element `a` of a lattice ordered group -/ +@[expose] public section + /-- A notation class for the *positive part* function: `a⁺`. -/ class PosPart (α : Type*) where /-- The *positive part* of an element `a`. -/ diff --git a/Mathlib/Algebra/Notation/Defs.lean b/Mathlib/Algebra/Notation/Defs.lean index 397dcefd87f48b..eb32051385f6d2 100644 --- a/Mathlib/Algebra/Notation/Defs.lean +++ b/Mathlib/Algebra/Notation/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Simon Hudon, Mario Carneiro -/ -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.ToAdditive -import Mathlib.Util.AssertExists +module + +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.ToAdditive +public import Mathlib.Util.AssertExists /-! # Typeclasses for algebraic operations @@ -31,6 +33,8 @@ Note `Zero` has already been defined in core Lean. -/ +@[expose] public section + assert_not_exists Function.Bijective universe u v w diff --git a/Mathlib/Algebra/Notation/FiniteSupport.lean b/Mathlib/Algebra/Notation/FiniteSupport.lean index 8d275c6d792c3c..d2f88d7ed3bca9 100644 --- a/Mathlib/Algebra/Notation/FiniteSupport.lean +++ b/Mathlib/Algebra/Notation/FiniteSupport.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Data.Set.Finite.Basic /-! # Finiteness of support -/ +@[expose] public section + assert_not_exists Monoid namespace Function diff --git a/Mathlib/Algebra/Notation/Indicator.lean b/Mathlib/Algebra/Notation/Indicator.lean index 3606a1465b2338..360e0485c17857 100644 --- a/Mathlib/Algebra/Notation/Indicator.lean +++ b/Mathlib/Algebra/Notation/Indicator.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Data.Set.Piecewise +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Data.Set.Piecewise /-! # Indicator function @@ -34,6 +36,8 @@ arguments. This is in contrast with the design of `Pi.single` or `Set.piecewise` indicator, characteristic -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Algebra/Notation/Lemmas.lean b/Mathlib/Algebra/Notation/Lemmas.lean index 5d83476d67cb2f..bf2ea7f07b0ae8 100644 --- a/Mathlib/Algebra/Notation/Lemmas.lean +++ b/Mathlib/Algebra/Notation/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Yael Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yael Dillies -/ -import Batteries.Tactic.Init -import Mathlib.Tactic.ToAdditive -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Mathlib.Util.AssertExists +module + +public import Batteries.Tactic.Init +public import Mathlib.Tactic.ToAdditive +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar +public import Mathlib.Util.AssertExists /-! # Lemmas about inequalities with `1`. -/ +@[expose] public section + assert_not_exists Monoid variable {α : Type*} diff --git a/Mathlib/Algebra/Notation/Pi/Basic.lean b/Mathlib/Algebra/Notation/Pi/Basic.lean index 2c526e6efc9b1b..161c9652d960a4 100644 --- a/Mathlib/Algebra/Notation/Pi/Basic.lean +++ b/Mathlib/Algebra/Notation/Pi/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Logic.Function.Basic +module + +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Logic.Function.Basic /-! # Very basic algebraic operations on pi types @@ -12,6 +14,8 @@ import Mathlib.Logic.Function.Basic This file provides very basic algebraic operations on functions. -/ +@[expose] public section + assert_not_exists Monoid Preorder open Function diff --git a/Mathlib/Algebra/Notation/Pi/Defs.lean b/Mathlib/Algebra/Notation/Pi/Defs.lean index 4b8431c0ce3ecc..4cbc4c00a73ad1 100644 --- a/Mathlib/Algebra/Notation/Pi/Defs.lean +++ b/Mathlib/Algebra/Notation/Pi/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Eric Wieser -/ -import Mathlib.Algebra.Notation.Defs -import Mathlib.Util.AssertExists -import Mathlib.Tactic.Push.Attr +module + +public import Mathlib.Algebra.Notation.Defs +public import Mathlib.Util.AssertExists +public import Mathlib.Tactic.Push.Attr /-! # Notation for algebraic operators on pi types @@ -15,6 +17,8 @@ See `Mathlib/Algebra/Group/Pi/Basic.lean` for the `Monoid` and `Group` instances an instance of the `Star` notation typeclass, but no default notation is included. -/ +@[expose] public section + assert_not_exists Set.range Monoid Preorder open Function diff --git a/Mathlib/Algebra/Notation/Prod.lean b/Mathlib/Algebra/Notation/Prod.lean index 2cac3b54a66256..1b50383191ac11 100644 --- a/Mathlib/Algebra/Notation/Prod.lean +++ b/Mathlib/Algebra/Notation/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Util.AssertExists -import Mathlib.Algebra.Notation.Defs -import Mathlib.Data.Prod.Basic +module + +public import Mathlib.Util.AssertExists +public import Mathlib.Algebra.Notation.Defs +public import Mathlib.Data.Prod.Basic /-! # Arithmetic operators on (pairwise) product types @@ -17,6 +19,8 @@ included. -/ +@[expose] public section + assert_not_exists Monoid DenselyOrdered variable {G H M N P R S : Type*} diff --git a/Mathlib/Algebra/Notation/Support.lean b/Mathlib/Algebra/Notation/Support.lean index f79ca7b35d0c7c..c3a73b587e6984 100644 --- a/Mathlib/Algebra/Notation/Support.lean +++ b/Mathlib/Algebra/Notation/Support.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Algebra.Notation.Prod -import Mathlib.Data.Set.Image +module + +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Data.Set.Image /-! # Support of a function @@ -14,6 +16,8 @@ In this file we define `Function.support f = {x | f x ≠ 0}` and prove its basi We also define `Function.mulSupport f = {x | f x ≠ 1}`. -/ +@[expose] public section + assert_not_exists Monoid CompleteLattice open Function Set diff --git a/Mathlib/Algebra/Opposites.lean b/Mathlib/Algebra/Opposites.lean index 80fd305da60c28..e0934cd5cc2167 100644 --- a/Mathlib/Algebra/Opposites.lean +++ b/Mathlib/Algebra/Opposites.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Logic.Equiv.Defs -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Logic.IsEmpty +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Logic.Nontrivial.Basic +public import Mathlib.Logic.IsEmpty /-! # Multiplicative opposite and algebraic operations on it @@ -38,6 +40,8 @@ definitional eta reduction for structures (Lean 3 does not). multiplicative opposite, additive opposite -/ +@[expose] public section + variable {α β : Type*} open Function diff --git a/Mathlib/Algebra/Order/AbsoluteValue/Basic.lean b/Mathlib/Algebra/Order/AbsoluteValue/Basic.lean index 9d2d8ab7c739a6..4b82cfa512a3f6 100644 --- a/Mathlib/Algebra/Order/AbsoluteValue/Basic.lean +++ b/Mathlib/Algebra/Order/AbsoluteValue/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Anne Baanen -/ -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.Order.Hom.Basic -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Order.Hom.Basic +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Tactic.Positivity.Core /-! # Absolute values @@ -24,6 +26,8 @@ This file defines a bundled type of absolute values `AbsoluteValue R S`. value -/ +@[expose] public section + variable {ι α R S : Type*} /-- `AbsoluteValue R S` is the type of absolute values on `R` mapping to `S`: @@ -410,7 +414,7 @@ lemma abv_nonneg (x) : 0 ≤ abv x := abv_nonneg' x open Lean Meta Mathlib Meta Positivity Qq in /-- The `positivity` extension which identifies expressions of the form `abv a`. -/ @[positivity _] -def Mathlib.Meta.Positivity.evalAbv : PositivityExt where eval {_ _α} _zα _pα e := do +meta def Mathlib.Meta.Positivity.evalAbv : PositivityExt where eval {_ _α} _zα _pα e := do let (.app f a) ← whnfR e | throwError "not abv ·" let pa' ← mkAppM ``abv_nonneg #[f, a] pure (.nonnegative pa') diff --git a/Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean b/Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean index 55d474ed090dd9..7b362f9d40c56a 100644 --- a/Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean +++ b/Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.EuclideanDomain.Int +module + +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.EuclideanDomain.Int /-! # Euclidean absolute values @@ -20,6 +22,8 @@ absolute value is compatible with the Euclidean domain structure on its domain. mapping negative `x` to `-x`, is Euclidean. -/ +@[expose] public section + @[inherit_doc] local infixl:50 " ≺ " => EuclideanDomain.r diff --git a/Mathlib/Algebra/Order/AddGroupWithTop.lean b/Mathlib/Algebra/Order/AddGroupWithTop.lean index d49101dc90aa6e..8103b01b844755 100644 --- a/Mathlib/Algebra/Order/AddGroupWithTop.lean +++ b/Mathlib/Algebra/Order/AddGroupWithTop.lean @@ -3,10 +3,12 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.WithTop -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.Order.Monoid.WithTop +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Linearly ordered commutative additive groups and monoids with a top element adjoined @@ -23,6 +25,8 @@ whereas it is a very common target for valuations. The solutions is to use a typeclass, and that is exactly what we do in this file. -/ +@[expose] public section + variable {α : Type*} /-- A linearly ordered commutative monoid with an additively absorbing `⊤` element. diff --git a/Mathlib/Algebra/Order/AddTorsor.lean b/Mathlib/Algebra/Order/AddTorsor.lean index d248256edd47e9..7763fa70b31cde 100644 --- a/Mathlib/Algebra/Order/AddTorsor.lean +++ b/Mathlib/Algebra/Order/AddTorsor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Order.Monoid.Defs +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Order.Monoid.Defs /-! # Ordered scalar multiplication and vector addition @@ -47,6 +49,8 @@ an ordered field. * WithTop (in a different file?) -/ +@[expose] public section + open Function variable {G P : Type*} diff --git a/Mathlib/Algebra/Order/Algebra.lean b/Mathlib/Algebra/Order/Algebra.lean index c0198123049579..e0d81549ed0c6d 100644 --- a/Mathlib/Algebra/Order/Algebra.lean +++ b/Mathlib/Algebra/Order/Algebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Order.Module.Defs +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Order.Module.Defs /-! # Ordered algebras @@ -28,6 +30,8 @@ and `IsStrictOrderedModule` mixins. ordered algebra -/ +@[expose] public section + section OrderedAlgebra variable {R A : Type*} [CommRing R] [PartialOrder R] [IsOrderedRing R] diff --git a/Mathlib/Algebra/Order/Antidiag/Finsupp.lean b/Mathlib/Algebra/Order/Antidiag/Finsupp.lean index 79d000a03963bb..8e76913f5020e3 100644 --- a/Mathlib/Algebra/Order/Antidiag/Finsupp.lean +++ b/Mathlib/Algebra/Order/Antidiag/Finsupp.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández, Eric Wieser, Bhavik Mehta, Yaël Dillies -/ -import Mathlib.Algebra.Order.Antidiag.Pi -import Mathlib.Data.Finsupp.Basic +module + +public import Mathlib.Algebra.Order.Antidiag.Pi +public import Mathlib.Data.Finsupp.Basic /-! # Antidiagonal of finitely supported functions as finsets @@ -26,6 +28,8 @@ We define it using `Finset.piAntidiag s n`, the corresponding antidiagonal in ` -/ +@[expose] public section + open Finsupp Function variable {ι μ μ' : Type*} diff --git a/Mathlib/Algebra/Order/Antidiag/Nat.lean b/Mathlib/Algebra/Order/Antidiag/Nat.lean index 32e256b443ddbe..d39529c1a94840 100644 --- a/Mathlib/Algebra/Order/Antidiag/Nat.lean +++ b/Mathlib/Algebra/Order/Antidiag/Nat.lean @@ -3,9 +3,12 @@ Copyright (c) 2024 Arend Mellendijk. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arend Mellendijk -/ -import Mathlib.Algebra.Order.Antidiag.Pi -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Order.Antidiag.Pi +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.Tactic.IntervalCases +import Mathlib.Data.PNat.Basic /-! # Sets of tuples with a fixed product @@ -20,6 +23,8 @@ This file defines the finite set of `d`-tuples of natural numbers with a fixed p (`card_pair_lcm_eq`) -/ +@[expose] public section + open Finset open scoped BigOperators ArithmeticFunction namespace PNat diff --git a/Mathlib/Algebra/Order/Antidiag/Pi.lean b/Mathlib/Algebra/Order/Antidiag/Pi.lean index f3e94e1293b6a1..170819e401db71 100644 --- a/Mathlib/Algebra/Order/Antidiag/Pi.lean +++ b/Mathlib/Algebra/Order/Antidiag/Pi.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández, Eric Wieser, Bhavik Mehta, Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Data.Fin.Tuple.NatAntidiagonal -import Mathlib.Data.Finset.Sym +module + +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Data.Fin.Tuple.NatAntidiagonal +public import Mathlib.Data.Finset.Sym /-! # Antidiagonal of functions as finsets @@ -39,6 +41,8 @@ identification. See `Finset.finAntidiag` for the details. `Finset.finsuppAntidiag` for the `Finset (ι →₀ μ)`-valued version of `Finset.piAntidiag`. -/ +@[expose] public section + open Function variable {ι μ μ' : Type*} diff --git a/Mathlib/Algebra/Order/Antidiag/Prod.lean b/Mathlib/Algebra/Order/Antidiag/Prod.lean index 48ffc81b990281..f333dc4ac64ea3 100644 --- a/Mathlib/Algebra/Order/Antidiag/Prod.lean +++ b/Mathlib/Algebra/Order/Antidiag/Prod.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Antoine Chambert-Loir and María Inés de Frutos-Fernández. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández, Bhavik Mehta, Eric Wieser -/ -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Data.Finset.Basic -import Mathlib.Order.Interval.Finset.Defs +module + +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Data.Finset.Basic +public import Mathlib.Order.Interval.Finset.Defs /-! # Antidiagonal with values in general types @@ -47,6 +49,8 @@ def s : Multiset ℕ := {0, 0, 0} For `PNat`, we will recover the set of divisors of a strictly positive integer. -/ +@[expose] public section + open Function namespace Finset diff --git a/Mathlib/Algebra/Order/Archimedean/Basic.lean b/Mathlib/Algebra/Order/Archimedean/Basic.lean index e43bebc9e50e38..8404970c4b4b60 100644 --- a/Mathlib/Algebra/Order/Archimedean/Basic.lean +++ b/Mathlib/Algebra/Order/Archimedean/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Algebra.Order.Monoid.Units -import Mathlib.Algebra.Order.Ring.Pow -import Mathlib.Data.Int.LeastGreatest -import Mathlib.Data.Rat.Floor +module + +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Algebra.Order.Monoid.Units +public import Mathlib.Algebra.Order.Ring.Pow +public import Mathlib.Data.Int.LeastGreatest +public import Mathlib.Data.Rat.Floor /-! # Archimedean groups and fields. @@ -30,6 +32,8 @@ number `n` such that `x ≤ n • y`. * `ℕ`, `ℤ`, and `ℚ` are archimedean. -/ +@[expose] public section + assert_not_exists Finset open Int Set diff --git a/Mathlib/Algebra/Order/Archimedean/Class.lean b/Mathlib/Algebra/Order/Archimedean/Class.lean index 76925c9907d2bd..069f93a5a17bd2 100644 --- a/Mathlib/Algebra/Order/Archimedean/Class.lean +++ b/Mathlib/Algebra/Order/Archimedean/Class.lean @@ -3,15 +3,17 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Data.Finset.Max -import Mathlib.Order.Antisymmetrization -import Mathlib.Order.Hom.WithTopBot -import Mathlib.Order.UpperLower.CompleteLattice -import Mathlib.Order.UpperLower.Principal +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Data.Finset.Max +public import Mathlib.Order.Antisymmetrization +public import Mathlib.Order.Hom.WithTopBot +public import Mathlib.Order.UpperLower.CompleteLattice +public import Mathlib.Order.UpperLower.Principal /-! # Archimedean classes of a linearly ordered group @@ -52,6 +54,8 @@ the order. -/ +@[expose] public section + section ArchimedeanOrder variable {M : Type*} diff --git a/Mathlib/Algebra/Order/Archimedean/Hom.lean b/Mathlib/Algebra/Order/Archimedean/Hom.lean index 59726e03ede4cb..2be4c7abbed53b 100644 --- a/Mathlib/Algebra/Order/Archimedean/Hom.lean +++ b/Mathlib/Algebra/Order/Archimedean/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.Hom.Ring +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.Hom.Ring /-! ### Uniqueness of ring homomorphisms to archimedean fields. @@ -14,6 +16,8 @@ ordered field. Reciprocally, such an ordered ring homomorphism exists when the c conditionally complete. -/ +@[expose] public section + assert_not_exists Finset variable {α β : Type*} [Field α] [LinearOrder α] [Field β] [LinearOrder β] diff --git a/Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean b/Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean index 3fe4e60337861c..34fcde067b28f5 100644 --- a/Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean +++ b/Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Indicator -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Order.LiminfLimsup -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Indicator +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Order.LiminfLimsup +public import Mathlib.SetTheory.Cardinal.Finite /-! # Cardinality and limit of sum of indicators @@ -19,6 +21,8 @@ limsups of sums of indicators. finite, indicator, limsup, tendsto -/ +@[expose] public section + namespace Set open Filter Finset diff --git a/Mathlib/Algebra/Order/Archimedean/Submonoid.lean b/Mathlib/Algebra/Order/Archimedean/Submonoid.lean index 45f64496807cd0..6b73e0629c8da4 100644 --- a/Mathlib/Algebra/Order/Archimedean/Submonoid.lean +++ b/Mathlib/Algebra/Order/Archimedean/Submonoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Order.Archimedean.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Order.Archimedean.Basic /-! # Submonoids of archimedean monoids @@ -21,6 +23,8 @@ submonoid of the ambient group. submonoid. -/ +@[expose] public section + assert_not_exists Finset @[to_additive] diff --git a/Mathlib/Algebra/Order/BigOperators/Expect.lean b/Mathlib/Algebra/Order/BigOperators/Expect.lean index bb61309841d49b..5f304c8fd31039 100644 --- a/Mathlib/Algebra/Order/BigOperators/Expect.lean +++ b/Mathlib/Algebra/Order/BigOperators/Expect.lean @@ -3,17 +3,21 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Expect -import Mathlib.Algebra.Module.Rat -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.Module.Field -import Mathlib.Algebra.Order.Module.Rat -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.BigOperators.Expect +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.Module.Field +public import Mathlib.Algebra.Order.Module.Rat +public import Mathlib.Tactic.GCongr /-! # Order properties of the average over a finset -/ +@[expose] public section + open Function open Fintype (card) open scoped BigOperators Pointwise NNRat @@ -182,7 +186,7 @@ open scoped BigOperators attribute [local instance] monadLiftOptionMetaM in /-- Positivity extension for `Finset.expect`. -/ @[positivity Finset.expect _ _] -def evalFinsetExpect : PositivityExt where eval {u α} zα pα e := do +meta def evalFinsetExpect : PositivityExt where eval {u α} zα pα e := do match e with | ~q(@Finset.expect $ι _ $instα $instmod $s $f) => let i : Q($ι) ← mkFreshExprMVarQ q($ι) .syntheticOpaque diff --git a/Mathlib/Algebra/Order/BigOperators/Group/Finset.lean b/Mathlib/Algebra/Order/BigOperators/Group/Finset.lean index 99f2e07467ca7a..88554835b2aef1 100644 --- a/Mathlib/Algebra/Order/BigOperators/Group/Finset.lean +++ b/Mathlib/Algebra/Order/BigOperators/Group/Finset.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Algebra.Order.BigOperators.Group.Multiset -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.Multiset.OrderedMonoid -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Algebra.BigOperators.Group.Finset.Sigma -import Mathlib.Data.Multiset.Powerset -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Algebra.Order.BigOperators.Group.Multiset +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.Multiset.OrderedMonoid +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Algebra.BigOperators.Group.Finset.Sigma +public import Mathlib.Data.Multiset.Powerset +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow /-! # Big operators on a finset in ordered groups @@ -19,6 +21,8 @@ This file contains the results concerning the interaction of multiset big operat groups/monoids. -/ +@[expose] public section + assert_not_exists Ring open Function diff --git a/Mathlib/Algebra/Order/BigOperators/Group/List.lean b/Mathlib/Algebra/Order/BigOperators/Group/List.lean index 3b9cbaa5b42a9a..f0e06b785fc30f 100644 --- a/Mathlib/Algebra/Order/BigOperators/Group/List.lean +++ b/Mathlib/Algebra/Order/BigOperators/Group/List.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Algebra.BigOperators.Group.List.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Algebra.BigOperators.Group.List.Basic /-! # Big operators on a list in ordered groups @@ -14,6 +16,8 @@ This file contains the results concerning the interaction of list big operators groups/monoids. -/ +@[expose] public section + variable {ι α M N : Type*} namespace List diff --git a/Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean b/Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean index e75e429862d035..ec51f36331eecb 100644 --- a/Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean +++ b/Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Sigma -import Mathlib.Algebra.Order.Interval.Finset.SuccPred -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Sigma +public import Mathlib.Algebra.Order.Interval.Finset.SuccPred +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.Interval.Finset.Nat /-! # Big operators indexed by intervals @@ -14,6 +16,8 @@ import Mathlib.Order.Interval.Finset.Nat This file proves lemmas about `∏ x ∈ Ixx a b, f x` and `∑ x ∈ Ixx a b, f x`. -/ +@[expose] public section + open Order variable {α M : Type*} [CommMonoid M] {f : α → M} {a b : α} diff --git a/Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean b/Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean index 7bfb26be832e57..02fa2961de8a02 100644 --- a/Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean +++ b/Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.Order.BigOperators.Group.List -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Data.List.MinMax -import Mathlib.Data.Multiset.Fold +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.Order.BigOperators.Group.List +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Data.List.MinMax +public import Mathlib.Data.Multiset.Fold /-! # Big operators on a multiset in ordered groups @@ -16,6 +18,8 @@ This file contains the results concerning the interaction of multiset big operat groups. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {ι α β : Type*} diff --git a/Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean b/Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean index 2d1516e138c632..68585d1d545bfe 100644 --- a/Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean +++ b/Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell, Daniel Weber -/ -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic /-! # Big operators on a list in ordered groups with zeros @@ -13,6 +15,8 @@ This file contains the results concerning the interaction of list big operators groups with zeros. -/ +@[expose] public section + namespace List variable {R : Type*} [CommMonoidWithZero R] [PartialOrder R] [ZeroLEOneClass R] [PosMulMono R] diff --git a/Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean b/Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean index 72b133f33bdefb..1b97912fd06aeb 100644 --- a/Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean +++ b/Mathlib/Algebra/Order/BigOperators/GroupWithZero/Multiset.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde, Daniel Weber -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.Order.BigOperators.GroupWithZero.List +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.Order.BigOperators.GroupWithZero.List /-! # Big operators on a multiset in ordered groups with zeros @@ -13,6 +15,8 @@ This file contains the results concerning the interaction of multiset big operat groups with zeros. -/ +@[expose] public section + namespace Multiset variable {R : Type*} [CommMonoidWithZero R] [PartialOrder R] [ZeroLEOneClass R] [PosMulMono R] diff --git a/Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean b/Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean index 53bdc98c6b5634..7499370707028a 100644 --- a/Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean +++ b/Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.BigOperators.Ring.Multiset -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.BigOperators.Ring.Multiset +public import Mathlib.Tactic.Ring /-! # Big operators on a finset in ordered rings @@ -19,6 +21,8 @@ In particular, this file contains the standard form of the Cauchy-Schwarz inequa some of its immediate consequences. -/ +@[expose] public section + variable {ι R S : Type*} namespace Finset @@ -271,7 +275,7 @@ example (s : Finset ℕ) (f : ℕ → ℤ) (hf : ∀ n, 0 ≤ f n) : 0 ≤ s.pro because `compareHyp` can't look for assumptions behind binders. -/ @[positivity Finset.prod _ _] -def evalFinsetProd : PositivityExt where eval {u α} zα pα e := do +meta def evalFinsetProd : PositivityExt where eval {u α} zα pα e := do match e with | ~q(@Finset.prod $ι _ $instα $s $f) => let i : Q($ι) ← mkFreshExprMVarQ q($ι) .syntheticOpaque diff --git a/Mathlib/Algebra/Order/BigOperators/Ring/List.lean b/Mathlib/Algebra/Order/BigOperators/Ring/List.lean index 430a8c46ccb012..24cbcdf2ce2034 100644 --- a/Mathlib/Algebra/Order/BigOperators/Ring/List.lean +++ b/Mathlib/Algebra/Order/BigOperators/Ring/List.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell -/ -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Algebra.BigOperators.Group.List.Defs +module + +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Algebra.BigOperators.Group.List.Defs /-! # Big operators on a list in ordered rings @@ -12,6 +14,8 @@ import Mathlib.Algebra.BigOperators.Group.List.Defs This file contains the results concerning the interaction of list big operators with ordered rings. -/ +@[expose] public section + variable {R : Type*} /-- A variant of `List.prod_pos` for `CanonicallyOrderedAdd`. -/ diff --git a/Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean b/Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean index fdd55c3b75c8fd..b0add54864dc5c 100644 --- a/Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean +++ b/Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Defs -import Mathlib.Algebra.Order.BigOperators.Ring.List +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Defs +public import Mathlib.Algebra.Order.BigOperators.Ring.List /-! # Big operators on a multiset in ordered rings @@ -13,6 +15,8 @@ This file contains the results concerning the interaction of multiset big operat rings. -/ +@[expose] public section + open Multiset @[simp] diff --git a/Mathlib/Algebra/Order/CauSeq/Basic.lean b/Mathlib/Algebra/Order/CauSeq/Basic.lean index fb93e34aa004f5..b47c1a8fce48eb 100644 --- a/Mathlib/Algebra/Order/CauSeq/Basic.lean +++ b/Mathlib/Algebra/Order/CauSeq/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Group.MinMax -import Mathlib.Algebra.Ring.Pi -import Mathlib.Data.Setoid.Basic -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Group.MinMax +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Data.Setoid.Basic +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.Tactic.GCongr /-! # Cauchy sequences @@ -31,6 +33,8 @@ This is a concrete implementation that is useful for simplicity and computabilit sequence, cauchy, abs val, absolute value -/ +@[expose] public section + assert_not_exists Finset Module Submonoid FloorRing variable {α β : Type*} diff --git a/Mathlib/Algebra/Order/CauSeq/BigOperators.lean b/Mathlib/Algebra/Order/CauSeq/BigOperators.lean index 04f176cc8f0e73..82eb1e3d9f1e12 100644 --- a/Mathlib/Algebra/Order/CauSeq/BigOperators.lean +++ b/Mathlib/Algebra/Order/CauSeq/BigOperators.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yaël Dillies -/ -import Mathlib.Algebra.Field.GeomSum -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.CauSeq.Basic +module + +public import Mathlib.Algebra.Field.GeomSum +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.CauSeq.Basic /-! # Cauchy sequences and big operators @@ -14,6 +16,8 @@ import Mathlib.Algebra.Order.CauSeq.Basic This file proves some more lemmas about basic Cauchy sequences that involve finite sums. -/ +@[expose] public section + open Finset IsAbsoluteValue namespace IsCauSeq diff --git a/Mathlib/Algebra/Order/CauSeq/Completion.lean b/Mathlib/Algebra/Order/CauSeq/Completion.lean index b8863e374e5c5e..f3fe0ccc4b56ca 100644 --- a/Mathlib/Algebra/Order/CauSeq/Completion.lean +++ b/Mathlib/Algebra/Order/CauSeq/Completion.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Robert Y. Lewis -/ -import Mathlib.Algebra.Order.CauSeq.Basic -import Mathlib.Algebra.Ring.Action.Rat -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Order.CauSeq.Basic +public import Mathlib.Algebra.Ring.Action.Rat +public import Mathlib.Tactic.FastInstance /-! # Cauchy completion @@ -14,6 +16,8 @@ This file generalizes the Cauchy completion of `(ℚ, abs)` to the completion of with absolute value. -/ +@[expose] public section + namespace CauSeq.Completion @@ -144,7 +148,8 @@ private theorem one_def : 1 = mk (abv := abv) 1 := rfl instance Cauchy.ring : Ring (Cauchy abv) := fast_instance% - Function.Surjective.ring mk Quotient.mk'_surjective zero_def.symm one_def.symm + Function.Surjective.ring mk Quotient.mk'_surjective (private_decl% zero_def.symm) + (private_decl% one_def.symm) (fun _ _ => (mk_add _ _).symm) (fun _ _ => (mk_mul _ _).symm) (fun _ => (mk_neg _).symm) (fun _ _ => (mk_sub _ _).symm) (fun _ _ => (mk_smul _ _).symm) (fun _ _ => (mk_smul _ _).symm) (fun _ _ => (mk_pow _ _).symm) (fun _ => rfl) fun _ => rfl @@ -172,10 +177,10 @@ variable {α : Type*} [Field α] [LinearOrder α] [IsStrictOrderedRing α] variable {β : Type*} [CommRing β] {abv : β → α} [IsAbsoluteValue abv] instance Cauchy.commRing : CommRing (Cauchy abv) := fast_instance% - Function.Surjective.commRing mk Quotient.mk'_surjective zero_def.symm one_def.symm - (fun _ _ => (mk_add _ _).symm) (fun _ _ => (mk_mul _ _).symm) (fun _ => (mk_neg _).symm) - (fun _ _ => (mk_sub _ _).symm) (fun _ _ => (mk_smul _ _).symm) (fun _ _ => (mk_smul _ _).symm) - (fun _ _ => (mk_pow _ _).symm) (fun _ => rfl) fun _ => rfl + Function.Surjective.commRing mk Quotient.mk'_surjective (private_decl% zero_def.symm) + (private_decl% one_def.symm) (fun _ _ => (mk_add _ _).symm) (fun _ _ => (mk_mul _ _).symm) + (fun _ => (mk_neg _).symm) (fun _ _ => (mk_sub _ _).symm) (fun _ _ => (mk_smul _ _).symm) + (fun _ _ => (mk_smul _ _).symm) (fun _ _ => (mk_pow _ _).symm) (fun _ => rfl) fun _ => rfl end diff --git a/Mathlib/Algebra/Order/Chebyshev.lean b/Mathlib/Algebra/Order/Chebyshev.lean index 9ecec7f997883c..6fd65b5f1c31a4 100644 --- a/Mathlib/Algebra/Order/Chebyshev.lean +++ b/Mathlib/Algebra/Order/Chebyshev.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Mantas Bakšys, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mantas Bakšys, Yaël Dillies -/ -import Mathlib.Algebra.Order.Monovary -import Mathlib.Algebra.Order.Rearrangement -import Mathlib.GroupTheory.Perm.Cycle.Basic -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Algebra.Order.Monovary +public import Mathlib.Algebra.Order.Rearrangement +public import Mathlib.GroupTheory.Perm.Cycle.Basic +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.Positivity /-! # Chebyshev's sum inequality @@ -36,6 +38,8 @@ The case for `Monotone`/`Antitone` pairs of functions over a `LinearOrder` is no file because it is easily deducible from the `Monovary` API. -/ +@[expose] public section + open Equiv Equiv.Perm Finset Function OrderDual diff --git a/Mathlib/Algebra/Order/CompleteField.lean b/Mathlib/Algebra/Order/CompleteField.lean index 307e3434e09c6c..a8402acd8631fa 100644 --- a/Mathlib/Algebra/Order/CompleteField.lean +++ b/Mathlib/Algebra/Order/CompleteField.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.Algebra.Order.Archimedean.Hom -import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice +module + +public import Mathlib.Algebra.Order.Archimedean.Hom +public import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice /-! # Conditionally complete linear ordered fields @@ -41,6 +43,8 @@ archimedean. We also construct the natural map from a `LinearOrderedField` to su reals, conditionally complete, ordered field, uniqueness -/ +@[expose] public section + variable {F α β γ : Type*} noncomputable section diff --git a/Mathlib/Algebra/Order/Disjointed.lean b/Mathlib/Algebra/Order/Disjointed.lean index 897ce236ef3010..3320414c1daf06 100644 --- a/Mathlib/Algebra/Order/Disjointed.lean +++ b/Mathlib/Algebra/Order/Disjointed.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Order.SuccPred.PartialSups -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.Disjointed +module + +public import Mathlib.Algebra.Order.SuccPred.PartialSups +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.Disjointed /-! # `Disjointed` for functions on a `SuccAddOrder` @@ -18,6 +20,8 @@ dependencies from `Mathlib.Algebra.Order` into `Mathlib.Order`. Find a useful statement of `disjointedRec_succ`. -/ +@[expose] public section + open Order variable {α ι : Type*} [GeneralizedBooleanAlgebra α] diff --git a/Mathlib/Algebra/Order/Field/Basic.lean b/Mathlib/Algebra/Order/Field/Basic.lean index dbc61fb7f8b7fc..45bfb8755d1cde 100644 --- a/Mathlib/Algebra/Order/Field/Basic.lean +++ b/Mathlib/Algebra/Order/Field/Basic.lean @@ -3,18 +3,22 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Data.Set.Monotone -import Mathlib.Order.Bounds.OrderIso -import Mathlib.Tactic.Positivity.Core -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Data.Set.Monotone +public import Mathlib.Order.Bounds.OrderIso +public import Mathlib.Tactic.Positivity.Core +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso /-! # Lemmas about linear ordered (semi)fields -/ +@[expose] public section + open Function OrderDual @@ -657,27 +661,27 @@ open Lean Meta Qq section LinearOrderedSemifield variable {α : Type*} [Semifield α] [LinearOrder α] [IsStrictOrderedRing α] {a b : α} -private lemma div_nonneg_of_pos_of_nonneg (ha : 0 < a) (hb : 0 ≤ b) : 0 ≤ a / b := +lemma div_nonneg_of_pos_of_nonneg (ha : 0 < a) (hb : 0 ≤ b) : 0 ≤ a / b := div_nonneg ha.le hb -private lemma div_nonneg_of_nonneg_of_pos (ha : 0 ≤ a) (hb : 0 < b) : 0 ≤ a / b := +lemma div_nonneg_of_nonneg_of_pos (ha : 0 ≤ a) (hb : 0 < b) : 0 ≤ a / b := div_nonneg ha hb.le omit [IsStrictOrderedRing α] in -private lemma div_ne_zero_of_pos_of_ne_zero (ha : 0 < a) (hb : b ≠ 0) : a / b ≠ 0 := +lemma div_ne_zero_of_pos_of_ne_zero (ha : 0 < a) (hb : b ≠ 0) : a / b ≠ 0 := div_ne_zero ha.ne' hb omit [IsStrictOrderedRing α] in -private lemma div_ne_zero_of_ne_zero_of_pos (ha : a ≠ 0) (hb : 0 < b) : a / b ≠ 0 := +lemma div_ne_zero_of_ne_zero_of_pos (ha : a ≠ 0) (hb : 0 < b) : a / b ≠ 0 := div_ne_zero ha hb.ne' -private lemma zpow_zero_pos (a : α) : 0 < a ^ (0 : ℤ) := zero_lt_one.trans_eq (zpow_zero a).symm +lemma zpow_zero_pos (a : α) : 0 < a ^ (0 : ℤ) := zero_lt_one.trans_eq (zpow_zero a).symm end LinearOrderedSemifield /-- The `positivity` extension which identifies expressions of the form `a / b`, such that `positivity` successfully recognises both `a` and `b`. -/ -@[positivity _ / _] def evalDiv : PositivityExt where eval {u α} zα pα e := do +@[positivity _ / _] meta def evalDiv : PositivityExt where eval {u α} zα pα e := do let .app (.app (f : Q($α → $α → $α)) (a : Q($α))) (b : Q($α)) ← withReducible (whnf e) | throwError "not /" let _e_eq : $e =Q $f $a $b := ⟨⟩ @@ -700,7 +704,7 @@ such that `positivity` successfully recognises both `a` and `b`. -/ /-- The `positivity` extension which identifies expressions of the form `a⁻¹`, such that `positivity` successfully recognises `a`. -/ @[positivity _⁻¹] -def evalInv : PositivityExt where eval {u α} zα pα e := do +meta def evalInv : PositivityExt where eval {u α} zα pα e := do let .app (f : Q($α → $α)) (a : Q($α)) ← withReducible (whnf e) | throwError "not ⁻¹" let _e_eq : $e =Q $f $a := ⟨⟩ let _a ← synthInstanceQ q(Semifield $α) @@ -717,7 +721,7 @@ def evalInv : PositivityExt where eval {u α} zα pα e := do /-- The `positivity` extension which identifies expressions of the form `a ^ (0:ℤ)`. -/ @[positivity _ ^ (0 : ℤ), Pow.pow _ (0 : ℤ)] -def evalPowZeroInt : PositivityExt where eval {u α} _zα _pα e := do +meta def evalPowZeroInt : PositivityExt where eval {u α} _zα _pα e := do let .app (.app _ (a : Q($α))) _ ← withReducible (whnf e) | throwError "not ^" let _a ← synthInstanceQ q(Semifield $α) let _a ← synthInstanceQ q(LinearOrder $α) diff --git a/Mathlib/Algebra/Order/Field/Canonical.lean b/Mathlib/Algebra/Order/Field/Canonical.lean index 9b22a18c24c8af..4bd1ce43f5391b 100644 --- a/Mathlib/Algebra/Order/Field/Canonical.lean +++ b/Mathlib/Algebra/Order/Field/Canonical.lean @@ -3,14 +3,18 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Ring.Canonical +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Ring.Canonical /-! # Canonically ordered semifields -/ +@[expose] public section + variable {α : Type*} [Semifield α] [LinearOrder α] [CanonicallyOrderedAdd α] -- See note [reducible non-instances] diff --git a/Mathlib/Algebra/Order/Field/Defs.lean b/Mathlib/Algebra/Order/Field/Defs.lean index 2ac1d3b56df833..48437b4ad2f9d6 100644 --- a/Mathlib/Algebra/Order/Field/Defs.lean +++ b/Mathlib/Algebra/Order/Field/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Field.Defs +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Field.Defs /-! # Linear ordered (semi)fields @@ -20,6 +22,8 @@ A linear ordered (semi)field is a (semi)field equipped with a linear order such * `LinearOrderedField`: Typeclass for linear ordered fields. -/ +@[expose] public section + -- Guard against import creep. assert_not_exists MonoidHom diff --git a/Mathlib/Algebra/Order/Field/GeomSum.lean b/Mathlib/Algebra/Order/Field/GeomSum.lean index 2621ca20645912..e1eb5657eb5cb8 100644 --- a/Mathlib/Algebra/Order/Field/GeomSum.lean +++ b/Mathlib/Algebra/Order/Field/GeomSum.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Algebra.Field.GeomSum -import Mathlib.Algebra.Order.Ring.Defs +module + +public import Mathlib.Algebra.Field.GeomSum +public import Mathlib.Algebra.Order.Ring.Defs /-! # Partial sums of geometric series in an ordered field @@ -13,6 +15,8 @@ This file upper- and lower-bounds the values of the geometric series $\sum_{i=0} $\sum_{i=0}^{n-1} x^i y^{n-1-i}$ and variants thereof. -/ +@[expose] public section + variable {K : Type*} open Finset MulOpposite diff --git a/Mathlib/Algebra/Order/Field/InjSurj.lean b/Mathlib/Algebra/Order/Field/InjSurj.lean index 53bfafee89d81e..251ec1bbcaf2a9 100644 --- a/Mathlib/Algebra/Order/Field/InjSurj.lean +++ b/Mathlib/Algebra/Order/Field/InjSurj.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.Ring.InjSurj -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-16") diff --git a/Mathlib/Algebra/Order/Field/Pi.lean b/Mathlib/Algebra/Order/Field/Pi.lean index 01426c4a02874e..2fffd39059c8eb 100644 --- a/Mathlib/Algebra/Order/Field/Pi.lean +++ b/Mathlib/Algebra/Order/Field/Pi.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Fintype.Basic /-! # Lemmas about (finite domain) functions into fields. @@ -15,6 +17,8 @@ import Mathlib.Data.Fintype.Basic We split this from `Algebra.Order.Field.Basic` to avoid importing the finiteness hierarchy there. -/ +@[expose] public section + variable {α ι : Type*} [AddCommMonoid α] [LinearOrder α] [IsOrderedCancelAddMonoid α] [Nontrivial α] [DenselyOrdered α] diff --git a/Mathlib/Algebra/Order/Field/Pointwise.lean b/Mathlib/Algebra/Order/Field/Pointwise.lean index f8fa44d48d2986..d8498cf724c69a 100644 --- a/Mathlib/Algebra/Order/Field/Pointwise.lean +++ b/Mathlib/Algebra/Order/Field/Pointwise.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Order.Interval.Set.OrderIso +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Order.Interval.Set.OrderIso /-! # Pointwise operations on ordered algebraic objects @@ -16,6 +18,8 @@ import Mathlib.Order.Interval.Set.OrderIso This file contains lemmas about the effect of pointwise operations on sets with an order structure. -/ +@[expose] public section + open Function Set open scoped Pointwise diff --git a/Mathlib/Algebra/Order/Field/Power.lean b/Mathlib/Algebra/Order/Field/Power.lean index 89a5a7b3bcb489..d04ae6f7a81644 100644 --- a/Mathlib/Algebra/Order/Field/Power.lean +++ b/Mathlib/Algebra/Order/Field/Power.lean @@ -3,15 +3,19 @@ Copyright (c) 2014 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Leonardo de Moura, Mario Carneiro, Floris van Doorn, Sabbir Rahman -/ -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Algebra.Order.Ring.Pow -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Algebra.Order.Ring.Pow +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Tactic.Positivity.Core /-! # Lemmas about powers in ordered fields. -/ +@[expose] public section + variable {α : Type*} @@ -113,7 +117,7 @@ open Lean Meta Qq /-- The `positivity` extension which identifies expressions of the form `a ^ (b : ℤ)`, such that `positivity` successfully recognises both `a` and `b`. -/ @[positivity _ ^ (_ : ℤ), Pow.pow _ (_ : ℤ)] -def evalZPow : PositivityExt where eval {u α} zα pα e := do +meta def evalZPow : PositivityExt where eval {u α} zα pα e := do let .app (.app _ (a : Q($α))) (b : Q(ℤ)) ← withReducible (whnf e) | throwError "not ^" let result ← catchNone do let _a ← synthInstanceQ q(Field $α) diff --git a/Mathlib/Algebra/Order/Field/Rat.lean b/Mathlib/Algebra/Order/Field/Rat.lean index ff3a00c2f07606..ee102e7827cebc 100644 --- a/Mathlib/Algebra/Order/Field/Rat.lean +++ b/Mathlib/Algebra/Order/Field/Rat.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Rat -import Mathlib.Algebra.Order.Nonneg.Field -import Mathlib.Algebra.Order.Ring.Rat +module + +public import Mathlib.Algebra.Field.Rat +public import Mathlib.Algebra.Order.Nonneg.Field +public import Mathlib.Algebra.Order.Ring.Rat /-! # The rational numbers form a linear ordered field @@ -21,4 +23,6 @@ See note [foundational algebra order theory]. rat, rationals, field, ℚ, numerator, denominator, num, denom -/ +@[expose] public section + deriving instance LinearOrderedCommGroupWithZero for NNRat diff --git a/Mathlib/Algebra/Order/Field/Subfield.lean b/Mathlib/Algebra/Order/Field/Subfield.lean index 0cd2a3c567eccb..dc5fcd3356fe13 100644 --- a/Mathlib/Algebra/Order/Field/Subfield.lean +++ b/Mathlib/Algebra/Order/Field/Subfield.lean @@ -3,14 +3,17 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Algebra.Field.Subfield.Defs -import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Algebra.Field.Subfield.Defs +public import Mathlib.Algebra.Order.Ring.InjSurj /-! # Ordered instances on subfields -/ +@[expose] public section + namespace Subfield variable {K : Type*} diff --git a/Mathlib/Algebra/Order/Floor.lean b/Mathlib/Algebra/Order/Floor.lean index 77425b9340c624..44d46218d6923e 100644 --- a/Mathlib/Algebra/Order/Floor.lean +++ b/Mathlib/Algebra/Order/Floor.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Floor.Defs -import Mathlib.Algebra.Order.Floor.Ring -import Mathlib.Algebra.Order.Floor.Semiring +module + +public import Mathlib.Algebra.Order.Floor.Defs +public import Mathlib.Algebra.Order.Floor.Ring +public import Mathlib.Algebra.Order.Floor.Semiring deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Algebra/Order/Floor/Defs.lean b/Mathlib/Algebra/Order/Floor/Defs.lean index 3c8b802e9b5483..890bcc11aa2ae4 100644 --- a/Mathlib/Algebra/Order/Floor/Defs.lean +++ b/Mathlib/Algebra/Order/Floor/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Tactic.HaveI +module + +public import Mathlib.Algebra.Order.Ring.Cast +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Tactic.HaveI /-! # Floor and ceil @@ -44,6 +46,8 @@ many lemmas. rounding, floor, ceil -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Algebra/Order/Floor/Div.lean b/Mathlib/Algebra/Order/Floor/Div.lean index bd67bdd48a214a..6e7a6171554461 100644 --- a/Mathlib/Algebra/Order/Floor/Div.lean +++ b/Mathlib/Algebra/Order/Floor/Div.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.Finsupp.SMulWithZero -import Mathlib.Order.Preorder.Finsupp +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.Finsupp.SMulWithZero +public import Mathlib.Order.Preorder.Finsupp /-! # Flooring, ceiling division @@ -49,6 +51,8 @@ Note in both cases we only allow dividing by positive inputs. We enforce the fol * Prove `⌈a / b⌉ = a ⌈/⌉ b` when `a, b : ℕ` -/ +@[expose] public section + variable {ι α β : Type*} section OrderedAddCommMonoid diff --git a/Mathlib/Algebra/Order/Floor/Ring.lean b/Mathlib/Algebra/Order/Floor/Ring.lean index c80d417848075f..5b9f338ef58855 100644 --- a/Mathlib/Algebra/Order/Floor/Ring.lean +++ b/Mathlib/Algebra/Order/Floor/Ring.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Tactic.Abel -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Positivity.Core /-! # Lemmas on `Int.floor`, `Int.ceil` and `Int.fract` @@ -25,6 +27,8 @@ fractional part operator. rounding, floor, ceil -/ +@[expose] public section + assert_not_exists Finset open Set @@ -46,7 +50,7 @@ private theorem int_floor_nonneg_of_pos [Ring α] [LinearOrder α] [FloorRing α /-- Extension for the `positivity` tactic: `Int.floor` is nonnegative if its input is. -/ @[positivity ⌊_⌋] -def evalIntFloor : PositivityExt where eval {u α} _zα _pα e := do +meta def evalIntFloor : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℤ), ~q(@Int.floor $α' $ir $io $j $a) => match ← core q(inferInstance) q(inferInstance) a with @@ -65,7 +69,7 @@ private theorem nat_ceil_pos [Semiring α] [LinearOrder α] [FloorSemiring α] { /-- Extension for the `positivity` tactic: `Nat.ceil` is positive if its input is. -/ @[positivity ⌈_⌉₊] -def evalNatCeil : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNatCeil : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(@Nat.ceil $α' $ir $io $j $a) => let _i ← synthInstanceQ q(LinearOrder $α') @@ -83,7 +87,7 @@ private theorem int_ceil_pos [Ring α] [LinearOrder α] [FloorRing α] {a : α} /-- Extension for the `positivity` tactic: `Int.ceil` is positive/nonnegative if its input is. -/ @[positivity ⌈_⌉] -def evalIntCeil : PositivityExt where eval {u α} _zα _pα e := do +meta def evalIntCeil : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℤ), ~q(@Int.ceil $α' $ir $io $j $a) => match ← core q(inferInstance) q(inferInstance) a with diff --git a/Mathlib/Algebra/Order/Floor/Semifield.lean b/Mathlib/Algebra/Order/Floor/Semifield.lean index 52692e5669964e..8d4ff039d910d0 100644 --- a/Mathlib/Algebra/Order/Floor/Semifield.lean +++ b/Mathlib/Algebra/Order/Floor/Semifield.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Tactic.Linarith /-! # Lemmas on `Nat.floor` and `Nat.ceil` for semifields @@ -17,6 +19,8 @@ This file contains basic results on the natural-valued floor and ceiling functio rounding, floor, ceil -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Algebra/Order/Floor/Semiring.lean b/Mathlib/Algebra/Order/Floor/Semiring.lean index 5d2a6407f20f08..e22ed6fec7a0cc 100644 --- a/Mathlib/Algebra/Order/Floor/Semiring.lean +++ b/Mathlib/Algebra/Order/Floor/Semiring.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Floor.Defs -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Algebra.Order.Floor.Defs +public import Mathlib.Order.Interval.Set.Defs /-! # Lemmas on `Nat.floor` and `Nat.ceil` for semirings @@ -20,6 +22,8 @@ This file contains basic results on the natural-valued floor and ceiling functio rounding, floor, ceil -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Algebra/Order/Group/Abs.lean b/Mathlib/Algebra/Order/Group/Abs.lean index 0d7a971c345986..fe1878dc73f218 100644 --- a/Mathlib/Algebra/Order/Group/Abs.lean +++ b/Mathlib/Algebra/Order/Group/Abs.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow /-! # Absolute values in ordered groups @@ -19,6 +21,8 @@ negation. This generalizes the usual absolute value on real numbers (`|x| = max - `|a|ₘ`: The *absolute value* of an element `a` of a multiplicative lattice ordered group -/ +@[expose] public section + open Function variable {G : Type*} diff --git a/Mathlib/Algebra/Order/Group/Action.lean b/Mathlib/Algebra/Order/Group/Action.lean index a7518e16fe6800..1bf8f63f7f9206 100644 --- a/Mathlib/Algebra/Order/Group/Action.lean +++ b/Mathlib/Algebra/Order/Group/Action.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.Defs -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.Defs +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # Results about `CovariantClass G α HSMul.hSMul LE.le` @@ -15,6 +17,8 @@ When working with group actions rather than modules, we drop the `0 < c` conditi Notably these are relevant for pointwise actions on set-like objects. -/ +@[expose] public section + variable {ι : Sort*} {M α : Type*} theorem smul_mono_right [SMul M α] [Preorder α] [CovariantClass M α HSMul.hSMul LE.le] diff --git a/Mathlib/Algebra/Order/Group/Action/End.lean b/Mathlib/Algebra/Order/Group/Action/End.lean index a9f54fbeedda5d..80898f808cbb4e 100644 --- a/Mathlib/Algebra/Order/Group/Action/End.lean +++ b/Mathlib/Algebra/Order/Group/Action/End.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Faithful -import Mathlib.Algebra.Order.Group.End -import Mathlib.Order.RelIso.Basic +module + +public import Mathlib.Algebra.Group.Action.Faithful +public import Mathlib.Algebra.Order.Group.End +public import Mathlib.Order.RelIso.Basic /-! # Tautological action by relation automorphisms -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace RelHom diff --git a/Mathlib/Algebra/Order/Group/Action/Flag.lean b/Mathlib/Algebra/Order/Group/Action/Flag.lean index 9c0df44a78e6dd..f96960bce35f73 100644 --- a/Mathlib/Algebra/Order/Group/Action/Flag.lean +++ b/Mathlib/Algebra/Order/Group/Action/Flag.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Order.Group.Action.End -import Mathlib.Order.Preorder.Chain +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Order.Group.Action.End +public import Mathlib.Order.Preorder.Chain /-! # Action on flags @@ -13,6 +15,8 @@ import Mathlib.Order.Preorder.Chain Order isomorphisms act on flags. -/ +@[expose] public section + open scoped Pointwise variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Group/Action/Synonym.lean b/Mathlib/Algebra/Order/Group/Action/Synonym.lean index 7c948e968c2b3d..6ff2b276941c84 100644 --- a/Mathlib/Algebra/Order/Group/Action/Synonym.lean +++ b/Mathlib/Algebra/Order/Group/Action/Synonym.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Order.Group.Synonym +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Order.Group.Synonym /-! # Actions by and on order synonyms @@ -17,6 +19,8 @@ This PR transfers group action instances from a type `α` to `αᵒᵈ` and `Lex * `Mathlib/Algebra/Order/Module/Synonym.lean` -/ +@[expose] public section + variable {M N α : Type*} namespace OrderDual diff --git a/Mathlib/Algebra/Order/Group/Basic.lean b/Mathlib/Algebra/Order/Group/Basic.lean index 5dafc9212f8b0d..2c65020341ab4e 100644 --- a/Mathlib/Algebra/Order/Group/Basic.lean +++ b/Mathlib/Algebra/Order/Group/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2015 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis -/ -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow /-! # Lemmas about the interaction of power operations with order -/ +@[expose] public section + -- We should need only a minimal development of sets in order to get here. assert_not_exists Set.Subsingleton diff --git a/Mathlib/Algebra/Order/Group/Bounds.lean b/Mathlib/Algebra/Order/Group/Bounds.lean index 0e0f9be68fffbe..de1fd6dbc93f0b 100644 --- a/Mathlib/Algebra/Order/Group/Bounds.lean +++ b/Mathlib/Algebra/Order/Group/Bounds.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Order.Bounds.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Basic +module + +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic /-! # Least upper bound and the greatest lower bound in linear ordered additive commutative groups -/ +@[expose] public section + section LinearOrderedAddCommGroup variable {α : Type*} [AddCommGroup α] [LinearOrder α] [IsOrderedAddMonoid α] {s : Set α} {a ε : α} diff --git a/Mathlib/Algebra/Order/Group/CompleteLattice.lean b/Mathlib/Algebra/Order/Group/CompleteLattice.lean index 69e9649b537def..f6ceab3d95ca84 100644 --- a/Mathlib/Algebra/Order/Group/CompleteLattice.lean +++ b/Mathlib/Algebra/Order/Group/CompleteLattice.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Yury G. Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury G. Kudryashov -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Order.ConditionallyCompleteLattice.Indexed +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed /-! # Distributivity of group operations over supremum/infimum -/ +@[expose] public section + open Function Set variable {ι G : Type*} [Group G] [ConditionallyCompleteLattice G] [Nonempty ι] {f : ι → G} diff --git a/Mathlib/Algebra/Order/Group/Cone.lean b/Mathlib/Algebra/Order/Group/Cone.lean index 92a41e04655e06..32c030bfe31f64 100644 --- a/Mathlib/Algebra/Order/Group/Cone.lean +++ b/Mathlib/Algebra/Order/Group/Cone.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison, Artie Khovanov -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Submonoid +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Submonoid /-! # Construct ordered groups from groups with a specified positive cone. @@ -18,6 +20,8 @@ We also provide constructors that convert between cones in groups and the corresponding ordered groups. -/ +@[expose] public section + /-- `AddGroupConeClass S G` says that `S` is a type of cones in `G`. -/ class AddGroupConeClass (S : Type*) (G : outParam Type*) [AddCommGroup G] [SetLike S G] : Prop extends AddSubmonoidClass S G where diff --git a/Mathlib/Algebra/Order/Group/Cyclic.lean b/Mathlib/Algebra/Order/Group/Cyclic.lean index e4eb9613e6f6c3..5741ab7e3a05ab 100644 --- a/Mathlib/Algebra/Order/Group/Cyclic.lean +++ b/Mathlib/Algebra/Order/Group/Cyclic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.GroupTheory.SpecificGroups.Cyclic +module + +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.GroupTheory.SpecificGroups.Cyclic /-! # Cyclic linearly ordered groups @@ -18,6 +20,8 @@ ordered commutative group with (*resp.* of a non-trivial linearly ordered commut is strictly less than `1`. The corresponding additive definitions are also provided. -/ +@[expose] public section + noncomputable section namespace LinearOrderedCommGroup diff --git a/Mathlib/Algebra/Order/Group/Defs.lean b/Mathlib/Algebra/Order/Group/Defs.lean index c010ff46c4730c..60659e175233ca 100644 --- a/Mathlib/Algebra/Order/Group/Defs.lean +++ b/Mathlib/Algebra/Order/Group/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Util.AssertExists +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Util.AssertExists /-! # Ordered groups @@ -20,6 +22,8 @@ may differ between the multiplicative and the additive version of a lemma. The reason is that we did not want to change existing names in the library. -/ +@[expose] public section + /- `NeZero` theory should not be needed at this point in the ordered algebraic hierarchy. -/ diff --git a/Mathlib/Algebra/Order/Group/DenselyOrdered.lean b/Mathlib/Algebra/Order/Group/DenselyOrdered.lean index f467a4a9e6e7c9..69879c031ea0e3 100644 --- a/Mathlib/Algebra/Order/Group/DenselyOrdered.lean +++ b/Mathlib/Algebra/Order/Group/DenselyOrdered.lean @@ -3,17 +3,21 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow /-! # Lemmas about densely linearly ordered groups. -/ +@[expose] public section + variable {α : Type*} section DenselyOrdered diff --git a/Mathlib/Algebra/Order/Group/End.lean b/Mathlib/Algebra/Order/Group/End.lean index 1d95f7ccec9105..92ab1280f939a9 100644 --- a/Mathlib/Algebra/Order/Group/End.lean +++ b/Mathlib/Algebra/Order/Group/End.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Order.RelIso.Basic +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Order.RelIso.Basic /-! # Relation isomorphisms form a group -/ +@[expose] public section + assert_not_exists MulAction MonoidWithZero variable {α : Type*} {r : α → α → Prop} diff --git a/Mathlib/Algebra/Order/Group/Equiv.lean b/Mathlib/Algebra/Order/Group/Equiv.lean index fcbfb26951c75c..0cdaffe601e267 100644 --- a/Mathlib/Algebra/Order/Group/Equiv.lean +++ b/Mathlib/Algebra/Order/Group/Equiv.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Order.Group.Synonym +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Order.Group.Synonym /-! # Add/Mul equivalence for order type synonyms -/ +@[expose] public section + variable (α : Type*) [Mul α] /-- `toLex` as a `MulEquiv`. -/ diff --git a/Mathlib/Algebra/Order/Group/Finset.lean b/Mathlib/Algebra/Order/Group/Finset.lean index f3aeaf2a9363e5..ba4f2e16aed65f 100644 --- a/Mathlib/Algebra/Order/Group/Finset.lean +++ b/Mathlib/Algebra/Order/Group/Finset.lean @@ -3,17 +3,21 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Data.Finset.Lattice.Prod +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Data.Finset.Lattice.Prod /-! # `Finset.sup` in a group -/ +@[expose] public section + open scoped Finset assert_not_exists MonoidWithZero diff --git a/Mathlib/Algebra/Order/Group/Indicator.lean b/Mathlib/Algebra/Order/Group/Indicator.lean index 90813a690ad225..7f1be67b967faf 100644 --- a/Mathlib/Algebra/Order/Group/Indicator.lean +++ b/Mathlib/Algebra/Order/Group/Indicator.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Indicator -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Support of a function in an order @@ -15,6 +17,8 @@ import Mathlib.Algebra.Order.Monoid.Canonical.Defs This file relates the support of a function to order constructions. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Set diff --git a/Mathlib/Algebra/Order/Group/InjSurj.lean b/Mathlib/Algebra/Order/Group/InjSurj.lean index 9f13b468a24c89..40790f39be6da7 100644 --- a/Mathlib/Algebra/Order/Group/InjSurj.lean +++ b/Mathlib/Algebra/Order/Group/InjSurj.lean @@ -3,7 +3,9 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-16") diff --git a/Mathlib/Algebra/Order/Group/Instances.lean b/Mathlib/Algebra/Order/Group/Instances.lean index 79e96bc821e7a4..6850cd5d3ecde1 100644 --- a/Mathlib/Algebra/Order/Group/Instances.lean +++ b/Mathlib/Algebra/Order/Group/Instances.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-16") diff --git a/Mathlib/Algebra/Order/Group/Int.lean b/Mathlib/Algebra/Order/Group/Int.lean index 5b96cfa1ab753b..7e04df1b52255f 100644 --- a/Mathlib/Algebra/Order/Group/Int.lean +++ b/Mathlib/Algebra/Order/Group/Int.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Order.Monoid.Defs +module + +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Order.Monoid.Defs /-! # The integers form a linear ordered group @@ -15,6 +17,8 @@ additive group. See note [foundational algebra order theory]. -/ +@[expose] public section + -- We should need only a minimal development of sets in order to get here. assert_not_exists Set.Subsingleton Ring diff --git a/Mathlib/Algebra/Order/Group/Int/Sum.lean b/Mathlib/Algebra/Order/Group/Int/Sum.lean index bf589ca3008da4..7ce2517aae8c69 100644 --- a/Mathlib/Algebra/Order/Group/Int/Sum.lean +++ b/Mathlib/Algebra/Order/Group/Int/Sum.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Data.Int.Interval +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Data.Int.Interval /-! # Sharp bounds for sums of bounded finsets of integers @@ -16,6 +18,8 @@ a sharper upper bound than `#s * c`, because the elements are distinct. This file provides these sharp bounds, both in the upper-bounded and analogous lower-bounded cases. -/ +@[expose] public section + namespace Finset diff --git a/Mathlib/Algebra/Order/Group/Lattice.lean b/Mathlib/Algebra/Order/Group/Lattice.lean index f615bc5101bf0b..015f62bce25b8d 100644 --- a/Mathlib/Algebra/Order/Group/Lattice.lean +++ b/Mathlib/Algebra/Order/Group/Lattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin, Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.OrderIso +module + +public import Mathlib.Algebra.Order.Group.OrderIso /-! # Lattice ordered groups @@ -35,6 +37,8 @@ in mathlib. lattice, order, group -/ +@[expose] public section + open Function variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Group/MinMax.lean b/Mathlib/Algebra/Order/Group/MinMax.lean index 342852146627d7..0e0d491022b9aa 100644 --- a/Mathlib/Algebra/Order/Group/MinMax.lean +++ b/Mathlib/Algebra/Order/Group/MinMax.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +module + +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax /-! # `min` and `max` in linearly ordered groups. -/ +@[expose] public section + section diff --git a/Mathlib/Algebra/Order/Group/Multiset.lean b/Mathlib/Algebra/Order/Group/Multiset.lean index ec14ec5558484f..c9cd76d34c66bd 100644 --- a/Mathlib/Algebra/Order/Group/Multiset.lean +++ b/Mathlib/Algebra/Order/Group/Multiset.lean @@ -3,11 +3,13 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Data.Multiset.Fold +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Data.Multiset.Fold /-! # Multisets form an ordered monoid @@ -17,6 +19,8 @@ This file contains the ordered monoid instance on multisets, and lemmas related See note [foundational algebra order theory]. -/ +@[expose] public section + open List Nat variable {α β : Type*} diff --git a/Mathlib/Algebra/Order/Group/Nat.lean b/Mathlib/Algebra/Order/Group/Nat.lean index 8095d6adcb265e..a99e3537605c30 100644 --- a/Mathlib/Algebra/Order/Group/Nat.lean +++ b/Mathlib/Algebra/Order/Group/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Sub.Defs +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Sub.Defs /-! # The naturals form a linear ordered monoid @@ -15,6 +17,8 @@ This file contains the linear ordered monoid instance on the natural numbers. See note [foundational algebra order theory]. -/ +@[expose] public section + namespace Nat /-! ### Instances -/ diff --git a/Mathlib/Algebra/Order/Group/Opposite.lean b/Mathlib/Algebra/Order/Group/Opposite.lean index b5e7bfcb136bec..b757e1f3783757 100644 --- a/Mathlib/Algebra/Order/Group/Opposite.lean +++ b/Mathlib/Algebra/Order/Group/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Order.Monoid.Defs +module + +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Order.Monoid.Defs /-! # Order instances for `MulOpposite`/`AddOpposite` @@ -13,6 +15,8 @@ This file transfers order instances and ordered monoid/group instances from `α` `αᵃᵒᵖ`. -/ +@[expose] public section + variable {α : Type*} namespace MulOpposite diff --git a/Mathlib/Algebra/Order/Group/OrderIso.lean b/Mathlib/Algebra/Order/Group/OrderIso.lean index a10a10770a104f..400baf0164f2f7 100644 --- a/Mathlib/Algebra/Order/Group/OrderIso.lean +++ b/Mathlib/Algebra/Order/Group/OrderIso.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Order.Hom.Basic /-! # Inverse and multiplication as order isomorphisms in ordered groups -/ +@[expose] public section + open Function universe u diff --git a/Mathlib/Algebra/Order/Group/PartialSups.lean b/Mathlib/Algebra/Order/Group/PartialSups.lean index 075a880f37f5d8..6bae4155fb5f61 100644 --- a/Mathlib/Algebra/Order/Group/PartialSups.lean +++ b/Mathlib/Algebra/Order/Group/PartialSups.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Lua Viana Reis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lua Viana Reis -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Order.PartialSups +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Order.PartialSups /-! # Results about `partialSups` of functions taking values in a `Group` -/ +@[expose] public section + variable {α ι : Type*} variable [SemilatticeSup α] [Group α] [Preorder ι] [LocallyFiniteOrderBot ι] diff --git a/Mathlib/Algebra/Order/Group/PiLex.lean b/Mathlib/Algebra/Order/Group/PiLex.lean index f0d895b498b748..ff98752bf037ac 100644 --- a/Mathlib/Algebra/Order/Group/PiLex.lean +++ b/Mathlib/Algebra/Order/Group/PiLex.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Order.PiLex +module + +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Order.PiLex /-! # Lexicographic product of algebraic order structures @@ -15,6 +17,8 @@ This file proves that the lexicographic order on pi types is compatible with the operations. -/ +@[expose] public section + namespace Pi.Lex variable {ι : Type*} {α : ι → Type*} [LinearOrder ι] diff --git a/Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean b/Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean index 9582521b172a44..516aff68563b6a 100644 --- a/Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean +++ b/Mathlib/Algebra/Order/Group/Pointwise/Bounds.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Order.Bounds.OrderIso -import Mathlib.Order.GaloisConnection.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Order.Bounds.OrderIso +public import Mathlib.Order.GaloisConnection.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Upper/lower bounds in ordered monoids and groups @@ -16,6 +18,8 @@ In this file we prove a few facts like “`-s` is bounded above iff `s` is bound (`bddAbove_neg`). -/ +@[expose] public section + open Function Set open scoped Pointwise diff --git a/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean b/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean index bdd12efab2f9b6..e1e34747c02d4b 100644 --- a/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean +++ b/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Pointwise.Bounds -import Mathlib.Order.ConditionallyCompleteLattice.Indexed +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Bounds +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed /-! # Infima/suprema in ordered monoids and groups @@ -17,6 +19,8 @@ In this file we prove a few facts like “The infimum of `-s` is `-` the supremu `CovariantClass` is currently not polymorphic enough to state it. -/ +@[expose] public section + open Function Set open scoped Pointwise diff --git a/Mathlib/Algebra/Order/Group/Pointwise/Interval.lean b/Mathlib/Algebra/Order/Group/Pointwise/Interval.lean index 6e433ab601d96d..1a181b3da31c73 100644 --- a/Mathlib/Algebra/Order/Group/Pointwise/Interval.lean +++ b/Mathlib/Algebra/Order/Group/Pointwise/Interval.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Group.MinMax -import Mathlib.Algebra.Order.Interval.Set.Monoid -import Mathlib.Order.Interval.Set.OrderIso -import Mathlib.Order.Interval.Set.UnorderedInterval -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Group.MinMax +public import Mathlib.Algebra.Order.Interval.Set.Monoid +public import Mathlib.Order.Interval.Set.OrderIso +public import Mathlib.Order.Interval.Set.UnorderedInterval +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # (Pre)images of intervals @@ -21,6 +23,8 @@ lemmas about preimages and images of all intervals. We also prove a few lemmas a `x ↦ a * x`, `x ↦ x * a` and `x ↦ x⁻¹`. -/ +@[expose] public section + open Interval Pointwise diff --git a/Mathlib/Algebra/Order/Group/PosPart.lean b/Mathlib/Algebra/Order/Group/PosPart.lean index 9d975742194a38..7b98bf4d6e5800 100644 --- a/Mathlib/Algebra/Order/Group/PosPart.lean +++ b/Mathlib/Algebra/Order/Group/PosPart.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin, Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Notation +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Notation /-! # Positive & negative parts @@ -35,6 +37,8 @@ element in a lattice ordered group. positive part, negative part -/ +@[expose] public section + open Function variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Group/Prod.lean b/Mathlib/Algebra/Order/Group/Prod.lean index b5c4c7c6950c48..bdd4ef2977c68f 100644 --- a/Mathlib/Algebra/Order/Group/Prod.lean +++ b/Mathlib/Algebra/Order/Group/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Monoid.Prod -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Monoid.Prod +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-16") diff --git a/Mathlib/Algebra/Order/Group/Synonym.lean b/Mathlib/Algebra/Order/Group/Synonym.lean index 4a378ceda4fd8a..b9c8c0b49c6737 100644 --- a/Mathlib/Algebra/Order/Group/Synonym.lean +++ b/Mathlib/Algebra/Order/Group/Synonym.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Order.Synonym +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Order.Synonym /-! # Group structure on the order type synonyms @@ -12,6 +14,8 @@ import Mathlib.Order.Synonym Transfer algebraic instances from `α` to `αᵒᵈ`, `Lex α`, and `Colex α`. -/ +@[expose] public section + open OrderDual diff --git a/Mathlib/Algebra/Order/Group/TypeTags.lean b/Mathlib/Algebra/Order/Group/TypeTags.lean index 48c9800a3cba1d..dfed346cd93555 100644 --- a/Mathlib/Algebra/Order/Group/TypeTags.lean +++ b/Mathlib/Algebra/Order/Group/TypeTags.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Monoid.TypeTags -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Monoid.TypeTags +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-16") diff --git a/Mathlib/Algebra/Order/Group/Unbundled/Abs.lean b/Mathlib/Algebra/Order/Group/Unbundled/Abs.lean index f02b3974aff9c1..3c19511d68cdcb 100644 --- a/Mathlib/Algebra/Order/Group/Unbundled/Abs.lean +++ b/Mathlib/Algebra/Order/Group/Unbundled/Abs.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Order.Group.Lattice +module + +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Order.Group.Lattice /-! # Absolute values in ordered groups @@ -19,6 +21,8 @@ negation. This generalizes the usual absolute value on real numbers (`|x| = max - `|a|ₘ`: The *absolute value* of an element `a` of a multiplicative lattice ordered group -/ +@[expose] public section + open Function variable {α : Type*} @@ -42,7 +46,7 @@ macro:max atomic("|" noWs) a:term noWs "|" : term => `(abs $a) /-- Unexpander for the notation `|a|ₘ` for `mabs a`. Tries to add discretionary parentheses in unparsable cases. -/ @[app_unexpander mabs] -def mabs.unexpander : Lean.PrettyPrinter.Unexpander +meta def mabs.unexpander : Lean.PrettyPrinter.Unexpander | `($_ $a) => match a with | `(|$_|) | `(|$_|ₘ) | `(-$_) => `(|($a)|ₘ) @@ -52,7 +56,7 @@ def mabs.unexpander : Lean.PrettyPrinter.Unexpander /-- Unexpander for the notation `|a|` for `abs a`. Tries to add discretionary parentheses in unparsable cases. -/ @[app_unexpander abs] -def abs.unexpander : Lean.PrettyPrinter.Unexpander +meta def abs.unexpander : Lean.PrettyPrinter.Unexpander | `($_ $a) => match a with | `(|$_|) | `(|$_|ₘ) | `(-$_) => `(|($a)|) diff --git a/Mathlib/Algebra/Order/Group/Unbundled/Basic.lean b/Mathlib/Algebra/Order/Group/Unbundled/Basic.lean index 2c3d8c242ebf1d..a9624efcb89129 100644 --- a/Mathlib/Algebra/Order/Group/Unbundled/Basic.lean +++ b/Mathlib/Algebra/Order/Group/Unbundled/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Util.AssertExists +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Util.AssertExists /-! # Ordered groups @@ -19,6 +21,8 @@ may differ between the multiplicative and the additive version of a lemma. The reason is that we did not want to change existing names in the library. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid open Function diff --git a/Mathlib/Algebra/Order/Group/Unbundled/Int.lean b/Mathlib/Algebra/Order/Group/Unbundled/Int.lean index 4f9cad27b9e2bc..55781e1122b634 100644 --- a/Mathlib/Algebra/Order/Group/Unbundled/Int.lean +++ b/Mathlib/Algebra/Order/Group/Unbundled/Int.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Data.Int.Basic +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Data.Int.Basic /-! # Facts about `ℤ` as an (unbundled) ordered group @@ -22,6 +24,8 @@ See note [foundational algebra order theory]. induction on numbers less than `b`. -/ +@[expose] public section + -- We should need only a minimal development of sets in order to get here. assert_not_exists Set.Subsingleton Ring diff --git a/Mathlib/Algebra/Order/Group/Units.lean b/Mathlib/Algebra/Order/Group/Units.lean index ae24b69b8cf7fb..56ed05570f2643 100644 --- a/Mathlib/Algebra/Order/Group/Units.lean +++ b/Mathlib/Algebra/Order/Group/Units.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Units +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Units /-! # The units of an ordered commutative monoid form an ordered commutative group -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean b/Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean index 91d193d7e09c93..aaa7bcc444f0d1 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Order.GroupWithZero.Synonym -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Synonym +public import Mathlib.Tactic.Common /-! # Actions by and on order synonyms @@ -19,6 +21,8 @@ the `SMul` instances are already defined in `Mathlib/Algebra/Order/Group/Synonym * `Mathlib/Algebra/Order/Module/Synonym.lean` -/ +@[expose] public section + variable {G₀ M₀ : Type*} namespace OrderDual diff --git a/Mathlib/Algebra/Order/GroupWithZero/Bounds.lean b/Mathlib/Algebra/Order/GroupWithZero/Bounds.lean index 1d59efeb2b69df..b8678aa1a7ca7a 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Bounds.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Bounds.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 María Inés de Frutos-Fernández . All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.Bounds.Image +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.Bounds.Image /-! # Lemmas about `BddAbove` -/ +@[expose] public section + open Set /-- A variant of `BddAbove.range_comp` that assumes that `f` is nonnegative and `g` is monotone on diff --git a/Mathlib/Algebra/Order/GroupWithZero/Canonical.lean b/Mathlib/Algebra/Order/GroupWithZero/Canonical.lean index fd468421c34444..e8b2bc6368519d 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Canonical.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Canonical.lean @@ -3,17 +3,19 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Johan Commelin, Patrick Massot -/ -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.GroupWithZero.WithZero -import Mathlib.Algebra.Order.AddGroupWithTop -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Group.Int -import Mathlib.Algebra.Order.Group.Units -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Algebra.Order.Monoid.TypeTags -import Mathlib.Algebra.Group.WithOne.Map +module + +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.GroupWithZero.WithZero +public import Mathlib.Algebra.Order.AddGroupWithTop +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Group.Int +public import Mathlib.Algebra.Order.Group.Units +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Algebra.Order.Monoid.TypeTags +public import Mathlib.Algebra.Group.WithOne.Map /-! # Linearly ordered commutative groups and monoids with a zero element adjoined @@ -29,6 +31,8 @@ whereas it is a very common target for valuations. The solutions is to use a typeclass, and that is exactly what we do in this file. -/ +@[expose] public section + variable {α β : Type*} /-- A linearly ordered commutative monoid with a zero element. -/ diff --git a/Mathlib/Algebra/Order/GroupWithZero/Finset.lean b/Mathlib/Algebra/Order/GroupWithZero/Finset.lean index 453306049652f8..4b28b9eff6b340 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Finset.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Finset.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +public import Mathlib.Data.Finset.Lattice.Fold /-! # `Finset.sup` in a group with zero -/ +@[expose] public section + namespace Finset variable {ι M₀ G₀ : Type*} diff --git a/Mathlib/Algebra/Order/GroupWithZero/Lex.lean b/Mathlib/Algebra/Order/GroupWithZero/Lex.lean index a21ab4ff61d902..b989a02d0bcc45 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Lex.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Lex.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.GroupWithZero.ProdHom -import Mathlib.Algebra.Order.Group.Equiv -import Mathlib.Algebra.Order.Monoid.Lex -import Mathlib.Algebra.Order.Hom.MonoidWithZero -import Mathlib.Data.Prod.Lex +module + +public import Mathlib.Algebra.GroupWithZero.ProdHom +public import Mathlib.Algebra.Order.Group.Equiv +public import Mathlib.Algebra.Order.Monoid.Lex +public import Mathlib.Algebra.Order.Hom.MonoidWithZero +public import Mathlib.Data.Prod.Lex /-! # Order homomorphisms for products of linearly ordered groups with zero @@ -26,6 +28,8 @@ Create the "LinOrdCommGrpWithZero" category. -/ +@[expose] public section + namespace MonoidWithZeroHom variable {M₀ N₀ : Type*} diff --git a/Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean b/Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean index 2e8cbb18cbedb4..2707560ec325b7 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Order.Interval.Set.Defs /-! # The submonoid of positive elements -/ +@[expose] public section + assert_not_exists RelIso Ring namespace Submonoid diff --git a/Mathlib/Algebra/Order/GroupWithZero/Synonym.lean b/Mathlib/Algebra/Order/GroupWithZero/Synonym.lean index 9a011c669888cb..9a59604b1e247e 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Synonym.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Synonym.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.Order.Group.Synonym +module + +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.Order.Group.Synonym /-! # Group with zero structure on the order type synonyms @@ -12,6 +14,8 @@ import Mathlib.Algebra.Order.Group.Synonym Transfer algebraic instances from `α` to `αᵒᵈ` and `Lex α`. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean b/Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean index f8cb63bf13067c..0b2652140814f3 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Yuyang Zhao -/ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean index aa05a59b9d46dc..c4c9b698f2ed30 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Yuyang Zhao -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Order.Monotone.Basic -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Order.Monotone.Basic +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Tactic.Monotonicity.Attr /-! # Lemmas on the monotone multiplication typeclasses @@ -18,6 +20,8 @@ This file builds on `Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean` by lemmas that do not immediately follow from the typeclass specifications. -/ +@[expose] public section + open Function variable {α M₀ G₀ : Type*} diff --git a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean index 95e7cecd13c398..7df2d345413ef3 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Defs -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Util.Notation3 +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Defs +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Util.Notation3 /-! # (Strict) monotonicity of multiplication by nonnegative (positive) elements @@ -71,6 +73,8 @@ for a discussion about this notation, and whether to enable it globally (note th currently global but broken, hence actually only works locally). -/ +@[expose] public section + assert_not_exists MulZeroClass open Function diff --git a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Lemmas.lean b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Lemmas.lean index b188694d60a938..ece67126a4f08e 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Lemmas.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/OrderIso.lean b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/OrderIso.lean index 227d3c62d65ec0..1e230a11270cc0 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/Unbundled/OrderIso.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/Unbundled/OrderIso.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.GroupWithZero.Units.Equiv -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Equiv +public import Mathlib.Order.Hom.Basic /-! # Multiplication by a positive element as an order isomorphism -/ +@[expose] public section + variable {G₀ : Type*} [GroupWithZero G₀] namespace OrderIso diff --git a/Mathlib/Algebra/Order/GroupWithZero/WithZero.lean b/Mathlib/Algebra/Order/GroupWithZero/WithZero.lean index ea09bf318eda64..4a065b0a340e36 100644 --- a/Mathlib/Algebra/Order/GroupWithZero/WithZero.lean +++ b/Mathlib/Algebra/Order/GroupWithZero/WithZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic /-! # Covariant instances on `WithZero` @@ -25,6 +27,8 @@ theory. These instances enable lemmas such as `mul_pos` to fire on `ℤᵐ⁰`. -/ +@[expose] public section + assert_not_exists Ring -- this makes `mul_lt_mul_iff_right₀`, `mul_pos` etc. work on `ℤᵐ⁰` diff --git a/Mathlib/Algebra/Order/Hom/Basic.lean b/Mathlib/Algebra/Order/Hom/Basic.lean index c336262e3039aa..78c34888e606bb 100644 --- a/Mathlib/Algebra/Order/Hom/Basic.lean +++ b/Mathlib/Algebra/Order/Hom/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Ring.Defs /-! # Algebraic order homomorphism classes @@ -45,6 +47,8 @@ multiplicative ring norms but outside of this use we only consider real-valued s Finitary versions of the current lemmas. -/ +@[expose] public section + assert_not_exists Field library_note2 «out-param inheritance» /-- diff --git a/Mathlib/Algebra/Order/Hom/Monoid.lean b/Mathlib/Algebra/Order/Hom/Monoid.lean index 33d3d5ebcdef5a..54ed66b2159ee2 100644 --- a/Mathlib/Algebra/Order/Hom/Monoid.lean +++ b/Mathlib/Algebra/Order/Hom/Monoid.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Hom.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Hom.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Order.Hom.Basic /-! # Ordered monoid and group homomorphisms @@ -55,6 +57,8 @@ making some definitions and lemmas irrelevant. ordered monoid, ordered group -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function diff --git a/Mathlib/Algebra/Order/Hom/MonoidWithZero.lean b/Mathlib/Algebra/Order/Hom/MonoidWithZero.lean index dbb5b092ebf601..82a46fa3173df0 100644 --- a/Mathlib/Algebra/Order/Hom/MonoidWithZero.lean +++ b/Mathlib/Algebra/Order/Hom/MonoidWithZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Hom.Monoid +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Hom.Monoid /-! # Ordered monoid and group homomorphisms @@ -28,6 +30,8 @@ This file defines morphisms between (additive) ordered monoids with zero. monoid with zero -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Hom/Ring.lean b/Mathlib/Algebra/Order/Hom/Ring.lean index 1d0cfd304626c5..bc7d1fbaf33b01 100644 --- a/Mathlib/Algebra/Order/Hom/Ring.lean +++ b/Mathlib/Algebra/Order/Hom/Ring.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.Algebra.Order.Hom.MonoidWithZero -import Mathlib.Algebra.Ring.Equiv +module + +public import Mathlib.Algebra.Order.Hom.MonoidWithZero +public import Mathlib.Algebra.Ring.Equiv /-! # Ordered ring homomorphisms @@ -33,6 +35,8 @@ making some typeclasses and instances irrelevant. ordered ring homomorphism, order homomorphism -/ +@[expose] public section + assert_not_exists FloorRing Archimedean open Function diff --git a/Mathlib/Algebra/Order/Hom/Submonoid.lean b/Mathlib/Algebra/Order/Hom/Submonoid.lean index 8c514b0b6cca62..1e574a1c484dee 100644 --- a/Mathlib/Algebra/Order/Hom/Submonoid.lean +++ b/Mathlib/Algebra/Order/Hom/Submonoid.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Order.Hom.Monoid +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Order.Hom.Monoid /-! # Isomorphism of submonoids of ordered monoids -/ +@[expose] public section + /-- The top submonoid is order isomorphic to the whole monoid. -/ @[simps!] def Submonoid.topOrderMonoidIso {α : Type*} [Preorder α] [Monoid α] : (⊤ : Submonoid α) ≃*o α where diff --git a/Mathlib/Algebra/Order/Hom/TypeTags.lean b/Mathlib/Algebra/Order/Hom/TypeTags.lean index d7b8cf8832e364..3977d698672ce0 100644 --- a/Mathlib/Algebra/Order/Hom/TypeTags.lean +++ b/Mathlib/Algebra/Order/Hom/TypeTags.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Group.Equiv.TypeTags -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags +module + +public import Mathlib.Algebra.Group.Equiv.TypeTags +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags /-! @@ -13,6 +15,8 @@ import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags -/ +@[expose] public section + section TypeTags /-- Reinterpret `G ≃*o H` as `Additive G ≃+o Additive H`. -/ diff --git a/Mathlib/Algebra/Order/Hom/Units.lean b/Mathlib/Algebra/Order/Hom/Units.lean index a6f797bbf54378..ac474bf6b7bcf8 100644 --- a/Mathlib/Algebra/Order/Hom/Units.lean +++ b/Mathlib/Algebra/Order/Hom/Units.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Algebra.Order.Monoid.Units +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Algebra.Order.Monoid.Units /-! # Isomorphism of ordered monoids descends to units -/ +@[expose] public section + /-- An isomorphism of ordered monoids descends to their units. -/ @[simps!] def OrderMonoidIso.unitsCongr {α β : Type*} [Preorder α] [Monoid α] [Preorder β] [Monoid β] diff --git a/Mathlib/Algebra/Order/Interval/Basic.lean b/Mathlib/Algebra/Order/Interval/Basic.lean index a1f6b96aaa0f66..ada544914881bd 100644 --- a/Mathlib/Algebra/Order/Interval/Basic.lean +++ b/Mathlib/Algebra/Order/Interval/Basic.lean @@ -3,12 +3,15 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Order.Interval.Basic -import Mathlib.Tactic.Positivity.Core -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Order.Interval.Basic +public import Mathlib.Tactic.Positivity.Core +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop /-! # Interval arithmetic @@ -18,6 +21,8 @@ full precision operations. The essentials of float operations can be found in `Data.FP.Basic`. We have not yet integrated these with the rest of the library. -/ +@[expose] public section + open Function Set @@ -658,7 +663,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: The length of an interval is always nonnegative. -/ @[positivity NonemptyInterval.length _] -def evalNonemptyIntervalLength : PositivityExt where +meta def evalNonemptyIntervalLength : PositivityExt where eval {u α} _ _ e := do let ~q(@NonemptyInterval.length _ $ig $ipo $a) := e | throwError "not NonemptyInterval.length" @@ -668,7 +673,7 @@ def evalNonemptyIntervalLength : PositivityExt where /-- Extension for the `positivity` tactic: The length of an interval is always nonnegative. -/ @[positivity Interval.length _] -def evalIntervalLength : PositivityExt where +meta def evalIntervalLength : PositivityExt where eval {u α} _ _ e := do let ~q(@Interval.length _ $ig $ipo $a) := e | throwError "not Interval.length" let _i ← synthInstanceQ q(IsOrderedAddMonoid $α) diff --git a/Mathlib/Algebra/Order/Interval/Finset/Basic.lean b/Mathlib/Algebra/Order/Interval/Finset/Basic.lean index fad44f969a23aa..d4b7be86f82782 100644 --- a/Mathlib/Algebra/Order/Interval/Finset/Basic.lean +++ b/Mathlib/Algebra/Order/Interval/Finset/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.Order.Interval.Set.Monoid -import Mathlib.Order.Interval.Finset.Defs +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.Order.Interval.Set.Monoid +public import Mathlib.Order.Interval.Finset.Defs /-! # Algebraic properties of finset intervals @@ -13,6 +15,8 @@ import Mathlib.Order.Interval.Finset.Defs This file provides results about the interaction of algebra with `Finset.Ixx`. -/ +@[expose] public section + open Function OrderDual variable {ι α : Type*} diff --git a/Mathlib/Algebra/Order/Interval/Finset/SuccPred.lean b/Mathlib/Algebra/Order/Interval/Finset/SuccPred.lean index c4035d4ba453b4..350665a05330ba 100644 --- a/Mathlib/Algebra/Order/Interval/Finset/SuccPred.lean +++ b/Mathlib/Algebra/Order/Interval/Finset/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Order.Interval.Finset.SuccPred +module + +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Order.Interval.Finset.SuccPred /-! # Finset intervals in an additive successor-predecessor order @@ -24,6 +26,8 @@ Please keep in sync with: Copy over `insert` lemmas from `Mathlib/Order/Interval/Finset/Nat.lean`. -/ +@[expose] public section + open Function Order OrderDual variable {ι α : Type*} diff --git a/Mathlib/Algebra/Order/Interval/Multiset.lean b/Mathlib/Algebra/Order/Interval/Multiset.lean index cd77bffc72171a..b608263c90e648 100644 --- a/Mathlib/Algebra/Order/Interval/Multiset.lean +++ b/Mathlib/Algebra/Order/Interval/Multiset.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Interval.Finset.Basic -import Mathlib.Order.Interval.Multiset +module + +public import Mathlib.Algebra.Order.Interval.Finset.Basic +public import Mathlib.Order.Interval.Multiset /-! # Algebraic properties of multiset intervals @@ -12,6 +14,8 @@ import Mathlib.Order.Interval.Multiset This file provides results about the interaction of algebra with `Multiset.Ixx`. -/ +@[expose] public section + variable {α : Type*} namespace Multiset diff --git a/Mathlib/Algebra/Order/Interval/Set/Group.lean b/Mathlib/Algebra/Order/Interval/Set/Group.lean index cc8d946d5f0be0..01a376b29cca66 100644 --- a/Mathlib/Algebra/Order/Interval/Set/Group.lean +++ b/Mathlib/Algebra/Order/Interval/Set/Group.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot, Yury Kudryashov, Rémy Degenne -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Logic.Pairwise +module + +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Logic.Pairwise /-! ### Lemmas about arithmetic operations and intervals. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Interval/Set/Instances.lean b/Mathlib/Algebra/Order/Interval/Set/Instances.lean index c9e0004822bc51..93b6d54145c289 100644 --- a/Mathlib/Algebra/Order/Interval/Set/Instances.lean +++ b/Mathlib/Algebra/Order/Interval/Set/Instances.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell, Eric Wieser, Yaël Dillies, Patrick Massot, Kim Morrison -/ -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Regular -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Tactic.FastInstance /-! # Algebraic instances for unit intervals @@ -35,6 +37,8 @@ The strongest typeclass provided on each interval is: some arbitrary ordered semiring -/ +@[expose] public section + assert_not_exists RelIso open Set diff --git a/Mathlib/Algebra/Order/Interval/Set/Monoid.lean b/Mathlib/Algebra/Order/Interval/Set/Monoid.lean index 791b180cca1f65..1574b526893f3e 100644 --- a/Mathlib/Algebra/Order/Interval/Set/Monoid.lean +++ b/Mathlib/Algebra/Order/Interval/Set/Monoid.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Data.Set.Function -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE /-! # Images of intervals under `(+ d)` @@ -18,6 +20,8 @@ The lemmas in this file state that addition maps intervals bijectively. The type `OrderedAddCommGroup`, but also to `ℕ` and `ℝ≥0`, which are not groups. -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Algebra/Order/Interval/Set/SuccPred.lean b/Mathlib/Algebra/Order/Interval/Set/SuccPred.lean index e63475d89e2c0f..152eca814e443e 100644 --- a/Mathlib/Algebra/Order/Interval/Set/SuccPred.lean +++ b/Mathlib/Algebra/Order/Interval/Set/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Order.Interval.Set.SuccPred +module + +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Order.Interval.Set.SuccPred /-! # Set intervals in an additive successor-predecessor order @@ -24,6 +26,8 @@ Please keep in sync with: Copy over `insert` lemmas from `Mathlib/Order/Interval/Finset/Nat.lean`. -/ +@[expose] public section + open Function Order OrderDual variable {ι α : Type*} diff --git a/Mathlib/Algebra/Order/Invertible.lean b/Mathlib/Algebra/Order/Invertible.lean index 4184268d8b2846..00154b1218c6b2 100644 --- a/Mathlib/Algebra/Order/Invertible.lean +++ b/Mathlib/Algebra/Order/Invertible.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Invertible -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Invertible +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # Lemmas about `invOf` in ordered (semi)rings. -/ +@[expose] public section + variable {R : Type*} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} @[simp] diff --git a/Mathlib/Algebra/Order/Kleene.lean b/Mathlib/Algebra/Order/Kleene.lean index 9d6ca3d7074cbf..5b4d9ac928b669 100644 --- a/Mathlib/Algebra/Order/Kleene.lean +++ b/Mathlib/Algebra/Order/Kleene.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Siddhartha Prasad, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Siddhartha Prasad, Yaël Dillies -/ -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Ring.Pi -import Mathlib.Algebra.Ring.Prod -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Tactic.Monotonicity.Attr /-! # Kleene Algebras @@ -48,6 +50,8 @@ Instances for `AddOpposite`, `MulOpposite`, `ULift`, `Subsemiring`, `Subring`, ` kleene algebra, idempotent semiring -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Module/Algebra.lean b/Mathlib/Algebra/Order/Module/Algebra.lean index 9fae8db0eba023..be96d4c8d8df71 100644 --- a/Mathlib/Algebra/Order/Module/Algebra.lean +++ b/Mathlib/Algebra/Order/Module/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Tactic.Positivity.Core /-! # Ordered algebras @@ -17,6 +19,8 @@ This file proves properties of algebras where both rings are ordered compatibly. `positivity` extension for `algebraMap` -/ +@[expose] public section + variable {α β : Type*} [CommSemiring α] [PartialOrder α] section OrderedSemiring @@ -77,7 +81,7 @@ open Lean Meta Qq Function /-- Extension for `algebraMap`. -/ @[positivity algebraMap _ _ _] -def evalAlgebraMap : PositivityExt where eval {u β} _zβ _pβ e := do +meta def evalAlgebraMap : PositivityExt where eval {u β} _zβ _pβ e := do let ~q(@algebraMap $α _ $instα $instβ $instαβ $a) := e | throwError "not `algebraMap`" let pα ← synthInstanceQ q(PartialOrder $α) match ← core q(inferInstance) pα a with diff --git a/Mathlib/Algebra/Order/Module/Archimedean.lean b/Mathlib/Algebra/Order/Module/Archimedean.lean index 04d21db21e3143..263b9da068212f 100644 --- a/Mathlib/Algebra/Order/Module/Archimedean.lean +++ b/Mathlib/Algebra/Order/Module/Archimedean.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ +module -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Algebra.Order.Archimedean.Class -import Mathlib.Algebra.Order.Module.Basic +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Algebra.Order.Archimedean.Class +public import Mathlib.Algebra.Order.Module.Basic /-! # Archimedean classes for ordered module @@ -17,6 +18,8 @@ import Mathlib.Algebra.Order.Module.Basic * `ArchimedeanClass.closedBall` are `ArchimedeanClass.closedBallAddSubgroup` as a submodules. -/ +@[expose] public section + namespace ArchimedeanClass variable {M : Type*} [AddCommGroup M] [LinearOrder M] [IsOrderedAddMonoid M] diff --git a/Mathlib/Algebra/Order/Module/Basic.lean b/Mathlib/Algebra/Order/Module/Basic.lean index fdcde24d40db41..6511603e76b7fe 100644 --- a/Mathlib/Algebra/Order/Module/Basic.lean +++ b/Mathlib/Algebra/Order/Module/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Module.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Invertible +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Module.Defs /-! # Further lemmas about monotonicity of scalar multiplication -/ +@[expose] public section + variable {𝕜 R M : Type*} section Semiring diff --git a/Mathlib/Algebra/Order/Module/Defs.lean b/Mathlib/Algebra/Order/Module/Defs.lean index fd58e53df548e6..72e2d38aa9b76a 100644 --- a/Mathlib/Algebra/Order/Module/Defs.lean +++ b/Mathlib/Algebra/Order/Module/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.Algebra.Notation.Prod -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Order.Hom.Basic /-! # Monotonicity of scalar multiplication by positive elements @@ -121,6 +123,8 @@ In the future, it would be good to make the corresponding typeclasses in `Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean` custom typeclasses too. -/ +@[expose] public section + assert_not_exists Field Finset open OrderDual diff --git a/Mathlib/Algebra/Order/Module/Equiv.lean b/Mathlib/Algebra/Order/Module/Equiv.lean index f1b6dcc307bf5d..93ab53b16de6eb 100644 --- a/Mathlib/Algebra/Order/Module/Equiv.lean +++ b/Mathlib/Algebra/Order/Module/Equiv.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Order.Group.Equiv -import Mathlib.Algebra.Order.Module.Synonym +module + +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Order.Group.Equiv +public import Mathlib.Algebra.Order.Module.Synonym /-! # Linear equivalence for order type synonyms -/ +@[expose] public section + variable (α β : Type*) variable [Semiring α] [AddCommMonoid β] [Module α β] diff --git a/Mathlib/Algebra/Order/Module/Field.lean b/Mathlib/Algebra/Order/Module/Field.lean index 2365293d56bba9..baff7037ffb590 100644 --- a/Mathlib/Algebra/Order/Module/Field.lean +++ b/Mathlib/Algebra/Order/Module/Field.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Field.Defs -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Tactic.Positivity.Core /-! # Ordered vector spaces -/ +@[expose] public section + open OrderDual variable {𝕜 G : Type*} @@ -97,7 +101,7 @@ end NoZeroSMulDivisors /-- Positivity extension for scalar multiplication. -/ @[positivity HSMul.hSMul _ _] -def evalSMul : PositivityExt where eval {_u α} zα pα (e : Q($α)) := do +meta def evalSMul : PositivityExt where eval {_u α} zα pα (e : Q($α)) := do let .app (.app (.app (.app (.app (.app (.const ``HSMul.hSMul [u1, _, _]) (β : Q(Type u1))) _) _) _) (a : Q($β))) (b : Q($α)) ← whnfR e | throwError "failed to match hSMul" diff --git a/Mathlib/Algebra/Order/Module/HahnEmbedding.lean b/Mathlib/Algebra/Order/Module/HahnEmbedding.lean index 28ecbfdac80db7..8f507101de0368 100644 --- a/Mathlib/Algebra/Order/Module/HahnEmbedding.lean +++ b/Mathlib/Algebra/Order/Module/HahnEmbedding.lean @@ -3,14 +3,16 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Algebra.Module.Submodule.Order -import Mathlib.Algebra.Order.Module.Archimedean -import Mathlib.Algebra.Order.Module.Equiv -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.LinearPMap -import Mathlib.RingTheory.HahnSeries.Lex +module + +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Algebra.Module.Submodule.Order +public import Mathlib.Algebra.Order.Module.Archimedean +public import Mathlib.Algebra.Order.Module.Equiv +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.LinearPMap +public import Mathlib.RingTheory.HahnSeries.Lex /-! # Hahn embedding theorem on ordered modules @@ -42,6 +44,8 @@ to a proof of the classic Hahn embedding theorem. (See `hahnEmbedding_isOrderedA * [M. Hausner, J.G. Wendel, *Ordered vector spaces*][hausnerwendel1952] -/ +@[expose] public section + /-! ### Step 1: base embedding We start with `HahnEmbedding.ArchimedeanStrata` that gives a family of Archimedean submodules, diff --git a/Mathlib/Algebra/Order/Module/OrderedSMul.lean b/Mathlib/Algebra/Order/Module/OrderedSMul.lean index a4484f9e8363b0..6e4d9adc632a84 100644 --- a/Mathlib/Algebra/Order/Module/OrderedSMul.lean +++ b/Mathlib/Algebra/Order/Module/OrderedSMul.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.GroupWithZero.Action.Prod -import Mathlib.Algebra.Order.Module.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.GroupWithZero.Action.Prod +public import Mathlib.Algebra.Order.Module.Defs /-! # Ordered scalar product @@ -39,6 +41,8 @@ This file is now mostly useless. We should try deleting `OrderedSMul` ordered module, ordered scalar, ordered smul, ordered action, ordered vector space -/ +@[expose] public section + deprecated_module (since := "2025-08-25") /-- The ordered scalar product property is when an ordered additive commutative monoid diff --git a/Mathlib/Algebra/Order/Module/Pointwise.lean b/Mathlib/Algebra/Order/Module/Pointwise.lean index fe8b76379547f2..448784c674ca4e 100644 --- a/Mathlib/Algebra/Order/Module/Pointwise.lean +++ b/Mathlib/Algebra/Order/Module/Pointwise.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Order.Module.Field -import Mathlib.Order.Bounds.OrderIso -import Mathlib.Order.GaloisConnection.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Order.Module.Field +public import Mathlib.Order.Bounds.OrderIso +public import Mathlib.Order.GaloisConnection.Basic /-! # Bounds on scalar multiplication of set @@ -14,6 +16,8 @@ import Mathlib.Order.GaloisConnection.Basic This file proves order properties of pointwise operations of sets. -/ +@[expose] public section + open scoped Pointwise variable {α β : Type*} diff --git a/Mathlib/Algebra/Order/Module/PositiveLinearMap.lean b/Mathlib/Algebra/Order/Module/PositiveLinearMap.lean index 7d6235f98ecabd..dca3b2e88055d0 100644 --- a/Mathlib/Algebra/Order/Module/PositiveLinearMap.lean +++ b/Mathlib/Algebra/Order/Module/PositiveLinearMap.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Tactic.ContinuousFunctionalCalculus /-! # Positive linear maps @@ -24,6 +25,8 @@ More substantial results on positive maps such as their continuity can be found the `Analysis/CStarAlgebra` folder. -/ +@[expose] public section + /-- A positive linear map is a linear map that is also an order homomorphism. -/ structure PositiveLinearMap (R E₁ E₂ : Type*) [Semiring R] [AddCommMonoid E₁] [PartialOrder E₁] [AddCommMonoid E₂] [PartialOrder E₂] diff --git a/Mathlib/Algebra/Order/Module/Rat.lean b/Mathlib/Algebra/Order/Module/Rat.lean index 50af0bf85f1ac3..ec1cc35b6c1297 100644 --- a/Mathlib/Algebra/Order/Module/Rat.lean +++ b/Mathlib/Algebra/Order/Module/Rat.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Module.Basic -import Mathlib.Data.NNRat.Lemmas -import Mathlib.Data.Rat.Cast.Order +module + +public import Mathlib.Algebra.Order.Module.Basic +public import Mathlib.Data.NNRat.Lemmas +public import Mathlib.Data.Rat.Cast.Order /-! # Monotonicity of the action by rational numbers -/ +@[expose] public section + variable {α : Type*} instance PosSMulMono.nnrat_of_rat [Preorder α] [MulAction ℚ α] [PosSMulMono ℚ α] : diff --git a/Mathlib/Algebra/Order/Module/Synonym.lean b/Mathlib/Algebra/Order/Module/Synonym.lean index 858df1e0658ea4..18f783d74ef5ce 100644 --- a/Mathlib/Algebra/Order/Module/Synonym.lean +++ b/Mathlib/Algebra/Order/Module/Synonym.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym -import Mathlib.Algebra.Order.Ring.Synonym +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Action.Synonym +public import Mathlib.Algebra.Order.Ring.Synonym /-! # Action instances for `OrderDual` @@ -20,6 +22,8 @@ the `SMul` instances are already defined in `Mathlib/Algebra/Order/Group/Synonym * `Mathlib/Algebra/Order/GroupWithZero/Action/Synonym.lean` -/ +@[expose] public section + variable {α β : Type*} namespace OrderDual diff --git a/Mathlib/Algebra/Order/Monoid/Associated.lean b/Mathlib/Algebra/Order/Monoid/Associated.lean index 8f58a6a8034dba..53bd1a08d1573f 100644 --- a/Mathlib/Algebra/Order/Monoid/Associated.lean +++ b/Mathlib/Algebra/Order/Monoid/Associated.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Order on associates @@ -12,6 +14,8 @@ import Mathlib.Algebra.Order.Monoid.Canonical.Defs This file shows that divisibility makes associates into a canonically ordered monoid. -/ +@[expose] public section + variable {M : Type*} [CancelCommMonoidWithZero M] namespace Associates diff --git a/Mathlib/Algebra/Order/Monoid/Basic.lean b/Mathlib/Algebra/Order/Monoid/Basic.lean index 2e4e428a1245b4..784eb27548e63b 100644 --- a/Mathlib/Algebra/Order/Monoid/Basic.lean +++ b/Mathlib/Algebra/Order/Monoid/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Order.Hom.Basic /-! # Ordered monoids @@ -12,6 +14,8 @@ import Mathlib.Order.Hom.Basic This file develops some additional material on ordered monoids. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean b/Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean index 0a618ac84cc8c3..ca6df20a2eb00c 100644 --- a/Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean +++ b/Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Data.Finset.Lattice.Fold /-! # Extra lemmas about canonically ordered monoids -/ +@[expose] public section + namespace Finset variable {ι α : Type*} [AddCommMonoid α] [LinearOrder α] [OrderBot α] [CanonicallyOrderedAdd α] {s : Finset ι} {f : ι → α} diff --git a/Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean b/Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean index 767e3ace53c852..02ba5ce5a6b706 100644 --- a/Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean +++ b/Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean @@ -3,16 +3,20 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl, Yuyang Zhao -/ -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.NeZero -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.NeZero +public import Mathlib.Order.BoundedOrder.Basic /-! # Canonically ordered monoids -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Order/Monoid/Defs.lean b/Mathlib/Algebra/Order/Monoid/Defs.lean index 4d7d99186b365d..e9af55c0d209d2 100644 --- a/Mathlib/Algebra/Order/Monoid/Defs.lean +++ b/Mathlib/Algebra/Order/Monoid/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic /-! # Ordered monoids @@ -12,6 +14,8 @@ This file provides the definitions of ordered monoids. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Monoid/Lex.lean b/Mathlib/Algebra/Order/Monoid/Lex.lean index 4a151173a6ad33..598d87cf069618 100644 --- a/Mathlib/Algebra/Order/Monoid/Lex.lean +++ b/Mathlib/Algebra/Order/Monoid/Lex.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Data.Prod.Lex -import Mathlib.Order.Prod.Lex.Hom +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Data.Prod.Lex +public import Mathlib.Order.Prod.Lex.Hom /-! # Order homomorphisms for products of ordered monoids @@ -23,6 +25,8 @@ Create the "OrdCommMon" category. -/ +@[expose] public section + namespace MonoidHom variable {α β : Type*} [Monoid α] [Preorder α] [Monoid β] [Preorder β] diff --git a/Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean b/Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean index d6c765e714e84b..44942b4a803d64 100644 --- a/Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean +++ b/Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean @@ -3,15 +3,17 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Order.Group.Units -import Mathlib.Algebra.Order.Hom.MonoidWithZero -import Mathlib.Algebra.Order.Hom.TypeTags -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Data.Nat.Cast.Order.Ring -import Mathlib.Tactic.Abel -import Mathlib.Algebra.Group.Embedding -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Order.Group.Units +public import Mathlib.Algebra.Order.Hom.MonoidWithZero +public import Mathlib.Algebra.Order.Hom.TypeTags +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Data.Nat.Cast.Order.Ring +public import Mathlib.Tactic.Abel +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Order.Interval.Finset.Basic /-! @@ -30,6 +32,8 @@ import Mathlib.Order.Interval.Finset.Basic -/ +@[expose] public section + open Finset section Multiplicative diff --git a/Mathlib/Algebra/Order/Monoid/NatCast.lean b/Mathlib/Algebra/Order/Monoid/NatCast.lean index f64f5811a374db..3ce274153409d9 100644 --- a/Mathlib/Algebra/Order/Monoid/NatCast.lean +++ b/Mathlib/Algebra/Order/Monoid/NatCast.lean @@ -3,14 +3,18 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Data.Nat.Cast.Defs +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Data.Nat.Cast.Defs /-! # Order of numerals in an `AddMonoidWithOne`. -/ +@[expose] public section + variable {α : Type*} open Function diff --git a/Mathlib/Algebra/Order/Monoid/OrderDual.lean b/Mathlib/Algebra/Order/Monoid/OrderDual.lean index a50f4351f5f580..700ee15fce9c67 100644 --- a/Mathlib/Algebra/Order/Monoid/OrderDual.lean +++ b/Mathlib/Algebra/Order/Monoid/OrderDual.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Algebra.Order.Monoid.Defs +module + +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Algebra.Order.Monoid.Defs /-! # Ordered monoid structures on the order dual. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Order/Monoid/PNat.lean b/Mathlib/Algebra/Order/Monoid/PNat.lean index 6c873f976544dd..277b428ade600d 100644 --- a/Mathlib/Algebra/Order/Monoid/PNat.lean +++ b/Mathlib/Algebra/Order/Monoid/PNat.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Data.PNat.Basic +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Data.PNat.Basic /-! # Equivalence between `ℕ+` and `nonZeroDivisors ℕ` -/ +@[expose] public section + /-- `ℕ+` is equivalent to `nonZeroDivisors ℕ` in terms of order and multiplication. -/ @[simps] def PNat.equivNonZeroDivisorsNat : ℕ+ ≃*o nonZeroDivisors ℕ where diff --git a/Mathlib/Algebra/Order/Monoid/Prod.lean b/Mathlib/Algebra/Order/Monoid/Prod.lean index 0c06852e4e7669..99bf4862a62f0e 100644 --- a/Mathlib/Algebra/Order/Monoid/Prod.lean +++ b/Mathlib/Algebra/Order/Monoid/Prod.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Data.Prod.Lex +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Data.Prod.Lex /-! # Products of ordered monoids -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace Prod diff --git a/Mathlib/Algebra/Order/Monoid/Submonoid.lean b/Mathlib/Algebra/Order/Monoid/Submonoid.lean index 62c31e83239e0a..7121817da20d37 100644 --- a/Mathlib/Algebra/Order/Monoid/Submonoid.lean +++ b/Mathlib/Algebra/Order/Monoid/Submonoid.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Order.Interval.Set.Defs /-! # Ordered instances on submonoids -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace SubmonoidClass diff --git a/Mathlib/Algebra/Order/Monoid/ToMulBot.lean b/Mathlib/Algebra/Order/Monoid/ToMulBot.lean index 16daacd9a4f06d..ae7f525de72e2c 100644 --- a/Mathlib/Algebra/Order/Monoid/ToMulBot.lean +++ b/Mathlib/Algebra/Order/Monoid/ToMulBot.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop /-! Making an additive monoid multiplicative then adding a zero is the same as adding a bottom element then making it multiplicative. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Order/Monoid/TypeTags.lean b/Mathlib/Algebra/Order/Monoid/TypeTags.lean index 7ab1b5c60115a2..475ff9f9e8ba86 100644 --- a/Mathlib/Algebra/Order/Monoid/TypeTags.lean +++ b/Mathlib/Algebra/Order/Monoid/TypeTags.lean @@ -3,11 +3,15 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Bundled ordered monoid structures on `Multiplicative α` and `Additive α`. -/ +@[expose] public section + variable {α : Type*} instance Multiplicative.isOrderedMonoid [AddCommMonoid α] [PartialOrder α] [IsOrderedAddMonoid α] : diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean index a6f219e8671cd9..ab35117125a945 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean @@ -4,11 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl, Damiano Testa, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Defs -import Mathlib.Data.Ordering.Basic -import Mathlib.Order.MinMax -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Use +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Defs +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Order.MinMax +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Use /-! # Ordered monoids @@ -28,6 +30,8 @@ Almost no monoid is actually present in this file: most assumptions have been ge -/ +@[expose] public section + -- TODO: If possible, uniformize lemma names, taking special care of `'`, -- after the `ordered`-refactor is done. diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean index 7e0bfe9a02b48c..87abe8241301eb 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Order.Basic -import Mathlib.Order.Monotone.Defs +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Order.Basic +public import Mathlib.Order.Monotone.Defs /-! @@ -54,6 +56,8 @@ as it is easier to use. -/ +@[expose] public section + -- TODO: convert `ExistsMulOfLE`, `ExistsAddOfLE`? -- TODO: relationship with `Con/AddCon` diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean index c2e25592e58cd5..39fac99f1d5214 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson, Yaël Dillies -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Order.MinMax +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Order.MinMax /-! # Unbundled and weaker forms of canonically ordered monoids @@ -15,6 +17,8 @@ generalising statements from groups/rings/fields that don't mention negation or monoids/semirings/semifields. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/MinMax.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/MinMax.lean index f8cdd57c1e8518..b0e1dc4e3f4bf9 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/MinMax.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/MinMax.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic /-! # Lemmas about `min` and `max` in an ordered monoid. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean index c93cbe11c49023..dfa6f82d8a7e34 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean @@ -3,11 +3,15 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Order.Monoid.Unbundled.Defs +module + +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Order.Monoid.Unbundled.Defs /-! # Unbundled ordered monoid structures on the order dual. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean index 8ea0150dde8608..dff3efa184d79f 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean @@ -3,15 +3,19 @@ Copyright (c) 2015 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Yury Kudryashov -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Tactic.Lift -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.Monotonicity.Attr /-! # Lemmas about the interaction of power operations with order in terms of `CovariantClass` -/ +@[expose] public section + open Function variable {β G M : Type*} diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/TypeTags.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/TypeTags.lean index 483877e4fee6ec..38dd8d7e15fc4b 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/TypeTags.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/TypeTags.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Order.BoundedOrder.Basic /-! # Ordered monoid structures on `Multiplicative α` and `Additive α`. -/ +@[expose] public section + variable {α : Type*} instance : ∀ [LE α], LE (Multiplicative α) := diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean index e4100892a24028..d8fa81e10949fa 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic /-! # Lemmas for units in an ordered monoid -/ +@[expose] public section + variable {M : Type*} [Monoid M] [LE M] namespace Units diff --git a/Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean b/Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean index ea5fc1ef37fc70..178148af285d77 100644 --- a/Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean +++ b/Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Order.WithBot +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Order.WithBot /-! # Adjoining top/bottom elements to ordered monoids. -/ +@[expose] public section + universe u v variable {α : Type u} {β : Type v} diff --git a/Mathlib/Algebra/Order/Monoid/Units.lean b/Mathlib/Algebra/Order/Monoid/Units.lean index 7addf50d6ab41a..a2c4b062dccaea 100644 --- a/Mathlib/Algebra/Order/Monoid/Units.lean +++ b/Mathlib/Algebra/Order/Monoid/Units.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Order.Hom.Basic -import Mathlib.Algebra.Group.Units.Defs +module + +public import Mathlib.Order.Hom.Basic +public import Mathlib.Algebra.Group.Units.Defs /-! # Units in ordered monoids -/ +@[expose] public section + namespace Units variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Monoid/WithTop.lean b/Mathlib/Algebra/Order/Monoid/WithTop.lean index 4d4b67e61070b8..c15812a0ffbe9f 100644 --- a/Mathlib/Algebra/Order/Monoid/WithTop.lean +++ b/Mathlib/Algebra/Order/Monoid/WithTop.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Adjoining top/bottom elements to ordered monoids. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Algebra/Order/Monovary.lean b/Mathlib/Algebra/Order/Monovary.lean index a273273f05e2bf..82f920176ee2cc 100644 --- a/Mathlib/Algebra/Order/Monovary.lean +++ b/Mathlib/Algebra/Order/Monovary.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Order.Monotone.Monovary +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Order.Monotone.Monovary /-! # Monovarying functions and algebraic operations @@ -20,6 +22,8 @@ of functions. `Mathlib.Algebra.Order.Rearrangement` for the n-ary rearrangement inequality -/ +@[expose] public section + variable {ι α β : Type*} /-! ### Algebraic operations on monovarying functions -/ diff --git a/Mathlib/Algebra/Order/Nonneg/Basic.lean b/Mathlib/Algebra/Order/Nonneg/Basic.lean index 946360fb223652..f97f8741e1e2a3 100644 --- a/Mathlib/Algebra/Order/Nonneg/Basic.lean +++ b/Mathlib/Algebra/Order/Nonneg/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Data.Nat.Cast.Order.Basic +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Data.Nat.Cast.Order.Basic /-! # The type of nonnegative elements @@ -30,6 +32,8 @@ equal, this often confuses the elaborator. Similar problems arise when doing cas The disadvantage is that we have to duplicate some instances about `Set.Ici` to this subtype. -/ + +@[expose] public section assert_not_exists GeneralizedHeytingAlgebra assert_not_exists OrderedCommMonoid -- TODO -- assert_not_exists PosMulMono diff --git a/Mathlib/Algebra/Order/Nonneg/Field.lean b/Mathlib/Algebra/Order/Nonneg/Field.lean index e40d0b5216bdfe..bb92673a3ab793 100644 --- a/Mathlib/Algebra/Order/Nonneg/Field.lean +++ b/Mathlib/Algebra/Order/Nonneg/Field.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Order.Field.Canonical -import Mathlib.Algebra.Order.Nonneg.Ring -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Order.Field.Canonical +public import Mathlib.Algebra.Order.Nonneg.Ring +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # Semifield structure on the type of nonnegative elements @@ -21,6 +23,8 @@ This is used to derive algebraic structures on `ℝ≥0` and `ℚ≥0` automatic * `{x : α // 0 ≤ x}` is a `CanonicallyLinearOrderedSemifield` if `α` is a `LinearOrderedField`. -/ +@[expose] public section + assert_not_exists abs_inv open Set diff --git a/Mathlib/Algebra/Order/Nonneg/Floor.lean b/Mathlib/Algebra/Order/Nonneg/Floor.lean index a3fa4bf2ded538..1e816a106a9219 100644 --- a/Mathlib/Algebra/Order/Nonneg/Floor.lean +++ b/Mathlib/Algebra/Order/Nonneg/Floor.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Floor.Defs -import Mathlib.Algebra.Order.Nonneg.Basic +module + +public import Mathlib.Algebra.Order.Floor.Defs +public import Mathlib.Algebra.Order.Nonneg.Basic /-! # Nonnegative elements are archimedean @@ -19,6 +21,8 @@ This is used to derive algebraic structures on `ℝ≥0` and `ℚ≥0` automatic * `{x : α // 0 ≤ x}` is a `FloorSemiring` if `α` is. -/ +@[expose] public section + assert_not_exists Finset LinearOrderedField namespace Nonneg diff --git a/Mathlib/Algebra/Order/Nonneg/Lattice.lean b/Mathlib/Algebra/Order/Nonneg/Lattice.lean index 18abb1fdcc1276..7b5587d4df86ab 100644 --- a/Mathlib/Algebra/Order/Nonneg/Lattice.lean +++ b/Mathlib/Algebra/Order/Nonneg/Lattice.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Order.CompleteLatticeIntervals -import Mathlib.Order.LatticeIntervals +module + +public import Mathlib.Order.CompleteLatticeIntervals +public import Mathlib.Order.LatticeIntervals /-! # Lattice structures on the type of nonnegative elements -/ + +@[expose] public section assert_not_exists Ring assert_not_exists OrderedCommMonoid diff --git a/Mathlib/Algebra/Order/Nonneg/Module.lean b/Mathlib/Algebra/Order/Nonneg/Module.lean index e1332340195171..5da8f1678cd32c 100644 --- a/Mathlib/Algebra/Order/Nonneg/Module.lean +++ b/Mathlib/Algebra/Order/Nonneg/Module.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Apurva Nakade. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Apurva Nakade -/ -import Mathlib.Algebra.Module.RingHom -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Nonneg.Basic +module + +public import Mathlib.Algebra.Module.RingHom +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Nonneg.Basic /-! # Modules over nonnegative elements @@ -16,6 +18,8 @@ For an ordered ring `R`, this file proves that any (ordered) `R`-module `M` is a Among other things, these instances are useful for working with `ConvexCone`. -/ +@[expose] public section + assert_not_exists Finset variable {R S M : Type*} diff --git a/Mathlib/Algebra/Order/Nonneg/Ring.lean b/Mathlib/Algebra/Order/Nonneg/Ring.lean index df46a4d3f7bf0d..6289f4aaded9ef 100644 --- a/Mathlib/Algebra/Order/Nonneg/Ring.lean +++ b/Mathlib/Algebra/Order/Nonneg/Ring.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Nonneg.Basic -import Mathlib.Algebra.Order.Nonneg.Lattice -import Mathlib.Algebra.Order.Ring.InjSurj -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Nonneg.Basic +public import Mathlib.Algebra.Order.Nonneg.Lattice +public import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Tactic.FastInstance /-! # Bundled ordered algebra instance on the type of nonnegative elements @@ -34,6 +36,8 @@ equal, this often confuses the elaborator. Similar problems arise when doing cas The disadvantage is that we have to duplicate some instances about `Set.Ici` to this subtype. -/ +@[expose] public section + open Set variable {α : Type*} diff --git a/Mathlib/Algebra/Order/PUnit.lean b/Mathlib/Algebra/Order/PUnit.lean index 7c6ba68a92893b..be85d52f1048a4 100644 --- a/Mathlib/Algebra/Order/PUnit.lean +++ b/Mathlib/Algebra/Order/PUnit.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Order.AddGroupWithTop +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Order.AddGroupWithTop /-! # Instances on PUnit This file collects facts about ordered algebraic structures on the one-element type. -/ +@[expose] public section + namespace PUnit instance canonicallyOrderedAdd : CanonicallyOrderedAdd PUnit where diff --git a/Mathlib/Algebra/Order/PartialSups.lean b/Mathlib/Algebra/Order/PartialSups.lean index 572926d7e8ef03..673dfb808925c7 100644 --- a/Mathlib/Algebra/Order/PartialSups.lean +++ b/Mathlib/Algebra/Order/PartialSups.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Order.SuccPred.PartialSups +module + +public import Mathlib.Algebra.Order.SuccPred.PartialSups deprecated_module (since := "2025-08-18") diff --git a/Mathlib/Algebra/Order/Pi.lean b/Mathlib/Algebra/Order/Pi.lean index 47889f661a003a..7552fda8bfaf68 100644 --- a/Mathlib/Algebra/Order/Pi.lean +++ b/Mathlib/Algebra/Order/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.Notation.Lemmas -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Pi +module + +public import Mathlib.Algebra.Notation.Lemmas +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Pi /-! # Pi instances for ordered groups and monoids @@ -14,6 +16,8 @@ import Mathlib.Algebra.Ring.Pi This file defines instances for ordered group, monoid, and related structures on Pi types. -/ +@[expose] public section + variable {I α β γ : Type*} -- The indexing type diff --git a/Mathlib/Algebra/Order/Positive/Field.lean b/Mathlib/Algebra/Order/Positive/Field.lean index 4cab5483cf3bd6..911c748941afc9 100644 --- a/Mathlib/Algebra/Order/Positive/Field.lean +++ b/Mathlib/Algebra/Order/Positive/Field.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Positive.Ring +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.Positive.Ring /-! # Algebraic structures on the set of positive numbers @@ -13,6 +15,8 @@ In this file we prove that the set of positive elements of a linear ordered fiel ordered commutative group. -/ +@[expose] public section + variable {K : Type*} [Field K] [LinearOrder K] [IsStrictOrderedRing K] diff --git a/Mathlib/Algebra/Order/Positive/Ring.lean b/Mathlib/Algebra/Order/Positive/Ring.lean index 42e6a661200b1d..87e3c6c822e59d 100644 --- a/Mathlib/Algebra/Order/Positive/Ring.lean +++ b/Mathlib/Algebra/Order/Positive/Ring.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Tactic.FastInstance /-! # Algebraic structures on the set of positive numbers @@ -15,6 +17,8 @@ type `{x : R // 0 < x}`. In each case we try to require the weakest possible typ assumptions on `R` but possibly, there is a room for improvements. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Quantale.lean b/Mathlib/Algebra/Order/Quantale.lean index 0a573faf5f891c..e49d08397943bd 100644 --- a/Mathlib/Algebra/Order/Quantale.lean +++ b/Mathlib/Algebra/Order/Quantale.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Pieter Cuijpers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pieter Cuijpers -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Order.CompleteLattice.Basic -import Mathlib.Tactic.Variable +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Order.CompleteLattice.Basic +public import Mathlib.Tactic.Variable /-! # Theory of quantales @@ -57,6 +59,8 @@ integral, and involutive quantales easier to add on later. -/ +@[expose] public section + open Function /-- An additive quantale is an additive semigroup distributing over a complete lattice. -/ diff --git a/Mathlib/Algebra/Order/Rearrangement.lean b/Mathlib/Algebra/Order/Rearrangement.lean index d99a183934a537..2e0f5633bbe1bc 100644 --- a/Mathlib/Algebra/Order/Rearrangement.lean +++ b/Mathlib/Algebra/Order/Rearrangement.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Mantas Bakšys. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mantas Bakšys -/ -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Data.Finset.Max -import Mathlib.Data.Prod.Lex -import Mathlib.GroupTheory.Perm.Support -import Mathlib.Order.Monotone.Monovary +module + +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Prod.Lex +public import Mathlib.GroupTheory.Perm.Support +public import Mathlib.Order.Monotone.Monovary /-! # Rearrangement inequality @@ -46,6 +48,8 @@ Add equality cases for when the permute function is injective. This comes from t If `Monovary f g`, `Injective g` and `σ` is a permutation, then `Monovary f (g ∘ σ) ↔ σ = 1`. -/ +@[expose] public section + open Equiv Equiv.Perm Finset Function OrderDual diff --git a/Mathlib/Algebra/Order/Ring/Abs.lean b/Mathlib/Algebra/Order/Ring/Abs.lean index 1d327223b03eb3..46e25dc87e02fb 100644 --- a/Mathlib/Algebra/Order/Ring/Abs.lean +++ b/Mathlib/Algebra/Order/Ring/Abs.lean @@ -3,17 +3,21 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # Absolute values in linear ordered rings. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Ring/Archimedean.lean b/Mathlib/Algebra/Order/Ring/Archimedean.lean index 917cf94acb9018..09ce17a9b6b5dd 100644 --- a/Mathlib/Algebra/Order/Ring/Archimedean.lean +++ b/Mathlib/Algebra/Order/Ring/Archimedean.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang, Violeta Hernández Palacios -/ -import Mathlib.Algebra.Order.Archimedean.Class -import Mathlib.Algebra.Order.Group.DenselyOrdered -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Order.Hom.Ring -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.Algebra.Order.Archimedean.Class +public import Mathlib.Algebra.Order.Group.DenselyOrdered +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Order.Hom.Ring +public import Mathlib.RingTheory.Valuation.Basic /-! # Archimedean classes of a linearly ordered ring @@ -36,6 +38,8 @@ reasons: one on `Valuation`. -/ +@[expose] public section + variable {R S : Type*} [LinearOrder R] [LinearOrder S] namespace ArchimedeanClass diff --git a/Mathlib/Algebra/Order/Ring/Basic.lean b/Mathlib/Algebra/Order/Ring/Basic.lean index f24e0883586310..046cc97b8384cc 100644 --- a/Mathlib/Algebra/Order/Ring/Basic.lean +++ b/Mathlib/Algebra/Order/Ring/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2015 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Parity -import Mathlib.Tactic.Bound.Attribute +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Tactic.Bound.Attribute /-! # Basic lemmas about ordered rings -/ +@[expose] public section + -- We should need only a minimal development of sets in order to get here. assert_not_exists Set.Subsingleton diff --git a/Mathlib/Algebra/Order/Ring/Canonical.lean b/Mathlib/Algebra/Order/Ring/Canonical.lean index 420cda4ae76c3b..b97e9197175efb 100644 --- a/Mathlib/Algebra/Order/Ring/Canonical.lean +++ b/Mathlib/Algebra/Order/Ring/Canonical.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Algebra.Ring.Parity +module + +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Algebra.Ring.Parity /-! # Canonically ordered rings and semirings. -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/Order/Ring/Cast.lean b/Mathlib/Algebra/Order/Ring/Cast.lean index 0fe47f59a4932d..bd295488f20635 100644 --- a/Mathlib/Algebra/Order/Ring/Cast.lean +++ b/Mathlib/Algebra/Order/Ring/Cast.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # Order properties of cast of integers @@ -20,6 +22,8 @@ which were not available in the import dependencies of `Mathlib/Data/Int/Cast/Ba Move order lemmas about `Nat.cast`, `Rat.cast`, `NNRat.cast` here. -/ +@[expose] public section + open Function Nat variable {R : Type*} diff --git a/Mathlib/Algebra/Order/Ring/Cone.lean b/Mathlib/Algebra/Order/Ring/Cone.lean index 0c82182f1f0350..ca30d7f7a8cb7a 100644 --- a/Mathlib/Algebra/Order/Ring/Cone.lean +++ b/Mathlib/Algebra/Order/Ring/Cone.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Artie Khovanov -/ -import Mathlib.Algebra.Order.Group.Cone -import Mathlib.Algebra.Ring.Subsemiring.Order +module + +public import Mathlib.Algebra.Order.Group.Cone +public import Mathlib.Algebra.Ring.Subsemiring.Order /-! # Construct ordered rings from rings with a specified positive cone. @@ -17,6 +19,8 @@ We also provide constructors that convert between cones in rings and the corresponding ordered rings. -/ +@[expose] public section + /-- `RingConeClass S R` says that `S` is a type of cones in `R`. -/ class RingConeClass (S : Type*) (R : outParam Type*) [Ring R] [SetLike S R] : Prop extends AddGroupConeClass S R, SubsemiringClass S R diff --git a/Mathlib/Algebra/Order/Ring/Defs.lean b/Mathlib/Algebra/Order/Ring/Defs.lean index 671d0ef780be77..ab19723734cfd9 100644 --- a/Mathlib/Algebra/Order/Ring/Defs.lean +++ b/Mathlib/Algebra/Order/Ring/Defs.lean @@ -3,16 +3,18 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Yaël Dillies, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Ring.Unbundled.Basic -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.NatCast -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Ring.GrindInstances -import Mathlib.Tactic.Tauto -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +module + +public import Mathlib.Algebra.Order.Ring.Unbundled.Basic +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.NatCast +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Ring.GrindInstances +public import Mathlib.Tactic.Tauto +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE /-! # Ordered rings and semirings @@ -102,6 +104,8 @@ immediate predecessors and what conditions are added to each of them. - `CommRing` & `IsDomain` & linear order structure -/ +@[expose] public section + assert_not_exists MonoidHom open Function diff --git a/Mathlib/Algebra/Order/Ring/Finset.lean b/Mathlib/Algebra/Order/Ring/Finset.lean index 7545266bd1f94b..2fcbcc81913285 100644 --- a/Mathlib/Algebra/Order/Ring/Finset.lean +++ b/Mathlib/Algebra/Order/Ring/Finset.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Eric Wieser, Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # `Finset.sup` and ring operations -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/Algebra/Order/Ring/GeomSum.lean b/Mathlib/Algebra/Order/Ring/GeomSum.lean index 4334c5ff9e1017..fe2cd5c1e8cbfc 100644 --- a/Mathlib/Algebra/Order/Ring/GeomSum.lean +++ b/Mathlib/Algebra/Order/Ring/GeomSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.GeomSum +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.GeomSum /-! # Partial sums of geometric series in an ordered ring @@ -15,6 +17,8 @@ $\sum_{i=0}^{n-1} x^i y^{n-1-i}$ and variants thereof. We also provide some boun "geometric" sum of `a/b^i` where `a b : ℕ`. -/ +@[expose] public section + assert_not_exists Field open Finset MulOpposite diff --git a/Mathlib/Algebra/Order/Ring/Idempotent.lean b/Mathlib/Algebra/Order/Ring/Idempotent.lean index 41add520f55d74..4c8adc036fe903 100644 --- a/Mathlib/Algebra/Order/Ring/Idempotent.lean +++ b/Mathlib/Algebra/Order/Ring/Idempotent.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.Order.BooleanAlgebra.Defs -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.Order.BooleanAlgebra.Defs +public import Mathlib.Order.Hom.Basic /-! # Boolean algebra structure on idempotents in a commutative (semi)ring @@ -17,6 +19,8 @@ is not available, it is still true that pairs of elements `(a, b)` satisfying `a is uniquely determined by either `a` or `b`). -/ +@[expose] public section + variable {R : Type*} instance [CommMonoid R] [AddCommMonoid R] : diff --git a/Mathlib/Algebra/Order/Ring/InjSurj.lean b/Mathlib/Algebra/Order/Ring/InjSurj.lean index d01502a0b83c4e..d9809f16dc8452 100644 --- a/Mathlib/Algebra/Order/Ring/InjSurj.lean +++ b/Mathlib/Algebra/Order/Ring/InjSurj.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Order.Monoid.Basic -import Mathlib.Algebra.Order.Ring.Defs +module + +public import Mathlib.Algebra.Order.Monoid.Basic +public import Mathlib.Algebra.Order.Ring.Defs /-! # Pulling back ordered rings along injective maps -/ +@[expose] public section + variable {R S : Type*} namespace Function.Injective diff --git a/Mathlib/Algebra/Order/Ring/Int.lean b/Mathlib/Algebra/Order/Ring/Int.lean index 94361526001e80..70bf19e2ff43da 100644 --- a/Mathlib/Algebra/Order/Ring/Int.lean +++ b/Mathlib/Algebra/Order/Ring/Int.lean @@ -3,13 +3,15 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Emirhan Duysak, Adem Alp Gök, Junyan Xu -/ -import Mathlib.Algebra.Order.Group.Int -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Data.Int.GCD -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Order.BooleanAlgebra.Set +module + +public import Mathlib.Algebra.Order.Group.Int +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Data.Int.GCD +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Order.BooleanAlgebra.Set /-! # The integers form a linear ordered ring @@ -28,6 +30,8 @@ This file contains: induction on numbers less than `b`. -/ +@[expose] public section + -- We should need only a minimal development of sets in order to get here. assert_not_exists Set.Subsingleton diff --git a/Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean b/Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean index 8450b68b3f6f01..98d7e4bfb788af 100644 --- a/Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean +++ b/Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Fabrizio Barroero -/ -import Mathlib.Algebra.Order.Hom.Basic -import Mathlib.Data.Nat.Choose.Sum +module + +public import Mathlib.Algebra.Order.Hom.Basic +public import Mathlib.Data.Nat.Choose.Sum /-! # Nonarchimedean functions @@ -14,6 +16,8 @@ A function `f : α → R` is nonarchimedean if it satisfies the strong triangle nonarchimedean functions. -/ +@[expose] public section + namespace IsNonarchimedean variable {R : Type*} [Semiring R] [LinearOrder R] {a b : R} {m n : ℕ} diff --git a/Mathlib/Algebra/Order/Ring/Nat.lean b/Mathlib/Algebra/Order/Ring/Nat.lean index dc0361694cba22..e23b522f169e28 100644 --- a/Mathlib/Algebra/Order/Ring/Nat.lean +++ b/Mathlib/Algebra/Order/Ring/Nat.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Parity -import Mathlib.Order.BooleanAlgebra.Set +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Order.BooleanAlgebra.Set /-! # The natural numbers form an ordered semiring @@ -17,6 +19,8 @@ This file contains the commutative linear orderded semiring instance on the natu See note [foundational algebra order theory]. -/ +@[expose] public section + namespace Nat /-! ### Instances -/ diff --git a/Mathlib/Algebra/Order/Ring/Opposite.lean b/Mathlib/Algebra/Order/Ring/Opposite.lean index a16f2d2a35fb2c..814ad019814637 100644 --- a/Mathlib/Algebra/Order/Ring/Opposite.lean +++ b/Mathlib/Algebra/Order/Ring/Opposite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Opposite -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.Order.Group.Opposite +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Opposite /-! # Ordered ring instances for `MulOpposite`/`AddOpposite` @@ -13,6 +15,8 @@ import Mathlib.Algebra.Ring.Opposite This file transfers ordered (semi)ring instances from `R` to `Rᵐᵒᵖ` and `Rᵃᵒᵖ`. -/ +@[expose] public section + variable {R : Type*} namespace MulOpposite diff --git a/Mathlib/Algebra/Order/Ring/Ordering/Basic.lean b/Mathlib/Algebra/Order/Ring/Ordering/Basic.lean index 8e4697dbc4a32c..9e51c4015a1cce 100644 --- a/Mathlib/Algebra/Order/Ring/Ordering/Basic.lean +++ b/Mathlib/Algebra/Order/Ring/Ordering/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Florent Schaffhauser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Florent Schaffhauser, Artie Khovanov -/ -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.Order.Ring.Ordering.Defs -import Mathlib.Algebra.Ring.SumsOfSquares -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.Order.Ring.Ordering.Defs +public import Mathlib.Algebra.Ring.SumsOfSquares +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.LinearCombination /-! # Ring orderings @@ -20,6 +22,8 @@ We prove basic properties of (pre)orderings on rings and their supports. -/ +@[expose] public section + variable {R : Type*} [CommRing R] {P : RingPreordering R} /-! diff --git a/Mathlib/Algebra/Order/Ring/Ordering/Defs.lean b/Mathlib/Algebra/Order/Ring/Ordering/Defs.lean index 4d8fc87de4cea5..e54a8719c61724 100644 --- a/Mathlib/Algebra/Order/Ring/Ordering/Defs.lean +++ b/Mathlib/Algebra/Order/Ring/Ordering/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Florent Schaffhauser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Florent Schaffhauser, Artie Khovanov -/ -import Mathlib.Algebra.Ring.Subsemiring.Defs -import Mathlib.RingTheory.Ideal.Prime -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Ring.Subsemiring.Defs +public import Mathlib.RingTheory.Ideal.Prime +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Ring orderings @@ -31,6 +33,8 @@ into an ordered ring, and vice versa. -/ +@[expose] public section + /-! #### Preorderings -/ diff --git a/Mathlib/Algebra/Order/Ring/Pow.lean b/Mathlib/Algebra/Order/Ring/Pow.lean index f5967162b07624..c3e01208bd65b5 100644 --- a/Mathlib/Algebra/Order/Ring/Pow.lean +++ b/Mathlib/Algebra/Order/Ring/Pow.lean @@ -3,11 +3,15 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Nat.Cast.Commute -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public import Mathlib.Data.Nat.Cast.Commute +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # Bernoulli's inequality -/ +@[expose] public section + variable {R : Type*} section OrderedSemiring diff --git a/Mathlib/Algebra/Order/Ring/Prod.lean b/Mathlib/Algebra/Order/Ring/Prod.lean index 4fec52da148381..3e44f67453a578 100644 --- a/Mathlib/Algebra/Order/Ring/Prod.lean +++ b/Mathlib/Algebra/Order/Ring/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Monoid.Prod -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Ring.Prod +module + +public import Mathlib.Algebra.Order.Monoid.Prod +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Ring.Prod /-! # Products of ordered rings -/ +@[expose] public section + variable {α β : Type*} instance [Semiring α] [PartialOrder α] [IsOrderedRing α] diff --git a/Mathlib/Algebra/Order/Ring/Rat.lean b/Mathlib/Algebra/Order/Ring/Rat.lean index 74461c424b0bcc..591eba2a675d66 100644 --- a/Mathlib/Algebra/Order/Ring/Rat.lean +++ b/Mathlib/Algebra/Order/Ring/Rat.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.Ring.Unbundled.Rat -import Mathlib.Algebra.Ring.Rat +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Order.Ring.Unbundled.Rat +public import Mathlib.Algebra.Ring.Rat /-! # The rational numbers form a linear ordered field @@ -21,6 +23,8 @@ here because we need the order on `ℚ` to define `ℚ≥0`, which we itself nee rat, rationals, field, ℚ, numerator, denominator, num, denom, order, ordering -/ +@[expose] public section + assert_not_exists Field Finset Set.Icc GaloisConnection namespace Rat diff --git a/Mathlib/Algebra/Order/Ring/Star.lean b/Mathlib/Algebra/Order/Ring/Star.lean index de96cf91e250e7..026e2080a0c685 100644 --- a/Mathlib/Algebra/Order/Ring/Star.lean +++ b/Mathlib/Algebra/Order/Ring/Star.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.Star.Basic +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Algebra.Order.Star.Basic /-! # Commutative star-ordered rings are ordered rings @@ -19,6 +21,8 @@ ordered ring, then it is commutative. In this file we prove the converse: a *commutative* star-ordered ring is an ordered ring. -/ +@[expose] public section + namespace StarOrderedRing /- This example shows that nonnegative elements in a ordered semiring which is also star-ordered diff --git a/Mathlib/Algebra/Order/Ring/Synonym.lean b/Mathlib/Algebra/Order/Ring/Synonym.lean index a1ae0a58d0074e..fca1dbe5cae6e2 100644 --- a/Mathlib/Algebra/Order/Ring/Synonym.lean +++ b/Mathlib/Algebra/Order/Ring/Synonym.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Synonym -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Order.Group.Synonym +public import Mathlib.Algebra.Ring.Defs /-! # Ring structure on the order type synonyms @@ -12,6 +14,8 @@ import Mathlib.Algebra.Ring.Defs Transfer algebraic instances from `R` to `Rᵒᵈ` and `Lex R`. -/ +@[expose] public section + variable {R : Type*} diff --git a/Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean b/Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean index 9c441bc1311376..d31c85dc14d746 100644 --- a/Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean +++ b/Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Yaël Dillies -/ -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.Algebra.GroupWithZero.NeZero -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.Monoid.NatCast -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax -import Mathlib.Algebra.Ring.Defs -import Mathlib.Tactic.Tauto +module + +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.Algebra.GroupWithZero.NeZero +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.Monoid.NatCast +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Tactic.Tauto /-! # Basic facts for ordered rings and semirings @@ -112,6 +114,8 @@ TODO: the mixin assumptions can be relaxed in most cases -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidHom open Function diff --git a/Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean b/Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean index 0f64178edbe862..9c817cd232e2e9 100644 --- a/Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean +++ b/Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Data.Int.Order.Basic -import Mathlib.Data.Rat.Defs -import Mathlib.Algebra.Ring.Int.Defs +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Data.Int.Order.Basic +public import Mathlib.Data.Rat.Defs +public import Mathlib.Algebra.Ring.Int.Defs /-! # The rational numbers possess a linear order @@ -22,6 +24,8 @@ For the bundled `LinearOrderedCommRing` instance on `ℚ`, see `Algebra.Order.Ri rat, rationals, field, ℚ, numerator, denominator, num, denom, order, ordering -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Field Finset Set.Icc GaloisConnection namespace Rat diff --git a/Mathlib/Algebra/Order/Ring/Units.lean b/Mathlib/Algebra/Order/Ring/Units.lean index b9e1bd495b9fb6..8d56bae8211715 100644 --- a/Mathlib/Algebra/Order/Ring/Units.lean +++ b/Mathlib/Algebra/Order/Ring/Units.lean @@ -3,11 +3,15 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Ring.Subring.Units -import Mathlib.GroupTheory.Index +module + +public import Mathlib.Algebra.Ring.Subring.Units +public import Mathlib.GroupTheory.Index /-! # Lemmas about units of ordered rings -/ +@[expose] public section + lemma Units.index_posSubgroup (R : Type*) [Ring R] [LinearOrder R] [IsStrictOrderedRing R] : (posSubgroup R).index = 2 := by rw [Subgroup.index_eq_two_iff] diff --git a/Mathlib/Algebra/Order/Ring/WithTop.lean b/Mathlib/Algebra/Order/Ring/WithTop.lean index 3523a2d5982da0..e1cd08e22076c0 100644 --- a/Mathlib/Algebra/Order/Ring/WithTop.lean +++ b/Mathlib/Algebra/Order/Ring/WithTop.lean @@ -3,16 +3,20 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Order.GroupWithZero.Synonym -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Algebra.Order.Monoid.WithTop +module + +public import Mathlib.Algebra.Order.GroupWithZero.Synonym +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Algebra.Order.Monoid.WithTop /-! # Structures involving `*` and `0` on `WithTop` and `WithBot` The main results of this section are `WithTop.instOrderedCommSemiring` and `WithBot.instOrderedCommSemiring`. -/ +@[expose] public section + variable {α : Type*} namespace WithTop diff --git a/Mathlib/Algebra/Order/Round.lean b/Mathlib/Algebra/Order/Round.lean index 620bef67bc57ab..b378072ae7f816 100644 --- a/Mathlib/Algebra/Order/Round.lean +++ b/Mathlib/Algebra/Order/Round.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Floor.Ring -import Mathlib.Algebra.Order.Interval.Set.Group +module + +public import Mathlib.Algebra.Order.Floor.Ring +public import Mathlib.Algebra.Order.Interval.Set.Group /-! # Rounding @@ -21,6 +23,8 @@ to the nearest integer. rounding -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Algebra/Order/Star/Basic.lean b/Mathlib/Algebra/Order/Star/Basic.lean index ed2704b13e674d..0531bb84b9568e 100644 --- a/Mathlib/Algebra/Order/Star/Basic.lean +++ b/Mathlib/Algebra/Order/Star/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Group.Opposite -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Star.StarRingHom -import Mathlib.Tactic.ContinuousFunctionalCalculus -import Mathlib.Algebra.Star.StarProjection +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Group.Opposite +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Star.StarRingHom +public import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Algebra.Star.StarProjection /-! # Star ordered rings @@ -39,6 +41,8 @@ It is important to note that while a `StarOrderedRing` is an `OrderedAddCommMono the advantage of not requiring a topology. -/ +@[expose] public section + open Set open scoped NNRat diff --git a/Mathlib/Algebra/Order/Star/Conjneg.lean b/Mathlib/Algebra/Order/Star/Conjneg.lean index 9a25fd347ad523..12f18c8084cc38 100644 --- a/Mathlib/Algebra/Order/Star/Conjneg.lean +++ b/Mathlib/Algebra/Order/Star/Conjneg.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Pi -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Algebra.Star.Conjneg +module + +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Algebra.Star.Conjneg /-! # Order properties of conjugation-negation -/ +@[expose] public section + open scoped ComplexConjugate variable {G R : Type*} [AddGroup G] diff --git a/Mathlib/Algebra/Order/Star/Prod.lean b/Mathlib/Algebra/Order/Star/Prod.lean index f2375c7d57a81b..1f5e4ae82ae26e 100644 --- a/Mathlib/Algebra/Order/Star/Prod.lean +++ b/Mathlib/Algebra/Order/Star/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Algebra.Star.Prod -import Mathlib.Algebra.Ring.Prod +module + +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Algebra.Star.Prod +public import Mathlib.Algebra.Ring.Prod /-! # Products of star-ordered rings -/ +@[expose] public section + variable {α β : Type*} open AddSubmonoid in diff --git a/Mathlib/Algebra/Order/Sub/Basic.lean b/Mathlib/Algebra/Order/Sub/Basic.lean index bbbdc00475a130..a71b02c26c6ee2 100644 --- a/Mathlib/Algebra/Order/Sub/Basic.lean +++ b/Mathlib/Algebra/Order/Sub/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Group.Even +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Group.Even /-! # Lemmas about subtraction in unbundled canonically ordered monoids -/ +@[expose] public section + variable {α : Type*} section CanonicallyOrderedAddCommMonoid diff --git a/Mathlib/Algebra/Order/Sub/Defs.lean b/Mathlib/Algebra/Order/Sub/Defs.lean index 7abcf60ffefc20..51432baa631348 100644 --- a/Mathlib/Algebra/Order/Sub/Defs.lean +++ b/Mathlib/Algebra/Order/Sub/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Order.Lattice +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Order.Lattice /-! # Ordered Subtraction @@ -40,6 +42,8 @@ TODO: generalize `Nat.le_of_le_of_sub_le_sub_right`, `Nat.sub_le_sub_right_iff`, `Nat.mul_self_sub_mul_self_eq` -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Order/Sub/Prod.lean b/Mathlib/Algebra/Order/Sub/Prod.lean index ef2cf82b32501c..034960fe4483a4 100644 --- a/Mathlib/Algebra/Order/Sub/Prod.lean +++ b/Mathlib/Algebra/Order/Sub/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Notation.Prod +module + +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Notation.Prod /-! # Products of `OrderedSub` types. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {α β : Type*} diff --git a/Mathlib/Algebra/Order/Sub/Unbundled/Basic.lean b/Mathlib/Algebra/Order/Sub/Unbundled/Basic.lean index dbbb6ba1309a9e..24b0d648c9dab0 100644 --- a/Mathlib/Algebra/Order/Sub/Unbundled/Basic.lean +++ b/Mathlib/Algebra/Order/Sub/Unbundled/Basic.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +module + +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE /-! # Lemmas about subtraction in an unbundled canonically ordered monoids -/ +@[expose] public section + -- These are about *unbundled* canonically ordered monoids assert_not_exists OrderedCommMonoid diff --git a/Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean b/Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean index e3fb21131032c2..e4d341c20d66fa 100644 --- a/Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean +++ b/Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Algebra.Ring.Basic -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public import Mathlib.Algebra.Ring.Basic +public import Mathlib.Order.Hom.Basic /-! # Lemmas about subtraction in unbundled canonically ordered monoids -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Algebra/Order/Sub/WithTop.lean b/Mathlib/Algebra/Order/Sub/WithTop.lean index 2cbd94df8b2b35..910d370d254d2c 100644 --- a/Mathlib/Algebra/Order/Sub/WithTop.lean +++ b/Mathlib/Algebra/Order/Sub/WithTop.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Sub.Defs -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +module + +public import Mathlib.Algebra.Order.Sub.Defs +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop /-! # Lemma about subtraction in ordered monoids with a top element adjoined. @@ -20,6 +22,8 @@ other instance is only registered for `LinearOrderedAddCommGroup α` (which does element, unless the group is trivial), this shouldn't create diamonds. -/ +@[expose] public section + variable {α β : Type*} namespace WithTop diff --git a/Mathlib/Algebra/Order/SuccPred.lean b/Mathlib/Algebra/Order/SuccPred.lean index 7588a3010c0a4e..edfaf3f2ff5447 100644 --- a/Mathlib/Algebra/Order/SuccPred.lean +++ b/Mathlib/Algebra/Order/SuccPred.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios, Yaël Dillies -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Data.Int.Cast.Defs -import Mathlib.Order.SuccPred.Limit -import Mathlib.Order.SuccPred.WithBot +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.SuccPred.WithBot /-! # Interaction between successors and arithmetic @@ -24,6 +26,8 @@ respectively. This will require a refactor of `Ordinal` first, as the `simp`-nor currently set the other way around. -/ +@[expose] public section + /-- A typeclass for `succ x = x + 1`. -/ class SuccAddOrder (α : Type*) [Preorder α] [Add α] [One α] extends SuccOrder α where succ_eq_add_one (x : α) : succ x = x + 1 diff --git a/Mathlib/Algebra/Order/SuccPred/PartialSups.lean b/Mathlib/Algebra/Order/SuccPred/PartialSups.lean index d9765c7cff1485..1a1883fbb3aead 100644 --- a/Mathlib/Algebra/Order/SuccPred/PartialSups.lean +++ b/Mathlib/Algebra/Order/SuccPred/PartialSups.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Oliver Butterley, Lua Viana Reis -/ -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Order.PartialSups -import Mathlib.Order.SuccPred.LinearLocallyFinite +module + +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Order.PartialSups +public import Mathlib.Order.SuccPred.LinearLocallyFinite /-! # `PartialSups` in a `SuccAddOrder` @@ -14,6 +16,8 @@ Basic results concerning `PartialSups` which follow with minimal assumptions bey the `PartialSup` is defined over a `SuccAddOrder`. -/ +@[expose] public section + open Finset variable {α ι : Type*} [SemilatticeSup α] [LinearOrder ι] diff --git a/Mathlib/Algebra/Order/SuccPred/TypeTags.lean b/Mathlib/Algebra/Order/SuccPred/TypeTags.lean index 6b9851c1ad7790..7eaa4b15e847dc 100644 --- a/Mathlib/Algebra/Order/SuccPred/TypeTags.lean +++ b/Mathlib/Algebra/Order/SuccPred/TypeTags.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Order.SuccPred.Archimedean -import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags +module + +public import Mathlib.Order.SuccPred.Archimedean +public import Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags /-! # Successor and predecessor on type tags @@ -13,6 +15,8 @@ This file declates successor and predecessor orders on type tags. -/ +@[expose] public section + variable {X : Type*} instance [Preorder X] [h : SuccOrder X] : SuccOrder (Multiplicative X) := h diff --git a/Mathlib/Algebra/Order/SuccPred/WithBot.lean b/Mathlib/Algebra/Order/SuccPred/WithBot.lean index bd3460556c4cc3..a4fa23edffd7eb 100644 --- a/Mathlib/Algebra/Order/SuccPred/WithBot.lean +++ b/Mathlib/Algebra/Order/SuccPred/WithBot.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Order.SuccPred.WithBot +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Order.SuccPred.WithBot /-! # Algebraic properties of the successor function on `WithBot` -/ +@[expose] public section + namespace WithBot variable {α : Type*} [Preorder α] [OrderBot α] [AddMonoidWithOne α] [SuccAddOrder α] diff --git a/Mathlib/Algebra/Order/Sum.lean b/Mathlib/Algebra/Order/Sum.lean index 0e6e2d5813aeb6..380e574feb4e97 100644 --- a/Mathlib/Algebra/Order/Sum.lean +++ b/Mathlib/Algebra/Order/Sum.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Martin Dvorak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Dvorak -/ -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Order.Basic +module + +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Order.Basic /-! # Interaction between `Sum.elim`, `≤`, and `0` or `1` @@ -12,6 +14,8 @@ import Mathlib.Order.Basic This file provides basic API for part-wise comparison of `Sum.elim` vectors against `0` or `1`. -/ +@[expose] public section + namespace Sum variable {α₁ α₂ β : Type*} [LE β] [One β] {v₁ : α₁ → β} {v₂ : α₂ → β} diff --git a/Mathlib/Algebra/Order/ToIntervalMod.lean b/Mathlib/Algebra/Order/ToIntervalMod.lean index 901cb55f916e23..7767bd33d7911c 100644 --- a/Mathlib/Algebra/Order/ToIntervalMod.lean +++ b/Mathlib/Algebra/Order/ToIntervalMod.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.ModEq -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Ring.Periodic -import Mathlib.Data.Int.SuccPred -import Mathlib.Order.Circular +module + +public import Mathlib.Algebra.ModEq +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Ring.Periodic +public import Mathlib.Data.Int.SuccPred +public import Mathlib.Order.Circular /-! # Reducing to an interval modulo its length @@ -26,6 +28,8 @@ interval. * `toIocMod hp a b` (where `hp : 0 < p`): Reduce `b` to the interval `Ioc a (a + p)`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal noncomputable section diff --git a/Mathlib/Algebra/Order/UpperLower.lean b/Mathlib/Algebra/Order/UpperLower.lean index 2101c7eeed0179..8e83c912eb64ff 100644 --- a/Mathlib/Algebra/Order/UpperLower.lean +++ b/Mathlib/Algebra/Order/UpperLower.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Lattice -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Lattice +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Order.UpperLower.Closure /-! # Algebraic operations on upper/lower sets @@ -16,6 +18,8 @@ import Mathlib.Order.UpperLower.Closure Upper/lower sets are preserved under pointwise algebraic operations in ordered groups. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Algebra/Order/WithTop/Untop0.lean b/Mathlib/Algebra/Order/WithTop/Untop0.lean index f4f60631c35d63..d26c00e6e87c85 100644 --- a/Mathlib/Algebra/Order/WithTop/Untop0.lean +++ b/Mathlib/Algebra/Order/WithTop/Untop0.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ +module -import Mathlib.Algebra.Order.AddGroupWithTop -import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.Order.AddGroupWithTop +public import Mathlib.Algebra.Order.Ring.WithTop /-! # Conversion from WithTop to Base Type @@ -18,6 +19,8 @@ For settings where `α` has additional structure, we provide a large number of simplifier lemmas, akin to those that already exists for `ENat.toNat`. -/ +@[expose] public section + namespace WithTop variable {α : Type*} diff --git a/Mathlib/Algebra/Order/ZeroLEOne.lean b/Mathlib/Algebra/Order/ZeroLEOne.lean index 6a066a42b08a69..fbfeb5cc914907 100644 --- a/Mathlib/Algebra/Order/ZeroLEOne.lean +++ b/Mathlib/Algebra/Order/ZeroLEOne.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Order.Basic +module + +public import Mathlib.Order.Basic /-! # Typeclass expressing `0 ≤ 1`. -/ +@[expose] public section + variable {α : Type*} open Function diff --git a/Mathlib/Algebra/PEmptyInstances.lean b/Mathlib/Algebra/PEmptyInstances.lean index 8a333398678d12..ccc7c7e7040abc 100644 --- a/Mathlib/Algebra/PEmptyInstances.lean +++ b/Mathlib/Algebra/PEmptyInstances.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Tactic.ToAdditive +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Tactic.ToAdditive /-! # Instances on pempty @@ -13,6 +15,8 @@ This file collects facts about algebraic structures on the (universe-polymorphic that it is a semigroup. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Pointwise/Stabilizer.lean b/Mathlib/Algebra/Pointwise/Stabilizer.lean index 95770bf488529d..46d6beef3808fd 100644 --- a/Mathlib/Algebra/Pointwise/Stabilizer.lean +++ b/Mathlib/Algebra/Pointwise/Stabilizer.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # Stabilizer of a set under a pointwise action @@ -13,6 +15,8 @@ import Mathlib.Order.ConditionallyCompleteLattice.Basic This file characterises the stabilizer of a set/finset under the pointwise action of a group. -/ +@[expose] public section + open Function MulOpposite Set open scoped Pointwise diff --git a/Mathlib/Algebra/Polynomial/AlgebraMap.lean b/Mathlib/Algebra/Polynomial/AlgebraMap.lean index ada753e03da613..e26ca038d909f9 100644 --- a/Mathlib/Algebra/Polynomial/AlgebraMap.lean +++ b/Mathlib/Algebra/Polynomial/AlgebraMap.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Algebra.Polynomial.Eval.Algebra -import Mathlib.Algebra.Polynomial.Eval.Degree -import Mathlib.Algebra.Polynomial.Monomial +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Algebra.Polynomial.Eval.Algebra +public import Mathlib.Algebra.Polynomial.Eval.Degree +public import Mathlib.Algebra.Polynomial.Monomial /-! # Theory of univariate polynomials @@ -19,6 +21,8 @@ We show that `A[X]` is an R-algebra when `A` is an R-algebra. We promote `eval₂` to an algebra hom in `aeval`. -/ +@[expose] public section + assert_not_exists Ideal noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Basic.lean b/Mathlib/Algebra/Polynomial/Basic.lean index 7e1528f7c72150..3d9e02bb80bf68 100644 --- a/Mathlib/Algebra/Polynomial/Basic.lean +++ b/Mathlib/Algebra/Polynomial/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.MonoidAlgebra.Module -import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Ring.Action.Rat -import Mathlib.Data.Finset.Sort -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.MonoidAlgebra.Module +public import Mathlib.Algebra.MonoidAlgebra.NoZeroDivisors +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Ring.Action.Rat +public import Mathlib.Data.Finset.Sort +public import Mathlib.Tactic.FastInstance /-! # Theory of univariate polynomials @@ -53,6 +55,8 @@ equivalence is also registered as a ring equiv in `Polynomial.toFinsuppIso`. The in general not be used once the basic API for polynomials is constructed. -/ +@[expose] public section + noncomputable section /-- `Polynomial R` is the type of univariate polynomials over `R`, diff --git a/Mathlib/Algebra/Polynomial/Basis.lean b/Mathlib/Algebra/Polynomial/Basis.lean index 28035306a142c8..0a51748fe1bb58 100644 --- a/Mathlib/Algebra/Polynomial/Basis.lean +++ b/Mathlib/Algebra/Polynomial/Basis.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.LinearAlgebra.Basis.Defs +module + +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.LinearAlgebra.Basis.Defs /-! @@ -12,6 +14,8 @@ import Mathlib.LinearAlgebra.Basis.Defs -/ +@[expose] public section + open Module universe u diff --git a/Mathlib/Algebra/Polynomial/BigOperators.lean b/Mathlib/Algebra/Polynomial/BigOperators.lean index bb98c74d3599b9..f8ebf054c01c97 100644 --- a/Mathlib/Algebra/Polynomial/BigOperators.lean +++ b/Mathlib/Algebra/Polynomial/BigOperators.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jalex Stark -/ -import Mathlib.Algebra.Polynomial.Monic +module + +public import Mathlib.Algebra.Polynomial.Monic /-! # Lemmas for the interaction between polynomials and `∑` and `∏`. @@ -23,6 +25,8 @@ Recall that `∑` and `∏` are notation for `Finset.sum` and `Finset.prod` resp the second coefficient of the characteristic polynomial. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Algebra/Polynomial/Bivariate.lean b/Mathlib/Algebra/Polynomial/Bivariate.lean index 0a7d20220f271d..9cb1c57c1086f1 100644 --- a/Mathlib/Algebra/Polynomial/Bivariate.lean +++ b/Mathlib/Algebra/Polynomial/Bivariate.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.AdjoinRoot +module + +public import Mathlib.RingTheory.AdjoinRoot /-! # Bivariate polynomials @@ -16,6 +18,8 @@ on the affine plane, which is a ring homomorphism (`Polynomial.evalEvalRingHom`) the abbreviation `CC` to view a constant in the base ring `R` as a bivariate polynomial. -/ +@[expose] public section + /-- The notation `Y` for `X` in the `Polynomial` scope. -/ scoped[Polynomial.Bivariate] notation3:max "Y" => Polynomial.X (R := Polynomial _) diff --git a/Mathlib/Algebra/Polynomial/CancelLeads.lean b/Mathlib/Algebra/Polynomial/CancelLeads.lean index d18b65205f8ccb..ca71cbddbbdd97 100644 --- a/Mathlib/Algebra/Polynomial/CancelLeads.lean +++ b/Mathlib/Algebra/Polynomial/CancelLeads.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Tactic.ComputeDegree +module + +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Tactic.ComputeDegree /-! # Cancel the leading terms of two polynomials @@ -19,6 +21,8 @@ The degree of `cancelLeads` is less than that of the larger of the two polynomia Thus it is useful for induction or minimal-degree arguments. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/Cardinal.lean b/Mathlib/Algebra/Polynomial/Cardinal.lean index b659c5b0d6870f..9bf4603bf528b9 100644 --- a/Mathlib/Algebra/Polynomial/Cardinal.lean +++ b/Mathlib/Algebra/Polynomial/Cardinal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Chris Hughes, Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Junyan Xu -/ -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.SetTheory.Cardinal.Finsupp +module + +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.SetTheory.Cardinal.Finsupp /-! # Cardinality of Polynomial Ring @@ -13,6 +15,8 @@ The result in this file is that the cardinality of `R[X]` is at most the maximum of `#R` and `ℵ₀`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Polynomial/Coeff.lean b/Mathlib/Algebra/Polynomial/Coeff.lean index 04e4d4426e6a8b..bed6667d46822b 100644 --- a/Mathlib/Algebra/Polynomial/Coeff.lean +++ b/Mathlib/Algebra/Polynomial/Coeff.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Algebra.Regular.Basic -import Mathlib.Data.Nat.Choose.Sum +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.Data.Nat.Choose.Sum /-! # Theory of univariate polynomials @@ -17,6 +19,8 @@ The theorems include formulas for computing coefficients, such as -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/CoeffList.lean b/Mathlib/Algebra/Polynomial/CoeffList.lean index ba151c9d3b84f5..31ccea896f1121 100644 --- a/Mathlib/Algebra/Polynomial/CoeffList.lean +++ b/Mathlib/Algebra/Polynomial/CoeffList.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Alex Meiburg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Meiburg -/ -import Mathlib.Algebra.Polynomial.Degree.Definitions -import Mathlib.Algebra.Polynomial.EraseLead -import Mathlib.Data.List.Range +module + +public import Mathlib.Algebra.Polynomial.Degree.Definitions +public import Mathlib.Algebra.Polynomial.EraseLead +public import Mathlib.Data.List.Range /-! # A list of coefficients of a polynomial @@ -33,6 +35,8 @@ of coefficients starts with the leading coefficient, followed by some number of coefficients of `P.eraseLead`. -/ +@[expose] public section + namespace Polynomial variable {R : Type*} diff --git a/Mathlib/Algebra/Polynomial/CoeffMem.lean b/Mathlib/Algebra/Polynomial/CoeffMem.lean index e303a4dfc07911..524b3a5686e4ec 100644 --- a/Mathlib/Algebra/Polynomial/CoeffMem.lean +++ b/Mathlib/Algebra/Polynomial/CoeffMem.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Polynomial.Div -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.RingTheory.Ideal.Span /-! # Bounding the coefficients of the quotient and remainder of polynomials @@ -17,6 +19,8 @@ Precisely, we show that each summand needs at most one coefficient of `p` and `d of `q`. -/ +@[expose] public section + namespace Polynomial variable {ι R S : Type*} [CommRing R] [Ring S] [Algebra R S] diff --git a/Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean b/Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean index b0002a0ec7e911..294056b32b9acd 100644 --- a/Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean +++ b/Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Order.AbsoluteValue.Euclidean -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Polynomial.FieldDivision +module + +public import Mathlib.Algebra.Order.AbsoluteValue.Euclidean +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Polynomial.FieldDivision /-! # Absolute value on polynomials over a finite field. @@ -25,6 +27,8 @@ to `q ^ degree p` (where `q ^ degree 0 = 0`) is an absolute value. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/Degree/Definitions.lean b/Mathlib/Algebra/Polynomial/Degree/Definitions.lean index 06330ce8a0b5d5..d03dc86c3a8e0f 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Definitions.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Definitions.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.MonoidAlgebra.Degree -import Mathlib.Algebra.Order.Ring.WithTop -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Data.Nat.Cast.WithTop -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.SuccPred.WithBot +module + +public import Mathlib.Algebra.MonoidAlgebra.Degree +public import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Data.Nat.Cast.WithTop +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.SuccPred.WithBot /-! # Degree of univariate polynomials @@ -26,6 +28,8 @@ import Mathlib.Order.SuccPred.WithBot * `Polynomial.degree_eq_natDegree`: the degree and natDegree coincide for nonzero polynomials -/ +@[expose] public section + noncomputable section open Finsupp Finset diff --git a/Mathlib/Algebra/Polynomial/Degree/Domain.lean b/Mathlib/Algebra/Polynomial/Degree/Domain.lean index cb1d5430acc391..fc7d3bde5d8e26 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Domain.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Domain.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Operations +module + +public import Mathlib.Algebra.Polynomial.Degree.Operations /-! # Univariate polynomials form a domain @@ -14,6 +16,8 @@ import Mathlib.Algebra.Polynomial.Degree.Operations * `Polynomial.instDomain`: `R[X]` is a domain if `R` is -/ +@[expose] public section + noncomputable section open Finsupp Finset diff --git a/Mathlib/Algebra/Polynomial/Degree/IsMonicOfDegree.lean b/Mathlib/Algebra/Polynomial/Degree/IsMonicOfDegree.lean index c2346b50e09cf4..e5069a4a425bc8 100644 --- a/Mathlib/Algebra/Polynomial/Degree/IsMonicOfDegree.lean +++ b/Mathlib/Algebra/Polynomial/Degree/IsMonicOfDegree.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Monic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Monic /-! # Monic polynomials of given degree @@ -15,6 +17,8 @@ the polynomial `p` is monic and has degree `n` (i.e., `p.natDegree = n`.) We also provide some basic API. -/ +@[expose] public section + namespace Polynomial variable {R : Type*} diff --git a/Mathlib/Algebra/Polynomial/Degree/Lemmas.lean b/Mathlib/Algebra/Polynomial/Degree/Lemmas.lean index 6a2a9f30e3c9b8..7ef3d216d4842d 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Lemmas.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Eval.Degree -import Mathlib.Algebra.Prime.Lemmas +module + +public import Mathlib.Algebra.Polynomial.Eval.Degree +public import Mathlib.Algebra.Prime.Lemmas /-! # Theory of degrees of polynomials @@ -14,6 +16,8 @@ Some of the main results include -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Degree/Monomial.lean b/Mathlib/Algebra/Polynomial/Degree/Monomial.lean index f52db7e3a53f92..a7d589d9fe3ff9 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Monomial.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Monomial.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Definitions -import Mathlib.Algebra.Polynomial.Monomial -import Mathlib.Data.Nat.SuccPred +module + +public import Mathlib.Algebra.Polynomial.Degree.Definitions +public import Mathlib.Algebra.Polynomial.Monomial +public import Mathlib.Data.Nat.SuccPred /-! # Degree of univariate monomials -/ +@[expose] public section + noncomputable section open Finsupp Finset Polynomial diff --git a/Mathlib/Algebra/Polynomial/Degree/Operations.lean b/Mathlib/Algebra/Polynomial/Degree/Operations.lean index 1a04e2538b947d..f27c42f142debd 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Operations.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Operations.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.Polynomial.Coeff -import Mathlib.Algebra.Polynomial.Degree.Definitions +module + +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.Polynomial.Coeff +public import Mathlib.Algebra.Polynomial.Degree.Definitions /-! # Lemmas for calculating the degree of univariate polynomials @@ -16,6 +18,8 @@ import Mathlib.Algebra.Polynomial.Degree.Definitions The leading coefficient of a sum is determined by the leading coefficients and degrees -/ +@[expose] public section + noncomputable section open Finsupp Finset diff --git a/Mathlib/Algebra/Polynomial/Degree/SmallDegree.lean b/Mathlib/Algebra/Polynomial/Degree/SmallDegree.lean index 0849b57c5fc74e..44f5faec3081a2 100644 --- a/Mathlib/Algebra/Polynomial/Degree/SmallDegree.lean +++ b/Mathlib/Algebra/Polynomial/Degree/SmallDegree.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Operations -import Mathlib.Data.Nat.WithBot +module + +public import Mathlib.Algebra.Polynomial.Degree.Operations +public import Mathlib.Data.Nat.WithBot /-! # Results on polynomials of specific small degrees -/ +@[expose] public section + open Finsupp Finset open Polynomial diff --git a/Mathlib/Algebra/Polynomial/Degree/Support.lean b/Mathlib/Algebra/Polynomial/Degree/Support.lean index 8362c18e525e1d..87abdad6976130 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Support.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.MonoidAlgebra.Support -import Mathlib.Algebra.Polynomial.Degree.Operations +module + +public import Mathlib.Algebra.MonoidAlgebra.Support +public import Mathlib.Algebra.Polynomial.Degree.Operations /-! # Degree and support of univariate polynomials @@ -15,6 +17,8 @@ import Mathlib.Algebra.Polynomial.Degree.Operations * `Polynomial.natDegree_mem_support_of_nonzero`: `natDegree p ∈ support p` if `p ≠ 0` -/ +@[expose] public section + noncomputable section open Finsupp Finset diff --git a/Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean b/Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean index fda868b17228c6..0b457b112b7dc4 100644 --- a/Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean +++ b/Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Data.ENat.Basic +module + +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Data.ENat.Basic /-! # Trailing degree of univariate polynomials @@ -19,6 +21,8 @@ Converts most results about `degree`, `natDegree` and `leadingCoeff` to results end of a polynomial -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Degree/Units.lean b/Mathlib/Algebra/Polynomial/Degree/Units.lean index 405b21b67fb078..de36cd7a7a2160 100644 --- a/Mathlib/Algebra/Polynomial/Degree/Units.lean +++ b/Mathlib/Algebra/Polynomial/Degree/Units.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Domain -import Mathlib.Algebra.Polynomial.Degree.SmallDegree +module + +public import Mathlib.Algebra.Polynomial.Degree.Domain +public import Mathlib.Algebra.Polynomial.Degree.SmallDegree /-! # Degree of polynomials that are units -/ +@[expose] public section + noncomputable section open Finsupp Finset Polynomial diff --git a/Mathlib/Algebra/Polynomial/DenomsClearable.lean b/Mathlib/Algebra/Polynomial/DenomsClearable.lean index 1225c103a7f328..45b335a145aca0 100644 --- a/Mathlib/Algebra/Polynomial/DenomsClearable.lean +++ b/Mathlib/Algebra/Polynomial/DenomsClearable.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Algebra.Polynomial.EraseLead +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Algebra.Polynomial.EraseLead /-! # Denominators of evaluation of polynomials at ratios @@ -16,6 +18,8 @@ Let `i : R → K` be a homomorphism of semirings. Assume that `K` is commutativ the image of the homomorphism `i`. -/ +@[expose] public section + open Polynomial Finset diff --git a/Mathlib/Algebra/Polynomial/Derivation.lean b/Mathlib/Algebra/Polynomial/Derivation.lean index 7c092cae102598..5534f308d66264 100644 --- a/Mathlib/Algebra/Polynomial/Derivation.lean +++ b/Mathlib/Algebra/Polynomial/Derivation.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Richard M. Hill -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.Module.AEval -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.Module.AEval +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Derivation.Basic /-! # Derivations of univariate polynomials @@ -17,6 +19,8 @@ builds a derivation from its value on `X`, and a linear equivalence `Polynomial.mkDerivationEquiv` between `A` and `Derivation (Polynomial R) A`. -/ +@[expose] public section + noncomputable section namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/Derivative.lean b/Mathlib/Algebra/Polynomial/Derivative.lean index 8afc2a586fc6d6..b74c266fa19cda 100644 --- a/Mathlib/Algebra/Polynomial/Derivative.lean +++ b/Mathlib/Algebra/Polynomial/Derivative.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Domain -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Algebra.Polynomial.Eval.Coeff -import Mathlib.GroupTheory.GroupAction.Ring +module + +public import Mathlib.Algebra.Polynomial.Degree.Domain +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Algebra.Polynomial.Eval.Coeff +public import Mathlib.GroupTheory.GroupAction.Ring /-! # The derivative map on polynomials @@ -17,6 +19,8 @@ import Mathlib.GroupTheory.GroupAction.Ring -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Div.lean b/Mathlib/Algebra/Polynomial/Div.lean index d130780fcac2df..121a19a4a0853f 100644 --- a/Mathlib/Algebra/Polynomial/Div.lean +++ b/Mathlib/Algebra/Polynomial/Div.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.Polynomial.Inductions -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Algebra.Ring.Regular -import Mathlib.RingTheory.Multiplicity -import Mathlib.Data.Nat.Lattice +module + +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.Polynomial.Inductions +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.Data.Nat.Lattice /-! # Division of univariate polynomials @@ -18,6 +20,8 @@ The compatibility between these is given by `modByMonic_add_div`. We also define `rootMultiplicity`. -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/Algebra/Polynomial/EraseLead.lean b/Mathlib/Algebra/Polynomial/EraseLead.lean index 2aa87bef4fc7f4..e0ea149259a35c 100644 --- a/Mathlib/Algebra/Polynomial/EraseLead.lean +++ b/Mathlib/Algebra/Polynomial/EraseLead.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Alex Meiburg -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Algebra.Polynomial.Degree.Monomial +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Algebra.Polynomial.Degree.Monomial /-! # Erase the leading term of a univariate polynomial @@ -19,6 +21,8 @@ The definition is set up so that it does not mention subtraction in the definiti and thus works for polynomials over semirings as well as rings. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Eval/Algebra.lean b/Mathlib/Algebra/Polynomial/Eval/Algebra.lean index f4fbd64fc094fe..dbad325cbc43a7 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Algebra.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Algebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Polynomial.Eval.Defs +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Polynomial.Eval.Defs /-! # Evaluation of polynomials in an algebra @@ -14,6 +16,8 @@ This file concerns evaluating polynomials where the map is `algebraMap` TODO: merge with parts of `Algebra/Polynomial/AlgebraMap.lean`? -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/Coeff.lean b/Mathlib/Algebra/Polynomial/Eval/Coeff.lean index 48886b938bdfb0..901419d1023350 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Coeff.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Coeff.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Coeff -import Mathlib.Algebra.Polynomial.Eval.Defs +module + +public import Mathlib.Algebra.Polynomial.Coeff +public import Mathlib.Algebra.Polynomial.Eval.Defs /-! # Evaluation of polynomials @@ -12,6 +14,8 @@ import Mathlib.Algebra.Polynomial.Eval.Defs This file contains results on the interaction of `Polynomial.eval` and `Polynomial.coeff` -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/Defs.lean b/Mathlib/Algebra/Polynomial/Eval/Defs.lean index 26b5ebccf300f5..65d2e2c954ca24 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Defs.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.Algebra.Polynomial.Basic +module + +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.Algebra.Polynomial.Basic /-! # Evaluating a polynomial @@ -26,6 +28,8 @@ We include results on applying the definitions to `C`, `X` and ring operations. -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/Degree.lean b/Mathlib/Algebra/Polynomial/Eval/Degree.lean index 6c31477d0fff28..c2b1224a56d127 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Degree.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Degree.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Algebra.Polynomial.Degree.Units -import Mathlib.Algebra.Polynomial.Eval.Coeff +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Algebra.Polynomial.Degree.Units +public import Mathlib.Algebra.Polynomial.Eval.Coeff /-! # Evaluation of polynomials and degrees @@ -15,6 +17,8 @@ This file contains results on the interaction of `Polynomial.eval` and `Polynomi -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/Irreducible.lean b/Mathlib/Algebra/Polynomial/Eval/Irreducible.lean index daa28a24c7c439..ca35319bfd37a6 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Irreducible.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Irreducible.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Eval.Coeff -import Mathlib.Algebra.Polynomial.Eval.Degree -import Mathlib.Algebra.Prime.Defs +module + +public import Mathlib.Algebra.Polynomial.Eval.Coeff +public import Mathlib.Algebra.Polynomial.Eval.Degree +public import Mathlib.Algebra.Prime.Defs /-! # Mapping irreducible polynomials @@ -16,6 +18,8 @@ import Mathlib.Algebra.Prime.Defs by mapping it to another integral domain and checking for irreducibility there. -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/SMul.lean b/Mathlib/Algebra/Polynomial/Eval/SMul.lean index be233a2b07ec71..52d1055d9bf4c4 100644 --- a/Mathlib/Algebra/Polynomial/Eval/SMul.lean +++ b/Mathlib/Algebra/Polynomial/Eval/SMul.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Algebra.Polynomial.Eval.Defs +module + +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Algebra.Polynomial.Eval.Defs /-! # Evaluating polynomials and scalar multiplication @@ -15,6 +17,8 @@ import Mathlib.Algebra.Polynomial.Eval.Defs -/ +@[expose] public section + noncomputable section open Finset AddMonoidAlgebra diff --git a/Mathlib/Algebra/Polynomial/Eval/Subring.lean b/Mathlib/Algebra/Polynomial/Eval/Subring.lean index e4bb9e8b004cd9..4302ea1ccac0f2 100644 --- a/Mathlib/Algebra/Polynomial/Eval/Subring.lean +++ b/Mathlib/Algebra/Polynomial/Eval/Subring.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Algebra.Polynomial.Eval.Coeff -import Mathlib.Algebra.Ring.Subring.Basic +module + +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Algebra.Polynomial.Eval.Coeff +public import Mathlib.Algebra.Ring.Subring.Basic /-! # Evaluation of polynomials in subrings @@ -17,6 +19,8 @@ import Mathlib.Algebra.Ring.Subring.Basic -/ +@[expose] public section + namespace Polynomial universe u v w y diff --git a/Mathlib/Algebra/Polynomial/Expand.lean b/Mathlib/Algebra/Polynomial/Expand.lean index 130415f60eac51..a8061412d485dc 100644 --- a/Mathlib/Algebra/Polynomial/Expand.lean +++ b/Mathlib/Algebra/Polynomial/Expand.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Frobenius -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.RingDivision -import Mathlib.RingTheory.Polynomial.Basic +module + +public import Mathlib.Algebra.CharP.Frobenius +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.RingDivision +public import Mathlib.RingTheory.Polynomial.Basic /-! # Expand a polynomial by a factor of p, so `∑ aₙ xⁿ` becomes `∑ aₙ xⁿᵖ`. @@ -19,6 +21,8 @@ import Mathlib.RingTheory.Polynomial.Basic -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Polynomial/FieldDivision.lean b/Mathlib/Algebra/Polynomial/FieldDivision.lean index 25537269a8445d..6f5a59866dd1d2 100644 --- a/Mathlib/Algebra/Polynomial/FieldDivision.lean +++ b/Mathlib/Algebra/Polynomial/FieldDivision.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Order.Group.Finset -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.EuclideanDomain -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.Algebra.Order.Group.Finset +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.EuclideanDomain +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Theory of univariate polynomials @@ -17,6 +19,8 @@ This file starts looking like the ring theory of $R[X]$ -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/GroupRingAction.lean b/Mathlib/Algebra/Polynomial/GroupRingAction.lean index beca6bcff08f38..193b27f7501620 100644 --- a/Mathlib/Algebra/Polynomial/GroupRingAction.lean +++ b/Mathlib/Algebra/Polynomial/GroupRingAction.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.GroupTheory.Coset.Card -import Mathlib.GroupTheory.GroupAction.Hom -import Mathlib.GroupTheory.GroupAction.Quotient +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.GroupTheory.Coset.Card +public import Mathlib.GroupTheory.GroupAction.Hom +public import Mathlib.GroupTheory.GroupAction.Quotient /-! # Group action on rings applied to polynomials @@ -16,6 +18,8 @@ import Mathlib.GroupTheory.GroupAction.Quotient This file contains instances and definitions relating `MulSemiringAction` to `Polynomial`. -/ +@[expose] public section + variable (M : Type*) [Monoid M] diff --git a/Mathlib/Algebra/Polynomial/HasseDeriv.lean b/Mathlib/Algebra/Polynomial/HasseDeriv.lean index e6e6679a0a1491..5d93a9d9001486 100644 --- a/Mathlib/Algebra/Polynomial/HasseDeriv.lean +++ b/Mathlib/Algebra/Polynomial/HasseDeriv.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.Data.Nat.Choose.Vandermonde -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.Data.Nat.Choose.Vandermonde +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Positivity /-! # Hasse derivative of polynomials @@ -39,6 +41,8 @@ https://math.fontein.de/2009/08/12/the-hasse-derivative/ -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Homogenize.lean b/Mathlib/Algebra/Polynomial/Homogenize.lean index 50662086f75566..29976f28607b4a 100644 --- a/Mathlib/Algebra/Polynomial/Homogenize.lean +++ b/Mathlib/Algebra/Polynomial/Homogenize.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Concordance Inc. dba Harmonic. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finsupp.Notation -import Mathlib.RingTheory.MvPolynomial.Homogeneous +module + +public import Mathlib.Data.Finsupp.Notation +public import Mathlib.RingTheory.MvPolynomial.Homogeneous /-! # Homogenize a univariate polynomial @@ -21,6 +23,8 @@ because Mathlib has a theory about homogeneous multivariate polynomials, but not about homogeneous bivariate polynomials encoded as `R[X][Y]`. -/ +@[expose] public section + open Finset namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/Identities.lean b/Mathlib/Algebra/Polynomial/Identities.lean index b5cddbeb6f597d..9e79bfbc540184 100644 --- a/Mathlib/Algebra/Polynomial/Identities.lean +++ b/Mathlib/Algebra/Polynomial/Identities.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.Ring /-! # Theory of univariate polynomials @@ -13,6 +15,8 @@ import Mathlib.Tactic.Ring The main def is `Polynomial.binomExpansion`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Inductions.lean b/Mathlib/Algebra/Polynomial/Inductions.lean index fcb66b4f2d50b2..8ccb749f0e25b7 100644 --- a/Mathlib/Algebra/Polynomial/Inductions.lean +++ b/Mathlib/Algebra/Polynomial/Inductions.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Damiano Testa, Jens Wagemaker -/ -import Mathlib.Algebra.MonoidAlgebra.Division -import Mathlib.Algebra.Polynomial.Degree.Operations -import Mathlib.Algebra.Polynomial.EraseLead -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Algebra.MonoidAlgebra.Division +public import Mathlib.Algebra.Polynomial.Degree.Operations +public import Mathlib.Algebra.Polynomial.EraseLead +public import Mathlib.Order.Interval.Finset.Nat /-! # Induction on polynomials @@ -14,6 +16,8 @@ import Mathlib.Order.Interval.Finset.Nat This file contains lemmas dealing with different flavours of induction on polynomials. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Laurent.lean b/Mathlib/Algebra/Polynomial/Laurent.lean index 9a08f4078f1b2c..a33578855d798d 100644 --- a/Mathlib/Algebra/Polynomial/Laurent.lean +++ b/Mathlib/Algebra/Polynomial/Laurent.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Reverse -import Mathlib.Algebra.Polynomial.Inductions -import Mathlib.RingTheory.Localization.Away.Basic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Reverse +public import Mathlib.Algebra.Polynomial.Inductions +public import Mathlib.RingTheory.Localization.Away.Basic /-! # Laurent polynomials @@ -67,6 +69,8 @@ Lots is missing! -- Add `degree, intDegree, intTrailingDegree, leadingCoeff, trailingCoeff,...`. -/ +@[expose] public section + open Polynomial Function AddMonoidAlgebra Finsupp diff --git a/Mathlib/Algebra/Polynomial/Lifts.lean b/Mathlib/Algebra/Polynomial/Lifts.lean index 27f0a6f64de314..5d277b9bd4a320 100644 --- a/Mathlib/Algebra/Polynomial/Lifts.lean +++ b/Mathlib/Algebra/Polynomial/Lifts.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Eval.Subring -import Mathlib.Algebra.Polynomial.Monic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Eval.Subring +public import Mathlib.Algebra.Polynomial.Monic /-! # Polynomials that lift @@ -39,6 +41,8 @@ that lift is a subalgebra. (By `lift_iff` this is true if `R` is commutative.) -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/Algebra/Polynomial/Mirror.lean b/Mathlib/Algebra/Polynomial/Mirror.lean index 804488801b7dca..22d1a02dec67ab 100644 --- a/Mathlib/Algebra/Polynomial/Mirror.lean +++ b/Mathlib/Algebra/Polynomial/Mirror.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.BigOperators.NatAntidiagonal -import Mathlib.Algebra.Polynomial.Reverse +module + +public import Mathlib.Algebra.BigOperators.NatAntidiagonal +public import Mathlib.Algebra.Polynomial.Reverse /-! # "Mirror" of a univariate polynomial @@ -24,6 +26,8 @@ divisible by `X`. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/Module/AEval.lean b/Mathlib/Algebra/Polynomial/Module/AEval.lean index 13a7024fa94069..9f01121714dad5 100644 --- a/Mathlib/Algebra/Polynomial/Module/AEval.lean +++ b/Mathlib/Algebra/Polynomial/Module/AEval.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Richard M. Hill. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Richard M. Hill -/ -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Ideal.Maps /-! # Action of the polynomial ring on module induced by an algebra element. @@ -21,6 +23,8 @@ In the special case that `A = M →ₗ[R] M` and `φ : M →ₗ[R] M`, the modul abbreviated `Module.AEval' φ`. In this module we have `X • m = ↑φ m`. -/ +@[expose] public section + open Set Function Polynomial namespace Module diff --git a/Mathlib/Algebra/Polynomial/Module/Basic.lean b/Mathlib/Algebra/Polynomial/Module/Basic.lean index a24dda73e741b6..7df71c382dfe1e 100644 --- a/Mathlib/Algebra/Polynomial/Module/Basic.lean +++ b/Mathlib/Algebra/Polynomial/Module/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Polynomial.Module.AEval +module + +public import Mathlib.Algebra.Polynomial.Module.AEval /-! # Polynomial module @@ -13,6 +15,8 @@ In this file, we define the polynomial module for an `R`-module `M`, i.e. the `R This is defined as a type alias `PolynomialModule R M := ℕ →₀ M`, since there might be different module structures on `ℕ →₀ M` of interest. See the docstring of `PolynomialModule` for details. -/ + +@[expose] public section universe u v open Polynomial diff --git a/Mathlib/Algebra/Polynomial/Module/FiniteDimensional.lean b/Mathlib/Algebra/Polynomial/Module/FiniteDimensional.lean index 06960beee74fa3..31e6cb030b2358 100644 --- a/Mathlib/Algebra/Polynomial/Module/FiniteDimensional.lean +++ b/Mathlib/Algebra/Polynomial/Module/FiniteDimensional.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.Algebra.Polynomial.Module.AEval -import Mathlib.Algebra.Module.Torsion +module + +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.Algebra.Polynomial.Module.AEval +public import Mathlib.Algebra.Module.Torsion /-! # Polynomial modules in finite dimensions @@ -20,6 +22,8 @@ by an `R`-linear endomorphism, which require the concept of finite-dimensionalit -/ +@[expose] public section + open Polynomial variable {R K M A : Type*} {a : A} diff --git a/Mathlib/Algebra/Polynomial/Monic.lean b/Mathlib/Algebra/Polynomial/Monic.lean index c9c6779186731c..aa2b29bed263db 100644 --- a/Mathlib/Algebra/Polynomial/Monic.lean +++ b/Mathlib/Algebra/Polynomial/Monic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.Reverse -import Mathlib.Algebra.Regular.SMul +module + +public import Mathlib.Algebra.Polynomial.Reverse +public import Mathlib.Algebra.Regular.SMul /-! # Theory of monic polynomials @@ -13,6 +15,8 @@ We give several tools for proving that polynomials are monic, e.g. `Monic.mul`, `Monic.map`, `Monic.pow`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Monomial.lean b/Mathlib/Algebra/Polynomial/Monomial.lean index 3de3ee44eec288..2432b6ccacc017 100644 --- a/Mathlib/Algebra/Polynomial/Monomial.lean +++ b/Mathlib/Algebra/Polynomial/Monomial.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.Algebra.Polynomial.Basic +module + +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.Algebra.Polynomial.Basic /-! # Univariate monomials -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/OfFn.lean b/Mathlib/Algebra/Polynomial/OfFn.lean index 5d7de67ba0e64b..6f00d30c13ed85 100644 --- a/Mathlib/Algebra/Polynomial/OfFn.lean +++ b/Mathlib/Algebra/Polynomial/OfFn.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Data.List.ToFinsupp -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Data.List.ToFinsupp +public import Mathlib.LinearAlgebra.Pi /-! # `Polynomial.ofFn` and `Polynomial.toFn` @@ -20,6 +22,8 @@ of its coefficients and vice versa. We prove some basic APIs for these functions the vector as coefficients. -/ +@[expose] public section + namespace Polynomial section toFn diff --git a/Mathlib/Algebra/Polynomial/PartialFractions.lean b/Mathlib/Algebra/Polynomial/PartialFractions.lean index 4b774dea885767..9b85bb108d5c76 100644 --- a/Mathlib/Algebra/Polynomial/PartialFractions.lean +++ b/Mathlib/Algebra/Polynomial/PartialFractions.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Sidharth Hariharan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Sidharth Hariharan -/ -import Mathlib.Algebra.Polynomial.Div -import Mathlib.Logic.Function.Basic -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.Logic.Function.Basic +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.LinearCombination /-! @@ -40,6 +42,8 @@ of Patrick Massot. -/ +@[expose] public section + variable (R : Type*) [CommRing R] [IsDomain R] diff --git a/Mathlib/Algebra/Polynomial/Reverse.lean b/Mathlib/Algebra/Polynomial/Reverse.lean index abebf3733ff69a..f5f897981043f5 100644 --- a/Mathlib/Algebra/Polynomial/Reverse.lean +++ b/Mathlib/Algebra/Polynomial/Reverse.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Polynomial.Degree.TrailingDegree -import Mathlib.Algebra.Polynomial.EraseLead +module + +public import Mathlib.Algebra.Polynomial.Degree.TrailingDegree +public import Mathlib.Algebra.Polynomial.EraseLead /-! # Reverse of a univariate polynomial @@ -16,6 +18,8 @@ The main result is that `reverse (f * g) = reverse f * reverse g`, provided the coefficients of `f` and `g` do not multiply to zero. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/Algebra/Polynomial/RingDivision.lean b/Mathlib/Algebra/Polynomial/RingDivision.lean index d0cea425609814..bbacb6ff9d5dfa 100644 --- a/Mathlib/Algebra/Polynomial/RingDivision.lean +++ b/Mathlib/Algebra/Polynomial/RingDivision.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker, Johan Commelin -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Div -import Mathlib.RingTheory.Coprime.Basic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.RingTheory.Coprime.Basic /-! # Theory of univariate polynomials @@ -14,6 +16,8 @@ We prove basic results about univariate polynomials. -/ +@[expose] public section + assert_not_exists Ideal.map noncomputable section diff --git a/Mathlib/Algebra/Polynomial/Roots.lean b/Mathlib/Algebra/Polynomial/Roots.lean index 28c50c0123e27a..c8e0774e9a0905 100644 --- a/Mathlib/Algebra/Polynomial/Roots.lean +++ b/Mathlib/Algebra/Polynomial/Roots.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker, Johan Commelin -/ -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Polynomial.RingDivision -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Polynomial.RingDivision +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.SetTheory.Cardinal.Order /-! # Theory of univariate polynomials @@ -29,6 +31,8 @@ We define the multiset of roots of a polynomial, and prove basic results about i -/ +@[expose] public section + assert_not_exists Ideal open Multiset Finset diff --git a/Mathlib/Algebra/Polynomial/RuleOfSigns.lean b/Mathlib/Algebra/Polynomial/RuleOfSigns.lean index 87f06d99b50b5c..f6ddaf44f0e55b 100644 --- a/Mathlib/Algebra/Polynomial/RuleOfSigns.lean +++ b/Mathlib/Algebra/Polynomial/RuleOfSigns.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Alex Meiburg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Meiburg -/ -import Mathlib.Algebra.Polynomial.CoeffList -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Data.List.Destutter -import Mathlib.Data.Sign.Basic +module + +public import Mathlib.Algebra.Polynomial.CoeffList +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Data.List.Destutter +public import Mathlib.Data.Sign.Basic /-! @@ -36,6 +38,8 @@ coefficient, or vice versa, with any number of zero coefficients in between. [Wikipedia: Descartes' Rule of Signs](https://en.wikipedia.org/wiki/Descartes%27_rule_of_signs) -/ +@[expose] public section + namespace Polynomial section Semiring diff --git a/Mathlib/Algebra/Polynomial/Sequence.lean b/Mathlib/Algebra/Polynomial/Sequence.lean index f3e6cd777a8b81..c9e3feaed40b53 100644 --- a/Mathlib/Algebra/Polynomial/Sequence.lean +++ b/Mathlib/Algebra/Polynomial/Sequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Julian Berman. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Hill, Julian Berman, Austin Letson, Matej Penciak -/ -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.LinearAlgebra.Basis.Basic +module + +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.LinearAlgebra.Basis.Basic /-! @@ -29,6 +31,8 @@ Generalize linear independence to: * arbitrary sets of polynomials which are pairwise different degree. -/ +@[expose] public section + open Module Submodule open scoped Function diff --git a/Mathlib/Algebra/Polynomial/Smeval.lean b/Mathlib/Algebra/Polynomial/Smeval.lean index 715fbdb461d8f5..4d11e559bdfc26 100644 --- a/Mathlib/Algebra/Polynomial/Smeval.lean +++ b/Mathlib/Algebra/Polynomial/Smeval.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Group.NatPowAssoc -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Eval.SMul +module + +public import Mathlib.Algebra.Group.NatPowAssoc +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Eval.SMul /-! # Scalar-multiple polynomial evaluation @@ -37,6 +39,8 @@ is a generalization of `Algebra.Polynomial.Eval`. -/ +@[expose] public section + namespace Polynomial section MulActionWithZero diff --git a/Mathlib/Algebra/Polynomial/SpecificDegree.lean b/Mathlib/Algebra/Polynomial/SpecificDegree.lean index 58dd4b35c9458b..665a1ae3af4783 100644 --- a/Mathlib/Algebra/Polynomial/SpecificDegree.lean +++ b/Mathlib/Algebra/Polynomial/SpecificDegree.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Tactic.IntervalCases -import Mathlib.Algebra.Polynomial.FieldDivision +module + +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Tactic.IntervalCases +public import Mathlib.Algebra.Polynomial.FieldDivision /-! # Polynomials of specific degree @@ -13,6 +15,8 @@ import Mathlib.Algebra.Polynomial.FieldDivision Facts about polynomials that have a specific integer degree. -/ +@[expose] public section + namespace Polynomial section IsDomain diff --git a/Mathlib/Algebra/Polynomial/Splits.lean b/Mathlib/Algebra/Polynomial/Splits.lean index 8b08e34b969055..20f458864f3b58 100644 --- a/Mathlib/Algebra/Polynomial/Splits.lean +++ b/Mathlib/Algebra/Polynomial/Splits.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.Algebra.Polynomial.Lifts -import Mathlib.Data.List.Prime -import Mathlib.RingTheory.Polynomial.Tower +module + +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.Algebra.Polynomial.Lifts +public import Mathlib.Data.List.Prime +public import Mathlib.RingTheory.Polynomial.Tower /-! # Split polynomials @@ -22,6 +24,8 @@ irreducible factors over `L` have degree `1`. -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/Algebra/Polynomial/SumIteratedDerivative.lean b/Mathlib/Algebra/Polynomial/SumIteratedDerivative.lean index 0302fdb8808de7..f430b6803d8166 100644 --- a/Mathlib/Algebra/Polynomial/SumIteratedDerivative.lean +++ b/Mathlib/Algebra/Polynomial/SumIteratedDerivative.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.Eval.SMul +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.Eval.SMul /-! # Sum of iterated derivatives @@ -35,6 +37,8 @@ as a linear map. This is used in particular in the proof of the Lindemann-Weiers -/ +@[expose] public section + open Finset open scoped Nat diff --git a/Mathlib/Algebra/Polynomial/Taylor.lean b/Mathlib/Algebra/Polynomial/Taylor.lean index 67fd1aa0be7024..6615eac0b97a02 100644 --- a/Mathlib/Algebra/Polynomial/Taylor.lean +++ b/Mathlib/Algebra/Polynomial/Taylor.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.Algebra.Polynomial.HasseDeriv +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.Algebra.Polynomial.HasseDeriv /-! # Taylor expansions of polynomials @@ -21,6 +23,8 @@ import Mathlib.Algebra.Polynomial.HasseDeriv -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/Polynomial/UnitTrinomial.lean b/Mathlib/Algebra/Polynomial/UnitTrinomial.lean index 2637e1f9a2f387..61054d6a09bad2 100644 --- a/Mathlib/Algebra/Polynomial/UnitTrinomial.lean +++ b/Mathlib/Algebra/Polynomial/UnitTrinomial.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Polynomial.Mirror -import Mathlib.Algebra.Ring.Regular -import Mathlib.Data.Int.Order.Units -import Mathlib.RingTheory.Coprime.Basic +module + +public import Mathlib.Algebra.Polynomial.Mirror +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Data.Int.Order.Units +public import Mathlib.RingTheory.Coprime.Basic /-! # Unit Trinomials @@ -24,6 +26,8 @@ This file defines irreducible trinomials and proves an irreducibility criterion. -/ +@[expose] public section + assert_not_exists TopologicalSpace namespace Polynomial diff --git a/Mathlib/Algebra/PresentedMonoid/Basic.lean b/Mathlib/Algebra/PresentedMonoid/Basic.lean index dcaa6ce455959f..f104c3e3394a4f 100644 --- a/Mathlib/Algebra/PresentedMonoid/Basic.lean +++ b/Mathlib/Algebra/PresentedMonoid/Basic.lean @@ -3,10 +3,11 @@ Copyright (c) 2024. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hannah Fechtner -/ +module -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.GroupTheory.Congruence.Hom /-! # Defining a monoid given by generators and relations @@ -27,6 +28,8 @@ given by generators `x : α` and relations `rels`. generators, relations, monoid presentations -/ +@[expose] public section + variable {α : Type*} /-- Given a set of relations, `rels`, over a type `α`, `PresentedMonoid` constructs the monoid with diff --git a/Mathlib/Algebra/Prime/Defs.lean b/Mathlib/Algebra/Prime/Defs.lean index 03a1dd293e3db7..7dd25b1a64380a 100644 --- a/Mathlib/Algebra/Prime/Defs.lean +++ b/Mathlib/Algebra/Prime/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker -/ -import Mathlib.Algebra.Group.Irreducible.Defs -import Mathlib.Algebra.GroupWithZero.Divisibility +module + +public import Mathlib.Algebra.Group.Irreducible.Defs +public import Mathlib.Algebra.GroupWithZero.Divisibility /-! # Prime elements @@ -26,6 +28,8 @@ In decomposition monoids (e.g., `ℕ`, `ℤ`), this predicate is equivalent to ` * `irreducible_iff_prime`: the two definitions are equivalent in a decomposition monoid. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Multiset variable {M : Type*} diff --git a/Mathlib/Algebra/Prime/Lemmas.lean b/Mathlib/Algebra/Prime/Lemmas.lean index 55f94e1e98d0c4..06f27cb0bf421a 100644 --- a/Mathlib/Algebra/Prime/Lemmas.lean +++ b/Mathlib/Algebra/Prime/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker -/ -import Mathlib.Algebra.Divisibility.Hom -import Mathlib.Algebra.Group.Irreducible.Lemmas -import Mathlib.Algebra.GroupWithZero.Equiv -import Mathlib.Algebra.Prime.Defs -import Mathlib.Order.Monotone.Defs +module + +public import Mathlib.Algebra.Divisibility.Hom +public import Mathlib.Algebra.Group.Irreducible.Lemmas +public import Mathlib.Algebra.GroupWithZero.Equiv +public import Mathlib.Algebra.Prime.Defs +public import Mathlib.Order.Monotone.Defs /-! # Associated, prime, and irreducible elements. @@ -26,6 +28,8 @@ Then we show that the quotient type `Associates` is a monoid and prove basic properties of this quotient. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Multiset variable {M N : Type*} diff --git a/Mathlib/Algebra/QuadraticAlgebra.lean b/Mathlib/Algebra/QuadraticAlgebra.lean index c3c5994aeaacb4..c07fe6648df91a 100644 --- a/Mathlib/Algebra/QuadraticAlgebra.lean +++ b/Mathlib/Algebra/QuadraticAlgebra.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie, Kenny Lau, Jiayang Hong -/ +module -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! @@ -25,6 +26,8 @@ Quadratic algebra, quadratic extension -/ +@[expose] public section + universe u /-- Quadratic algebra over a type with fixed coefficient where $i^2 = a + bi$, implemented as diff --git a/Mathlib/Algebra/QuadraticDiscriminant.lean b/Mathlib/Algebra/QuadraticDiscriminant.lean index 61a35b0b8bbbb3..0ee2f64e5717e1 100644 --- a/Mathlib/Algebra/QuadraticDiscriminant.lean +++ b/Mathlib/Algebra/QuadraticDiscriminant.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.Order.Filter.AtTopBot.Field -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.Linarith.Frontend +module + +public import Mathlib.Order.Filter.AtTopBot.Field +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.Linarith.Frontend /-! # Quadratic discriminants and roots of a quadratic @@ -32,6 +34,8 @@ This file defines the discriminant of a quadratic and gives the solution to a qu polynomial, quadratic, discriminant, root -/ +@[expose] public section + assert_not_exists Finite Finset open Filter diff --git a/Mathlib/Algebra/Quandle.lean b/Mathlib/Algebra/Quandle.lean index d93fa59a59bdfe..c3fe65bb407a65 100644 --- a/Mathlib/Algebra/Quandle.lean +++ b/Mathlib/Algebra/Quandle.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Algebra.Group.End -import Mathlib.Data.ZMod.Defs -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Data.ZMod.Defs +public import Mathlib.Tactic.Ring /-! # Racks and Quandles @@ -82,6 +84,8 @@ Use `open quandles` to use these. rack, quandle -/ +@[expose] public section + open MulOpposite diff --git a/Mathlib/Algebra/Quaternion.lean b/Mathlib/Algebra/Quaternion.lean index 33396aafba4d01..981321fc6be149 100644 --- a/Mathlib/Algebra/Quaternion.lean +++ b/Mathlib/Algebra/Quaternion.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +module + +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! # Quaternions @@ -50,6 +52,8 @@ are computable. quaternion -/ +@[expose] public section + open Module /-- Quaternion algebra over a type with fixed coefficients where $i^2 = a + bi$ and $j^2 = c$, diff --git a/Mathlib/Algebra/QuaternionBasis.lean b/Mathlib/Algebra/QuaternionBasis.lean index 3b03909cc23dbf..dbfc4d745769d6 100644 --- a/Mathlib/Algebra/QuaternionBasis.lean +++ b/Mathlib/Algebra/QuaternionBasis.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Quaternion -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Quaternion +public import Mathlib.Tactic.Ring /-! # Basis on a quaternion-like algebra @@ -22,6 +24,8 @@ import Mathlib.Tactic.Ring data / proofs is non-negligible. -/ +@[expose] public section + open Quaternion diff --git a/Mathlib/Algebra/Quotient.lean b/Mathlib/Algebra/Quotient.lean index 5e2198bd8174f7..72c07d00e16e2b 100644 --- a/Mathlib/Algebra/Quotient.lean +++ b/Mathlib/Algebra/Quotient.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Tactic.Common +module + +public import Mathlib.Tactic.Common /-! # Algebraic quotients @@ -32,6 +34,8 @@ quotient, group quotient, quotient group, module quotient, quotient module, ring ideal quotient, quotient ring -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Regular/Basic.lean b/Mathlib/Algebra/Regular/Basic.lean index b63fb5060f87de..11abae76fcf19b 100644 --- a/Mathlib/Algebra/Regular/Basic.lean +++ b/Mathlib/Algebra/Regular/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.Regular.Defs +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.Regular.Defs /-! # Regular elements @@ -23,6 +25,8 @@ by adding one further `0`. The final goal is to develop part of the API to prove, eventually, results about non-zero-divisors. -/ +@[expose] public section + variable {R : Type*} section Mul diff --git a/Mathlib/Algebra/Regular/Defs.lean b/Mathlib/Algebra/Regular/Defs.lean index 25f36b7b726798..865930deedbc74 100644 --- a/Mathlib/Algebra/Regular/Defs.lean +++ b/Mathlib/Algebra/Regular/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Notation.Defs +module + +public import Mathlib.Algebra.Notation.Defs /-! # Regular elements @@ -14,6 +16,8 @@ analogues add-left-regular, add-right-regular and add-regular elements. For monoids where _every_ element is regular, see `IsCancelMul` and nearby typeclasses. -/ +@[expose] public section + variable {R : Type*} [Mul R] /-- A left-regular element is an element `c` such that multiplication on the left by `c` diff --git a/Mathlib/Algebra/Regular/Opposite.lean b/Mathlib/Algebra/Regular/Opposite.lean index a1a463c9458ef3..9cfebd82dcfed1 100644 --- a/Mathlib/Algebra/Regular/Opposite.lean +++ b/Mathlib/Algebra/Regular/Opposite.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Opposites +module + +public import Mathlib.Algebra.Opposites /-! # Results about `IsRegular` and `MulOpposite` -/ +@[expose] public section + variable {R} [Mul R] open MulOpposite diff --git a/Mathlib/Algebra/Regular/Pi.lean b/Mathlib/Algebra/Regular/Pi.lean index 891490c1b513f3..276a143e9ec7c7 100644 --- a/Mathlib/Algebra/Regular/Pi.lean +++ b/Mathlib/Algebra/Regular/Pi.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Regular.SMul +module + +public import Mathlib.Algebra.Regular.SMul /-! # Results about `IsRegular` and pi types -/ +@[expose] public section + variable {ι α : Type*} {R : ι → Type*} namespace Pi diff --git a/Mathlib/Algebra/Regular/Pow.lean b/Mathlib/Algebra/Regular/Pow.lean index 1de8f79c9c3893..61b89bd48dbdc5 100644 --- a/Mathlib/Algebra/Regular/Pow.lean +++ b/Mathlib/Algebra/Regular/Pow.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Defs -import Mathlib.Algebra.Regular.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.Regular.Basic /-! # Product of regular elements @@ -14,6 +16,8 @@ import Mathlib.Algebra.Regular.Basic Move to `Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean`? -/ +@[expose] public section + variable {R : Type*} {a b : R} diff --git a/Mathlib/Algebra/Regular/Prod.lean b/Mathlib/Algebra/Regular/Prod.lean index e86e35b50f3c03..b786d5bf651598 100644 --- a/Mathlib/Algebra/Regular/Prod.lean +++ b/Mathlib/Algebra/Regular/Prod.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Notation.Prod -import Mathlib.Algebra.Regular.SMul +module + +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Algebra.Regular.SMul /-! # Results about `IsRegular` and `Prod` -/ +@[expose] public section + variable {α R S : Type*} section diff --git a/Mathlib/Algebra/Regular/SMul.lean b/Mathlib/Algebra/Regular/SMul.lean index 39ff782cdc4b7e..3af5b3a9a1dab1 100644 --- a/Mathlib/Algebra/Regular/SMul.lean +++ b/Mathlib/Algebra/Regular/SMul.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Push +module + +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Push /-! # Action of regular elements on a module @@ -27,6 +29,8 @@ This property is the direct generalization to modules of the property `IsLeftReg coincide. -/ +@[expose] public section + variable {R S : Type*} (M : Type*) {a b : R} {s : S} diff --git a/Mathlib/Algebra/Regular/ULift.lean b/Mathlib/Algebra/Regular/ULift.lean index 7fda4fa5c7db7a..3c5dffa6851d40 100644 --- a/Mathlib/Algebra/Regular/ULift.lean +++ b/Mathlib/Algebra/Regular/ULift.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.ULift -import Mathlib.Algebra.Regular.SMul +module + +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Algebra.Regular.SMul /-! # Results about `IsRegular` and `ULift` -/ +@[expose] public section + universe u v variable {α} {R : Type v} diff --git a/Mathlib/Algebra/Ring/Action/Basic.lean b/Mathlib/Algebra/Ring/Action/Basic.lean index 0da738df55222d..70b3146116217a 100644 --- a/Mathlib/Algebra/Ring/Action/Basic.lean +++ b/Mathlib/Algebra/Ring/Action/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.End -import Mathlib.Algebra.Ring.Hom.Defs +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.End +public import Mathlib.Algebra.Ring.Hom.Defs /-! # Group action on rings @@ -32,6 +34,8 @@ group action -/ +@[expose] public section + assert_not_exists Equiv.Perm.equivUnitsEnd Prod.fst_mul universe u v diff --git a/Mathlib/Algebra/Ring/Action/ConjAct.lean b/Mathlib/Algebra/Ring/Action/ConjAct.lean index f6401f3572c323..b2c20afea03f52 100644 --- a/Mathlib/Algebra/Ring/Action/ConjAct.lean +++ b/Mathlib/Algebra/Ring/Action/ConjAct.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.GroupTheory.GroupAction.ConjAct +module + +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.GroupTheory.GroupAction.ConjAct /-! # Conjugation action of a ring on itself -/ +@[expose] public section + assert_not_exists Field namespace ConjAct diff --git a/Mathlib/Algebra/Ring/Action/End.lean b/Mathlib/Algebra/Ring/Action/End.lean index ba46302be0c6ef..4a51f031613f9d 100644 --- a/Mathlib/Algebra/Ring/Action/End.lean +++ b/Mathlib/Algebra/Ring/Action/End.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Ring.Action.Group -import Mathlib.Algebra.Ring.Aut +module + +public import Mathlib.Algebra.Ring.Action.Group +public import Mathlib.Algebra.Ring.Aut /-! # Ring automorphisms @@ -26,6 +28,8 @@ the group structure is defined. ring aut -/ +@[expose] public section + namespace RingAut variable {G R : Type*} [Group G] [Semiring R] diff --git a/Mathlib/Algebra/Ring/Action/Field.lean b/Mathlib/Algebra/Ring/Action/Field.lean index b0bcedf99ac298..a48a0ec0fc71bd 100644 --- a/Mathlib/Algebra/Ring/Action/Field.lean +++ b/Mathlib/Algebra/Ring/Action/Field.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Units.Lemmas +module + +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas /-! # Group action on fields -/ +@[expose] public section + variable {M} [Monoid M] {F} [DivisionRing F] /-- Note that `smul_inv'` refers to the group case, and `smul_inv` has an additional inverse diff --git a/Mathlib/Algebra/Ring/Action/Group.lean b/Mathlib/Algebra/Ring/Action/Group.lean index 3a252307f625cd..d5dce7f17fa431 100644 --- a/Mathlib/Algebra/Ring/Action/Group.lean +++ b/Mathlib/Algebra/Ring/Action/Group.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.Algebra.Ring.Equiv +module + +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.Algebra.Ring.Equiv /-! # If a group acts multiplicatively on a semiring, each group element acts by a ring automorphism. @@ -14,6 +16,8 @@ This result is split out from `Mathlib/Algebra/Ring/Action/Basic.lean` to avoid needing the import of `Mathlib/Algebra/GroupWithZero/Action/Basic.lean`. -/ +@[expose] public section + section Semiring variable (G : Type*) [Group G] diff --git a/Mathlib/Algebra/Ring/Action/Invariant.lean b/Mathlib/Algebra/Ring/Action/Invariant.lean index eef9840b34c790..5bff360b1c9939 100644 --- a/Mathlib/Algebra/Ring/Action/Invariant.lean +++ b/Mathlib/Algebra/Ring/Action/Invariant.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.GroupTheory.GroupAction.Hom -import Mathlib.Algebra.Ring.Subring.Defs +module + +public import Mathlib.GroupTheory.GroupAction.Hom +public import Mathlib.Algebra.Ring.Subring.Defs /-! # Subrings invariant under an action @@ -14,6 +16,8 @@ action. -/ +@[expose] public section + assert_not_exists RelIso section Ring diff --git a/Mathlib/Algebra/Ring/Action/Pointwise/Finset.lean b/Mathlib/Algebra/Ring/Action/Pointwise/Finset.lean index 8c7b8e9c33dd98..b03918122982ac 100644 --- a/Mathlib/Algebra/Ring/Action/Pointwise/Finset.lean +++ b/Mathlib/Algebra/Ring/Action/Pointwise/Finset.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise actions on sets in a ring @@ -18,6 +20,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + open scoped Pointwise variable {R G : Type*} diff --git a/Mathlib/Algebra/Ring/Action/Pointwise/Set.lean b/Mathlib/Algebra/Ring/Action/Pointwise/Set.lean index f29e5b3e803e67..203bba3531929e 100644 --- a/Mathlib/Algebra/Ring/Action/Pointwise/Set.lean +++ b/Mathlib/Algebra/Ring/Action/Pointwise/Set.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise operations of sets in a ring @@ -18,6 +20,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Field open Function diff --git a/Mathlib/Algebra/Ring/Action/Rat.lean b/Mathlib/Algebra/Ring/Action/Rat.lean index 914d1473cacfaa..e1cde894904fe0 100644 --- a/Mathlib/Algebra/Ring/Action/Rat.lean +++ b/Mathlib/Algebra/Ring/Action/Rat.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Action.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Action.Defs /-! # Actions by nonnegative rational numbers -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid variable {R : Type*} diff --git a/Mathlib/Algebra/Ring/Action/Submonoid.lean b/Mathlib/Algebra/Ring/Action/Submonoid.lean index 9a7f43af971011..6dd9687cce75a3 100644 --- a/Mathlib/Algebra/Ring/Action/Submonoid.lean +++ b/Mathlib/Algebra/Ring/Action/Submonoid.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 David Ang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Ang -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.GroupTheory.GroupAction.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.GroupTheory.GroupAction.Defs /-! # The subgroup of fixed points of an action -/ +@[expose] public section + variable (M α : Type*) [Monoid M] section AddMonoid diff --git a/Mathlib/Algebra/Ring/Action/Subobjects.lean b/Mathlib/Algebra/Ring/Action/Subobjects.lean index 940e6eb55e6a67..011b55666bb54a 100644 --- a/Mathlib/Algebra/Ring/Action/Subobjects.lean +++ b/Mathlib/Algebra/Ring/Action/Subobjects.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Submonoid.DistribMulAction -import Mathlib.Algebra.Ring.Action.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Submonoid.DistribMulAction +public import Mathlib.Algebra.Ring.Action.Basic /-! # Instances of `MulSemiringAction` for subobjects @@ -18,6 +20,8 @@ for those subobjects. -/ +@[expose] public section + assert_not_exists RelIso variable {M G R : Type*} diff --git a/Mathlib/Algebra/Ring/AddAut.lean b/Mathlib/Algebra/Ring/AddAut.lean index e6522bff220d5d..c7009b3e0136ab 100644 --- a/Mathlib/Algebra/Ring/AddAut.lean +++ b/Mathlib/Algebra/Ring/AddAut.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.GroupWithZero.Action.Basic -import Mathlib.Algebra.GroupWithZero.Action.Units -import Mathlib.Algebra.Group.Units.Opposite -import Mathlib.Algebra.Module.Opposite +module + +public import Mathlib.Algebra.GroupWithZero.Action.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Units +public import Mathlib.Algebra.Group.Units.Opposite +public import Mathlib.Algebra.Module.Opposite /-! # Multiplication on the left/right as additive automorphisms @@ -18,6 +20,8 @@ See also `AddMonoidHom.mulLeft`, `AddMonoidHom.mulRight`, `AddMonoid.End.mulLeft `Rˣ` as an automorphism. -/ +@[expose] public section + namespace AddAut diff --git a/Mathlib/Algebra/Ring/Associated.lean b/Mathlib/Algebra/Ring/Associated.lean index 084e2ca5faded3..e3c2bda102a9f8 100644 --- a/Mathlib/Algebra/Ring/Associated.lean +++ b/Mathlib/Algebra/Ring/Associated.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Ring.Units +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Ring.Units /-! # Associated elements in rings -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Multiset Field namespace Associated diff --git a/Mathlib/Algebra/Ring/Associator.lean b/Mathlib/Algebra/Ring/Associator.lean index c3e9e32f290791..51c1fbf7cf7c67 100644 --- a/Mathlib/Algebra/Ring/Associator.lean +++ b/Mathlib/Algebra/Ring/Associator.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Bernhard Reinke. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bernhard Reinke -/ -import Mathlib.Algebra.Ring.Basic -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Ring.Basic +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Tactic.Abel /-! # Associator in a ring @@ -20,6 +22,8 @@ as well as the bundled version of `mulLeft₃` and `mulRight₃`, the multiplica `x * (y * z)`. -/ +@[expose] public section + variable {R : Type*} section NonUnitalNonAssocRing diff --git a/Mathlib/Algebra/Ring/Aut.lean b/Mathlib/Algebra/Ring/Aut.lean index 50da9f999c7295..eb64c3ca4e47e2 100644 --- a/Mathlib/Algebra/Ring/Aut.lean +++ b/Mathlib/Algebra/Ring/Aut.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Ring.Equiv +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Ring.Equiv /-! # Ring automorphisms @@ -22,6 +24,8 @@ multiplication in `Equiv.Perm`, and multiplication in `CategoryTheory.End`, but ring aut -/ +@[expose] public section + variable (R : Type*) [Mul R] [Add R] /-- The group of ring automorphisms. -/ diff --git a/Mathlib/Algebra/Ring/Basic.lean b/Mathlib/Algebra/Ring/Basic.lean index 4a3df8db3a66a1..29e243dd1ea394 100644 --- a/Mathlib/Algebra/Ring/Basic.lean +++ b/Mathlib/Algebra/Ring/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Algebra.Group.Hom.Instances -import Mathlib.Algebra.GroupWithZero.NeZero -import Mathlib.Algebra.Opposites -import Mathlib.Algebra.Ring.Defs -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Algebra.Group.Hom.Instances +public import Mathlib.Algebra.GroupWithZero.NeZero +public import Mathlib.Algebra.Opposites +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Tactic.TFAE /-! # Semirings and rings @@ -21,6 +23,8 @@ the present file is about their interaction. For the definitions of semirings and rings see `Algebra.Ring.Defs`. -/ +@[expose] public section + assert_not_exists Nat.cast_sub variable {R S : Type*} diff --git a/Mathlib/Algebra/Ring/BooleanRing.lean b/Mathlib/Algebra/Ring/BooleanRing.lean index 481d1ef3847820..4bf2e3b19984e1 100644 --- a/Mathlib/Algebra/Ring/BooleanRing.lean +++ b/Mathlib/Algebra/Ring/BooleanRing.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Bryan Gin-ge Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bryan Gin-ge Chen, Yaël Dillies -/ -import Mathlib.Algebra.Group.Idempotent -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.PUnit -import Mathlib.Order.Hom.BoundedLattice -import Mathlib.Tactic.Abel -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Group.Idempotent +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.PUnit +public import Mathlib.Order.Hom.BoundedLattice +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.Ring /-! # Boolean rings @@ -40,6 +42,8 @@ purposes and because it is easier than dealing with boolean ring, boolean algebra -/ +@[expose] public section + open scoped symmDiff variable {α β γ : Type*} diff --git a/Mathlib/Algebra/Ring/Center.lean b/Mathlib/Algebra/Ring/Center.lean index f4e6fa8ed1fb3a..bb072176bad4ba 100644 --- a/Mathlib/Algebra/Ring/Center.lean +++ b/Mathlib/Algebra/Ring/Center.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Center -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.Group.Center +public import Mathlib.Data.Int.Cast.Lemmas /-! # Centers of rings -/ +@[expose] public section + assert_not_exists RelIso Finset Subsemigroup Field variable {M : Type*} diff --git a/Mathlib/Algebra/Ring/Centralizer.lean b/Mathlib/Algebra/Ring/Centralizer.lean index 923c7992874345..5ce1f8352c3467 100644 --- a/Mathlib/Algebra/Ring/Centralizer.lean +++ b/Mathlib/Algebra/Ring/Centralizer.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Center -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Center +public import Mathlib.Algebra.Ring.Defs /-! # Centralizers of rings -/ +@[expose] public section + assert_not_exists RelIso variable {M : Type*} {S : Set M} diff --git a/Mathlib/Algebra/Ring/CentroidHom.lean b/Mathlib/Algebra/Ring/CentroidHom.lean index 68cd8d72218b90..529f410b5094c1 100644 --- a/Mathlib/Algebra/Ring/CentroidHom.lean +++ b/Mathlib/Algebra/Ring/CentroidHom.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Christopher Hoskin -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Module.Hom -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic -import Mathlib.Algebra.Ring.Subsemiring.Basic +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Module.Hom +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +public import Mathlib.Algebra.Ring.Subsemiring.Basic /-! # Centroid homomorphisms @@ -43,6 +45,8 @@ be satisfied by itself and all stricter types. centroid -/ +@[expose] public section + assert_not_exists Field open Function diff --git a/Mathlib/Algebra/Ring/CharZero.lean b/Mathlib/Algebra/Ring/CharZero.lean index 046b2cf454ed5e..135516db3976b0 100644 --- a/Mathlib/Algebra/Ring/CharZero.lean +++ b/Mathlib/Algebra/Ring/CharZero.lean @@ -3,16 +3,20 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Notation.Support -import Mathlib.Algebra.Ring.Units -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Logic.Embedding.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Algebra.Ring.Units +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Logic.Embedding.Basic /-! # Characteristic zero rings -/ +@[expose] public section + assert_not_exists Field open Function Set diff --git a/Mathlib/Algebra/Ring/Commute.lean b/Mathlib/Algebra/Ring/Commute.lean index 4e4fd867f7b173..5ee61f26fb82ca 100644 --- a/Mathlib/Algebra/Ring/Commute.lean +++ b/Mathlib/Algebra/Ring/Commute.lean @@ -3,10 +3,12 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Ring.Semiconj -import Mathlib.Algebra.Ring.Units -import Mathlib.Algebra.Group.Commute.Defs -import Mathlib.Data.Bracket +module + +public import Mathlib.Algebra.Ring.Semiconj +public import Mathlib.Algebra.Ring.Units +public import Mathlib.Algebra.Group.Commute.Defs +public import Mathlib.Data.Bracket /-! # Semirings and rings @@ -20,6 +22,8 @@ For the definitions of semirings and rings see `Mathlib/Algebra/Ring/Defs.lean`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Ring/CompTypeclasses.lean b/Mathlib/Algebra/Ring/CompTypeclasses.lean index a2fcb1e9213882..9347bdd1eb8cb1 100644 --- a/Mathlib/Algebra/Ring/CompTypeclasses.lean +++ b/Mathlib/Algebra/Ring/CompTypeclasses.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Ring.Equiv +module + +public import Mathlib.Algebra.Ring.Equiv /-! # Propositional typeclasses on several ring homs @@ -40,6 +42,8 @@ Instances of these typeclasses mostly involving `RingHom.id` are also provided: `RingHomCompTriple`, `RingHomInvPair`, `RingHomSurjective` -/ +@[expose] public section + variable {R₁ : Type*} {R₂ : Type*} {R₃ : Type*} variable [Semiring R₁] [Semiring R₂] [Semiring R₃] diff --git a/Mathlib/Algebra/Ring/Defs.lean b/Mathlib/Algebra/Ring/Defs.lean index 6717de616f2f94..3e4bed609969cb 100644 --- a/Mathlib/Algebra/Ring/Defs.lean +++ b/Mathlib/Algebra/Ring/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Data.Int.Cast.Defs -import Mathlib.Tactic.Spread -import Mathlib.Util.AssertExists -import Mathlib.Tactic.StacksAttribute +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.Tactic.Spread +public import Mathlib.Util.AssertExists +public import Mathlib.Tactic.StacksAttribute /-! # Semirings and rings @@ -34,6 +36,8 @@ the present file is about their interaction. `Semiring`, `CommSemiring`, `Ring`, `CommRing`, domain, `IsDomain`, nonzero, units -/ +@[expose] public section + /-! Previously an import dependency on `Mathlib/Algebra/Group/Basic.lean` had crept in. diff --git a/Mathlib/Algebra/Ring/Divisibility/Basic.lean b/Mathlib/Algebra/Ring/Divisibility/Basic.lean index 1a9a4bdbc74cda..d00b8e581f8fe5 100644 --- a/Mathlib/Algebra/Ring/Divisibility/Basic.lean +++ b/Mathlib/Algebra/Ring/Divisibility/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Divisibility.Hom -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Divisibility.Hom +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Algebra.Ring.Defs /-! # Lemmas about divisibility in rings @@ -15,6 +17,8 @@ imports. Further results about divisibility in rings may be found in `Mathlib/Algebra/Ring/Divisibility/Lemmas.lean` which is not subject to this import constraint. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Algebra/Ring/Divisibility/Lemmas.lean b/Mathlib/Algebra/Ring/Divisibility/Lemmas.lean index 4450259e6bd609..2c344b25bd860c 100644 --- a/Mathlib/Algebra/Ring/Divisibility/Lemmas.lean +++ b/Mathlib/Algebra/Ring/Divisibility/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.Algebra.GCDMonoid.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.Algebra.GCDMonoid.Basic /-! # Lemmas about divisibility in rings @@ -18,6 +20,8 @@ import Mathlib.Algebra.GCDMonoid.Basic `x ^ m ∣ (x + y) ^ p` for sufficiently large `p` (together with many variations for convenience). -/ +@[expose] public section + variable {R : Type*} lemma dvd_smul_of_dvd {M : Type*} [SMul M R] [Semigroup R] [SMulCommClass M R R] {x y : R} diff --git a/Mathlib/Algebra/Ring/Equiv.lean b/Mathlib/Algebra/Ring/Equiv.lean index ab070e357ab806..722c977b0add56 100644 --- a/Mathlib/Algebra/Ring/Equiv.lean +++ b/Mathlib/Algebra/Ring/Equiv.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Callum Sutton, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.GroupWithZero.Equiv -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Logic.Equiv.Set -import Mathlib.Algebra.Notation.Prod +module + +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.GroupWithZero.Equiv +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Algebra.Notation.Prod /-! # (Semi)ring equivs @@ -37,6 +39,8 @@ multiplication in `Equiv.Perm`, and multiplication in `CategoryTheory.End`, not Equiv, MulEquiv, AddEquiv, RingEquiv, MulAut, AddAut, RingAut -/ +@[expose] public section + -- guard against import creep assert_not_exists Field Fintype diff --git a/Mathlib/Algebra/Ring/Ext.lean b/Mathlib/Algebra/Ring/Ext.lean index 898f7ffd2bf6bd..624485ca07f4cb 100644 --- a/Mathlib/Algebra/Ring/Ext.lean +++ b/Mathlib/Algebra/Ring/Ext.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Raghuram Sundararajan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Raghuram Sundararajan -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Group.Ext +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Group.Ext /-! # Extensionality lemmas for rings and similar structures @@ -27,6 +29,8 @@ sometimes we don't need them to prove extensionality. semiring, ring, extensionality -/ +@[expose] public section + local macro:max "local_hAdd[" type:term ", " inst:term "]" : term => `(term| (letI := $inst; HAdd.hAdd : $type → $type → $type)) local macro:max "local_hMul[" type:term ", " inst:term "]" : term => diff --git a/Mathlib/Algebra/Ring/Fin.lean b/Mathlib/Algebra/Ring/Fin.lean index bcdd132277aeee..7e13865e99fa0a 100644 --- a/Mathlib/Algebra/Ring/Fin.lean +++ b/Mathlib/Algebra/Ring/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Data.Fin.Tuple.Basic +module + +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Data.Fin.Tuple.Basic /-! # Rings and `Fin` @@ -17,6 +19,8 @@ This file collects some basic results involving rings and the `Fin` type -/ +@[expose] public section + /-- The product over `Fin 2` of some rings is just the Cartesian product of these rings. -/ @[simps] diff --git a/Mathlib/Algebra/Ring/GeomSum.lean b/Mathlib/Algebra/Ring/GeomSum.lean index d9e5f101c258e8..b3770b5d2a07cf 100644 --- a/Mathlib/Algebra/Ring/GeomSum.lean +++ b/Mathlib/Algebra/Ring/GeomSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Ring.Opposite /-! # Partial sums of geometric series in a ring @@ -18,6 +20,8 @@ which `x` and `y` commute. Even versions not using division or subtraction, vali are recorded. -/ +@[expose] public section + assert_not_exists Field IsOrderedRing open Finset MulOpposite diff --git a/Mathlib/Algebra/Ring/GrindInstances.lean b/Mathlib/Algebra/Ring/GrindInstances.lean index 4e05c74e32e62f..99a12673661e7c 100644 --- a/Mathlib/Algebra/Ring/GrindInstances.lean +++ b/Mathlib/Algebra/Ring/GrindInstances.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Data.Int.Cast.Basic +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Data.Int.Cast.Basic /-! # Instances for `grind`. -/ +@[expose] public section + open Lean variable (α : Type*) diff --git a/Mathlib/Algebra/Ring/Hom/Basic.lean b/Mathlib/Algebra/Ring/Hom/Basic.lean index e72658cc1499d3..b5bd0e29eccac3 100644 --- a/Mathlib/Algebra/Ring/Hom/Basic.lean +++ b/Mathlib/Algebra/Ring/Hom/Basic.lean @@ -3,9 +3,10 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Jireh Loreaux -/ +module -import Mathlib.Algebra.Ring.Hom.InjSurj -import Mathlib.Deprecated.RingHom -import Mathlib.Tactic.Linter.DeprecatedModule +public import Mathlib.Algebra.Ring.Hom.InjSurj +public import Mathlib.Deprecated.RingHom +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-06-09") diff --git a/Mathlib/Algebra/Ring/Hom/Defs.lean b/Mathlib/Algebra/Ring/Hom/Defs.lean index 07035d769aef5a..a3f0f3bdb9d5ad 100644 --- a/Mathlib/Algebra/Ring/Hom/Defs.lean +++ b/Mathlib/Algebra/Ring/Hom/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Jireh Loreaux -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Ring.Basic /-! # Homomorphisms of semirings and rings @@ -41,6 +43,8 @@ groups, we use the same structure `RingHom a β`, a.k.a. `α →+* β`, for both `RingHom`, `SemiringHom` -/ +@[expose] public section + assert_not_exists Function.Injective.mulZeroClass semigroupDvd Units.map open Function diff --git a/Mathlib/Algebra/Ring/Hom/InjSurj.lean b/Mathlib/Algebra/Ring/Hom/InjSurj.lean index 9e413df2e23275..f92af6822b2770 100644 --- a/Mathlib/Algebra/Ring/Hom/InjSurj.lean +++ b/Mathlib/Algebra/Ring/Hom/InjSurj.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Jireh Loreaux -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Algebra.Ring.Defs /-! # Pulling back rings along injective maps, and pushing them forward along surjective maps -/ +@[expose] public section + open Function variable {α β : Type*} diff --git a/Mathlib/Algebra/Ring/Idempotent.lean b/Mathlib/Algebra/Ring/Idempotent.lean index 341431b55a3401..2be8e2d4599ea0 100644 --- a/Mathlib/Algebra/Ring/Idempotent.lean +++ b/Mathlib/Algebra/Ring/Idempotent.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.GroupWithZero.Idempotent -import Mathlib.Algebra.Ring.Defs -import Mathlib.Order.Notation -import Mathlib.Tactic.Convert -import Mathlib.Algebra.Group.Torsion +module + +public import Mathlib.Algebra.GroupWithZero.Idempotent +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Order.Notation +public import Mathlib.Tactic.Convert +public import Mathlib.Algebra.Group.Torsion /-! # Idempotent elements of a ring @@ -17,6 +19,8 @@ This file proves result about idempotent elements of a ring, like: `1 - a` is an idempotent. -/ +@[expose] public section + variable {R : Type*} namespace IsIdempotentElem diff --git a/Mathlib/Algebra/Ring/Identities.lean b/Mathlib/Algebra/Ring/Identities.lean index a3c111282fdd3f..ea7ef5e6d6b342 100644 --- a/Mathlib/Algebra/Ring/Identities.lean +++ b/Mathlib/Algebra/Ring/Identities.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Bryan Gin-ge Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bryan Gin-ge Chen, Kevin Lacker -/ -import Mathlib.Tactic.Ring +module + +public import Mathlib.Tactic.Ring /-! # Identities @@ -11,6 +13,8 @@ import Mathlib.Tactic.Ring This file contains some "named" commutative ring identities. -/ +@[expose] public section + variable {R : Type*} [CommRing R] {a b x₁ x₂ x₃ x₄ x₅ x₆ x₇ x₈ y₁ y₂ y₃ y₄ y₅ y₆ y₇ y₈ n : R} diff --git a/Mathlib/Algebra/Ring/InjSurj.lean b/Mathlib/Algebra/Ring/InjSurj.lean index 3c48e069b40b5d..3f84fc7fd0c96e 100644 --- a/Mathlib/Algebra/Ring/InjSurj.lean +++ b/Mathlib/Algebra/Ring/InjSurj.lean @@ -3,10 +3,12 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Opposites -import Mathlib.Algebra.GroupWithZero.InjSurj -import Mathlib.Data.Int.Cast.Basic +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Opposites +public import Mathlib.Algebra.GroupWithZero.InjSurj +public import Mathlib.Data.Int.Cast.Basic /-! # Pulling back rings along injective maps, and pushing them forward along surjective maps @@ -22,6 +24,8 @@ As a result, we must use `Function.swap` when using additivised transfer definit non-additivised ones. -/ +@[expose] public section + variable {R S : Type*} namespace Function.Injective diff --git a/Mathlib/Algebra/Ring/Int/Defs.lean b/Mathlib/Algebra/Ring/Int/Defs.lean index 64c074b9dcc39d..58618106c951e6 100644 --- a/Mathlib/Algebra/Ring/Int/Defs.lean +++ b/Mathlib/Algebra/Ring/Int/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Algebra.Ring.GrindInstances +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Algebra.Ring.GrindInstances /-! # The integers are a ring @@ -17,6 +19,8 @@ This file contains the commutative ring instance on `ℤ`. See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists DenselyOrdered Set.Subsingleton namespace Int diff --git a/Mathlib/Algebra/Ring/Int/Parity.lean b/Mathlib/Algebra/Ring/Int/Parity.lean index dd5d7ce62d326a..a9088b287034c8 100644 --- a/Mathlib/Algebra/Ring/Int/Parity.lean +++ b/Mathlib/Algebra/Ring/Int/Parity.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Ring.Parity -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Group.Int.Even +module + +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Group.Int.Even /-! # Basic parity lemmas for the ring `ℤ` @@ -13,6 +15,8 @@ import Mathlib.Algebra.Group.Int.Even See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists DenselyOrdered Set.Subsingleton namespace Int diff --git a/Mathlib/Algebra/Ring/Int/Units.lean b/Mathlib/Algebra/Ring/Int/Units.lean index f987c97ac1f8ee..b5fdd79b36598e 100644 --- a/Mathlib/Algebra/Ring/Int/Units.lean +++ b/Mathlib/Algebra/Ring/Int/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Ring.Units -import Mathlib.Algebra.Group.Int.Units +module + +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Ring.Units +public import Mathlib.Algebra.Group.Int.Units /-! # Basic lemmas for `ℤˣ`. @@ -19,6 +21,8 @@ This file contains lemmas on the units of `ℤ`. See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists DenselyOrdered Set.Subsingleton namespace Int diff --git a/Mathlib/Algebra/Ring/Invertible.lean b/Mathlib/Algebra/Ring/Invertible.lean index d7d0fca8ad4a06..dccc6cc68610fd 100644 --- a/Mathlib/Algebra/Ring/Invertible.lean +++ b/Mathlib/Algebra/Ring/Invertible.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Invertible +public import Mathlib.Algebra.Ring.Defs /-! # Theorems about additively and multiplicatively invertible elements in rings -/ +@[expose] public section + variable {R : Type*} section NonUnitalNonAssocSemiring diff --git a/Mathlib/Algebra/Ring/MinimalAxioms.lean b/Mathlib/Algebra/Ring/MinimalAxioms.lean index 785c415a9e2054..29e7416c385766 100644 --- a/Mathlib/Algebra/Ring/MinimalAxioms.lean +++ b/Mathlib/Algebra/Ring/MinimalAxioms.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.MinimalAxioms +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.MinimalAxioms /-! # Minimal Axioms for a Ring @@ -22,6 +23,8 @@ a minimum number of equalities. -/ +@[expose] public section + universe u /-- Define a `Ring` structure on a Type by proving a minimized set of axioms. diff --git a/Mathlib/Algebra/Ring/Nat.lean b/Mathlib/Algebra/Ring/Nat.lean index 74467ee1cc0b86..1a95cb1c070dab 100644 --- a/Mathlib/Algebra/Ring/Nat.lean +++ b/Mathlib/Algebra/Ring/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.GroupWithZero.Nat -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.GroupWithZero.Nat +public import Mathlib.Algebra.Ring.Defs /-! # The natural numbers form a semiring @@ -15,6 +17,8 @@ This file contains the commutative semiring instance on the natural numbers. See note [foundational algebra order theory]. -/ +@[expose] public section + namespace Nat instance instAddMonoidWithOne : AddMonoidWithOne ℕ where diff --git a/Mathlib/Algebra/Ring/NegOnePow.lean b/Mathlib/Algebra/Ring/NegOnePow.lean index 82d71d63694400..2d43d5bf09e5ff 100644 --- a/Mathlib/Algebra/Ring/NegOnePow.lean +++ b/Mathlib/Algebra/Ring/NegOnePow.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Johan Commelin -/ -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.Data.ZMod.IntUnitsPower +module + +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.Data.ZMod.IntUnitsPower /-! # Integer powers of (-1) @@ -17,6 +19,8 @@ Johan Commelin to the Liquid Tensor Experiment. -/ +@[expose] public section + assert_not_exists Field assert_not_exists TwoSidedIdeal diff --git a/Mathlib/Algebra/Ring/NonZeroDivisors.lean b/Mathlib/Algebra/Ring/NonZeroDivisors.lean index 9b10b5112c3b91..c0d4808314ce05 100644 --- a/Mathlib/Algebra/Ring/NonZeroDivisors.lean +++ b/Mathlib/Algebra/Ring/NonZeroDivisors.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.Regular.Basic -import Mathlib.Algebra.Regular.Opposite -import Mathlib.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.Algebra.Regular.Opposite +public import Mathlib.Algebra.Ring.Basic /-! # Non-zero divisors in a ring -/ +@[expose] public section + assert_not_exists Field open scoped nonZeroDivisors diff --git a/Mathlib/Algebra/Ring/Opposite.lean b/Mathlib/Algebra/Ring/Opposite.lean index beb48103be5747..035f922bc9a369 100644 --- a/Mathlib/Algebra/Ring/Opposite.lean +++ b/Mathlib/Algebra/Ring/Opposite.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.Equiv.Opposite -import Mathlib.Algebra.GroupWithZero.Opposite -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Data.Int.Cast.Basic +module + +public import Mathlib.Algebra.Group.Equiv.Opposite +public import Mathlib.Algebra.GroupWithZero.Opposite +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Data.Int.Cast.Basic /-! # Ring structures on the multiplicative opposite -/ +@[expose] public section + variable {R : Type*} namespace MulOpposite diff --git a/Mathlib/Algebra/Ring/PUnit.lean b/Mathlib/Algebra/Ring/PUnit.lean index 18dc75b92b2b24..fe1926c1f368b9 100644 --- a/Mathlib/Algebra/Ring/PUnit.lean +++ b/Mathlib/Algebra/Ring/PUnit.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Ring.Defs /-! # `PUnit` is a commutative ring @@ -13,6 +15,8 @@ This file collects facts about algebraic structures on the one-element type, e.g commutative ring. -/ +@[expose] public section + assert_not_exists Field namespace PUnit diff --git a/Mathlib/Algebra/Ring/Parity.lean b/Mathlib/Algebra/Ring/Parity.lean index 35c2053e27e29d..688b2d691ea3b5 100644 --- a/Mathlib/Algebra/Ring/Parity.lean +++ b/Mathlib/Algebra/Ring/Parity.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Nat.Even -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Data.Nat.Cast.Commute -import Mathlib.Data.Set.Operations -import Mathlib.Logic.Function.Iterate +module + +public import Mathlib.Algebra.Group.Nat.Even +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Data.Nat.Cast.Commute +public import Mathlib.Data.Set.Operations +public import Mathlib.Logic.Function.Iterate /-! # Even and odd elements in rings @@ -27,6 +29,8 @@ to `Mathlib/Algebra/Group/Even.lean`. `Mathlib/Algebra/Group/Even.lean` for the definition of even elements. -/ +@[expose] public section + assert_not_exists DenselyOrdered OrderedRing open MulOpposite diff --git a/Mathlib/Algebra/Ring/Periodic.lean b/Mathlib/Algebra/Ring/Periodic.lean index c80558693324e9..3368639a030405 100644 --- a/Mathlib/Algebra/Ring/Periodic.lean +++ b/Mathlib/Algebra/Ring/Periodic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson -/ -import Mathlib.Algebra.Ring.NegOnePow +module + +public import Mathlib.Algebra.Ring.NegOnePow /-! # Periodicity @@ -25,6 +27,8 @@ Note that any `c`-antiperiodic function will necessarily also be `2 • c`-perio period, periodic, periodicity, antiperiodic -/ +@[expose] public section + assert_not_exists Field variable {α β γ : Type*} {f g : α → β} {c c₁ c₂ x : α} diff --git a/Mathlib/Algebra/Ring/Pi.lean b/Mathlib/Algebra/Ring/Pi.lean index 9c868b76162b36..26a96114236770 100644 --- a/Mathlib/Algebra/Ring/Pi.lean +++ b/Mathlib/Algebra/Ring/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Patrick Massot -/ -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.GroupWithZero.Pi -import Mathlib.Algebra.Ring.CompTypeclasses -import Mathlib.Algebra.Ring.Hom.Defs +module + +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.GroupWithZero.Pi +public import Mathlib.Algebra.Ring.CompTypeclasses +public import Mathlib.Algebra.Ring.Hom.Defs /-! # Pi instances for ring @@ -14,6 +16,8 @@ import Mathlib.Algebra.Ring.Hom.Defs This file defines instances for ring, semiring and related structures on Pi Types -/ +@[expose] public section + -- Porting note: used to import `tactic.pi_instances` namespace Pi diff --git a/Mathlib/Algebra/Ring/Pointwise/Finset.lean b/Mathlib/Algebra/Ring/Pointwise/Finset.lean index 03d4bcb4f3813f..b204f119c27883 100644 --- a/Mathlib/Algebra/Ring/Pointwise/Finset.lean +++ b/Mathlib/Algebra/Ring/Pointwise/Finset.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Ring.Pointwise.Set -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Ring.Pointwise.Set +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Pointwise operations of sets in a ring @@ -18,6 +20,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists MulAction open scoped Pointwise diff --git a/Mathlib/Algebra/Ring/Pointwise/Set.lean b/Mathlib/Algebra/Ring/Pointwise/Set.lean index 3ae35438aaade2..96f5e2d5b3967f 100644 --- a/Mathlib/Algebra/Ring/Pointwise/Set.lean +++ b/Mathlib/Algebra/Ring/Pointwise/Set.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise operations of sets in a ring @@ -17,6 +19,8 @@ set multiplication, set addition, pointwise addition, pointwise multiplication, pointwise subtraction -/ +@[expose] public section + assert_not_exists MulAction OrderedAddCommMonoid Field open Function diff --git a/Mathlib/Algebra/Ring/Prod.lean b/Mathlib/Algebra/Ring/Prod.lean index 2ed24e54a123e6..16dda7ec38aa78 100644 --- a/Mathlib/Algebra/Ring/Prod.lean +++ b/Mathlib/Algebra/Ring/Prod.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Chris Hughes, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Data.Int.Cast.Prod -import Mathlib.Algebra.GroupWithZero.Prod -import Mathlib.Algebra.Ring.CompTypeclasses -import Mathlib.Algebra.Ring.Equiv +module + +public import Mathlib.Data.Int.Cast.Prod +public import Mathlib.Algebra.GroupWithZero.Prod +public import Mathlib.Algebra.Ring.CompTypeclasses +public import Mathlib.Algebra.Ring.Equiv /-! # Semiring, ring etc. structures on `R × S` @@ -22,6 +24,8 @@ trivial `simp` lemmas, and define the following operations on `RingHom`s and sim sends `(x, y)` to `(f x, g y)`. -/ +@[expose] public section + variable {R R' S S' T : Type*} diff --git a/Mathlib/Algebra/Ring/Rat.lean b/Mathlib/Algebra/Ring/Rat.lean index 475dc817f4ea75..8840dcc45eef78 100644 --- a/Mathlib/Algebra/Ring/Rat.lean +++ b/Mathlib/Algebra/Ring/Rat.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Ring.Basic -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Rat.Defs -import Mathlib.Algebra.Group.Nat.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Ring.Basic +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Rat.Defs +public import Mathlib.Algebra.Group.Nat.Defs /-! # The rational numbers are a commutative ring @@ -17,6 +19,8 @@ This file contains the commutative ring instance on the rational numbers. See note [foundational algebra order theory]. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Field PNat Nat.gcd_greatest IsDomain.toCancelMonoidWithZero namespace Rat diff --git a/Mathlib/Algebra/Ring/Regular.lean b/Mathlib/Algebra/Ring/Regular.lean index 3fbd523172fd5d..c848a2697e27fb 100644 --- a/Mathlib/Algebra/Ring/Regular.lean +++ b/Mathlib/Algebra/Ring/Regular.lean @@ -3,14 +3,18 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.Ring.Defs /-! # Lemmas about regular elements in rings. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Algebra/Ring/Semiconj.lean b/Mathlib/Algebra/Ring/Semiconj.lean index 9a2596fbc9c227..dd97eab2db1a95 100644 --- a/Mathlib/Algebra/Ring/Semiconj.lean +++ b/Mathlib/Algebra/Ring/Semiconj.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Group.Semiconj.Defs -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Semiconj.Defs +public import Mathlib.Algebra.Ring.Defs /-! # Semirings and rings @@ -18,6 +20,8 @@ For the definitions of semirings and rings see `Mathlib/Algebra/Ring/Defs.lean`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Ring/Semireal/Defs.lean b/Mathlib/Algebra/Ring/Semireal/Defs.lean index 6b64b60a5c274b..1cf14a08274f8f 100644 --- a/Mathlib/Algebra/Ring/Semireal/Defs.lean +++ b/Mathlib/Algebra/Ring/Semireal/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Florent Schaffhauser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Florent Schaffhauser, Artie Khovanov -/ -import Mathlib.Algebra.Ring.SumsOfSquares +module + +public import Mathlib.Algebra.Ring.SumsOfSquares /-! # Semireal rings @@ -23,6 +25,8 @@ not. [lam_1984](https://doi.org/10.1216/RMJ-1984-14-4-767) -/ +@[expose] public section + variable {R : Type*} variable (R) in diff --git a/Mathlib/Algebra/Ring/Shrink.lean b/Mathlib/Algebra/Ring/Shrink.lean index dbf637dcb87f17..612e7bffaf1e6e 100644 --- a/Mathlib/Algebra/Ring/Shrink.lean +++ b/Mathlib/Algebra/Ring/Shrink.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Shrink -import Mathlib.Algebra.Ring.TransferInstance +module + +public import Mathlib.Algebra.Group.Shrink +public import Mathlib.Algebra.Ring.TransferInstance /-! # Transfer ring structures from `α` to `Shrink α` -/ +@[expose] public section + noncomputable section namespace Shrink diff --git a/Mathlib/Algebra/Ring/Subgroup.lean b/Mathlib/Algebra/Ring/Subgroup.lean index 79fde5f0e0409d..ea25a3b71b35f3 100644 --- a/Mathlib/Algebra/Ring/Subgroup.lean +++ b/Mathlib/Algebra/Ring/Subgroup.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Algebra.Ring.Submonoid.Pointwise -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Algebra.Ring.Submonoid.Pointwise +public import Mathlib.Algebra.Module.Defs /-! # Additive subgroups of rings -/ +@[expose] public section + open scoped Pointwise variable {R M : Type*} diff --git a/Mathlib/Algebra/Ring/Submonoid.lean b/Mathlib/Algebra/Ring/Submonoid.lean index d33e3b8062cfb2..02ab89ecfdabf8 100644 --- a/Mathlib/Algebra/Ring/Submonoid.lean +++ b/Mathlib/Algebra/Ring/Submonoid.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Ring.Defs -import Mathlib.Tactic.MinImports -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Tactic.MinImports +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-09") diff --git a/Mathlib/Algebra/Ring/Submonoid/Basic.lean b/Mathlib/Algebra/Ring/Submonoid/Basic.lean index eed649eab505eb..9ed2e26902ec4c 100644 --- a/Mathlib/Algebra/Ring/Submonoid/Basic.lean +++ b/Mathlib/Algebra/Ring/Submonoid/Basic.lean @@ -4,11 +4,15 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Ring.Defs /-! # Lemmas about additive closures of `Subsemigroup`. -/ +@[expose] public section + open AddSubmonoid namespace MulMemClass diff --git a/Mathlib/Algebra/Ring/Submonoid/Pointwise.lean b/Mathlib/Algebra/Ring/Submonoid/Pointwise.lean index 0fd37e3624b5f4..5da4b2e6de95b3 100644 --- a/Mathlib/Algebra/Ring/Submonoid/Pointwise.lean +++ b/Mathlib/Algebra/Ring/Submonoid/Pointwise.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Johan Commelin, Mario Carneiro, Kevin Buzzard, Amelia Livingston, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Submonoid.Pointwise -import Mathlib.Algebra.Module.Defs -import Mathlib.Data.Nat.Cast.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.Pointwise +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Data.Nat.Cast.Basic /-! # Elementwise monoid structure of additive submonoids @@ -35,6 +37,8 @@ multiplication, but results requiring right distributivity do not have SMul vers due to the lack of a suitable typeclass (unless one goes all the way to `Module`). -/ +@[expose] public section + open AddSubmonoid Set open scoped Pointwise diff --git a/Mathlib/Algebra/Ring/Subring/Basic.lean b/Mathlib/Algebra/Ring/Subring/Basic.lean index 1b76b59870a694..9258cc5b6f2dec 100644 --- a/Mathlib/Algebra/Ring/Subring/Basic.lean +++ b/Mathlib/Algebra/Ring/Subring/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Ashvni Narayanan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ashvni Narayanan -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Ring.Subring.Defs -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.RingTheory.NonUnitalSubring.Defs -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Ring.Subring.Defs +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.RingTheory.NonUnitalSubring.Defs +public import Mathlib.Data.Set.Finite.Basic /-! # Subrings @@ -58,6 +60,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` subring, subrings -/ +@[expose] public section + assert_not_exists OrderedRing universe u v w diff --git a/Mathlib/Algebra/Ring/Subring/Defs.lean b/Mathlib/Algebra/Ring/Subring/Defs.lean index 0f93d5fb8969ed..3e7d2a3278cd0c 100644 --- a/Mathlib/Algebra/Ring/Subring/Defs.lean +++ b/Mathlib/Algebra/Ring/Subring/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Ashvni Narayanan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ashvni Narayanan -/ -import Mathlib.Algebra.Ring.Subsemiring.Defs -import Mathlib.RingTheory.NonUnitalSubring.Defs +module + +public import Mathlib.Algebra.Ring.Subsemiring.Defs +public import Mathlib.RingTheory.NonUnitalSubring.Defs /-! # Subrings @@ -61,6 +63,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` subring, subrings -/ +@[expose] public section + assert_not_exists RelIso Even OrderedCommMonoid universe u v w diff --git a/Mathlib/Algebra/Ring/Subring/IntPolynomial.lean b/Mathlib/Algebra/Ring/Subring/IntPolynomial.lean index 211df9171d84a3..69911b1d0986dc 100644 --- a/Mathlib/Algebra/Ring/Subring/IntPolynomial.lean +++ b/Mathlib/Algebra/Ring/Subring/IntPolynomial.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Polynomial.AlgebraMap +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap /-! # Polynomials over subrings. @@ -18,6 +20,8 @@ This is useful when dealing with integral elements in an extension of fields. of the field `K`, `P.int R` is the corresponding polynomial in `R[X]`. -/ +@[expose] public section + variable {K : Type*} [Field K] (R : Subring K) open scoped Polynomial diff --git a/Mathlib/Algebra/Ring/Subring/MulOpposite.lean b/Mathlib/Algebra/Ring/Subring/MulOpposite.lean index f51fd743c3738f..e693845c6aabf2 100644 --- a/Mathlib/Algebra/Ring/Subring/MulOpposite.lean +++ b/Mathlib/Algebra/Ring/Subring/MulOpposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Ring.Subsemiring.MulOpposite -import Mathlib.Algebra.Ring.Subring.Basic +module + +public import Mathlib.Algebra.Ring.Subsemiring.MulOpposite +public import Mathlib.Algebra.Ring.Subring.Basic /-! @@ -14,6 +16,8 @@ For every ring `R`, we construct an equivalence between subrings of `R` and that -/ +@[expose] public section + namespace Subring variable {ι : Sort*} {R : Type*} [Ring R] diff --git a/Mathlib/Algebra/Ring/Subring/Order.lean b/Mathlib/Algebra/Ring/Subring/Order.lean index 45ef3b127b6399..75996567c47603 100644 --- a/Mathlib/Algebra/Ring/Subring/Order.lean +++ b/Mathlib/Algebra/Ring/Subring/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Order.Hom.Ring -import Mathlib.Algebra.Order.Ring.InjSurj -import Mathlib.Algebra.Ring.Subring.Defs +module + +public import Mathlib.Algebra.Order.Hom.Ring +public import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Algebra.Ring.Subring.Defs /-! @@ -20,6 +22,8 @@ We study subrings of ordered rings and prove their basic properties. -/ +@[expose] public section + namespace Subring variable {R : Type*} diff --git a/Mathlib/Algebra/Ring/Subring/Pointwise.lean b/Mathlib/Algebra/Ring/Subring/Pointwise.lean index 326a25bd2b9d27..0a7c8ab5b332e6 100644 --- a/Mathlib/Algebra/Ring/Subring/Pointwise.lean +++ b/Mathlib/Algebra/Ring/Subring/Pointwise.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.Algebra.Ring.Subsemiring.Pointwise +module + +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.Algebra.Ring.Subsemiring.Pointwise /-! # Pointwise instances on `Subring`s @@ -21,6 +23,8 @@ possible, try to keep them in sync. -/ +@[expose] public section + open Set diff --git a/Mathlib/Algebra/Ring/Subring/Units.lean b/Mathlib/Algebra/Ring/Subring/Units.lean index d32c5d0cbe4c45..2ced35b1d82cc1 100644 --- a/Mathlib/Algebra/Ring/Subring/Units.lean +++ b/Mathlib/Algebra/Ring/Subring/Units.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Order.GroupWithZero.Submonoid -import Mathlib.Algebra.Order.Ring.Defs +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Order.GroupWithZero.Submonoid +public import Mathlib.Algebra.Order.Ring.Defs /-! @@ -14,6 +16,8 @@ import Mathlib.Algebra.Order.Ring.Defs -/ +@[expose] public section + /-- The subgroup of positive units of a linear ordered semiring. -/ def Units.posSubgroup (R : Type*) [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] : Subgroup Rˣ := diff --git a/Mathlib/Algebra/Ring/Subsemiring/Basic.lean b/Mathlib/Algebra/Ring/Subsemiring/Basic.lean index dce37d9f57d20a..8358aa32e56cb7 100644 --- a/Mathlib/Algebra/Ring/Subsemiring/Basic.lean +++ b/Mathlib/Algebra/Ring/Subsemiring/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Ring.Action.Subobjects -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Ring.Subsemiring.Defs -import Mathlib.GroupTheory.Submonoid.Centralizer -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Ring.Action.Subobjects +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Ring.Subsemiring.Defs +public import Mathlib.GroupTheory.Submonoid.Centralizer +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +public import Mathlib.Algebra.Module.Defs /-! # Bundled subsemirings @@ -19,6 +21,8 @@ We define some standard constructions on bundled subsemirings: `CompleteLattice` subsemiring `map`, `comap` and range (`rangeS`) of a `RingHom` etc. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Ring/Subsemiring/Defs.lean b/Mathlib/Algebra/Ring/Subsemiring/Defs.lean index 80830d43839fcc..820edc36bea673 100644 --- a/Mathlib/Algebra/Ring/Subsemiring/Defs.lean +++ b/Mathlib/Algebra/Ring/Subsemiring/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.RingTheory.NonUnitalSubsemiring.Defs +module + +public import Mathlib.RingTheory.NonUnitalSubsemiring.Defs /-! # Bundled subsemirings @@ -12,6 +14,8 @@ We define bundled subsemirings and some standard constructions: `subtype` and `i ring homomorphisms. -/ +@[expose] public section + assert_not_exists RelIso universe u v w diff --git a/Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean b/Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean index 4bfbfecdaae76c..f99d361ceae8e2 100644 --- a/Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean +++ b/Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Group.Submonoid.MulOpposite -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.Group.Submonoid.MulOpposite +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.Algebra.Ring.Opposite /-! @@ -15,6 +17,8 @@ For every semiring `R`, we construct an equivalence between subsemirings of `R` -/ +@[expose] public section + namespace Subsemiring variable {ι : Sort*} {R : Type*} [NonAssocSemiring R] diff --git a/Mathlib/Algebra/Ring/Subsemiring/Order.lean b/Mathlib/Algebra/Ring/Subsemiring/Order.lean index d82ec2b57bbe8a..0df2b55ac24923 100644 --- a/Mathlib/Algebra/Ring/Subsemiring/Order.lean +++ b/Mathlib/Algebra/Ring/Subsemiring/Order.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Order.Ring.InjSurj -import Mathlib.Algebra.Ring.Subsemiring.Defs -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Order.Ring.InjSurj +public import Mathlib.Algebra.Ring.Subsemiring.Defs +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Tactic.FastInstance /-! # `Order`ed instances for `SubsemiringClass` and `Subsemiring`. -/ +@[expose] public section + namespace SubsemiringClass variable {R S : Type*} [SetLike S R] (s : S) diff --git a/Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean b/Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean index 19a645fcd81d2e..46a92aff39a426 100644 --- a/Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean +++ b/Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise -import Mathlib.Algebra.Ring.Subsemiring.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Submonoid.Pointwise +public import Mathlib.Algebra.Ring.Subsemiring.Basic /-! # Pointwise instances on `Subsemiring`s @@ -19,6 +21,8 @@ This file is almost identical to the files `Mathlib/Algebra/GroupWithZero/Submon and `Mathlib/Algebra/Ring/Submonoid/Pointwise.lean`. Where possible, try to keep them in sync. -/ +@[expose] public section + open Set diff --git a/Mathlib/Algebra/Ring/SumsOfSquares.lean b/Mathlib/Algebra/Ring/SumsOfSquares.lean index 2d6aa823705d52..aaba308196b9cc 100644 --- a/Mathlib/Algebra/Ring/SumsOfSquares.lean +++ b/Mathlib/Algebra/Ring/SumsOfSquares.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Florent Schaffhauser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Florent Schaffhauser, Artie Khovanov -/ -import Mathlib.Algebra.Group.Subgroup.Even -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Ring.Parity -- Algebra.Group.Even can't prove `IsSquare 0` by simp -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.Group.Subgroup.Even +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Ring.Parity -- Algebra.Group.Even can't prove `IsSquare 0` by simp +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.Tactic.ApplyFun /-! # Sums of squares @@ -25,6 +27,8 @@ We introduce a predicate for sums of squares in a ring. with multiplication. -/ +@[expose] public section + variable {R : Type*} /-- diff --git a/Mathlib/Algebra/Ring/Torsion.lean b/Mathlib/Algebra/Ring/Torsion.lean index c3307fe345c5dc..95ff9b4e7f40e9 100644 --- a/Mathlib/Algebra/Ring/Torsion.lean +++ b/Mathlib/Algebra/Ring/Torsion.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.Ring.Regular +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.Ring.Regular /-! # Torsion-free rings @@ -13,6 +15,8 @@ import Mathlib.Algebra.Ring.Regular A characteristic zero domain is torsion-free. -/ +@[expose] public section + namespace IsDomain -- This instance is potentially expensive, and is known to slow down grind. diff --git a/Mathlib/Algebra/Ring/TransferInstance.lean b/Mathlib/Algebra/Ring/TransferInstance.lean index be3e068deee8c6..dd9da001db04e6 100644 --- a/Mathlib/Algebra/Ring/TransferInstance.lean +++ b/Mathlib/Algebra/Ring/TransferInstance.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.Hom.InjSurj -import Mathlib.Algebra.Ring.InjSurj +module + +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.Hom.InjSurj +public import Mathlib.Algebra.Ring.InjSurj /-! # Transfer algebraic structures across `Equiv`s @@ -14,6 +16,8 @@ import Mathlib.Algebra.Ring.InjSurj This continues the pattern set in `Mathlib/Algebra/Group/TransferInstance.lean`. -/ +@[expose] public section + assert_not_exists Field Module namespace Equiv diff --git a/Mathlib/Algebra/Ring/ULift.lean b/Mathlib/Algebra/Ring/ULift.lean index c0b60659ddcb3c..341081873b8545 100644 --- a/Mathlib/Algebra/Ring/ULift.lean +++ b/Mathlib/Algebra/Ring/ULift.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.ULift -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Data.Int.Cast.Basic +module + +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Data.Int.Cast.Basic /-! # `ULift` instances for ring @@ -17,6 +19,8 @@ This file defines instances for ring, semiring and related structures on `ULift` We also provide `ULift.ringEquiv : ULift R ≃+* R`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Algebra/Ring/Units.lean b/Mathlib/Algebra/Ring/Units.lean index 2c83953268e0d8..5ef62304cc7488 100644 --- a/Mathlib/Algebra/Ring/Units.lean +++ b/Mathlib/Algebra/Ring/Units.lean @@ -3,15 +3,19 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Yury Kudryashov, Neil Strickland -/ -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.Algebra.Ring.Hom.Defs +module + +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.Algebra.Ring.Hom.Defs /-! # Units in semirings and rings -/ +@[expose] public section + universe u v w x diff --git a/Mathlib/Algebra/Ring/WithZero.lean b/Mathlib/Algebra/Ring/WithZero.lean index 25dd019cdf566a..aff7094b70062d 100644 --- a/Mathlib/Algebra/Ring/WithZero.lean +++ b/Mathlib/Algebra/Ring/WithZero.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Mario Carneiro, Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johan Commelin -/ -import Mathlib.Algebra.GroupWithZero.WithZero -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.WithZero +public import Mathlib.Algebra.Ring.Defs /-! # Adjoining a zero to a semiring -/ +@[expose] public section + namespace WithZero variable {α : Type*} diff --git a/Mathlib/Algebra/RingQuot.lean b/Mathlib/Algebra/RingQuot.lean index b756ded51d20a0..84c1dd42d6adfb 100644 --- a/Mathlib/Algebra/RingQuot.lean +++ b/Mathlib/Algebra/RingQuot.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.RingTheory.Congruence.Basic -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.RingTheory.Congruence.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Span /-! # Quotients of semirings @@ -20,6 +22,8 @@ definition, which is made irreducible for this purpose. Since everything runs in parallel for quotients of `R`-algebras, we do that case at the same time. -/ +@[expose] public section + assert_not_exists TrivialStar universe uR uS uT uA u₄ diff --git a/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean b/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean index 0e1a598d6ef062..84118b75e9c889 100644 --- a/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean +++ b/Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 María Inés de Frutos Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos Fernández, Xavier Généreux -/ -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.Algebra.Algebra.NonUnitalHom +module + +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.Algebra.Algebra.NonUnitalHom /-! # Skew Monoid Algebras @@ -27,6 +29,8 @@ yields a not-necessarily-unital, not-necessarily-associative algebra. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean b/Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean index 7286bad064a0e9..08b654f966d6f3 100644 --- a/Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean +++ b/Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Xavier Généreux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos Fernández, Xavier Généreux -/ -import Mathlib.Algebra.SkewMonoidAlgebra.Basic -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.Algebra.Equiv +module + +public import Mathlib.Algebra.SkewMonoidAlgebra.Basic +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.Algebra.Equiv /-! # Lemmas about different kinds of "lifts" to `SkewMonoidAlgebra`. -/ +@[expose] public section + noncomputable section namespace SkewMonoidAlgebra diff --git a/Mathlib/Algebra/SkewMonoidAlgebra/Single.lean b/Mathlib/Algebra/SkewMonoidAlgebra/Single.lean index 37f053f126d14f..fb0002d54e45c8 100644 --- a/Mathlib/Algebra/SkewMonoidAlgebra/Single.lean +++ b/Mathlib/Algebra/SkewMonoidAlgebra/Single.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Xavier Généreux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos Fernández, Xavier Généreux -/ -import Mathlib.Algebra.SkewMonoidAlgebra.Basic +module + +public import Mathlib.Algebra.SkewMonoidAlgebra.Basic /-! # Modifying skew monoid algebra at exactly one point @@ -11,6 +13,8 @@ This file contains basic results on updating/erasing an element of a skew monoid one point of the domain. -/ +@[expose] public section + noncomputable section namespace SkewMonoidAlgebra diff --git a/Mathlib/Algebra/SkewMonoidAlgebra/Support.lean b/Mathlib/Algebra/SkewMonoidAlgebra/Support.lean index c0b50f748a7b7d..aba66628e9b313 100644 --- a/Mathlib/Algebra/SkewMonoidAlgebra/Support.lean +++ b/Mathlib/Algebra/SkewMonoidAlgebra/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Généreux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Généreux, María Inés de Frutos Fernández -/ -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.Algebra.SkewMonoidAlgebra.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.Algebra.SkewMonoidAlgebra.Basic /-! # Lemmas about the support of an element of a skew monoid algebra @@ -12,6 +14,8 @@ import Mathlib.Algebra.SkewMonoidAlgebra.Basic For `f : SkewMonoidAlgebra k G`, `f.support` is the set of all `a ∈ G` such that `f.coeff a ≠ 0`. -/ +@[expose] public section + open scoped Pointwise namespace SkewMonoidAlgebra diff --git a/Mathlib/Algebra/Squarefree/Basic.lean b/Mathlib/Algebra/Squarefree/Basic.lean index 6409c1e5429c86..110ff9fb032a4b 100644 --- a/Mathlib/Algebra/Squarefree/Basic.lean +++ b/Mathlib/Algebra/Squarefree/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity +module + +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity /-! # Squarefree elements of monoids @@ -29,6 +31,8 @@ squarefree, multiplicity -/ +@[expose] public section + variable {R : Type*} diff --git a/Mathlib/Algebra/Star/Basic.lean b/Mathlib/Algebra/Star/Basic.lean index d70854d0b6f070..be14777b6060f9 100644 --- a/Mathlib/Algebra/Star/Basic.lean +++ b/Mathlib/Algebra/Star/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.Group.Invertible.Defs -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.Ring.Aut -import Mathlib.Algebra.Ring.CompTypeclasses -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.SetLike.Basic +module + +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.Group.Invertible.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Ring.Aut +public import Mathlib.Algebra.Ring.CompTypeclasses +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.SetLike.Basic /-! # Star monoids, rings, and modules @@ -31,6 +33,8 @@ Our star rings are actually star non-unital, non-associative, semirings, but of `star_neg : star (-r) = - star r` when the underlying semiring is a ring. -/ +@[expose] public section + assert_not_exists Finset Subgroup Rat.instField universe u v w diff --git a/Mathlib/Algebra/Star/BigOperators.lean b/Mathlib/Algebra/Star/BigOperators.lean index ef3fbd46c12b8e..e9931530d06aee 100644 --- a/Mathlib/Algebra/Star/BigOperators.lean +++ b/Mathlib/Algebra/Star/BigOperators.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Star.Basic -import Mathlib.Algebra.Star.SelfAdjoint +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.Star.SelfAdjoint /-! # Big-operators lemmas about `star` algebraic operations These results are kept separate from `Algebra.Star.Basic` to avoid it needing to import `Finset`. -/ +@[expose] public section + variable {R : Type*} diff --git a/Mathlib/Algebra/Star/CHSH.lean b/Mathlib/Algebra/Star/CHSH.lean index 37bf70da17c6e6..528c3efeb43b05 100644 --- a/Mathlib/Algebra/Star/CHSH.lean +++ b/Mathlib/Algebra/Star/CHSH.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Tactic.LinearCombination -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Data.Real.Sqrt -import Mathlib.Data.Real.Star +module + +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Data.Real.Sqrt +public import Mathlib.Data.Real.Star /-! # The Clauser-Horne-Shimony-Holt inequality and Tsirelson's inequality. @@ -73,6 +75,8 @@ There is a CHSH tuple in 4-by-4 matrices such that -/ +@[expose] public section + universe u diff --git a/Mathlib/Algebra/Star/Center.lean b/Mathlib/Algebra/Star/Center.lean index e6c1379dc882db..c6732be3ffe8d7 100644 --- a/Mathlib/Algebra/Star/Center.lean +++ b/Mathlib/Algebra/Star/Center.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Algebra.Star.Pointwise -import Mathlib.Algebra.Group.Center +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.Star.Pointwise +public import Mathlib.Algebra.Group.Center /-! # `Set.center`, `Set.centralizer` and the `star` operation -/ +@[expose] public section + variable {R : Type*} [Mul R] [StarMul R] {a : R} {s : Set R} theorem Set.star_mem_center (ha : a ∈ Set.center R) : star a ∈ Set.center R where diff --git a/Mathlib/Algebra/Star/CentroidHom.lean b/Mathlib/Algebra/Star/CentroidHom.lean index 9f22c0cd9ebe0e..f9426a4854b033 100644 --- a/Mathlib/Algebra/Star/CentroidHom.lean +++ b/Mathlib/Algebra/Star/CentroidHom.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ +module -import Mathlib.Algebra.Ring.CentroidHom -import Mathlib.Algebra.Star.StarRingHom -import Mathlib.Algebra.Star.Subsemiring -import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.Ring.CentroidHom +public import Mathlib.Algebra.Star.StarRingHom +public import Mathlib.Algebra.Star.Subsemiring +public import Mathlib.Algebra.Star.Basic /-! # Centroid homomorphisms on Star Rings @@ -21,6 +22,8 @@ the semiring into the centre of the centroid becomes a *-homomorphism. centroid -/ +@[expose] public section + variable {α : Type*} namespace CentroidHom diff --git a/Mathlib/Algebra/Star/Conjneg.lean b/Mathlib/Algebra/Star/Conjneg.lean index 08cecd34d25c31..1a982d32a3704b 100644 --- a/Mathlib/Algebra/Star/Conjneg.lean +++ b/Mathlib/Algebra/Star/Conjneg.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Star.Pi -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Star.Pi +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Conjugation-negation operator @@ -16,6 +18,8 @@ The way this operator enters the picture is that the adjoint of convolution with convolution with `conjneg f`. -/ +@[expose] public section + open Function open scoped ComplexConjugate diff --git a/Mathlib/Algebra/Star/Free.lean b/Mathlib/Algebra/Star/Free.lean index 77da51f43b866e..6e80ddb99fea8a 100644 --- a/Mathlib/Algebra/Star/Free.lean +++ b/Mathlib/Algebra/Star/Free.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Algebra.FreeAlgebra +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.FreeAlgebra /-! # A *-algebra structure on the free algebra. @@ -16,6 +18,8 @@ We have this in a separate file, rather than in `Algebra.FreeMonoid` and `Algebr to avoid importing `Algebra.Star.Basic` into the entire hierarchy. -/ +@[expose] public section + namespace FreeMonoid diff --git a/Mathlib/Algebra/Star/Module.lean b/Mathlib/Algebra/Star/Module.lean index b9e2f08131cb44..f4b6294f29db5a 100644 --- a/Mathlib/Algebra/Star/Module.lean +++ b/Mathlib/Algebra/Star/Module.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Frédéric Dupuis -/ -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.LinearMap.Star -import Mathlib.Algebra.Module.Rat -import Mathlib.LinearAlgebra.Prod +module + +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.LinearMap.Star +public import Mathlib.Algebra.Module.Rat +public import Mathlib.LinearAlgebra.Prod /-! # The star operation, bundled as a star-linear equiv @@ -30,6 +32,8 @@ This file also provides some lemmas that need `Algebra.Module.Basic` imported to equivalence. -/ +@[expose] public section + section SMulLemmas diff --git a/Mathlib/Algebra/Star/MonoidHom.lean b/Mathlib/Algebra/Star/MonoidHom.lean index 0739f25e01a9c2..58ba06190e1191 100644 --- a/Mathlib/Algebra/Star/MonoidHom.lean +++ b/Mathlib/Algebra/Star/MonoidHom.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Algebra.Star.Basic /-! # Morphisms of star monoids @@ -24,6 +26,8 @@ a corresponding morphism between the unitary groups in a star monoid. monoid, star -/ +@[expose] public section + variable {F A B C D : Type*} /-! ### Star monoid homomorphisms -/ diff --git a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean index 9b97bc24d4c69d..df4ffa202a8728 100644 --- a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.NonUnitalSubalgebra -import Mathlib.Algebra.Star.StarAlgHom -import Mathlib.Algebra.Star.Center -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Star.Prod +module + +public import Mathlib.Algebra.Algebra.NonUnitalSubalgebra +public import Mathlib.Algebra.Star.StarAlgHom +public import Mathlib.Algebra.Star.Center +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Star.Prod /-! # Non-unital Star Subalgebras @@ -21,6 +23,8 @@ In this file we define `NonUnitalStarSubalgebra`s and the usual operations on th non-unital subalgebra on the larger algebra. -/ +@[expose] public section + namespace StarMemClass /-- If a type carries an involutive star, then any star-closed subset does too. -/ diff --git a/Mathlib/Algebra/Star/NonUnitalSubsemiring.lean b/Mathlib/Algebra/Star/NonUnitalSubsemiring.lean index 5366d7166183e7..2b29abbaccbf3a 100644 --- a/Mathlib/Algebra/Star/NonUnitalSubsemiring.lean +++ b/Mathlib/Algebra/Star/NonUnitalSubsemiring.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Group.Subsemigroup.Basic -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic -import Mathlib.Algebra.Star.Center +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Group.Subsemigroup.Basic +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +public import Mathlib.Algebra.Star.Center /-! # Non-unital Star Subsemirings @@ -19,6 +21,8 @@ This file is heavily inspired by `Mathlib/Algebra/Star/NonUnitalSubalgebra.lean` -/ +@[expose] public section + universe v w w' variable {A : Type v} {B : Type w} {C : Type w'} diff --git a/Mathlib/Algebra/Star/Pi.lean b/Mathlib/Algebra/Star/Pi.lean index 15219c28597cb7..ca4aed45b94deb 100644 --- a/Mathlib/Algebra/Star/Pi.lean +++ b/Mathlib/Algebra/Star/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Algebra.Notation.Pi.Defs -import Mathlib.Algebra.Ring.Pi +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Algebra.Notation.Pi.Defs +public import Mathlib.Algebra.Ring.Pi /-! # Basic Results about Star on Pi Types @@ -14,6 +16,8 @@ This file provides basic results about the star on product types defined in `Mathlib/Algebra/Notation/Pi/Defs.lean`. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Star/Pointwise.lean b/Mathlib/Algebra/Star/Pointwise.lean index d041f3a31fd7fd..82e21191f12911 100644 --- a/Mathlib/Algebra/Star/Pointwise.lean +++ b/Mathlib/Algebra/Star/Pointwise.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise star operation on sets @@ -20,6 +22,8 @@ if `s t : Set α`, then under suitable assumption on `α`, it is shown * `(s⁻¹)⋆ = (s⋆)⁻¹` -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Algebra/Star/Prod.lean b/Mathlib/Algebra/Star/Prod.lean index 463f19c78a181b..d7a82c401e91b5 100644 --- a/Mathlib/Algebra/Star/Prod.lean +++ b/Mathlib/Algebra/Star/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Star.Basic /-! # Basic Results about Star on Product Type @@ -14,6 +16,8 @@ This file provides basic results about the star on product types defined in -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Algebra/Star/Rat.lean b/Mathlib/Algebra/Star/Rat.lean index 927ff6812ec1dd..2ffa05b1726ab7 100644 --- a/Mathlib/Algebra/Star/Rat.lean +++ b/Mathlib/Algebra/Star/Rat.lean @@ -3,15 +3,19 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Field.Opposite -import Mathlib.Algebra.Star.Basic -import Mathlib.Data.NNRat.Defs -import Mathlib.Data.Rat.Cast.Defs +module + +public import Mathlib.Algebra.Field.Opposite +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Data.NNRat.Defs +public import Mathlib.Data.Rat.Cast.Defs /-! # *-ring structure on ℚ and ℚ≥0. -/ +@[expose] public section + instance Rat.instStarRing : StarRing ℚ := starRingOfComm instance NNRat.instStarRing : StarRing ℚ≥0 := starRingOfComm instance Rat.instTrivialStar : TrivialStar ℚ := ⟨fun _ ↦ rfl⟩ diff --git a/Mathlib/Algebra/Star/RingQuot.lean b/Mathlib/Algebra/Star/RingQuot.lean index c8633430a1659d..de34b3d73e9919 100644 --- a/Mathlib/Algebra/Star/RingQuot.lean +++ b/Mathlib/Algebra/Star/RingQuot.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.RingQuot -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Algebra.RingQuot +public import Mathlib.Algebra.Star.Basic /-! # The *-ring structure on suitable quotients of a *-ring. -/ +@[expose] public section + namespace RingQuot universe u diff --git a/Mathlib/Algebra/Star/SelfAdjoint.lean b/Mathlib/Algebra/Star/SelfAdjoint.lean index 31225c2ce58df6..483f52e597879c 100644 --- a/Mathlib/Algebra/Star/SelfAdjoint.lean +++ b/Mathlib/Algebra/Star/SelfAdjoint.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Star.Rat +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Star.Rat /-! # Self-adjoint, skew-adjoint and normal elements of a star additive group @@ -38,6 +40,8 @@ We also define `IsStarNormal R`, a `Prop` that states that an element `x` satisf -/ +@[expose] public section + open Function variable {R A : Type*} diff --git a/Mathlib/Algebra/Star/StarAlgHom.lean b/Mathlib/Algebra/Star/StarAlgHom.lean index ea479592e9e5d6..93974e873b3fbf 100644 --- a/Mathlib/Algebra/Star/StarAlgHom.lean +++ b/Mathlib/Algebra/Star/StarAlgHom.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Algebra.Algebra.NonUnitalHom -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Star.StarRingHom +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Algebra.Algebra.NonUnitalHom +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Star.StarRingHom /-! # Morphisms of star algebras @@ -40,6 +42,8 @@ of unital C⋆-algebras (with `StarAlgHom`s) and of C⋆-algebras (with `NonUnit non-unital, algebra, morphism, star -/ +@[expose] public section + open EquivLike /-! ### Non-unital star algebra homomorphisms -/ diff --git a/Mathlib/Algebra/Star/StarProjection.lean b/Mathlib/Algebra/Star/StarProjection.lean index 74fbaf71c451ba..1efd524c75a7a0 100644 --- a/Mathlib/Algebra/Star/StarProjection.lean +++ b/Mathlib/Algebra/Star/StarProjection.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Group.Idempotent -import Mathlib.Algebra.Ring.Idempotent +module + +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Group.Idempotent +public import Mathlib.Algebra.Ring.Idempotent /-! # Star projections @@ -16,6 +18,8 @@ In star-ordered rings, star projections are non-negative. (See `IsStarProjection.nonneg` in `Mathlib/Algebra/Order/Star/Basic.lean`.) -/ +@[expose] public section + variable {R : Type*} /-- A star projection is a self-adjoint idempotent. -/ diff --git a/Mathlib/Algebra/Star/StarRingHom.lean b/Mathlib/Algebra/Star/StarRingHom.lean index e996d6297439d1..bb1744400ed929 100644 --- a/Mathlib/Algebra/Star/StarRingHom.lean +++ b/Mathlib/Algebra/Star/StarRingHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Star.Basic /-! # Morphisms of star rings @@ -29,6 +31,8 @@ This file is heavily inspired by `Mathlib/Algebra/Star/StarAlgHom.lean`. non-unital, ring, morphism, star -/ +@[expose] public section + open EquivLike /-! ### Non-unital star ring homomorphisms -/ diff --git a/Mathlib/Algebra/Star/Subalgebra.lean b/Mathlib/Algebra/Star/Subalgebra.lean index 6589f881b9ce07..8e8a14509f7abb 100644 --- a/Mathlib/Algebra/Star/Subalgebra.lean +++ b/Mathlib/Algebra/Star/Subalgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Star.Module -import Mathlib.Algebra.Star.NonUnitalSubalgebra +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Star.Module +public import Mathlib.Algebra.Star.NonUnitalSubalgebra /-! # Star subalgebras @@ -16,6 +18,8 @@ A *-subalgebra is a subalgebra of a *-algebra which is closed under *. The centralizer of a *-closed set is a *-subalgebra. -/ +@[expose] public section + universe u v /-- A *-subalgebra is a subalgebra of a *-algebra which is closed under *. -/ diff --git a/Mathlib/Algebra/Star/Subsemiring.lean b/Mathlib/Algebra/Star/Subsemiring.lean index bb78fc1e389b09..f9c016a4fd8fac 100644 --- a/Mathlib/Algebra/Star/Subsemiring.lean +++ b/Mathlib/Algebra/Star/Subsemiring.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Star.NonUnitalSubsemiring -import Mathlib.Algebra.Ring.Subsemiring.Basic +module + +public import Mathlib.Algebra.Star.NonUnitalSubsemiring +public import Mathlib.Algebra.Ring.Subsemiring.Basic /-! # Star subrings @@ -12,6 +14,8 @@ import Mathlib.Algebra.Ring.Subsemiring.Basic A *-subring is a subring of a *-ring which is closed under *. -/ +@[expose] public section + universe v /-- A (unital) star subsemiring is a non-associative ring which is closed under the `star` diff --git a/Mathlib/Algebra/Star/Unitary.lean b/Mathlib/Algebra/Star/Unitary.lean index 74fba62c71eafb..362fc9fb2fc951 100644 --- a/Mathlib/Algebra/Star/Unitary.lean +++ b/Mathlib/Algebra/Star/Unitary.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam, Frédéric Dupuis -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Tactic.ContinuousFunctionalCalculus -import Mathlib.Algebra.Star.MonoidHom -import Mathlib.Algebra.Star.StarProjection +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Algebra.Star.MonoidHom +public import Mathlib.Algebra.Star.StarProjection /-! # Unitary elements of a star monoid @@ -24,6 +26,8 @@ See also `Matrix.UnitaryGroup` for specializations to `unitary (Matrix n n R)`. unitary -/ +@[expose] public section + /-- In a *-monoid, `unitary R` is the submonoid consisting of all the elements `U` of `R` such that `star U * U = 1` and `U * star U = 1`. diff --git a/Mathlib/Algebra/Symmetrized.lean b/Mathlib/Algebra/Symmetrized.lean index 4aa7e36769ca7b..9a6ac8283f9827 100644 --- a/Mathlib/Algebra/Symmetrized.lean +++ b/Mathlib/Algebra/Symmetrized.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Jordan.Basic -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Algebra.Jordan.Basic +public import Mathlib.Algebra.Module.Defs /-! # Symmetrized algebra @@ -31,6 +33,8 @@ See `SymmetricAlgebra` instead if you are looking for the symmetric algebra of a * [Hanche-Olsen and Størmer, Jordan Operator Algebras][hancheolsenstormer1984] -/ +@[expose] public section + open Function diff --git a/Mathlib/Algebra/TrivSqZeroExt.lean b/Mathlib/Algebra/TrivSqZeroExt.lean index 37f8279b787620..9a95aed7d3fb44 100644 --- a/Mathlib/Algebra/TrivSqZeroExt.lean +++ b/Mathlib/Algebra/TrivSqZeroExt.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Eric Wieser -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.LinearAlgebra.Prod -import Mathlib.Algebra.Algebra.Subalgebra.Lattice +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.GroupWithZero.Invertible +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice /-! # Trivial Square-Zero Extension @@ -51,6 +53,8 @@ Many of the later results in this file are only stated for the commutative `R'` -/ +@[expose] public section + universe u v w /-- "Trivial Square-Zero Extension". diff --git a/Mathlib/Algebra/Tropical/Basic.lean b/Mathlib/Algebra/Tropical/Basic.lean index 06c4b01f8f7475..dd9242ccf4a9f5 100644 --- a/Mathlib/Algebra/Tropical/Basic.lean +++ b/Mathlib/Algebra/Tropical/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Order.AddGroupWithTop -import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Ring.Defs -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Order.AddGroupWithTop +public import Mathlib.Algebra.Order.Monoid.Unbundled.MinMax +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Order.Hom.Basic /-! @@ -44,6 +46,8 @@ most references rely on `Semiring (Tropical R)` for building up the whole theory -/ +@[expose] public section + assert_not_exists Nat.instMulOneClass universe u v diff --git a/Mathlib/Algebra/Tropical/BigOperators.lean b/Mathlib/Algebra/Tropical/BigOperators.lean index 7f5c9ae2c4d718..59b1d7d009a8f8 100644 --- a/Mathlib/Algebra/Tropical/BigOperators.lean +++ b/Mathlib/Algebra/Tropical/BigOperators.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.List.MinMax -import Mathlib.Algebra.Tropical.Basic -import Mathlib.Order.ConditionallyCompleteLattice.Finset -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.List.MinMax +public import Mathlib.Algebra.Tropical.Basic +public import Mathlib.Order.ConditionallyCompleteLattice.Finset +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! @@ -31,6 +33,8 @@ directly transfer to minima over multisets or finsets. -/ +@[expose] public section + variable {R S : Type*} open Tropical Finset diff --git a/Mathlib/Algebra/Tropical/Lattice.lean b/Mathlib/Algebra/Tropical/Lattice.lean index de3f3f1ca0c3a5..35a3c6dd15f77c 100644 --- a/Mathlib/Algebra/Tropical/Lattice.lean +++ b/Mathlib/Algebra/Tropical/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Tropical.Basic -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Algebra.Tropical.Basic +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! @@ -24,6 +26,8 @@ constructions quicker to implement. -/ +@[expose] public section + variable {R S : Type*} diff --git a/Mathlib/Algebra/Vertex/HVertexOperator.lean b/Mathlib/Algebra/Vertex/HVertexOperator.lean index 635cf3478736d2..8d2a83b3880041 100644 --- a/Mathlib/Algebra/Vertex/HVertexOperator.lean +++ b/Mathlib/Algebra/Vertex/HVertexOperator.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.RingTheory.HahnSeries.Multiplication +module + +public import Mathlib.RingTheory.HahnSeries.Multiplication /-! # Vertex operators @@ -26,6 +28,8 @@ here allows us to consider composites and scalar-multiply by multivariable Laure -/ +@[expose] public section + assert_not_exists Cardinal noncomputable section diff --git a/Mathlib/Algebra/Vertex/VertexOperator.lean b/Mathlib/Algebra/Vertex/VertexOperator.lean index 2714b8ddb80499..c0b460bfc9400c 100644 --- a/Mathlib/Algebra/Vertex/VertexOperator.lean +++ b/Mathlib/Algebra/Vertex/VertexOperator.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Vertex.HVertexOperator -import Mathlib.Data.Int.Interval +module + +public import Mathlib.Algebra.Vertex.HVertexOperator +public import Mathlib.Data.Int.Interval /-! # Vertex operators @@ -25,6 +27,8 @@ In this file we introduce vertex operators as linear maps to Laurent series. fields*][matsuo1997] -/ +@[expose] public section + noncomputable section variable {R V : Type*} [CommRing R] [AddCommGroup V] [Module R V] diff --git a/Mathlib/AlgebraicGeometry/AffineScheme.lean b/Mathlib/AlgebraicGeometry/AffineScheme.lean index 64fcdc34951305..1509585429757c 100644 --- a/Mathlib/AlgebraicGeometry/AffineScheme.lean +++ b/Mathlib/AlgebraicGeometry/AffineScheme.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Cover.Open -import Mathlib.AlgebraicGeometry.GammaSpecAdjunction -import Mathlib.AlgebraicGeometry.Restrict -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.RingTheory.Localization.InvSubmonoid -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.Topology.Sheaves.CommRingCat -import Mathlib.CategoryTheory.Monad.Limits +module + +public import Mathlib.AlgebraicGeometry.Cover.Open +public import Mathlib.AlgebraicGeometry.GammaSpecAdjunction +public import Mathlib.AlgebraicGeometry.Restrict +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.RingTheory.Localization.InvSubmonoid +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.Topology.Sheaves.CommRingCat +public import Mathlib.CategoryTheory.Monad.Limits /-! # Affine schemes @@ -34,6 +36,8 @@ We also define predicates about affine schemes and affine open sets. -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 noncomputable section diff --git a/Mathlib/AlgebraicGeometry/AffineSpace.lean b/Mathlib/AlgebraicGeometry/AffineSpace.lean index 8f188915b065f5..48821898931881 100644 --- a/Mathlib/AlgebraicGeometry/AffineSpace.lean +++ b/Mathlib/AlgebraicGeometry/AffineSpace.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.MvPolynomial.Monad -import Mathlib.AlgebraicGeometry.Morphisms.Finite -import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation -import Mathlib.RingTheory.Spectrum.Prime.Polynomial -import Mathlib.AlgebraicGeometry.PullbackCarrier +module + +public import Mathlib.Algebra.MvPolynomial.Monad +public import Mathlib.AlgebraicGeometry.Morphisms.Finite +public import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation +public import Mathlib.RingTheory.Spectrum.Prime.Polynomial +public import Mathlib.AlgebraicGeometry.PullbackCarrier /-! # Affine space @@ -24,6 +26,8 @@ import Mathlib.AlgebraicGeometry.PullbackCarrier -/ +@[expose] public section + open CategoryTheory Limits MvPolynomial noncomputable section diff --git a/Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean b/Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean index 447702369c1f17..4e5f01bfc87bdb 100644 --- a/Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean +++ b/Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Christian Merten -/ -import Mathlib.Algebra.Category.Ring.FinitePresentation -import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.CategoryTheory.Filtered.Final -import Mathlib.CategoryTheory.Monad.Limits +module + +public import Mathlib.Algebra.Category.Ring.FinitePresentation +public import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.CategoryTheory.Filtered.Final +public import Mathlib.CategoryTheory.Monad.Limits /-! @@ -18,6 +20,8 @@ following EGA IV 8 and https://stacks.math.columbia.edu/tag/01YT. -/ +@[expose] public section + universe uI u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/Cover/Directed.lean b/Mathlib/AlgebraicGeometry/Cover/Directed.lean index 0373e7f9db36f4..96415032f4c83d 100644 --- a/Mathlib/AlgebraicGeometry/Cover/Directed.lean +++ b/Mathlib/AlgebraicGeometry/Cover/Directed.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.LocallyDirected -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.AlgebraicGeometry.Gluing +module + +public import Mathlib.CategoryTheory.LocallyDirected +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.AlgebraicGeometry.Gluing /-! # Locally directed covers @@ -22,6 +24,8 @@ Many natural covers are naturally directed, most importantly the cover of all af opens of a scheme. -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean b/Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean index df70b3c10d558e..9d5a9a49d220a9 100644 --- a/Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean +++ b/Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Sites.MorphismProperty -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.AlgebraicGeometry.Sites.MorphismProperty +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Covers of schemes @@ -23,6 +25,8 @@ immersions can be used to deduce these assumptions in the general case. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Cover/Open.lean b/Mathlib/AlgebraicGeometry/Cover/Open.lean index 34883d69fc56fe..949a66f1799296 100644 --- a/Mathlib/AlgebraicGeometry/Cover/Open.lean +++ b/Mathlib/AlgebraicGeometry/Cover/Open.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Cover.MorphismProperty +module + +public import Mathlib.AlgebraicGeometry.Cover.MorphismProperty /-! # Open covers of schemes @@ -18,6 +20,8 @@ This file provides the basic API for open covers of schemes. - `AlgebraicGeometry.Scheme.AffineOpenCover`: The type of affine open covers of a scheme `X`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Cover/Over.lean b/Mathlib/AlgebraicGeometry/Cover/Over.lean index 01de50d8d7bcd5..0e06bd55c313b9 100644 --- a/Mathlib/AlgebraicGeometry/Cover/Over.lean +++ b/Mathlib/AlgebraicGeometry/Cover/Over.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap -import Mathlib.CategoryTheory.Limits.MorphismProperty +module + +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +public import Mathlib.CategoryTheory.Limits.MorphismProperty /-! @@ -18,6 +20,8 @@ We provide instances of `𝒰.Over S` for standard constructions on covers. -/ +@[expose] public section + universe v u noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Cover/Sigma.lean b/Mathlib/AlgebraicGeometry/Cover/Sigma.lean index 96d4fc24aeb9b6..653413fe66dd57 100644 --- a/Mathlib/AlgebraicGeometry/Cover/Sigma.lean +++ b/Mathlib/AlgebraicGeometry/Cover/Sigma.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Basic +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Basic /-! # Collapsing covers @@ -11,6 +13,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.Basic We define the endofunctor on `Scheme.Cover P` that collapses a cover to a single object cover. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean index 56599c8ad1daaa..32051bcbe6dcdc 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.Polynomial.Bivariate -import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass -import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange +module + +public import Mathlib.Algebra.Polynomial.Bivariate +public import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass +public import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange deprecated_module (since := "2025-05-03") diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean index 9a81e1e394267c..ff278767fb25a4 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.Polynomial.Bivariate -import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange +module + +public import Mathlib.Algebra.Polynomial.Bivariate +public import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange /-! # Weierstrass equations and the nonsingular condition in affine coordinates @@ -44,6 +46,8 @@ abbreviation for `WeierstrassCurve` that can be converted using `WeierstrassCurv elliptic curve, affine, Weierstrass equation, nonsingular -/ +@[expose] public section + open Polynomial open scoped Polynomial.Bivariate diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean index 8bb48faefd3a17..ff6ad12d787f25 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic /-! # Negation and addition formulae for nonsingular points in affine coordinates @@ -55,6 +57,8 @@ coordinates will be defined in `Mathlib/AlgebraicGeometry/EllipticCurve/Affine/P elliptic curve, affine, negation, doubling, addition, group law -/ +@[expose] public section + open Polynomial open scoped Polynomial.Bivariate diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean index 0ca16256092c4c..ed3f81aa0c8fae 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula -import Mathlib.LinearAlgebra.FreeModule.Norm -import Mathlib.RingTheory.ClassGroup -import Mathlib.RingTheory.Polynomial.UniqueFactorization +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula +public import Mathlib.LinearAlgebra.FreeModule.Norm +public import Mathlib.RingTheory.ClassGroup +public import Mathlib.RingTheory.Polynomial.UniqueFactorization /-! # Nonsingular points and the group law in affine coordinates @@ -62,6 +64,8 @@ This file defines the group law on nonsingular points `W⟮F⟯` in affine coord elliptic curve, affine, point, group law, class group -/ +@[expose] public section + open FractionalIdeal (coeIdeal_mul) open Ideal hiding map_mul diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean index 9f46d90d21858c..c3e9c4f3a8391b 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point -import Mathlib.NumberTheory.EllipticDivisibilitySequence +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point +public import Mathlib.NumberTheory.EllipticDivisibilitySequence /-! # Division polynomials of Weierstrass curves @@ -89,6 +91,8 @@ TODO: implementation notes for the definition of `ωₙ`. elliptic curve, division polynomial, torsion point -/ +@[expose] public section + open Polynomial open scoped Polynomial.Bivariate diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean index d871efa4ca429d..ccb912570127f7 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic -import Mathlib.Tactic.ComputeDegree +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.DivisionPolynomial.Basic +public import Mathlib.Tactic.ComputeDegree /-! # Division polynomials of Weierstrass curves @@ -48,6 +50,8 @@ polynomials `preΨₙ`, `ΨSqₙ`, and `Φₙ` all have their expected leading t elliptic curve, division polynomial, torsion point -/ +@[expose] public section + open Polynomial universe u diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean index 86afcd8fa41c52..90b7ace766fbe0 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ +module -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point deprecated_module (since := "2025-05-07") diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean index 85d2c4403a48dd..9da0a826419b9e 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.NormalForms -import Mathlib.FieldTheory.IsSepClosed +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.NormalForms +public import Mathlib.FieldTheory.IsSepClosed /-! @@ -18,6 +20,8 @@ import Mathlib.FieldTheory.IsSepClosed -/ +@[expose] public section + open Polynomial variable {F : Type*} [Field F] [IsSepClosed F] diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean index 40a86efd1e6615..fbe5cc4cb7e856 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.Tactic.Ring.NamePolyVars +module + +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.Tactic.Ring.NamePolyVars /-! # Weierstrass equations and the nonsingular condition in Jacobian coordinates @@ -67,6 +69,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean`. elliptic curve, Jacobian, Weierstrass equation, nonsingular -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean index d6460b37c30bba..ccc7d0d47b9b10 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic /-! # Negation and addition formulae for nonsingular points in Jacobian coordinates @@ -56,6 +58,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean`. elliptic curve, Jacobian, negation, doubling, addition, group law -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean index ffc57522e5ef8d..87446411ab0eb5 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point -import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Formula /-! # Nonsingular points and the group law in Jacobian coordinates @@ -59,6 +61,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean`. elliptic curve, Jacobian, point, group law -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/ModelsWithJ.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/ModelsWithJ.lean index 019c5b9e92d86c..01b53153c32355 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/ModelsWithJ.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/ModelsWithJ.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass /-! # Models of elliptic curves with prescribed j-invariant @@ -32,6 +34,8 @@ It is a modification of [silverman2009], Chapter III, Proposition 1.4 (c). elliptic curve, weierstrass equation, j invariant -/ +@[expose] public section + namespace WeierstrassCurve variable (R : Type*) [CommRing R] (W : WeierstrassCurve R) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean index 752ffbd9f12614..294a9ebfcb05d9 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange -import Mathlib.Algebra.CharP.Defs +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange +public import Mathlib.Algebra.CharP.Defs /-! @@ -92,6 +94,8 @@ elliptic curve, weierstrass equation, normal form -/ +@[expose] public section + variable {R : Type*} [CommRing R] {F : Type*} [Field F] (W : WeierstrassCurve R) namespace WeierstrassCurve diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean index 0d6e124beeb252..12b6f8ba6333ce 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.Tactic.Ring.NamePolyVars +module + +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Basic +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.Tactic.Ring.NamePolyVars /-! # Weierstrass equations and the nonsingular condition in projective coordinates @@ -67,6 +69,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean`. elliptic curve, projective, Weierstrass equation, nonsingular -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean index 80a4d5cd482695..6b2620a8146ccc 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula -import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Formula +public import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic /-! # Negation and addition formulae for nonsingular points in projective coordinates @@ -57,6 +59,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean`. elliptic curve, projective, negation, doubling, addition, group law -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean index 72f0c125d33525..7029f4918ce2e9 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point -import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Affine.Point +public import Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula /-! # Nonsingular points and the group law in projective coordinates @@ -59,6 +61,8 @@ mirrored in `Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean`. elliptic curve, projective, point, group law -/ +@[expose] public section + local notation3 "x" => (0 : Fin 3) local notation3 "y" => (1 : Fin 3) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean index 74cb5c39fa4594..2d09f624daf83e 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Bryan Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bryan Wang -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.Valuation.Discrete.Basic -import Mathlib.GroupTheory.ArchimedeanDensely +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.VariableChange +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.Valuation.Discrete.Basic +public import Mathlib.GroupTheory.ArchimedeanDensely /-! # Reduction of Weierstrass curves over local fields @@ -42,6 +44,8 @@ fraction fields of discrete valuation rings. elliptic curve, weierstrass equation, minimal weierstrass equation, reduction -/ +@[expose] public section + namespace WeierstrassCurve section Integral diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean index b37b03146e6193..2d318cc6cea186 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, David Kurniadi Angdinata, Jz Pan -/ -import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass +module + +public import Mathlib.AlgebraicGeometry.EllipticCurve.Weierstrass /-! # Change of variables of Weierstrass curves @@ -31,6 +33,8 @@ This file defines admissible linear change of variables of Weierstrass curves. elliptic curve, weierstrass equation, change of variables -/ +@[expose] public section + local macro "map_simp" : tactic => `(tactic| simp only [map_ofNat, map_neg, map_add, map_sub, map_mul, map_pow]) diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean index e02bb1a9dd8bf3..07c050d9416c45 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, David Kurniadi Angdinata -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.CubicDiscriminant -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.CubicDiscriminant +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.LinearCombination /-! # Weierstrass equations of elliptic curves @@ -62,6 +64,8 @@ which are not globally defined by a cubic equation valid over the entire base. elliptic curve, weierstrass equation, j invariant -/ +@[expose] public section + local macro "map_simp" : tactic => `(tactic| simp only [map_ofNat, map_neg, map_add, map_sub, map_mul, map_pow]) diff --git a/Mathlib/AlgebraicGeometry/Fiber.lean b/Mathlib/AlgebraicGeometry/Fiber.lean index 1e125d94b22ee8..8fbc411cd600a9 100644 --- a/Mathlib/AlgebraicGeometry/Fiber.lean +++ b/Mathlib/AlgebraicGeometry/Fiber.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.AlgebraicGeometry.Morphisms.Finite -import Mathlib.RingTheory.Spectrum.Prime.Jacobson +module + +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.AlgebraicGeometry.Morphisms.Finite +public import Mathlib.RingTheory.Spectrum.Prime.Jacobson /-! # Scheme-theoretic fiber @@ -18,6 +20,8 @@ import Mathlib.RingTheory.Spectrum.Prime.Jacobson -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/AlgebraicGeometry/FunctionField.lean b/Mathlib/AlgebraicGeometry/FunctionField.lean index 9479815d309e20..088fde9d931712 100644 --- a/Mathlib/AlgebraicGeometry/FunctionField.lean +++ b/Mathlib/AlgebraicGeometry/FunctionField.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Properties +module + +public import Mathlib.AlgebraicGeometry.Properties /-! # Function field of integral schemes @@ -17,6 +19,8 @@ This is a field when the scheme is integral. function field. This map is injective. -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean b/Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean index c875dd12fe8baa..b1d3a2556c742e 100644 --- a/Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean +++ b/Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.AlgebraicGeometry.Restrict -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Adjunction.Opposites -import Mathlib.CategoryTheory.Adjunction.Reflective +module + +public import Mathlib.AlgebraicGeometry.Restrict +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Adjunction.Opposites +public import Mathlib.CategoryTheory.Adjunction.Reflective /-! # Adjunction between `Γ` and `Spec` @@ -31,6 +33,8 @@ case the unit and the counit would switch to each other. -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/Gluing.lean b/Mathlib/AlgebraicGeometry/Gluing.lean index f91215cbb2ac47..c46766efe4956d 100644 --- a/Mathlib/AlgebraicGeometry/Gluing.lean +++ b/Mathlib/AlgebraicGeometry/Gluing.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Restrict -import Mathlib.CategoryTheory.LocallyDirected -import Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing +module + +public import Mathlib.AlgebraicGeometry.Restrict +public import Mathlib.CategoryTheory.LocallyDirected +public import Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing /-! # Gluing Schemes @@ -49,6 +51,8 @@ presheafed spaces, sheafed spaces, and locally ringed spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/GluingOneHypercover.lean b/Mathlib/AlgebraicGeometry/GluingOneHypercover.lean index 46cbf373fae350..ae6b5d6ed43041 100644 --- a/Mathlib/AlgebraicGeometry/GluingOneHypercover.lean +++ b/Mathlib/AlgebraicGeometry/GluingOneHypercover.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Joël Riou, Ravi Vakil -/ -import Mathlib.AlgebraicGeometry.Gluing -import Mathlib.AlgebraicGeometry.Sites.BigZariski -import Mathlib.CategoryTheory.Sites.Hypercover.One +module + +public import Mathlib.AlgebraicGeometry.Gluing +public import Mathlib.AlgebraicGeometry.Sites.BigZariski +public import Mathlib.CategoryTheory.Sites.Hypercover.One /-! # The 1-hypercover of a glue data @@ -22,6 +24,8 @@ This contribution was created as part of the AIM workshop -/ +@[expose] public section + universe v u open CategoryTheory Opposite Limits diff --git a/Mathlib/AlgebraicGeometry/IdealSheaf.lean b/Mathlib/AlgebraicGeometry/IdealSheaf.lean index 3b18b296ee5ad2..52c5032027f5e8 100644 --- a/Mathlib/AlgebraicGeometry/IdealSheaf.lean +++ b/Mathlib/AlgebraicGeometry/IdealSheaf.lean @@ -3,6 +3,8 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme +module + +public import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme deprecated_module (since := "2025-04-13") diff --git a/Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean b/Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean index e91048a2e72734..eb95b4cccb8014 100644 --- a/Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean +++ b/Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact -import Mathlib.AlgebraicGeometry.Properties +module + +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact +public import Mathlib.AlgebraicGeometry.Properties /-! # Ideal sheaves on schemes @@ -40,6 +42,8 @@ into mathlib. -/ +@[expose] public section + open CategoryTheory TopologicalSpace universe u diff --git a/Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean b/Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean index 9775de76c8852b..b0d7fa3e9a6934 100644 --- a/Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean +++ b/Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion -import Mathlib.AlgebraicGeometry.PullbackCarrier +module + +public import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion +public import Mathlib.AlgebraicGeometry.PullbackCarrier /-! # Functorial constructions of ideal sheaves @@ -19,6 +21,8 @@ We define the pullback and pushforward of ideal sheaves in this file. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean b/Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean index 8539f7f90e195a..c40851b5f452de 100644 --- a/Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean +++ b/Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion -import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated -import Mathlib.AlgebraicGeometry.IdealSheaf.Basic -import Mathlib.CategoryTheory.Adjunction.Opposites +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated +public import Mathlib.AlgebraicGeometry.IdealSheaf.Basic +public import Mathlib.CategoryTheory.Adjunction.Opposites /-! # Subscheme associated to an ideal sheaf @@ -27,6 +29,8 @@ Some instances are in `Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion` and -/ +@[expose] public section + open CategoryTheory TopologicalSpace PrimeSpectrum Limits universe u diff --git a/Mathlib/AlgebraicGeometry/Limits.lean b/Mathlib/AlgebraicGeometry/Limits.lean index 0270920387a477..8799e2f76f321c 100644 --- a/Mathlib/AlgebraicGeometry/Limits.lean +++ b/Mathlib/AlgebraicGeometry/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.AlgebraicGeometry.Pullbacks -import Mathlib.AlgebraicGeometry.AffineScheme +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.AlgebraicGeometry.Pullbacks +public import Mathlib.AlgebraicGeometry.AffineScheme /-! # (Co)Limits of Schemes @@ -25,6 +27,8 @@ We construct various limits and colimits in the category of schemes. -/ +@[expose] public section + suppress_compilation diff --git a/Mathlib/AlgebraicGeometry/Modules/Presheaf.lean b/Mathlib/AlgebraicGeometry/Modules/Presheaf.lean index 676691e467bfd0..80f4537bcd3e1c 100644 --- a/Mathlib/AlgebraicGeometry/Modules/Presheaf.lean +++ b/Mathlib/AlgebraicGeometry/Modules/Presheaf.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.ModuleCat.Presheaf -import Mathlib.AlgebraicGeometry.Scheme -import Mathlib.CategoryTheory.Sites.Whiskering +module + +public import Mathlib.Algebra.Category.ModuleCat.Presheaf +public import Mathlib.AlgebraicGeometry.Scheme +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # The category of presheaves of modules over a scheme @@ -18,6 +20,8 @@ of rings of `X`. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/Modules/Sheaf.lean b/Mathlib/AlgebraicGeometry/Modules/Sheaf.lean index 77ae709c68df48..12b53282243ebe 100644 --- a/Mathlib/AlgebraicGeometry/Modules/Sheaf.lean +++ b/Mathlib/AlgebraicGeometry/Modules/Sheaf.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian -import Mathlib.AlgebraicGeometry.Modules.Presheaf +public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian +public import Mathlib.AlgebraicGeometry.Modules.Presheaf /-! # The category of sheaves of modules over a scheme @@ -15,6 +16,8 @@ In this file, we define the abelian category of sheaves of modules -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/Modules/Tilde.lean b/Mathlib/AlgebraicGeometry/Modules/Tilde.lean index f879d7a199d075..874504b3dc03b4 100644 --- a/Mathlib/AlgebraicGeometry/Modules/Tilde.lean +++ b/Mathlib/AlgebraicGeometry/Modules/Tilde.lean @@ -3,13 +3,14 @@ Copyright (c) 2024 Weihong Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Johan Commelin, Amelia Livingston, Sophie Morel, Jujian Zhang, Weihong Xu -/ +module -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.AlgebraicGeometry.StructureSheaf -import Mathlib.AlgebraicGeometry.Modules.Sheaf -import Mathlib.Algebra.Category.ModuleCat.Sheaf -import Mathlib.Algebra.Category.ModuleCat.FilteredColimits -import Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.AlgebraicGeometry.StructureSheaf +public import Mathlib.AlgebraicGeometry.Modules.Sheaf +public import Mathlib.Algebra.Category.ModuleCat.Sheaf +public import Mathlib.Algebra.Category.ModuleCat.FilteredColimits +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.WithAlgebraicStructures /-! @@ -33,6 +34,8 @@ applying a forgetful functor to `ModuleCat.tilde M`. -/ +@[expose] public section + universe u open TopCat AlgebraicGeometry TopologicalSpace CategoryTheory Opposite diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Affine.lean b/Mathlib/AlgebraicGeometry/Morphisms/Affine.lean index 4116f64e1f6837..4b30b32cf9b8ed 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Affine.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Affine.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated -import Mathlib.AlgebraicGeometry.Morphisms.IsIso +module + +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated +public import Mathlib.AlgebraicGeometry.Morphisms.IsIso /-! @@ -28,6 +30,8 @@ We also provide the instance `HasAffineProperty @IsAffineHom fun X _ _ _ ↦ IsA -/ +@[expose] public section + universe v u open CategoryTheory Limits TopologicalSpace Opposite diff --git a/Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean b/Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean index 55ea7f0d694cd2..24409137d594b8 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Affine -import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Affine +public import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties /-! # Affine morphisms with additional ring hom property @@ -22,6 +24,8 @@ Typical examples of this are affine morphisms (where `Q` is trivial), finite mor -/ +@[expose] public section + universe v u open CategoryTheory TopologicalSpace Opposite MorphismProperty diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Basic.lean b/Mathlib/AlgebraicGeometry/Morphisms/Basic.lean index 31c4e6eaf18930..e89ed8fc3a12db 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Basic.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.AlgebraicGeometry.Pullbacks -import Mathlib.CategoryTheory.MorphismProperty.Local -import Mathlib.Data.List.TFAE +module + +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.AlgebraicGeometry.Pullbacks +public import Mathlib.CategoryTheory.MorphismProperty.Local +public import Mathlib.Data.List.TFAE /-! # Properties of morphisms between Schemes @@ -96,6 +98,8 @@ for the respective local property of morphism properties defined generally for c with a `Precoverage`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean b/Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean index c4b2437287539b..50c2575c14abfa 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Jonas van der Schaaf. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Christian Merten, Jonas van der Schaaf -/ -import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme -import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd -import Mathlib.AlgebraicGeometry.Morphisms.FiniteType -import Mathlib.AlgebraicGeometry.ResidueField -import Mathlib.CategoryTheory.MorphismProperty.Comma +module + +public import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme +public import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd +public import Mathlib.AlgebraicGeometry.Morphisms.FiniteType +public import Mathlib.AlgebraicGeometry.ResidueField +public import Mathlib.CategoryTheory.MorphismProperty.Comma /-! @@ -29,6 +31,8 @@ is a closed immersion and the induced morphisms of stalks are all surjective. -/ +@[expose] public section + universe v u open CategoryTheory Opposite TopologicalSpace Topology diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean b/Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean index fe2a6f9cdb7271..6e748aca05b9bf 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Basic -import Mathlib.RingTheory.RingHomProperties +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Basic +public import Mathlib.RingTheory.RingHomProperties /-! @@ -30,6 +32,8 @@ types of properties. -/ +@[expose] public section + universe u v w open TopologicalSpace CategoryTheory CategoryTheory.Limits Opposite diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Descent.lean b/Mathlib/AlgebraicGeometry/Morphisms/Descent.lean index 4869e3b2aca723..45ba4a85fdaa1f 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Descent.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Descent.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd -import Mathlib.AlgebraicGeometry.Morphisms.LocalIso -import Mathlib.CategoryTheory.MorphismProperty.Descent +module + +public import Mathlib.AlgebraicGeometry.Morphisms.AffineAnd +public import Mathlib.AlgebraicGeometry.Morphisms.LocalIso +public import Mathlib.CategoryTheory.MorphismProperty.Descent /-! # Descent of morphism properties @@ -28,6 +30,8 @@ that `P` descends along `P'` from a codescent property of ring homomorphisms. -/ +@[expose] public section + universe u v open TensorProduct CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Etale.lean b/Mathlib/AlgebraicGeometry/Morphisms/Etale.lean index e6dd1bc2945faa..8dfc1ce8a94600 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Etale.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Etale.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Smooth -import Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.RingTheory.Smooth.StandardSmoothCotangent -import Mathlib.CategoryTheory.Limits.MorphismProperty +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Smooth +public import Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.RingTheory.Smooth.StandardSmoothCotangent +public import Mathlib.CategoryTheory.Limits.MorphismProperty /-! @@ -18,6 +20,8 @@ also define the category of schemes étale over `X`. -/ +@[expose] public section + universe t u universe u₂ u₁ v₂ v₁ diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Finite.lean b/Mathlib/AlgebraicGeometry/Morphisms/Finite.lean index af0a716657d376..4d91c3a35c2d03 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Finite.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Integral -import Mathlib.Algebra.Category.Ring.Epi +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Integral +public import Mathlib.Algebra.Category.Ring.Epi /-! @@ -21,6 +23,8 @@ Also see `AlgebraicGeometry.IsFinite.finite_preimage_singleton` in -/ +@[expose] public section + universe v u open CategoryTheory TopologicalSpace Opposite MorphismProperty diff --git a/Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean b/Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean index 070af803359de5..c0548097c6eaad 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.FiniteType -import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated -import Mathlib.AlgebraicGeometry.Properties -import Mathlib.RingTheory.RingHom.FinitePresentation -import Mathlib.RingTheory.Spectrum.Prime.Chevalley +module + +public import Mathlib.AlgebraicGeometry.Morphisms.FiniteType +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated +public import Mathlib.AlgebraicGeometry.Properties +public import Mathlib.RingTheory.RingHom.FinitePresentation +public import Mathlib.RingTheory.Spectrum.Prime.Chevalley /-! @@ -24,6 +26,8 @@ We show that these properties are local, and are stable under compositions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean b/Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean index c24679dec89311..526d169d4e68fc 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties -import Mathlib.RingTheory.RingHom.FiniteType -import Mathlib.RingTheory.Spectrum.Prime.Jacobson +module + +public import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties +public import Mathlib.RingTheory.RingHom.FiniteType +public import Mathlib.RingTheory.Spectrum.Prime.Jacobson /-! # Morphisms of finite type @@ -19,6 +21,8 @@ We show that these properties are local, and are stable under compositions and b -/ +@[expose] public section + noncomputable section open CategoryTheory CategoryTheory.Limits Opposite TopologicalSpace diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Flat.lean b/Mathlib/AlgebraicGeometry/Morphisms/Flat.lean index b3a9a3a98a6ed7..8b7ce3c1ec2506 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Flat.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Flat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Affine -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.RingTheory.RingHom.FaithfullyFlat +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Affine +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.RingTheory.RingHom.FaithfullyFlat /-! # Flat morphisms @@ -18,6 +20,8 @@ We show that this property is local, and are stable under compositions and base -/ +@[expose] public section + noncomputable section open CategoryTheory CategoryTheory.Limits Opposite TopologicalSpace diff --git a/Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean b/Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean index 3dbaadf1099548..20510b3b8016c0 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/FormallyUnramified.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.RingTheory.Ideal.IdempotentFG -import Mathlib.RingTheory.RingHom.Unramified +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.RingTheory.Ideal.IdempotentFG +public import Mathlib.RingTheory.RingHom.Unramified /-! # Formally unramified morphisms @@ -17,6 +19,8 @@ We show that these properties are local, and are stable under compositions and b -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean b/Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean index 45f8610c074a39..5eabd31b536863 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial /-! @@ -25,6 +27,8 @@ if and only if it can be factored into a closed immersion followed by an open im -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Integral.lean b/Mathlib/AlgebraicGeometry/Morphisms/Integral.lean index 758fc7c2f91e02..4ee64b8e450e6f 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Integral.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Integral.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.AlgebraicGeometry.Morphisms.UniversallyClosed -import Mathlib.RingTheory.RingHom.Integral +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.AlgebraicGeometry.Morphisms.UniversallyClosed +public import Mathlib.RingTheory.RingHom.Integral /-! @@ -19,6 +21,8 @@ and the induced ring map is integral. -/ +@[expose] public section + universe v u open CategoryTheory TopologicalSpace Opposite MorphismProperty diff --git a/Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean b/Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean index f279fb47423d47..a2b50e67db644c 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.OpenImmersion +module + +public import Mathlib.AlgebraicGeometry.Morphisms.OpenImmersion /-! @@ -11,6 +13,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.OpenImmersion -/ +@[expose] public section + open CategoryTheory MorphismProperty namespace AlgebraicGeometry diff --git a/Mathlib/AlgebraicGeometry/Morphisms/LocalClosure.lean b/Mathlib/AlgebraicGeometry/Morphisms/LocalClosure.lean index eb6cb8a69d58fb..28df4a82fa3a34 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/LocalClosure.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/LocalClosure.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Basic +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Basic /-! # Local closure of morphism properties @@ -12,6 +14,8 @@ We define the source local closure of a property `P` w.r.t. a morphism property inherits stability properties from `P`. -/ +@[expose] public section + universe u open CategoryTheory Limits MorphismProperty diff --git a/Mathlib/AlgebraicGeometry/Morphisms/LocalIso.lean b/Mathlib/AlgebraicGeometry/Morphisms/LocalIso.lean index 31e9a224a271eb..dd5efe00ddebb2 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/LocalIso.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/LocalIso.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.LocalClosure +module + +public import Mathlib.AlgebraicGeometry.Morphisms.LocalClosure /-! # Local isomorphisms @@ -11,6 +13,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.LocalClosure A local isomorphism of schemes is a morphism that is source-locally an open immersion. -/ +@[expose] public section + universe u open CategoryTheory MorphismProperty diff --git a/Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean b/Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean index 9ced350525b94d..ca5130a2841b45 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +module + +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap /-! @@ -17,6 +19,8 @@ remaining theorems analogous to other lemmas in `AlgebraicGeometry/Morphisms/*`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean b/Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean index 0663359085bd4b..abafe71ecb9fea 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap -import Mathlib.AlgebraicGeometry.Morphisms.SurjectiveOnStalks +module + +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +public import Mathlib.AlgebraicGeometry.Morphisms.SurjectiveOnStalks /-! @@ -17,6 +19,8 @@ in the literature but it is useful for generalizing results on immersions to oth -/ +@[expose] public section + universe v u open CategoryTheory Topology diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Proper.lean b/Mathlib/AlgebraicGeometry/Morphisms/Proper.lean index 241eb874ec197a..27278f5aa66a0e 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Proper.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Proper.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Separated -import Mathlib.AlgebraicGeometry.Morphisms.Finite +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Separated +public import Mathlib.AlgebraicGeometry.Morphisms.Finite /-! @@ -22,6 +24,8 @@ Note that we don't require quasi-compact, since this is implied by universally c -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean b/Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean index ae129ff90afbd6..ea2078154f7186 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap -import Mathlib.Topology.Spectral.Hom -import Mathlib.AlgebraicGeometry.Limits +module + +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +public import Mathlib.Topology.Spectral.Hom +public import Mathlib.AlgebraicGeometry.Limits /-! # Quasi-compact morphisms @@ -18,6 +20,8 @@ It suffices to check that preimages of affine open sets are compact -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean b/Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean index 6fcea593c04839..7976ce38e02684 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Constructors -import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer -import Mathlib.Topology.QuasiSeparated -import Mathlib.Topology.Sheaves.CommRingCat +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Constructors +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiCompact +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer +public import Mathlib.Topology.QuasiSeparated +public import Mathlib.Topology.Sheaves.CommRingCat /-! # Quasi-separated morphisms @@ -29,6 +31,8 @@ and is stable under compositions and base-changes. -/ +@[expose] public section + noncomputable section open CategoryTheory CategoryTheory.Limits Opposite TopologicalSpace diff --git a/Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean b/Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean index 0879bc509237be..460a7a11f28079 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Constructors -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.RingHom.Locally +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Constructors +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.RingHom.Locally /-! @@ -56,6 +58,8 @@ We also provide the instances `P.IsMultiplicative`, `P.IsStableUnderComposition` -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 universe u diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Separated.lean b/Mathlib/AlgebraicGeometry/Morphisms/Separated.lean index 5128e227de2189..71fc5957d5cd59 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Separated.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Separated.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic -import Mathlib.CategoryTheory.Limits.Constructions.Over.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer +module + +public import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer /-! @@ -22,6 +24,8 @@ A morphism of schemes is separated if its diagonal morphism is a closed immersio A morphism is separated iff the preimage of affine opens are separated schemes. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean b/Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean index 56c8f9265545b7..7793db16a641e8 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties -import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation -import Mathlib.RingTheory.RingHom.StandardSmooth +module + +public import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties +public import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation +public import Mathlib.RingTheory.RingHom.StandardSmooth /-! @@ -36,6 +38,8 @@ June 2024. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean b/Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean index 808ec8f34eb8db..c9448c6a92f197 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties -import Mathlib.RingTheory.RingHom.Surjective -import Mathlib.RingTheory.Spectrum.Prime.TensorProduct -import Mathlib.Topology.LocalAtTarget +module + +public import Mathlib.AlgebraicGeometry.Morphisms.RingHomProperties +public import Mathlib.RingTheory.RingHom.Surjective +public import Mathlib.RingTheory.Spectrum.Prime.TensorProduct +public import Mathlib.Topology.LocalAtTarget /-! # Morphisms surjective on stalks @@ -19,6 +21,8 @@ if `Y ⟶ S` is surjective on stalks, then for every `X ⟶ S`, `X ×ₛ Y` is a `X × Y` (Cartesian product as topological spaces) with the induced topology. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits Topology namespace AlgebraicGeometry diff --git a/Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean b/Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean index 81109ee95a4599..0876a50b459d40 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.LocalAtTarget -import Mathlib.AlgebraicGeometry.Morphisms.Constructors +module + +public import Mathlib.Topology.LocalAtTarget +public import Mathlib.AlgebraicGeometry.Morphisms.Constructors /-! @@ -25,6 +27,8 @@ of the underlying map of topological spaces, including -/ +@[expose] public section + open CategoryTheory Topology TopologicalSpace namespace AlgebraicGeometry diff --git a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean index badabb8756a8bf..77717859b25d97 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.Topology.LocalAtTarget +module + +public import Mathlib.AlgebraicGeometry.Morphisms.ClosedImmersion +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.Topology.LocalAtTarget /-! # Universally closed morphism @@ -19,6 +21,8 @@ base changes. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyInjective.lean b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyInjective.lean index 4ee315f15648ce..01c2711a105953 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyInjective.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyInjective.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.Topology.LocalAtTarget +module + +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.Topology.LocalAtTarget /-! # Universally injective morphism @@ -23,6 +25,8 @@ compositions and base changes. -/ +@[expose] public section + noncomputable section open CategoryTheory CategoryTheory.Limits Opposite TopologicalSpace diff --git a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean index d97af433857534..da45d9b3236ec0 100644 --- a/Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean +++ b/Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation -import Mathlib.AlgebraicGeometry.Morphisms.Flat -import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap -import Mathlib.RingTheory.Spectrum.Prime.Chevalley +module + +public import Mathlib.AlgebraicGeometry.Morphisms.FinitePresentation +public import Mathlib.AlgebraicGeometry.Morphisms.Flat +public import Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap +public import Mathlib.RingTheory.Spectrum.Prime.Chevalley /-! # Universally open morphism @@ -19,6 +21,8 @@ base changes. -/ +@[expose] public section + noncomputable section open CategoryTheory CategoryTheory.Limits Opposite TopologicalSpace diff --git a/Mathlib/AlgebraicGeometry/Noetherian.lean b/Mathlib/AlgebraicGeometry/Noetherian.lean index 656133981b617e..f50c5b83bfe44e 100644 --- a/Mathlib/AlgebraicGeometry/Noetherian.lean +++ b/Mathlib/AlgebraicGeometry/Noetherian.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Geno Racklin Asher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geno Racklin Asher -/ -import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated -import Mathlib.RingTheory.Localization.Submodule -import Mathlib.RingTheory.Spectrum.Prime.Noetherian +module + +public import Mathlib.AlgebraicGeometry.Morphisms.QuasiSeparated +public import Mathlib.RingTheory.Localization.Submodule +public import Mathlib.RingTheory.Spectrum.Prime.Noetherian /-! # Noetherian and Locally Noetherian Schemes @@ -42,6 +44,8 @@ giving definitions, equivalent conditions, and basic properties. -/ +@[expose] public section + universe u v open Opposite AlgebraicGeometry Localization IsLocalization TopologicalSpace CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/OpenImmersion.lean b/Mathlib/AlgebraicGeometry/OpenImmersion.lean index d1dbbe96357ec9..2d45935175d545 100644 --- a/Mathlib/AlgebraicGeometry/OpenImmersion.lean +++ b/Mathlib/AlgebraicGeometry/OpenImmersion.lean @@ -3,16 +3,20 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Geometry.RingedSpace.OpenImmersion -import Mathlib.AlgebraicGeometry.Scheme -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.Geometry.RingedSpace.OpenImmersion +public import Mathlib.AlgebraicGeometry.Scheme +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Open immersions of schemes -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/Over.lean b/Mathlib/AlgebraicGeometry/Over.lean index 8271be17df00d1..67989f2a9bd493 100644 --- a/Mathlib/AlgebraicGeometry/Over.lean +++ b/Mathlib/AlgebraicGeometry/Over.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Scheme -import Mathlib.CategoryTheory.Comma.Over.OverClass +module + +public import Mathlib.AlgebraicGeometry.Scheme +public import Mathlib.CategoryTheory.Comma.Over.OverClass /-! # Typeclasses for `S`-schemes and `S`-morphisms @@ -18,6 +20,8 @@ We define these as thin wrappers around `CategoryTheory/Comma/OverClass`. -/ +@[expose] public section + namespace AlgebraicGeometry.Scheme universe u diff --git a/Mathlib/AlgebraicGeometry/PointsPi.lean b/Mathlib/AlgebraicGeometry/PointsPi.lean index 268f54efa3e843..21c044af28ea59 100644 --- a/Mathlib/AlgebraicGeometry/PointsPi.lean +++ b/Mathlib/AlgebraicGeometry/PointsPi.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Immersion +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Immersion /-! @@ -14,6 +16,8 @@ is injective and surjective under various assumptions. -/ +@[expose] public section + open CategoryTheory Limits PrimeSpectrum namespace AlgebraicGeometry diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean index 5e229356fb0fad..940674ae16ff52 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Scheme -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.AlgebraicGeometry.Gluing +module + +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Scheme +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.AlgebraicGeometry.Gluing /-! @@ -31,6 +33,8 @@ In this file we provide basic properties of the scheme. -/ +@[expose] public section + namespace AlgebraicGeometry.Proj open HomogeneousLocalization CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean index 313979a57376cb..2aef5ee0c28730 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Patience Ablett, Kevin Buzzard, Harald Carlens, Wayne Ng Kwing King, Michael Schlößer, Justus Springer, Andrew Yang, Jujian Zhang -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Basic -import Mathlib.AlgebraicGeometry.ValuativeCriterion +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Basic +public import Mathlib.AlgebraicGeometry.ValuativeCriterion /-! # Properness of `Proj A` @@ -18,6 +20,8 @@ This contribution was created as part of the Durham Computational Algebraic Geom -/ +@[expose] public section + namespace AlgebraicGeometry.Proj variable {R A : Type*} diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean index eb14895f873237..8537d88adce0d8 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Andrew Yang -/ -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf -import Mathlib.AlgebraicGeometry.GammaSpecAdjunction -import Mathlib.RingTheory.GradedAlgebra.Radical +module + +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf +public import Mathlib.AlgebraicGeometry.GammaSpecAdjunction +public import Mathlib.RingTheory.GradedAlgebra.Radical /-! # Proj as a scheme @@ -89,6 +91,8 @@ Finally, * [Robin Hartshorne, *Algebraic Geometry*][Har77]: Chapter II.2 Proposition 2.5 -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean index 37c0ac4d80a7ae..d03f798dcc8da2 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology -import Mathlib.Topology.Sheaves.LocalPredicate -import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace +module + +public import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology +public import Mathlib.Topology.Sheaves.LocalPredicate +public import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace /-! # The structure sheaf on `ProjectiveSpectrum 𝒜`. @@ -45,6 +47,8 @@ Then we establish that `Proj 𝒜` is a `LocallyRingedSpace`: -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean index 8ae5d2ba5efe44..21b3048096d46f 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Johan Commelin -/ -import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Sets.Opens -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Sets.Opens +public import Mathlib.Data.Set.Subsingleton /-! # Projective spectrum of a graded ring @@ -35,6 +37,8 @@ It is naturally endowed with a topology: the Zariski topology. Zariski topology. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Properties.lean b/Mathlib/AlgebraicGeometry/Properties.lean index b4babc6e8d51d7..d423ff21af8819 100644 --- a/Mathlib/AlgebraicGeometry/Properties.lean +++ b/Mathlib/AlgebraicGeometry/Properties.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.RingTheory.LocalProperties.Reduced +module + +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.RingTheory.LocalProperties.Reduced /-! # Basic properties of schemes @@ -18,6 +20,8 @@ We provide some basic properties of schemes are reduced. -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/PullbackCarrier.lean b/Mathlib/AlgebraicGeometry/PullbackCarrier.lean index 943991ac5dc55d..a6322387272c5b 100644 --- a/Mathlib/AlgebraicGeometry/PullbackCarrier.lean +++ b/Mathlib/AlgebraicGeometry/PullbackCarrier.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Qi Ge, Christian Merten, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Qi Ge, Christian Merten, Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.LinearAlgebra -import Mathlib.AlgebraicGeometry.ResidueField +module + +public import Mathlib.Algebra.Category.Ring.LinearAlgebra +public import Mathlib.AlgebraicGeometry.ResidueField /-! # Underlying topological space of fibre product of schemes @@ -24,6 +26,8 @@ We also give the ranges of `pullback.fst`, `pullback.snd` and `pullback.map`. -/ +@[expose] public section + open CategoryTheory Limits TopologicalSpace IsLocalRing TensorProduct noncomputable section diff --git a/Mathlib/AlgebraicGeometry/Pullbacks.lean b/Mathlib/AlgebraicGeometry/Pullbacks.lean index 30ced8e1559e95..dd127fe23afe5e 100644 --- a/Mathlib/AlgebraicGeometry/Pullbacks.lean +++ b/Mathlib/AlgebraicGeometry/Pullbacks.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.AlgebraicGeometry.Gluing -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Shapes.Diagonal -import Mathlib.CategoryTheory.Monoidal.Cartesian.Over +module + +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.AlgebraicGeometry.Gluing +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Shapes.Diagonal +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Over /-! # Fibred products of schemes @@ -24,6 +26,8 @@ constructed via tensor products. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/AlgebraicGeometry/QuasiAffine.lean b/Mathlib/AlgebraicGeometry/QuasiAffine.lean index 3a3af4efeb6b6f..9374e74410e7ec 100644 --- a/Mathlib/AlgebraicGeometry/QuasiAffine.lean +++ b/Mathlib/AlgebraicGeometry/QuasiAffine.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.Finite -import Mathlib.AlgebraicGeometry.Morphisms.Immersion +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Finite +public import Mathlib.AlgebraicGeometry.Morphisms.Immersion /-! @@ -18,6 +20,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.Immersion -/ +@[expose] public section + open CategoryTheory Limits universe u diff --git a/Mathlib/AlgebraicGeometry/RationalMap.lean b/Mathlib/AlgebraicGeometry/RationalMap.lean index b39d4f82c979bd..4280d6561a35c5 100644 --- a/Mathlib/AlgebraicGeometry/RationalMap.lean +++ b/Mathlib/AlgebraicGeometry/RationalMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.SpreadingOut -import Mathlib.AlgebraicGeometry.FunctionField -import Mathlib.AlgebraicGeometry.Morphisms.Separated +module + +public import Mathlib.AlgebraicGeometry.SpreadingOut +public import Mathlib.AlgebraicGeometry.FunctionField +public import Mathlib.AlgebraicGeometry.Morphisms.Separated /-! # Rational maps between schemes @@ -26,6 +28,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.Separated map on `f.domain`, the domain of definition of `f`. -/ +@[expose] public section + universe u open CategoryTheory hiding Quotient diff --git a/Mathlib/AlgebraicGeometry/ResidueField.lean b/Mathlib/AlgebraicGeometry/ResidueField.lean index 31d5a9b35fff1b..563e0d96146b5a 100644 --- a/Mathlib/AlgebraicGeometry/ResidueField.lean +++ b/Mathlib/AlgebraicGeometry/ResidueField.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Stalk -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.ResidueField +module + +public import Mathlib.AlgebraicGeometry.Stalk +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace.ResidueField /-! @@ -26,6 +28,8 @@ The following are in the `AlgebraicGeometry.Scheme` namespace: -/ +@[expose] public section + universe u open CategoryTheory TopologicalSpace Opposite IsLocalRing diff --git a/Mathlib/AlgebraicGeometry/Restrict.lean b/Mathlib/AlgebraicGeometry/Restrict.lean index b1c59c9f5f8871..221c7c165fc460 100644 --- a/Mathlib/AlgebraicGeometry/Restrict.lean +++ b/Mathlib/AlgebraicGeometry/Restrict.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Cover.Open -import Mathlib.AlgebraicGeometry.Over +module + +public import Mathlib.AlgebraicGeometry.Cover.Open +public import Mathlib.AlgebraicGeometry.Over /-! # Restriction of Schemes and Morphisms @@ -18,6 +20,8 @@ import Mathlib.AlgebraicGeometry.Over -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/Scheme.lean b/Mathlib/AlgebraicGeometry/Scheme.lean index c34ae0fbf01a09..ebec73d29d7cbb 100644 --- a/Mathlib/AlgebraicGeometry/Scheme.lean +++ b/Mathlib/AlgebraicGeometry/Scheme.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.AlgebraicGeometry.Spec -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.CategoryTheory.Elementwise +module + +public import Mathlib.AlgebraicGeometry.Spec +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.CategoryTheory.Elementwise /-! # The category of schemes @@ -18,6 +20,8 @@ A morphism of schemes is just a morphism of the underlying locally ringed spaces -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 @@ -50,7 +54,7 @@ instance : CoeSort Scheme Type* where open Lean PrettyPrinter.Delaborator SubExpr in /-- Pretty printer for coercing schemes to types. -/ @[app_delab TopCat.carrier] -partial def delabAdjoinNotation : Delab := whenPPOption getPPNotation do +meta def delabAdjoinNotation : Delab := whenPPOption getPPNotation do guard <| (← getExpr).isAppOfArity ``TopCat.carrier 1 withNaryArg 0 do guard <| (← getExpr).isAppOfArity ``PresheafedSpace.carrier 3 diff --git a/Mathlib/AlgebraicGeometry/Sites/BigZariski.lean b/Mathlib/AlgebraicGeometry/Sites/BigZariski.lean index 0d730bc3390788..e6b82fc4da7734 100644 --- a/Mathlib/AlgebraicGeometry/Sites/BigZariski.lean +++ b/Mathlib/AlgebraicGeometry/Sites/BigZariski.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Adam Topaz -/ -import Mathlib.AlgebraicGeometry.Sites.Pretopology -import Mathlib.CategoryTheory.Sites.Canonical +module + +public import Mathlib.AlgebraicGeometry.Sites.Pretopology +public import Mathlib.CategoryTheory.Sites.Canonical /-! # The big Zariski site of schemes @@ -26,6 +28,8 @@ TODO: -/ +@[expose] public section + universe v u open CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/Sites/Etale.lean b/Mathlib/AlgebraicGeometry/Sites/Etale.lean index 49e2befa4130b9..017b35d30f1bc1 100644 --- a/Mathlib/AlgebraicGeometry/Sites/Etale.lean +++ b/Mathlib/AlgebraicGeometry/Sites/Etale.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Etale -import Mathlib.AlgebraicGeometry.PullbackCarrier -import Mathlib.AlgebraicGeometry.Sites.BigZariski -import Mathlib.AlgebraicGeometry.Sites.Small +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Etale +public import Mathlib.AlgebraicGeometry.PullbackCarrier +public import Mathlib.AlgebraicGeometry.Sites.BigZariski +public import Mathlib.AlgebraicGeometry.Sites.Small /-! @@ -17,6 +19,8 @@ on the category of schemes. -/ +@[expose] public section + universe v u open CategoryTheory MorphismProperty Limits diff --git a/Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean b/Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean index 87b47f110b7de1..7def3f45c26c37 100644 --- a/Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean +++ b/Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Joël Riou, Adam Topaz -/ -import Mathlib.AlgebraicGeometry.OpenImmersion -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.Sites.JointlySurjective -import Mathlib.CategoryTheory.Sites.MorphismProperty +module + +public import Mathlib.AlgebraicGeometry.OpenImmersion +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.Sites.JointlySurjective +public import Mathlib.CategoryTheory.Sites.MorphismProperty /-! @@ -18,6 +20,8 @@ by jointly surjective families of morphisms satisfying `P`. -/ +@[expose] public section + universe v u open CategoryTheory MorphismProperty Limits diff --git a/Mathlib/AlgebraicGeometry/Sites/Pretopology.lean b/Mathlib/AlgebraicGeometry/Sites/Pretopology.lean index d43e79ad978490..672271252338cd 100644 --- a/Mathlib/AlgebraicGeometry/Sites/Pretopology.lean +++ b/Mathlib/AlgebraicGeometry/Sites/Pretopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Sites.MorphismProperty -import Mathlib.AlgebraicGeometry.PullbackCarrier +module + +public import Mathlib.AlgebraicGeometry.Sites.MorphismProperty +public import Mathlib.AlgebraicGeometry.PullbackCarrier /-! # Grothendieck topology defined by a morphism property @@ -20,6 +22,8 @@ The pretopology is obtained from the precoverage `AlgebraicGeometry.Scheme.preco because the former does not have `HasPullbacks Scheme`. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/Sites/Representability.lean b/Mathlib/AlgebraicGeometry/Sites/Representability.lean index e6345b1108b4cf..bc5bd34d8fe271 100644 --- a/Mathlib/AlgebraicGeometry/Sites/Representability.lean +++ b/Mathlib/AlgebraicGeometry/Sites/Representability.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Joël Riou, Ravi Vakil -/ -import Mathlib.CategoryTheory.MorphismProperty.Representable -import Mathlib.AlgebraicGeometry.Sites.BigZariski -import Mathlib.AlgebraicGeometry.OpenImmersion -import Mathlib.AlgebraicGeometry.GluingOneHypercover -import Mathlib.CategoryTheory.Sites.LocallyBijective -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso +module + +public import Mathlib.CategoryTheory.MorphismProperty.Representable +public import Mathlib.AlgebraicGeometry.Sites.BigZariski +public import Mathlib.AlgebraicGeometry.OpenImmersion +public import Mathlib.AlgebraicGeometry.GluingOneHypercover +public import Mathlib.CategoryTheory.Sites.LocallyBijective +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso /-! # Representability of schemes is a local property @@ -32,6 +34,8 @@ locally representable. -/ +@[expose] public section + namespace AlgebraicGeometry open CategoryTheory Category Limits Opposite diff --git a/Mathlib/AlgebraicGeometry/Sites/Small.lean b/Mathlib/AlgebraicGeometry/Sites/Small.lean index 77b1fc2be50f33..fb552eee646e11 100644 --- a/Mathlib/AlgebraicGeometry/Sites/Small.lean +++ b/Mathlib/AlgebraicGeometry/Sites/Small.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.AlgebraicGeometry.Cover.Over -import Mathlib.AlgebraicGeometry.Sites.Pretopology -import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology -import Mathlib.CategoryTheory.Sites.Over +module + +public import Mathlib.AlgebraicGeometry.Cover.Over +public import Mathlib.AlgebraicGeometry.Sites.Pretopology +public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology +public import Mathlib.CategoryTheory.Sites.Over /-! # Small sites @@ -29,6 +31,8 @@ generating pretopologies. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean b/Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean index 2cad6b4acc7883..dce9e62f764158 100644 --- a/Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean +++ b/Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology +module + +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology /-! @@ -26,6 +28,8 @@ Zariski site are arbitrary inclusions. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/Spec.lean b/Mathlib/AlgebraicGeometry/Spec.lean index 15dcec5fd5c048..d71b8214723d4f 100644 --- a/Mathlib/AlgebraicGeometry/Spec.lean +++ b/Mathlib/AlgebraicGeometry/Spec.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Justus Springer -/ -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace -import Mathlib.AlgebraicGeometry.StructureSheaf -import Mathlib.RingTheory.Localization.LocalizationLocalization -import Mathlib.Topology.Sheaves.SheafCondition.Sites -import Mathlib.Topology.Sheaves.Functors -import Mathlib.Algebra.Module.LocalizedModule.Basic +module + +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace +public import Mathlib.AlgebraicGeometry.StructureSheaf +public import Mathlib.RingTheory.Localization.LocalizationLocalization +public import Mathlib.Topology.Sheaves.SheafCondition.Sites +public import Mathlib.Topology.Sheaves.Functors +public import Mathlib.Algebra.Module.LocalizedModule.Basic /-! # $Spec$ as a functor to locally ringed spaces. @@ -32,6 +34,8 @@ The adjunction `Γ ⊣ Spec` is constructed in `Mathlib/AlgebraicGeometry/GammaS -/ +@[expose] public section + -- Explicit universe annotations were used in this file to improve performance https://github.com/leanprover-community/mathlib4/issues/12737 diff --git a/Mathlib/AlgebraicGeometry/SpreadingOut.lean b/Mathlib/AlgebraicGeometry/SpreadingOut.lean index 4cef47e841e425..2ba960b6f09a7c 100644 --- a/Mathlib/AlgebraicGeometry/SpreadingOut.lean +++ b/Mathlib/AlgebraicGeometry/SpreadingOut.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.AlgebraicGeometry.Morphisms.FiniteType -import Mathlib.AlgebraicGeometry.Noetherian -import Mathlib.AlgebraicGeometry.Stalk -import Mathlib.AlgebraicGeometry.Properties +module + +public import Mathlib.AlgebraicGeometry.Morphisms.FiniteType +public import Mathlib.AlgebraicGeometry.Noetherian +public import Mathlib.AlgebraicGeometry.Stalk +public import Mathlib.AlgebraicGeometry.Properties /-! # Spreading out morphisms @@ -43,6 +45,8 @@ Show that certain morphism properties can also be spread out. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicGeometry/Stalk.lean b/Mathlib/AlgebraicGeometry/Stalk.lean index a2b439995c1309..57bd704cae487b 100644 --- a/Mathlib/AlgebraicGeometry/Stalk.lean +++ b/Mathlib/AlgebraicGeometry/Stalk.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Fangming Li -/ -import Mathlib.AlgebraicGeometry.AffineScheme -import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion +module + +public import Mathlib.AlgebraicGeometry.AffineScheme +public import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion /-! # Stalks of a Scheme @@ -19,6 +21,8 @@ import Mathlib.AlgebraicGeometry.Morphisms.Preimmersion `(x, f)` where `x : X` and `f : 𝒪_{X, x} ⟶ R` is a local ring homomorphism. -/ +@[expose] public section + namespace AlgebraicGeometry open CategoryTheory Opposite TopologicalSpace IsLocalRing diff --git a/Mathlib/AlgebraicGeometry/StructureSheaf.lean b/Mathlib/AlgebraicGeometry/StructureSheaf.lean index cf43df53907f1e..3426e9b2a5e814 100644 --- a/Mathlib/AlgebraicGeometry/StructureSheaf.lean +++ b/Mathlib/AlgebraicGeometry/StructureSheaf.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.Instances -import Mathlib.Algebra.Category.Ring.Limits -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.Topology.Sheaves.LocalPredicate +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.Instances +public import Mathlib.Algebra.Category.Ring.Limits +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.Topology.Sheaves.LocalPredicate /-! # The structure sheaf on `PrimeSpectrum R`. @@ -45,6 +47,8 @@ and the localization of `R` at the submonoid of powers of `f`. -/ +@[expose] public section + universe u diff --git a/Mathlib/AlgebraicGeometry/ValuativeCriterion.lean b/Mathlib/AlgebraicGeometry/ValuativeCriterion.lean index 188d3aa8cda662..73416b909ad0d1 100644 --- a/Mathlib/AlgebraicGeometry/ValuativeCriterion.lean +++ b/Mathlib/AlgebraicGeometry/ValuativeCriterion.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang, Qi Ge, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Qi Ge, Christian Merten -/ -import Mathlib.AlgebraicGeometry.Morphisms.Immersion -import Mathlib.AlgebraicGeometry.Morphisms.Proper -import Mathlib.RingTheory.RingHom.Injective -import Mathlib.RingTheory.Valuation.LocalSubring +module + +public import Mathlib.AlgebraicGeometry.Morphisms.Immersion +public import Mathlib.AlgebraicGeometry.Morphisms.Proper +public import Mathlib.RingTheory.RingHom.Injective +public import Mathlib.RingTheory.Valuation.LocalSubring /-! # Valuative criterion @@ -28,6 +30,8 @@ Show that it suffices to check discrete valuation rings when the base is Noether -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits namespace AlgebraicGeometry diff --git a/Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean b/Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean index 38a650bf3ef1de..2fa06ec4c01815 100644 --- a/Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean +++ b/Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Adam Topaz, Johan Commelin -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.AlgebraicTopology.MooreComplex -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.CategoryTheory.Preadditive.Opposite -import Mathlib.CategoryTheory.Idempotents.FunctorCategories +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.AlgebraicTopology.MooreComplex +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.CategoryTheory.Preadditive.Opposite +public import Mathlib.CategoryTheory.Idempotents.FunctorCategories /-! @@ -32,6 +34,8 @@ when `A` is an abelian category. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits CategoryTheory.Subobject diff --git a/Mathlib/AlgebraicTopology/CechNerve.lean b/Mathlib/AlgebraicTopology/CechNerve.lean index 8739f1cef206cb..1c58a43a3e4076 100644 --- a/Mathlib/AlgebraicTopology/CechNerve.lean +++ b/Mathlib/AlgebraicTopology/CechNerve.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! @@ -29,6 +31,8 @@ object, when `C` has finite products. We call this `cechNerveTerminalFrom`. When -/ +@[expose] public section + open CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean b/Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean index f8b81e2c2fbfeb..ea483067522c11 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Equivalence +module + +public import Mathlib.CategoryTheory.Equivalence /-! Tools for compatibilities between Dold-Kan equivalences @@ -38,6 +40,8 @@ unit and counit isomorphisms of `equivalence`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category Functor diff --git a/Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean b/Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean index 5ef98806829500..14f2a28ba4fb28 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.PInfty +module + +public import Mathlib.AlgebraicTopology.DoldKan.PInfty /-! @@ -29,6 +31,8 @@ reflects isomorphisms. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Preadditive Opposite Simplicial diff --git a/Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean b/Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean index 133f978281fb05..addb2c0e039821 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.Decomposition -import Mathlib.Tactic.FinCases +module + +public import Mathlib.AlgebraicTopology.DoldKan.Decomposition +public import Mathlib.Tactic.FinCases /-! @@ -25,6 +27,8 @@ statement vanishing statement `σ_comp_P_eq_zero` for the `P q`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Limits CategoryTheory.Preadditive Simplicial diff --git a/Mathlib/AlgebraicTopology/DoldKan/Equivalence.lean b/Mathlib/AlgebraicTopology/DoldKan/Equivalence.lean index 14ef2971ea6b8b..3956630cb07052 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Equivalence.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Equivalence.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian -import Mathlib.AlgebraicTopology.DoldKan.Normalized +module + +public import Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian +public import Mathlib.AlgebraicTopology.DoldKan.Normalized /-! @@ -119,6 +121,8 @@ what is the best way to do this. The exact design may be decided when it is need -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/EquivalenceAdditive.lean b/Mathlib/AlgebraicTopology/DoldKan/EquivalenceAdditive.lean index 2f2684686e03ab..73e4580bc08284 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/EquivalenceAdditive.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/EquivalenceAdditive.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.NCompGamma +module + +public import Mathlib.AlgebraicTopology.DoldKan.NCompGamma /-! The Dold-Kan equivalence for additive categories. @@ -14,6 +16,8 @@ of categories `Karoubi (SimplicialObject C) ≌ Karoubi (ChainComplex C ℕ)`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/EquivalencePseudoabelian.lean b/Mathlib/AlgebraicTopology/DoldKan/EquivalencePseudoabelian.lean index 4abe1e6c68e410..9f4d6b9cdd7b15 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/EquivalencePseudoabelian.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/EquivalencePseudoabelian.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.EquivalenceAdditive -import Mathlib.AlgebraicTopology.DoldKan.Compatibility -import Mathlib.CategoryTheory.Idempotents.SimplicialObject -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.AlgebraicTopology.DoldKan.EquivalenceAdditive +public import Mathlib.AlgebraicTopology.DoldKan.Compatibility +public import Mathlib.CategoryTheory.Idempotents.SimplicialObject +public import Mathlib.Tactic.SuppressCompilation /-! @@ -33,6 +35,8 @@ the composition of `N₁ : SimplicialObject C ⥤ Karoubi (ChainComplex C ℕ)` -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/Faces.lean b/Mathlib/AlgebraicTopology/DoldKan/Faces.lean index 8a69d33f6b713c..5669ff696c96c0 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Faces.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Faces.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.Homotopies -import Mathlib.Tactic.Ring +module + +public import Mathlib.AlgebraicTopology.DoldKan.Homotopies +public import Mathlib.Tactic.Ring /-! @@ -23,6 +25,8 @@ on two technical lemmas `HigherFacesVanish.comp_Hσ_eq` and -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits CategoryTheory.Category CategoryTheory.Preadditive CategoryTheory.SimplicialObject Simplicial diff --git a/Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean b/Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean index 415442541ad505..56bb13a2717ec0 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/FunctorGamma.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Split -import Mathlib.AlgebraicTopology.DoldKan.PInfty +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Split +public import Mathlib.AlgebraicTopology.DoldKan.PInfty /-! @@ -28,6 +30,8 @@ which shall be an equivalence for any additive category `C`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/FunctorN.lean b/Mathlib/AlgebraicTopology/DoldKan/FunctorN.lean index 87f31cc84df12b..e99840961385e5 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/FunctorN.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/FunctorN.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.PInfty +module + +public import Mathlib.AlgebraicTopology.DoldKan.PInfty /-! @@ -30,6 +32,8 @@ normalized Moore complex functor shall be obtained in `Normalized.lean`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Idempotents diff --git a/Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean b/Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean index 14e52299d2675e..2da4a9dc9f889f 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.FunctorGamma -import Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject -import Mathlib.CategoryTheory.Idempotents.HomologicalComplex -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.AlgebraicTopology.DoldKan.FunctorGamma +public import Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject +public import Mathlib.CategoryTheory.Idempotents.HomologicalComplex +public import Mathlib.Tactic.SuppressCompilation /-! The counit isomorphism of the Dold-Kan equivalence @@ -18,6 +20,8 @@ and `N₂Γ₂ : Γ₂ ⋙ N₂ ≅ 𝟭 (Karoubi (ChainComplex C ℕ))`. -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean b/Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean index 3707c1a00644f2..9f2ffa31b43a55 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.AlgebraicTopology.DoldKan.Notations +module + +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.AlgebraicTopology.DoldKan.Notations /-! @@ -55,6 +57,8 @@ compatible the application of additive functors (see `map_Hσ`). -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Limits CategoryTheory.Preadditive CategoryTheory.SimplicialObject Homotopy Opposite Simplicial DoldKan diff --git a/Mathlib/AlgebraicTopology/DoldKan/HomotopyEquivalence.lean b/Mathlib/AlgebraicTopology/DoldKan/HomotopyEquivalence.lean index 367111399ca9c9..a08f3fb954e522 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/HomotopyEquivalence.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/HomotopyEquivalence.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.Normalized +module + +public import Mathlib.AlgebraicTopology.DoldKan.Normalized /-! @@ -15,6 +17,8 @@ normalized Moore complex and the alternating face map complex of a simplicial ob -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Limits CategoryTheory.Preadditive Simplicial DoldKan diff --git a/Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean b/Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean index b097c079e420ab..884a46fca31055 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.GammaCompN -import Mathlib.AlgebraicTopology.DoldKan.NReflectsIso +module + +public import Mathlib.AlgebraicTopology.DoldKan.GammaCompN +public import Mathlib.AlgebraicTopology.DoldKan.NReflectsIso /-! The unit isomorphism of the Dold-Kan equivalence @@ -21,6 +23,8 @@ which reflects isomorphisms. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean b/Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean index b6618c2a1c9b61..89e433ab29a35f 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.FunctorN -import Mathlib.AlgebraicTopology.DoldKan.Decomposition -import Mathlib.CategoryTheory.Idempotents.HomologicalComplex -import Mathlib.CategoryTheory.Idempotents.KaroubiKaroubi +module + +public import Mathlib.AlgebraicTopology.DoldKan.FunctorN +public import Mathlib.AlgebraicTopology.DoldKan.Decomposition +public import Mathlib.CategoryTheory.Idempotents.HomologicalComplex +public import Mathlib.CategoryTheory.Idempotents.KaroubiKaroubi /-! @@ -21,6 +23,8 @@ reflect isomorphisms for any preadditive category `C`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Idempotents Opposite Simplicial diff --git a/Mathlib/AlgebraicTopology/DoldKan/Normalized.lean b/Mathlib/AlgebraicTopology/DoldKan/Normalized.lean index 902c1ed0baac74..253ae6f5c35751 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Normalized.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Normalized.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.FunctorN +module + +public import Mathlib.AlgebraicTopology.DoldKan.FunctorN /-! @@ -25,6 +27,8 @@ with a functor (definitionally) equal to `normalizedMooreComplex A`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Limits CategoryTheory.Subobject CategoryTheory.Idempotents DoldKan diff --git a/Mathlib/AlgebraicTopology/DoldKan/Notations.lean b/Mathlib/AlgebraicTopology/DoldKan/Notations.lean index 6fd035027232c3..0b5cf3191a18b8 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Notations.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Notations.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex +module + +public import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex /-! @@ -17,6 +19,8 @@ as `N[X]` for the normalized subcomplex in the case `C` is an abelian category. -/ +@[expose] public section + @[inherit_doc] scoped[DoldKan] notation "K[" X "]" => AlgebraicTopology.AlternatingFaceMapComplex.obj X diff --git a/Mathlib/AlgebraicTopology/DoldKan/PInfty.lean b/Mathlib/AlgebraicTopology/DoldKan/PInfty.lean index 6d2644d1ca7d9c..b17c7cc4c61ba4 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/PInfty.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/PInfty.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.Projections -import Mathlib.CategoryTheory.Idempotents.FunctorCategories -import Mathlib.CategoryTheory.Idempotents.FunctorExtension +module + +public import Mathlib.AlgebraicTopology.DoldKan.Projections +public import Mathlib.CategoryTheory.Idempotents.FunctorCategories +public import Mathlib.CategoryTheory.Idempotents.FunctorExtension /-! @@ -21,6 +23,8 @@ projection on the normalized Moore subcomplex, with kernel the degenerate subcom -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Preadditive CategoryTheory.SimplicialObject CategoryTheory.Idempotents Opposite Simplicial DoldKan diff --git a/Mathlib/AlgebraicTopology/DoldKan/Projections.lean b/Mathlib/AlgebraicTopology/DoldKan/Projections.lean index 11eddf66bea909..dcd132b81088e0 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/Projections.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/Projections.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.DoldKan.Faces -import Mathlib.CategoryTheory.Idempotents.Basic +module + +public import Mathlib.AlgebraicTopology.DoldKan.Faces +public import Mathlib.CategoryTheory.Idempotents.Basic /-! @@ -27,6 +29,8 @@ in order to define `PInfty : K[X] ⟶ K[X]`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Limits CategoryTheory.Preadditive CategoryTheory.SimplicialObject Opposite CategoryTheory.Idempotents diff --git a/Mathlib/AlgebraicTopology/DoldKan/SplitSimplicialObject.lean b/Mathlib/AlgebraicTopology/DoldKan/SplitSimplicialObject.lean index 9a694ca6a60aaa..fb439003b0e5b1 100644 --- a/Mathlib/AlgebraicTopology/DoldKan/SplitSimplicialObject.lean +++ b/Mathlib/AlgebraicTopology/DoldKan/SplitSimplicialObject.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Split -import Mathlib.AlgebraicTopology.DoldKan.Degeneracies -import Mathlib.AlgebraicTopology.DoldKan.FunctorN +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Split +public import Mathlib.AlgebraicTopology.DoldKan.Degeneracies +public import Mathlib.AlgebraicTopology.DoldKan.FunctorN /-! @@ -19,6 +21,8 @@ when `C` is a preadditive category with finite coproducts, and get an isomorphis -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits CategoryTheory.Category CategoryTheory.Preadditive CategoryTheory.Idempotents Opposite AlgebraicTopology AlgebraicTopology.DoldKan diff --git a/Mathlib/AlgebraicTopology/ExtraDegeneracy.lean b/Mathlib/AlgebraicTopology/ExtraDegeneracy.lean index 49db06de6fef7c..5d480efbf23b60 100644 --- a/Mathlib/AlgebraicTopology/ExtraDegeneracy.lean +++ b/Mathlib/AlgebraicTopology/ExtraDegeneracy.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex -import Mathlib.AlgebraicTopology.CechNerve -import Mathlib.Algebra.Homology.Homotopy -import Mathlib.Tactic.FinCases +module + +public import Mathlib.AlgebraicTopology.AlternatingFaceMapComplex +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +public import Mathlib.AlgebraicTopology.CechNerve +public import Mathlib.Algebra.Homology.Homotopy +public import Mathlib.Tactic.FinCases /-! @@ -42,6 +44,8 @@ equivalence. -/ +@[expose] public section + open CategoryTheory Category SimplicialObject.Augmented Opposite Simplicial diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean index 1b472b5d803c68..a4cf45c62e5f40 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.CategoryTheory.Category.Grpd -import Mathlib.CategoryTheory.Groupoid -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Homotopy.Path -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.CategoryTheory.Category.Grpd +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Homotopy.Path +public import Mathlib.Data.Set.Subsingleton /-! # Fundamental groupoid of a space @@ -18,6 +20,8 @@ homotopy equivalence. With this, the fundamental group of `X` based at `x` is ju group of `x`. -/ +@[expose] public section + open CategoryTheory variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean index 934e75530055d8..75c87da27da42b 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Mark Lavrentyev. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mark Lavrentyev -/ -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic -import Mathlib.CategoryTheory.Conj -import Mathlib.CategoryTheory.Groupoid -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Connected.PathConnected -import Mathlib.Topology.Homotopy.Path +module + +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic +public import Mathlib.CategoryTheory.Conj +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Connected.PathConnected +public import Mathlib.Topology.Homotopy.Path /-! # Fundamental group of a space @@ -17,6 +19,8 @@ Given a topological space `X` and a basepoint `x`, the fundamental group is the of `x` i.e. the group with elements being loops based at `x` (quotiented by homotopy equivalence). -/ +@[expose] public section + variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] variable {x₀ x₁ : X} diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean index e209dcef26a85e..a9eba8c50db981 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.Topology.Homotopy.Equiv -import Mathlib.CategoryTheory.Equivalence -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Product +module + +public import Mathlib.Topology.Homotopy.Equiv +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Product /-! # Homotopic maps induce naturally isomorphic functors @@ -27,6 +29,8 @@ import Mathlib.AlgebraicTopology.FundamentalGroupoid.Product But `FundamentalGroupoidFunctor.prodToProdTop` requires two spaces in the same universe. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/PUnit.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/PUnit.lean index 354d877aad6f4b..babca34641aae0 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/PUnit.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/PUnit.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.CategoryTheory.PUnit -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic +module + +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic /-! # Fundamental groupoid of punit @@ -12,6 +14,8 @@ import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic The fundamental groupoid of punit is naturally isomorphic to `CategoryTheory.Discrete PUnit` -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean index a5130d5ff7d81d..3a7b9d88359cb9 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.CategoryTheory.Groupoid -import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic -import Mathlib.Topology.Category.TopCat.Limits.Products -import Mathlib.Topology.Homotopy.Product +module + +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.Basic +public import Mathlib.Topology.Category.TopCat.Limits.Products +public import Mathlib.Topology.Homotopy.Product /-! # Fundamental groupoid preserves products @@ -24,6 +26,8 @@ In this file, we give the following definitions/theorems: preserves all products. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean b/Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean index 83b1c2f90bf607..37a7be4d07284b 100644 --- a/Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean +++ b/Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.AlgebraicTopology.FundamentalGroupoid.InducedMaps -import Mathlib.Topology.Homotopy.Contractible -import Mathlib.CategoryTheory.PUnit -import Mathlib.AlgebraicTopology.FundamentalGroupoid.PUnit +module + +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.InducedMaps +public import Mathlib.Topology.Homotopy.Contractible +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.PUnit /-! # Simply connected spaces @@ -20,6 +22,8 @@ A topological space is simply connected if its fundamental groupoid is equivalen - `SimplyConnectedSpace.ofContractible` - A contractible space is simply connected -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/AlgebraicTopology/ModelCategory/Basic.lean b/Mathlib/AlgebraicTopology/ModelCategory/Basic.lean index 71f31c35c14f4a..8509d812801a49 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/Basic.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.MorphismProperty.Composition -import Mathlib.CategoryTheory.MorphismProperty.Factorization -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty -import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem -import Mathlib.AlgebraicTopology.ModelCategory.Instances +module + +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.MorphismProperty.Composition +public import Mathlib.CategoryTheory.MorphismProperty.Factorization +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +public import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem +public import Mathlib.AlgebraicTopology.ModelCategory.Instances /-! # Model categories @@ -31,6 +33,8 @@ to define only local instances of `ModelCategory`, or to set these instances on -/ +@[expose] public section + universe w v u namespace HomotopicalAlgebra diff --git a/Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean b/Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean index 9122410819a3fa..1f9e3ebaf55be8 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/BrownLemma.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.Basic -import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +module + +public import Mathlib.AlgebraicTopology.ModelCategory.Basic +public import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant /-! # The factorization lemma by K. S. Brown @@ -27,6 +29,8 @@ between fibrant objects.) -/ +@[expose] public section + open CategoryTheory Limits MorphismProperty namespace HomotopicalAlgebra diff --git a/Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean b/Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean index 628cbbc142f050..405d9f5086e2ab 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/CategoryWithCofibrations.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Categories with classes of fibrations, cofibrations, weak equivalences @@ -14,6 +16,8 @@ classes of morphisms named "fibrations", "cofibrations" or "weak equivalences". -/ +@[expose] public section + universe v u namespace HomotopicalAlgebra diff --git a/Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean b/Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean index bc15aecfdfb621..1c2cd0f220a508 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.Basic -import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +module + +public import Mathlib.AlgebraicTopology.ModelCategory.Basic +public import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant /-! # Cylinders @@ -33,6 +35,8 @@ in the lemma `Cylinder.exists_very_good`. -/ +@[expose] public section + universe v u open CategoryTheory Category Limits diff --git a/Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean b/Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean index 3510c2bf8696cf..829ede7b4606bf 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/Homotopy.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.BrownLemma -import Mathlib.AlgebraicTopology.ModelCategory.LeftHomotopy -import Mathlib.AlgebraicTopology.ModelCategory.RightHomotopy +module + +public import Mathlib.AlgebraicTopology.ModelCategory.BrownLemma +public import Mathlib.AlgebraicTopology.ModelCategory.LeftHomotopy +public import Mathlib.AlgebraicTopology.ModelCategory.RightHomotopy /-! # Homotopies in model categories @@ -25,6 +27,8 @@ then any weak equivalence `X ⟶ Y` is a homotopy equivalence. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/ModelCategory/Instances.lean b/Mathlib/AlgebraicTopology/ModelCategory/Instances.lean index c4a6e337269d27..c3db11e567d597 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/Instances.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/Instances.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem -import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations +module + +public import Mathlib.CategoryTheory.MorphismProperty.WeakFactorizationSystem +public import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations /-! # Consequences of model category axioms @@ -14,6 +16,8 @@ and weak equivalences from the axioms of model categories. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean b/Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean index 1254cc84847912..e61167069e3c7f 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/IsCofibrant.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.Instances -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.AlgebraicTopology.ModelCategory.Instances +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Fibrant and cofibrant objects in a model category @@ -16,6 +18,8 @@ any `X : C` as an abbreviation for `Cofibration (initial.to X : ⊥_ C ⟶ X)`. -/ +@[expose] public section + open CategoryTheory Limits namespace HomotopicalAlgebra diff --git a/Mathlib/AlgebraicTopology/ModelCategory/JoyalTrick.lean b/Mathlib/AlgebraicTopology/ModelCategory/JoyalTrick.lean index c98c5ae0212d95..0f11d5443a81cc 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/JoyalTrick.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/JoyalTrick.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # A trick by Joyal @@ -21,6 +23,8 @@ namely that cofibrations are stable under composition and cobase change. -/ +@[expose] public section + open CategoryTheory Category Limits MorphismProperty namespace HomotopicalAlgebra diff --git a/Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean b/Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean index b9626a37715fcf..4cc7836cb11efb 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.Cylinder -import Mathlib.CategoryTheory.Localization.Quotient +module + +public import Mathlib.AlgebraicTopology.ModelCategory.Cylinder +public import Mathlib.CategoryTheory.Localization.Quotient /-! # Left homotopies in model categories @@ -23,6 +25,8 @@ relation on `X ⟶ Y`. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean b/Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean index 0ab86beb60c1e1..c0918f0d338cf4 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.Basic -import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +module + +public import Mathlib.AlgebraicTopology.ModelCategory.Basic +public import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant /-! # Path objects @@ -36,6 +38,8 @@ in the lemma `PathObject.exists_very_good`. -/ +@[expose] public section + universe v u open CategoryTheory Category Limits diff --git a/Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean b/Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean index b79d081c53f10c..344ed177d2b1b4 100644 --- a/Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean +++ b/Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.PathObject -import Mathlib.CategoryTheory.Localization.Quotient +module + +public import Mathlib.AlgebraicTopology.ModelCategory.PathObject +public import Mathlib.CategoryTheory.Localization.Quotient /-! # Right homotopies in model categories @@ -25,6 +27,8 @@ relation on `X ⟶ Y`. -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/MooreComplex.lean b/Mathlib/AlgebraicTopology/MooreComplex.lean index b2e097b7613976..2624554bb347c0 100644 --- a/Mathlib/AlgebraicTopology/MooreComplex.lean +++ b/Mathlib/AlgebraicTopology/MooreComplex.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Homology.HomologicalComplex -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.Algebra.Homology.HomologicalComplex +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Abelian.Basic /-! ## Moore complex @@ -28,6 +30,8 @@ This functor is one direction of the Dold-Kan equivalence, which we're still wor * https://ncatlab.org/nlab/show/Moore+complex -/ +@[expose] public section + universe v u diff --git a/Mathlib/AlgebraicTopology/Quasicategory/Basic.lean b/Mathlib/AlgebraicTopology/Quasicategory/Basic.lean index 29b68188a2884c..ac59775b9abcac 100644 --- a/Mathlib/AlgebraicTopology/Quasicategory/Basic.lean +++ b/Mathlib/AlgebraicTopology/Quasicategory/Basic.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ +module -import Mathlib.AlgebraicTopology.SimplicialSet.KanComplex +public import Mathlib.AlgebraicTopology.SimplicialSet.KanComplex /-! # Quasicategories @@ -24,6 +25,8 @@ we show that the nerve of a category is a quasicategory. -/ +@[expose] public section + namespace SSet open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/Quasicategory/Nerve.lean b/Mathlib/AlgebraicTopology/Quasicategory/Nerve.lean index 432af27d7a69a3..718349346da387 100644 --- a/Mathlib/AlgebraicTopology/Quasicategory/Nerve.lean +++ b/Mathlib/AlgebraicTopology/Quasicategory/Nerve.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Nick Ward. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Emily Riehl, Nick Ward -/ -import Mathlib.AlgebraicTopology.Quasicategory.StrictSegal +module + +public import Mathlib.AlgebraicTopology.Quasicategory.StrictSegal /-! # The nerve of a category is a quasicategory @@ -17,6 +19,8 @@ In this file, we prove as a direct consequence that the nerve of a category is a quasicategory. -/ +@[expose] public section + universe v u open SSet diff --git a/Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean b/Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean index 02e487b44b85a1..92240542db2bb2 100644 --- a/Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean +++ b/Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Nick Ward. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Emily Riehl, Nick Ward -/ -import Mathlib.AlgebraicTopology.Quasicategory.Basic -import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal +module + +public import Mathlib.AlgebraicTopology.Quasicategory.Basic +public import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal /-! # Strict Segal simplicial sets are quasicategories @@ -17,6 +19,8 @@ In this file, we prove that any simplicial set satisfying the strict Segal condition is a quasicategory. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/RelativeCellComplex/AttachCells.lean b/Mathlib/AlgebraicTopology/RelativeCellComplex/AttachCells.lean index 25b17c5dd71cde..8c3f3404b1661b 100644 --- a/Mathlib/AlgebraicTopology/RelativeCellComplex/AttachCells.lean +++ b/Mathlib/AlgebraicTopology/RelativeCellComplex/AttachCells.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Attaching cells @@ -26,6 +28,8 @@ of morphisms `f` with `AttachCells g f` structures. -/ +@[expose] public section + universe w' w t t' v u open CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/RelativeCellComplex/Basic.lean b/Mathlib/AlgebraicTopology/RelativeCellComplex/Basic.lean index 7e1e9497e99352..46e13c5e0e6a48 100644 --- a/Mathlib/AlgebraicTopology/RelativeCellComplex/Basic.lean +++ b/Mathlib/AlgebraicTopology/RelativeCellComplex/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +module + +public import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition /-! # Relative cell complexes @@ -26,6 +28,8 @@ see the file `Mathlib/CategoryTheory/SmallObject/IsCardinalForSmallObjectArgumen -/ +@[expose] public section + universe w w' t v u open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean index c3732e26ef2639..150ab49f5b06f9 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean @@ -3,6 +3,8 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic deprecated_module (since := "2025-07-05") diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean index f6e2cf1a759a25..431f41a6318ff1 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.WithTerminal.Basic -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.AlgebraicTopology.SimplicialObject.Basic +module + +public import Mathlib.CategoryTheory.WithTerminal.Basic +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic /-! # The Augmented simplex category @@ -23,6 +25,8 @@ objects, and we provide a translation of the main constrcutions on augmented (co -/ +@[expose] public section + open CategoryTheory /-- The `AugmentedSimplexCategory` is the category obtained from `SimplexCategory` by adjoining an diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean index 390b2bd3d6b16c..6bcaa5abfe94b1 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic -import Mathlib.CategoryTheory.Monoidal.Category +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Augmented.Basic +public import Mathlib.CategoryTheory.Monoidal.Category /-! # Monoidal structure on the augmented simplex category @@ -25,6 +27,8 @@ of the associator isomorphism with respect to these maps. -/ +@[expose] public section + namespace AugmentedSimplexCategory attribute [local aesop safe cases (rule_sets := [CategoryTheory])] CategoryTheory.WithInitial diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean index 126f6ce8c038c2..6f7c42b406182b 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Defs -import Mathlib.Data.Fintype.Sort -import Mathlib.Order.Category.NonemptyFinLinOrd -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.Linarith +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Defs +public import Mathlib.Data.Fintype.Sort +public import Mathlib.Order.Category.NonemptyFinLinOrd +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.Linarith /-! # Basic properties of the simplex category @@ -20,6 +22,8 @@ this category is equivalent to `NonemptyFinLinOrd`, and establish basic properties of its epimorphisms and monomorphisms. -/ +@[expose] public section + universe v open Simplicial CategoryTheory Limits diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean index 16c5d42badbc6a..1254ade20d05d2 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.CategoryTheory.Opposites -import Mathlib.Order.Fin.Basic -import Mathlib.Util.Superscript +module + +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.Order.Fin.Basic +public import Mathlib.Util.Superscript /-! # The simplex category @@ -36,6 +38,8 @@ We provide the following functions to work with these objects: This notation is available with `open SimplexCategory.Truncated`. -/ +@[expose] public section + universe v open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean index eb241d81302cfe..d6dea4c36710ad 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.CategoryTheory.PathCategory.Basic +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.CategoryTheory.PathCategory.Basic /-! # Presentation of the simplex category by generators and relations. We introduce `SimplexCategoryGenRel` as the category presented by generating @@ -15,6 +17,8 @@ objects and morphisms in this category. This category admits a canonical functor `toSimplexCategory` to the usual simplex category. The fact that this functor is an equivalence will be recorded in a separate file. -/ + +@[expose] public section open CategoryTheory /-- The objects of the free simplex quiver are the natural numbers. -/ diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/EpiMono.lean b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/EpiMono.lean index 4fc0c7e287c896..46a62bea82870e 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/EpiMono.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/EpiMono.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.Basic +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.Basic /-! # Epi-mono factorization in the simplex category presented by generators and relations This file aims to establish that there is a nice epi-mono factorization in `SimplexCategoryGenRel`. @@ -15,6 +17,8 @@ moprhism as a decomposition of a `P_σ` followed by a `P_δ`. -/ +@[expose] public section + namespace SimplexCategoryGenRel open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean index 6e6f1a28dce154..c66b4576088ce0 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.EpiMono +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.GeneratorsRelations.EpiMono /-! # Normal forms for morphisms in `SimplexCategoryGenRel`. In this file, we establish that `P_δ` and `P_σ` morphisms in `SimplexCategoryGenRel` @@ -32,6 +34,8 @@ stones towards proving that the canonical functor - Show that every `P_δ` admits a unique normal form. -/ +@[expose] public section + namespace SimplexCategoryGenRel open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean b/Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean index 587fe8b2e10eac..a3aa5af51c2b54 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/MorphismProperty.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Properties of morphisms in the simplex category @@ -18,6 +20,8 @@ the category `SimplexCategory.Truncated d`. -/ +@[expose] public section + open CategoryTheory namespace SimplexCategory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Rev.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Rev.lean index 997683616bdb03..2c02222e407d1d 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Rev.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Rev.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Basic +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic /-! # The covariant involution of the simplex category @@ -15,6 +17,8 @@ the *covariant* functor which sends a type `α` to `αᵒᵈ`. -/ +@[expose] public section + open CategoryTheory namespace SimplexCategory diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean index fcdbcc7df426fd..564ce51549912b 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Truncated.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.CategoryTheory.Limits.Final /-! # Properties of the truncated simplex category @@ -13,6 +15,8 @@ untruncated simplex category, and the inclusion functor from the `n`-truncated t simplex category, for `n ≤ m` are initial. -/ +@[expose] public section + open Simplicial CategoryTheory namespace SimplexCategory.Truncated diff --git a/Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean b/Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean index 863a5836dfd6a1..b138ed24350525 100644 --- a/Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic /-! # Simplicial categories @@ -31,6 +33,8 @@ category of simplicial sets in such a way that morphisms in -/ +@[expose] public section + universe v u open CategoryTheory Category Simplicial MonoidalCategory diff --git a/Mathlib/AlgebraicTopology/SimplicialCategory/SimplicialObject.lean b/Mathlib/AlgebraicTopology/SimplicialCategory/SimplicialObject.lean index 2dde40d7ea1e5e..995a7945cf8a02 100644 --- a/Mathlib/AlgebraicTopology/SimplicialCategory/SimplicialObject.lean +++ b/Mathlib/AlgebraicTopology/SimplicialCategory/SimplicialObject.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialCategory.Basic -import Mathlib.CategoryTheory.Functor.FunctorHom +module + +public import Mathlib.AlgebraicTopology.SimplicialCategory.Basic +public import Mathlib.CategoryTheory.Functor.FunctorHom /-! # The category of simplicial objects is simplicial @@ -19,6 +21,8 @@ sets is a simplicial category. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplicialNerve.lean b/Mathlib/AlgebraicTopology/SimplicialNerve.lean index c299b3fbbcfe45..5b25ff2655ed80 100644 --- a/Mathlib/AlgebraicTopology/SimplicialNerve.lean +++ b/Mathlib/AlgebraicTopology/SimplicialNerve.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.AlgebraicTopology.SimplicialCategory.Basic -import Mathlib.AlgebraicTopology.SimplicialSet.Nerve +module + +public import Mathlib.AlgebraicTopology.SimplicialCategory.Basic +public import Mathlib.AlgebraicTopology.SimplicialSet.Nerve /-! # The simplicial nerve of a simplicial category @@ -35,6 +37,8 @@ the linear order `Fin (n + 1)` to `C`, in other words * [Jacob Lurie, *Higher Topos Theory*, Section 1.1.5][LurieHTT] -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean b/Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean index 12005658fd6bf2..d87efe5317676a 100644 --- a/Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Opposites -import Mathlib.Util.Superscript +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.Util.Superscript /-! # Simplicial objects in a category. @@ -31,6 +33,8 @@ The following notations can be enabled via - `X ^⦋m⦌ₙ` denotes the `m`-th term of an `n`-truncated cosimplicial object `X`. -/ +@[expose] public section + open Opposite open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplicialObject/Coskeletal.lean b/Mathlib/AlgebraicTopology/SimplicialObject/Coskeletal.lean index f650da6cb53ed8..8d1b785fcd2c07 100644 --- a/Mathlib/AlgebraicTopology/SimplicialObject/Coskeletal.lean +++ b/Mathlib/AlgebraicTopology/SimplicialObject/Coskeletal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Functor.KanExtension.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic /-! # Coskeletal simplicial objects @@ -23,6 +25,8 @@ then when `X` is `n`-coskeletal, the unit of `coskAdj n` defines an isomorphism: TODO: Prove that `X` is `n`-coskeletal whenever a certain canonical cone is a limit cone. -/ +@[expose] public section + open Opposite open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplicialObject/II.lean b/Mathlib/AlgebraicTopology/SimplicialObject/II.lean index 8c743573b24c1f..38870e6437ac1f 100644 --- a/Mathlib/AlgebraicTopology/SimplicialObject/II.lean +++ b/Mathlib/AlgebraicTopology/SimplicialObject/II.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic /-! # A construction by Gabriel and Zisman @@ -27,6 +29,8 @@ by Gabriel and Zisman. -/ +@[expose] public section + open CategoryTheory Simplicial Opposite namespace SimplexCategory diff --git a/Mathlib/AlgebraicTopology/SimplicialObject/Op.lean b/Mathlib/AlgebraicTopology/SimplicialObject/Op.lean index f0fd098c35f972..a6160f5af96594 100644 --- a/Mathlib/AlgebraicTopology/SimplicialObject/Op.lean +++ b/Mathlib/AlgebraicTopology/SimplicialObject/Op.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplexCategory.Rev -import Mathlib.AlgebraicTopology.SimplicialObject.Basic +module + +public import Mathlib.AlgebraicTopology.SimplexCategory.Rev +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic /-! # The covariant involution of the category of simplicial objects @@ -15,6 +17,8 @@ covariant involution `SimplexCategory.rev : SimplexCategory ⥤ SimplexCategory` -/ +@[expose] public section + universe v open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/SimplicialObject/Split.lean b/Mathlib/AlgebraicTopology/SimplicialObject/Split.lean index 7356498118f385..962d84524251c3 100644 --- a/Mathlib/AlgebraicTopology/SimplicialObject/Split.lean +++ b/Mathlib/AlgebraicTopology/SimplicialObject/Split.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.Data.Fintype.Sigma +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.Data.Fintype.Sigma /-! @@ -32,6 +34,8 @@ Simplicial objects equipped with a splitting form a category -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean index 163b93b9ffe766..5532be846674be 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Yoneda -import Mathlib.Tactic.FinCases +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Yoneda +public import Mathlib.Tactic.FinCases /-! # Simplicial sets @@ -20,6 +22,8 @@ homotopy type theory.) -/ +@[expose] public section + universe v u open CategoryTheory CategoryTheory.Limits CategoryTheory.Functor diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean index 076839f6ea7c37..f4b6aa0f6b4642 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex /-! # The boundary of the standard simplex @@ -21,6 +23,8 @@ a morphism `Δ[n] ⟶ ∂Δ[n]`. -/ +@[expose] public section + universe u open Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean b/Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean index dd31a8dfee7830..873b6cfa3be7d8 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations -import Mathlib.AlgebraicTopology.SimplicialSet.Boundary -import Mathlib.AlgebraicTopology.SimplicialSet.Horn -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +module + +public import Mathlib.AlgebraicTopology.ModelCategory.CategoryWithCofibrations +public import Mathlib.AlgebraicTopology.SimplicialSet.Boundary +public import Mathlib.AlgebraicTopology.SimplicialSet.Horn +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty /-! # Cofibrations and fibrations in the category of simplicial sets @@ -21,6 +23,8 @@ to use the assumption `[Mono f]` instead of `[Cofibration f]`. -/ +@[expose] public section + open CategoryTheory HomotopicalAlgebra MorphismProperty Simplicial universe u diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean index 5119ffafd07784..d8a04aef73c3bb 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Coskeletal -import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Functor.KanExtension.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Coskeletal +public import Mathlib.AlgebraicTopology.SimplicialSet.StrictSegal +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic /-! # Coskeletal simplicial sets @@ -22,6 +24,8 @@ As an example, `SimplicialObject.IsCoskeletal (nerve C) 2` shows that nerves of 2-coskeletal. -/ +@[expose] public section + universe v u diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean index 6a2fdf7c4a8c75..31831f6baecb56 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex /-! # Degenerate simplices @@ -18,6 +20,8 @@ for an epimorphism `f : ⦋n⦌ ⟶ ⦋m⦌` and a non-degenerate `m`-simplex `y -/ +@[expose] public section + universe u open CategoryTheory Simplicial Limits Opposite diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean b/Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean index 89f91ae46fad0b..14ae1c10df5d58 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/HomotopyCat.lean @@ -3,14 +3,15 @@ Copyright (c) 2024 Mario Carneiro and Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou -/ +module -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal -import Mathlib.AlgebraicTopology.SimplexCategory.Truncated -import Mathlib.CategoryTheory.Category.ReflQuiv -import Mathlib.Combinatorics.Quiver.ReflQuiver -import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal -import Mathlib.CategoryTheory.Category.Cat.Terminal +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.AlgebraicTopology.SimplicialSet.Coskeletal +public import Mathlib.AlgebraicTopology.SimplexCategory.Truncated +public import Mathlib.CategoryTheory.Category.ReflQuiv +public import Mathlib.Combinatorics.Quiver.ReflQuiver +public import Mathlib.AlgebraicTopology.SimplicialSet.Monoidal +public import Mathlib.CategoryTheory.Category.Cat.Terminal /-! @@ -36,6 +37,8 @@ nerve functor, made by possible by the fact that nerves of categories are 2-cosk composing a pair of adjunctions, which factor through the category of 2-truncated simplicial sets. -/ +@[expose] public section + namespace SSet open CategoryTheory Category Limits Functor Opposite Simplicial Nerve open SimplexCategory.Truncated SimplicialObject.Truncated diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean index 94f297e7c0f031..022c98e0c87775 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex -import Mathlib.CategoryTheory.Subpresheaf.Equalizer +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +public import Mathlib.CategoryTheory.Subpresheaf.Equalizer /-! # Horns @@ -13,6 +15,8 @@ This file introduces horns `Λ[n, i]`. -/ +@[expose] public section + universe u open CategoryTheory Simplicial Opposite diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean b/Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean index 7bc631725c255c..00099630333ed8 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Joël Riou -/ -import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant -import Mathlib.AlgebraicTopology.SimplicialSet.CategoryWithFibrations -import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex +module + +public import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +public import Mathlib.AlgebraicTopology.SimplicialSet.CategoryWithFibrations +public import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex /-! # Kan complexes @@ -23,6 +25,8 @@ we show that every Kan complex is a quasicategory. -/ +@[expose] public section + universe u namespace SSet diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean index 20d525f11ee410..9fc3f0e8907648 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Jack McKoen -/ -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Types.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Types.Basic /-! # The monoidal category structure on simplicial sets @@ -19,6 +21,8 @@ category structure on `SSet`. -/ +@[expose] public section + universe u open Simplicial CategoryTheory MonoidalCategory Limits diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean index 7a86e447681f59..0e21daa5d19cf3 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Basic -import Mathlib.CategoryTheory.ComposableArrows +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Basic +public import Mathlib.CategoryTheory.ComposableArrows /-! @@ -20,6 +22,8 @@ which is the category `Fin (n + 1) ⥤ C`. -/ +@[expose] public section + open CategoryTheory.Category Simplicial universe v u diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean b/Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean index 68fcbda44ecd2e..400bf041fe063c 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mario Carneiro and Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat -import Mathlib.AlgebraicTopology.SimplexCategory.MorphismProperty -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.HomotopyCat +public import Mathlib.AlgebraicTopology.SimplexCategory.MorphismProperty +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! @@ -29,6 +31,8 @@ reflective. Since the category of simplicial sets is cocomplete, we conclude in -/ +@[expose] public section + namespace CategoryTheory open Category Functor Limits Opposite SimplexCategory Simplicial SSet Nerve diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean b/Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean index bbb20f5c4a2020..0268bc0dfd3baf 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/NerveNondegenerate.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate -import Mathlib.AlgebraicTopology.SimplicialSet.Nerve +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate +public import Mathlib.AlgebraicTopology.SimplicialSet.Nerve /-! # The nondegenerate simplices in the nerve of a partially ordered type @@ -15,6 +17,8 @@ the monotone map `s.obj : Fin (n + 1) → X` is strictly monotone. -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean b/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean index d1611bc78cea39..a3e74cfce853e5 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate -import Mathlib.AlgebraicTopology.SimplicialSet.Simplices +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Degenerate +public import Mathlib.AlgebraicTopology.SimplicialSet.Simplices /-! # The partially ordered type of non degenerate simplices of a simplicial set @@ -19,6 +21,8 @@ non degenerate `x.toN : X.N` such that `x.toN.subcomplex = x.subcomplex`. -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean b/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean index db9e57b0f00593..da1cf0b1b7c39e 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplices +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.NonDegenerateSimplices /-! # The type of nondegenerate simplices not in a subcomplex @@ -14,6 +16,8 @@ that are not in `A`. -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Op.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Op.lean index d903b050b5d77a..67c2a9d0929190 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Op.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Op.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Op -import Mathlib.AlgebraicTopology.SimplicialSet.Basic +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Op +public import Mathlib.AlgebraicTopology.SimplicialSet.Basic /-! # The covariant involution of the category of simplicial sets @@ -25,6 +27,8 @@ topological realization of `X` (@joelriou) -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Path.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Path.lean index c75434b5342863..013b8f8ac54d75 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Path.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Path.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Horn +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Horn /-! # Paths in simplicial sets @@ -19,6 +21,8 @@ An `n`-simplex has a maximal path, the `spine` of the simplex, which is a path of length `n`. -/ +@[expose] public section + universe v u open CategoryTheory Opposite Simplicial SimplexCategory diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean index 7aa1b27ae2cd2b..11909202d5989c 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Elements -import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex +module + +public import Mathlib.CategoryTheory.Elements +public import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex /-! # The preordered type of simplices of a simplicial set @@ -25,6 +27,8 @@ simplices of a simplicial set `X` which do not belong to a given subcomplex. -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean b/Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean index 84c87175343ecc..3a16b27c743b57 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz, Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex -import Mathlib.AlgebraicTopology.SimplicialSet.NerveNondegenerate -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.Data.Fin.VecNotation -import Mathlib.Order.Fin.SuccAboveOrderIso +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Subcomplex +public import Mathlib.AlgebraicTopology.SimplicialSet.NerveNondegenerate +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Order.Fin.SuccAboveOrderIso /-! # The standard simplex @@ -19,6 +21,8 @@ for their boundaries`∂Δ[n]` and horns `Λ[n, i]`. -/ +@[expose] public section + universe u open CategoryTheory Limits Simplicial Opposite diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean b/Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean index 1451de9820e13a..b2c3de5e8336f6 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/StrictSegal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl, Joël Riou, Johan Commelin, Nick Ward -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Nerve -import Mathlib.AlgebraicTopology.SimplicialSet.Path +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Nerve +public import Mathlib.AlgebraicTopology.SimplicialSet.Path /-! # Strict Segal simplicial sets @@ -23,6 +25,8 @@ in `Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean`. -/ +@[expose] public section + universe v u open CategoryTheory Simplicial SimplexCategory diff --git a/Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean b/Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean index 1bc04a7a573d2a..59e518e583f092 100644 --- a/Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean +++ b/Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialSet.Basic -import Mathlib.CategoryTheory.Subpresheaf.OfSection +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.Basic +public import Mathlib.CategoryTheory.Subpresheaf.OfSection /-! # Subcomplexes of a simplicial set @@ -22,6 +24,8 @@ in the category of presheaves. -/ +@[expose] public section + universe u open CategoryTheory Simplicial diff --git a/Mathlib/AlgebraicTopology/SingularHomology/Basic.lean b/Mathlib/AlgebraicTopology/SingularHomology/Basic.lean index c193178cdd3d19..fc17ce502e264d 100644 --- a/Mathlib/AlgebraicTopology/SingularHomology/Basic.lean +++ b/Mathlib/AlgebraicTopology/SingularHomology/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Homology.AlternatingConst -import Mathlib.AlgebraicTopology.SingularSet +module + +public import Mathlib.Algebra.Homology.AlternatingConst +public import Mathlib.AlgebraicTopology.SingularSet /-! # Singular homology @@ -14,6 +16,8 @@ We also calculate the homology of a totally disconnected space as an example. -/ +@[expose] public section + noncomputable section namespace AlgebraicTopology diff --git a/Mathlib/AlgebraicTopology/SingularSet.lean b/Mathlib/AlgebraicTopology/SingularSet.lean index ded806d6ec9134..ad2e9c93b1efeb 100644 --- a/Mathlib/AlgebraicTopology/SingularSet.lean +++ b/Mathlib/AlgebraicTopology/SingularSet.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex -import Mathlib.AlgebraicTopology.TopologicalSimplex -import Mathlib.CategoryTheory.Limits.Presheaf -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.Topology.Category.TopCat.ULift +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.StdSimplex +public import Mathlib.AlgebraicTopology.TopologicalSimplex +public import Mathlib.CategoryTheory.Limits.Presheaf +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.Topology.Category.TopCat.ULift /-! # The singular simplicial set of a topological space and geometric realization of a simplicial set @@ -35,6 +37,8 @@ It is the left Kan extension of `SimplexCategory.toTop` along the Yoneda embeddi -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/AlgebraicTopology/TopologicalSimplex.lean b/Mathlib/AlgebraicTopology/TopologicalSimplex.lean index 7e6b8ea137ad8b..84c646d96bf530 100644 --- a/Mathlib/AlgebraicTopology/TopologicalSimplex.lean +++ b/Mathlib/AlgebraicTopology/TopologicalSimplex.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Adam Topaz -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.AlgebraicTopology.SimplexCategory.Basic -import Mathlib.Topology.Category.TopCat.ULift -import Mathlib.Topology.Connected.PathConnected +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.AlgebraicTopology.SimplexCategory.Basic +public import Mathlib.Topology.Category.TopCat.ULift +public import Mathlib.Topology.Connected.PathConnected /-! # Topological simplices @@ -16,6 +18,8 @@ topological `n`-simplex. This is used to define `TopCat.toSSet` in `AlgebraicTopology.SingularSet`. -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/Analysis/AbsoluteValue/Equivalence.lean b/Mathlib/Analysis/AbsoluteValue/Equivalence.lean index 129672f0f15343..186cd3622ffc5f 100644 --- a/Mathlib/Analysis/AbsoluteValue/Equivalence.lean +++ b/Mathlib/Analysis/AbsoluteValue/Equivalence.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Analysis.Normed.Field.WithAbs +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Analysis.Normed.Field.WithAbs /-! # Equivalence of real-valued absolute values @@ -13,6 +15,8 @@ Two absolute values `v₁, v₂ : AbsoluteValue R ℝ` are *equivalent* if there positive real number `c` such that `v₁ x ^ c = v₂ x` for all `x : R`. -/ +@[expose] public section + namespace AbsoluteValue section OrderedSemiring diff --git a/Mathlib/Analysis/Analytic/Basic.lean b/Mathlib/Analysis/Analytic/Basic.lean index 62f8b59d8e87b8..dfee218ddd528d 100644 --- a/Mathlib/Analysis/Analytic/Basic.lean +++ b/Mathlib/Analysis/Analytic/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.ConvergenceRadius -import Mathlib.Topology.Algebra.InfiniteSum.Module +module + +public import Mathlib.Analysis.Analytic.ConvergenceRadius +public import Mathlib.Topology.Algebra.InfiniteSum.Module /-! # Analytic functions @@ -49,6 +51,8 @@ We develop the basic properties of these notions, notably: -/ +@[expose] public section + variable {𝕜 E F G : Type*} variable [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Analytic/Binomial.lean b/Mathlib/Analysis/Analytic/Binomial.lean index b9b25495c8084d..838d6450c62f2a 100644 --- a/Mathlib/Analysis/Analytic/Binomial.lean +++ b/Mathlib/Analysis/Analytic/Binomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Analysis.SpecialFunctions.OrdinaryHypergeometric -import Mathlib.RingTheory.Binomial +module + +public import Mathlib.Analysis.SpecialFunctions.OrdinaryHypergeometric +public import Mathlib.RingTheory.Binomial /-! # Binomial Series @@ -25,6 +27,8 @@ and $x$ is an element of a normed algebra over $\mathbb{K}$. since it is finite. -/ +@[expose] public section + open scoped Nat universe u v diff --git a/Mathlib/Analysis/Analytic/CPolynomial.lean b/Mathlib/Analysis/Analytic/CPolynomial.lean index e52f38e92980c2..0b47de48ef47a0 100644 --- a/Mathlib/Analysis/Analytic/CPolynomial.lean +++ b/Mathlib/Analysis/Analytic/CPolynomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Analytic.CPolynomialDef +module + +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Analytic.CPolynomialDef /-! # Properties of continuously polynomial functions @@ -16,6 +18,8 @@ are continuous linear maps into continuous multilinear maps. In particular, such analytic. -/ +@[expose] public section + variable {𝕜 E F G : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAddCommGroup F] [NormedSpace 𝕜 F] [NormedAddCommGroup G] [NormedSpace 𝕜 G] diff --git a/Mathlib/Analysis/Analytic/CPolynomialDef.lean b/Mathlib/Analysis/Analytic/CPolynomialDef.lean index 20bf2ff2071ba2..1e4a7a971e358f 100644 --- a/Mathlib/Analysis/Analytic/CPolynomialDef.lean +++ b/Mathlib/Analysis/Analytic/CPolynomialDef.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Analysis.Analytic.ChangeOrigin +module + +public import Mathlib.Analysis.Analytic.ChangeOrigin /-! We specialize the theory of analytic functions to the case of functions that admit a development given by a *finite* formal multilinear series. We call them "continuously polynomial", @@ -42,6 +44,8 @@ More API is available in the file `Mathlib/Analysis/Analytic/CPolynomial.lean`, imports. -/ +@[expose] public section + variable {𝕜 E F G : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAddCommGroup F] [NormedSpace 𝕜 F] [NormedAddCommGroup G] [NormedSpace 𝕜 G] diff --git a/Mathlib/Analysis/Analytic/ChangeOrigin.lean b/Mathlib/Analysis/Analytic/ChangeOrigin.lean index 8890976b69f438..90d180a1588561 100644 --- a/Mathlib/Analysis/Analytic/ChangeOrigin.lean +++ b/Mathlib/Analysis/Analytic/ChangeOrigin.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.Basic +module + +public import Mathlib.Analysis.Analytic.Basic /-! # Changing origin in a power series @@ -33,6 +35,8 @@ series `p` as `p.changeOrigin y`. See `HasFPowerSeriesOnBall.changeOrigin`. It f that the set of points at which a given function is analytic is open, see `isOpen_analyticAt`. -/ +@[expose] public section + noncomputable section open scoped NNReal ENNReal Topology diff --git a/Mathlib/Analysis/Analytic/Composition.lean b/Mathlib/Analysis/Analytic/Composition.lean index db3f9853d46939..32d135f0254347 100644 --- a/Mathlib/Analysis/Analytic/Composition.lean +++ b/Mathlib/Analysis/Analytic/Composition.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Johan Commelin -/ -import Mathlib.Analysis.Analytic.Basic -import Mathlib.Analysis.Analytic.CPolynomialDef -import Mathlib.Combinatorics.Enumerative.Composition +module + +public import Mathlib.Analysis.Analytic.Basic +public import Mathlib.Analysis.Analytic.CPolynomialDef +public import Mathlib.Combinatorics.Enumerative.Composition /-! # Composition of analytic functions @@ -64,6 +66,8 @@ double sums in a careful way. The change of variables is a canonical (combinator in more details below in the paragraph on associativity. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Analytic/Constructions.lean b/Mathlib/Analysis/Analytic/Constructions.lean index bf94ef72666830..2be99d40806c7a 100644 --- a/Mathlib/Analysis/Analytic/Constructions.lean +++ b/Mathlib/Analysis/Analytic/Constructions.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler, Geoffrey Irving, Stefan Kebekus -/ -import Mathlib.Analysis.Analytic.Composition -import Mathlib.Analysis.Analytic.Linear -import Mathlib.Analysis.Normed.Operator.Mul -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Analysis.Analytic.OfScalars +module + +public import Mathlib.Analysis.Analytic.Composition +public import Mathlib.Analysis.Analytic.Linear +public import Mathlib.Analysis.Normed.Operator.Mul +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Analysis.Analytic.OfScalars /-! # Various ways to combine analytic functions @@ -19,6 +21,8 @@ We show that the following are analytic: 3. Finite sums and products: `Finset.sum`, `Finset.prod` -/ +@[expose] public section + noncomputable section open scoped Topology diff --git a/Mathlib/Analysis/Analytic/ConvergenceRadius.lean b/Mathlib/Analysis/Analytic/ConvergenceRadius.lean index 1146b935a62c53..c1a81f392ce826 100644 --- a/Mathlib/Analysis/Analytic/ConvergenceRadius.lean +++ b/Mathlib/Analysis/Analytic/ConvergenceRadius.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FormalMultilinearSeries -import Mathlib.Analysis.SpecificLimits.Normed +module + +public import Mathlib.Analysis.Calculus.FormalMultilinearSeries +public import Mathlib.Analysis.SpecificLimits.Normed /-! # Radius of convergence of a power series @@ -36,6 +38,8 @@ notion, describing the polydisk of convergence. This notion is more specific, an build the general theory. We do not define it here. -/ +@[expose] public section + noncomputable section variable {𝕜 E F G : Type*} diff --git a/Mathlib/Analysis/Analytic/Inverse.lean b/Mathlib/Analysis/Analytic/Inverse.lean index fd61f4add7aedb..f53fa8e359d939 100644 --- a/Mathlib/Analysis/Analytic/Inverse.lean +++ b/Mathlib/Analysis/Analytic/Inverse.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Analytic.Composition -import Mathlib.Analysis.Analytic.Linear -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Analysis.Analytic.Composition +public import Mathlib.Analysis.Analytic.Linear +public import Mathlib.Tactic.Positivity /-! @@ -32,6 +34,8 @@ inverse of an analytic open partial homeomorphism is analytic. at the image point, given by `p.leftInv`. -/ +@[expose] public section + open scoped Topology ENNReal open Finset Filter diff --git a/Mathlib/Analysis/Analytic/IsolatedZeros.lean b/Mathlib/Analysis/Analytic/IsolatedZeros.lean index 303686015fd4f8..fe84c96e8914d3 100644 --- a/Mathlib/Analysis/Analytic/IsolatedZeros.lean +++ b/Mathlib/Analysis/Analytic/IsolatedZeros.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Vincent Beffara. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vincent Beffara, Stefan Kebekus -/ -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Calculus.DSlope -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Analytic.Uniqueness -import Mathlib.Order.Filter.EventuallyConst -import Mathlib.Topology.Perfect +module + +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Calculus.DSlope +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Analytic.Uniqueness +public import Mathlib.Order.Filter.EventuallyConst +public import Mathlib.Topology.Perfect /-! # Principle of isolated zeros @@ -36,6 +38,8 @@ in this setup. within `f '' U` is codiscrete within `U`. -/ +@[expose] public section + open Filter Function Nat FormalMultilinearSeries EMetric Set open scoped Topology diff --git a/Mathlib/Analysis/Analytic/IteratedFDeriv.lean b/Mathlib/Analysis/Analytic/IteratedFDeriv.lean index 98e5b8e21d3573..779f459cf49b85 100644 --- a/Mathlib/Analysis/Analytic/IteratedFDeriv.lean +++ b/Mathlib/Analysis/Analytic/IteratedFDeriv.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.ContDiff.CPolynomial -import Mathlib.Data.Fintype.Perm +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.ContDiff.CPolynomial +public import Mathlib.Data.Fintype.Perm /-! # The iterated derivative of an analytic function @@ -44,6 +46,8 @@ statements. When needed, we give versions of some statements assuming completene analyticity, for ease of use. -/ +@[expose] public section + open scoped ENNReal Topology ContDiff open Equiv Set diff --git a/Mathlib/Analysis/Analytic/Linear.lean b/Mathlib/Analysis/Analytic/Linear.lean index 59f8def96de4ee..41ab9750d6ecaa 100644 --- a/Mathlib/Analysis/Analytic/Linear.lean +++ b/Mathlib/Analysis/Analytic/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.Basic -import Mathlib.Analysis.Analytic.CPolynomialDef +module + +public import Mathlib.Analysis.Analytic.Basic +public import Mathlib.Analysis.Analytic.CPolynomialDef /-! # Linear functions are analytic @@ -16,6 +18,8 @@ We deduce this fact from the stronger result that continuous linear maps are con polynomial, i.e., they admit a finite power series. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type*} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {G : Type*} [NormedAddCommGroup G] [NormedSpace 𝕜 G] diff --git a/Mathlib/Analysis/Analytic/OfScalars.lean b/Mathlib/Analysis/Analytic/OfScalars.lean index b51ed69afcc329..265441db2d5078 100644 --- a/Mathlib/Analysis/Analytic/OfScalars.lean +++ b/Mathlib/Analysis/Analytic/OfScalars.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Edward Watine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Edward Watine -/ -import Mathlib.Analysis.Analytic.ConvergenceRadius +module + +public import Mathlib.Analysis.Analytic.ConvergenceRadius /-! # Scalar series @@ -20,6 +22,8 @@ This file contains API for analytic functions `∑ cᵢ • xⁱ` defined in ter the ratio test for an analytic function using `ENNReal` division for all values `ℝ≥0∞`. -/ +@[expose] public section + namespace FormalMultilinearSeries section Field diff --git a/Mathlib/Analysis/Analytic/Order.lean b/Mathlib/Analysis/Analytic/Order.lean index 2c7dc9ddaf1dea..23d521ced88367 100644 --- a/Mathlib/Analysis/Analytic/Order.lean +++ b/Mathlib/Analysis/Analytic/Order.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Vincent Beffara. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vincent Beffara, Stefan Kebekus -/ -import Mathlib.Analysis.Analytic.IsolatedZeros +module + +public import Mathlib.Analysis.Analytic.IsolatedZeros /-! # Vanishing Order of Analytic Functions @@ -16,6 +18,8 @@ of `ℕ∞`. Uniformize API between analytic and meromorphic functions -/ +@[expose] public section + open Filter Set open scoped Topology diff --git a/Mathlib/Analysis/Analytic/Polynomial.lean b/Mathlib/Analysis/Analytic/Polynomial.lean index d1a951e7379004..dfe0c140df7365 100644 --- a/Mathlib/Analysis/Analytic/Polynomial.lean +++ b/Mathlib/Analysis/Analytic/Polynomial.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # Polynomials are analytic @@ -15,6 +17,8 @@ This file combines the analysis and algebra libraries and shows that evaluation is an analytic function. -/ +@[expose] public section + variable {𝕜 E A B : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [CommSemiring A] {z : E} {s : Set E} diff --git a/Mathlib/Analysis/Analytic/RadiusLiminf.lean b/Mathlib/Analysis/Analytic/RadiusLiminf.lean index 9b37e4b83c1016..728278dd9fecb0 100644 --- a/Mathlib/Analysis/Analytic/RadiusLiminf.lean +++ b/Mathlib/Analysis/Analytic/RadiusLiminf.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.ConvergenceRadius -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +module + +public import Mathlib.Analysis.Analytic.ConvergenceRadius +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal /-! # Representation of `FormalMultilinearSeries.radius` as a `liminf` @@ -14,6 +16,8 @@ because this would create a circular dependency once we redefine `exp` using `FormalMultilinearSeries`. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type*} [NormedAddCommGroup F] [NormedSpace 𝕜 F] diff --git a/Mathlib/Analysis/Analytic/Uniqueness.lean b/Mathlib/Analysis/Analytic/Uniqueness.lean index 0e2084592eeed5..6d211c8c17aa7a 100644 --- a/Mathlib/Analysis/Analytic/Uniqueness.lean +++ b/Mathlib/Analysis/Analytic/Uniqueness.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Analytic.Linear -import Mathlib.Analysis.Analytic.Composition -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Normed.Module.Completion -import Mathlib.Analysis.Analytic.ChangeOrigin +module + +public import Mathlib.Analysis.Analytic.Linear +public import Mathlib.Analysis.Analytic.Composition +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Normed.Module.Completion +public import Mathlib.Analysis.Analytic.ChangeOrigin /-! # Uniqueness principle for analytic functions @@ -16,6 +18,8 @@ We show that two analytic functions which coincide around a point coincide on wh in `AnalyticOnNhd.eqOn_of_preconnected_of_eventuallyEq`. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type*} [NormedAddCommGroup F] [NormedSpace 𝕜 F] diff --git a/Mathlib/Analysis/Analytic/WithLp.lean b/Mathlib/Analysis/Analytic/WithLp.lean index e590182c35f4a9..cd7708513ccb32 100644 --- a/Mathlib/Analysis/Analytic/WithLp.lean +++ b/Mathlib/Analysis/Analytic/WithLp.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Analysis.Analytic.Linear -import Mathlib.Analysis.Normed.Lp.PiLp +module + +public import Mathlib.Analysis.Analytic.Linear +public import Mathlib.Analysis.Normed.Lp.PiLp /-! # Analyticity on `WithLp` -/ +@[expose] public section + open WithLp open scoped ENNReal diff --git a/Mathlib/Analysis/Analytic/Within.lean b/Mathlib/Analysis/Analytic/Within.lean index 2eb0051745641c..6118ca300b12cc 100644 --- a/Mathlib/Analysis/Analytic/Within.lean +++ b/Mathlib/Analysis/Analytic/Within.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving -/ -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Analytic.ChangeOrigin +module + +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Analytic.ChangeOrigin /-! # Properties of analyticity restricted to a set @@ -21,6 +23,8 @@ Here we prove basic properties of these definitions. Where convenient we assume ambient space, which allows us to relate `AnalyticWithinAt` to analyticity of a local extension. -/ +@[expose] public section + noncomputable section open Topology Filter ENNReal diff --git a/Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean b/Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean index fc03de0be2e92a..dfa7a6619594d0 100644 --- a/Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean +++ b/Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.Asymptotics.Theta +module + +public import Mathlib.Analysis.Asymptotics.Theta /-! # Asymptotic equivalence @@ -53,6 +55,8 @@ This is to enable `calc` support, as `calc` requires that the last two explicit -/ +@[expose] public section + namespace Asymptotics diff --git a/Mathlib/Analysis/Asymptotics/Completion.lean b/Mathlib/Analysis/Asymptotics/Completion.lean index fe5e32527dee4a..0d480ee3d7f339 100644 --- a/Mathlib/Analysis/Asymptotics/Completion.lean +++ b/Mathlib/Analysis/Asymptotics/Completion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.Theta -import Mathlib.Analysis.Normed.Group.Completion +module + +public import Mathlib.Analysis.Asymptotics.Theta +public import Mathlib.Analysis.Normed.Group.Completion /-! # Asymptotics in the completion of a normed space @@ -13,6 +15,8 @@ In this file we prove lemmas relating `f = O(g)` etc for composition of functions with coercion of a seminormed group to its completion. -/ +@[expose] public section + variable {α E F : Type*} [Norm E] [SeminormedAddCommGroup F] {f : α → E} {g : α → F} {l : Filter α} diff --git a/Mathlib/Analysis/Asymptotics/Defs.lean b/Mathlib/Analysis/Asymptotics/Defs.lean index 90305eef36833b..935396e3491771 100644 --- a/Mathlib/Analysis/Asymptotics/Defs.lean +++ b/Mathlib/Analysis/Asymptotics/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Field.Basic +module + +public import Mathlib.Analysis.Normed.Field.Basic /-! # Asymptotics @@ -41,6 +43,8 @@ it suffices to assume that `f` is zero wherever `g` is. (This generalization is the Fréchet derivative.) -/ +@[expose] public section + assert_not_exists IsBoundedSMul Summable OpenPartialHomeomorph BoundedLENhdsClass open Set Topology Filter NNReal diff --git a/Mathlib/Analysis/Asymptotics/ExpGrowth.lean b/Mathlib/Analysis/Asymptotics/ExpGrowth.lean index 2665376fbb71f7..ec6907dce12bc8 100644 --- a/Mathlib/Analysis/Asymptotics/ExpGrowth.lean +++ b/Mathlib/Analysis/Asymptotics/ExpGrowth.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Analysis.Asymptotics.LinearGrowth -import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp +module + +public import Mathlib.Analysis.Asymptotics.LinearGrowth +public import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp /-! # Exponential growth @@ -23,6 +25,8 @@ as homomorphisms preserving finitary `Inf`/`Sup` respectively. asymptotics, exponential -/ +@[expose] public section + namespace ExpGrowth open ENNReal EReal Filter Function LinearGrowth diff --git a/Mathlib/Analysis/Asymptotics/Lemmas.lean b/Mathlib/Analysis/Asymptotics/Lemmas.lean index deba4769bb738c..653579e0066b17 100644 --- a/Mathlib/Analysis/Asymptotics/Lemmas.lean +++ b/Mathlib/Analysis/Asymptotics/Lemmas.lean @@ -3,17 +3,21 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.Defs -import Mathlib.Analysis.Normed.Group.Bounded -import Mathlib.Analysis.Normed.Group.InfiniteSum -import Mathlib.Analysis.Normed.MulAction -import Mathlib.Topology.OpenPartialHomeomorph +module + +public import Mathlib.Analysis.Asymptotics.Defs +public import Mathlib.Analysis.Normed.Group.Bounded +public import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Analysis.Normed.MulAction +public import Mathlib.Topology.OpenPartialHomeomorph /-! # Further basic lemmas about asymptotics -/ +@[expose] public section + open Set Topology Filter NNReal namespace Asymptotics diff --git a/Mathlib/Analysis/Asymptotics/LinearGrowth.lean b/Mathlib/Analysis/Asymptotics/LinearGrowth.lean index ad7e0ac4ce2d70..46d25eb733e2b9 100644 --- a/Mathlib/Analysis/Asymptotics/LinearGrowth.lean +++ b/Mathlib/Analysis/Asymptotics/LinearGrowth.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Linear growth @@ -26,6 +28,8 @@ Lemma about coercion from `ENNReal` to `EReal`. This needs additional lemmas abo `ENNReal.toEReal`. -/ +@[expose] public section + namespace LinearGrowth open EReal Filter Function diff --git a/Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean b/Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean index 0eae9323725a5a..c730ff21d5faab 100644 --- a/Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean +++ b/Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +module + +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity /-! # A collection of specific asymptotic results @@ -13,6 +15,8 @@ This file contains specific lemmas about asymptotics which don't have their plac theory developed in `Mathlib/Analysis/Asymptotics/Asymptotics.lean`. -/ +@[expose] public section + open Filter Asymptotics diff --git a/Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean b/Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean index cef5b297a6deb3..fd70b95f945ad4 100644 --- a/Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean +++ b/Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Devon Tuma -/ -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.Analysis.Asymptotics.Lemmas +module + +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.Analysis.Asymptotics.Lemmas /-! # Super-Polynomial Function Decay @@ -42,6 +44,8 @@ https://ncatlab.org/nlab/show/rapidly+decreasing+function of decaying faster than `k(x) ^ n` for all naturals `n` or `k(x) ^ c` for all integer `c`. -/ +@[expose] public section + namespace Asymptotics diff --git a/Mathlib/Analysis/Asymptotics/TVS.lean b/Mathlib/Analysis/Asymptotics/TVS.lean index 277c17c576fd4f..2d3484444c1889 100644 --- a/Mathlib/Analysis/Asymptotics/TVS.lean +++ b/Mathlib/Analysis/Asymptotics/TVS.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Eric Wieser -/ -import Mathlib.Analysis.Convex.EGauge -import Mathlib.Analysis.LocallyConvex.BalancedCoreHull -import Mathlib.Analysis.Seminorm -import Mathlib.Tactic.Peel -import Mathlib.Topology.Instances.ENNReal.Lemmas -import Mathlib.Analysis.Asymptotics.Defs -import Mathlib.Topology.Algebra.Module.LinearMapPiProd +module + +public import Mathlib.Analysis.Convex.EGauge +public import Mathlib.Analysis.LocallyConvex.BalancedCoreHull +public import Mathlib.Analysis.Seminorm +public import Mathlib.Tactic.Peel +public import Mathlib.Topology.Instances.ENNReal.Lemmas +public import Mathlib.Analysis.Asymptotics.Defs +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd /-! # Asymptotics in a Topological Vector Space @@ -61,6 +63,8 @@ and `Asymptotics.IsBigOTVS` was defined in a similar manner. -/ +@[expose] public section + open Set Filter Asymptotics Metric open scoped Topology Pointwise ENNReal NNReal diff --git a/Mathlib/Analysis/Asymptotics/Theta.lean b/Mathlib/Analysis/Asymptotics/Theta.lean index 5fcf2d7a12f6a0..62aae69e789470 100644 --- a/Mathlib/Analysis/Asymptotics/Theta.lean +++ b/Mathlib/Analysis/Asymptotics/Theta.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.Lemmas -import Mathlib.Analysis.Normed.Module.Basic +module + +public import Mathlib.Analysis.Asymptotics.Lemmas +public import Mathlib.Analysis.Normed.Module.Basic /-! # Asymptotic equivalence up to a constant @@ -13,6 +15,8 @@ In this file we define `Asymptotics.IsTheta l f g` (notation: `f =Θ[l] g`) as `f =O[l] g ∧ g =O[l] f`, then prove basic properties of this equivalence relation. -/ +@[expose] public section + open Filter diff --git a/Mathlib/Analysis/BoundedVariation.lean b/Mathlib/Analysis/BoundedVariation.lean index 552e238b9b6dd9..159cbfb4d3b819 100644 --- a/Mathlib/Analysis/BoundedVariation.lean +++ b/Mathlib/Analysis/BoundedVariation.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Calculus.Monotone -import Mathlib.Topology.EMetricSpace.BoundedVariation +module + +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Calculus.Monotone +public import Mathlib.Topology.EMetricSpace.BoundedVariation /-! # Almost everywhere differentiability of functions with locally bounded variation @@ -26,6 +28,8 @@ We also give several variations around these results. -/ +@[expose] public section + open scoped NNReal ENNReal Topology open Set MeasureTheory Filter diff --git a/Mathlib/Analysis/BoxIntegral/Basic.lean b/Mathlib/Analysis/BoxIntegral/Basic.lean index 145a89fa7e1473..e8998ef0475516 100644 --- a/Mathlib/Analysis/BoxIntegral/Basic.lean +++ b/Mathlib/Analysis/BoxIntegral/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.Filter -import Mathlib.Analysis.BoxIntegral.Partition.Measure -import Mathlib.Analysis.Oscillation -import Mathlib.Data.Bool.Basic -import Mathlib.MeasureTheory.Measure.Real -import Mathlib.Topology.UniformSpace.Compact +module + +public import Mathlib.Analysis.BoxIntegral.Partition.Filter +public import Mathlib.Analysis.BoxIntegral.Partition.Measure +public import Mathlib.Analysis.Oscillation +public import Mathlib.Data.Bool.Basic +public import Mathlib.MeasureTheory.Measure.Real +public import Mathlib.Topology.UniformSpace.Compact /-! # Integrals of Riemann, Henstock-Kurzweil, and McShane @@ -51,6 +53,8 @@ non-Riemann filter (e.g., Henstock-Kurzweil and McShane). integral -/ +@[expose] public section + open scoped Topology NNReal Filter Uniformity BoxIntegral open Set Finset Function Filter Metric BoxIntegral.IntegrationParams diff --git a/Mathlib/Analysis/BoxIntegral/Box/Basic.lean b/Mathlib/Analysis/BoxIntegral/Box/Basic.lean index cbbe350bd2ebe1..d4ecbe96fb3ba6 100644 --- a/Mathlib/Analysis/BoxIntegral/Box/Basic.lean +++ b/Mathlib/Analysis/BoxIntegral/Box/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.NNReal.Basic -import Mathlib.Order.Fin.Tuple -import Mathlib.Order.Interval.Set.Monotone -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.MetricSpace.Bounded -import Mathlib.Topology.MetricSpace.Pseudo.Real -import Mathlib.Topology.Order.MonotoneConvergence +module + +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Order.Fin.Tuple +public import Mathlib.Order.Interval.Set.Monotone +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Topology.MetricSpace.Pseudo.Real +public import Mathlib.Topology.Order.MonotoneConvergence /-! # Rectangular boxes in `ℝⁿ` @@ -52,6 +54,8 @@ that returns the box `⟨l, u, _⟩` if it is nonempty and `⊥` otherwise. rectangular box -/ +@[expose] public section + open Set Function Metric Filter noncomputable section diff --git a/Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean b/Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean index a949e2fa6b9525..7cccd2578e95af 100644 --- a/Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean +++ b/Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Box.Basic -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.BoxIntegral.Box.Basic +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Induction on subboxes @@ -26,6 +28,8 @@ Then `p I` is true. rectangular box, induction -/ +@[expose] public section + open Set Function Filter Topology noncomputable section diff --git a/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean b/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean index 403784cb4ac8a4..551383877a5bd1 100644 --- a/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean +++ b/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Basic -import Mathlib.Analysis.BoxIntegral.Partition.Additive -import Mathlib.Analysis.Calculus.FDeriv.Prod +module + +public import Mathlib.Analysis.BoxIntegral.Basic +public import Mathlib.Analysis.BoxIntegral.Partition.Additive +public import Mathlib.Analysis.Calculus.FDeriv.Prod /-! # Divergence integral for Henstock-Kurzweil integral @@ -38,6 +40,8 @@ Henstock-Kurzweil integral. Henstock-Kurzweil integral, integral, Stokes theorem, divergence theorem -/ +@[expose] public section + open scoped NNReal ENNReal Topology BoxIntegral open ContinuousLinearMap (lsmul) diff --git a/Mathlib/Analysis/BoxIntegral/Integrability.lean b/Mathlib/Analysis/BoxIntegral/Integrability.lean index c89bde18daf3c9..9bf63a80928112 100644 --- a/Mathlib/Analysis/BoxIntegral/Integrability.lean +++ b/Mathlib/Analysis/BoxIntegral/Integrability.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Basic -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.Tactic.Generalize +module + +public import Mathlib.Analysis.BoxIntegral.Basic +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.Tactic.Generalize /-! # McShane integrability vs Bochner integrability @@ -21,6 +23,8 @@ We deduce that the same is true for the Riemann integral for continuous function integral, McShane integral, Bochner integral -/ +@[expose] public section + open scoped NNReal ENNReal Topology universe u v diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Additive.lean b/Mathlib/Analysis/BoxIntegral/Partition/Additive.lean index a9f0f6d096d55f..3365229aeb8a61 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Additive.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Additive.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.Split -import Mathlib.Analysis.Normed.Operator.Mul +module + +public import Mathlib.Analysis.BoxIntegral.Partition.Split +public import Mathlib.Analysis.Normed.Operator.Mul /-! # Box additive functions @@ -26,6 +28,8 @@ In this file we define box-additive functions and prove that a function such tha rectangular box, additive function -/ +@[expose] public section + noncomputable section open Function Set diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Basic.lean b/Mathlib/Analysis/BoxIntegral/Partition/Basic.lean index 7102437401f05b..88da49bfe2ac69 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Basic.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Option -import Mathlib.Analysis.BoxIntegral.Box.Basic -import Mathlib.Data.Set.Pairwise.Lattice +module + +public import Mathlib.Algebra.BigOperators.Option +public import Mathlib.Analysis.BoxIntegral.Box.Basic +public import Mathlib.Data.Set.Pairwise.Lattice /-! # Partitions of rectangular boxes in `ℝⁿ` @@ -36,6 +38,8 @@ We also define a `SemilatticeInf` structure on `BoxIntegral.Prepartition I` for rectangular box, partition -/ +@[expose] public section + open Set Finset Function open scoped NNReal diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Filter.lean b/Mathlib/Analysis/BoxIntegral/Partition/Filter.lean index f5bbe256ac8c9b..823eac493c042c 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Filter.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Filter.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.SubboxInduction -import Mathlib.Analysis.BoxIntegral.Partition.Split +module + +public import Mathlib.Analysis.BoxIntegral.Partition.SubboxInduction +public import Mathlib.Analysis.BoxIntegral.Partition.Split /-! # Filters used in box-based integrals @@ -163,6 +165,8 @@ prepartition (and consider the special case `π = ⊥` separately if needed). integral, rectangular box, partition, filter -/ +@[expose] public section + open Set Function Filter Metric Finset Bool open scoped Topology Filter NNReal diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Measure.lean b/Mathlib/Analysis/BoxIntegral/Partition/Measure.lean index c934fdc73f311d..7592beab86c6ba 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Measure.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Measure.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.Additive -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +module + +public import Mathlib.Analysis.BoxIntegral.Partition.Additive +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic /-! # Box-additive functions defined by measures @@ -23,6 +25,8 @@ For the last statement, we both prove it as a proposition and define a bundled rectangular box, measure -/ +@[expose] public section + open Set noncomputable section diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Split.lean b/Mathlib/Analysis/BoxIntegral/Partition/Split.lean index 155392dda11e12..c02e63f92539e7 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Split.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Split.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.Basic +module + +public import Mathlib.Analysis.BoxIntegral.Partition.Basic /-! # Split a box along one or more hyperplanes @@ -35,6 +37,8 @@ is available as `BoxIntegral.Prepartition.compl`. rectangular box, partition, hyperplane -/ +@[expose] public section + noncomputable section open Function Set Filter diff --git a/Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean b/Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean index ac9965aaeb4509..f792cc0f4b341a 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Box.SubboxInduction -import Mathlib.Analysis.BoxIntegral.Partition.Tagged +module + +public import Mathlib.Analysis.BoxIntegral.Box.SubboxInduction +public import Mathlib.Analysis.BoxIntegral.Partition.Tagged /-! # Induction on subboxes @@ -26,6 +28,8 @@ integral is well-defined. partition, tagged partition, Henstock integral -/ +@[expose] public section + namespace BoxIntegral diff --git a/Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean b/Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean index e065e7eb9a36d3..46b58f40fd0212 100644 --- a/Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean +++ b/Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.Partition.Basic +module + +public import Mathlib.Analysis.BoxIntegral.Partition.Basic /-! # Tagged partitions @@ -22,6 +24,8 @@ requirement. rectangular box, box partition -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/BoxIntegral/UnitPartition.lean b/Mathlib/Analysis/BoxIntegral/UnitPartition.lean index a1bd7d9ba5e7ec..9d62b73e2e0540 100644 --- a/Mathlib/Analysis/BoxIntegral/UnitPartition.lean +++ b/Mathlib/Analysis/BoxIntegral/UnitPartition.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Module.ZLattice.Basic -import Mathlib.Analysis.BoxIntegral.Integrability -import Mathlib.Analysis.BoxIntegral.Partition.Measure -import Mathlib.Analysis.BoxIntegral.Partition.Tagged +module + +public import Mathlib.Algebra.Module.ZLattice.Basic +public import Mathlib.Analysis.BoxIntegral.Integrability +public import Mathlib.Analysis.BoxIntegral.Partition.Measure +public import Mathlib.Analysis.BoxIntegral.Partition.Tagged /-! # Unit Partition @@ -52,6 +54,8 @@ is its vertices are in `ι → ℤ`, then the corresponding prepartition is actu -/ +@[expose] public section + noncomputable section variable {ι : Type*} diff --git a/Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean b/Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean index bfa7f25eb65ed3..7a840c66ce743a 100644 --- a/Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean +++ b/Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order -import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.Topology.ApproximateUnit +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.Topology.ApproximateUnit /-! # Nonnegative contractions in a C⋆-algebra form an approximate unit @@ -36,6 +38,8 @@ moreover, this filter is an increasing approximate unit. -/ +@[expose] public section + variable {A : Type*} [NonUnitalCStarAlgebra A] local notation "σₙ" => quasispectrum diff --git a/Mathlib/Analysis/CStarAlgebra/Basic.lean b/Mathlib/Analysis/CStarAlgebra/Basic.lean index 2e9d02f1ab0eab..bae2cb393097cf 100644 --- a/Mathlib/Analysis/CStarAlgebra/Basic.lean +++ b/Mathlib/Analysis/CStarAlgebra/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Algebra.Star.Pi -import Mathlib.Algebra.Star.SelfAdjoint -import Mathlib.Algebra.Star.Subalgebra -import Mathlib.Algebra.Star.Unitary -import Mathlib.Data.Real.Star -import Mathlib.Topology.Algebra.Module.Star +module + +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Algebra.Star.Pi +public import Mathlib.Algebra.Star.SelfAdjoint +public import Mathlib.Algebra.Star.Subalgebra +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.Data.Real.Star +public import Mathlib.Topology.Algebra.Module.Star /-! # Normed star rings and algebras @@ -32,6 +34,8 @@ Note that the type classes corresponding to C⋆-algebras are defined in -/ +@[expose] public section + assert_not_exists ContinuousLinearMap.hasOpNorm open Topology diff --git a/Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean b/Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean index 77b4e3543ccf29..79257ffc75505d 100644 --- a/Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean +++ b/Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.CStarAlgebra.Module.Constructions -import Mathlib.Analysis.Matrix -import Mathlib.Topology.UniformSpace.Matrix +public import Mathlib.Analysis.CStarAlgebra.Module.Constructions +public import Mathlib.Analysis.Matrix +public import Mathlib.Topology.UniformSpace.Matrix /-! # Matrices with entries in a C⋆-algebra @@ -32,6 +33,8 @@ replace the uniformity and bornology by the Pi ones when registering the below for more details. -/ +@[expose] public section + open scoped ComplexOrder Topology Uniformity Bornology Matrix NNReal InnerProductSpace WithCStarModule diff --git a/Mathlib/Analysis/CStarAlgebra/Classes.lean b/Mathlib/Analysis/CStarAlgebra/Classes.lean index 694344b6856f6b..f720a41963fde3 100644 --- a/Mathlib/Analysis/CStarAlgebra/Classes.lean +++ b/Mathlib/Analysis/CStarAlgebra/Classes.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Analysis.Complex.Basic -import Mathlib.Topology.Algebra.NonUnitalStarAlgebra -import Mathlib.Topology.Algebra.StarSubalgebra +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Topology.Algebra.NonUnitalStarAlgebra +public import Mathlib.Topology.Algebra.StarSubalgebra /-! # Classes of C⋆-algebras @@ -21,6 +22,8 @@ heavier imports. -/ +@[expose] public section + /-- The class of non-unital (complex) C⋆-algebras. -/ class NonUnitalCStarAlgebra (A : Type*) extends NonUnitalNormedRing A, StarRing A, CompleteSpace A, CStarRing A, NormedSpace ℂ A, IsScalarTower ℂ A A, SMulCommClass ℂ A A, StarModule ℂ A where diff --git a/Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean b/Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean index a588e8a5b410b8..57b20c10dd3076 100644 --- a/Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean +++ b/Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.CStarAlgebra.PositiveLinearMap -import Mathlib.Analysis.CStarAlgebra.CStarMatrix +public import Mathlib.Analysis.CStarAlgebra.PositiveLinearMap +public import Mathlib.Analysis.CStarAlgebra.CStarMatrix /-! # Completely positive maps @@ -33,6 +34,8 @@ to be used in conjunction with `LinearMapClass`. This is meant to avoid mixing o as much as possible. -/ +@[expose] public section + open scoped CStarAlgebra /-- diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean index 6293e3101a479c..1188a7af1022f8 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric -import Mathlib.Analysis.CStarAlgebra.GelfandDuality -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Analysis.CStarAlgebra.GelfandDuality +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic /-! # Continuous functional calculus @@ -49,6 +51,8 @@ relevant instances on C⋆-algebra can be found in the `Instances` file. -/ +@[expose] public section + open scoped Pointwise ENNReal NNReal ComplexOrder diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Commute.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Commute.lean index 7e0906f83f7c08..a8789730baa5a3 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Commute.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Commute.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances /-! # Commuting with applications of the continuous functional calculus @@ -26,6 +28,8 @@ to call these lemmas, and give a straightforward proof by induction. -/ +@[expose] public section + variable {𝕜 A : Type*} open scoped NNReal diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean index 1e507846732594..4c078507101c1a 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric -import Mathlib.Topology.MetricSpace.UniformConvergence -import Mathlib.Topology.UniformSpace.CompactConvergence +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Topology.MetricSpace.UniformConvergence +public import Mathlib.Topology.UniformSpace.CompactConvergence /-! # Continuity of the continuous functional calculus in each variable @@ -61,6 +62,8 @@ results in the variable `a` come in two flavors: those for `RCLike 𝕜` and tho -/ +@[expose] public section + open scoped UniformConvergence NNReal open Filter Topology diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean index 7bd87abcdf86d0..7a04a092bd6d43 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Complex.Spectrum -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.Normed.Algebra.Spectrum -import Mathlib.Analysis.RCLike.Lemmas +module + +public import Mathlib.Analysis.Complex.Spectrum +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Restrict +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.Normed.Algebra.Spectrum +public import Mathlib.Analysis.RCLike.Lemmas /-! # Instances of the continuous functional calculus @@ -28,6 +30,8 @@ import Mathlib.Analysis.RCLike.Lemmas continuous functional calculus, normal, selfadjoint -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean index ea3a34f88f8911..bf995fba30e0b7 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis, Anatole Dedecker -/ +module -import Mathlib.Analysis.Normed.Algebra.Spectrum -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital -import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMapZero -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.Analysis.Normed.Algebra.Spectrum +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital +public import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMapZero +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap /-! # Integrals and the continuous functional calculus @@ -38,6 +39,8 @@ with the API developed in `Mathlib.MeasureTheory.SpecificCodomains.ContinuousMap + Use this to prove operator monotonicity and concavity/convexity of `rpow` and `log` -/ +@[expose] public section + open MeasureTheory Topology open scoped ContinuousMapZero diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean index 20729011c5f310..df4e77ed6cf842 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances /-! # Isometric continuous functional calculus @@ -17,6 +19,8 @@ the main purpose is to allow for the continuous functional calculus to be a isom scalar rings `ℝ` and `ℝ≥0` too. -/ +@[expose] public section + local notation "σ" => spectrum local notation "σₙ" => quasispectrum diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean index 50f2b05efaed02..cab6375a7c792a 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital -import Mathlib.Topology.UniformSpace.CompactConvergence +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital +public import Mathlib.Topology.UniformSpace.CompactConvergence /-! # The continuous functional calculus for non-unital algebras @@ -44,6 +46,8 @@ encoded in the `ContinuousMapZero.UniqueHom` class. + `cfcₙ_comp : cfcₙ (x ↦ g (f x)) a = cfcₙ g (cfcₙ f a)` -/ + +@[expose] public section local notation "σₙ" => quasispectrum open Topology ContinuousMapZero diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean index e748cd0aa41e67..1b08954a048250 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Init -import Mathlib.Tactic.Basic +module + +public import Mathlib.Init +public import Mathlib.Tactic.Basic /-! # Documentation concerning the continuous functional calculus @@ -13,6 +15,8 @@ A library note giving advice on developing and using the continuous functional c as the organizational structure within Mathlib. -/ +@[expose] public section + library_note2 «continuous functional calculus» /-- # The continuous functional calculus diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean index f3a8d74a864138..02085dfb4c9554 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric -import Mathlib.Topology.ContinuousMap.ContinuousSqrt +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt /-! # Facts about star-ordered rings that depend on the continuous functional calculus @@ -36,6 +37,8 @@ the spectral order. continuous functional calculus, normal, selfadjoint -/ +@[expose] public section + open scoped NNReal CStarAlgebra local notation "σₙ" => quasispectrum diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean index 9d8dfa762b889a..808d2b86dde6c1 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Algebra.Algebra.Spectrum.Pi -import Mathlib.Algebra.Star.StarAlgHom +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Algebra.Algebra.Spectrum.Pi +public import Mathlib.Algebra.Star.StarAlgHom /-! # The continuous functional calculus on product types @@ -20,6 +21,8 @@ This file contains results about the continuous functional calculus on (indexed) `cfc f (a, b) = (cfc f a, cfc f b)` (and likewise for the non-unital version) -/ +@[expose] public section + section nonunital_pi variable {ι R S : Type*} {A : ι → Type*} [CommSemiring R] [Nontrivial R] [StarRing R] diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Range.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Range.lean index 6c2c4f4d8e020f..be7f665c9382ac 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Range.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Range.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances -import Mathlib.Topology.ContinuousMap.ContinuousSqrt +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt /-! # Range of the continuous functional calculus @@ -21,6 +23,8 @@ consequences thereof. -/ +@[expose] public section + open Topology open scoped CStarAlgebra diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean index adec5bcaac62ff..20fbb28560f1ed 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital +module + +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital /-! # Restriction of the continuous functional calculus to a scalar subring @@ -23,6 +25,8 @@ simply by proving: 2. `0 ≤ x ↔ IsSelfAdjoint x ∧ SpectrumRestricts Real.toNNReal x`. -/ +@[expose] public section + open Set Topology namespace SpectrumRestricts diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean index ee9ec9ff5f28ae..4e9288f5630429 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital -import Mathlib.Topology.ContinuousMap.StoneWeierstrass +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.NonUnital +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass /-! # Uniqueness of the continuous functional calculus @@ -24,6 +26,8 @@ This is the reason the `ContinuousMap.UniqueHom` class exists in the first place opposed to simply appealing directly to Stone-Weierstrass to prove `StarAlgHom.ext_continuousMap`. -/ +@[expose] public section + open Topology section UniqueUnital diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean index da952d5f14c206..464dedb06b4444 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Algebra.Algebra.StrictPositivity -import Mathlib.Tactic.ContinuousFunctionalCalculus -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.Topology.Algebra.Star.Real -import Mathlib.Topology.ContinuousMap.StarOrdered +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Algebra.Algebra.StrictPositivity +public import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.Topology.Algebra.Star.Real +public import Mathlib.Topology.ContinuousMap.StarOrdered /-! # The continuous functional calculus @@ -138,6 +140,8 @@ the predicate `p`, it should be noted that these will only ever be of the form ` goals, but it can be modified to become more sophisticated as the need arises. -/ +@[expose] public section + open Topology ContinuousMap section Basic diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unitary.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unitary.lean index 60d2c10a0af911..78efa3c396f0c0 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unitary.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unitary.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Tactic.Peel -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital -import Mathlib.Analysis.Complex.Basic +module + +public import Mathlib.Tactic.Peel +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital +public import Mathlib.Analysis.Complex.Basic /-! # Conditions on unitary elements imposed by the continuous functional calculus @@ -16,6 +18,8 @@ import Mathlib.Analysis.Complex.Basic -/ +@[expose] public section + section Generic variable {R A : Type*} {p : A → Prop} [CommRing R] [StarRing R] [MetricSpace R] diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean index e1a7aacd09ffa7..77d744c5ec5642 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.InnerProductSpace.Adjoint +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.InnerProductSpace.Adjoint /-! # `E →L[ℂ] E` as a C⋆-algebra @@ -12,6 +14,8 @@ We place this here because, for reasons related to the import hierarchy, it shou in earlier files. -/ +@[expose] public section + noncomputable instance {E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℂ E] [CompleteSpace E] : CStarAlgebra (E →L[ℂ] E) where diff --git a/Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean b/Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean index bcd319fcc6c0b0..5addb29fa05ee6 100644 --- a/Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean +++ b/Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.ContinuousMap.ZeroAtInfty +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.ContinuousMap.ZeroAtInfty /-! # C⋆-algebras of continuous functions @@ -13,6 +15,8 @@ We place these here because, for reasons related to the import hierarchy, they c earlier files. -/ +@[expose] public section + variable {α A : Type*} noncomputable section diff --git a/Mathlib/Analysis/CStarAlgebra/Exponential.lean b/Mathlib/Analysis/CStarAlgebra/Exponential.lean index 860c4b1769bd72..c0abf9e7be4eea 100644 --- a/Mathlib/Analysis/CStarAlgebra/Exponential.lean +++ b/Mathlib/Analysis/CStarAlgebra/Exponential.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Normed.Algebra.Exponential +module + +public import Mathlib.Analysis.Normed.Algebra.Exponential /-! # The exponential map from selfadjoint to unitary In this file, we establish various properties related to the map @@ -18,6 +20,8 @@ In this file, we establish various properties related to the map unitaries. -/ +@[expose] public section + open NormedSpace -- For `NormedSpace.exp`. section Star diff --git a/Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean b/Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean index 92969945b2445b..9216d11b20bd59 100644 --- a/Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean +++ b/Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Spectrum -import Mathlib.Analysis.CStarAlgebra.ContinuousMap -import Mathlib.Analysis.Normed.Group.Quotient -import Mathlib.Analysis.Normed.Algebra.Basic -import Mathlib.Topology.ContinuousMap.Units -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.ContinuousMap.Ideals -import Mathlib.Topology.ContinuousMap.StoneWeierstrass +module + +public import Mathlib.Analysis.CStarAlgebra.Spectrum +public import Mathlib.Analysis.CStarAlgebra.ContinuousMap +public import Mathlib.Analysis.Normed.Group.Quotient +public import Mathlib.Analysis.Normed.Algebra.Basic +public import Mathlib.Topology.ContinuousMap.Units +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.ContinuousMap.Ideals +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass /-! # Gelfand Duality @@ -61,6 +63,8 @@ Then `η₁ : id → F ∘ G := gelfandStarTransform` and Gelfand transform, character space, C⋆-algebra -/ +@[expose] public section + open WeakDual diff --git a/Mathlib/Analysis/CStarAlgebra/Hom.lean b/Mathlib/Analysis/CStarAlgebra/Hom.lean index 5b00083cad5f48..4feb36c2894104 100644 --- a/Mathlib/Analysis/CStarAlgebra/Hom.lean +++ b/Mathlib/Analysis/CStarAlgebra/Hom.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order /-! # Properties of C⋆-algebra homomorphisms @@ -16,6 +17,8 @@ Here we collect properties of C⋆-algebra homomorphisms. is isometric. -/ +@[expose] public section + open CStarAlgebra in lemma IsSelfAdjoint.map_spectrum_real {F A B : Type*} [CStarAlgebra A] [CStarAlgebra B] [FunLike F A B] [AlgHomClass F ℂ A B] [StarHomClass F A B] diff --git a/Mathlib/Analysis/CStarAlgebra/Matrix.lean b/Mathlib/Analysis/CStarAlgebra/Matrix.lean index 11def7f20b083d..afff65f0dc75fc 100644 --- a/Mathlib/Analysis/CStarAlgebra/Matrix.lean +++ b/Mathlib/Analysis/CStarAlgebra/Matrix.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Hans Parshall. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hans Parshall -/ -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.Matrix -import Mathlib.Analysis.RCLike.Basic -import Mathlib.LinearAlgebra.UnitaryGroup -import Mathlib.Topology.UniformSpace.Matrix +module + +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.Matrix +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.LinearAlgebra.UnitaryGroup +public import Mathlib.Topology.UniformSpace.Matrix /-! # Analytic properties of the `star` operation on matrices @@ -36,6 +38,8 @@ coincide with the existing topology and uniformity on matrices. -/ +@[expose] public section + open WithLp open scoped Matrix diff --git a/Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean b/Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean index e1f21fc558d464..08b49015338e4e 100644 --- a/Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean +++ b/Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Module.Defs -import Mathlib.Analysis.CStarAlgebra.Module.Synonym -import Mathlib.Topology.MetricSpace.Bilipschitz +module + +public import Mathlib.Analysis.CStarAlgebra.Module.Defs +public import Mathlib.Analysis.CStarAlgebra.Module.Synonym +public import Mathlib.Topology.MetricSpace.Bilipschitz /-! # Constructions of Hilbert C⋆-modules @@ -56,6 +58,8 @@ and then replace the uniformity and bornology with the correct ones. -/ +@[expose] public section + open CStarModule CStarRing namespace WithCStarModule diff --git a/Mathlib/Analysis/CStarAlgebra/Module/Defs.lean b/Mathlib/Analysis/CStarAlgebra/Module/Defs.lean index 7e46dcf128e10e..9d6e1fbb6d6d2e 100644 --- a/Mathlib/Analysis/CStarAlgebra/Module/Defs.lean +++ b/Mathlib/Analysis/CStarAlgebra/Module/Defs.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order /-! # Hilbert C⋆-modules @@ -55,6 +56,8 @@ then an `InnerProductSpace` over `ℂ`. December 2022. Master's thesis, Southern Illinois University Edwardsville. -/ +@[expose] public section + open scoped ComplexOrder RightActions /-- A *Hilbert C⋆-module* is a complex module `E` endowed with a right `A`-module structure diff --git a/Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean b/Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean index ddd5b8bf7548fe..15b240839fdd91 100644 --- a/Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean +++ b/Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.Topology.Bornology.Constructions -import Mathlib.Topology.UniformSpace.Equiv -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +module + +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.Topology.Bornology.Constructions +public import Mathlib.Topology.UniformSpace.Equiv +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions /-! # Type synonym for types with a `CStarModule` structure @@ -48,6 +50,8 @@ The pattern here is the same one as is used by `Lex` for order structures; it av separate synonym for each type, and allows all the structure-copying code to be shared. -/ +@[expose] public section + set_option linter.unusedVariables false in /-- A type synonym for endowing a given type with a `CStarModule` structure. This has the scoped notation `C⋆ᵐᵒᵈ`. -/ diff --git a/Mathlib/Analysis/CStarAlgebra/Multiplier.lean b/Mathlib/Analysis/CStarAlgebra/Multiplier.lean index ca79a0c018b1ac..5614f4b1e7221a 100644 --- a/Mathlib/Analysis/CStarAlgebra/Multiplier.lean +++ b/Mathlib/Analysis/CStarAlgebra/Multiplier.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux, Jon Bannon -/ -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +module + +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal /-! # Multiplier Algebra of a C⋆-algebra @@ -52,6 +54,8 @@ separately. + Show that if `A` is unital, then `A ≃⋆ₐ[𝕜] 𝓜(𝕜, A)`. -/ +@[expose] public section + open NNReal ENNReal ContinuousLinearMap MulOpposite diff --git a/Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean b/Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean index 0ccc3f2faf912a..6d6aa91b66105a 100644 --- a/Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean +++ b/Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Algebra.Order.Module.PositiveLinearMap -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order -import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart +public import Mathlib.Algebra.Order.Module.PositiveLinearMap +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.SpecialFunctions.PosPart /-! # Positive linear maps in C⋆-algebras @@ -24,6 +25,8 @@ This file develops the API for positive linear maps over C⋆-algebras. https://math.stackexchange.com/questions/426487/why-is-every-positive-linear-map-between-c-algebras-bounded -/ +@[expose] public section + open scoped NNReal variable {A₁ A₂ B₁ B₂ : Type*} diff --git a/Mathlib/Analysis/CStarAlgebra/Projection.lean b/Mathlib/Analysis/CStarAlgebra/Projection.lean index 5f26c7d75f5409..93076e1b287294 100644 --- a/Mathlib/Analysis/CStarAlgebra/Projection.lean +++ b/Mathlib/Analysis/CStarAlgebra/Projection.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances /-! @@ -16,6 +18,8 @@ elements in non-unital C⋆-algebras. -/ +@[expose] public section + variable {A : Type*} [TopologicalSpace A] [NonUnitalRing A] [StarRing A] [Module ℂ A] [IsScalarTower ℂ A A] [SMulCommClass ℂ A A] [NonUnitalContinuousFunctionalCalculus ℂ A IsStarNormal] diff --git a/Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean b/Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean index 720e03b16db01e..1fac0a4282ad4b 100644 --- a/Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean +++ b/Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean @@ -3,11 +3,15 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Isometric -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Isometric +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic /-! # C⋆-algebraic facts about `a⁺` and `a⁻`. -/ +@[expose] public section + variable {A : Type*} [NonUnitalCStarAlgebra A] [PartialOrder A] [StarOrderedRing A] namespace CStarAlgebra diff --git a/Mathlib/Analysis/CStarAlgebra/Spectrum.lean b/Mathlib/Analysis/CStarAlgebra/Spectrum.lean index 9a489f2ed8fda2..6bad08976af9c6 100644 --- a/Mathlib/Analysis/CStarAlgebra/Spectrum.lean +++ b/Mathlib/Analysis/CStarAlgebra/Spectrum.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Unitization -import Mathlib.Analysis.Complex.Convex -import Mathlib.Analysis.Normed.Algebra.GelfandFormula -import Mathlib.Analysis.SpecialFunctions.Exponential -import Mathlib.Algebra.Star.StarAlgHom +module + +public import Mathlib.Analysis.CStarAlgebra.Unitization +public import Mathlib.Analysis.Complex.Convex +public import Mathlib.Analysis.Normed.Algebra.GelfandFormula +public import Mathlib.Analysis.SpecialFunctions.Exponential +public import Mathlib.Algebra.Star.StarAlgHom /-! # Spectral properties in C⋆-algebras @@ -53,6 +55,8 @@ we can still establish a form of spectral permanence. -/ +@[expose] public section + local notation "σ" => spectrum local postfix:max "⋆" => star diff --git a/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean b/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean index 21432264fef608..f875fbdf119f4c 100644 --- a/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean +++ b/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Continuity -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order -import Mathlib.Analysis.CStarAlgebra.Exponential -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Continuity +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.Exponential +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog /-! # The unitary group in a unital C⋆-algebra is locally path connected @@ -51,6 +53,8 @@ products of exponential unitaries. selfadjoint elements. -/ +@[expose] public section + variable {A : Type*} [CStarAlgebra A] open Complex Metric NormedSpace selfAdjoint unitary diff --git a/Mathlib/Analysis/CStarAlgebra/Unitary/Span.lean b/Mathlib/Analysis/CStarAlgebra/Unitary/Span.lean index f6a859eccb366e..834b5048187e0c 100644 --- a/Mathlib/Analysis/CStarAlgebra/Unitary/Span.lean +++ b/Mathlib/Analysis/CStarAlgebra/Unitary/Span.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unitary -import Mathlib.Analysis.NormedSpace.Normalize +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Order +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unitary +public import Mathlib.Analysis.NormedSpace.Normalize /-! # Unitary elements span C⋆-algebras @@ -16,6 +18,8 @@ import Mathlib.Analysis.NormedSpace.Normalize + `CStarAlgebra.span_unitary`: a unital C⋆-algebra is spanned by its unitary elements. -/ +@[expose] public section + variable {A : Type*} [CStarAlgebra A] open scoped ComplexStarModule diff --git a/Mathlib/Analysis/CStarAlgebra/Unitization.lean b/Mathlib/Analysis/CStarAlgebra/Unitization.lean index 2e984a20db1f52..022836f58af8cc 100644 --- a/Mathlib/Analysis/CStarAlgebra/Unitization.lean +++ b/Mathlib/Analysis/CStarAlgebra/Unitization.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.Normed.Algebra.Unitization +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.Normed.Algebra.Unitization /-! # The minimal unitization of a C⋆-algebra This file shows that when `E` is a C⋆-algebra (over a densely normed field `𝕜`), that the minimal @@ -16,6 +18,8 @@ involution is isometric, that multiplication on the right is also an isometry (i `Isometry (ContinuousLinearMap.mul 𝕜 E).flip`). -/ +@[expose] public section + open ContinuousLinearMap local postfix:max "⋆" => star diff --git a/Mathlib/Analysis/CStarAlgebra/lpSpace.lean b/Mathlib/Analysis/CStarAlgebra/lpSpace.lean index 4819de7d845885..05d9890d13eaf8 100644 --- a/Mathlib/Analysis/CStarAlgebra/lpSpace.lean +++ b/Mathlib/Analysis/CStarAlgebra/lpSpace.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.Normed.Lp.lpSpace +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.Normed.Lp.lpSpace /-! # `lp ∞ A` as a C⋆-algebra We place these here because, for reasons related to the import hierarchy, they should not be placed in earlier files. -/ + +@[expose] public section open scoped ENNReal noncomputable section diff --git a/Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean b/Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean index ceda6dc2472160..666c111544356f 100644 --- a/Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean +++ b/Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Topology.Algebra.ContinuousAffineMap -import Mathlib.Analysis.Normed.Group.AddTorsor +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Topology.Algebra.ContinuousAffineMap +public import Mathlib.Analysis.Normed.Group.AddTorsor /-! # Smooth affine maps @@ -17,6 +19,8 @@ This file contains results about smoothness of affine maps. * `ContinuousAffineMap.contDiff`: a continuous affine map is smooth -/ + +@[expose] public section namespace ContinuousAffineMap variable {𝕜 V W : Type*} [NontriviallyNormedField 𝕜] diff --git a/Mathlib/Analysis/Calculus/AddTorsor/Coord.lean b/Mathlib/Analysis/Calculus/AddTorsor/Coord.lean index e35d6930847756..b429d5e6b3eb17 100644 --- a/Mathlib/Analysis/Calculus/AddTorsor/Coord.lean +++ b/Mathlib/Analysis/Calculus/AddTorsor/Coord.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.Calculus.AddTorsor.AffineMap -import Mathlib.Analysis.Normed.Affine.AddTorsorBases +module + +public import Mathlib.Analysis.Calculus.AddTorsor.AffineMap +public import Mathlib.Analysis.Normed.Affine.AddTorsorBases /-! # Barycentric coordinates are smooth -/ +@[expose] public section + variable {ι 𝕜 E P : Type*} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜] variable [NormedAddCommGroup E] [NormedSpace 𝕜 E] variable [MetricSpace P] [NormedAddTorsor E P] diff --git a/Mathlib/Analysis/Calculus/BumpFunction/Basic.lean b/Mathlib/Analysis/Calculus/BumpFunction/Basic.lean index d7fe4ad9f55322..c295ab7993c2b9 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/Basic.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Normed.Module.FiniteDimension +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Normed.Module.FiniteDimension /-! # Infinitely smooth "bump" functions @@ -46,6 +48,8 @@ such that smooth function, smooth bump function -/ + +@[expose] public section noncomputable section open Function Set Filter diff --git a/Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean b/Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean index 799ed4b4c6698a..fa95edb98a82de 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Analysis.Convolution -import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension -import Mathlib.Analysis.Calculus.BumpFunction.Normed -import Mathlib.MeasureTheory.Integral.Average -import Mathlib.MeasureTheory.Covering.Differentiation -import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Analysis.Convolution +public import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension +public import Mathlib.Analysis.Calculus.BumpFunction.Normed +public import Mathlib.MeasureTheory.Integral.Average +public import Mathlib.MeasureTheory.Covering.Differentiation +public import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Convolution with a bump function @@ -37,6 +39,8 @@ We also provide estimates in the case if `g x` is close to `g x₀` on this ball convolution, smooth function, bump function -/ +@[expose] public section + universe uG uE' open ContinuousLinearMap Metric MeasureTheory Filter Function Measure Set diff --git a/Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean b/Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean index fe0ab5d1272a29..23fc19ce94c015 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.SmoothSeries -import Mathlib.Analysis.Calculus.BumpFunction.InnerProduct -import Mathlib.Analysis.Convolution -import Mathlib.Analysis.InnerProductSpace.EuclideanDist -import Mathlib.Data.Set.Pointwise.Support -import Mathlib.MeasureTheory.Measure.Haar.NormedSpace -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Analysis.Calculus.SmoothSeries +public import Mathlib.Analysis.Calculus.BumpFunction.InnerProduct +public import Mathlib.Analysis.Convolution +public import Mathlib.Analysis.InnerProductSpace.EuclideanDist +public import Mathlib.Data.Set.Pointwise.Support +public import Mathlib.MeasureTheory.Measure.Haar.NormedSpace +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Bump functions in finite-dimensional vector spaces @@ -22,6 +24,8 @@ Then we use this construction to construct bump functions with nice behavior, by the indicator function of `closedBall 0 1` with a function as above with `s = ball 0 D`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean b/Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean index 5a83219028362e..17c3db4b7d37a7 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.BumpFunction.Basic -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.SpecialFunctions.SmoothTransition +module + +public import Mathlib.Analysis.Calculus.BumpFunction.Basic +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.SpecialFunctions.SmoothTransition /-! # Smooth bump functions in inner product spaces @@ -18,6 +20,8 @@ see `hasContDiffBump_of_innerProductSpace`. smooth function, bump function, inner product space -/ +@[expose] public section + open Function Real open scoped Topology diff --git a/Mathlib/Analysis/Calculus/BumpFunction/Normed.lean b/Mathlib/Analysis/Calculus/BumpFunction/Normed.lean index b8426243a8b556..043548137f8327 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/Normed.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/Normed.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Analysis.Calculus.BumpFunction.Basic -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +module + +public import Mathlib.Analysis.Calculus.BumpFunction.Basic +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar /-! # Normed bump function @@ -14,6 +16,8 @@ In this file we define `ContDiffBump.normed f μ` to be the bump function `f` no `∫ x, f.normed μ x ∂μ = 1` and prove some properties of this function. -/ +@[expose] public section + noncomputable section open Function Filter Set Metric MeasureTheory Module Measure diff --git a/Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean b/Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean index cdd64ec3318f95..8af882ca47ad3c 100644 --- a/Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean +++ b/Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.BumpFunction.Convolution -import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension +module + +public import Mathlib.Analysis.Calculus.BumpFunction.Convolution +public import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension /-! # Density of smooth functions in the space of continuous functions @@ -19,6 +21,8 @@ and `HasCompactSupport.contDiff_convolution_left`. Here we wrap these results removing measure-related arguments from the assumptions. -/ +@[expose] public section + variable {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F] {f : E → F} {ε : ℝ} diff --git a/Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean b/Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean index 6a4b7044ba5967..a99db219bd00e9 100644 --- a/Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean +++ b/Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Calculus.Conformal.NormedSpace -import Mathlib.Analysis.InnerProductSpace.ConformalLinearMap +module + +public import Mathlib.Analysis.Calculus.Conformal.NormedSpace +public import Mathlib.Analysis.InnerProductSpace.ConformalLinearMap /-! # Conformal maps between inner product spaces @@ -13,6 +15,8 @@ A function between inner product spaces which has a derivative at `x` is conformal at `x` iff the derivative preserves inner products up to a scalar multiple. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean b/Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean index fdb955faa223e9..96c8c91f6e8ebb 100644 --- a/Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean +++ b/Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Const -import Mathlib.Analysis.Normed.Operator.Conformal +module + +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Const +public import Mathlib.Analysis.Normed.Operator.Conformal /-! # Conformal Maps @@ -40,6 +42,8 @@ The definition of conformality in this file does NOT require the maps to be orie Maps such as the complex conjugate are considered to be conformal. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/ContDiff/Basic.lean b/Mathlib/Analysis/Calculus/ContDiff/Basic.lean index 82074c36502de2..10f04fe2742d28 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/Basic.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Defs -import Mathlib.Analysis.Calculus.ContDiff.FaaDiBruno -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.CompCLM +module + +public import Mathlib.Analysis.Calculus.ContDiff.Defs +public import Mathlib.Analysis.Calculus.ContDiff.FaaDiBruno +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.CompCLM /-! # Higher differentiability of composition @@ -32,6 +34,8 @@ In this file, we denote `(⊤ : ℕ∞) : WithTop ℕ∞` with `∞` and `⊤ : derivative, differentiability, higher derivative, `C^n`, multilinear, Taylor series, formal series -/ +@[expose] public section + noncomputable section open scoped NNReal Nat ContDiff diff --git a/Mathlib/Analysis/Calculus/ContDiff/Bounds.lean b/Mathlib/Analysis/Calculus/ContDiff/Bounds.lean index 0bd124f9428f87..b3561f7bf35aa3 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/Bounds.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/Bounds.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.Data.Nat.Choose.Multinomial +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.Data.Nat.Choose.Multinomial /-! # Bounds on higher derivatives @@ -16,6 +18,8 @@ import Mathlib.Data.Nat.Choose.Multinomial derivative of `f` is bounded by `D ^ i`. -/ +@[expose] public section + noncomputable section open scoped NNReal Nat diff --git a/Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean b/Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean index 75ba4b2e775a74..234aa2918350e4 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.ContDiff.Defs +module + +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.ContDiff.Defs /-! # Higher smoothness of continuously polynomial functions @@ -13,6 +15,8 @@ We prove that continuously polynomial functions are `C^∞`. In particular, this of continuous multilinear maps. -/ +@[expose] public section + open Filter Asymptotics open scoped ENNReal diff --git a/Mathlib/Analysis/Calculus/ContDiff/Defs.lean b/Mathlib/Analysis/Calculus/ContDiff/Defs.lean index 3d5da0d6509211..c2ed56f0272122 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/Defs.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Analytic.Within -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries +module + +public import Mathlib.Analysis.Analytic.Within +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries /-! # Higher differentiability @@ -94,6 +96,8 @@ These notations are scoped in `ContDiff`. derivative, differentiability, higher derivative, `C^n`, multilinear, Taylor series, formal series -/ +@[expose] public section + noncomputable section open Set Fin Filter Function diff --git a/Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean b/Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean index 39059812b8d804..1a8f14e540d8a4 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.FormalMultilinearSeries -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.FormalMultilinearSeries +public import Mathlib.Data.ENat.Lattice /-! # Iterated derivatives of a function @@ -99,6 +101,8 @@ values in `F`. This is the space in which the `n`-th derivative of a function fr In this file, we denote `⊤ : ℕ∞` with `∞`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean b/Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean index 234b0edb7dbf24..d22b10ce4a72a6 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Finite.Card -import Mathlib.Analysis.Analytic.Within -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries +module + +public import Mathlib.Data.Finite.Card +public import Mathlib.Analysis.Analytic.Within +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries /-! # Faa di Bruno formula @@ -75,6 +77,8 @@ and `OrderedFinpartition (n + 1)`. This equivalence shows up prominently in the of Faa di Bruno formula to identify the sums that show up. -/ +@[expose] public section + noncomputable section open Set Fin Filter Function diff --git a/Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean b/Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean index 268ae4fa9aaa99..895bb42a5cb787 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Normed.Module.FiniteDimension +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Normed.Module.FiniteDimension /-! # Higher differentiability in finite dimensions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/ContDiff/Operations.lean b/Mathlib/Analysis/Calculus/ContDiff/Operations.lean index 78f9f85963b9f7..9b556c28b11ad7 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/Operations.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/Operations.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.Deriv.Inverse +module + +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.Deriv.Inverse /-! # Higher differentiability of usual operations @@ -24,6 +26,8 @@ In this file, we denote `(⊤ : ℕ∞) : WithTop ℕ∞` with `∞` and `⊤ : derivative, differentiability, higher derivative, `C^n`, multilinear, Taylor series, formal series -/ +@[expose] public section + open scoped NNReal Nat ContDiff universe u uE uF uG diff --git a/Mathlib/Analysis/Calculus/ContDiff/RCLike.lean b/Mathlib/Analysis/Calculus/ContDiff/RCLike.lean index 82243a13be9ebe..a98ea27cbaf7c6 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/RCLike.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/RCLike.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Defs -import Mathlib.Analysis.Calculus.MeanValue +module + +public import Mathlib.Analysis.Calculus.ContDiff.Defs +public import Mathlib.Analysis.Calculus.MeanValue /-! # Higher differentiability over `ℝ` or `ℂ` -/ +@[expose] public section + noncomputable section open Set Fin Filter Function diff --git a/Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean b/Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean index 9103c77d354c39..89712751f9b1e2 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/RestrictScalars.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Calculus.ContDiff.Defs -import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars +module + +public import Mathlib.Analysis.Calculus.ContDiff.Defs +public import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars /-! ### Restricting Scalars in Iterated Fréchet Derivatives @@ -15,6 +17,8 @@ a subfield `𝕜 ⊆ 𝕜'`. The results are analogous to those found in `Mathlib.Analysis.Calculus.FDeriv.RestrictScalars`. -/ +@[expose] public section + variable {𝕜 𝕜' : Type*} [NontriviallyNormedField 𝕜] [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedSpace 𝕜' E] [IsScalarTower 𝕜 𝕜' E] diff --git a/Mathlib/Analysis/Calculus/ContDiff/WithLp.lean b/Mathlib/Analysis/Calculus/ContDiff/WithLp.lean index d0adbd66923c8c..cbc1fd09371e5a 100644 --- a/Mathlib/Analysis/Calculus/ContDiff/WithLp.lean +++ b/Mathlib/Analysis/Calculus/ContDiff/WithLp.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Eric Wieser -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Normed.Lp.PiLp +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Normed.Lp.PiLp /-! # Derivatives on `WithLp` -/ +@[expose] public section + open scoped ENNReal section PiLp diff --git a/Mathlib/Analysis/Calculus/DSlope.lean b/Mathlib/Analysis/Calculus/DSlope.lean index b45c997288b511..d6b97a982c5f9f 100644 --- a/Mathlib/Analysis/Calculus/DSlope.lean +++ b/Mathlib/Analysis/Calculus/DSlope.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Mul +module + +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Mul /-! # Slope of a differentiable function @@ -19,6 +21,8 @@ In this file we define `dslope` and prove some basic lemmas about its continuity differentiability. -/ +@[expose] public section + open scoped Topology Filter open Function Set Filter diff --git a/Mathlib/Analysis/Calculus/Darboux.lean b/Mathlib/Analysis/Calculus/Darboux.lean index e99b3d6cff269a..5387a3dba640f8 100644 --- a/Mathlib/Analysis/Calculus/Darboux.lean +++ b/Mathlib/Analysis/Calculus/Darboux.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.LocalExtr.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.LocalExtr.Basic /-! # Darboux's theorem @@ -15,6 +17,8 @@ intermediate values. The proof is based on the [Wikipedia](https://en.wikipedia.org/wiki/Darboux%27s_theorem_(analysis)) page about this theorem. -/ +@[expose] public section + open Filter Set open scoped Topology diff --git a/Mathlib/Analysis/Calculus/Deriv/Abs.lean b/Mathlib/Analysis/Calculus/Deriv/Abs.lean index 747e319813e695..0425e8420ba1f9 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Abs.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Abs.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.InnerProductSpace.Calculus +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.InnerProductSpace.Calculus /-! # Derivative of the absolute value @@ -18,6 +20,8 @@ from an inner product space. absolute value, derivative -/ +@[expose] public section + open Filter Real Set variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] diff --git a/Mathlib/Analysis/Calculus/Deriv/Add.lean b/Mathlib/Analysis/Calculus/Deriv/Add.lean index d6e5e5ebac656f..a20fbcc0be71a1 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Add.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Add.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Sébastien Gouëzel, Yury Kudryashov, Anatole Dedecker -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Add +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Add /-! # One-dimensional derivatives of sums etc @@ -20,6 +22,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative -/ +@[expose] public section + universe u v w open scoped Topology Filter ENNReal diff --git a/Mathlib/Analysis/Calculus/Deriv/AffineMap.lean b/Mathlib/Analysis/Calculus/Deriv/AffineMap.lean index 0ff6e4aa7e268f..8d86f7f3949587 100644 --- a/Mathlib/Analysis/Calculus/Deriv/AffineMap.lean +++ b/Mathlib/Analysis/Calculus/Deriv/AffineMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Linear -import Mathlib.LinearAlgebra.AffineSpace.AffineMap +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Linear +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap /-! # Derivatives of affine maps @@ -23,6 +25,8 @@ Mathlib 4. affine map, derivative, differentiability -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (f : 𝕜 →ᵃ[𝕜] E) {a b : E} {L : Filter 𝕜} {s : Set 𝕜} {x : 𝕜} diff --git a/Mathlib/Analysis/Calculus/Deriv/Basic.lean b/Mathlib/Analysis/Calculus/Deriv/Basic.lean index 03ae745c11fdd3..9a28e21be2735e 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Const -import Mathlib.Analysis.Normed.Operator.NormedSpace +module + +public import Mathlib.Analysis.Calculus.FDeriv.Const +public import Mathlib.Analysis.Normed.Operator.NormedSpace /-! @@ -86,6 +88,8 @@ derivatives is the same as the one for differentiability statements, as explaine `FDeriv/Basic.lean`. See the explanations there. -/ +@[expose] public section + universe u v w noncomputable section diff --git a/Mathlib/Analysis/Calculus/Deriv/Comp.lean b/Mathlib/Analysis/Calculus/Deriv/Comp.lean index 2180926aea8f7d..2d71798dc53fb2 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Comp.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Comp.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Sébastien Gouëzel, Yury Kudryashov, Yuyang Zhao -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars /-! # One-dimensional derivatives of compositions of functions @@ -31,6 +33,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, chain rule -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Analysis/Calculus/Deriv/CompMul.lean b/Mathlib/Analysis/Calculus/Deriv/CompMul.lean index 3a1cff6c19da7a..997accb82107ef 100644 --- a/Mathlib/Analysis/Calculus/Deriv/CompMul.lean +++ b/Mathlib/Analysis/Calculus/Deriv/CompMul.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.Deriv.Mul +module + +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.Deriv.Mul /-! # Derivative of `x ↦ f (cx)` @@ -17,6 +19,8 @@ the theorems in this file require neither differentiability of `f`, nor assumptions like `UniqueDiffWithinAt 𝕜 s x`. -/ +@[expose] public section + open Set open scoped Pointwise diff --git a/Mathlib/Analysis/Calculus/Deriv/Inv.lean b/Mathlib/Analysis/Calculus/Deriv/Inv.lean index a4bf3a3b28cad4..8c34e482165b07 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Inv.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Inv.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Comp +module + +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Comp /-! # Derivatives of `x ↦ x⁻¹` and `f x / g x` @@ -20,6 +22,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative -/ +@[expose] public section + universe u diff --git a/Mathlib/Analysis/Calculus/Deriv/Inverse.lean b/Mathlib/Analysis/Calculus/Deriv/Inverse.lean index 8549c18be37db5..70324b47efd750 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Inverse.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Inverse.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Equiv +module + +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Equiv /-! # Inverse function theorem - the easy half @@ -21,6 +23,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, inverse function -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/Calculus/Deriv/Linear.lean b/Mathlib/Analysis/Calculus/Deriv/Linear.lean index e88464c3aba100..607cdff943267c 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Linear.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Linear +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Linear /-! # Derivatives of continuous linear maps from the base field @@ -19,6 +21,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, linear map -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Analysis/Calculus/Deriv/MeanValue.lean b/Mathlib/Analysis/Calculus/Deriv/MeanValue.lean index 94f332dad3ec5a..3478cee6233249 100644 --- a/Mathlib/Analysis/Calculus/Deriv/MeanValue.lean +++ b/Mathlib/Analysis/Calculus/Deriv/MeanValue.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.AffineMap -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.Analysis.Calculus.LocalExtr.Rolle -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.RCLike.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.AffineMap +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.Analysis.Calculus.LocalExtr.Rolle +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.RCLike.Basic /-! # Mean value theorem @@ -61,6 +63,8 @@ is not differentiable on the right at that point, and similarly differentiabilit -/ +@[expose] public section + open Set Function Filter open scoped Topology diff --git a/Mathlib/Analysis/Calculus/Deriv/Mul.lean b/Mathlib/Analysis/Calculus/Deriv/Mul.lean index 4bd10dcc4f6c7e..6541ac94b36bc0 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Mul.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Mul.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Anatole Dedecker, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Mul -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.CompCLM +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Mul +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.CompCLM /-! # Derivative of `f x * g x` @@ -21,6 +23,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, multiplication -/ +@[expose] public section + universe u v w noncomputable section diff --git a/Mathlib/Analysis/Calculus/Deriv/Pi.lean b/Mathlib/Analysis/Calculus/Deriv/Pi.lean index ea735b8e03a989..48419570560f5a 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Pi.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Pi.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Analysis.Calculus.FDeriv.Pi -import Mathlib.Analysis.Calculus.Deriv.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Pi +public import Mathlib.Analysis.Calculus.Deriv.Basic /-! # One-dimensional derivatives on pi-types. -/ +@[expose] public section + variable {𝕜 ι : Type*} [DecidableEq ι] [Fintype ι] [NontriviallyNormedField 𝕜] theorem hasDerivAt_update (x : ι → 𝕜) (i : ι) (y : 𝕜) : diff --git a/Mathlib/Analysis/Calculus/Deriv/Polynomial.lean b/Mathlib/Analysis/Calculus/Deriv/Polynomial.lean index 02852d7b876e42..2fca55eaaaa91f 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Polynomial.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Polynomial.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Eric Wieser -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.Deriv.Add +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.Deriv.Add /-! # Derivatives of polynomials @@ -28,6 +30,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, polynomial -/ +@[expose] public section + universe u diff --git a/Mathlib/Analysis/Calculus/Deriv/Pow.lean b/Mathlib/Analysis/Calculus/Deriv/Pow.lean index f476ebac19be09..613a436c501b1d 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Pow.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Pow.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Pow +module + +public import Mathlib.Analysis.Calculus.FDeriv.Pow /-! # Derivative of `(f x) ^ n`, `n : ℕ` @@ -21,6 +23,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, power -/ +@[expose] public section + variable {𝕜 𝔸 : Type*} section NormedRing diff --git a/Mathlib/Analysis/Calculus/Deriv/Prod.lean b/Mathlib/Analysis/Calculus/Deriv/Prod.lean index a50671126e8ab5..a782ac820369c7 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Prod.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Yury Kudryashov, Eric Wieser -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Prod +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Prod /-! # Derivatives of functions taking values in product types @@ -20,6 +22,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative -/ +@[expose] public section + universe u v w open Topology Filter Asymptotics Set diff --git a/Mathlib/Analysis/Calculus/Deriv/Shift.lean b/Mathlib/Analysis/Calculus/Deriv/Shift.lean index 5f3cf8994feb79..bc94fe6f157d81 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Shift.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Shift.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll, Yaël Dillies -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.Deriv.CompMul +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.Deriv.CompMul /-! ### Invariance of the derivative under translation @@ -14,6 +16,8 @@ We show that if a function `f` has derivative `f'` at a point `a + x`, then `f ( has derivative `f'` at `x`. Similarly for `x + a`. -/ +@[expose] public section + open scoped Pointwise variable {𝕜 F : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup F] [NormedSpace 𝕜 F] diff --git a/Mathlib/Analysis/Calculus/Deriv/Slope.lean b/Mathlib/Analysis/Calculus/Deriv/Slope.lean index 290f6df7b4ab78..c6f3cd094e6c2a 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Slope.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Slope.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.LinearAlgebra.AffineSpace.Slope -import Mathlib.Topology.Algebra.Module.PerfectSpace +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.LinearAlgebra.AffineSpace.Slope +public import Mathlib.Topology.Algebra.Module.PerfectSpace /-! # Derivative as the limit of the slope @@ -25,6 +27,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, slope -/ +@[expose] public section + universe u v open scoped Topology diff --git a/Mathlib/Analysis/Calculus/Deriv/Star.lean b/Mathlib/Analysis/Calculus/Deriv/Star.lean index 1d41e13699c016..7f810ffd692f1c 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Star.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Star.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Star +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Star /-! # Star operations on derivatives @@ -18,6 +20,8 @@ trivial star operation; which as should be expected rules out `𝕜 = ℂ`. The differentiable when `f` is (and giving a formula for its derivative). -/ +@[expose] public section + universe u v w variable {𝕜 : Type u} [NontriviallyNormedField 𝕜] [StarRing 𝕜] diff --git a/Mathlib/Analysis/Calculus/Deriv/Support.lean b/Mathlib/Analysis/Calculus/Deriv/Support.lean index 87665519af4ef8..4db449c235d1e8 100644 --- a/Mathlib/Analysis/Calculus/Deriv/Support.lean +++ b/Mathlib/Analysis/Calculus/Deriv/Support.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Analysis.Calculus.Deriv.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic /-! # Support of the derivative of a function @@ -17,6 +19,8 @@ compact support. derivative, support -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/Calculus/Deriv/ZPow.lean b/Mathlib/Analysis/Calculus/Deriv/ZPow.lean index fe57305e5926c2..756e3822e74306 100644 --- a/Mathlib/Analysis/Calculus/Deriv/ZPow.lean +++ b/Mathlib/Analysis/Calculus/Deriv/ZPow.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.Calculus.Deriv.Shift +module + +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.Calculus.Deriv.Shift /-! # Derivatives of `x ^ m`, `m : ℤ` @@ -20,6 +22,8 @@ For a more detailed overview of one-dimensional derivatives in mathlib, see the derivative, power -/ +@[expose] public section + universe u v w open Topology Filter Asymptotics Set diff --git a/Mathlib/Analysis/Calculus/DerivativeTest.lean b/Mathlib/Analysis/Calculus/DerivativeTest.lean index ecf4d64ef0959b..a91289121f783f 100644 --- a/Mathlib/Analysis/Calculus/DerivativeTest.lean +++ b/Mathlib/Analysis/Calculus/DerivativeTest.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Bjørn Kjos-Hanssen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bjørn Kjos-Hanssen, Patrick Massot, Floris van Doorn, Jireh Loreaux, Eric Wieser -/ -import Mathlib.Topology.Order.OrderClosedExtr -import Mathlib.Analysis.Calculus.Deriv.MeanValue -import Mathlib.Order.Interval.Set.Basic -import Mathlib.LinearAlgebra.AffineSpace.Ordered +module + +public import Mathlib.Topology.Order.OrderClosedExtr +public import Mathlib.Analysis.Calculus.Deriv.MeanValue +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Ordered /-! # The First-Derivative Test @@ -46,6 +48,8 @@ Source: [Wikipedia](https://en.wikipedia.org/wiki/Derivative_test#Proof_of_the_s derivative test, calculus -/ +@[expose] public section + open Set Topology diff --git a/Mathlib/Analysis/Calculus/DiffContOnCl.lean b/Mathlib/Analysis/Calculus/DiffContOnCl.lean index 75471d4d094d1f..3ef60c91409e07 100644 --- a/Mathlib/Analysis/Calculus/DiffContOnCl.lean +++ b/Mathlib/Analysis/Calculus/DiffContOnCl.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Mul +module + +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Mul /-! # Functions differentiable on a domain and continuous on its closure @@ -15,6 +17,8 @@ is continuous on its closure. In this file we define a predicate `DiffContOnCl` this property and prove basic facts about this predicate. -/ +@[expose] public section + open Set Filter Metric diff --git a/Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean b/Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean index e16cad008ecf2f..bf1868f73c32a6 100644 --- a/Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean +++ b/Mathlib/Analysis/Calculus/DifferentialForm/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury G. Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury G. Kudryashov, Sam Lindauer -/ -import Mathlib.Analysis.NormedSpace.Alternating.Uncurry.Fin -import Mathlib.Analysis.Calculus.FDeriv.Symmetric -import Mathlib.Analysis.Calculus.FDeriv.CompCLM +module + +public import Mathlib.Analysis.NormedSpace.Alternating.Uncurry.Fin +public import Mathlib.Analysis.Calculus.FDeriv.Symmetric +public import Mathlib.Analysis.Calculus.FDeriv.CompCLM /-! # Exterior derivative of a differential form on a normed space @@ -42,6 +44,8 @@ where $$\widehat{v_i}$$ means that we omit this element of the tuple, see `extDe sync with the API for `ContinuousMultilinearMap`. -/ +@[expose] public section + open Filter ContinuousAlternatingMap Set open scoped Topology diff --git a/Mathlib/Analysis/Calculus/FDeriv/Add.lean b/Mathlib/Analysis/Calculus/FDeriv/Add.lean index 4dcbdabd2be6f1..5bd379fe5cc09a 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Add.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Add.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Linear -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Const +module + +public import Mathlib.Analysis.Calculus.FDeriv.Linear +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Const /-! # Additive operations on derivatives @@ -21,6 +23,8 @@ This file contains the usual formulas (and existence assertions) for the derivat * subtraction of two functions -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap diff --git a/Mathlib/Analysis/Calculus/FDeriv/Analytic.lean b/Mathlib/Analysis/Calculus/FDeriv/Analytic.lean index ae722f0e31f357..f9547583a15546 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Analytic.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Analytic.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.CPolynomial -import Mathlib.Analysis.Analytic.Inverse -import Mathlib.Analysis.Analytic.Within -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Normed.Module.Completion +module + +public import Mathlib.Analysis.Analytic.CPolynomial +public import Mathlib.Analysis.Analytic.Inverse +public import Mathlib.Analysis.Analytic.Within +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Normed.Module.Completion /-! # Fréchet derivatives of analytic functions. @@ -61,6 +63,8 @@ differentiability at points in a neighborhood of `s`. Therefore, the theorem tha -/ +@[expose] public section + open Filter Asymptotics Set open scoped ENNReal Topology diff --git a/Mathlib/Analysis/Calculus/FDeriv/Basic.lean b/Mathlib/Analysis/Calculus/FDeriv/Basic.lean index c9dd713ba9422c..77d8630eea0127 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.Lemmas -import Mathlib.Analysis.Calculus.FDeriv.Defs -import Mathlib.Analysis.Calculus.TangentCone -import Mathlib.Analysis.Normed.Operator.Asymptotics +module + +public import Mathlib.Analysis.Asymptotics.Lemmas +public import Mathlib.Analysis.Calculus.FDeriv.Defs +public import Mathlib.Analysis.Calculus.TangentCone +public import Mathlib.Analysis.Normed.Operator.Asymptotics /-! # The Fréchet derivative: basic properties @@ -106,6 +108,8 @@ derivative, differentiable, Fréchet, calculus -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal noncomputable section diff --git a/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean b/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean index 95d53bb0d512cb..914d64bb15393a 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Prod +module + +public import Mathlib.Analysis.Calculus.FDeriv.Prod /-! # The derivative of bounded bilinear maps @@ -15,6 +17,8 @@ This file contains the usual formulas (and existence assertions) for the derivat bounded bilinear maps. -/ +@[expose] public section + open Asymptotics Topology diff --git a/Mathlib/Analysis/Calculus/FDeriv/Comp.lean b/Mathlib/Analysis/Calculus/FDeriv/Comp.lean index cb4cbad61cb447..50f4b1b4ff61a2 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Comp.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Comp.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Basic /-! # The derivative of a composition (chain rule) @@ -15,6 +17,8 @@ This file contains the usual formulas (and existence assertions) for the derivat composition of functions (the chain rule). -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal diff --git a/Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean b/Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean index 0c5cfa7d5edebb..ed467e4c220b5f 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/CompCLM.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Bilinear -import Mathlib.Analysis.NormedSpace.Alternating.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Bilinear +public import Mathlib.Analysis.NormedSpace.Alternating.Basic /-! # Multiplicative operations on derivatives @@ -18,6 +20,8 @@ This file contains the usual formulas (and existence assertions) for the derivat * application of continuous (multi)linear maps to a constant -/ +@[expose] public section + open Asymptotics ContinuousLinearMap Topology diff --git a/Mathlib/Analysis/Calculus/FDeriv/Congr.lean b/Mathlib/Analysis/Calculus/FDeriv/Congr.lean index 17f35e53379806..d841b8945b8eb6 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Congr.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Congr.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Basic /-! # The Fréchet derivative: congruence properties @@ -16,6 +18,8 @@ derivative, differentiable, Fréchet, calculus -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal noncomputable section diff --git a/Mathlib/Analysis/Calculus/FDeriv/Const.lean b/Mathlib/Analysis/Calculus/FDeriv/Const.lean index c01cd71a802354..7514bc02629c8b 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Const.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Const.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Congr +module + +public import Mathlib.Analysis.Calculus.FDeriv.Congr /-! # Fréchet derivative of constant functions @@ -18,6 +20,8 @@ derivative, differentiable, Fréchet, calculus -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal noncomputable section diff --git a/Mathlib/Analysis/Calculus/FDeriv/Defs.lean b/Mathlib/Analysis/Calculus/FDeriv/Defs.lean index 6b5f780b0c2734..eb4265d8e625a5 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Defs.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.TVS +module + +public import Mathlib.Analysis.Asymptotics.TVS /-! # The Fréchet derivative: definition @@ -78,6 +80,8 @@ derivative, differentiable, Fréchet, calculus -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] diff --git a/Mathlib/Analysis/Calculus/FDeriv/Equiv.lean b/Mathlib/Analysis/Calculus/FDeriv/Equiv.lean index dd29bb990aeba2..c6d0ca6016c079 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Equiv.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Equiv.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Const -import Mathlib.Analysis.Calculus.FDeriv.Linear +module + +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Const +public import Mathlib.Analysis.Calculus.FDeriv.Linear /-! # The derivative of a linear equivalence @@ -21,6 +23,8 @@ We also prove the usual formula for the derivative of the inverse function, assu The inverse function theorem is in `Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean`. -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal noncomputable section diff --git a/Mathlib/Analysis/Calculus/FDeriv/Extend.lean b/Mathlib/Analysis/Calculus/FDeriv/Extend.lean index 227313c69de91f..baaf58d986edb7 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Extend.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Extend.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.MeanValue +module + +public import Mathlib.Analysis.Calculus.MeanValue /-! # Extending differentiability to the boundary @@ -18,6 +20,8 @@ the right endpoint of an interval, are given in `hasDerivWithinAt_Ici_of_tendsto one-dimensional derivative `deriv ℝ f`. -/ +@[expose] public section + variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type*} [NormedAddCommGroup F] [NormedSpace ℝ F] diff --git a/Mathlib/Analysis/Calculus/FDeriv/Linear.lean b/Mathlib/Analysis/Calculus/FDeriv/Linear.lean index 7a7ffd50334e88..43842ab35c3fd9 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Linear.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Basic -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +module + +public import Mathlib.Analysis.Calculus.FDeriv.Basic +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps /-! # The derivative of bounded linear maps @@ -16,6 +18,8 @@ This file contains the usual formulas (and existence assertions) for the derivat bounded linear maps. -/ +@[expose] public section + open Asymptotics diff --git a/Mathlib/Analysis/Calculus/FDeriv/Measurable.lean b/Mathlib/Analysis/Calculus/FDeriv/Measurable.lean index d01c15ebc80f9e..b2d5aa5818e1d7 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Measurable.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Measurable.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable /-! # Derivative is measurable @@ -79,6 +81,8 @@ is exactly the set of points where `f` is differentiable with a derivative in `K derivative, measurable function, Borel σ-algebra -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/FDeriv/Mul.lean b/Mathlib/Analysis/Calculus/FDeriv/Mul.lean index 404234c5d7511b..352e7a1a1529ed 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Mul.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Mul.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.FDeriv.Bilinear +module + +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.FDeriv.Bilinear /-! # Multiplicative operations on derivatives @@ -20,6 +22,8 @@ This file contains the usual formulas (and existence assertions) for the derivat * taking the pointwise multiplicative inverse (i.e. `Inv.inv` or `Ring.inverse`) of a function -/ +@[expose] public section + open Asymptotics ContinuousLinearMap Topology diff --git a/Mathlib/Analysis/Calculus/FDeriv/Norm.lean b/Mathlib/Analysis/Calculus/FDeriv/Norm.lean index bb70fd2315b6c1..9b98692998e689 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Norm.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Norm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Analysis.Calculus.Deriv.Abs -import Mathlib.Analysis.Calculus.LineDeriv.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.Abs +public import Mathlib.Analysis.Calculus.LineDeriv.Basic /-! # Differentiability of the norm in a real normed vector space @@ -35,6 +37,8 @@ differentiability, norm -/ +@[expose] public section + open ContinuousLinearMap Filter NNReal Real Set variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] diff --git a/Mathlib/Analysis/Calculus/FDeriv/Pi.lean b/Mathlib/Analysis/Calculus/FDeriv/Pi.lean index 61192f5726f098..329c97258d087b 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Pi.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Pi.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Const +module + +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Const /-! # Derivatives on pi-types. -/ +@[expose] public section + variable {𝕜 ι : Type*} [DecidableEq ι] [Fintype ι] [NontriviallyNormedField 𝕜] variable {E : ι → Type*} [∀ i, NormedAddCommGroup (E i)] [∀ i, NormedSpace 𝕜 (E i)] diff --git a/Mathlib/Analysis/Calculus/FDeriv/Pow.lean b/Mathlib/Analysis/Calculus/FDeriv/Pow.lean index 069c05c7212246..614597aa8a20a4 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Pow.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Pow.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Calculus.FDeriv.Mul -import Mathlib.Analysis.Calculus.FDeriv.Comp +module + +public import Mathlib.Analysis.Calculus.FDeriv.Mul +public import Mathlib.Analysis.Calculus.FDeriv.Comp /-! # Fréchet Derivative of `f x ^ n`, `n : ℕ` @@ -22,6 +24,8 @@ see the module docstring of `Mathlib/Analysis/Calculus/FDeriv/Basic.lean`. derivative, power -/ +@[expose] public section + variable {𝕜 𝔸 E : Type*} section NormedRing diff --git a/Mathlib/Analysis/Calculus/FDeriv/Prod.lean b/Mathlib/Analysis/Calculus/FDeriv/Prod.lean index a63dbc1a10c3cd..8191237b3a827d 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Prod.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov, Eric Wieser -/ -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Const -import Mathlib.Analysis.Calculus.FDeriv.Linear +module + +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Const +public import Mathlib.Analysis.Calculus.FDeriv.Linear /-! # Derivative of the Cartesian product of functions @@ -17,6 +19,8 @@ This file contains the usual formulas (and existence assertions) for the derivat Cartesian products of functions, and functions into Pi-types. -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal diff --git a/Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean b/Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean index 2848af5f190b4d..afd995b273e237 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Basic /-! # The derivative of the scalar restriction of a linear map @@ -15,6 +17,8 @@ This file contains the usual formulas (and existence assertions) for the derivat the scalar restriction of a linear map. -/ +@[expose] public section + open Filter Asymptotics ContinuousLinearMap Set Metric Topology NNReal ENNReal diff --git a/Mathlib/Analysis/Calculus/FDeriv/Star.lean b/Mathlib/Analysis/Calculus/FDeriv/Star.lean index 411d39d48bff14..5dbfd578049fbc 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Star.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Star.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Calculus.FDeriv.Linear -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.CStarAlgebra.Basic -import Mathlib.Topology.Algebra.Module.Star +module + +public import Mathlib.Analysis.Calculus.FDeriv.Linear +public import Mathlib.Analysis.Calculus.FDeriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.CStarAlgebra.Basic +public import Mathlib.Topology.Algebra.Module.Star /-! # Star operations on derivatives @@ -22,6 +24,8 @@ trivial star operation; which as should be expected rules out `𝕜 = ℂ`. The differentiable when `f` is (and giving a formula for its derivative). -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] [StarRing 𝕜] variable {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean b/Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean index 0e6bae33c6ff54..37ee94ff3f9381 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Analytic.IteratedFDeriv -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.Analysis.Calculus.ContDiff.Basic +module + +public import Mathlib.Analysis.Analytic.IteratedFDeriv +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.Analysis.Calculus.ContDiff.Basic /-! # Symmetry of the second derivative @@ -60,6 +62,8 @@ when `v` and `w` both point towards the interior of `s`, to make sure that all t rectangle are contained in `s` by convexity. The general case follows by linearity, though. -/ +@[expose] public section + open Asymptotics Set Filter diff --git a/Mathlib/Analysis/Calculus/FDeriv/WithLp.lean b/Mathlib/Analysis/Calculus/FDeriv/WithLp.lean index e48bbe4452ca64..0ac46901e510d5 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/WithLp.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/WithLp.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Eric Wieser -/ -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Normed.Lp.PiLp +module + +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Normed.Lp.PiLp /-! # Derivatives on `WithLp` -/ +@[expose] public section + open ContinuousLinearMap PiLp WithLp section PiLp diff --git a/Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean b/Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean index 0dbf033e868465..f662a5d8ea752d 100644 --- a/Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean +++ b/Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.NormedSpace.Multilinear.Curry +module + +public import Mathlib.Analysis.NormedSpace.Multilinear.Curry /-! # Formal multilinear series @@ -22,6 +24,8 @@ values in `F`. This is the space in which the `n`-th derivative of a function fr multilinear, formal series -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/Gradient/Basic.lean b/Mathlib/Analysis/Calculus/Gradient/Basic.lean index faad4940f686cd..71139eacf45455 100644 --- a/Mathlib/Analysis/Calculus/Gradient/Basic.lean +++ b/Mathlib/Analysis/Calculus/Gradient/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Ziyu Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ziyu Wang, Chenyi Li, Sébastien Gouëzel, Penghao Yu, Zhipeng Cao -/ -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.Calculus.FDeriv.Basic -import Mathlib.Analysis.Calculus.Deriv.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.Calculus.FDeriv.Basic +public import Mathlib.Analysis.Calculus.Deriv.Basic /-! # Gradient @@ -37,6 +39,8 @@ This file contains the following parts of gradient. * the theorems about the continuity of a function admitting a gradient. -/ +@[expose] public section + open Topology InnerProductSpace Function Set noncomputable section diff --git a/Mathlib/Analysis/Calculus/Implicit.lean b/Mathlib/Analysis/Calculus/Implicit.lean index f4bc983205b169..e71fe525858e84 100644 --- a/Mathlib/Analysis/Calculus/Implicit.lean +++ b/Mathlib/Analysis/Calculus/Implicit.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Normed.Module.Complemented +module + +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv +public import Mathlib.Analysis.Calculus.FDeriv.Add +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Normed.Module.Complemented /-! # Implicit function theorem @@ -44,6 +46,8 @@ and `f'.range = ⊤`. This version is named `HasStrictFDerivAt.implicitFunction` implicit function, inverse function -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean index fe004484ca4c89..41d42a190f4eb5 100644 --- a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean +++ b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Operator.Banach -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Topology.OpenPartialHomeomorph +module + +public import Mathlib.Analysis.Normed.Operator.Banach +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Topology.OpenPartialHomeomorph /-! # Non-linear maps close to affine maps @@ -44,6 +46,8 @@ We introduce some `local notation` to make formulas shorter: `{x | f x = y}` is nonempty. -/ +@[expose] public section + open Function Set Filter Metric open scoped Topology NNReal diff --git a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean index 0b574a530f13a5..4fe358203d9b7a 100644 --- a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean +++ b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.ContDiff.RCLike -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.ContDiff.RCLike +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv /-! # Inverse function theorem, `C^r` case @@ -13,6 +15,8 @@ import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv In this file we specialize the inverse function theorem to `C^r`-smooth functions. -/ +@[expose] public section + noncomputable section namespace ContDiffAt diff --git a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/Deriv.lean b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/Deriv.lean index be38e1e55e5cc5..1cbe4e1eae7a3e 100644 --- a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/Deriv.lean +++ b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/Deriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Inverse -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv +module + +public import Mathlib.Analysis.Calculus.Deriv.Inverse +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv /-! # Inverse function theorem, 1D case @@ -14,6 +16,8 @@ We use `ContinuousLinearEquiv.unitsEquivAut` to translate `HasStrictDerivAt f f' `f' ≠ 0` into `HasStrictFDerivAt f (_ : 𝕜 ≃L[𝕜] 𝕜) a`. -/ +@[expose] public section + open Filter open scoped Topology diff --git a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean index f0a4c87f3e3da9..34f2228c3d1667 100644 --- a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean +++ b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn +module + +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn /-! # Inverse function theorem @@ -38,6 +40,8 @@ folders, and in `ContDiff.lean`. derivative, strictly differentiable, continuously differentiable, smooth, inverse function -/ +@[expose] public section + open Function Set Filter Metric open scoped Topology NNReal diff --git a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FiniteDimensional.lean b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FiniteDimensional.lean index 09f63bcf9f6d0d..84ea52b27a8adc 100644 --- a/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FiniteDimensional.lean +++ b/Mathlib/Analysis/Calculus/InverseFunctionTheorem/FiniteDimensional.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn -import Mathlib.Analysis.Normed.Module.FiniteDimension +module + +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn +public import Mathlib.Analysis.Normed.Module.FiniteDimension /-! # A lemma about `ApproximatesLinearOn` that needs `FiniteDimensional` @@ -17,6 +19,8 @@ This used to be the only lemma in `Mathlib/Analysis/Calculus/Inverse` depending on `FiniteDimensional`, so it was moved to a new file when the original file got split. -/ +@[expose] public section + open Set open scoped NNReal diff --git a/Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean b/Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean index da2fc0d51be4b5..ecb6b46435fd71 100644 --- a/Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean +++ b/Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.ContDiff.Defs +module + +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.ContDiff.Defs /-! # One-dimensional iterated derivatives @@ -40,6 +42,8 @@ by translating the corresponding result `iteratedFDerivWithin_succ_apply_left` f iterated Fréchet derivative. -/ +@[expose] public section + noncomputable section open scoped Topology diff --git a/Mathlib/Analysis/Calculus/IteratedDeriv/FaaDiBruno.lean b/Mathlib/Analysis/Calculus/IteratedDeriv/FaaDiBruno.lean index da568b530c46e4..aa135fd5456fc7 100644 --- a/Mathlib/Analysis/Calculus/IteratedDeriv/FaaDiBruno.lean +++ b/Mathlib/Analysis/Calculus/IteratedDeriv/FaaDiBruno.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +module + +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs /-! # Iterated derivatives of compositions @@ -30,6 +32,8 @@ Before starting to work on these TODOs, please contact Yury Kudryashov who may have partial progress towards some of them. -/ +@[expose] public section + open Function Set open scoped ContDiff diff --git a/Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean b/Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean index 57088881bf2888..10d3d04722115d 100644 --- a/Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean +++ b/Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, Ruben Van de Velde -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Shift -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Shift +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs /-! # One-dimensional iterated derivatives @@ -15,6 +17,8 @@ This file contains a number of further results on `iteratedDerivWithin` that nee than are available in `Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean`. -/ +@[expose] public section + section one_dimensional variable diff --git a/Mathlib/Analysis/Calculus/IteratedDeriv/WithinZpow.lean b/Mathlib/Analysis/Calculus/IteratedDeriv/WithinZpow.lean index b3eee675c6d744..48cf7f3ebea4d6 100644 --- a/Mathlib/Analysis/Calculus/IteratedDeriv/WithinZpow.lean +++ b/Mathlib/Analysis/Calculus/IteratedDeriv/WithinZpow.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.Calculus.Deriv.ZPow +module + +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.Calculus.Deriv.ZPow /-! # Derivatives of `x ^ m`, `m : ℤ` within an open set @@ -16,6 +18,8 @@ In this file we prove theorems about iterated derivatives of `x ^ m`, `m : ℤ` iterated, derivative, power, open set -/ +@[expose] public section + open scoped Nat variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {s : Set 𝕜} diff --git a/Mathlib/Analysis/Calculus/LHopital.lean b/Mathlib/Analysis/Calculus/LHopital.lean index f4679609858d3b..52a660981d07e3 100644 --- a/Mathlib/Analysis/Calculus/LHopital.lean +++ b/Mathlib/Analysis/Calculus/LHopital.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.Calculus.Deriv.MeanValue +module + +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.Calculus.Deriv.MeanValue /-! # L'Hôpital's rule for 0/0 indeterminate forms @@ -29,6 +31,8 @@ namespace. L'Hôpital's rule, L'Hopital's rule -/ +@[expose] public section + open Filter Set diff --git a/Mathlib/Analysis/Calculus/LagrangeMultipliers.lean b/Mathlib/Analysis/Calculus/LagrangeMultipliers.lean index c79784ec21912f..8fff3f4c627aae 100644 --- a/Mathlib/Analysis/Calculus/LagrangeMultipliers.lean +++ b/Mathlib/Analysis/Calculus/LagrangeMultipliers.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv -import Mathlib.LinearAlgebra.Dual.Defs +module + +public import Mathlib.Analysis.Calculus.FDeriv.Prod +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.FDeriv +public import Mathlib.LinearAlgebra.Dual.Defs /-! # Lagrange multipliers @@ -27,6 +29,8 @@ lagrange multiplier, local extremum -/ +@[expose] public section + open Filter Set diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean index eeb147589b88e2..59c6a385210561 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Slope +module + +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Slope /-! # Line derivatives @@ -45,6 +47,8 @@ on the direction would make them barely usable: * We do not define `LineDifferentiableOn` nor `LineDifferentiable`. -/ +@[expose] public section + noncomputable section open scoped Topology Filter ENNReal NNReal diff --git a/Mathlib/Analysis/Calculus/LineDeriv/IntegrationByParts.lean b/Mathlib/Analysis/Calculus/LineDeriv/IntegrationByParts.lean index 17d2af01219343..19cbef939969c2 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/IntegrationByParts.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/IntegrationByParts.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.LineDeriv.Basic -import Mathlib.MeasureTheory.Integral.IntegralEqImproper +module + +public import Mathlib.Analysis.Calculus.LineDeriv.Basic +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper /-! # Integration by parts for line derivatives @@ -44,6 +46,8 @@ TODO: prove similar theorems assuming that the functions tend to zero at infinit integrable derivatives. -/ +@[expose] public section + open MeasureTheory Measure Module Topology variable {E F G W : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] diff --git a/Mathlib/Analysis/Calculus/LineDeriv/Measurable.lean b/Mathlib/Analysis/Calculus/LineDeriv/Measurable.lean index 7d4ac9cbb734d5..b22e81a49949ad 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/Measurable.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/Measurable.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.LineDeriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Measurable +module + +public import Mathlib.Analysis.Calculus.LineDeriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Measurable /-! # Measurability of the line derivative @@ -19,6 +21,8 @@ way between differentiable and non-differentiable functions along the various li directed by `v`. -/ +@[expose] public section + open MeasureTheory variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] [LocallyCompactSpace 𝕜] diff --git a/Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean b/Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean index af9d06dad747ca..6a47bc1f07d20a 100644 --- a/Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean +++ b/Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.LineDeriv.Basic -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.LinearAlgebra.QuadraticForm.Basic +module + +public import Mathlib.Analysis.Calculus.LineDeriv.Basic +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.LinearAlgebra.QuadraticForm.Basic /-! # Quadratic forms are line (Gateaux) differentiable @@ -16,6 +18,8 @@ Note that this statement does not need topology on the domain. In particular, it applies to discontinuous quadratic forms on infinite-dimensional spaces. -/ +@[expose] public section + variable {𝕜 E F : Type*} [NontriviallyNormedField 𝕜] [AddCommGroup E] [Module 𝕜 E] [NormedAddCommGroup F] [NormedSpace 𝕜 F] diff --git a/Mathlib/Analysis/Calculus/LocalExtr/Basic.lean b/Mathlib/Analysis/Calculus/LocalExtr/Basic.lean index a752742bb50e61..6aa14fa9dbc6cb 100644 --- a/Mathlib/Analysis/Calculus/LocalExtr/Basic.lean +++ b/Mathlib/Analysis/Calculus/LocalExtr/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Add +module + +public import Mathlib.Analysis.Calculus.Deriv.Add /-! # Local extrema of differentiable functions @@ -53,6 +55,8 @@ due to the fact that `fderiv` and `deriv` are defined to be zero for non-differe local extremum, tangent cone, Fermat's Theorem -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/Calculus/LocalExtr/LineDeriv.lean b/Mathlib/Analysis/Calculus/LocalExtr/LineDeriv.lean index 0a903aeacbc7ed..7a127a73ef39df 100644 --- a/Mathlib/Analysis/Calculus/LocalExtr/LineDeriv.lean +++ b/Mathlib/Analysis/Calculus/LocalExtr/LineDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.LocalExtr.Basic -import Mathlib.Analysis.Calculus.LineDeriv.Basic +module + +public import Mathlib.Analysis.Calculus.LocalExtr.Basic +public import Mathlib.Analysis.Calculus.LineDeriv.Basic /-! # Local extremum and line derivatives @@ -13,6 +15,8 @@ If `f` has a local extremum at a point, then the derivative at this point is zer In this file we prove several versions of this fact for line derivatives. -/ +@[expose] public section + open Function Set Filter open scoped Topology diff --git a/Mathlib/Analysis/Calculus/LocalExtr/Polynomial.lean b/Mathlib/Analysis/Calculus/LocalExtr/Polynomial.lean index 7269dd223397c0..937f6f00b464bc 100644 --- a/Mathlib/Analysis/Calculus/LocalExtr/Polynomial.lean +++ b/Mathlib/Analysis/Calculus/LocalExtr/Polynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.LocalExtr.Rolle -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Topology.Algebra.Polynomial +module + +public import Mathlib.Analysis.Calculus.LocalExtr.Rolle +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Topology.Algebra.Polynomial /-! # Rolle's Theorem for polynomials @@ -27,6 +29,8 @@ Namely, we prove the following facts. polynomial, Rolle's Theorem, root -/ +@[expose] public section + namespace Polynomial /-- The number of roots of a real polynomial `p` is at most the number of roots of its derivative diff --git a/Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean b/Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean index ef3e8f191d3804..176e02d33bc476 100644 --- a/Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean +++ b/Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Anatole Dedecker -/ -import Mathlib.Analysis.Calculus.LocalExtr.Basic -import Mathlib.Topology.Order.Rolle +module + +public import Mathlib.Analysis.Calculus.LocalExtr.Basic +public import Mathlib.Topology.Order.Rolle /-! # Rolle's Theorem @@ -40,6 +42,8 @@ We prove four versions of this theorem. local extremum, Rolle's Theorem -/ +@[expose] public section + open Set Filter Topology variable {f f' : ℝ → ℝ} {a b l : ℝ} diff --git a/Mathlib/Analysis/Calculus/LogDeriv.lean b/Mathlib/Analysis/Calculus/LogDeriv.lean index 32cde64356d825..607c101e5f80c3 100644 --- a/Mathlib/Analysis/Calculus/LogDeriv.lean +++ b/Mathlib/Analysis/Calculus/LogDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Calculus.Deriv.ZPow -import Mathlib.Analysis.Calculus.MeanValue +module + +public import Mathlib.Analysis.Calculus.Deriv.ZPow +public import Mathlib.Analysis.Calculus.MeanValue /-! # Logarithmic Derivatives @@ -14,6 +16,8 @@ facts about this, including how it changes under multiplication and composition. -/ +@[expose] public section + noncomputable section open Filter Function Set diff --git a/Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean b/Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean index 2cfdc1e4d03dbd..fb48402b27080a 100644 --- a/Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean +++ b/Mathlib/Analysis/Calculus/LogDerivUniformlyOn.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Topology.Algebra.InfiniteSum.UniformOn +module + +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Topology.Algebra.InfiniteSum.UniformOn /-! # The Logarithmic derivative of an infinite product @@ -15,6 +17,8 @@ individual functions. -/ +@[expose] public section + open Complex theorem logDeriv_tprod_eq_tsum {ι : Type*} {s : Set ℂ} (hs : IsOpen s) {x : s} {f : ι → ℂ → ℂ} diff --git a/Mathlib/Analysis/Calculus/MeanValue.lean b/Mathlib/Analysis/Calculus/MeanValue.lean index 4d2390a71b5061..0b28c3bba6957b 100644 --- a/Mathlib/Analysis/Calculus/MeanValue.lean +++ b/Mathlib/Analysis/Calculus/MeanValue.lean @@ -3,15 +3,17 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.AffineMap -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.Instances.RealVectorSpace -import Mathlib.Topology.LocallyConstant.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.AffineMap +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.Instances.RealVectorSpace +public import Mathlib.Topology.LocallyConstant.Basic /-! # The mean value inequality and equalities @@ -48,6 +50,8 @@ In this file we prove the following facts: strictly differentiable. (This is a corollary of the mean value inequality.) -/ +@[expose] public section + variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type*} [NormedAddCommGroup F] [NormedSpace ℝ F] diff --git a/Mathlib/Analysis/Calculus/Monotone.lean b/Mathlib/Analysis/Calculus/Monotone.lean index c55661e5318c9e..45b37246f4e4d5 100644 --- a/Mathlib/Analysis/Calculus/Monotone.lean +++ b/Mathlib/Analysis/Calculus/Monotone.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.MeasureTheory.Covering.OneDim -import Mathlib.Order.Monotone.Extension +module + +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.MeasureTheory.Covering.OneDim +public import Mathlib.Order.Monotone.Extension /-! # Differentiability of monotone functions @@ -29,6 +31,8 @@ limit of `(f y - f x) / (y - x)` by a lower and upper approximation argument fro behavior of `μ [x, y]`. -/ +@[expose] public section + open Set Filter Function Metric MeasureTheory MeasureTheory.Measure IsUnifLocDoublingMeasure diff --git a/Mathlib/Analysis/Calculus/ParametricIntegral.lean b/Mathlib/Analysis/Calculus/ParametricIntegral.lean index b4e2e1aeb414cb..c25a3541612780 100644 --- a/Mathlib/Analysis/Calculus/ParametricIntegral.lean +++ b/Mathlib/Analysis/Calculus/ParametricIntegral.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual +module + +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual /-! # Derivatives of integrals depending on parameters @@ -53,6 +55,8 @@ We also provide versions of these theorems for set integrals. integral, derivative -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean b/Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean index 0c95694a82624c..bca1b07aba40d1 100644 --- a/Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean +++ b/Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # Derivatives of interval integrals depending on parameters @@ -12,6 +14,8 @@ import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic In this file we restate theorems about derivatives of integrals depending on parameters for interval integrals. -/ +@[expose] public section + open TopologicalSpace MeasureTheory Filter Metric diff --git a/Mathlib/Analysis/Calculus/Rademacher.lean b/Mathlib/Analysis/Calculus/Rademacher.lean index 272e1200e5e036..b2997de7573f6d 100644 --- a/Mathlib/Analysis/Calculus/Rademacher.lean +++ b/Mathlib/Analysis/Calculus/Rademacher.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.LineDeriv.Measurable -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.Analysis.BoundedVariation -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff -import Mathlib.MeasureTheory.Measure.Haar.Disintegration +module + +public import Mathlib.Analysis.Calculus.LineDeriv.Measurable +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.Analysis.BoundedVariation +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.Analysis.Distribution.AEEqOfIntegralContDiff +public import Mathlib.MeasureTheory.Measure.Haar.Disintegration /-! # Rademacher's theorem: a Lipschitz function is differentiable almost everywhere @@ -42,6 +44,8 @@ elementary but maybe the most elegant once necessary prerequisites are set up. * [Pertti Mattila, Geometry of sets and measures in Euclidean spaces, Theorem 7.3][Federer1996] -/ +@[expose] public section + open Filter MeasureTheory Measure Module Metric Set Asymptotics open scoped NNReal ENNReal Topology diff --git a/Mathlib/Analysis/Calculus/SmoothSeries.lean b/Mathlib/Analysis/Calculus/SmoothSeries.lean index d3b156a8006164..43a9217f4c70c1 100644 --- a/Mathlib/Analysis/Calculus/SmoothSeries.lean +++ b/Mathlib/Analysis/Calculus/SmoothSeries.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.UniformLimitsDeriv -import Mathlib.Topology.Algebra.InfiniteSum.Module -import Mathlib.Analysis.Normed.Group.FunctionSeries +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.UniformLimitsDeriv +public import Mathlib.Topology.Algebra.InfiniteSum.Module +public import Mathlib.Analysis.Normed.Group.FunctionSeries /-! # Smoothness of series @@ -21,6 +23,8 @@ More specifically, We also give versions of these statements which are localized to a set. -/ +@[expose] public section + open Set Metric TopologicalSpace Function Asymptotics Filter diff --git a/Mathlib/Analysis/Calculus/TangentCone.lean b/Mathlib/Analysis/Calculus/TangentCone.lean index 514c23cc34eeb8..6d846b62df64a0 100644 --- a/Mathlib/Analysis/Calculus/TangentCone.lean +++ b/Mathlib/Analysis/Calculus/TangentCone.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Convex.Topology -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Seminorm -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Seminorm +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Tangent cone @@ -32,6 +34,8 @@ are not defined yet. The property of uniqueness of the derivative is therefore p prove here. -/ +@[expose] public section + variable (𝕜 : Type*) [NontriviallyNormedField 𝕜] diff --git a/Mathlib/Analysis/Calculus/Taylor.lean b/Mathlib/Analysis/Calculus/Taylor.lean index b1f7dbd688f98e..5ecf57fd801a06 100644 --- a/Mathlib/Analysis/Calculus/Taylor.lean +++ b/Mathlib/Analysis/Calculus/Taylor.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.EuclideanDomain.Field -import Mathlib.Algebra.Polynomial.Module.Basic -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.Analysis.Calculus.Deriv.MeanValue +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.EuclideanDomain.Field +public import Mathlib.Algebra.Polynomial.Module.Basic +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.Analysis.Calculus.Deriv.MeanValue /-! # Taylor's theorem @@ -45,6 +47,8 @@ which states that if `f` is sufficiently smooth, then Taylor polynomial, Taylor's theorem -/ +@[expose] public section + open scoped Interval Topology Nat diff --git a/Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean b/Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean index c9782c49542ce2..a05b37535d3e25 100644 --- a/Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean +++ b/Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kevin H. Wilson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin H. Wilson -/ -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.Analysis.Normed.Module.RCLike.Basic -import Mathlib.Order.Filter.Curry +module + +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.Analysis.Normed.Module.RCLike.Basic +public import Mathlib.Order.Filter.Curry /-! # Swapping limits and derivatives via uniform convergence @@ -92,6 +94,8 @@ continuous, then you can avoid the mean value theorem and much of the work aroun uniform convergence, limits of derivatives -/ +@[expose] public section + open Filter diff --git a/Mathlib/Analysis/Calculus/VectorField.lean b/Mathlib/Analysis/Calculus/VectorField.lean index 7ae6f865e63faa..c15d6d2a0e79f6 100644 --- a/Mathlib/Analysis/Calculus/VectorField.lean +++ b/Mathlib/Analysis/Calculus/VectorField.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Symmetric +module + +public import Mathlib.Analysis.Calculus.FDeriv.Symmetric /-! # Vector fields in vector spaces @@ -28,6 +30,8 @@ In addition to comprehensive API on these two notions, the main results are the -/ +@[expose] public section + open Set open scoped Topology diff --git a/Mathlib/Analysis/Complex/AbelLimit.lean b/Mathlib/Analysis/Complex/AbelLimit.lean index 99311087a38324..c3e8a40d083bc0 100644 --- a/Mathlib/Analysis/Complex/AbelLimit.lean +++ b/Mathlib/Analysis/Complex/AbelLimit.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Tactic.Peel -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Tactic.Peel +public import Mathlib.Tactic.Positivity /-! # Abel's limit theorem @@ -28,6 +30,8 @@ left with angle less than `π`. * https://en.wikipedia.org/wiki/Abel%27s_theorem -/ +@[expose] public section + open Filter Finset diff --git a/Mathlib/Analysis/Complex/AbsMax.lean b/Mathlib/Analysis/Complex/AbsMax.lean index ff0f7bcb65e675..8f276ed3f3ac60 100644 --- a/Mathlib/Analysis/Complex/AbsMax.lean +++ b/Mathlib/Analysis/Complex/AbsMax.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Analysis.NormedSpace.Extr -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.Topology.Order.ExtrClosure +module + +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Analysis.NormedSpace.Extr +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.Topology.Order.ExtrClosure /-! # Maximum modulus principle @@ -78,6 +80,8 @@ are continuous on its closure. We prove the following theorems. maximum modulus principle, complex analysis -/ +@[expose] public section + open TopologicalSpace Metric Set Filter Asymptotics Function MeasureTheory AffineMap Bornology diff --git a/Mathlib/Analysis/Complex/Angle.lean b/Mathlib/Analysis/Complex/Angle.lean index e7a7cb09e81b05..ef75696743a091 100644 --- a/Mathlib/Analysis/Complex/Angle.lean +++ b/Mathlib/Analysis/Complex/Angle.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic /-! # Angle between complex numbers @@ -24,6 +26,8 @@ Prove the corresponding results for oriented angles. arc-length, arc-distance -/ +@[expose] public section + open InnerProductGeometry Set open scoped Real diff --git a/Mathlib/Analysis/Complex/Arg.lean b/Mathlib/Analysis/Complex/Arg.lean index 16fac107c242c9..b89efa7ac0bd4e 100644 --- a/Mathlib/Analysis/Complex/Arg.lean +++ b/Mathlib/Analysis/Complex/Arg.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Analysis.SpecialFunctions.Complex.Arg +module + +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Analysis.SpecialFunctions.Complex.Arg /-! # Rays in the complex numbers @@ -21,6 +23,8 @@ the usual way this is considered. -/ +@[expose] public section + variable {x y : ℂ} diff --git a/Mathlib/Analysis/Complex/Asymptotics.lean b/Mathlib/Analysis/Complex/Asymptotics.lean index 72a08470ee1aa1..908b658010e866 100644 --- a/Mathlib/Analysis/Complex/Asymptotics.lean +++ b/Mathlib/Analysis/Complex/Asymptotics.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.Asymptotics.Theta +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.Asymptotics.Theta /-! # Lemmas about asymptotics and the natural embedding `ℝ → ℂ` @@ -12,6 +14,8 @@ import Mathlib.Analysis.Asymptotics.Theta In this file we prove several trivial lemmas about `Asymptotics.IsBigO` etc. and `(↑) : ℝ → ℂ`. -/ +@[expose] public section + namespace Complex variable {α E : Type*} [Norm E] {l : Filter α} diff --git a/Mathlib/Analysis/Complex/Basic.lean b/Mathlib/Analysis/Complex/Basic.lean index 5b4b71d324cc36..8a1841eaf409ab 100644 --- a/Mathlib/Analysis/Complex/Basic.lean +++ b/Mathlib/Analysis/Complex/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Complex.Order -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Data.Complex.BigOperators -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.Topology.Algebra.InfiniteSum.Module -import Mathlib.Topology.Instances.RealVectorSpace -import Mathlib.Topology.MetricSpace.ProperSpace.Real +module + +public import Mathlib.Analysis.Complex.Order +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Data.Complex.BigOperators +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.Topology.Algebra.InfiniteSum.Module +public import Mathlib.Topology.Instances.RealVectorSpace +public import Mathlib.Topology.MetricSpace.ProperSpace.Real /-! @@ -37,6 +39,8 @@ We also register the fact that `ℂ` is an `RCLike` field. -/ +@[expose] public section + assert_not_exists Absorbs diff --git a/Mathlib/Analysis/Complex/Cardinality.lean b/Mathlib/Analysis/Complex/Cardinality.lean index 4d611f27ae1c9b..9b8d06adb31643 100644 --- a/Mathlib/Analysis/Complex/Cardinality.lean +++ b/Mathlib/Analysis/Complex/Cardinality.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Analysis.Real.Cardinality -import Mathlib.Data.Complex.Basic +module + +public import Mathlib.Analysis.Real.Cardinality +public import Mathlib.Data.Complex.Basic /-! # The cardinality of the complex numbers @@ -12,6 +14,8 @@ import Mathlib.Data.Complex.Basic This file shows that the complex numbers have cardinality continuum, i.e. `#ℂ = 𝔠`. -/ +@[expose] public section + open Cardinal Set open Cardinal diff --git a/Mathlib/Analysis/Complex/CauchyIntegral.lean b/Mathlib/Analysis/Complex/CauchyIntegral.lean index 13d3354b476e22..1d31f82f60e131 100644 --- a/Mathlib/Analysis/Complex/CauchyIntegral.lean +++ b/Mathlib/Analysis/Complex/CauchyIntegral.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.Uniqueness -import Mathlib.Analysis.Calculus.DiffContOnCl -import Mathlib.Analysis.Calculus.DSlope -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Complex.ReImTopology -import Mathlib.Analysis.Real.Cardinality -import Mathlib.MeasureTheory.Integral.CircleIntegral -import Mathlib.MeasureTheory.Integral.DivergenceTheorem -import Mathlib.MeasureTheory.Measure.Lebesgue.Complex +module + +public import Mathlib.Analysis.Analytic.Uniqueness +public import Mathlib.Analysis.Calculus.DiffContOnCl +public import Mathlib.Analysis.Calculus.DSlope +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Complex.ReImTopology +public import Mathlib.Analysis.Real.Cardinality +public import Mathlib.MeasureTheory.Integral.CircleIntegral +public import Mathlib.MeasureTheory.Integral.DivergenceTheorem +public import Mathlib.MeasureTheory.Measure.Lebesgue.Complex /-! # Cauchy integral formula @@ -143,6 +145,8 @@ function is analytic on the open ball. Cauchy-Goursat theorem, Cauchy integral formula -/ +@[expose] public section + open TopologicalSpace Set MeasureTheory intervalIntegral Metric Filter Function open scoped Interval Real NNReal ENNReal Topology diff --git a/Mathlib/Analysis/Complex/Circle.lean b/Mathlib/Analysis/Complex/Circle.lean index d3d0381882eaae..8730a46b068ef4 100644 --- a/Mathlib/Analysis/Complex/Circle.lean +++ b/Mathlib/Analysis/Complex/Circle.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Analysis.Normed.Field.UnitBall +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Analysis.Normed.Field.UnitBall /-! # The circle @@ -37,6 +39,8 @@ is the kernel of the homomorphism `Complex.normSq` from `ℂ` to `ℝ`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Complex/Conformal.lean b/Mathlib/Analysis/Complex/Conformal.lean index 65cdce35305b2d..1a8887f099836c 100644 --- a/Mathlib/Analysis/Complex/Conformal.lean +++ b/Mathlib/Analysis/Complex/Conformal.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang, Stefan Kebekus -/ -import Mathlib.Analysis.Calculus.Conformal.NormedSpace -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars -import Mathlib.Analysis.Complex.Isometry -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.LinearAlgebra.Complex.Module +module + +public import Mathlib.Analysis.Calculus.Conformal.NormedSpace +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.Analysis.Calculus.FDeriv.RestrictScalars +public import Mathlib.Analysis.Complex.Isometry +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.LinearAlgebra.Complex.Module /-! # Conformal maps between complex vector spaces @@ -52,6 +54,8 @@ this file. throughout or antiholomorphic throughout. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Complex/Convex.lean b/Mathlib/Analysis/Complex/Convex.lean index 4071ed7684a88b..29f499c1ea3816 100644 --- a/Mathlib/Analysis/Complex/Convex.lean +++ b/Mathlib/Analysis/Complex/Convex.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Analysis.Complex.ReImTopology -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.PathConnected +module + +public import Mathlib.Analysis.Complex.ReImTopology +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.PathConnected /-! # Theorems about convexity on the complex plane @@ -15,6 +17,8 @@ imaginary part are all convex over ℝ. We also prove some results on star-conve slit plane. -/ +@[expose] public section + open Set open scoped ComplexOrder diff --git a/Mathlib/Analysis/Complex/Exponential.lean b/Mathlib/Analysis/Complex/Exponential.lean index 40d28368a586d9..4773e4b23c14be 100644 --- a/Mathlib/Analysis/Complex/Exponential.lean +++ b/Mathlib/Analysis/Complex/Exponential.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Analysis.Complex.Norm -import Mathlib.Algebra.Order.CauSeq.BigOperators -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Data.Complex.BigOperators -import Mathlib.Data.Nat.Choose.Sum +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Analysis.Complex.Norm +public import Mathlib.Algebra.Order.CauSeq.BigOperators +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Data.Complex.BigOperators +public import Mathlib.Data.Nat.Choose.Sum /-! # Exponential Function @@ -23,6 +25,8 @@ This file contains the definitions of the real and complex exponential function. -/ +@[expose] public section + open CauSeq Finset IsAbsoluteValue open scoped ComplexConjugate @@ -666,7 +670,7 @@ open Lean.Meta Qq /-- Extension for the `positivity` tactic: `Real.exp` is always positive. -/ @[positivity Real.exp _] -def evalExp : PositivityExt where eval {u α} _ _ e := do +meta def evalExp : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.exp $a) => assertInstancesCommute diff --git a/Mathlib/Analysis/Complex/ExponentialBounds.lean b/Mathlib/Analysis/Complex/ExponentialBounds.lean index 9c71603431c1b3..d7ac417d6bafac 100644 --- a/Mathlib/Analysis/Complex/ExponentialBounds.lean +++ b/Mathlib/Analysis/Complex/ExponentialBounds.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Joseph Myers -/ -import Mathlib.Analysis.Complex.Exponential -import Mathlib.Analysis.SpecialFunctions.Log.Deriv +module + +public import Mathlib.Analysis.Complex.Exponential +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv /-! # Bounds on specific values of the exponential -/ +@[expose] public section + namespace Real diff --git a/Mathlib/Analysis/Complex/Hadamard.lean b/Mathlib/Analysis/Complex/Hadamard.lean index d48c484778f838..a91d243c06ddd7 100644 --- a/Mathlib/Analysis/Complex/Hadamard.lean +++ b/Mathlib/Analysis/Complex/Hadamard.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Xavier Généreux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Généreux -/ +module -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv -import Mathlib.Analysis.Complex.PhragmenLindelof +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.Analysis.Complex.PhragmenLindelof /-! # Hadamard three-lines Theorem @@ -57,6 +58,8 @@ The proof follows from Phragmén-Lindelöf when both frontiers are not everywher We then use a limit argument to cover the case when either of the sides are `0`. -/ +@[expose] public section + open Set Filter Function Complex Topology diff --git a/Mathlib/Analysis/Complex/HalfPlane.lean b/Mathlib/Analysis/Complex/HalfPlane.lean index d2cf605ce5148d..9556f81c378fd8 100644 --- a/Mathlib/Analysis/Complex/HalfPlane.lean +++ b/Mathlib/Analysis/Complex/HalfPlane.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Topology.Instances.EReal.Lemmas +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Topology.Instances.EReal.Lemmas /-! # Half-planes in ℂ are open @@ -14,6 +16,8 @@ where the bounding value of the real or imaginary part is given by an `EReal` `x So this includes the full plane and the empty set for `x = ⊤`/`x = ⊥`. -/ +@[expose] public section + namespace Complex /-- An open left half-plane (with boundary real part given by an `EReal`) is an open set diff --git a/Mathlib/Analysis/Complex/Harmonic/Analytic.lean b/Mathlib/Analysis/Complex/Harmonic/Analytic.lean index d6653930c6ef5a..bd1d8d742c569a 100644 --- a/Mathlib/Analysis/Complex/Harmonic/Analytic.lean +++ b/Mathlib/Analysis/Complex/Harmonic/Analytic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Calculus.FDeriv.Symmetric -import Mathlib.Analysis.Complex.Conformal -import Mathlib.Analysis.Complex.HasPrimitives -import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic +module + +public import Mathlib.Analysis.Calculus.FDeriv.Symmetric +public import Mathlib.Analysis.Complex.Conformal +public import Mathlib.Analysis.Complex.HasPrimitives +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic /-! # Analyticity of Harmonic Functions @@ -16,6 +18,8 @@ If `f : ℂ → ℝ` is harmonic at `x`, we show that `∂f/∂1 - I • ∂f/ holomorphic on the ball. This implies in particular that harmonic functions are real-analytic. -/ +@[expose] public section + open Complex InnerProductSpace Metric Topology variable diff --git a/Mathlib/Analysis/Complex/Harmonic/MeanValue.lean b/Mathlib/Analysis/Complex/Harmonic/MeanValue.lean index 88e7c1922739bd..0b4d339ea3eae8 100644 --- a/Mathlib/Analysis/Complex/Harmonic/MeanValue.lean +++ b/Mathlib/Analysis/Complex/Harmonic/MeanValue.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.Harmonic.Analytic -import Mathlib.Analysis.Complex.MeanValue +module + +public import Mathlib.Analysis.Complex.Harmonic.Analytic +public import Mathlib.Analysis.Complex.MeanValue /-! # The Mean Value Property of Harmonic Functions on the Complex Plane -/ +@[expose] public section + open InnerProductSpace Metric Real variable {f : ℂ → ℝ} {c : ℂ} {R : ℝ} diff --git a/Mathlib/Analysis/Complex/HasPrimitives.lean b/Mathlib/Analysis/Complex/HasPrimitives.lean index 8c68b444e8dcd6..5d9b62c4cf1e27 100644 --- a/Mathlib/Analysis/Complex/HasPrimitives.lean +++ b/Mathlib/Analysis/Complex/HasPrimitives.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Ian Jauslin and Alex Kontorovich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ian Jauslin, Alex Kontorovich, Oliver Nash -/ -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.Complex.Convex +module + +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.Complex.Convex /-! # Primitives of Holomorphic Functions @@ -27,6 +29,8 @@ segment in the disk), and compute its derivative. TODO: Extend to holomorphic functions on simply connected domains. -/ +@[expose] public section + noncomputable section open Complex MeasureTheory Metric Set Topology diff --git a/Mathlib/Analysis/Complex/IntegerCompl.lean b/Mathlib/Analysis/Complex/IntegerCompl.lean index d8064ad29a9bb5..934762e844f48b 100644 --- a/Mathlib/Analysis/Complex/IntegerCompl.lean +++ b/Mathlib/Analysis/Complex/IntegerCompl.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.Analysis.Complex.UpperHalfPlane.Basic +public import Mathlib.Analysis.Complex.UpperHalfPlane.Basic /-! # Integer Complement @@ -14,6 +15,8 @@ We also show that the upper half plane embeds into the integer complement. -/ +@[expose] public section + open UpperHalfPlane /-- The complement of the integers in `ℂ` -/ diff --git a/Mathlib/Analysis/Complex/IsIntegral.lean b/Mathlib/Analysis/Complex/IsIntegral.lean index 5be54b86d1177e..414f6da4f64c36 100644 --- a/Mathlib/Analysis/Complex/IsIntegral.lean +++ b/Mathlib/Analysis/Complex/IsIntegral.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Data.Complex.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Data.Complex.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic /-! # Integral elements of ℂ @@ -13,6 +15,8 @@ import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic This file proves that `Complex.I` is integral over ℤ and ℚ. -/ +@[expose] public section + open Polynomial namespace Complex diff --git a/Mathlib/Analysis/Complex/Isometry.lean b/Mathlib/Analysis/Complex/Isometry.lean index 371c75d394db20..da4f99e7f361cb 100644 --- a/Mathlib/Analysis/Complex/Isometry.lean +++ b/Mathlib/Analysis/Complex/Isometry.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 François Sunatori. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: François Sunatori -/ -import Mathlib.Analysis.Complex.Circle -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic +module + +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic /-! # Isometries of the Complex Plane @@ -25,6 +27,8 @@ The proof of `linear_isometry_complex_aux` is separated in the following parts: * [Isometries of the Complex Plane](http://helmut.knaust.info/mediawiki/images/b/b5/Iso.pdf) -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Complex/JensenFormula.lean b/Mathlib/Analysis/Complex/JensenFormula.lean index 9799e38a4e23b8..6fb71d126c3780 100644 --- a/Mathlib/Analysis/Complex/JensenFormula.lean +++ b/Mathlib/Analysis/Complex/JensenFormula.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction -import Mathlib.Analysis.SpecialFunctions.Integrals.PosLogEqCircleAverage +module + +public import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction +public import Mathlib.Analysis.SpecialFunctions.Integrals.PosLogEqCircleAverage /-! # Jensen's Formula of Complex Analysis @@ -21,6 +23,8 @@ equals `log ‖meromorphicTrailingCoeffAt g c‖` plus a correction term that ac poles of `g` within the ball. -/ +@[expose] public section + open Filter MeromorphicAt MeromorphicOn Metric Real /-! diff --git a/Mathlib/Analysis/Complex/Liouville.lean b/Mathlib/Analysis/Complex/Liouville.lean index 2cf546f9929880..281123a32f4f5a 100644 --- a/Mathlib/Analysis/Complex/Liouville.lean +++ b/Mathlib/Analysis/Complex/Liouville.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Normed.Module.Completion +module + +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Normed.Module.Completion /-! # Liouville's theorem @@ -20,6 +22,8 @@ The proof is based on the Cauchy integral formula for the derivative of an analy `Complex.deriv_eq_smul_circleIntegral`. -/ +@[expose] public section + open TopologicalSpace Metric Set Filter Asymptotics Function MeasureTheory Bornology open scoped Topology Filter NNReal Real diff --git a/Mathlib/Analysis/Complex/LocallyUniformLimit.lean b/Mathlib/Analysis/Complex/LocallyUniformLimit.lean index e6d78234db94d1..c555108fc5d153 100644 --- a/Mathlib/Analysis/Complex/LocallyUniformLimit.lean +++ b/Mathlib/Analysis/Complex/LocallyUniformLimit.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Vincent Beffara. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vincent Beffara -/ -import Mathlib.Analysis.Complex.RemovableSingularity -import Mathlib.Analysis.Calculus.UniformLimitsDeriv -import Mathlib.Analysis.Normed.Group.FunctionSeries +module + +public import Mathlib.Analysis.Complex.RemovableSingularity +public import Mathlib.Analysis.Calculus.UniformLimitsDeriv +public import Mathlib.Analysis.Normed.Group.FunctionSeries /-! # Locally uniform limits of holomorphic functions @@ -21,6 +23,8 @@ subset of the complex plane. convergence of the derivatives to the derivative of the limit. -/ +@[expose] public section + open Set Metric MeasureTheory Filter Complex intervalIntegral diff --git a/Mathlib/Analysis/Complex/MeanValue.lean b/Mathlib/Analysis/Complex/MeanValue.lean index cd14fc025bf1e6..92063e3b0f1467 100644 --- a/Mathlib/Analysis/Complex/MeanValue.lean +++ b/Mathlib/Analysis/Complex/MeanValue.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.MeasureTheory.Integral.CircleAverage +module + +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.MeasureTheory.Integral.CircleAverage /-! # The Mean Value Property of Complex Differentiable Functions -/ +@[expose] public section + open Complex Metric Real variable diff --git a/Mathlib/Analysis/Complex/Norm.lean b/Mathlib/Analysis/Complex/Norm.lean index e93c30cc1970b6..83dda663e351bb 100644 --- a/Mathlib/Analysis/Complex/Norm.lean +++ b/Mathlib/Analysis/Complex/Norm.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Data.Complex.Basic -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Data.Complex.Basic +public import Mathlib.Data.Real.Sqrt /-! # Norm on the complex numbers -/ +@[expose] public section + noncomputable section open ComplexConjugate Topology Filter Set diff --git a/Mathlib/Analysis/Complex/OpenMapping.lean b/Mathlib/Analysis/Complex/OpenMapping.lean index 51b2efee867212..88b8df5788016b 100644 --- a/Mathlib/Analysis/Complex/OpenMapping.lean +++ b/Mathlib/Analysis/Complex/OpenMapping.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Vincent Beffara. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vincent Beffara -/ -import Mathlib.Analysis.Analytic.IsolatedZeros -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas +module + +public import Mathlib.Analysis.Analytic.IsolatedZeros +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas /-! # The open mapping theorem for holomorphic functions @@ -30,6 +32,8 @@ That second step is implemented in `DiffContOnCl.ball_subset_image_closedBall`. * `AnalyticOnNhd.is_constant_or_isOpen` is the open mapping theorem on a connected open set. -/ +@[expose] public section + open Set Filter Metric Complex diff --git a/Mathlib/Analysis/Complex/OperatorNorm.lean b/Mathlib/Analysis/Complex/OperatorNorm.lean index be7e0bf4543572..1d921fdc431968 100644 --- a/Mathlib/Analysis/Complex/OperatorNorm.lean +++ b/Mathlib/Analysis/Complex/OperatorNorm.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.LinearAlgebra.Complex.Determinant +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.LinearAlgebra.Complex.Determinant /-! # The basic continuous linear maps associated to `ℂ` @@ -15,6 +17,8 @@ The continuous linear maps `Complex.reCLM` (real part), `Complex.imCLM` (imagina the operator norm and (for `Complex.conjCLE`) the determinant. -/ +@[expose] public section + open ContinuousLinearMap namespace Complex diff --git a/Mathlib/Analysis/Complex/Order.lean b/Mathlib/Analysis/Complex/Order.lean index 89019f87ed016e..5a8890162b6198 100644 --- a/Mathlib/Analysis/Complex/Order.lean +++ b/Mathlib/Analysis/Complex/Order.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Analysis.Complex.Norm +module + +public import Mathlib.Analysis.Complex.Norm /-! # The partial order on the complex numbers @@ -26,6 +28,8 @@ provided in `Mathlib/Analysis/RCLike/Basic.lean` as These are all only available with `open scoped ComplexOrder`. -/ +@[expose] public section + namespace Complex /-- We put a partial order on ℂ so that `z ≤ w` exactly if `w - z` is real and nonnegative. @@ -127,7 +131,7 @@ private alias ⟨_, ofReal_ne_zero_of_ne_zero⟩ := ofReal_ne_zero /-- Extension for the `positivity` tactic: `Complex.ofReal` is positive/nonnegative/nonzero if its input is. -/ @[positivity Complex.ofReal _, Complex.ofReal _] -def evalComplexOfReal : PositivityExt where eval {u α} _ _ e := do +meta def evalComplexOfReal : PositivityExt where eval {u α} _ _ e := do -- TODO: Can we avoid duplicating the code? match u, α, e with | 0, ~q(ℂ), ~q(Complex.ofReal $a) => diff --git a/Mathlib/Analysis/Complex/Periodic.lean b/Mathlib/Analysis/Complex/Periodic.lean index 93b261053d1b3f..60f8642d349d83 100644 --- a/Mathlib/Analysis/Complex/Periodic.lean +++ b/Mathlib/Analysis/Complex/Periodic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Complex.RemovableSingularity -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv -import Mathlib.Order.Filter.ZeroAndBoundedAtFilter +module + +public import Mathlib.Analysis.Complex.RemovableSingularity +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv +public import Mathlib.Order.Filter.ZeroAndBoundedAtFilter /-! # Periodic holomorphic functions @@ -20,6 +22,8 @@ for all sufficiently large `im z`, then `F` extends to a holomorphic function on to zero. These results are important in the theory of modular forms. -/ +@[expose] public section + open Complex Filter Asymptotics open scoped Real Topology diff --git a/Mathlib/Analysis/Complex/PhragmenLindelof.lean b/Mathlib/Analysis/Complex/PhragmenLindelof.lean index 1a3a36236c47f1..6544083d209e4e 100644 --- a/Mathlib/Analysis/Complex/PhragmenLindelof.lean +++ b/Mathlib/Analysis/Complex/PhragmenLindelof.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.Analysis.Asymptotics.SuperpolynomialDecay +module + +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.Analysis.Asymptotics.SuperpolynomialDecay /-! # Phragmen-Lindelöf principle @@ -42,6 +44,8 @@ useful for Ilyashenko's proof of the individual finiteness theorem (a polynomial real plane has only finitely many limit cycles). -/ +@[expose] public section + open Set Function Filter Asymptotics Metric Complex Bornology open scoped Topology Filter Real diff --git a/Mathlib/Analysis/Complex/Polynomial/Basic.lean b/Mathlib/Analysis/Complex/Polynomial/Basic.lean index d52429d90be383..cd91133d8beb11 100644 --- a/Mathlib/Analysis/Complex/Polynomial/Basic.lean +++ b/Mathlib/Analysis/Complex/Polynomial/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Junyan Xu, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.Complex.Liouville -import Mathlib.FieldTheory.PolynomialGaloisGroup -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.Topology.Algebra.Polynomial +module + +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.Complex.Liouville +public import Mathlib.FieldTheory.PolynomialGaloisGroup +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.Topology.Algebra.Polynomial /-! # The fundamental theorem of algebra @@ -22,6 +24,8 @@ of non-real roots. We also show that an irreducible real polynomial has degree at most two. -/ +@[expose] public section + open Polynomial Bornology Complex open scoped ComplexConjugate diff --git a/Mathlib/Analysis/Complex/Polynomial/GaussLucas.lean b/Mathlib/Analysis/Complex/Polynomial/GaussLucas.lean index 5814b244341fd0..2f5737935156ad 100644 --- a/Mathlib/Analysis/Complex/Polynomial/GaussLucas.lean +++ b/Mathlib/Analysis/Complex/Polynomial/GaussLucas.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Aristotle AI -/ -import Mathlib.Analysis.Complex.Polynomial.Basic +module + +public import Mathlib.Analysis.Complex.Polynomial.Basic /-! # Gauss-Lucas Theorem @@ -12,6 +14,8 @@ In this file we prove Gauss-Lucas Theorem: the roots of the derivative of a nonconstant complex polynomial are included in the convex hull of the roots of the polynomial. -/ + +@[expose] public section open scoped BigOperators Polynomial ComplexConjugate namespace Polynomial diff --git a/Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean b/Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean index 35e745ecec6a56..05861d59f7a0ca 100644 --- a/Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean +++ b/Mathlib/Analysis/Complex/Polynomial/UnitTrinomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Polynomial.UnitTrinomial -import Mathlib.Analysis.Complex.Polynomial.Basic +module + +public import Mathlib.Algebra.Polynomial.UnitTrinomial +public import Mathlib.Analysis.Complex.Polynomial.Basic /-! # Irreducibility of unit trinomials @@ -15,6 +17,8 @@ Develop more theory (e.g., it suffices to check that `aeval z p ≠ 0` for `z = unity). -/ +@[expose] public section + namespace Polynomial.IsUnitTrinomial variable {p : ℤ[X]} diff --git a/Mathlib/Analysis/Complex/Positivity.lean b/Mathlib/Analysis/Complex/Positivity.lean index cb3902ccb6bfc2..46866e4fc7d9fa 100644 --- a/Mathlib/Analysis/Complex/Positivity.lean +++ b/Mathlib/Analysis/Complex/Positivity.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Complex.TaylorSeries +module + +public import Mathlib.Analysis.Complex.TaylorSeries /-! # Nonnegativity of values of holomorphic functions @@ -15,6 +17,8 @@ variant `Differentiable.nonneg_of_iteratedDeriv_nonneg` for entire functions and showing `f z ≥ f c` when all iterated derivatives except `f` itseld are nonnegative. -/ +@[expose] public section + open Complex open scoped ComplexOrder diff --git a/Mathlib/Analysis/Complex/ReImTopology.lean b/Mathlib/Analysis/Complex/ReImTopology.lean index 9047ba7081fa30..073e00859307a3 100644 --- a/Mathlib/Analysis/Complex/ReImTopology.lean +++ b/Mathlib/Analysis/Complex/ReImTopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Topology.FiberBundle.IsHomeomorphicTrivialBundle +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Topology.FiberBundle.IsHomeomorphicTrivialBundle /-! # Closure, interior, and frontier of preimages under `re` and `im` @@ -31,6 +33,8 @@ Each statement about `Complex.re` listed below has a counterpart about `Complex. complex, real part, imaginary part, closure, interior, frontier -/ +@[expose] public section + open Set Topology noncomputable section diff --git a/Mathlib/Analysis/Complex/RealDeriv.lean b/Mathlib/Analysis/Complex/RealDeriv.lean index 36ab5525d67616..15ff4ae78bcdb2 100644 --- a/Mathlib/Analysis/Complex/RealDeriv.lean +++ b/Mathlib/Analysis/Complex/RealDeriv.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yourong Zang -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.Deriv.Linear -import Mathlib.Analysis.Complex.Basic +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.Deriv.Linear +public import Mathlib.Analysis.Complex.Basic /-! # Real differentiability of complex-differentiable functions @@ -14,6 +16,8 @@ then its restriction to `ℝ` is differentiable over `ℝ`, with derivative the complex derivative. -/ +@[expose] public section + assert_not_exists IsConformalMap Conformal section RealDerivOfComplex diff --git a/Mathlib/Analysis/Complex/RemovableSingularity.lean b/Mathlib/Analysis/Complex/RemovableSingularity.lean index f1eedd09fad379..6dbabfbb88a926 100644 --- a/Mathlib/Analysis/Complex/RemovableSingularity.lean +++ b/Mathlib/Analysis/Complex/RemovableSingularity.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics -import Mathlib.Analysis.Complex.CauchyIntegral +module + +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +public import Mathlib.Analysis.Complex.CauchyIntegral /-! # Removable singularity theorem @@ -16,6 +18,8 @@ of `c` (or, more generally, $f(z) - f(c)=o((z-c)^{-1})$), then it has a limit at function `update f c (limUnder (𝓝[≠] c) f)` is complex differentiable in a neighborhood of `c`. -/ +@[expose] public section + open TopologicalSpace Metric Set Filter Asymptotics Function diff --git a/Mathlib/Analysis/Complex/Schwarz.lean b/Mathlib/Analysis/Complex/Schwarz.lean index 9f59f93542efd5..c3a57049f6d95e 100644 --- a/Mathlib/Analysis/Complex/Schwarz.lean +++ b/Mathlib/Analysis/Complex/Schwarz.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.Analysis.Complex.RemovableSingularity +module + +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.Analysis.Complex.RemovableSingularity /-! # Schwarz lemma @@ -47,6 +49,8 @@ over complex numbers. Schwarz lemma -/ +@[expose] public section + open Metric Set Function Filter TopologicalSpace diff --git a/Mathlib/Analysis/Complex/Spectrum.lean b/Mathlib/Analysis/Complex/Spectrum.lean index bc58e76fdc1ead..7f807d3c157e3b 100644 --- a/Mathlib/Analysis/Complex/Spectrum.lean +++ b/Mathlib/Analysis/Complex/Spectrum.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Analysis.Complex.Basic +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Analysis.Complex.Basic /-! # Some lemmas on the spectrum and quasispectrum of elements and positivity on `ℂ` -/ +@[expose] public section + namespace SpectrumRestricts variable {A : Type*} [Ring A] diff --git a/Mathlib/Analysis/Complex/SummableUniformlyOn.lean b/Mathlib/Analysis/Complex/SummableUniformlyOn.lean index 1b612df6051345..4aa9a0188c0076 100644 --- a/Mathlib/Analysis/Complex/SummableUniformlyOn.lean +++ b/Mathlib/Analysis/Complex/SummableUniformlyOn.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Topology.Algebra.InfiniteSum.UniformOn +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Topology.Algebra.InfiniteSum.UniformOn /-! # Differentiability of uniformly convergent series sums of functions @@ -14,6 +16,8 @@ We collect some results about the differentiability of infinite sums. -/ +@[expose] public section + lemma SummableLocallyUniformlyOn.differentiableOn {ι E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] [CompleteSpace E] {f : ι → ℂ → E} {s : Set ℂ} (hs : IsOpen s) (h : SummableLocallyUniformlyOn f s) diff --git a/Mathlib/Analysis/Complex/TaylorSeries.lean b/Mathlib/Analysis/Complex/TaylorSeries.lean index 91e330885478dd..0949ce7ca4a25b 100644 --- a/Mathlib/Analysis/Complex/TaylorSeries.lean +++ b/Mathlib/Analysis/Complex/TaylorSeries.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Complex.CauchyIntegral +module + +public import Mathlib.Analysis.Complex.CauchyIntegral /-! # Convergence of Taylor series of holomorphic functions @@ -24,6 +26,8 @@ see `Complex.hasSum_taylorSeries_of_entire`, `Complex.taylorSeries_eq_of_entire` `Complex.taylorSeries_eq_of_entire'`. -/ +@[expose] public section + namespace Complex open Nat diff --git a/Mathlib/Analysis/Complex/Tietze.lean b/Mathlib/Analysis/Complex/Tietze.lean index a60a75e02395e8..9a1ee6b9dfa870 100644 --- a/Mathlib/Analysis/Complex/Tietze.lean +++ b/Mathlib/Analysis/Complex/Tietze.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.RCLike.Lemmas -import Mathlib.Topology.TietzeExtension -import Mathlib.Analysis.Normed.Module.Ball.Homeomorph -import Mathlib.Analysis.Normed.Module.RCLike.Basic +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.RCLike.Lemmas +public import Mathlib.Topology.TietzeExtension +public import Mathlib.Analysis.Normed.Module.Ball.Homeomorph +public import Mathlib.Analysis.Normed.Module.RCLike.Basic /-! # Finite-dimensional topological vector spaces over `ℝ` satisfy the Tietze extension property @@ -21,6 +23,8 @@ There are two main results here: -/ +@[expose] public section + universe u u₁ v w -- this is not an instance because Lean cannot determine `𝕜`. diff --git a/Mathlib/Analysis/Complex/Trigonometric.lean b/Mathlib/Analysis/Complex/Trigonometric.lean index 57b086bce97e93..28598beec6f549 100644 --- a/Mathlib/Analysis/Complex/Trigonometric.lean +++ b/Mathlib/Analysis/Complex/Trigonometric.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir -/ -import Mathlib.Analysis.Complex.Exponential +module + +public import Mathlib.Analysis.Complex.Exponential /-! # Trigonometric and hyperbolic trigonometric functions @@ -13,6 +15,8 @@ hyperbolic sine, hyperbolic cosine, and hyperbolic tangent functions. -/ +@[expose] public section + open CauSeq Finset IsAbsoluteValue open scoped ComplexConjugate @@ -904,7 +908,7 @@ open Lean.Meta Qq /-- Extension for the `positivity` tactic: `Real.cosh` is always positive. -/ @[positivity Real.cosh _] -def evalCosh : PositivityExt where eval {u α} _ _ e := do +meta def evalCosh : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.cosh $a) => assertInstancesCommute diff --git a/Mathlib/Analysis/Complex/UnitDisc/Basic.lean b/Mathlib/Analysis/Complex/UnitDisc/Basic.lean index a0d60ed505cc4f..bd1f33f30887b8 100644 --- a/Mathlib/Analysis/Complex/UnitDisc/Basic.lean +++ b/Mathlib/Analysis/Complex/UnitDisc/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.Circle -import Mathlib.Analysis.Normed.Module.Ball.Action +module + +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.Analysis.Normed.Module.Ball.Action /-! # Poincaré disc @@ -13,6 +15,8 @@ In this file we define `Complex.UnitDisc` to be the unit disc in the complex pla introduce some basic operations on this disc. -/ +@[expose] public section + open Set Function Metric diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean index 417c7da35232cb..611777d4fa5c25 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Alex Kontorovich and Heather Macbeth and Marc Masdeu. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Heather Macbeth, Marc Masdeu -/ -import Mathlib.Analysis.Complex.Basic +module + +public import Mathlib.Analysis.Complex.Basic /-! # The upper half plane @@ -14,6 +16,8 @@ We define the notation `ℍ` for the upper half plane available in the locale `UpperHalfPlane` so as not to conflict with the quaternions. -/ +@[expose] public section + noncomputable section /-- The open upper half plane, denoted as `ℍ` within the `UpperHalfPlane` namespace -/ @@ -119,7 +123,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `UpperHalfPlane.im`. -/ @[positivity UpperHalfPlane.im _] -def evalUpperHalfPlaneIm : PositivityExt where eval {u α} _zα _pα e := do +meta def evalUpperHalfPlaneIm : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(UpperHalfPlane.im $a) => assertInstancesCommute @@ -128,7 +132,7 @@ def evalUpperHalfPlaneIm : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `UpperHalfPlane.coe`. -/ @[positivity UpperHalfPlane.coe _] -def evalUpperHalfPlaneCoe : PositivityExt where eval {u α} _zα _pα e := do +meta def evalUpperHalfPlaneCoe : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℂ), ~q(UpperHalfPlane.coe $a) => assertInstancesCommute diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/Exp.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/Exp.lean index 883af8bb90c486..a84992cab3560d 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/Exp.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/Exp.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Analysis.Complex.Periodic -import Mathlib.Analysis.Complex.UpperHalfPlane.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Analysis.Complex.Periodic +public import Mathlib.Analysis.Complex.UpperHalfPlane.Basic /-! # Exp on the upper half plane @@ -14,6 +16,8 @@ This file contains lemmas about the exponential function on the upper half plane q-expansions of modular forms. -/ +@[expose] public section + open Real Complex UpperHalfPlane Function local notation "𝕢" => Periodic.qParam diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean index 2c074a7c3b4cd8..b8eb290c6448be 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.Order.Filter.ZeroAndBoundedAtFilter +module + +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.Order.Filter.ZeroAndBoundedAtFilter /-! # Bounded at infinity @@ -15,6 +17,8 @@ For complex-valued functions on the upper half plane, this file defines the filt infinity. Both of which are relevant for defining modular forms. -/ +@[expose] public section + open Complex Filter open scoped Topology UpperHalfPlane diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean index c464b1bf97b7bb..df2ee4f9fed6f3 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.Geometry.Manifold.Algebra.Structures -import Mathlib.Geometry.Manifold.ContMDiff.Atlas -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +module + +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.Geometry.Manifold.Algebra.Structures +public import Mathlib.Geometry.Manifold.ContMDiff.Atlas +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv /-! # Manifold structure on the upper half plane. @@ -15,6 +17,8 @@ import Mathlib.Geometry.Manifold.MFDeriv.FDeriv In this file we define the complex manifold structure on the upper half-plane. -/ +@[expose] public section + open Filter open scoped Manifold ContDiff MatrixGroups diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean index b16eda1b128171..76190e62d5f42c 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.Analysis.SpecialFunctions.Arsinh -import Mathlib.Geometry.Euclidean.Inversion.Basic +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.Analysis.SpecialFunctions.Arsinh +public import Mathlib.Geometry.Euclidean.Inversion.Basic /-! # Metric on the upper half-plane @@ -22,6 +24,8 @@ ball/sphere with another center and radius. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean index b566fb9f31ba6b..a939b7aad31312 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Alex Kontorovich and Heather Macbeth and Marc Masdeu. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Heather Macbeth, Marc Masdeu -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.Basic -import Mathlib.Data.Fintype.Parity -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.Basic +public import Mathlib.Data.Fintype.Parity +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs /-! # Group action on the upper half-plane @@ -15,6 +17,8 @@ transformations (composing with complex conjugation when needed to extend the ac positive-determinant subgroup, so that `!![-1, 0; 0, 1]` acts as `z ↦ -conj z`.) -/ +@[expose] public section + noncomputable section open Matrix Matrix.SpecialLinearGroup UpperHalfPlane diff --git a/Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean b/Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean index b06d0c5e075ac4..1a5e704c7fdb36 100644 --- a/Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean +++ b/Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction -import Mathlib.Analysis.Convex.Contractible -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.Complex.Convex -import Mathlib.Analysis.Complex.ReImTopology -import Mathlib.Topology.Homotopy.Contractible -import Mathlib.Topology.OpenPartialHomeomorph +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction +public import Mathlib.Analysis.Convex.Contractible +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.Complex.Convex +public import Mathlib.Analysis.Complex.ReImTopology +public import Mathlib.Topology.Homotopy.Contractible +public import Mathlib.Topology.OpenPartialHomeomorph /-! # Topology on the upper half plane @@ -18,6 +20,8 @@ In this file we introduce a `TopologicalSpace` structure on the upper half plane various instances. -/ +@[expose] public section + noncomputable section open Complex Filter Function Set TopologicalSpace Topology diff --git a/Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean b/Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean index ad22e914b2724e..1cac68817d5753 100644 --- a/Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean +++ b/Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction -import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction +module + +public import Mathlib.Analysis.Complex.ValueDistribution.CountingFunction +public import Mathlib.Analysis.Complex.ValueDistribution.ProximityFunction /-! # The Characteristic Function of Value Distribution Theory @@ -29,6 +31,8 @@ Approximation*][MR3156076] for a detailed discussion. Spaces*][MR886677]. -/ +@[expose] public section + open Metric Real Set namespace ValueDistribution diff --git a/Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean b/Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean index a79bf27cfc5ebe..12a7c21444500a 100644 --- a/Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean +++ b/Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.Divisor -import Mathlib.Analysis.SpecialFunctions.Log.Basic +module + +public import Mathlib.Analysis.Meromorphic.Divisor +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # The Counting Function of Value Distribution Theory @@ -39,6 +41,8 @@ Approximation*][MR3156076] for a detailed discussion. - Counting function of powers. -/ +@[expose] public section + open MeromorphicOn Metric Real Set /-! diff --git a/Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean b/Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean index 421a96d8e88eb5..a12eeb92ead2d6 100644 --- a/Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean +++ b/Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.JensenFormula -import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction +module + +public import Mathlib.Analysis.Complex.JensenFormula +public import Mathlib.Analysis.Complex.ValueDistribution.CharacteristicFunction /-! # The First Main Theorem of Value Distribution Theory @@ -24,6 +26,8 @@ See Section VI.2 of [Lang, *Introduction to Complex Hyperbolic Spaces*][MR886677 [Noguchi-Winkelmann, *Nevanlinna Theory in Several Complex Variables and Diophantine Approximation*][MR3156076] for a detailed discussion. -/ + +@[expose] public section namespace ValueDistribution open Asymptotics Filter Function.locallyFinsuppWithin MeromorphicAt MeromorphicOn Metric Real diff --git a/Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean b/Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean index d1e01aff0e86be..42b5f9fa31f9ab 100644 --- a/Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean +++ b/Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Algebra.Order.WithTop.Untop0 -import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic -import Mathlib.MeasureTheory.Integral.CircleAverage +module + +public import Mathlib.Algebra.Order.WithTop.Untop0 +public import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic +public import Mathlib.MeasureTheory.Integral.CircleAverage /-! @@ -24,6 +26,8 @@ See Section VI.2 of [Lang, *Introduction to Complex Hyperbolic Spaces*][MR886677 Approximation*][MR3156076] for a detailed discussion. -/ +@[expose] public section + open Metric Real Set namespace ValueDistribution diff --git a/Mathlib/Analysis/ConstantSpeed.lean b/Mathlib/Analysis/ConstantSpeed.lean index eb6c4693f3fde4..d8002440ee85e5 100644 --- a/Mathlib/Analysis/ConstantSpeed.lean +++ b/Mathlib/Analysis/ConstantSpeed.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémi Bottinelli. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémi Bottinelli -/ -import Mathlib.Data.Set.Function -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.EMetricSpace.BoundedVariation +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.EMetricSpace.BoundedVariation /-! # Constant speed @@ -38,6 +40,8 @@ as a composite `φ ∘ (variationOnFromTo f s a)`, where `φ` has unit speed and arc-length, parameterization -/ +@[expose] public section + open scoped NNReal ENNReal diff --git a/Mathlib/Analysis/Convex/AmpleSet.lean b/Mathlib/Analysis/Convex/AmpleSet.lean index c2d1fb05a400fa..5cd8084868c429 100644 --- a/Mathlib/Analysis/Convex/AmpleSet.lean +++ b/Mathlib/Analysis/Convex/AmpleSet.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Floris van Doorn -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Analysis.NormedSpace.Connected -import Mathlib.Topology.Algebra.ContinuousAffineEquiv +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Analysis.NormedSpace.Connected +public import Mathlib.Topology.Algebra.ContinuousAffineEquiv /-! # Ample subsets of real vector spaces @@ -38,6 +40,8 @@ connected fields, that is not useful in practice. ample set -/ +@[expose] public section + /-! ## Definition and invariance -/ open Set diff --git a/Mathlib/Analysis/Convex/Basic.lean b/Mathlib/Analysis/Convex/Basic.lean index d012c9eacba9c9..44eba1638010c4 100644 --- a/Mathlib/Analysis/Convex/Basic.lean +++ b/Mathlib/Analysis/Convex/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.Algebra.Ring.Action.Pointwise.Set -import Mathlib.Analysis.Convex.Star -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.NoncommRing -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.Algebra.Ring.Action.Pointwise.Set +public import Mathlib.Analysis.Convex.Star +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.NoncommRing +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs /-! # Convex sets @@ -24,6 +26,8 @@ We provide various equivalent versions, and prove that some specific sets are co Generalize all this file to affine spaces. -/ +@[expose] public section + variable {𝕜 E F β : Type*} diff --git a/Mathlib/Analysis/Convex/Between.lean b/Mathlib/Analysis/Convex/Between.lean index c046576ad8015d..10ef6def82c098 100644 --- a/Mathlib/Analysis/Convex/Between.lean +++ b/Mathlib/Analysis/Convex/Between.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.Order.Interval.Set.Group -import Mathlib.Analysis.Convex.Basic -import Mathlib.Analysis.Convex.Segment -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.Order.Interval.Set.Group +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Analysis.Convex.Segment +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +public import Mathlib.Tactic.FieldSimp /-! # Betweenness in affine spaces @@ -23,6 +25,8 @@ This file defines notions of a point in an affine space being between two given -/ +@[expose] public section + variable (R : Type*) {V V' P P' : Type*} diff --git a/Mathlib/Analysis/Convex/BetweenList.lean b/Mathlib/Analysis/Convex/BetweenList.lean index 4fb4a94f3f32a9..bae1d27d00bee5 100644 --- a/Mathlib/Analysis/Convex/BetweenList.lean +++ b/Mathlib/Analysis/Convex/BetweenList.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Data.List.Triplewise +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Data.List.Triplewise /-! # Betweenness for lists of points. @@ -18,6 +20,8 @@ This file defines notions of lists of points in an affine space being in order o -/ +@[expose] public section + variable (R : Type*) {V V' P P' : Type*} diff --git a/Mathlib/Analysis/Convex/Birkhoff.lean b/Mathlib/Analysis/Convex/Birkhoff.lean index 6877290dc76809..812789f85e5446 100644 --- a/Mathlib/Analysis/Convex/Birkhoff.lean +++ b/Mathlib/Analysis/Convex/Birkhoff.lean @@ -3,14 +3,15 @@ Copyright (c) 2024 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ +module -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.Extreme -import Mathlib.Analysis.Convex.Jensen -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Combinatorics.Hall.Basic -import Mathlib.Analysis.Convex.DoublyStochasticMatrix -import Mathlib.Tactic.Linarith +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.Extreme +public import Mathlib.Analysis.Convex.Jensen +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Combinatorics.Hall.Basic +public import Mathlib.Analysis.Convex.DoublyStochasticMatrix +public import Mathlib.Tactic.Linarith /-! # Birkhoff's theorem @@ -34,6 +35,8 @@ import Mathlib.Tactic.Linarith Doubly stochastic, Birkhoff's theorem, Birkhoff-von Neumann theorem -/ +@[expose] public section + open Finset Function Matrix variable {R n : Type*} [Fintype n] [DecidableEq n] diff --git a/Mathlib/Analysis/Convex/Body.lean b/Mathlib/Analysis/Convex/Body.lean index c564d089bf84d5..a7f1f1e6644ce5 100644 --- a/Mathlib/Analysis/Convex/Body.lean +++ b/Mathlib/Analysis/Convex/Body.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Paul A. Reichert. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul A. Reichert -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # Convex bodies @@ -29,6 +31,8 @@ If `V` is a normed space, `ConvexBody V` is a metric space. convex, convex body -/ +@[expose] public section + open scoped Pointwise Topology NNReal diff --git a/Mathlib/Analysis/Convex/Caratheodory.lean b/Mathlib/Analysis/Convex/Caratheodory.lean index 24e2146648a77e..7cd7dd08e02fe2 100644 --- a/Mathlib/Analysis/Convex/Caratheodory.lean +++ b/Mathlib/Analysis/Convex/Caratheodory.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.LinearAlgebra.AffineSpace.Independent -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.LinearAlgebra.AffineSpace.Independent +public import Mathlib.Tactic.FieldSimp /-! # Carathéodory's convexity theorem @@ -36,6 +38,8 @@ convex hull, caratheodory -/ +@[expose] public section + open Set Finset diff --git a/Mathlib/Analysis/Convex/Combination.lean b/Mathlib/Analysis/Convex/Combination.lean index 3a00864b1457d5..db0cf7fe971b86 100644 --- a/Mathlib/Analysis/Convex/Combination.lean +++ b/Mathlib/Analysis/Convex/Combination.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Analysis.Convex.Hull -import Mathlib.LinearAlgebra.AffineSpace.Basis +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Analysis.Convex.Hull +public import Mathlib.LinearAlgebra.AffineSpace.Basis /-! # Convex combinations @@ -23,6 +25,8 @@ mathematical arguments go: one doesn't change weights, but merely adds some. Thi lemmas unconditional on the sum of the weights being `1`. -/ +@[expose] public section + assert_not_exists Cardinal open Set Function Pointwise diff --git a/Mathlib/Analysis/Convex/Cone/Basic.lean b/Mathlib/Analysis/Convex/Cone/Basic.lean index 5b322c9aef5583..050bf5e4eacb90 100644 --- a/Mathlib/Analysis/Convex/Cone/Basic.lean +++ b/Mathlib/Analysis/Convex/Cone/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Apurva Nakade. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Apurva Nakade, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Cone.Closure -import Mathlib.Geometry.Convex.Cone.Pointed -import Mathlib.Topology.Algebra.Module.ClosedSubmodule -import Mathlib.Topology.Algebra.Order.Module -import Mathlib.Topology.Order.DenselyOrdered +module + +public import Mathlib.Analysis.Convex.Cone.Closure +public import Mathlib.Geometry.Convex.Cone.Pointed +public import Mathlib.Topology.Algebra.Module.ClosedSubmodule +public import Mathlib.Topology.Algebra.Order.Module +public import Mathlib.Topology.Order.DenselyOrdered /-! # Proper cones @@ -40,6 +42,8 @@ The next steps are: -/ +@[expose] public section + open ContinuousLinearMap Filter Function Set variable {𝕜 R E F G : Type*} [Semiring R] [PartialOrder R] [IsOrderedRing R] diff --git a/Mathlib/Analysis/Convex/Cone/Closure.lean b/Mathlib/Analysis/Convex/Cone/Closure.lean index cc068ef35c076d..c73d84a0e28790 100644 --- a/Mathlib/Analysis/Convex/Cone/Closure.lean +++ b/Mathlib/Analysis/Convex/Cone/Closure.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Apurva Nakade. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Apurva Nakade -/ -import Mathlib.Geometry.Convex.Cone.Pointed -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Geometry.Convex.Cone.Pointed +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Closure of cones @@ -15,6 +17,8 @@ defining maps between proper cones. The current API is basic and should be exten -/ +@[expose] public section + namespace ConvexCone variable {𝕜 : Type*} [Semiring 𝕜] [PartialOrder 𝕜] diff --git a/Mathlib/Analysis/Convex/Cone/Dual.lean b/Mathlib/Analysis/Convex/Cone/Dual.lean index daf8913847b38e..78bfd3ba37749b 100644 --- a/Mathlib/Analysis/Convex/Cone/Dual.lean +++ b/Mathlib/Analysis/Convex/Cone/Dual.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Analysis.Convex.Cone.Basic -import Mathlib.Analysis.NormedSpace.HahnBanach.Separation -import Mathlib.Geometry.Convex.Cone.Dual -import Mathlib.Topology.Algebra.Module.PerfectPairing +module + +public import Mathlib.Analysis.Convex.Cone.Basic +public import Mathlib.Analysis.NormedSpace.HahnBanach.Separation +public import Mathlib.Geometry.Convex.Cone.Dual +public import Mathlib.Topology.Algebra.Module.PerfectPairing /-! # The topological dual of a cone and Farkas' lemma @@ -37,6 +39,8 @@ We prove the following theorems: * https://en.wikipedia.org/wiki/Farkas%27_lemma#Geometric_interpretation -/ +@[expose] public section + assert_not_exists InnerProductSpace open Set LinearMap Pointwise diff --git a/Mathlib/Analysis/Convex/Cone/Extension.lean b/Mathlib/Analysis/Convex/Cone/Extension.lean index e9863a33f4ca12..1bfa70c64b8b7d 100644 --- a/Mathlib/Analysis/Convex/Cone/Extension.lean +++ b/Mathlib/Analysis/Convex/Cone/Extension.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Frédéric Dupuis -/ -import Mathlib.Data.Real.Archimedean -import Mathlib.Geometry.Convex.Cone.Basic -import Mathlib.LinearAlgebra.LinearPMap +module + +public import Mathlib.Data.Real.Archimedean +public import Mathlib.Geometry.Convex.Cone.Basic +public import Mathlib.LinearAlgebra.LinearPMap /-! # Extension theorems @@ -25,6 +27,8 @@ We prove two extension theorems: -/ +@[expose] public section + open Set LinearMap variable {𝕜 E F G : Type*} diff --git a/Mathlib/Analysis/Convex/Cone/InnerDual.lean b/Mathlib/Analysis/Convex/Cone/InnerDual.lean index f8dc12c7594956..48b0657fe56b1e 100644 --- a/Mathlib/Analysis/Convex/Cone/InnerDual.lean +++ b/Mathlib/Analysis/Convex/Cone/InnerDual.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Cone.Dual -import Mathlib.Analysis.InnerProductSpace.Adjoint +module + +public import Mathlib.Analysis.Convex.Cone.Dual +public import Mathlib.Analysis.InnerProductSpace.Adjoint /-! # Inner dual cone of a set @@ -33,6 +35,8 @@ Furthermore, the strict version `{y | ∀ x ∈ s, 0 < ⟪x, y⟫}` is a candida `ConvexCone.innerDual`. -/ +@[expose] public section + open Set LinearMap Pointwise open scoped RealInnerProductSpace diff --git a/Mathlib/Analysis/Convex/Continuous.lean b/Mathlib/Analysis/Convex/Continuous.lean index 753a8db59281a5..912e7621d6deef 100644 --- a/Mathlib/Analysis/Convex/Continuous.lean +++ b/Mathlib/Analysis/Convex/Continuous.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies, Zichen Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Zichen Wang -/ -import Mathlib.Analysis.Normed.Affine.Convex +module + +public import Mathlib.Analysis.Normed.Affine.Convex /-! # Convex functions are continuous @@ -12,6 +14,8 @@ This file proves that a convex function from a finite-dimensional real normed sp continuous. -/ +@[expose] public section + open FiniteDimensional Metric Set List Bornology open scoped Topology diff --git a/Mathlib/Analysis/Convex/ContinuousLinearEquiv.lean b/Mathlib/Analysis/Convex/ContinuousLinearEquiv.lean index 276a7d30d50bea..183fa37d5b9b3b 100644 --- a/Mathlib/Analysis/Convex/ContinuousLinearEquiv.lean +++ b/Mathlib/Analysis/Convex/ContinuousLinearEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Strict -import Mathlib.Topology.Algebra.Module.Equiv +module + +public import Mathlib.Analysis.Convex.Strict +public import Mathlib.Topology.Algebra.Module.Equiv /-! # (Pre)images of strict convex sets under continuous linear equivalences @@ -13,6 +15,8 @@ In this file we prove that the (pre)image of a strict convex set under a continuous linear equivalence is a strict convex set. -/ +@[expose] public section + variable {𝕜 E F : Type*} [Field 𝕜] [PartialOrder 𝕜] [AddCommGroup E] [Module 𝕜 E] [TopologicalSpace E] diff --git a/Mathlib/Analysis/Convex/Contractible.lean b/Mathlib/Analysis/Convex/Contractible.lean index 44ce20925acfce..bcdd0740641f14 100644 --- a/Mathlib/Analysis/Convex/Contractible.lean +++ b/Mathlib/Analysis/Convex/Contractible.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Star -import Mathlib.Topology.Homotopy.Contractible +module + +public import Mathlib.Analysis.Convex.Star +public import Mathlib.Topology.Homotopy.Contractible /-! # A convex set is contractible @@ -13,6 +15,8 @@ In this file we prove that a (star) convex set in a real topological vector spac topological space. -/ +@[expose] public section + variable {E : Type*} [AddCommGroup E] [Module ℝ E] [TopologicalSpace E] [ContinuousAdd E] [ContinuousSMul ℝ E] {s : Set E} {x : E} diff --git a/Mathlib/Analysis/Convex/Deriv.lean b/Mathlib/Analysis/Convex/Deriv.lean index 3096f9d852762e..c155a2c381d7f5 100644 --- a/Mathlib/Analysis/Convex/Deriv.lean +++ b/Mathlib/Analysis/Convex/Deriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov, David Loeffler -/ -import Mathlib.Analysis.Convex.Slope -import Mathlib.Analysis.Calculus.Deriv.MeanValue +module + +public import Mathlib.Analysis.Convex.Slope +public import Mathlib.Analysis.Calculus.Deriv.MeanValue /-! # Convexity of functions and derivatives @@ -19,6 +21,8 @@ Here we relate convexity of functions `ℝ → ℝ` to properties of their deriv monotone. -/ +@[expose] public section + open Metric Set Asymptotics ContinuousLinearMap Filter open scoped Topology NNReal diff --git a/Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean b/Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean index b0d67ade3d03d7..7a65912e0ff688 100644 --- a/Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean +++ b/Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ +module -import Mathlib.Analysis.Convex.Basic -import Mathlib.LinearAlgebra.Matrix.Permutation +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.LinearAlgebra.Matrix.Permutation /-! # Doubly stochastic matrices @@ -31,6 +32,8 @@ Show that the submonoid of doubly stochastic matrices is the meet of them, or re Doubly stochastic, Birkhoff's theorem, Birkhoff-von Neumann theorem -/ +@[expose] public section + open Finset Function Matrix variable {R n : Type*} [Fintype n] [DecidableEq n] diff --git a/Mathlib/Analysis/Convex/EGauge.lean b/Mathlib/Analysis/Convex/EGauge.lean index a42e98f8844245..0c2423f53c3ac1 100644 --- a/Mathlib/Analysis/Convex/EGauge.lean +++ b/Mathlib/Analysis/Convex/EGauge.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Seminorm -import Mathlib.GroupTheory.GroupAction.Pointwise +module + +public import Mathlib.Analysis.Seminorm +public import Mathlib.GroupTheory.GroupAction.Pointwise /-! # The Minkowski functional, normed field version @@ -25,6 +27,8 @@ Currently, we can't reuse results about `egauge` for `gauge`, because we lack a theory of normed semifields. -/ +@[expose] public section + open Function Set Filter Metric open scoped Topology Pointwise ENNReal NNReal diff --git a/Mathlib/Analysis/Convex/Exposed.lean b/Mathlib/Analysis/Convex/Exposed.lean index 4f4fb377955d4b..d01762dabdb571 100644 --- a/Mathlib/Analysis/Convex/Exposed.lean +++ b/Mathlib/Analysis/Convex/Exposed.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.Extreme -import Mathlib.Analysis.Convex.Function -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Topology.Order.OrderClosed +module + +public import Mathlib.Analysis.Convex.Extreme +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Topology.Order.OrderClosed /-! # Exposed sets @@ -39,6 +41,8 @@ See chapter 8 of [Barry Simon, *Convexity*][simon2011] Prove lemmas relating exposed sets and points to the intrinsic frontier. -/ +@[expose] public section + open Affine Set section PreorderSemiring diff --git a/Mathlib/Analysis/Convex/Extrema.lean b/Mathlib/Analysis/Convex/Extrema.lean index f5bfc1960b0f8e..a62c3558f8d957 100644 --- a/Mathlib/Analysis/Convex/Extrema.lean +++ b/Mathlib/Analysis/Convex/Extrema.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Analysis.Convex.Function -import Mathlib.Topology.Algebra.Affine -import Mathlib.Topology.Order.LocalExtr -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +module + +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Topology.Algebra.Affine +public import Mathlib.Topology.Order.LocalExtr +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas /-! # Minima and maxima of convex functions @@ -15,6 +17,8 @@ We show that if a function `f : E → β` is convex, then a local minimum is als a global minimum, and likewise for concave functions. -/ +@[expose] public section + variable {E β : Type*} [AddCommGroup E] [TopologicalSpace E] [Module ℝ E] [IsTopologicalAddGroup E] [ContinuousSMul ℝ E] [AddCommGroup β] [PartialOrder β] [IsOrderedAddMonoid β] diff --git a/Mathlib/Analysis/Convex/Extreme.lean b/Mathlib/Analysis/Convex/Extreme.lean index 6a19eed4c9e065..79bc2c4b3a7776 100644 --- a/Mathlib/Analysis/Convex/Extreme.lean +++ b/Mathlib/Analysis/Convex/Extreme.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.Hull +module + +public import Mathlib.Analysis.Convex.Hull /-! # Extreme sets @@ -38,6 +40,8 @@ See chapter 8 of [Barry Simon, *Convexity*][simon2011] Prove lemmas relating extreme sets and points to the intrinsic frontier. -/ +@[expose] public section + open Function Set Affine diff --git a/Mathlib/Analysis/Convex/Function.lean b/Mathlib/Analysis/Convex/Function.lean index 52942da269231a..587c44475e366e 100644 --- a/Mathlib/Analysis/Convex/Function.lean +++ b/Mathlib/Analysis/Convex/Function.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, François Dupuis -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.Order.Filter.Extr -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Order.Filter.Extr +public import Mathlib.Tactic.NormNum /-! # Convex and concave functions @@ -26,6 +28,8 @@ a convex set. * `StrictConcaveOn 𝕜 s f`: The function `f` is strictly concave on `s` with scalars `𝕜`. -/ +@[expose] public section + open LinearMap Set Convex Pointwise variable {𝕜 E F α β ι : Type*} diff --git a/Mathlib/Analysis/Convex/Gauge.lean b/Mathlib/Analysis/Convex/Gauge.lean index 9803609d5f5467..611669bbf8fea3 100644 --- a/Mathlib/Analysis/Convex/Gauge.lean +++ b/Mathlib/Analysis/Convex/Gauge.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.Topology -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.Analysis.Seminorm -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Analysis.RCLike.Basic +module + +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.Analysis.Seminorm +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Analysis.RCLike.Basic /-! # The Minkowski functional @@ -36,6 +38,8 @@ For a real vector space, Minkowski functional, gauge -/ +@[expose] public section + open NormedField Set open scoped Pointwise Topology NNReal diff --git a/Mathlib/Analysis/Convex/GaugeRescale.lean b/Mathlib/Analysis/Convex/GaugeRescale.lean index 64784ae3b43688..93d718b659f978 100644 --- a/Mathlib/Analysis/Convex/GaugeRescale.lean +++ b/Mathlib/Analysis/Convex/GaugeRescale.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Gauge -import Mathlib.Analysis.Normed.Module.Convex +module + +public import Mathlib.Analysis.Convex.Gauge +public import Mathlib.Analysis.Normed.Module.Convex /-! # "Gauge rescale" homeomorphism between convex sets @@ -15,6 +17,8 @@ that sends the interior, the closure, and the frontier of one set to the interior, the closure, and the frontier of the other set. -/ +@[expose] public section + open Metric Bornology Filter Set open scoped NNReal Topology Pointwise diff --git a/Mathlib/Analysis/Convex/Hull.lean b/Mathlib/Analysis/Convex/Hull.lean index cc8c782ab62e70..d9feb4d859895c 100644 --- a/Mathlib/Analysis/Convex/Hull.lean +++ b/Mathlib/Analysis/Convex/Hull.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.Order.Closure +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Order.Closure /-! # Convex hull @@ -19,6 +21,8 @@ while the impact on writing code is minimal as `convexHull 𝕜 s` is automatica `(convexHull 𝕜) s`. -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/Convex/Independent.lean b/Mathlib/Analysis/Convex/Independent.lean index 987a227caa15f7..321d90af666632 100644 --- a/Mathlib/Analysis/Convex/Independent.lean +++ b/Mathlib/Analysis/Convex/Independent.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.Extreme +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.Extreme /-! # Convex independence @@ -39,6 +41,8 @@ and `Finset.centerMass`. independence, convex position -/ +@[expose] public section + open Affine Finset Function diff --git a/Mathlib/Analysis/Convex/Integral.lean b/Mathlib/Analysis/Convex/Integral.lean index a5bbc703cd8c33..65c2f680ea03d1 100644 --- a/Mathlib/Analysis/Convex/Integral.lean +++ b/Mathlib/Analysis/Convex/Integral.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Function -import Mathlib.Analysis.Convex.StrictConvexSpace -import Mathlib.MeasureTheory.Function.AEEqOfIntegral -import Mathlib.MeasureTheory.Integral.Average +module + +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Analysis.Convex.StrictConvexSpace +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral +public import Mathlib.MeasureTheory.Integral.Average /-! # Jensen's inequality for integrals @@ -34,6 +36,8 @@ In this file we prove several forms of Jensen's inequality for integrals. convex, integral, center mass, average value, Jensen's inequality -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Metric Set Filter TopologicalSpace Function diff --git a/Mathlib/Analysis/Convex/Intrinsic.lean b/Mathlib/Analysis/Convex/Intrinsic.lean index d5d77d1a61c4ba..14f5aa3e67192c 100644 --- a/Mathlib/Analysis/Convex/Intrinsic.lean +++ b/Mathlib/Analysis/Convex/Intrinsic.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Paul Reichert. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Reichert, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Affine.AddTorsorBases +module + +public import Mathlib.Analysis.Normed.Affine.AddTorsorBases /-! # Intrinsic frontier and interior @@ -43,6 +45,8 @@ The main results are: * `x ∈ s → y ∈ intrinsicInterior 𝕜 s → openSegment 𝕜 x y ⊆ intrinsicInterior 𝕜 s` -/ +@[expose] public section + open AffineSubspace Set Topology open scoped Pointwise diff --git a/Mathlib/Analysis/Convex/Jensen.lean b/Mathlib/Analysis/Convex/Jensen.lean index 908e8b62643cea..d2b9b87cc07c5b 100644 --- a/Mathlib/Analysis/Convex/Jensen.lean +++ b/Mathlib/Analysis/Convex/Jensen.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.Function -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Tactic.FieldSimp /-! # Jensen's inequality and maximum principle for convex functions @@ -30,6 +32,8 @@ As corollaries, we get: * `ConcaveOn.exists_le_of_mem_convexHull`: Minimum principle for concave functions. -/ +@[expose] public section + open Finset LinearMap Set Convex Pointwise diff --git a/Mathlib/Analysis/Convex/Join.lean b/Mathlib/Analysis/Convex/Join.lean index 91b909ec8faff7..b10d4fb6fb4586 100644 --- a/Mathlib/Analysis/Convex/Join.lean +++ b/Mathlib/Analysis/Convex/Join.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.Hull +module + +public import Mathlib.Analysis.Convex.Hull /-! # Convex join @@ -13,6 +15,8 @@ segments with one end in `s` and the other in `t`. This is notably a useful gadg convex hulls of finite sets. -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/Convex/KreinMilman.lean b/Mathlib/Analysis/Convex/KreinMilman.lean index 0c568c40e6cc90..7cc15ac5d3c469 100644 --- a/Mathlib/Analysis/Convex/KreinMilman.lean +++ b/Mathlib/Analysis/Convex/KreinMilman.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.Exposed -import Mathlib.Analysis.NormedSpace.HahnBanach.Separation -import Mathlib.Topology.Algebra.ContinuousAffineMap +module + +public import Mathlib.Analysis.Convex.Exposed +public import Mathlib.Analysis.NormedSpace.HahnBanach.Separation +public import Mathlib.Topology.Algebra.ContinuousAffineMap /-! # The Krein-Milman theorem @@ -50,6 +52,8 @@ See chapter 8 of [Barry Simon, *Convexity*][simon2011] -/ +@[expose] public section + open Set variable {E F : Type*} [AddCommGroup E] [Module ℝ E] [TopologicalSpace E] [T2Space E] diff --git a/Mathlib/Analysis/Convex/LinearIsometry.lean b/Mathlib/Analysis/Convex/LinearIsometry.lean index bef0b57a7f93d3..ec2730471fe3a1 100644 --- a/Mathlib/Analysis/Convex/LinearIsometry.lean +++ b/Mathlib/Analysis/Convex/LinearIsometry.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.ContinuousLinearEquiv -import Mathlib.Analysis.Convex.StrictConvexSpace -import Mathlib.Analysis.Normed.Operator.LinearIsometry +module + +public import Mathlib.Analysis.Convex.ContinuousLinearEquiv +public import Mathlib.Analysis.Convex.StrictConvexSpace +public import Mathlib.Analysis.Normed.Operator.LinearIsometry /-! # (Strict) convexity and linear isometries @@ -13,6 +15,8 @@ import Mathlib.Analysis.Normed.Operator.LinearIsometry In this file we prove some basic lemmas about (strict) convexity and linear isometries. -/ +@[expose] public section + open Function Set Metric open scoped Convex diff --git a/Mathlib/Analysis/Convex/Measure.lean b/Mathlib/Analysis/Convex/Measure.lean index d2784c998dd189..d792c87a563ad6 100644 --- a/Mathlib/Analysis/Convex/Measure.lean +++ b/Mathlib/Analysis/Convex/Measure.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Affine.AddTorsorBases -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +module + +public import Mathlib.Analysis.Normed.Affine.AddTorsorBases +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar /-! # Convex sets are null-measurable @@ -15,6 +17,8 @@ convex set in `E`. Then the frontier of `s` has measure zero (see `Convex.addHaa `s` is a `NullMeasurableSet` (see `Convex.nullMeasurableSet`). -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Set Metric Filter Bornology diff --git a/Mathlib/Analysis/Convex/Mul.lean b/Mathlib/Analysis/Convex/Mul.lean index 10f4a3a1b1085f..23f3de90e0fdd1 100644 --- a/Mathlib/Analysis/Convex/Mul.lean +++ b/Mathlib/Analysis/Convex/Mul.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Monovary -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Analysis.Convex.Function -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.Order.Monovary +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Tactic.FieldSimp /-! # Product of convex functions @@ -19,6 +21,8 @@ As corollaries, we also prove that `x ↦ x ^ n` is convex * `convexOn_zpow`: over $(0, +∞)$ For `n : ℤ`. -/ +@[expose] public section + open Set variable {𝕜 E F G : Type*} diff --git a/Mathlib/Analysis/Convex/PartitionOfUnity.lean b/Mathlib/Analysis/Convex/PartitionOfUnity.lean index 08634daa0deabc..8b60e782c399fd 100644 --- a/Mathlib/Analysis/Convex/PartitionOfUnity.lean +++ b/Mathlib/Analysis/Convex/PartitionOfUnity.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.PartitionOfUnity -import Mathlib.Analysis.Convex.Combination +module + +public import Mathlib.Topology.PartitionOfUnity +public import Mathlib.Analysis.Convex.Combination /-! # Partition of unity and convex sets @@ -24,6 +26,8 @@ assumes that local functions `g` are constants. partition of unity -/ +@[expose] public section + open Set Function diff --git a/Mathlib/Analysis/Convex/PathConnected.lean b/Mathlib/Analysis/Convex/PathConnected.lean index 89c7077767d978..8de5a37807571f 100644 --- a/Mathlib/Analysis/Convex/PathConnected.lean +++ b/Mathlib/Analysis/Convex/PathConnected.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.LinearAlgebra.Projection -import Mathlib.Topology.Connected.PathConnected +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.LinearAlgebra.Projection +public import Mathlib.Topology.Connected.PathConnected /-! # Segment between 2 points as a bundled path @@ -18,6 +20,8 @@ then use it to show that a nonempty convex set is path connected. In particular, a topological vector space over `ℝ` is path connected. -/ +@[expose] public section + open AffineMap Set open scoped Convex unitInterval diff --git a/Mathlib/Analysis/Convex/Piecewise.lean b/Mathlib/Analysis/Convex/Piecewise.lean index 34aa739ed942f4..0252500303fb32 100644 --- a/Mathlib/Analysis/Convex/Piecewise.lean +++ b/Mathlib/Analysis/Convex/Piecewise.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Mitchell Horner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Horner -/ -import Mathlib.Analysis.Convex.Function +module + +public import Mathlib.Analysis.Convex.Function /-! # Convex and concave piecewise functions @@ -26,6 +28,8 @@ This file proves convex and concave theorems for piecewise functions. and `concaveOn_univ_piecewise_Ici_of_antitoneOn_Ici_monotoneOn_Iic`. -/ +@[expose] public section + variable {𝕜 E β : Type*} [Semiring 𝕜] [PartialOrder 𝕜] [AddCommMonoid E] [LinearOrder E] [IsOrderedAddMonoid E] [Module 𝕜 E] diff --git a/Mathlib/Analysis/Convex/Quasiconvex.lean b/Mathlib/Analysis/Convex/Quasiconvex.lean index 29aa8940314d8b..dce949157316b7 100644 --- a/Mathlib/Analysis/Convex/Quasiconvex.lean +++ b/Mathlib/Analysis/Convex/Quasiconvex.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.Function +module + +public import Mathlib.Analysis.Convex.Function /-! # Quasiconvex and quasiconcave functions @@ -26,6 +28,8 @@ quasiconcavity, and monotonicity implies quasilinearity. * https://en.wikipedia.org/wiki/Quasiconvex_function -/ +@[expose] public section + open Function OrderDual Set diff --git a/Mathlib/Analysis/Convex/Radon.lean b/Mathlib/Analysis/Convex/Radon.lean index b12a24703d1609..32f5909578f775 100644 --- a/Mathlib/Analysis/Convex/Radon.lean +++ b/Mathlib/Analysis/Convex/Radon.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.Data.Set.Card -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Data.Set.Card +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +public import Mathlib.Topology.Separation.Hausdorff /-! # Radon's theorem on convex sets @@ -26,6 +28,8 @@ compactness of sets (see `helly_theorem_compact`) convex hull, affine independence, Radon, Helly -/ +@[expose] public section + open Fintype Finset Set namespace Convex diff --git a/Mathlib/Analysis/Convex/Segment.lean b/Mathlib/Analysis/Convex/Segment.lean index 5c3e19c36ffdce..2158cde112a090 100644 --- a/Mathlib/Analysis/Convex/Segment.lean +++ b/Mathlib/Analysis/Convex/Segment.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas -import Mathlib.LinearAlgebra.Ray +module + +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +public import Mathlib.LinearAlgebra.Ray /-! # Segments in vector spaces @@ -27,6 +29,8 @@ Should we rename `segment` and `openSegment` to `convex.Icc` and `convex.Ioo`? S define `clopenSegment`/`convex.Ico`/`convex.Ioc`? -/ +@[expose] public section + variable {𝕜 E F G ι : Type*} {M : ι → Type*} open Function Set diff --git a/Mathlib/Analysis/Convex/Side.lean b/Mathlib/Analysis/Convex/Side.lean index af09eacaf30d05..b93e22f0ea6ad6 100644 --- a/Mathlib/Analysis/Convex/Side.lean +++ b/Mathlib/Analysis/Convex/Side.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.Normed.Module.Convex +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.Normed.Module.Convex /-! # Sides of affine subspaces @@ -25,6 +27,8 @@ This file defines notions of two points being on the same or opposite sides of a -/ +@[expose] public section + variable {R V V' P P' : Type*} diff --git a/Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean b/Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean index 6294376bdfa559..348e8549fec6aa 100644 --- a/Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean +++ b/Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.Hull -import Mathlib.LinearAlgebra.AffineSpace.Independent +module + +public import Mathlib.Analysis.Convex.Hull +public import Mathlib.LinearAlgebra.AffineSpace.Independent /-! # Simplicial complexes @@ -40,6 +42,8 @@ vertices. Simplicial complexes can be generalized to affine spaces once `ConvexHull` has been ported. -/ +@[expose] public section + open Finset Set diff --git a/Mathlib/Analysis/Convex/Slope.lean b/Mathlib/Analysis/Convex/Slope.lean index 730996eb3d0874..bef149e3816cda 100644 --- a/Mathlib/Analysis/Convex/Slope.lean +++ b/Mathlib/Analysis/Convex/Slope.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Malo Jaffré -/ -import Mathlib.Analysis.Convex.Function -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Linarith /-! # Slopes of convex functions @@ -17,6 +19,8 @@ of their slopes. The main use is to show convexity/concavity from monotonicity of the derivative. -/ +@[expose] public section + variable {𝕜 : Type*} [Field 𝕜] [LinearOrder 𝕜] [IsStrictOrderedRing 𝕜] {s : Set 𝕜} {f : 𝕜 → 𝕜} /-- If `f : 𝕜 → 𝕜` is convex, then for any three points `x < y < z` the slope of the secant line of diff --git a/Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean b/Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean index 7bf6b93de0a437..084ae824c3ca79 100644 --- a/Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean +++ b/Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel, Heather Macbeth -/ -import Mathlib.Analysis.Convex.Slope -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Analysis.Convex.Slope +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Tactic.LinearCombination /-! # Collection of convex functions @@ -31,6 +33,8 @@ theory. `Mathlib/Analysis/Convex/Mul.lean` for convexity of `x ↦ x ^ n` -/ +@[expose] public section + open Real Set NNReal /-- `Real.exp` is strictly convex on the whole real line. -/ diff --git a/Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean b/Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean index 1837cb41786182..d8cc173567f890 100644 --- a/Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean +++ b/Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.ZPow -import Mathlib.Analysis.SpecialFunctions.Sqrt -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv -import Mathlib.Analysis.Convex.Deriv +module + +public import Mathlib.Analysis.Calculus.Deriv.ZPow +public import Mathlib.Analysis.SpecialFunctions.Sqrt +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +public import Mathlib.Analysis.Convex.Deriv /-! # Collection of convex functions @@ -29,6 +31,8 @@ of these could also be switched to elementary proofs, like in -/ +@[expose] public section + open Real Set diff --git a/Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean b/Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean index b05c631bd7793a..e2dbd993ef6adb 100644 --- a/Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean +++ b/Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.Convex.SpecificFunctions.Basic -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal /-! # Convexity properties of `rpow` @@ -27,6 +28,8 @@ requires slightly less imports. * Prove convexity for negative powers. -/ +@[expose] public section + open Set namespace NNReal diff --git a/Mathlib/Analysis/Convex/Star.lean b/Mathlib/Analysis/Convex/Star.lean index 5df52c577fd038..217bd3c0f25245 100644 --- a/Mathlib/Analysis/Convex/Star.lean +++ b/Mathlib/Analysis/Convex/Star.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.Module.LinearMap.Prod -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.Analysis.Convex.Segment -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.Module +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.Module.LinearMap.Prod +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.Analysis.Convex.Segment +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.Module /-! # Star-convex sets @@ -46,6 +48,8 @@ Star-convex sets are contractible. A nonempty open star-convex set in `ℝ^n` is diffeomorphic to the entire space. -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/Convex/StdSimplex.lean b/Mathlib/Analysis/Convex/StdSimplex.lean index 2e317808e69dae..0a1ce327f8ddc4 100644 --- a/Mathlib/Analysis/Convex/StdSimplex.lean +++ b/Mathlib/Analysis/Convex/StdSimplex.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov, Yaël Dillies, Joël Riou -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.Topology.Algebra.Monoid.FunOnFinite -import Mathlib.Topology.MetricSpace.ProperSpace.Real -import Mathlib.Topology.UnitInterval +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Topology.Algebra.Monoid.FunOnFinite +public import Mathlib.Topology.MetricSpace.ProperSpace.Real +public import Mathlib.Topology.UnitInterval /-! # The standard simplex @@ -20,6 +22,8 @@ When `f : X → Y` is a map between finite types, we define the map -/ +@[expose] public section + open Set Convex Bornology section OrderedSemiring diff --git a/Mathlib/Analysis/Convex/StoneSeparation.lean b/Mathlib/Analysis/Convex/StoneSeparation.lean index 13ac2357d59203..9cf403138d0408 100644 --- a/Mathlib/Analysis/Convex/StoneSeparation.lean +++ b/Mathlib/Analysis/Convex/StoneSeparation.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.Combination -import Mathlib.Analysis.Convex.Join +module + +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Analysis.Convex.Join /-! # Stone's separation theorem @@ -17,6 +19,8 @@ stronger statements: one may find a separating hyperplane, instead of merely a c complement is convex. -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/Convex/Strict.lean b/Mathlib/Analysis/Convex/Strict.lean index b687a6dcb5836e..5dc0772501378c 100644 --- a/Mathlib/Analysis/Convex/Strict.lean +++ b/Mathlib/Analysis/Convex/Strict.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Order.Basic /-! # Strictly convex sets @@ -15,6 +17,8 @@ This file defines strictly convex sets. A set is strictly convex if the open segment between any two distinct points lies in its interior. -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/Convex/StrictConvexBetween.lean b/Mathlib/Analysis/Convex/StrictConvexBetween.lean index e48860e480acad..139a6b8534b7ef 100644 --- a/Mathlib/Analysis/Convex/StrictConvexBetween.lean +++ b/Mathlib/Analysis/Convex/StrictConvexBetween.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Convex.StrictConvexSpace -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Analysis.Normed.Affine.Isometry +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Convex.StrictConvexSpace +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Analysis.Normed.Affine.Isometry /-! # Betweenness in affine spaces for strictly convex spaces @@ -16,6 +18,8 @@ space. -/ +@[expose] public section + open Metric open scoped Convex diff --git a/Mathlib/Analysis/Convex/StrictConvexSpace.lean b/Mathlib/Analysis/Convex/StrictConvexSpace.lean index e1a7c47c964fbd..ebfddc691e2c91 100644 --- a/Mathlib/Analysis/Convex/StrictConvexSpace.lean +++ b/Mathlib/Analysis/Convex/StrictConvexSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Analysis.Normed.Module.Ray -import Mathlib.Analysis.Normed.Module.Ball.Pointwise +module + +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Analysis.Normed.Module.Ray +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise /-! # Strictly convex spaces @@ -52,6 +54,8 @@ formulated only for the case `𝕜 = ℝ`. convex, strictly convex -/ +@[expose] public section + open Convex Pointwise Set Metric /-- A *strictly convex space* is a normed space where the closed balls are strictly convex. We only diff --git a/Mathlib/Analysis/Convex/Strong.lean b/Mathlib/Analysis/Convex/Strong.lean index 6e20f81df67c1f..8f863de6b29b77 100644 --- a/Mathlib/Analysis/Convex/Strong.lean +++ b/Mathlib/Analysis/Convex/Strong.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies, Chenyi Li. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chenyi Li, Ziyu Wang, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Function -import Mathlib.Analysis.InnerProductSpace.Basic +module + +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Analysis.InnerProductSpace.Basic /-! # Uniformly and strongly convex functions @@ -23,6 +25,8 @@ If `E` is an inner product space, this is equivalent to `x ↦ f x - m / 2 * ‖ Prove derivative properties of strongly convex functions. -/ +@[expose] public section + open Real variable {E : Type*} [NormedAddCommGroup E] diff --git a/Mathlib/Analysis/Convex/Topology.lean b/Mathlib/Analysis/Convex/Topology.lean index bd3edbf1b59122..38637a64dcd253 100644 --- a/Mathlib/Analysis/Convex/Topology.lean +++ b/Mathlib/Analysis/Convex/Topology.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Strict -import Mathlib.Analysis.Convex.StdSimplex -import Mathlib.Topology.Algebra.Affine -import Mathlib.Topology.Algebra.Module.Basic +module + +public import Mathlib.Analysis.Convex.Strict +public import Mathlib.Analysis.Convex.StdSimplex +public import Mathlib.Topology.Algebra.Affine +public import Mathlib.Topology.Algebra.Module.Basic /-! # Topological properties of convex sets @@ -21,6 +23,8 @@ We prove the following facts: * `Set.Finite.isClosed_convexHull` : convex hull of a finite set is closed. -/ +@[expose] public section + assert_not_exists Cardinal Norm open Metric Bornology Set Pointwise Convex diff --git a/Mathlib/Analysis/Convex/TotallyBounded.lean b/Mathlib/Analysis/Convex/TotallyBounded.lean index f2cc8b830a6bd8..1df6e987d123c6 100644 --- a/Mathlib/Analysis/Convex/TotallyBounded.lean +++ b/Mathlib/Analysis/Convex/TotallyBounded.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ +module -import Mathlib.Topology.UniformSpace.Cauchy -import Mathlib.Analysis.Convex.Hull -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.Algebra.Module.LocallyConvex +public import Mathlib.Topology.UniformSpace.Cauchy +public import Mathlib.Analysis.Convex.Hull +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.Algebra.Module.LocallyConvex /-! # Totally Bounded sets and Convex Hulls @@ -25,6 +26,8 @@ import Mathlib.Topology.Algebra.Module.LocallyConvex convex, totally bounded -/ +@[expose] public section + open Set Pointwise variable (E : Type*) {s : Set E} diff --git a/Mathlib/Analysis/Convex/Uniform.lean b/Mathlib/Analysis/Convex/Uniform.lean index 130f44f7391b9b..c67baba99aae24 100644 --- a/Mathlib/Analysis/Convex/Uniform.lean +++ b/Mathlib/Analysis/Convex/Uniform.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Convex.StrictConvexSpace +module + +public import Mathlib.Analysis.Convex.StrictConvexSpace /-! # Uniformly convex spaces @@ -29,6 +31,8 @@ the same ray). convex, uniformly convex -/ +@[expose] public section + open Set Metric diff --git a/Mathlib/Analysis/Convex/Visible.lean b/Mathlib/Analysis/Convex/Visible.lean index 53998fb96f259d..ac6c8ca26f3bbf 100644 --- a/Mathlib/Analysis/Convex/Visible.lean +++ b/Mathlib/Analysis/Convex/Visible.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Convex.Combination -import Mathlib.Topology.Algebra.Affine -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas -import Mathlib.Topology.Order.Monotone +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Convex.Combination +public import Mathlib.Topology.Algebra.Affine +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +public import Mathlib.Topology.Order.Monotone /-! # Points in sight @@ -23,6 +25,8 @@ The art gallery problem can be stated using the visibility predicate: A set `A` guarded by a finite set `G` (the guards) iff `∀ a ∈ A, ∃ g ∈ G, IsVisible ℝ sᶜ a g`. -/ +@[expose] public section + open AffineMap Filter Finset Set open scoped Cardinal Pointwise Topology diff --git a/Mathlib/Analysis/Convolution.lean b/Mathlib/Analysis/Convolution.lean index 0134fda3e1d072..5341145cb7c949 100644 --- a/Mathlib/Analysis/Convolution.lean +++ b/Mathlib/Analysis/Convolution.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Function.LocallyIntegrable -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Group.Prod -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Function.LocallyIntegrable +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Group.Prod +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # Convolution of functions @@ -88,6 +90,8 @@ The following notations are localized in the scope `Convolution`: * Prove properties about the convolution if both functions are rapidly decreasing. * Use `@[to_additive]` everywhere (this likely requires changes in `to_additive`) -/ + +@[expose] public section open Set Function Filter MeasureTheory MeasureTheory.Measure TopologicalSpace open Bornology ContinuousLinearMap Metric Topology diff --git a/Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean b/Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean index 160bf77d5f6c40..aa202ca9bca529 100644 --- a/Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean +++ b/Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Geometry.Manifold.PartitionOfUnity -import Mathlib.Geometry.Manifold.Metrizable -import Mathlib.MeasureTheory.Function.AEEqOfIntegral +module + +public import Mathlib.Geometry.Manifold.PartitionOfUnity +public import Mathlib.Geometry.Manifold.Metrizable +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral /-! # Functions which vanish as distributions vanish as functions @@ -22,6 +24,8 @@ These are deduced from the same results on finite-dimensional real manifolds, gi as `ae_eq_zero_of_integral_smooth_smul_eq_zero` and `ae_eq_of_integral_smooth_smul_eq`. -/ +@[expose] public section + open MeasureTheory Filter Metric Function Set TopologicalSpace open scoped Topology Manifold ContDiff diff --git a/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean b/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean index 4f946ca4f9654d..c82fe3a86c494a 100644 --- a/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean +++ b/Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Luigi Massacci -/ +module -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.Sets.Compacts +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.Sets.Compacts /-! # Continuously differentiable functions supported in a given compact set @@ -60,6 +61,8 @@ is to make rewriting `f x` to `0` easier when `x ∉ K`. distributions -/ +@[expose] public section + open TopologicalSpace SeminormFamily Set Function Seminorm UniformSpace open scoped BoundedContinuousFunction Topology NNReal diff --git a/Mathlib/Analysis/Distribution/FourierSchwartz.lean b/Mathlib/Analysis/Distribution/FourierSchwartz.lean index 5c3b6ea4b3f058..7d845cbc601ffe 100644 --- a/Mathlib/Analysis/Distribution/FourierSchwartz.lean +++ b/Mathlib/Analysis/Distribution/FourierSchwartz.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Distribution.SchwartzSpace -import Mathlib.Analysis.Fourier.FourierTransformDeriv -import Mathlib.Analysis.Fourier.Inversion +module + +public import Mathlib.Analysis.Distribution.SchwartzSpace +public import Mathlib.Analysis.Fourier.FourierTransformDeriv +public import Mathlib.Analysis.Fourier.Inversion /-! # Fourier transform on Schwartz functions @@ -15,6 +17,8 @@ functions, in `fourierTransformCLM`. It is also given as a continuous linear equ `fourierTransformCLE`. -/ +@[expose] public section + open Real MeasureTheory MeasureTheory.Measure open scoped FourierTransform ComplexInnerProductSpace diff --git a/Mathlib/Analysis/Distribution/SchwartzSpace.lean b/Mathlib/Analysis/Distribution/SchwartzSpace.lean index 6b9b026e93eec8..b750dd7dd262fb 100644 --- a/Mathlib/Analysis/Distribution/SchwartzSpace.lean +++ b/Mathlib/Analysis/Distribution/SchwartzSpace.lean @@ -3,17 +3,19 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.Calculus.ContDiff.Bounds -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.Calculus.LineDeriv.Basic -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.Normed.Group.ZeroAtInfty -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Analysis.SpecialFunctions.JapaneseBracket -import Mathlib.Topology.Algebra.UniformFilterBasis -import Mathlib.MeasureTheory.Integral.IntegralEqImproper -import Mathlib.Tactic.MoveAdd -import Mathlib.MeasureTheory.Function.L2Space +module + +public import Mathlib.Analysis.Calculus.ContDiff.Bounds +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.Calculus.LineDeriv.Basic +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.Normed.Group.ZeroAtInfty +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Analysis.SpecialFunctions.JapaneseBracket +public import Mathlib.Topology.Algebra.UniformFilterBasis +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper +public import Mathlib.Tactic.MoveAdd +public import Mathlib.MeasureTheory.Function.L2Space /-! # Schwartz space @@ -64,6 +66,8 @@ The implementation of the seminorms is taken almost literally from `ContinuousLi Schwartz space, tempered distributions -/ +@[expose] public section + noncomputable section open scoped Nat NNReal ContDiff diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 3dae5abebbecf4..6ff4da954d4c28 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.Analysis.InnerProductSpace.l2Space -import Mathlib.MeasureTheory.Function.ContinuousMapDense -import Mathlib.MeasureTheory.Function.L2Space -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic -import Mathlib.Topology.ContinuousMap.StoneWeierstrass -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +module + +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.Analysis.InnerProductSpace.l2Space +public import Mathlib.MeasureTheory.Function.ContinuousMapDense +public import Mathlib.MeasureTheory.Function.L2Space +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts /-! @@ -59,6 +61,8 @@ coefficients of `f` is summable, then the Fourier series `∑ (i : ℤ), fourier converges to `f` in the uniform-convergence topology of `C(AddCircle T, ℂ)`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Fourier/AddCircleMulti.lean b/Mathlib/Analysis/Fourier/AddCircleMulti.lean index 0b880ac761cbb1..f3f1e87fa0c14a 100644 --- a/Mathlib/Analysis/Fourier/AddCircleMulti.lean +++ b/Mathlib/Analysis/Fourier/AddCircleMulti.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Fourier.AddCircle -import Mathlib.MeasureTheory.Integral.Pi +module + +public import Mathlib.Analysis.Fourier.AddCircle +public import Mathlib.MeasureTheory.Integral.Pi /-! # Multivariate Fourier series @@ -14,6 +16,8 @@ show that it converges to the function in the L² norm. We also prove uniform co Fourier series if `f` is continuous and the sequence of its Fourier coefficients is summable. -/ +@[expose] public section + noncomputable section open scoped BigOperators ComplexConjugate ENNReal diff --git a/Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean b/Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean index d2ed46b5d1f615..d38c0dd08cb5a7 100644 --- a/Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean +++ b/Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel -/ -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.Analysis.Complex.Circle -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Star +module + +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Star /-! # Definition of BoundedContinuousFunction.char @@ -35,6 +37,8 @@ measure. -/ +@[expose] public section + open Filter BoundedContinuousFunction Complex namespace BoundedContinuousFunction diff --git a/Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean b/Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean index db0b55a3968790..cca23a68cd2aad 100644 --- a/Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean +++ b/Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.BigOperators.Expect -import Mathlib.Algebra.Group.AddChar -import Mathlib.Analysis.RCLike.Inner +module + +public import Mathlib.Algebra.BigOperators.Expect +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Analysis.RCLike.Inner /-! # Orthogonality of characters of a finite abelian group @@ -14,6 +16,8 @@ This file proves that characters of a finite abelian group are orthogonal, and i there are at most as many characters as there are elements of the group. -/ +@[expose] public section + open Finset hiding card open Fintype (card) open Function RCLike diff --git a/Mathlib/Analysis/Fourier/FiniteAbelian/PontryaginDuality.lean b/Mathlib/Analysis/Fourier/FiniteAbelian/PontryaginDuality.lean index 062719c57b7a1a..6551740ad2fd69 100644 --- a/Mathlib/Analysis/Fourier/FiniteAbelian/PontryaginDuality.lean +++ b/Mathlib/Analysis/Fourier/FiniteAbelian/PontryaginDuality.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.DirectSum.AddChar -import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.GroupTheory.FiniteAbelian.Basic -import Mathlib.Topology.Instances.AddCircle.Real +module + +public import Mathlib.Algebra.DirectSum.AddChar +public import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.GroupTheory.FiniteAbelian.Basic +public import Mathlib.Topology.Instances.AddCircle.Real /-! # Pontryagin duality for finite abelian groups @@ -25,6 +27,8 @@ Reuse the work done in `Mathlib/GroupTheory/FiniteAbelian/Duality.lean`. This re more glue. -/ +@[expose] public section + noncomputable section open Circle Finset Function Module Multiplicative diff --git a/Mathlib/Analysis/Fourier/FourierTransform.lean b/Mathlib/Analysis/Fourier/FourierTransform.lean index 938f0204886e55..b1237061eed92a 100644 --- a/Mathlib/Analysis/Fourier/FourierTransform.lean +++ b/Mathlib/Analysis/Fourier/FourierTransform.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Group.AddChar -import Mathlib.Analysis.Complex.Circle -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace -import Mathlib.MeasureTheory.Measure.Haar.OfBasis +module + +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace +public import Mathlib.MeasureTheory.Measure.Haar.OfBasis /-! # The Fourier transform @@ -52,6 +54,8 @@ At present the only nontrivial lemma we prove is `fourierIntegral_continuous`, s Fourier transform of an integrable function is continuous (under mild assumptions). -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Fourier/FourierTransformDeriv.lean b/Mathlib/Analysis/Fourier/FourierTransformDeriv.lean index f3efb2123cd393..1951adfcdc4087 100644 --- a/Mathlib/Analysis/Fourier/FourierTransformDeriv.lean +++ b/Mathlib/Analysis/Fourier/FourierTransformDeriv.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, David Loeffler, Heather Macbeth, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.Analysis.Calculus.ContDiff.CPolynomial -import Mathlib.Analysis.Fourier.AddCircle -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts -import Mathlib.Analysis.Calculus.ContDiff.Bounds +module + +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.Analysis.Calculus.ContDiff.CPolynomial +public import Mathlib.Analysis.Fourier.AddCircle +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts +public import Mathlib.Analysis.Calculus.ContDiff.Bounds /-! # Derivatives of the Fourier transform @@ -78,6 +80,8 @@ We also give specialized versions of the one-dimensional real derivative (and it in `Real.deriv_fourierIntegral` and `Real.iteratedDeriv_fourierIntegral`. -/ +@[expose] public section + noncomputable section open Real Complex MeasureTheory Filter TopologicalSpace diff --git a/Mathlib/Analysis/Fourier/Inversion.lean b/Mathlib/Analysis/Fourier/Inversion.lean index 04012e48d837b2..6b1b25cccf5745 100644 --- a/Mathlib/Analysis/Fourier/Inversion.lean +++ b/Mathlib/Analysis/Fourier/Inversion.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.PeakFunction -import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform +module + +public import Mathlib.MeasureTheory.Integral.PeakFunction +public import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform /-! # Fourier inversion formula @@ -37,6 +39,8 @@ To check the concentration property of the middle factor and the fact that it ha rely on the explicit computation of the Fourier transform of Gaussians. -/ +@[expose] public section + open Filter MeasureTheory Complex Module Metric Real Bornology open scoped Topology FourierTransform RealInnerProductSpace Complex diff --git a/Mathlib/Analysis/Fourier/PoissonSummation.lean b/Mathlib/Analysis/Fourier/PoissonSummation.lean index 389ee675e93c3a..44431ec375fe25 100644 --- a/Mathlib/Analysis/Fourier/PoissonSummation.lean +++ b/Mathlib/Analysis/Fourier/PoissonSummation.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Fourier.AddCircle -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.Distribution.FourierSchwartz -import Mathlib.MeasureTheory.Measure.Lebesgue.Integral -import Mathlib.Topology.ContinuousMap.Periodic +module + +public import Mathlib.Analysis.Fourier.AddCircle +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.Distribution.FourierSchwartz +public import Mathlib.MeasureTheory.Measure.Lebesgue.Integral +public import Mathlib.Topology.ContinuousMap.Periodic /-! # Poisson's summation formula @@ -27,6 +29,8 @@ easier-to-use result `Real.tsum_eq_tsum_fourierIntegral_of_rpow_decay`, in which functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean b/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean index 8fbbedbe8521d4..5e63d9ebb081e6 100644 --- a/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean +++ b/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.EuclideanDist -import Mathlib.MeasureTheory.Function.ContinuousMapDense -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.Topology.EMetricSpace.Paracompact -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.EuclideanDist +public import Mathlib.MeasureTheory.Function.ContinuousMapDense +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.Topology.EMetricSpace.Paracompact +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # The Riemann-Lebesgue Lemma @@ -42,6 +44,8 @@ equivalence to an inner-product space. reformulations explicitly using the Fourier integral. -/ +@[expose] public section + noncomputable section open MeasureTheory Filter Complex Set Module diff --git a/Mathlib/Analysis/Fourier/ZMod.lean b/Mathlib/Analysis/Fourier/ZMod.lean index 70d80c7d9e17f8..b12bc9140bceff 100644 --- a/Mathlib/Analysis/Fourier/ZMod.lean +++ b/Mathlib/Analysis/Fourier/ZMod.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Group.EvenFunction -import Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.NumberTheory.DirichletCharacter.GaussSum +module + +public import Mathlib.Algebra.Group.EvenFunction +public import Mathlib.Analysis.SpecialFunctions.Complex.CircleAddChar +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.NumberTheory.DirichletCharacter.GaussSum /-! # Fourier theory on `ZMod N` @@ -24,6 +26,8 @@ Basic definitions and properties of the discrete Fourier transform for functions primitive Dirichlet character `χ` is a Gauss sum times `χ⁻¹`. -/ +@[expose] public section + open MeasureTheory Finset AddChar ZMod namespace ZMod diff --git a/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean b/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean index 775d2405aec61e..b38b2cfebf0072 100644 --- a/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean +++ b/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Analysis.Calculus.Deriv.Pi -import Mathlib.Analysis.InnerProductSpace.EuclideanDist -import Mathlib.Analysis.InnerProductSpace.NormPow -import Mathlib.Data.Finset.Interval -import Mathlib.MeasureTheory.Integral.IntegralEqImproper +module + +public import Mathlib.Analysis.Calculus.Deriv.Pi +public import Mathlib.Analysis.InnerProductSpace.EuclideanDist +public import Mathlib.Analysis.InnerProductSpace.NormPow +public import Mathlib.Data.Finset.Interval +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper /-! # Gagliardo-Nirenberg-Sobolev inequality @@ -49,6 +51,8 @@ Potentially also useful: the codomain is assumed to be a Hilbert space, without restrictions on its dimension. -/ +@[expose] public section + open scoped ENNReal NNReal open Set Function Finset MeasureTheory Measure Filter diff --git a/Mathlib/Analysis/Hofer.lean b/Mathlib/Analysis/Hofer.lean index 166fc8c160d5dc..1c966468e45a37 100644 --- a/Mathlib/Analysis/Hofer.lean +++ b/Mathlib/Analysis/Hofer.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Hofer's lemma @@ -18,6 +20,8 @@ example of a proof needing to construct a sequence by induction in the middle of * H. Hofer and C. Viterbo, *The Weinstein conjecture in the presence of holomorphic spheres* -/ +@[expose] public section + open Topology Filter Finset local notation "d" => dist diff --git a/Mathlib/Analysis/InnerProductSpace/Adjoint.lean b/Mathlib/Analysis/InnerProductSpace/Adjoint.lean index ef23c4cfc79644..8c5b73ae32325b 100644 --- a/Mathlib/Analysis/InnerProductSpace/Adjoint.lean +++ b/Mathlib/Analysis/InnerProductSpace/Adjoint.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Adjoint of operators on Hilbert spaces @@ -38,6 +40,8 @@ adjoint -/ +@[expose] public section + noncomputable section open Module RCLike diff --git a/Mathlib/Analysis/InnerProductSpace/Affine.lean b/Mathlib/Analysis/InnerProductSpace/Affine.lean index e69a0536c2ce52..01ef2e0019f691 100644 --- a/Mathlib/Analysis/InnerProductSpace/Affine.lean +++ b/Mathlib/Analysis/InnerProductSpace/Affine.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.Normed.Group.AddTorsor +module + +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.Normed.Group.AddTorsor /-! # Normed affine spaces over an inner product space -/ +@[expose] public section + variable {𝕜 V P : Type*} section RCLike diff --git a/Mathlib/Analysis/InnerProductSpace/Basic.lean b/Mathlib/Analysis/InnerProductSpace/Basic.lean index df09c031acca13..d8ef853e0f51b2 100644 --- a/Mathlib/Analysis/InnerProductSpace/Basic.lean +++ b/Mathlib/Analysis/InnerProductSpace/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.Complex.Basic -import Mathlib.Analysis.InnerProductSpace.Defs +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Analysis.InnerProductSpace.Defs /-! # Properties of inner product spaces @@ -25,6 +27,8 @@ inner product space, Hilbert space, norm -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/Calculus.lean b/Mathlib/Analysis/InnerProductSpace/Calculus.lean index f582f4bbc5e6a5..770bbfdb73a714 100644 --- a/Mathlib/Analysis/InnerProductSpace/Calculus.lean +++ b/Mathlib/Analysis/InnerProductSpace/Calculus.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Analysis.SpecialFunctions.Sqrt -import Mathlib.Analysis.Normed.Module.Ball.Homeomorph -import Mathlib.Analysis.Calculus.ContDiff.WithLp -import Mathlib.Analysis.Calculus.FDeriv.WithLp +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Analysis.SpecialFunctions.Sqrt +public import Mathlib.Analysis.Normed.Module.Ball.Homeomorph +public import Mathlib.Analysis.Calculus.ContDiff.WithLp +public import Mathlib.Analysis.Calculus.FDeriv.WithLp /-! # Calculus in inner product spaces @@ -26,6 +28,8 @@ and from the equivalence of norms in finite dimensions. The last part of the file should be generalized to `PiLp`. -/ +@[expose] public section + noncomputable section open RCLike Real Filter diff --git a/Mathlib/Analysis/InnerProductSpace/CanonicalTensor.lean b/Mathlib/Analysis/InnerProductSpace/CanonicalTensor.lean index 61863683f0ebaf..760593b19cfd3a 100644 --- a/Mathlib/Analysis/InnerProductSpace/CanonicalTensor.lean +++ b/Mathlib/Analysis/InnerProductSpace/CanonicalTensor.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ +module -import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Canonical tensors in real inner product spaces @@ -23,6 +24,8 @@ The theorem `canonicalCovariantTensor_eq_sum` shows that `∑ i, (v i) ⊗ₜ[ℝ] (v i)`. -/ +@[expose] public section + open InnerProductSpace TensorProduct variable (E : Type*) [NormedAddCommGroup E] [InnerProductSpace ℝ E] diff --git a/Mathlib/Analysis/InnerProductSpace/Completion.lean b/Mathlib/Analysis/InnerProductSpace/Completion.lean index 6662bab85be51d..a98ce97606d510 100644 --- a/Mathlib/Analysis/InnerProductSpace/Completion.lean +++ b/Mathlib/Analysis/InnerProductSpace/Completion.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.Analysis.Normed.Module.Completion +module + +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.Analysis.Normed.Module.Completion /-! # Completion of an inner product space @@ -13,6 +15,8 @@ We show that the separation quotient and the completion of an inner product spac product spaces. -/ +@[expose] public section + noncomputable section variable {𝕜 E F : Type*} [RCLike 𝕜] diff --git a/Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean b/Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean index 169584fb27fa63..f1fa2254d30862 100644 --- a/Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean +++ b/Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Normed.Operator.Conformal -import Mathlib.Analysis.InnerProductSpace.LinearMap +module + +public import Mathlib.Analysis.Normed.Operator.Conformal +public import Mathlib.Analysis.InnerProductSpace.LinearMap /-! # Conformal maps between inner product spaces @@ -12,6 +14,8 @@ import Mathlib.Analysis.InnerProductSpace.LinearMap In an inner product space, a map is conformal iff it preserves inner products up to a scalar factor. -/ +@[expose] public section + variable {E F : Type*} variable [NormedAddCommGroup E] [NormedAddCommGroup F] diff --git a/Mathlib/Analysis/InnerProductSpace/Continuous.lean b/Mathlib/Analysis/InnerProductSpace/Continuous.lean index 9689ce29d56c83..d5b519b9efc81d 100644 --- a/Mathlib/Analysis/InnerProductSpace/Continuous.lean +++ b/Mathlib/Analysis/InnerProductSpace/Continuous.lean @@ -3,9 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ +module -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps /-! # Continuity of inner product @@ -18,6 +19,8 @@ inner product space, Hilbert space, norm -/ +@[expose] public section + noncomputable section open RCLike Real Filter Topology ComplexConjugate Finsupp diff --git a/Mathlib/Analysis/InnerProductSpace/Convex.lean b/Mathlib/Analysis/InnerProductSpace/Convex.lean index cba95b6e150fa0..d3dcbfeea59534 100644 --- a/Mathlib/Analysis/InnerProductSpace/Convex.lean +++ b/Mathlib/Analysis/InnerProductSpace/Convex.lean @@ -3,9 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ +module -import Mathlib.Analysis.Convex.Uniform -import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.Convex.Uniform +public import Mathlib.Analysis.InnerProductSpace.Basic /-! # Convexity properties of inner product spaces @@ -20,6 +21,8 @@ inner product space, Hilbert space, norm -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/Defs.lean b/Mathlib/Analysis/InnerProductSpace/Defs.lean index f50977807a6e0a..5c2ace160743a8 100644 --- a/Mathlib/Analysis/InnerProductSpace/Defs.lean +++ b/Mathlib/Analysis/InnerProductSpace/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ -import Mathlib.Algebra.QuadraticDiscriminant -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Data.Complex.Basic +module + +public import Mathlib.Algebra.QuadraticDiscriminant +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Data.Complex.Basic /-! # Inner product spaces @@ -62,6 +64,8 @@ inner product space, Hilbert space, norm The Coq code is available at the following address: -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/Dual.lean b/Mathlib/Analysis/InnerProductSpace/Dual.lean index b8c9eab79e7e5a..2c10285c9bbd3e 100644 --- a/Mathlib/Analysis/InnerProductSpace/Dual.lean +++ b/Mathlib/Analysis/InnerProductSpace/Dual.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.Analysis.Normed.Group.NullSubmodule -import Mathlib.Topology.Algebra.Module.PerfectPairing +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.Analysis.Normed.Group.NullSubmodule +public import Mathlib.Topology.Algebra.Module.PerfectPairing /-! # The Fréchet-Riesz representation theorem @@ -34,6 +36,8 @@ given by substituting `E →L[𝕜] 𝕜` with `E` using `toDual`. dual, Fréchet-Riesz -/ +@[expose] public section + noncomputable section open ComplexConjugate Module diff --git a/Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean b/Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean index 42a4445544801b..241dca7cc37495 100644 --- a/Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean +++ b/Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas +module + +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas /-! # Euclidean distance on a finite-dimensional space @@ -19,6 +21,8 @@ provide some definitions (`Euclidean.ball`, `Euclidean.closedBall`) and simple l distance. This way we hide the usage of `toEuclidean` behind an API. -/ +@[expose] public section + open scoped Topology diff --git a/Mathlib/Analysis/InnerProductSpace/GramMatrix.lean b/Mathlib/Analysis/InnerProductSpace/GramMatrix.lean index b6352e0ff9e8e3..4af0922873a7eb 100644 --- a/Mathlib/Analysis/InnerProductSpace/GramMatrix.lean +++ b/Mathlib/Analysis/InnerProductSpace/GramMatrix.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Peter Pfaffelhuber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Pfaffelhuber -/ +module -import Mathlib.LinearAlgebra.Matrix.PosDef +public import Mathlib.LinearAlgebra.Matrix.PosDef /-! # Gram Matrices @@ -23,6 +24,8 @@ Results require `RCLike 𝕜`. equivalent to positive definiteness of `gram 𝕜 v`. -/ +@[expose] public section + open RCLike Real Matrix open scoped InnerProductSpace ComplexOrder ComplexConjugate diff --git a/Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean b/Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean index 4a9b49653e66b6..1f80cff2f45548 100644 --- a/Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean +++ b/Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jiale Miao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiale Miao, Kevin Buzzard, Alexander Bentkamp -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.LinearAlgebra.Matrix.Block +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.LinearAlgebra.Matrix.Block /-! # Gram-Schmidt Orthogonalization and Orthonormalization @@ -31,6 +33,8 @@ and outputs a set of orthogonal vectors which have the same span. an indexed set of vectors of the right size -/ +@[expose] public section + open Finset Submodule Module diff --git a/Mathlib/Analysis/InnerProductSpace/Harmonic/Analytic.lean b/Mathlib/Analysis/InnerProductSpace/Harmonic/Analytic.lean index 26448d261c19ef..e40cc1bd655eec 100644 --- a/Mathlib/Analysis/InnerProductSpace/Harmonic/Analytic.lean +++ b/Mathlib/Analysis/InnerProductSpace/Harmonic/Analytic.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Harmonic.Analytic +module + +public import Mathlib.Analysis.Complex.Harmonic.Analytic deprecated_module (since := "2025-09-16") diff --git a/Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean b/Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean index b80045a25cfa68..9457ba761d40ed 100644 --- a/Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean +++ b/Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.InnerProductSpace.Laplacian +module + +public import Mathlib.Analysis.InnerProductSpace.Laplacian /-! # Harmonic Functions @@ -11,6 +13,8 @@ import Mathlib.Analysis.InnerProductSpace.Laplacian This file defines harmonic functions on real, finite-dimensional, inner product spaces `E`. -/ +@[expose] public section + variable {E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] {F : Type*} [NormedAddCommGroup F] [NormedSpace ℝ F] diff --git a/Mathlib/Analysis/InnerProductSpace/Harmonic/Constructions.lean b/Mathlib/Analysis/InnerProductSpace/Harmonic/Constructions.lean index 3c1a349e41052a..8a0f9066b479ba 100644 --- a/Mathlib/Analysis/InnerProductSpace/Harmonic/Constructions.lean +++ b/Mathlib/Analysis/InnerProductSpace/Harmonic/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic -import Mathlib.Analysis.Calculus.ContDiff.RestrictScalars -import Mathlib.Analysis.SpecialFunctions.Complex.Analytic +module + +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Basic +public import Mathlib.Analysis.Calculus.ContDiff.RestrictScalars +public import Mathlib.Analysis.SpecialFunctions.Complex.Analytic /-! # Construction of Harmonic Functions @@ -16,6 +18,8 @@ If `f : ℂ → F` is complex-differentiable, then `f` is harmonic. If `F = ℂ` part, imaginary part, and complex conjugate. If `f` has no zero, then `log ‖f‖` is harmonic. -/ +@[expose] public section + open Complex ComplexConjugate InnerProductSpace Topology variable diff --git a/Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean b/Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean index d75101ec2857b5..da791ddeec7f2a 100644 --- a/Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean +++ b/Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Jon Bannon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Bannon, Jack Cheverton, Samyak Dhar Tuladhar -/ +module -import Mathlib.Analysis.InnerProductSpace.Spectrum -import Mathlib.LinearAlgebra.Eigenspace.Pi -import Mathlib.LinearAlgebra.Eigenspace.Semisimple -import Mathlib.Analysis.InnerProductSpace.Semisimple +public import Mathlib.Analysis.InnerProductSpace.Spectrum +public import Mathlib.LinearAlgebra.Eigenspace.Pi +public import Mathlib.LinearAlgebra.Eigenspace.Semisimple +public import Mathlib.Analysis.InnerProductSpace.Semisimple /-! # Joint eigenspaces of commuting symmetric operators @@ -38,6 +39,8 @@ symmetric operator, simultaneous eigenspaces, joint eigenspaces -/ +@[expose] public section + open Module.End namespace LinearMap diff --git a/Mathlib/Analysis/InnerProductSpace/Laplacian.lean b/Mathlib/Analysis/InnerProductSpace/Laplacian.lean index 210e8a00a36e8a..acb7bba2864b6e 100644 --- a/Mathlib/Analysis/InnerProductSpace/Laplacian.lean +++ b/Mathlib/Analysis/InnerProductSpace/Laplacian.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.InnerProductSpace.CanonicalTensor +module + +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.InnerProductSpace.CanonicalTensor /-! # The Laplacian @@ -20,6 +22,8 @@ We show that the Laplacian is `ℝ`-linear on continuously differentiable functi standard formula for computing the Laplacian in terms of orthonormal bases of `E`. -/ +@[expose] public section + open Filter TensorProduct Topology section secondDerivativeAPI diff --git a/Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean b/Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean index e86f4b7c73950a..d01fe6ec65173c 100644 --- a/Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean +++ b/Mathlib/Analysis/InnerProductSpace/LaxMilgram.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Daniel Roca González. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Roca González -/ -import Mathlib.Analysis.InnerProductSpace.Dual +module + +public import Mathlib.Analysis.InnerProductSpace.Dual /-! # The Lax-Milgram Theorem @@ -28,6 +30,8 @@ that is, the map `InnerProductSpace.continuousLinearMapOfBilin` from dual, Lax-Milgram -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/LinearMap.lean b/Mathlib/Analysis/InnerProductSpace/LinearMap.lean index 06069ed50a55d8..bd8100ce681e32 100644 --- a/Mathlib/Analysis/InnerProductSpace/LinearMap.lean +++ b/Mathlib/Analysis/InnerProductSpace/LinearMap.lean @@ -3,8 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ +module -import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.Analysis.InnerProductSpace.Continuous /-! # Linear maps on inner product spaces @@ -26,6 +27,8 @@ inner product space, Hilbert space, norm -/ +@[expose] public section + noncomputable section open RCLike Real Filter Topology ComplexConjugate Finsupp diff --git a/Mathlib/Analysis/InnerProductSpace/LinearPMap.lean b/Mathlib/Analysis/InnerProductSpace/LinearPMap.lean index e6d7074f758b3e..744251eb67d3fb 100644 --- a/Mathlib/Analysis/InnerProductSpace/LinearPMap.lean +++ b/Mathlib/Analysis/InnerProductSpace/LinearPMap.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.InnerProductSpace.ProdL2 -import Mathlib.Analysis.Normed.Operator.Completeness -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.Module.LinearPMap +module + +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.InnerProductSpace.ProdL2 +public import Mathlib.Analysis.Normed.Operator.Completeness +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.Module.LinearPMap /-! @@ -50,6 +52,8 @@ We use the junk value pattern to define the adjoint for all `LinearPMap`s. In th Unbounded operators, closed operators -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean b/Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean index f2e37ae15f8458..80bf554b26d1b0 100644 --- a/Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean +++ b/Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.Dynamics.BirkhoffSum.NormedSpace +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.Dynamics.BirkhoffSum.NormedSpace /-! # Von Neumann Mean Ergodic Theorem in a Hilbert Space @@ -19,6 +21,8 @@ converge to the orthogonal projection of `x` to the subspace of fixed points of see `ContinuousLinearMap.tendsto_birkhoffAverage_orthogonalProjection`. -/ +@[expose] public section + open Filter Finset Function Bornology open scoped Topology diff --git a/Mathlib/Analysis/InnerProductSpace/MulOpposite.lean b/Mathlib/Analysis/InnerProductSpace/MulOpposite.lean index 51886b80c43ffb..cb29d6e5076882 100644 --- a/Mathlib/Analysis/InnerProductSpace/MulOpposite.lean +++ b/Mathlib/Analysis/InnerProductSpace/MulOpposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.LinearAlgebra.Basis.MulOpposite +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.LinearAlgebra.Basis.MulOpposite /-! # Inner product space on `Hᵐᵒᵖ` @@ -13,6 +15,8 @@ This file defines the inner product space structure on `Hᵐᵒᵖ` where we def the inner product naturally. We also define `OrthonormalBasis.mulOpposite`. -/ +@[expose] public section + namespace MulOpposite variable {𝕜 H : Type*} diff --git a/Mathlib/Analysis/InnerProductSpace/NormPow.lean b/Mathlib/Analysis/InnerProductSpace/NormPow.lean index 93b208d8fc70bb..78ccf785250698 100644 --- a/Mathlib/Analysis/InnerProductSpace/NormPow.lean +++ b/Mathlib/Analysis/InnerProductSpace/NormPow.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +module + +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv /-! # Properties about the powers of the norm @@ -17,6 +19,8 @@ an inner product space and for a real number `p > 1`. -/ +@[expose] public section + section ContDiffNormPow open Asymptotics Real Topology diff --git a/Mathlib/Analysis/InnerProductSpace/OfNorm.lean b/Mathlib/Analysis/InnerProductSpace/OfNorm.lean index 59da2bbc485db5..3cb8ac9aecb474 100644 --- a/Mathlib/Analysis/InnerProductSpace/OfNorm.lean +++ b/Mathlib/Analysis/InnerProductSpace/OfNorm.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Algebra.Module.LinearMap.Rat -import Mathlib.Tactic.Module +module + +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Algebra.Module.LinearMap.Rat +public import Mathlib.Tactic.Module /-! # Inner product space derived from a norm @@ -52,6 +54,8 @@ Move upstream to `Analysis.InnerProductSpace.Basic`. inner product space, Hilbert space, norm -/ +@[expose] public section + open RCLike diff --git a/Mathlib/Analysis/InnerProductSpace/Orientation.lean b/Mathlib/Analysis/InnerProductSpace/Orientation.lean index 21194dde0b869f..31bcf50f715b80 100644 --- a/Mathlib/Analysis/InnerProductSpace/Orientation.lean +++ b/Mathlib/Analysis/InnerProductSpace/Orientation.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho -import Mathlib.LinearAlgebra.Orientation +module + +public import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho +public import Mathlib.LinearAlgebra.Orientation /-! # Orientations of real inner product spaces. @@ -33,6 +35,8 @@ This file provides definitions and proves lemmas about orientations of real inne -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/Orthogonal.lean b/Mathlib/Analysis/InnerProductSpace/Orthogonal.lean index 2c328d86a29610..78f9b4423f45df 100644 --- a/Mathlib/Analysis/InnerProductSpace/Orthogonal.lean +++ b/Mathlib/Analysis/InnerProductSpace/Orthogonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ -import Mathlib.Analysis.InnerProductSpace.Subspace -import Mathlib.LinearAlgebra.SesquilinearForm.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Subspace +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic /-! # Orthogonal complements of submodules @@ -23,6 +25,8 @@ The proposition that two submodules are orthogonal, `Submodule.IsOrtho`, is deno Note this is not the same unicode symbol as `⊥` (`Bot`). -/ +@[expose] public section + variable {𝕜 E F : Type*} [RCLike 𝕜] variable [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] variable [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] diff --git a/Mathlib/Analysis/InnerProductSpace/Orthonormal.lean b/Mathlib/Analysis/InnerProductSpace/Orthonormal.lean index fc15b1cc7f2f0e..9bb721bd102bc6 100644 --- a/Mathlib/Analysis/InnerProductSpace/Orthonormal.lean +++ b/Mathlib/Analysis/InnerProductSpace/Orthonormal.lean @@ -3,10 +3,11 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ +module -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.RingTheory.LocalRing.Basic /-! # Orthonormal sets @@ -25,6 +26,8 @@ For the existence of orthonormal bases, Hilbert bases, etc., see the file `Analysis.InnerProductSpace.projection`. -/ +@[expose] public section + noncomputable section open RCLike Real Filter Module Topology ComplexConjugate Finsupp diff --git a/Mathlib/Analysis/InnerProductSpace/PiL2.lean b/Mathlib/Analysis/InnerProductSpace/PiL2.lean index 6b58decd86845e..34ebb1a8f06448 100644 --- a/Mathlib/Analysis/InnerProductSpace/PiL2.lean +++ b/Mathlib/Analysis/InnerProductSpace/PiL2.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Sébastien Gouëzel, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional -import Mathlib.Analysis.Normed.Lp.PiLp -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.UnitaryGroup -import Mathlib.Util.Superscript +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional +public import Mathlib.Analysis.Normed.Lp.PiLp +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.UnitaryGroup +public import Mathlib.Util.Superscript /-! # `L²` inner product space structure on finite products of inner product spaces @@ -53,6 +55,8 @@ For consequences in infinite dimension (Hilbert bases, etc.), see the file -/ +@[expose] public section + open Module Real Set Filter RCLike Submodule Function Uniformity Topology NNReal ENNReal ComplexConjugate DirectSum WithLp @@ -119,7 +123,7 @@ macro_rules | `(!$p:subscript[$e:term,*]) => do /-- Unexpander for the `!₂[x, y, ...]` notation. -/ @[app_delab WithLp.toLp] -def EuclideanSpace.delabVecNotation : Delab := +meta def EuclideanSpace.delabVecNotation : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation <| withOverApp 3 do -- check that the `WithLp.toLp _` is present let p : Term ← withNaryArg 0 <| delab diff --git a/Mathlib/Analysis/InnerProductSpace/Positive.lean b/Mathlib/Analysis/InnerProductSpace/Positive.lean index 21d27e22084dc6..9cbe1fe42dfeb0 100644 --- a/Mathlib/Analysis/InnerProductSpace/Positive.lean +++ b/Mathlib/Analysis/InnerProductSpace/Positive.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.InnerProductSpace.Spectrum -import Mathlib.LinearAlgebra.Matrix.PosDef +module + +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.InnerProductSpace.Spectrum +public import Mathlib.LinearAlgebra.Matrix.PosDef /-! # Positive operators @@ -37,6 +39,8 @@ of requiring self adjointness in the definition. Positive operator -/ +@[expose] public section + open InnerProductSpace RCLike LinearMap ContinuousLinearMap open scoped InnerProduct ComplexConjugate diff --git a/Mathlib/Analysis/InnerProductSpace/ProdL2.lean b/Mathlib/Analysis/InnerProductSpace/ProdL2.lean index 51375ca2450f12..d0b1d02e65e67b 100644 --- a/Mathlib/Analysis/InnerProductSpace/ProdL2.lean +++ b/Mathlib/Analysis/InnerProductSpace/ProdL2.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Analysis.Normed.Lp.ProdLp +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Analysis.Normed.Lp.ProdLp /-! # `L²` inner product space structure on products of inner product spaces @@ -16,6 +18,8 @@ $$ This is recorded in this file as an inner product space instance on `WithLp 2 (E × F)`. -/ +@[expose] public section + open Module open scoped InnerProductSpace diff --git a/Mathlib/Analysis/InnerProductSpace/Projection.lean b/Mathlib/Analysis/InnerProductSpace/Projection.lean index 5988ff13fd12aa..663901e120637d 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection.lean @@ -1,7 +1,9 @@ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic -import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional -import Mathlib.Analysis.InnerProductSpace.Projection.Minimal -import Mathlib.Analysis.InnerProductSpace.Projection.Reflection -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic +public import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional +public import Mathlib.Analysis.InnerProductSpace.Projection.Minimal +public import Mathlib.Analysis.InnerProductSpace.Projection.Reflection +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule deprecated_module (since := "2025-08-08") diff --git a/Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean b/Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean index dac0279ecd619e..d5ec435ef73408 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Minimal -import Mathlib.Analysis.InnerProductSpace.Symmetric -import Mathlib.Analysis.RCLike.Lemmas +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Minimal +public import Mathlib.Analysis.InnerProductSpace.Symmetric +public import Mathlib.Analysis.RCLike.Lemmas /-! # The orthogonal projection @@ -30,6 +32,8 @@ The orthogonal projection construction is adapted from The Coq code is available at the following address: -/ +@[expose] public section + variable {𝕜 E F : Type*} [RCLike 𝕜] variable [NormedAddCommGroup E] [NormedAddCommGroup F] variable [InnerProductSpace 𝕜 E] [InnerProductSpace ℝ F] diff --git a/Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean b/Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean index 1eb99892bdd0b0..088610d2de46d3 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic -import Mathlib.Analysis.InnerProductSpace.Projection.Reflection -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Analysis.Normed.Module.RCLike.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic +public import Mathlib.Analysis.InnerProductSpace.Projection.Reflection +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Analysis.Normed.Module.RCLike.Basic /-! # Orthogonal projections in finite-dimensional spaces @@ -29,6 +31,8 @@ generated by reflections. * `maximal_orthonormal_iff_orthogonalComplement_eq_bot` -/ +@[expose] public section + variable {𝕜 E F : Type*} [RCLike 𝕜] variable [NormedAddCommGroup E] [NormedAddCommGroup F] variable [InnerProductSpace 𝕜 E] [InnerProductSpace ℝ F] diff --git a/Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean b/Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean index 923e6f6228749d..38974a91ad5ac4 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Existence of minimizers (Hilbert projection theorem) @@ -14,6 +16,8 @@ This is the key tool that is used to define `Submodule.orthogonalProjection` in `Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean`. -/ +@[expose] public section + variable {𝕜 E F : Type*} [RCLike 𝕜] variable [NormedAddCommGroup E] [NormedAddCommGroup F] variable [InnerProductSpace 𝕜 E] [InnerProductSpace ℝ F] diff --git a/Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean b/Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean index 40e6f2356cc919..ba6024001ee472 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic /-! # Reflection @@ -12,6 +14,8 @@ A linear isometry equivalence `K.reflection : E ≃ₗᵢ[𝕜] E` in constructe for each `u : E`, `K.reflection u = 2 • K.starProjection u - u`. -/ +@[expose] public section + noncomputable section namespace Submodule diff --git a/Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean b/Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean index 7ad4e084d6436b..77ddf73d7e03b2 100644 --- a/Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean +++ b/Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic /-! # Subspaces associated with orthogonal projections @@ -17,6 +19,8 @@ stating that for a subspace `K` of `E` such that `K` admits an orthogonal projec `K ⊔ Kᗮ = ⊤`, is a typical example. -/ +@[expose] public section + variable {𝕜 E F : Type*} [RCLike 𝕜] variable [NormedAddCommGroup E] [NormedAddCommGroup F] variable [InnerProductSpace 𝕜 E] [InnerProductSpace ℝ F] diff --git a/Mathlib/Analysis/InnerProductSpace/Rayleigh.lean b/Mathlib/Analysis/InnerProductSpace/Rayleigh.lean index c7da93f0ed96e0..f6f9d5a6d49ae9 100644 --- a/Mathlib/Analysis/InnerProductSpace/Rayleigh.lean +++ b/Mathlib/Analysis/InnerProductSpace/Rayleigh.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Frédéric Dupuis -/ -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.Calculus.LagrangeMultipliers -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.Algebra.EuclideanDomain.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.Calculus.LagrangeMultipliers +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.Algebra.EuclideanDomain.Basic /-! # The Rayleigh quotient @@ -35,6 +37,8 @@ A slightly more elaborate corollary is that if `E` is complete and `T` is a comp -/ +@[expose] public section + variable {𝕜 : Type*} [RCLike 𝕜] variable {E : Type*} [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] diff --git a/Mathlib/Analysis/InnerProductSpace/Semisimple.lean b/Mathlib/Analysis/InnerProductSpace/Semisimple.lean index 247823f55e9065..6ac3ae4c0724f8 100644 --- a/Mathlib/Analysis/InnerProductSpace/Semisimple.lean +++ b/Mathlib/Analysis/InnerProductSpace/Semisimple.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.LinearAlgebra.Semisimple +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.LinearAlgebra.Semisimple /-! # Semisimple operators on inner product spaces @@ -14,6 +16,8 @@ product spaces. -/ +@[expose] public section + variable {𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] namespace LinearMap.IsSymmetric diff --git a/Mathlib/Analysis/InnerProductSpace/Spectrum.lean b/Mathlib/Analysis/InnerProductSpace/Spectrum.lean index de19283014818d..d1d699a66b092c 100644 --- a/Mathlib/Analysis/InnerProductSpace/Spectrum.lean +++ b/Mathlib/Analysis/InnerProductSpace/Spectrum.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Rayleigh -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.LinearAlgebra.Eigenspace.Minpoly -import Mathlib.Data.Fin.Tuple.Sort +module + +public import Mathlib.Analysis.InnerProductSpace.Rayleigh +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.LinearAlgebra.Eigenspace.Minpoly +public import Mathlib.Data.Fin.Tuple.Sort /-! # Spectral theory of self-adjoint operators @@ -55,6 +57,8 @@ self-adjoint operator, spectral theorem, diagonalization theorem -/ +@[expose] public section + variable {𝕜 : Type*} [RCLike 𝕜] variable {E : Type*} [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] diff --git a/Mathlib/Analysis/InnerProductSpace/StarOrder.lean b/Mathlib/Analysis/InnerProductSpace/StarOrder.lean index 4a9197677eeba3..ec54ce37b69dea 100644 --- a/Mathlib/Analysis/InnerProductSpace/StarOrder.lean +++ b/Mathlib/Analysis/InnerProductSpace/StarOrder.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.InnerProductSpace.Positive -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap +module + +public import Mathlib.Analysis.InnerProductSpace.Positive +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap /-! # Continuous linear maps on a Hilbert space are a `StarOrderedRing` @@ -18,6 +20,8 @@ equipped with all the usual instances of the continuous functional calculus. -/ +@[expose] public section + namespace ContinuousLinearMap open RCLike diff --git a/Mathlib/Analysis/InnerProductSpace/Subspace.lean b/Mathlib/Analysis/InnerProductSpace/Subspace.lean index d99917a9f8f540..051a2b01d452b5 100644 --- a/Mathlib/Analysis/InnerProductSpace/Subspace.lean +++ b/Mathlib/Analysis/InnerProductSpace/Subspace.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Sébastien Gouëzel, Frédéric Dupuis -/ -import Mathlib.Analysis.InnerProductSpace.Orthonormal +module + +public import Mathlib.Analysis.InnerProductSpace.Orthonormal /-! # Subspaces of inner product spaces @@ -12,6 +14,8 @@ This file defines the inner-product structure on a subspace of an inner-product some theorems about orthogonal families of subspaces. -/ +@[expose] public section + noncomputable section open RCLike Real Filter Topology ComplexConjugate Finsupp Module diff --git a/Mathlib/Analysis/InnerProductSpace/Symmetric.lean b/Mathlib/Analysis/InnerProductSpace/Symmetric.lean index 8c339beeabde51..efb8f0f61885ea 100644 --- a/Mathlib/Analysis/InnerProductSpace/Symmetric.lean +++ b/Mathlib/Analysis/InnerProductSpace/Symmetric.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Subspace -import Mathlib.Analysis.Normed.Operator.Banach -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.Analysis.InnerProductSpace.Orthogonal +module + +public import Mathlib.Analysis.InnerProductSpace.Subspace +public import Mathlib.Analysis.Normed.Operator.Banach +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.Analysis.InnerProductSpace.Orthogonal /-! # Symmetric linear maps in an inner product space @@ -32,6 +34,8 @@ doesn't rely on the definition of the adjoint, which allows it to be stated in n self-adjoint, symmetric -/ +@[expose] public section + open RCLike diff --git a/Mathlib/Analysis/InnerProductSpace/TensorProduct.lean b/Mathlib/Analysis/InnerProductSpace/TensorProduct.lean index 619ca753dd4968..23d2646a3a3ef4 100644 --- a/Mathlib/Analysis/InnerProductSpace/TensorProduct.lean +++ b/Mathlib/Analysis/InnerProductSpace/TensorProduct.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Analysis.InnerProductSpace.Adjoint -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.LinearAlgebra.TensorProduct.Basic -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.Analysis.InnerProductSpace.Adjoint +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.LinearAlgebra.TensorProduct.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.RingTheory.TensorProduct.Finite /-! @@ -45,6 +47,8 @@ inner product spaces. -/ +@[expose] public section + variable {𝕜 E F G H : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] diff --git a/Mathlib/Analysis/InnerProductSpace/Trace.lean b/Mathlib/Analysis/InnerProductSpace/Trace.lean index 761658d3c9c888..55728de0a67608 100644 --- a/Mathlib/Analysis/InnerProductSpace/Trace.lean +++ b/Mathlib/Analysis/InnerProductSpace/Trace.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Iván Renison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Iván Renison -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Analysis.InnerProductSpace.Spectrum -import Mathlib.LinearAlgebra.Trace +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Analysis.InnerProductSpace.Spectrum +public import Mathlib.LinearAlgebra.Trace /-! # Traces in inner product spaces @@ -13,6 +15,8 @@ import Mathlib.LinearAlgebra.Trace This file contains various results about traces of linear operators in inner product spaces. -/ +@[expose] public section + namespace LinearMap variable {𝕜 E ι : Type*} [RCLike 𝕜] [Fintype ι] diff --git a/Mathlib/Analysis/InnerProductSpace/TwoDim.lean b/Mathlib/Analysis/InnerProductSpace/TwoDim.lean index 1d681c6d5c33b8..acc08b79405f4c 100644 --- a/Mathlib/Analysis/InnerProductSpace/TwoDim.lean +++ b/Mathlib/Analysis/InnerProductSpace/TwoDim.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.Orientation -import Mathlib.LinearAlgebra.Alternating.Curry -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.LinearAlgebra.Complex.Orientation -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.Orientation +public import Mathlib.LinearAlgebra.Alternating.Curry +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.LinearAlgebra.Complex.Orientation +public import Mathlib.Tactic.LinearCombination /-! # Oriented two-dimensional real inner product spaces @@ -67,6 +69,8 @@ local notation "J" => o.rightAngleRotation -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean b/Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean index 29ec80a409d577..27c9eefa0194ed 100644 --- a/Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean +++ b/Mathlib/Analysis/InnerProductSpace/WeakOperatorTopology.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.LocallyConvex.WeakOperatorTopology +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.LocallyConvex.WeakOperatorTopology /-! # The weak operator topology in Hilbert spaces @@ -15,6 +16,8 @@ Hilbert spaces. This mostly involves using the Fréchet-Riesz representation to applications of elements of the dual and inner products with vectors in the space. -/ +@[expose] public section + open scoped Topology InnerProductSpace namespace ContinuousLinearMapWOT diff --git a/Mathlib/Analysis/InnerProductSpace/l2Space.lean b/Mathlib/Analysis/InnerProductSpace/l2Space.lean index 5e87436ea29ff6..4b7c9506eaabf5 100644 --- a/Mathlib/Analysis/InnerProductSpace/l2Space.lean +++ b/Mathlib/Analysis/InnerProductSpace/l2Space.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic -import Mathlib.Analysis.Normed.Lp.lpSpace -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic +public import Mathlib.Analysis.Normed.Lp.lpSpace +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Hilbert sum of a family of inner product spaces @@ -79,6 +81,8 @@ We also define a *predicate* `IsHilbertSum 𝕜 G V`, where `V : Π i, G i → Hilbert space, Hilbert sum, l2, Hilbert basis, unitary equivalence, isometric isomorphism -/ +@[expose] public section + open RCLike Submodule Filter open scoped NNReal ENNReal ComplexConjugate Topology diff --git a/Mathlib/Analysis/LConvolution.lean b/Mathlib/Analysis/LConvolution.lean index 9bb72320bb166a..0c56729852b780 100644 --- a/Mathlib/Analysis/LConvolution.lean +++ b/Mathlib/Analysis/LConvolution.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Ledvinka. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Ledvinka -/ -import Mathlib.MeasureTheory.Group.Prod -import Mathlib.MeasureTheory.Group.LIntegral +module + +public import Mathlib.MeasureTheory.Group.Prod +public import Mathlib.MeasureTheory.Group.LIntegral /-! # Convolution of functions using the Lebesgue integral @@ -31,6 +33,8 @@ the order of the densities would be flipped. is the additive convolution of `f` and `g` w.r.t. the measure `μ`. -/ +@[expose] public section + namespace MeasureTheory open Measure open scoped ENNReal diff --git a/Mathlib/Analysis/LocallyConvex/AbsConvex.lean b/Mathlib/Analysis/LocallyConvex/AbsConvex.lean index e09bf7536fa646..ccb918fe349555 100644 --- a/Mathlib/Analysis/LocallyConvex/AbsConvex.lean +++ b/Mathlib/Analysis/LocallyConvex/AbsConvex.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.LocallyConvex.BalancedCoreHull -import Mathlib.Analysis.Convex.TotallyBounded -import Mathlib.Analysis.LocallyConvex.Bounded +module + +public import Mathlib.Analysis.LocallyConvex.BalancedCoreHull +public import Mathlib.Analysis.Convex.TotallyBounded +public import Mathlib.Analysis.LocallyConvex.Bounded /-! # Absolutely convex sets @@ -35,6 +37,8 @@ topological vector space has a basis consisting of absolutely convex sets. disks, convex, balanced -/ +@[expose] public section + open NormedField Set open NNReal Pointwise Topology diff --git a/Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean b/Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean index 5d32f705620a8a..b27eab527c3a49 100644 --- a/Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean +++ b/Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.LocallyConvex.AbsConvex -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.Convex.Gauge +module + +public import Mathlib.Analysis.LocallyConvex.AbsConvex +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.Convex.Gauge /-! # Absolutely convex open sets @@ -28,6 +30,8 @@ convex open neighborhoods of zero. -/ +@[expose] public section + open NormedField Set open NNReal Pointwise Topology diff --git a/Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean b/Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean index 4993891584121f..98739e0484eb31 100644 --- a/Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean +++ b/Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.LocallyConvex.Basic +module + +public import Mathlib.Analysis.LocallyConvex.Basic /-! # Balanced Core and Balanced Hull @@ -36,6 +38,8 @@ this is `balancedCore_eq_iInter`. balanced -/ +@[expose] public section + open Set Pointwise Topology Filter diff --git a/Mathlib/Analysis/LocallyConvex/Barrelled.lean b/Mathlib/Analysis/LocallyConvex/Barrelled.lean index eebdf650eb91aa..a380434f46272b 100644 --- a/Mathlib/Analysis/LocallyConvex/Barrelled.lean +++ b/Mathlib/Analysis/LocallyConvex/Barrelled.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Topology.Semicontinuous -import Mathlib.Topology.Baire.Lemmas +module + +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Topology.Semicontinuous +public import Mathlib.Topology.Baire.Lemmas /-! # Barrelled spaces and the Banach-Steinhaus theorem / Uniform Boundedness Principle @@ -71,6 +73,8 @@ with the seminorm characterization! banach-steinhaus, uniform boundedness, equicontinuity -/ +@[expose] public section + open Filter Topology Set ContinuousLinearMap section defs diff --git a/Mathlib/Analysis/LocallyConvex/Basic.lean b/Mathlib/Analysis/LocallyConvex/Basic.lean index 165803540a9108..16b1b56c4f8580 100644 --- a/Mathlib/Analysis/LocallyConvex/Basic.lean +++ b/Mathlib/Analysis/LocallyConvex/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Jean Lo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo, Bhavik Mehta, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Basic -import Mathlib.Analysis.Convex.Hull -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.Normed.MulAction -import Mathlib.Topology.Bornology.Absorbs +module + +public import Mathlib.Analysis.Convex.Basic +public import Mathlib.Analysis.Convex.Hull +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.Normed.MulAction +public import Mathlib.Topology.Bornology.Absorbs /-! # Local convexity @@ -38,6 +40,8 @@ For a module over a normed ring: absorbent, balanced, locally convex, LCTVS -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/LocallyConvex/Bounded.lean b/Mathlib/Analysis/LocallyConvex/Bounded.lean index 1840d5de633c82..608171cb6bf4a1 100644 --- a/Mathlib/Analysis/LocallyConvex/Bounded.lean +++ b/Mathlib/Analysis/LocallyConvex/Bounded.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.GroupTheory.GroupAction.Pointwise -import Mathlib.Analysis.LocallyConvex.Basic -import Mathlib.Analysis.LocallyConvex.BalancedCoreHull -import Mathlib.Analysis.Seminorm -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.Topology.Bornology.Basic -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.UniformSpace.Cauchy +module + +public import Mathlib.GroupTheory.GroupAction.Pointwise +public import Mathlib.Analysis.LocallyConvex.Basic +public import Mathlib.Analysis.LocallyConvex.BalancedCoreHull +public import Mathlib.Analysis.Seminorm +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.Topology.Bornology.Basic +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.UniformSpace.Cauchy /-! # Von Neumann Boundedness @@ -40,6 +42,8 @@ This file defines natural or von Neumann bounded sets and proves elementary prop -/ +@[expose] public section + variable {𝕜 𝕜' E F ι : Type*} diff --git a/Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean b/Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean index d33af4ed0bbbec..3ae8d68f13a6c7 100644 --- a/Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean +++ b/Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Analysis.RCLike.Basic +module + +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Analysis.RCLike.Basic /-! # Continuity and Von Neumann boundedness @@ -24,6 +26,8 @@ continuous linear maps will require importing `Analysis/LocallyConvex/Bounded` i -/ +@[expose] public section + open TopologicalSpace Bornology Filter Topology Pointwise diff --git a/Mathlib/Analysis/LocallyConvex/Polar.lean b/Mathlib/Analysis/LocallyConvex/Polar.lean index 4db8e4f614fa4e..b61178221ef35e 100644 --- a/Mathlib/Analysis/LocallyConvex/Polar.lean +++ b/Mathlib/Analysis/LocallyConvex/Polar.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Kalle Kytölä -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.Topology.Algebra.Module.WeakBilin +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.Topology.Algebra.Module.WeakBilin /-! # Polar set @@ -34,6 +36,8 @@ any bilinear form `B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜`, where `𝕜` is a no polar -/ +@[expose] public section + variable {𝕜 E F : Type*} open Topology diff --git a/Mathlib/Analysis/LocallyConvex/StrongTopology.lean b/Mathlib/Analysis/LocallyConvex/StrongTopology.lean index fe682099c93160..a0c98da987e8bb 100644 --- a/Mathlib/Analysis/LocallyConvex/StrongTopology.lean +++ b/Mathlib/Analysis/LocallyConvex/StrongTopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Algebra.Module.StrongTopology -import Mathlib.Topology.Algebra.Module.LocallyConvex +module + +public import Mathlib.Topology.Algebra.Module.StrongTopology +public import Mathlib.Topology.Algebra.Module.LocallyConvex /-! # Local convexity of the strong topology @@ -25,6 +27,8 @@ locally convex. locally convex, bounded convergence -/ +@[expose] public section + open Topology UniformConvergence diff --git a/Mathlib/Analysis/LocallyConvex/WeakDual.lean b/Mathlib/Analysis/LocallyConvex/WeakDual.lean index c668dc4e0a3455..646f85cdb6c389 100644 --- a/Mathlib/Analysis/LocallyConvex/WeakDual.lean +++ b/Mathlib/Analysis/LocallyConvex/WeakDual.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.Finsupp.Span -import Mathlib.Topology.Algebra.Module.WeakBilin +module + +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.Finsupp.Span +public import Mathlib.Topology.Algebra.Module.WeakBilin /-! # Weak Dual in Topological Vector Spaces @@ -40,6 +42,8 @@ convex and we explicitly give a neighborhood basis in terms of the family of sem weak dual, seminorm -/ +@[expose] public section + variable {𝕜 E F : Type*} diff --git a/Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean b/Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean index 949697b38a2413..192da8210e5a4c 100644 --- a/Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean +++ b/Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual /-! # The weak operator topology @@ -47,6 +48,8 @@ In most of the literature, the WOT is defined on maps between Banach spaces. Her that the domain and codomains are topological vector spaces over a normed field. -/ +@[expose] public section + open Topology /-- The type copy of `E →L[𝕜] F` endowed with the weak operator topology, denoted as diff --git a/Mathlib/Analysis/LocallyConvex/WeakSpace.lean b/Mathlib/Analysis/LocallyConvex/WeakSpace.lean index 9a505af35115e2..8f2b9f125dd519 100644 --- a/Mathlib/Analysis/LocallyConvex/WeakSpace.lean +++ b/Mathlib/Analysis/LocallyConvex/WeakSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.NormedSpace.HahnBanach.Separation -import Mathlib.LinearAlgebra.Dual.Defs -import Mathlib.Topology.Algebra.Module.WeakDual +module + +public import Mathlib.Analysis.NormedSpace.HahnBanach.Separation +public import Mathlib.LinearAlgebra.Dual.Defs +public import Mathlib.Topology.Algebra.Module.WeakDual /-! # Closures of convex sets in locally convex spaces @@ -17,6 +19,8 @@ Of course, we phrase this in terms of linear maps between locally convex spaces, creating two separate topologies on the same space. -/ +@[expose] public section + variable {𝕜 E F : Type*} variable [RCLike 𝕜] [AddCommGroup E] [Module 𝕜 E] [AddCommGroup F] [Module 𝕜 F] variable [Module ℝ E] [IsScalarTower ℝ 𝕜 E] [Module ℝ F] [IsScalarTower ℝ 𝕜 F] diff --git a/Mathlib/Analysis/LocallyConvex/WithSeminorms.lean b/Mathlib/Analysis/LocallyConvex/WithSeminorms.lean index c7ccfe0d7453e1..f19cedc24201ed 100644 --- a/Mathlib/Analysis/LocallyConvex/WithSeminorms.lean +++ b/Mathlib/Analysis/LocallyConvex/WithSeminorms.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Anatole Dedecker -/ -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Analysis.Seminorm -import Mathlib.Data.Real.Sqrt -import Mathlib.Topology.Algebra.Equicontinuity -import Mathlib.Topology.MetricSpace.Equicontinuity -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.Module.LocallyConvex +module + +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Analysis.Seminorm +public import Mathlib.Data.Real.Sqrt +public import Mathlib.Topology.Algebra.Equicontinuity +public import Mathlib.Topology.MetricSpace.Equicontinuity +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.Module.LocallyConvex /-! # Topology induced by a family of seminorms @@ -48,6 +50,8 @@ Neumann boundedness in terms of that seminorm family. Together with seminorm, locally convex -/ +@[expose] public section + open NormedField Set Seminorm TopologicalSpace Filter List Bornology diff --git a/Mathlib/Analysis/Matrix.lean b/Mathlib/Analysis/Matrix.lean index e2cd46929699aa..b68ae55543dcf8 100644 --- a/Mathlib/Analysis/Matrix.lean +++ b/Mathlib/Analysis/Matrix.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Eric Wieser -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Matrices as a normed space @@ -50,6 +52,8 @@ The norm induced by the identification of `Matrix m n 𝕜` with It is separated to avoid extraneous imports in this file. -/ +@[expose] public section + noncomputable section open WithLp diff --git a/Mathlib/Analysis/Matrix/Order.lean b/Mathlib/Analysis/Matrix/Order.lean index d829196602180a..eaa0070fe3907f 100644 --- a/Mathlib/Analysis/Matrix/Order.lean +++ b/Mathlib/Analysis/Matrix/Order.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus -import Mathlib.LinearAlgebra.Matrix.PosDef +module + +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus +public import Mathlib.LinearAlgebra.Matrix.PosDef /-! # The partial order on matrices @@ -28,6 +30,8 @@ Note that the partial order instance is scoped to `MatrixOrder`. Please `open scoped MatrixOrder` to use this. -/ +@[expose] public section + variable {𝕜 n : Type*} [RCLike 𝕜] [Fintype n] open scoped ComplexOrder diff --git a/Mathlib/Analysis/MeanInequalities.lean b/Mathlib/Analysis/MeanInequalities.lean index d4f48a072e5607..e6fc559b8e4304 100644 --- a/Mathlib/Analysis/MeanInequalities.lean +++ b/Mathlib/Analysis/MeanInequalities.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.Algebra.BigOperators.Expect -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.Convex.Jensen -import Mathlib.Analysis.Convex.SpecificFunctions.Basic -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.Data.Real.ConjExponents +module + +public import Mathlib.Algebra.BigOperators.Expect +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.Convex.Jensen +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.Data.Real.ConjExponents /-! # Mean value inequalities @@ -104,6 +106,8 @@ less than or equal to the sum of the maximum values of the summands. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/MeanInequalitiesPow.lean b/Mathlib/Analysis/MeanInequalitiesPow.lean index f623a2193a644d..85ca59088a6cc4 100644 --- a/Mathlib/Analysis/MeanInequalitiesPow.lean +++ b/Mathlib/Analysis/MeanInequalitiesPow.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.Analysis.Convex.Jensen -import Mathlib.Analysis.Convex.Mul -import Mathlib.Analysis.Convex.SpecificFunctions.Basic -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +module + +public import Mathlib.Analysis.Convex.Jensen +public import Mathlib.Analysis.Convex.Mul +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal /-! # Mean value inequalities @@ -40,6 +42,8 @@ in order to avoid using real exponents. For real exponents we prove both this an -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/MellinInversion.lean b/Mathlib/Analysis/MellinInversion.lean index 2777604f85df29..c0f8c19f852629 100644 --- a/Mathlib/Analysis/MellinInversion.lean +++ b/Mathlib/Analysis/MellinInversion.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Lawrence Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lawrence Wu -/ -import Mathlib.Analysis.Fourier.Inversion -import Mathlib.Analysis.MellinTransform +module + +public import Mathlib.Analysis.Fourier.Inversion +public import Mathlib.Analysis.MellinTransform /-! # Mellin inversion formula @@ -15,6 +17,8 @@ We derive the Mellin inversion formula as a consequence of the Fourier inversion - `mellin_inversion`: The inverse Mellin transform of the Mellin transform applied to `x > 0` is x. -/ +@[expose] public section + open Real Complex Set MeasureTheory variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] diff --git a/Mathlib/Analysis/MellinTransform.lean b/Mathlib/Analysis/MellinTransform.lean index 961f018ce46005..6c15d996f06990 100644 --- a/Mathlib/Analysis/MellinTransform.lean +++ b/Mathlib/Analysis/MellinTransform.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.MeasureTheory.Measure.Haar.NormedSpace +module + +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.MeasureTheory.Measure.Haar.NormedSpace /-! # The Mellin transform @@ -23,6 +25,8 @@ differentiable in a suitable vertical strip. -/ +@[expose] public section + open MeasureTheory Set Filter Asymptotics TopologicalSpace open Real diff --git a/Mathlib/Analysis/Meromorphic/Basic.lean b/Mathlib/Analysis/Meromorphic/Basic.lean index 67d312a2c39236..6717a62b1997af 100644 --- a/Mathlib/Analysis/Meromorphic/Basic.lean +++ b/Mathlib/Analysis/Meromorphic/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler, Stefan Kebekus -/ -import Mathlib.Analysis.Analytic.IsolatedZeros +module + +public import Mathlib.Analysis.Analytic.IsolatedZeros /-! # Meromorphic functions @@ -16,6 +18,8 @@ Main statements: and `g` analytic at `z₀`. -/ +@[expose] public section + open Filter open scoped Topology diff --git a/Mathlib/Analysis/Meromorphic/Complex.lean b/Mathlib/Analysis/Meromorphic/Complex.lean index e2521ec9ba4419..520ea2adedcdba 100644 --- a/Mathlib/Analysis/Meromorphic/Complex.lean +++ b/Mathlib/Analysis/Meromorphic/Complex.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ -import Mathlib.Analysis.Meromorphic.NormalForm -import Mathlib.Analysis.SpecialFunctions.Gamma.Beta +module + +public import Mathlib.Analysis.Meromorphic.NormalForm +public import Mathlib.Analysis.SpecialFunctions.Gamma.Beta /-! # The Gamma function is meromorphic -/ +@[expose] public section + open Set Complex lemma MeromorphicNFOn.Gamma : MeromorphicNFOn Gamma univ := diff --git a/Mathlib/Analysis/Meromorphic/Divisor.lean b/Mathlib/Analysis/Meromorphic/Divisor.lean index 7b215b002fb890..a4e798d2f26c4d 100644 --- a/Mathlib/Analysis/Meromorphic/Divisor.lean +++ b/Mathlib/Analysis/Meromorphic/Divisor.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Algebra.Order.WithTop.Untop0 -import Mathlib.Analysis.Meromorphic.Order -import Mathlib.Topology.LocallyFinsupp +module + +public import Mathlib.Algebra.Order.WithTop.Untop0 +public import Mathlib.Analysis.Meromorphic.Order +public import Mathlib.Topology.LocallyFinsupp /-! # The Divisor of a meromorphic function @@ -15,6 +17,8 @@ divisors. The lemma `MeromorphicOn.divisor_restrict` guarantees compatibility be of divisors and of meromorphic functions to subsets of their domain of definition. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {U : Set 𝕜} {z : 𝕜} {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Meromorphic/FactorizedRational.lean b/Mathlib/Analysis/Meromorphic/FactorizedRational.lean index 0f8f3f5e155e90..19309693b6bde1 100644 --- a/Mathlib/Analysis/Meromorphic/FactorizedRational.lean +++ b/Mathlib/Analysis/Meromorphic/FactorizedRational.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.Divisor -import Mathlib.Analysis.Meromorphic.IsolatedZeros -import Mathlib.Analysis.Meromorphic.NormalForm -import Mathlib.Analysis.Meromorphic.TrailingCoefficient -import Mathlib.Analysis.SpecialFunctions.Log.Basic +module + +public import Mathlib.Analysis.Meromorphic.Divisor +public import Mathlib.Analysis.Meromorphic.IsolatedZeros +public import Mathlib.Analysis.Meromorphic.NormalForm +public import Mathlib.Analysis.Meromorphic.TrailingCoefficient +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # Factorized Rational Functions @@ -28,6 +30,8 @@ There are elementary examples of functions `d` where `∏ᶠ u, (· - u) ^ d u` `fun x ↦ ∏ᶠ u, (x - u) ^ d u` is not continuous. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Meromorphic/IsolatedZeros.lean b/Mathlib/Analysis/Meromorphic/IsolatedZeros.lean index d1d4f6eb92e92d..7185d7d1d91c8a 100644 --- a/Mathlib/Analysis/Meromorphic/IsolatedZeros.lean +++ b/Mathlib/Analysis/Meromorphic/IsolatedZeros.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.Basic +module + +public import Mathlib.Analysis.Meromorphic.Basic /-! # Principles of Isolated Zeros and Identity Principles for Meromorphic Functions @@ -17,6 +19,8 @@ complicated to state. This is because meromorphic functions can be modified at w subsets and still remain meromorphic. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Meromorphic/NormalForm.lean b/Mathlib/Analysis/Meromorphic/NormalForm.lean index 7d748c74f6210d..5e099cefc7eef2 100644 --- a/Mathlib/Analysis/Meromorphic/NormalForm.lean +++ b/Mathlib/Analysis/Meromorphic/NormalForm.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.Divisor +module + +public import Mathlib.Analysis.Meromorphic.Divisor /-! # Normal form of meromorphic functions and continuous extension @@ -21,6 +23,8 @@ The relevant notions are `MeromorphicNFAt` and `MeromorphicNFOn`; these guarante form at a single point and along a set, respectively. -/ +@[expose] public section + open Topology WithTop variable diff --git a/Mathlib/Analysis/Meromorphic/Order.lean b/Mathlib/Analysis/Meromorphic/Order.lean index 937944feff06a1..b476d65e90fd7c 100644 --- a/Mathlib/Analysis/Meromorphic/Order.lean +++ b/Mathlib/Analysis/Meromorphic/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler, Stefan Kebekus -/ -import Mathlib.Algebra.Order.WithTop.Untop0 -import Mathlib.Analysis.Analytic.Order -import Mathlib.Analysis.Meromorphic.Basic +module + +public import Mathlib.Algebra.Order.WithTop.Untop0 +public import Mathlib.Analysis.Analytic.Order +public import Mathlib.Analysis.Meromorphic.Basic /-! # Orders of Meromorphic Functions @@ -21,6 +23,8 @@ to infinity, resp. a nonzero constant, resp. zero. Uniformize API between analytic and meromorphic functions -/ +@[expose] public section + open Filter Set WithTop.LinearOrderedAddCommGroup open scoped Topology diff --git a/Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean b/Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean index 9ed135898c1bac..6d9345bb28d9a6 100644 --- a/Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean +++ b/Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.Order +module + +public import Mathlib.Analysis.Meromorphic.Order /-! # The Trailing Coefficient of a Meromorphic Function @@ -15,6 +17,8 @@ point `x`, the trailing coefficient is defined as the (unique!) value `g x` for The lemma `meromorphicTrailingCoeffAt_eq_limit` expresses the trailing coefficient as a limit. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] diff --git a/Mathlib/Analysis/Normed/Affine/AddTorsor.lean b/Mathlib/Analysis/Normed/Affine/AddTorsor.lean index 1bdde4fd84dc6d..0beb28f923ee47 100644 --- a/Mathlib/Analysis/Normed/Affine/AddTorsor.lean +++ b/Mathlib/Analysis/Normed/Affine/AddTorsor.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Yury Kudryashov -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.Topology.Instances.RealVectorSpace +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.Topology.Instances.RealVectorSpace /-! @@ -17,6 +19,8 @@ import Mathlib.Topology.Instances.RealVectorSpace This file contains lemmas about normed additive torsors over normed spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean b/Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean index 78175eb4b74fa9..78a10a46a110d2 100644 --- a/Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean +++ b/Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional /-! # Bases in normed affine spaces. @@ -20,6 +22,8 @@ This file contains results about bases in normed affine spaces. * `interior_convexHull_nonempty_iff_affineSpan_eq_top` -/ +@[expose] public section + assert_not_exists HasFDerivAt section Barycentric diff --git a/Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean b/Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean index aee36803e34c22..0f1fb4222da00f 100644 --- a/Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean +++ b/Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Attila Gáspár. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Attila Gáspár -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Topology.Algebra.AsymptoticCone +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Topology.Algebra.AsymptoticCone /-! # Asymptotic cones in normed spaces @@ -13,6 +15,8 @@ In this file, we prove that the asymptotic cone of a set is non-trivial if and o unbounded. -/ +@[expose] public section + open AffineSpace Bornology Filter Topology variable diff --git a/Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean b/Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean index cf0d5fed8fada5..dc78000f9075b0 100644 --- a/Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean +++ b/Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Topology.Algebra.ContinuousAffineMap -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Analysis.Normed.Group.AddTorsor +module + +public import Mathlib.Topology.Algebra.ContinuousAffineMap +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Analysis.Normed.Group.AddTorsor /-! # Norm on the continuous affine maps between normed vector spaces. @@ -33,6 +35,8 @@ submultiplicative: for a composition of maps, we have only `‖f.comp g‖ ≤ -/ +@[expose] public section + namespace ContinuousAffineMap diff --git a/Mathlib/Analysis/Normed/Affine/Convex.lean b/Mathlib/Analysis/Normed/Affine/Convex.lean index f997ab1d29b94e..836a6017bc5ad1 100644 --- a/Mathlib/Analysis/Normed/Affine/Convex.lean +++ b/Mathlib/Analysis/Normed/Affine/Convex.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Analysis.Normed.Affine.AddTorsorBases -import Mathlib.Analysis.Normed.Module.Convex +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Analysis.Normed.Affine.AddTorsorBases +public import Mathlib.Analysis.Normed.Module.Convex /-! # Simplices in normed affine spaces @@ -18,6 +20,8 @@ We prove the following facts: polytope between a compact convex set and one of its neighborhoods. -/ +@[expose] public section + variable {E P : Type*} open AffineBasis Module Metric Set diff --git a/Mathlib/Analysis/Normed/Affine/Isometry.lean b/Mathlib/Analysis/Normed/Affine/Isometry.lean index 961beb8fee4142..94d73fa9279494 100644 --- a/Mathlib/Analysis/Normed/Affine/Isometry.lean +++ b/Mathlib/Analysis/Normed/Affine/Isometry.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.LinearAlgebra.AffineSpace.Restrict -import Mathlib.Tactic.FailIfNoProgress +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.LinearAlgebra.AffineSpace.Restrict +public import Mathlib.Tactic.FailIfNoProgress /-! # Affine isometries @@ -34,6 +36,8 @@ algebra-homomorphisms.) -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Analysis/Normed/Affine/MazurUlam.lean b/Mathlib/Analysis/Normed/Affine/MazurUlam.lean index b8b957fd1b0b21..88a4d97fab0cd3 100644 --- a/Mathlib/Analysis/Normed/Affine/MazurUlam.lean +++ b/Mathlib/Analysis/Normed/Affine/MazurUlam.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Instances.RealVectorSpace -import Mathlib.Analysis.Normed.Affine.Isometry +module + +public import Mathlib.Topology.Instances.RealVectorSpace +public import Mathlib.Analysis.Normed.Affine.Isometry /-! # Mazur-Ulam Theorem @@ -26,6 +28,8 @@ The formalization is based on [Jussi Väisälä, *A Proof of the Mazur-Ulam Theo isometry, affine map, linear map -/ +@[expose] public section + variable {E PE F PF : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [MetricSpace PE] [NormedAddTorsor E PE] [NormedAddCommGroup F] [NormedSpace ℝ F] [MetricSpace PF] diff --git a/Mathlib/Analysis/Normed/Affine/Simplex.lean b/Mathlib/Analysis/Normed/Affine/Simplex.lean index cb1a3c7f67b3ea..fdceec1941f821 100644 --- a/Mathlib/Analysis/Normed/Affine/Simplex.lean +++ b/Mathlib/Analysis/Normed/Affine/Simplex.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic +module + +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic /-! # Simplices in torsors over normed spaces. @@ -19,6 +21,8 @@ This file defines properties of simplices in a `NormedAddTorsor`. -/ +@[expose] public section + namespace Affine diff --git a/Mathlib/Analysis/Normed/Algebra/Basic.lean b/Mathlib/Analysis/Normed/Algebra/Basic.lean index ca664ac73d598e..c18e31db0036e1 100644 --- a/Mathlib/Analysis/Normed/Algebra/Basic.lean +++ b/Mathlib/Analysis/Normed/Algebra/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Topology.Algebra.Module.CharacterSpace -import Mathlib.Analysis.Normed.Module.WeakDual -import Mathlib.Analysis.Normed.Algebra.Spectrum +module + +public import Mathlib.Topology.Algebra.Module.CharacterSpace +public import Mathlib.Analysis.Normed.Module.WeakDual +public import Mathlib.Analysis.Normed.Algebra.Spectrum /-! # Normed algebras @@ -26,6 +28,8 @@ normed algebra, character space, continuous functional calculus -/ +@[expose] public section + variable {𝕜 : Type*} {A : Type*} diff --git a/Mathlib/Analysis/Normed/Algebra/DualNumber.lean b/Mathlib/Analysis/Normed/Algebra/DualNumber.lean index de4a83e7a7b247..8856668e0f29c9 100644 --- a/Mathlib/Analysis/Normed/Algebra/DualNumber.lean +++ b/Mathlib/Analysis/Normed/Algebra/DualNumber.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DualNumber -import Mathlib.Analysis.Normed.Algebra.TrivSqZeroExt +module + +public import Mathlib.Algebra.DualNumber +public import Mathlib.Analysis.Normed.Algebra.TrivSqZeroExt /-! # Results on `DualNumber R` related to the norm @@ -17,6 +19,8 @@ These are just restatements of similar statements about `TrivSqZeroExt R M`. -/ +@[expose] public section + open NormedSpace -- For `NormedSpace.exp`. namespace DualNumber diff --git a/Mathlib/Analysis/Normed/Algebra/Exponential.lean b/Mathlib/Analysis/Normed/Algebra/Exponential.lean index 5d5d88849774ad..1afc5e8fea24b1 100644 --- a/Mathlib/Analysis/Normed/Algebra/Exponential.lean +++ b/Mathlib/Analysis/Normed/Algebra/Exponential.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Eric Wieser -/ -import Mathlib.Algebra.Ring.Action.ConjAct -import Mathlib.Analysis.Analytic.ChangeOrigin -import Mathlib.Analysis.Complex.Basic -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.Analysis.Analytic.OfScalars -import Mathlib.Analysis.SpecificLimits.RCLike +module + +public import Mathlib.Algebra.Ring.Action.ConjAct +public import Mathlib.Analysis.Analytic.ChangeOrigin +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.Analysis.Analytic.OfScalars +public import Mathlib.Analysis.SpecificLimits.RCLike /-! # Exponential in a Banach algebra @@ -86,6 +88,8 @@ In the long term is may be possible to replace `Real.exp` and `Complex.exp` with -/ +@[expose] public section + namespace NormedSpace diff --git a/Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean b/Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean index 7be54887f103e4..ad5f38bcbcb54b 100644 --- a/Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean +++ b/Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Analytic.RadiusLiminf -import Mathlib.Analysis.Complex.Liouville -import Mathlib.Analysis.Complex.Polynomial.Basic -import Mathlib.Analysis.Normed.Algebra.Spectrum +module + +public import Mathlib.Analysis.Analytic.RadiusLiminf +public import Mathlib.Analysis.Complex.Liouville +public import Mathlib.Analysis.Complex.Polynomial.Basic +public import Mathlib.Analysis.Normed.Algebra.Spectrum /-! # Gelfand's formula and other results on the spectrum in complex Banach algebras @@ -27,6 +29,8 @@ complex Banach algebra has nonempty spectrum. -/ +@[expose] public section + variable {𝕜 A : Type*} open scoped NNReal Topology diff --git a/Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean b/Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean index 8db33faf22ac2f..70cb577c1558f9 100644 --- a/Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean +++ b/Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.Matrix -import Mathlib.LinearAlgebra.Matrix.ZPow -import Mathlib.LinearAlgebra.Matrix.Hermitian -import Mathlib.LinearAlgebra.Matrix.Symmetric -import Mathlib.Topology.UniformSpace.Matrix +module + +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.Matrix +public import Mathlib.LinearAlgebra.Matrix.ZPow +public import Mathlib.LinearAlgebra.Matrix.Hermitian +public import Mathlib.LinearAlgebra.Matrix.Symmetric +public import Mathlib.Topology.UniformSpace.Matrix /-! # Lemmas about the matrix exponential @@ -59,6 +61,8 @@ results for general rings are instead stated about `Ring.inverse`: * https://en.wikipedia.org/wiki/Matrix_exponential -/ +@[expose] public section + open scoped Matrix open NormedSpace -- For `exp`. diff --git a/Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean b/Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean index 75c272718a012c..6904a8f0b299e7 100644 --- a/Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean +++ b/Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Quaternion -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Series +module + +public import Mathlib.Analysis.Quaternion +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Series /-! # Lemmas about `NormedSpace.exp` on `Quaternion`s @@ -22,6 +24,8 @@ This file contains results about `NormedSpace.exp` on `Quaternion ℝ`. -/ +@[expose] public section + open scoped Quaternion Nat open NormedSpace diff --git a/Mathlib/Analysis/Normed/Algebra/Spectrum.lean b/Mathlib/Analysis/Normed/Algebra/Spectrum.lean index f5f60246df9d9e..a6b96059341b4e 100644 --- a/Mathlib/Analysis/Normed/Algebra/Spectrum.lean +++ b/Mathlib/Analysis/Normed/Algebra/Spectrum.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Analysis.Real.Spectrum -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.Normed.Algebra.UnitizationL1 -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.FieldTheory.IsAlgClosed.Spectrum -import Mathlib.Topology.Algebra.Module.CharacterSpace +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Analysis.Real.Spectrum +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.Normed.Algebra.UnitizationL1 +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.FieldTheory.IsAlgClosed.Spectrum +public import Mathlib.Topology.Algebra.Module.CharacterSpace /-! # The spectrum of elements in a complete normed algebra @@ -34,6 +36,8 @@ Theorems specific to *complex* Banach algebras, such as *Gelfand's formula* can -/ +@[expose] public section + assert_not_exists ProbabilityTheory.cond assert_not_exists HasFDerivAt diff --git a/Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean b/Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean index 3fb512caf72cc7..621e0f9e26b0de 100644 --- a/Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean +++ b/Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.Normed.Lp.ProdLp -import Mathlib.Topology.Instances.TrivSqZeroExt +module + +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.Normed.Lp.ProdLp +public import Mathlib.Topology.Instances.TrivSqZeroExt /-! # Results on `TrivSqZeroExt R M` related to the norm @@ -47,6 +49,8 @@ we could keep the collection of instances behind an `open scoped`. -/ +@[expose] public section + variable (𝕜 : Type*) {S R M : Type*} diff --git a/Mathlib/Analysis/Normed/Algebra/Ultra.lean b/Mathlib/Analysis/Normed/Algebra/Ultra.lean index a39c2617fb5905..794211ca027f42 100644 --- a/Mathlib/Analysis/Normed/Algebra/Ultra.lean +++ b/Mathlib/Analysis/Normed/Algebra/Ultra.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang -/ +module -import Mathlib.Analysis.Normed.Field.Ultra -import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Field.Ultra +public import Mathlib.Analysis.Normed.Module.Basic /-! # Normed algebra preserves ultrametricity @@ -13,6 +14,8 @@ import Mathlib.Analysis.Normed.Module.Basic This file contains the proof that a normed division ring over an ultrametric field is ultrametric. -/ +@[expose] public section + variable {K L : Type*} [NormedField K] variable (L) in diff --git a/Mathlib/Analysis/Normed/Algebra/Unitization.lean b/Mathlib/Analysis/Normed/Algebra/Unitization.lean index 78407bab62d593..f88af78b74ddc7 100644 --- a/Mathlib/Analysis/Normed/Algebra/Unitization.lean +++ b/Mathlib/Analysis/Normed/Algebra/Unitization.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Algebra.Algebra.Unitization -import Mathlib.Analysis.Normed.Operator.Mul +public import Mathlib.Algebra.Algebra.Unitization +public import Mathlib.Analysis.Normed.Operator.Mul /-! # Unitization norms @@ -58,6 +59,8 @@ bornology. -/ +@[expose] public section + suppress_compilation variable (𝕜 A : Type*) [NontriviallyNormedField 𝕜] [NonUnitalNormedRing A] diff --git a/Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean b/Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean index 0e23b3477719ca..3e08c8fbcc96a1 100644 --- a/Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean +++ b/Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Unitization -import Mathlib.Analysis.Normed.Lp.ProdLp +module + +public import Mathlib.Algebra.Algebra.Unitization +public import Mathlib.Analysis.Normed.Lp.ProdLp /-! # Unitization equipped with the $L^1$ norm @@ -23,6 +25,8 @@ One application of this is a straightforward proof that the quasispectrum of an non-unital Banach algebra is compact, which can be established by passing to the unitization. -/ +@[expose] public section + variable (𝕜 A : Type*) [NormedField 𝕜] [NonUnitalNormedRing A] variable [NormedSpace 𝕜 A] diff --git a/Mathlib/Analysis/Normed/Field/Basic.lean b/Mathlib/Analysis/Normed/Field/Basic.lean index 994db3e4a79c93..7c3f8300f81e83 100644 --- a/Mathlib/Analysis/Normed/Field/Basic.lean +++ b/Mathlib/Analysis/Normed/Field/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Field.Subfield.Defs -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Analysis.Normed.Ring.Basic +module + +public import Mathlib.Algebra.Field.Subfield.Defs +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Analysis.Normed.Ring.Basic /-! # Normed division rings and fields @@ -21,6 +23,8 @@ given in: * AbsoluteValue.toNormedField -/ +@[expose] public section + -- Guard against import creep. assert_not_exists AddChar comap_norm_atTop DilationEquiv Finset.sup_mul_le_mul_sup_of_nonneg IsOfFinOrder Isometry.norm_map_of_map_one NNReal.isOpen_Ico_zero Rat.norm_cast_real diff --git a/Mathlib/Analysis/Normed/Field/Instances.lean b/Mathlib/Analysis/Normed/Field/Instances.lean index c21f60d220def9..c0ce3b3088287d 100644 --- a/Mathlib/Analysis/Normed/Field/Instances.lean +++ b/Mathlib/Analysis/Normed/Field/Instances.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll, Patrick Massot, Anatole Dedecker -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Ring.Lemmas -import Mathlib.Order.Filter.IsBounded -import Mathlib.Topology.Algebra.UniformField +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Ring.Lemmas +public import Mathlib.Order.Filter.IsBounded +public import Mathlib.Topology.Algebra.UniformField /-! # A normed field is a completable topological field -/ +@[expose] public section + open SeminormedAddGroup IsUniformAddGroup Filter variable {F : Type*} [NormedField F] diff --git a/Mathlib/Analysis/Normed/Field/Lemmas.lean b/Mathlib/Analysis/Normed/Field/Lemmas.lean index a97f34baf537ad..c8956ff4146de8 100644 --- a/Mathlib/Analysis/Normed/Field/Lemmas.lean +++ b/Mathlib/Analysis/Normed/Field/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Group.Rat -import Mathlib.Analysis.Normed.Ring.Lemmas -import Mathlib.Topology.MetricSpace.DilationEquiv +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Group.Rat +public import Mathlib.Analysis.Normed.Ring.Lemmas +public import Mathlib.Topology.MetricSpace.DilationEquiv /-! # Normed fields @@ -19,6 +21,8 @@ Some useful results that relate the topology of the normed field to the discrete -/ +@[expose] public section + -- Guard against import creep. assert_not_exists RestrictScalars diff --git a/Mathlib/Analysis/Normed/Field/ProperSpace.lean b/Mathlib/Analysis/Normed/Field/ProperSpace.lean index 7be8f34008d02e..1735c3cd03fc4b 100644 --- a/Mathlib/Analysis/Normed/Field/ProperSpace.lean +++ b/Mathlib/Analysis/Normed/Field/ProperSpace.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ +module -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Topology.MetricSpace.ProperSpace +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Topology.MetricSpace.ProperSpace /-! # Proper nontrivially normed fields @@ -24,6 +25,8 @@ This is a special case of `ProperSpace.of_locallyCompactSpace` from with a proof that requires fewer imports. -/ +@[expose] public section + assert_not_exists FiniteDimensional open Metric Filter diff --git a/Mathlib/Analysis/Normed/Field/Ultra.lean b/Mathlib/Analysis/Normed/Field/Ultra.lean index fb529438ac4eb6..9f0e0bdf10c600 100644 --- a/Mathlib/Analysis/Normed/Field/Ultra.lean +++ b/Mathlib/Analysis/Normed/Field/Ultra.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Ring.Ultra -import Mathlib.Data.Nat.Choose.Sum +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Ring.Ultra +public import Mathlib.Data.Nat.Choose.Sum /-! ## Conditions to have an ultrametric norm on a division ring @@ -30,6 +32,8 @@ to be able to be applied in noncommutative division rings. ultrametric, nonarchimedean -/ + +@[expose] public section open Metric NNReal namespace IsUltrametricDist diff --git a/Mathlib/Analysis/Normed/Field/UnitBall.lean b/Mathlib/Analysis/Normed/Field/UnitBall.lean index a765f7aed8f6ea..81b97f572e1567 100644 --- a/Mathlib/Analysis/Normed/Field/UnitBall.lean +++ b/Mathlib/Analysis/Normed/Field/UnitBall.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.Normed.Group.BallSphere +module + +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.Normed.Group.BallSphere /-! # Algebraic structures on unit balls and spheres @@ -15,6 +17,8 @@ In this file we define algebraic structures (`Semigroup`, `CommSemigroup`, `Mono from `NonUnitalSeminormedRing` to `NormedField`. -/ +@[expose] public section + open Set Metric diff --git a/Mathlib/Analysis/Normed/Field/WithAbs.lean b/Mathlib/Analysis/Normed/Field/WithAbs.lean index 100e90ef32fd8c..6010766e96dee2 100644 --- a/Mathlib/Analysis/Normed/Field/WithAbs.lean +++ b/Mathlib/Analysis/Normed/Field/WithAbs.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.Analysis.Normed.Module.Completion -import Mathlib.Analysis.Normed.Ring.WithAbs -import Mathlib.FieldTheory.Separable +module + +public import Mathlib.Analysis.Normed.Module.Completion +public import Mathlib.Analysis.Normed.Ring.WithAbs +public import Mathlib.FieldTheory.Separable /-! # WithAbs for fields @@ -16,6 +18,8 @@ on an absolute value. This is useful when dealing with several absolute values o In particular this allows us to define the completion of a field at a given absolute value. -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/AddCircle.lean b/Mathlib/Analysis/Normed/Group/AddCircle.lean index 601c90fcffd9b6..ec76e0758b3af7 100644 --- a/Mathlib/Analysis/Normed/Group/AddCircle.lean +++ b/Mathlib/Analysis/Normed/Group/AddCircle.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.Normed.Group.Quotient -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.Topology.Instances.AddCircle.Real +module + +public import Mathlib.Analysis.Normed.Group.Quotient +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.Topology.Instances.AddCircle.Real /-! # The additive circle as a normed group @@ -23,6 +25,8 @@ We define the normed group structure on `AddCircle p`, for `p : ℝ`. For exampl -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/AddTorsor.lean b/Mathlib/Analysis/Normed/Group/AddTorsor.lean index 41589470988daf..239f91e12c6503 100644 --- a/Mathlib/Analysis/Normed/Group/AddTorsor.lean +++ b/Mathlib/Analysis/Normed/Group/AddTorsor.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Submodule -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic -import Mathlib.Topology.Algebra.Group.AddTorsor -import Mathlib.Topology.MetricSpace.IsometricSMul +module + +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Submodule +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +public import Mathlib.Topology.Algebra.Group.AddTorsor +public import Mathlib.Topology.MetricSpace.IsometricSMul /-! # Torsors of additive normed group actions. @@ -17,6 +19,8 @@ metric space structure. The motivating case is Euclidean affine spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/BallSphere.lean b/Mathlib/Analysis/Normed/Group/BallSphere.lean index 5b06eeffb63720..479fd4f47ab675 100644 --- a/Mathlib/Analysis/Normed/Group/BallSphere.lean +++ b/Mathlib/Analysis/Normed/Group/BallSphere.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Analysis.Normed.Group.Uniform +module + +public import Mathlib.Analysis.Normed.Group.Uniform /-! # Negation on spheres and balls @@ -12,6 +14,8 @@ In this file we define `InvolutiveNeg` and `ContinuousNeg` instances for spheres closed balls in a semi normed group. -/ +@[expose] public section + open Metric Set Topology variable {E : Type*} [i : SeminormedAddCommGroup E] {r : ℝ} diff --git a/Mathlib/Analysis/Normed/Group/Basic.lean b/Mathlib/Analysis/Normed/Group/Basic.lean index 51726821b9439c..12216954fb8bc1 100644 --- a/Mathlib/Analysis/Normed/Group/Basic.lean +++ b/Mathlib/Analysis/Normed/Group/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Seminorm -import Mathlib.Data.NNReal.Basic -import Mathlib.Topology.Algebra.Support -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.Order.Real +module + +public import Mathlib.Analysis.Normed.Group.Seminorm +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Topology.Algebra.Support +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.Order.Real /-! # Normed (semi)groups @@ -39,6 +41,8 @@ to for performance concerns. normed group -/ +@[expose] public section + variable {𝓕 α ι κ E F G : Type*} @@ -1385,7 +1389,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: multiplicative norms are always nonnegative, and positive on non-one inputs. -/ @[positivity ‖_‖] -def evalMulNorm : PositivityExt where eval {u α} _ _ e := do +meta def evalMulNorm : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(@Norm.norm $E $_n $a) => let _seminormedGroup_E ← synthInstanceQ q(SeminormedGroup $E) @@ -1407,7 +1411,7 @@ def evalMulNorm : PositivityExt where eval {u α} _ _ e := do /-- Extension for the `positivity` tactic: additive norms are always nonnegative, and positive on non-zero inputs. -/ @[positivity ‖_‖] -def evalAddNorm : PositivityExt where eval {u α} _ _ e := do +meta def evalAddNorm : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(@Norm.norm $E $_n $a) => let _seminormedAddGroup_E ← synthInstanceQ q(SeminormedAddGroup $E) diff --git a/Mathlib/Analysis/Normed/Group/Bounded.lean b/Mathlib/Analysis/Normed/Group/Bounded.lean index 082628d5e73cef..257d477281ea33 100644 --- a/Mathlib/Analysis/Normed/Group/Bounded.lean +++ b/Mathlib/Analysis/Normed/Group/Bounded.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.Topology.MetricSpace.Bounded -import Mathlib.Order.Filter.Pointwise +module + +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Order.Filter.Pointwise /-! # Boundedness in normed groups @@ -17,6 +19,8 @@ This file rephrases metric boundedness in terms of norms. normed group -/ +@[expose] public section + open Filter Metric Bornology open scoped Pointwise Topology diff --git a/Mathlib/Analysis/Normed/Group/CocompactMap.lean b/Mathlib/Analysis/Normed/Group/CocompactMap.lean index b2eecc42561661..10d921d3d5db8f 100644 --- a/Mathlib/Analysis/Normed/Group/CocompactMap.lean +++ b/Mathlib/Analysis/Normed/Group/CocompactMap.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ +module -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Topology.ContinuousMap.CocompactMap -import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Topology.ContinuousMap.CocompactMap +public import Mathlib.Topology.MetricSpace.Bounded /-! # Cocompact maps in normed groups @@ -21,6 +22,8 @@ This file gives a characterization of cocompact maps in terms of norm estimates. -/ +@[expose] public section + open Filter Metric variable {𝕜 E F 𝓕 : Type*} diff --git a/Mathlib/Analysis/Normed/Group/Completeness.lean b/Mathlib/Analysis/Normed/Group/Completeness.lean index 53e1fb845af6ad..f49298aa014457 100644 --- a/Mathlib/Analysis/Normed/Group/Completeness.lean +++ b/Mathlib/Analysis/Normed/Group/Completeness.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Completeness of normed groups @@ -29,6 +30,8 @@ series. CompleteSpace, CauchySeq -/ +@[expose] public section + open scoped Topology open Filter Finset diff --git a/Mathlib/Analysis/Normed/Group/Completion.lean b/Mathlib/Analysis/Normed/Group/Completion.lean index 20db58aa839b30..35750448e479cb 100644 --- a/Mathlib/Analysis/Normed/Group/Completion.lean +++ b/Mathlib/Analysis/Normed/Group/Completion.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.MetricSpace.Completion +module + +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.MetricSpace.Completion /-! # Completion of a normed group @@ -17,6 +19,8 @@ In this file we prove that the completion of a (semi)normed group is a normed gr normed group, completion -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/Constructions.lean b/Mathlib/Analysis/Normed/Group/Constructions.lean index 66f7987c24123a..3ac973e7d9db28 100644 --- a/Mathlib/Analysis/Normed/Group/Constructions.lean +++ b/Mathlib/Analysis/Normed/Group/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Group.ULift -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Analysis.Normed.Group.Basic /-! # Product of normed groups and other constructions @@ -14,6 +16,8 @@ This file constructs the infinity norm on finite products of normed groups and p for type synonyms. -/ +@[expose] public section + open NNReal variable {ι E F : Type*} {G : ι → Type*} diff --git a/Mathlib/Analysis/Normed/Group/Continuity.lean b/Mathlib/Analysis/Normed/Group/Continuity.lean index 734cf555ca1c6c..cf10d0da9d4826 100644 --- a/Mathlib/Analysis/Normed/Group/Continuity.lean +++ b/Mathlib/Analysis/Normed/Group/Continuity.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.Metrizable.Uniformity -import Mathlib.Topology.Sequences +module + +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.Metrizable.Uniformity +public import Mathlib.Topology.Sequences /-! # Continuity of the norm on (semi)groups @@ -16,6 +18,8 @@ import Mathlib.Topology.Sequences normed group -/ +@[expose] public section + variable {𝓕 α ι κ E F G : Type*} open Filter Function Metric Bornology ENNReal NNReal Uniformity Pointwise Topology diff --git a/Mathlib/Analysis/Normed/Group/ControlledClosure.lean b/Mathlib/Analysis/Normed/Group/ControlledClosure.lean index 7f4ebed430ec92..549cc64a8c3145 100644 --- a/Mathlib/Analysis/Normed/Group/ControlledClosure.lean +++ b/Mathlib/Analysis/Normed/Group/ControlledClosure.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.Analysis.SpecificLimits.Normed +module + +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.Analysis.SpecificLimits.Normed /-! # Extending a backward bound on a normed group homomorphism from a dense set @@ -14,6 +16,8 @@ Possible TODO (from the PR's review, https://github.com/leanprover-community/mat lemmas in this file]." -/ +@[expose] public section + open Filter Finset diff --git a/Mathlib/Analysis/Normed/Group/FunctionSeries.lean b/Mathlib/Analysis/Normed/Group/FunctionSeries.lean index 2f82ad592b5476..6747698328b383 100644 --- a/Mathlib/Analysis/Normed/Group/FunctionSeries.lean +++ b/Mathlib/Analysis/Normed/Group/FunctionSeries.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Group.InfiniteSum -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Continuity of series of functions @@ -18,6 +20,8 @@ TODO: update this to use `SummableUniformlyOn`. -/ +@[expose] public section + open Set Metric TopologicalSpace Function Filter open scoped Topology NNReal diff --git a/Mathlib/Analysis/Normed/Group/Hom.lean b/Mathlib/Analysis/Normed/Group/Hom.lean index aba90b431de98e..df1bce37f79068 100644 --- a/Mathlib/Analysis/Normed/Group/Hom.lean +++ b/Mathlib/Analysis/Normed/Group/Hom.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Analysis.Normed.Group.Int -import Mathlib.Analysis.Normed.Group.Subgroup -import Mathlib.Analysis.Normed.Group.Uniform +module + +public import Mathlib.Analysis.Normed.Group.Int +public import Mathlib.Analysis.Normed.Group.Subgroup +public import Mathlib.Analysis.Normed.Group.Uniform /-! # Normed groups homomorphisms @@ -25,6 +27,8 @@ Since a lot of elementary properties don't require `‖x‖ = 0 → x = 0` we st theory of `SeminormedAddGroupHom` and we specialize to `NormedAddGroupHom` when needed. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/HomCompletion.lean b/Mathlib/Analysis/Normed/Group/HomCompletion.lean index 8c1e0ab1cdc774..bfcc5aeb567978 100644 --- a/Mathlib/Analysis/Normed/Group/HomCompletion.lean +++ b/Mathlib/Analysis/Normed/Group/HomCompletion.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.Analysis.Normed.Group.Completion +module + +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.Analysis.Normed.Group.Completion /-! # Completion of normed group homs @@ -46,6 +48,8 @@ The vertical maps in the above diagrams are also normed group homs constructed i `f : NormedAddGroupHom G H` to a `NormedAddGroupHom (completion G) H`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/Indicator.lean b/Mathlib/Analysis/Normed/Group/Indicator.lean index 8356e8d66b2736..589471f86710e8 100644 --- a/Mathlib/Analysis/Normed/Group/Indicator.lean +++ b/Mathlib/Analysis/Normed/Group/Indicator.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Algebra.Order.Pi -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Analysis.Normed.Group.Basic /-! # Indicator function and (e)norm @@ -16,6 +18,8 @@ This file contains a few simple lemmas about `Set.indicator`, `norm` and `enorm` indicator, norm -/ +@[expose] public section + open Set section ESeminormedAddMonoid diff --git a/Mathlib/Analysis/Normed/Group/InfiniteSum.lean b/Mathlib/Analysis/Normed/Group/InfiniteSum.lean index 4a6f426c5d46e6..acdc118ed1f9e9 100644 --- a/Mathlib/Analysis/Normed/Group/InfiniteSum.lean +++ b/Mathlib/Analysis/Normed/Group/InfiniteSum.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Heather Macbeth, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Topology.Instances.NNReal.Lemmas -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Topology.Instances.NNReal.Lemmas +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Infinite sums in (semi)normed groups @@ -31,6 +33,8 @@ In a complete (semi)normed group, infinite series, absolute convergence, normed group -/ +@[expose] public section + open Topology ENNReal NNReal open Finset Filter Metric diff --git a/Mathlib/Analysis/Normed/Group/Int.lean b/Mathlib/Analysis/Normed/Group/Int.lean index 3bf3b3861fe7a4..dc4cfbf35ca4bb 100644 --- a/Mathlib/Analysis/Normed/Group/Int.lean +++ b/Mathlib/Analysis/Normed/Group/Int.lean @@ -3,12 +3,15 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ +module -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Topology.Instances.Int +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Topology.Instances.Int /-! # ℤ as a normed group -/ +@[expose] public section + open NNReal variable {α : Type*} diff --git a/Mathlib/Analysis/Normed/Group/Lemmas.lean b/Mathlib/Analysis/Normed/Group/Lemmas.lean index d59da9ba860151..3dc670e0949217 100644 --- a/Mathlib/Analysis/Normed/Group/Lemmas.lean +++ b/Mathlib/Analysis/Normed/Group/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.Normed.Group.Uniform +module + +public import Mathlib.Analysis.Normed.Group.Uniform /-! # Further lemmas about normed groups @@ -17,6 +19,8 @@ This file contains further lemmas about normed groups, requiring heavier imports -/ +@[expose] public section + variable {E : Type*} [SeminormedAddCommGroup E] open NNReal Topology diff --git a/Mathlib/Analysis/Normed/Group/NullSubmodule.lean b/Mathlib/Analysis/Normed/Group/NullSubmodule.lean index 38e44125c29d3b..732b933098ff31 100644 --- a/Mathlib/Analysis/Normed/Group/NullSubmodule.lean +++ b/Mathlib/Analysis/Normed/Group/NullSubmodule.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.Analysis.Normed.MulAction +module + +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.Analysis.Normed.MulAction /-! # The null subgroup in a seminormed commutative group @@ -26,6 +28,8 @@ subspace as a submodule of `E`. -/ +@[expose] public section + variable {M : Type*} [SeminormedCommGroup M] variable (M) in diff --git a/Mathlib/Analysis/Normed/Group/Pointwise.lean b/Mathlib/Analysis/Normed/Group/Pointwise.lean index 6826233f621f6a..08ef01ed18e79e 100644 --- a/Mathlib/Analysis/Normed/Group/Pointwise.lean +++ b/Mathlib/Analysis/Normed/Group/Pointwise.lean @@ -3,10 +3,11 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yaël Dillies -/ +module -import Mathlib.Analysis.Normed.Group.Bounded -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Topology.MetricSpace.Thickening +public import Mathlib.Analysis.Normed.Group.Bounded +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Topology.MetricSpace.Thickening /-! # Properties of pointwise addition of sets in normed groups @@ -15,6 +16,8 @@ We explore the relationships between pointwise addition of sets in normed groups Notably, we show that the sum of bounded sets remain bounded. -/ +@[expose] public section + open Metric Set Pointwise Topology diff --git a/Mathlib/Analysis/Normed/Group/Quotient.lean b/Mathlib/Analysis/Normed/Group/Quotient.lean index b13f395d06dccd..7abf2a01c2713f 100644 --- a/Mathlib/Analysis/Normed/Group/Quotient.lean +++ b/Mathlib/Analysis/Normed/Group/Quotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Riccardo Brasca -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # Quotients of seminormed groups @@ -90,6 +92,8 @@ the previous paragraph kicks in. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/Rat.lean b/Mathlib/Analysis/Normed/Group/Rat.lean index 2af37ebf7d48c7..af3bd0dd4f7531 100644 --- a/Mathlib/Analysis/Normed/Group/Rat.lean +++ b/Mathlib/Analysis/Normed/Group/Rat.lean @@ -3,12 +3,15 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ +module -import Mathlib.Analysis.Normed.Group.Int -import Mathlib.Topology.Instances.Rat +public import Mathlib.Analysis.Normed.Group.Int +public import Mathlib.Topology.Instances.Rat /-! # ℚ as a normed group -/ +@[expose] public section + namespace Rat instance instNormedAddCommGroup : NormedAddCommGroup ℚ where diff --git a/Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean b/Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean index 52358980885db1..15c6cae3efbf55 100644 --- a/Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean +++ b/Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Riccardo Brasca -/ -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms -import Mathlib.CategoryTheory.Elementwise +module + +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +public import Mathlib.CategoryTheory.Elementwise /-! # The category of seminormed groups @@ -15,6 +17,8 @@ We define `SemiNormedGrp`, the category of seminormed groups and normed group ho them, as well as `SemiNormedGrp₁`, the subcategory of norm non-increasing morphisms. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean index 2225b8e1dcd482..1ee7202bea5b46 100644 --- a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean +++ b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Johan Commelin -/ -import Mathlib.Analysis.Normed.Group.SemiNormedGrp -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.Analysis.Normed.Group.HomCompletion +module + +public import Mathlib.Analysis.Normed.Group.SemiNormedGrp +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.Analysis.Normed.Group.HomCompletion /-! # Completions of normed groups @@ -30,6 +32,8 @@ objects and morphisms). -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean index 579b81dc9200eb..1f794390065154 100644 --- a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean +++ b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Johan Commelin, Kim Morrison -/ -import Mathlib.Analysis.Normed.Group.SemiNormedGrp -import Mathlib.Analysis.Normed.Group.Quotient -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +module + +public import Mathlib.Analysis.Normed.Group.SemiNormedGrp +public import Mathlib.Analysis.Normed.Group.Quotient +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # Kernels and cokernels in SemiNormedGrp₁ and SemiNormedGrp @@ -23,6 +25,8 @@ and in `SemiNormedGrp` one can always take a cokernel and rescale its norm -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/Analysis/Normed/Group/Seminorm.lean b/Mathlib/Analysis/Normed/Group/Seminorm.lean index df9489fe2684fb..31284d6dab0717 100644 --- a/Mathlib/Analysis/Normed/Group/Seminorm.lean +++ b/Mathlib/Analysis/Normed/Group/Seminorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 María Inés de Frutos-Fernández, Yaël Dillies. All rights Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Yaël Dillies -/ -import Mathlib.Data.NNReal.Defs -import Mathlib.Order.ConditionallyCompleteLattice.Group +module + +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Order.ConditionallyCompleteLattice.Group /-! # Group seminorms @@ -43,6 +45,8 @@ having a superfluous `add_le'` field in the resulting structure. The same applie norm, seminorm -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Analysis/Normed/Group/SeparationQuotient.lean b/Mathlib/Analysis/Normed/Group/SeparationQuotient.lean index 72d45634366a45..d2a8cf90f5119b 100644 --- a/Mathlib/Analysis/Normed/Group/SeparationQuotient.lean +++ b/Mathlib/Analysis/Normed/Group/SeparationQuotient.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Analysis.Normed.Group.Hom -import Mathlib.Topology.Algebra.SeparationQuotient.Hom +module + +public import Mathlib.Analysis.Normed.Group.Hom +public import Mathlib.Topology.Algebra.SeparationQuotient.Hom /-! # Lifts of maps to separation quotients of seminormed groups @@ -33,6 +35,8 @@ All the following definitions are in the `SeparationQuotient` namespace. Hence w * `norm_liftNormedAddGroupHom_le` : `‖liftNormedAddGroupHom f hf‖ ≤ ‖f‖`. -/ +@[expose] public section + section open SeparationQuotient NNReal diff --git a/Mathlib/Analysis/Normed/Group/Subgroup.lean b/Mathlib/Analysis/Normed/Group/Subgroup.lean index d8d365f6171b45..de640b93cfcaff 100644 --- a/Mathlib/Analysis/Normed/Group/Subgroup.lean +++ b/Mathlib/Analysis/Normed/Group/Subgroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Analysis.Normed.Group.Basic /-! # Subgroups of normed (semi)groups @@ -16,6 +18,8 @@ In this file, we prove that subgroups of a normed (semi)group are also normed (s normed group -/ +@[expose] public section + open Filter Function Metric Bornology open ENNReal Filter NNReal Uniformity Pointwise Topology diff --git a/Mathlib/Analysis/Normed/Group/Submodule.lean b/Mathlib/Analysis/Normed/Group/Submodule.lean index 701063e400a28d..e0f832a68cc37d 100644 --- a/Mathlib/Analysis/Normed/Group/Submodule.lean +++ b/Mathlib/Analysis/Normed/Group/Submodule.lean @@ -3,12 +3,15 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ +module -import Mathlib.Algebra.Module.Submodule.LinearMap -import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Algebra.Module.Submodule.LinearMap +public import Mathlib.Analysis.Normed.Group.Basic /-! # Submodules of normed groups -/ +@[expose] public section + variable {𝕜 E : Type*} namespace Submodule diff --git a/Mathlib/Analysis/Normed/Group/Tannery.lean b/Mathlib/Analysis/Normed/Group/Tannery.lean index e896cb9eccefe2..e6d191342e4a72 100644 --- a/Mathlib/Analysis/Normed/Group/Tannery.lean +++ b/Mathlib/Analysis/Normed/Group/Tannery.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Analysis.Normed.Group.InfiniteSum /-! # Tannery's theorem @@ -18,6 +19,8 @@ order to avoid some unnecessary hypotheses that appear when specialising the gen measure-theoretic result. -/ +@[expose] public section + open Filter Topology /-- **Tannery's theorem**: topological sums commute with termwise limits, when the norms of the diff --git a/Mathlib/Analysis/Normed/Group/Ultra.lean b/Mathlib/Analysis/Normed/Group/Ultra.lean index ac1943c0ee1668..0561629ffd58db 100644 --- a/Mathlib/Analysis/Normed/Group/Ultra.lean +++ b/Mathlib/Analysis/Normed/Group/Ultra.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, David Loeffler -/ -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Topology.Algebra.Nonarchimedean.Basic -import Mathlib.Topology.MetricSpace.Ultra.Basic -import Mathlib.Topology.Algebra.InfiniteSum.Group -import Mathlib.Topology.Order.LiminfLimsup +module + +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Topology.Algebra.Nonarchimedean.Basic +public import Mathlib.Topology.MetricSpace.Ultra.Basic +public import Mathlib.Topology.Algebra.InfiniteSum.Group +public import Mathlib.Topology.Order.LiminfLimsup /-! # Ultrametric norms @@ -31,6 +33,8 @@ in `NNReal` is 0, so easier to make statements about maxima of empty sets. ultrametric, nonarchimedean -/ + +@[expose] public section open Metric NNReal namespace IsUltrametricDist diff --git a/Mathlib/Analysis/Normed/Group/Uniform.lean b/Mathlib/Analysis/Normed/Group/Uniform.lean index 3bcb9bc511128f..178cddb54c1190 100644 --- a/Mathlib/Analysis/Normed/Group/Uniform.lean +++ b/Mathlib/Analysis/Normed/Group/Uniform.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.MetricSpace.Algebra -import Mathlib.Topology.MetricSpace.IsometricSMul +module + +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.MetricSpace.Algebra +public import Mathlib.Topology.MetricSpace.IsometricSMul /-! # Normed groups are uniform groups @@ -15,6 +17,8 @@ This file proves lipschitzness of normed group operations and shows that normed groups. -/ +@[expose] public section + variable {𝓕 E F : Type*} open Filter Function Metric Bornology diff --git a/Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean b/Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean index 038ec722593e9c..728309a8db2198 100644 --- a/Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean +++ b/Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ +module -import Mathlib.Topology.ContinuousMap.ZeroAtInfty +public import Mathlib.Topology.ContinuousMap.ZeroAtInfty /-! # ZeroAtInftyContinuousMapClass in normed additive groups @@ -15,6 +16,8 @@ for every `ε > 0` there exists a `r : ℝ` such that for all `x : E` with `r < `‖f x‖ < ε`. -/ +@[expose] public section + open Topology Filter variable {E F 𝓕 : Type*} diff --git a/Mathlib/Analysis/Normed/Lp/LpEquiv.lean b/Mathlib/Analysis/Normed/Lp/LpEquiv.lean index 364ef5e31550b9..6f3adefce47f8a 100644 --- a/Mathlib/Analysis/Normed/Lp/LpEquiv.lean +++ b/Mathlib/Analysis/Normed/Lp/LpEquiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Normed.Lp.PiLp -import Mathlib.Analysis.Normed.Lp.lpSpace -import Mathlib.Topology.ContinuousMap.Bounded.Normed +module + +public import Mathlib.Analysis.Normed.Lp.PiLp +public import Mathlib.Analysis.Normed.Lp.lpSpace +public import Mathlib.Topology.ContinuousMap.Bounded.Normed /-! # Equivalences among $L^p$ spaces @@ -35,6 +37,8 @@ the subtype of `PreLp` satisfying `Memℓp`. -/ +@[expose] public section + open scoped ENNReal diff --git a/Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean b/Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean index 61c1fc6207eb71..6f8d1cc46ba62a 100644 --- a/Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean +++ b/Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Analysis.Normed.Lp.PiLp -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.Analysis.Normed.Lp.PiLp +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Measurable space structure on `WithLp` @@ -13,6 +15,8 @@ If `X` is a measurable space, we set the measurable space structure on `WithLp p same as the one on `X`. -/ +@[expose] public section + open scoped ENNReal variable (p : ℝ≥0∞) (X : Type*) [MeasurableSpace X] diff --git a/Mathlib/Analysis/Normed/Lp/PiLp.lean b/Mathlib/Analysis/Normed/Lp/PiLp.lean index 75211878df9872..f0dcec84270600 100644 --- a/Mathlib/Analysis/Normed/Lp/PiLp.lean +++ b/Mathlib/Analysis/Normed/Lp/PiLp.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Jireh Loreaux -/ -import Mathlib.Analysis.MeanInequalities -import Mathlib.Data.Fintype.Order -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.Analysis.Normed.Lp.ProdLp +module + +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Data.Fintype.Order +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.Analysis.Normed.Lp.ProdLp /-! # `L^p` distance on finite products of metric spaces @@ -60,6 +62,8 @@ are equivalent on `ℝ^n` for abstract (norm equivalence) reasons. Instead, we g We also set up the theory for `PseudoEMetricSpace` and `PseudoMetricSpace`. -/ +@[expose] public section + open Module Real Set Filter RCLike Bornology Uniformity Topology NNReal ENNReal WithLp diff --git a/Mathlib/Analysis/Normed/Lp/ProdLp.lean b/Mathlib/Analysis/Normed/Lp/ProdLp.lean index 023ba60fd86322..70f5a880ec74c3 100644 --- a/Mathlib/Analysis/Normed/Lp/ProdLp.lean +++ b/Mathlib/Analysis/Normed/Lp/ProdLp.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Sébastien Gouëzel, Jireh Loreaux -/ -import Mathlib.Analysis.MeanInequalities -import Mathlib.Analysis.Normed.Lp.WithLp +module + +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Analysis.Normed.Lp.WithLp /-! # `L^p` distance on products of two metric spaces @@ -35,6 +37,8 @@ This file is a straight-forward adaptation of `Mathlib/Analysis/Normed/Lp/PiLp.l -/ +@[expose] public section + open Real Set Filter RCLike Bornology Uniformity Topology NNReal ENNReal noncomputable section diff --git a/Mathlib/Analysis/Normed/Lp/WithLp.lean b/Mathlib/Analysis/Normed/Lp/WithLp.lean index 282d2c0c17d273..689696300f9f65 100644 --- a/Mathlib/Analysis/Normed/Lp/WithLp.lean +++ b/Mathlib/Analysis/Normed/Lp/WithLp.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.ENNReal.Basic -import Mathlib.RingTheory.Finiteness.Defs +module + +public import Mathlib.Data.ENNReal.Basic +public import Mathlib.RingTheory.Finiteness.Defs /-! # The `WithLp` type synonym @@ -36,6 +38,8 @@ TODO: is it safe to copy across the topology and uniform space structure too for choices of `V`? -/ +@[expose] public section + open scoped ENNReal diff --git a/Mathlib/Analysis/Normed/Lp/lpSpace.lean b/Mathlib/Analysis/Normed/Lp/lpSpace.lean index f79c483d1d35fb..36810867706097 100644 --- a/Mathlib/Analysis/Normed/Lp/lpSpace.lean +++ b/Mathlib/Analysis/Normed/Lp/lpSpace.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.MeanInequalities -import Mathlib.Analysis.MeanInequalitiesPow -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Data.Set.Image -import Mathlib.Topology.Algebra.ContinuousMonoidHom +module + +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Analysis.MeanInequalitiesPow +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Data.Set.Image +public import Mathlib.Topology.Algebra.ContinuousMonoidHom /-! # ℓp space @@ -54,6 +56,8 @@ say that `‖-f‖ = ‖f‖`, instead of the non-working `f.norm_neg`. -/ +@[expose] public section + noncomputable section open scoped NNReal ENNReal Function diff --git a/Mathlib/Analysis/Normed/Module/Ball/Action.lean b/Mathlib/Analysis/Normed/Module/Ball/Action.lean index 924549b48dda1b..a66708730bf9ab 100644 --- a/Mathlib/Analysis/Normed/Module/Ball/Action.lean +++ b/Mathlib/Analysis/Normed/Module/Ball/Action.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Analysis.Normed.Field.UnitBall -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Analysis.Normed.Field.UnitBall +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Multiplicative actions of/on balls and spheres @@ -17,6 +19,8 @@ multiplicative actions. - The unit sphere in `𝕜` acts on open balls, closed balls, and spheres centered at `0` in `E`. -/ +@[expose] public section + open Metric Set diff --git a/Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean b/Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean index 51d44d889f1042..b2b5aa32e9cdc7 100644 --- a/Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean +++ b/Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Oliver Nash -/ -import Mathlib.Topology.OpenPartialHomeomorph -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Topology.OpenPartialHomeomorph +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.Data.Real.Sqrt /-! # (Local) homeomorphism between a normed space and a ball @@ -30,6 +32,8 @@ to a ball of positive radius in an affine space over `E`, see `OpenPartialHomeom homeomorphism, ball -/ +@[expose] public section + open Set Metric Pointwise variable {E : Type*} [SeminormedAddCommGroup E] [NormedSpace ℝ E] diff --git a/Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean b/Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean index 4b45c037fe99dc..1c75c1b2156c6c 100644 --- a/Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean +++ b/Mathlib/Analysis/Normed/Module/Ball/Pointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Pointwise -import Mathlib.Analysis.Normed.Module.RCLike.Real +module + +public import Mathlib.Analysis.Normed.Group.Pointwise +public import Mathlib.Analysis.Normed.Module.RCLike.Real /-! # Properties of pointwise scalar multiplication of sets in normed spaces. @@ -14,6 +16,8 @@ Notably, we express arbitrary balls as rescaling of other balls, and we show tha multiplication of bounded sets remain bounded. -/ +@[expose] public section + open Metric Set diff --git a/Mathlib/Analysis/Normed/Module/Ball/RadialEquiv.lean b/Mathlib/Analysis/Normed/Module/Ball/RadialEquiv.lean index 834da0d7e4799d..310e0a47cfe736 100644 --- a/Mathlib/Analysis/Normed/Module/Ball/RadialEquiv.lean +++ b/Mathlib/Analysis/Normed/Module/Ball/RadialEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Homeomorphism between a normed space and sphere times `(0, +∞)` @@ -14,6 +16,8 @@ and `Metric.sphere (0 : E) 1 × Set.Ioi (0 : ℝ)`. One may think about it as generalization of polar coordinates to any normed space. -/ +@[expose] public section + variable (E : Type*) [NormedAddCommGroup E] [NormedSpace ℝ E] open Set Metric diff --git a/Mathlib/Analysis/Normed/Module/Basic.lean b/Mathlib/Analysis/Normed/Module/Basic.lean index 564e15a78ad94a..ae964c82e6c20e 100644 --- a/Mathlib/Analysis/Normed/Module/Basic.lean +++ b/Mathlib/Analysis/Normed/Module/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Algebra.Module.Rat -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.Normed.MulAction +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.Normed.MulAction /-! # Normed spaces @@ -18,6 +20,8 @@ In this file we define (semi)normed spaces and algebras. We also prove some theo about these definitions. -/ +@[expose] public section + variable {𝕜 𝕜' E F α : Type*} diff --git a/Mathlib/Analysis/Normed/Module/Complemented.lean b/Mathlib/Analysis/Normed/Module/Complemented.lean index 8d5e7f2cb0077c..5afd999e299f6d 100644 --- a/Mathlib/Analysis/Normed/Module/Complemented.lean +++ b/Mathlib/Analysis/Normed/Module/Complemented.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Operator.Banach -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Analysis.Normed.Operator.Banach +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # Complemented subspaces of normed vector spaces @@ -20,6 +22,8 @@ is always a complemented subspace. complemented subspace, normed vector space -/ +@[expose] public section + variable {𝕜 E F G : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAddCommGroup F] [NormedSpace 𝕜 F] [NormedAddCommGroup G] [NormedSpace 𝕜 G] diff --git a/Mathlib/Analysis/Normed/Module/Completion.lean b/Mathlib/Analysis/Normed/Module/Completion.lean index f0e374c0452e5b..2cd3de425642b8 100644 --- a/Mathlib/Analysis/Normed/Module/Completion.lean +++ b/Mathlib/Analysis/Normed/Module/Completion.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Group.Completion -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Topology.Algebra.UniformRing -import Mathlib.Topology.Algebra.UniformField +module + +public import Mathlib.Analysis.Normed.Group.Completion +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Topology.Algebra.UniformRing +public import Mathlib.Topology.Algebra.UniformField /-! # Normed space structure on the completion of a normed space @@ -20,6 +22,8 @@ We also show that if `A` is a normed algebra over `𝕜`, then so is `UniformSpa TODO: Generalise the results here from the concrete `completion` to any `AbstractCompletion`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Module/Convex.lean b/Mathlib/Analysis/Normed/Module/Convex.lean index 7cf9d5d1611528..059a5dd63037dd 100644 --- a/Mathlib/Analysis/Normed/Module/Convex.lean +++ b/Mathlib/Analysis/Normed/Module/Convex.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Jensen -import Mathlib.Analysis.Convex.PathConnected -import Mathlib.Analysis.Convex.Topology -import Mathlib.Analysis.Normed.Group.Pointwise -import Mathlib.Analysis.Normed.Module.Basic +module + +public import Mathlib.Analysis.Convex.Jensen +public import Mathlib.Analysis.Convex.PathConnected +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Analysis.Normed.Group.Pointwise +public import Mathlib.Analysis.Normed.Module.Basic /-! # Metric properties of convex sets in normed spaces @@ -24,6 +26,8 @@ We prove the following facts: is bounded. -/ +@[expose] public section + -- TODO assert_not_exists Cardinal variable {E : Type*} diff --git a/Mathlib/Analysis/Normed/Module/Dual.lean b/Mathlib/Analysis/Normed/Module/Dual.lean index 155bb9da459baa..c852f523a2381b 100644 --- a/Mathlib/Analysis/Normed/Module/Dual.lean +++ b/Mathlib/Analysis/Normed/Module/Dual.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.LocallyConvex.Polar -import Mathlib.Analysis.NormedSpace.HahnBanach.Extension -import Mathlib.Analysis.Normed.Module.RCLike.Basic -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.Analysis.LocallyConvex.AbsConvex -import Mathlib.Analysis.Normed.Module.Convex +module + +public import Mathlib.Analysis.LocallyConvex.Polar +public import Mathlib.Analysis.NormedSpace.HahnBanach.Extension +public import Mathlib.Analysis.Normed.Module.RCLike.Basic +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.Analysis.LocallyConvex.AbsConvex +public import Mathlib.Analysis.Normed.Module.Convex /-! # The strong dual of a normed space @@ -40,6 +42,8 @@ theory for `SeminormedAddCommGroup` and we specialize to `NormedAddCommGroup` wh strong dual, polar -/ +@[expose] public section + noncomputable section open Topology Bornology diff --git a/Mathlib/Analysis/Normed/Module/FiniteDimension.lean b/Mathlib/Analysis/Normed/Module/FiniteDimension.lean index 7e22f92c6f7d3d..ac049ab179a333 100644 --- a/Mathlib/Analysis/Normed/Module/FiniteDimension.lean +++ b/Mathlib/Analysis/Normed/Module/FiniteDimension.lean @@ -3,19 +3,21 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.Normed.Group.Lemmas -import Mathlib.Analysis.Normed.Affine.Isometry -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Analysis.NormedSpace.RieszLemma -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Logic.Encodable.Pi -import Mathlib.Topology.Algebra.AffineSubspace -import Mathlib.Topology.Algebra.Module.FiniteDimension -import Mathlib.Topology.Algebra.InfiniteSum.Module -import Mathlib.Topology.Instances.Matrix -import Mathlib.LinearAlgebra.Dimension.LinearMap +module + +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.Normed.Group.Lemmas +public import Mathlib.Analysis.Normed.Affine.Isometry +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Analysis.NormedSpace.RieszLemma +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Logic.Encodable.Pi +public import Mathlib.Topology.Algebra.AffineSubspace +public import Mathlib.Topology.Algebra.Module.FiniteDimension +public import Mathlib.Topology.Algebra.InfiniteSum.Module +public import Mathlib.Topology.Instances.Matrix +public import Mathlib.LinearAlgebra.Dimension.LinearMap /-! @@ -48,6 +50,8 @@ then the identities from `E` to `E'` and from `E'`to `E` are continuous thanks t `LinearMap.continuous_of_finiteDimensional`. This gives the desired norm equivalence. -/ +@[expose] public section + universe u v w x noncomputable section diff --git a/Mathlib/Analysis/Normed/Module/RCLike/Basic.lean b/Mathlib/Analysis/Normed/Module/RCLike/Basic.lean index 50f289662d37f0..977e4eddd962d5 100644 --- a/Mathlib/Analysis/Normed/Module/RCLike/Basic.lean +++ b/Mathlib/Analysis/Normed/Module/RCLike/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Analysis.Normed.Operator.Basic +module + +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Analysis.Normed.Operator.Basic /-! # Normed spaces over R or C @@ -26,6 +28,8 @@ None. This file exists mainly to avoid importing `RCLike` in the main normed space theory files. -/ +@[expose] public section + open Metric diff --git a/Mathlib/Analysis/Normed/Module/RCLike/Extend.lean b/Mathlib/Analysis/Normed/Module/RCLike/Extend.lean index b08ab8fa08e3cd..dbad073106a7b7 100644 --- a/Mathlib/Analysis/Normed/Module/RCLike/Extend.lean +++ b/Mathlib/Analysis/Normed/Module/RCLike/Extend.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde -/ -import Mathlib.Analysis.RCLike.Extend -import Mathlib.Analysis.Normed.Operator.Basic +module + +public import Mathlib.Analysis.RCLike.Extend +public import Mathlib.Analysis.Normed.Operator.Basic /-! # Norm properties of the extension of continuous `ℝ`-linear functionals to `𝕜`-linear functionals @@ -12,6 +14,8 @@ import Mathlib.Analysis.Normed.Operator.Basic This file shows that `ContinuousLinearMap.extendTo𝕜` preserves the norm of the functional. -/ +@[expose] public section + open RCLike open scoped ComplexConjugate diff --git a/Mathlib/Analysis/Normed/Module/RCLike/Real.lean b/Mathlib/Analysis/Normed/Module/RCLike/Real.lean index 0f9b801451a87e..690770c8af9e22 100644 --- a/Mathlib/Analysis/Normed/Module/RCLike/Real.lean +++ b/Mathlib/Analysis/Normed/Module/RCLike/Real.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Eric Wieser, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Basic facts about real (semi)normed spaces @@ -21,6 +23,8 @@ In this file we prove some theorems about (semi)normed spaces over real numberes similar lemmas assuming that the ambient space is separated and nontrivial instead of `r ≠ 0`. -/ +@[expose] public section + open Metric Set Function Filter open scoped NNReal Topology diff --git a/Mathlib/Analysis/Normed/Module/Ray.lean b/Mathlib/Analysis/Normed/Module/Ray.lean index f6f5090339757c..eaefdeb73cdf51 100644 --- a/Mathlib/Analysis/Normed/Module/Ray.lean +++ b/Mathlib/Analysis/Normed/Module/Ray.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.LinearAlgebra.Ray -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Algebra.Ring.Regular +module + +public import Mathlib.LinearAlgebra.Ray +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Algebra.Ring.Regular /-! # Rays in a real normed vector space @@ -15,6 +17,8 @@ this case, for two vectors `x y` in the same ray, the norm of their sum is equal norms and `‖y‖ • x = ‖x‖ • y`. -/ +@[expose] public section + open Real diff --git a/Mathlib/Analysis/Normed/Module/Span.lean b/Mathlib/Analysis/Normed/Module/Span.lean index 770006500bec90..1d8b073c53a63d 100644 --- a/Mathlib/Analysis/Normed/Module/Span.lean +++ b/Mathlib/Analysis/Normed/Module/Span.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ +module -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # The span of a single vector @@ -24,6 +25,8 @@ isometry. -/ +@[expose] public section + variable {𝕜 E : Type*} namespace LinearMap diff --git a/Mathlib/Analysis/Normed/Module/WeakDual.lean b/Mathlib/Analysis/Normed/Module/WeakDual.lean index 78223d7b75899c..035dbd065d67dd 100644 --- a/Mathlib/Analysis/Normed/Module/WeakDual.lean +++ b/Mathlib/Analysis/Normed/Module/WeakDual.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.Dual -import Mathlib.Analysis.Normed.Operator.Completeness -import Mathlib.Topology.Algebra.Module.WeakDual +module + +public import Mathlib.Analysis.Normed.Module.Dual +public import Mathlib.Analysis.Normed.Operator.Completeness +public import Mathlib.Topology.Algebra.Module.WeakDual /-! # Weak dual of normed space @@ -80,6 +82,8 @@ weak-star, weak dual -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/MulAction.lean b/Mathlib/Analysis/Normed/MulAction.lean index ce8280e80c100e..5f37303de62200 100644 --- a/Mathlib/Analysis/Normed/MulAction.lean +++ b/Mathlib/Analysis/Normed/MulAction.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Data.ENNReal.Action -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Topology.MetricSpace.Algebra +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Data.ENNReal.Action +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Topology.MetricSpace.Algebra /-! # Lemmas for `IsBoundedSMul` over normed additive groups @@ -18,6 +20,8 @@ multiplication. This allows downstream files to write general results about `IsB then deduce `const_mul` and `mul_const` results as an immediate corollary. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Analysis/Normed/Operator/Asymptotics.lean b/Mathlib/Analysis/Normed/Operator/Asymptotics.lean index 88b8d1059ac76e..144027669645de 100644 --- a/Mathlib/Analysis/Normed/Operator/Asymptotics.lean +++ b/Mathlib/Analysis/Normed/Operator/Asymptotics.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Operator.Basic -import Mathlib.Analysis.Asymptotics.Defs +module + +public import Mathlib.Analysis.Normed.Operator.Basic +public import Mathlib.Analysis.Asymptotics.Defs /-! # Asymptotic statements about the operator norm @@ -12,6 +14,8 @@ This file contains lemmas about how operator norm on continuous linear maps inte -/ +@[expose] public section + open Asymptotics diff --git a/Mathlib/Analysis/Normed/Operator/Banach.lean b/Mathlib/Analysis/Normed/Operator/Banach.lean index 793895eaff8282..c04bd721289d89 100644 --- a/Mathlib/Analysis/Normed/Operator/Banach.lean +++ b/Mathlib/Analysis/Normed/Operator/Banach.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Baire.Lemmas -import Mathlib.Topology.Baire.CompleteMetrizable -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Analysis.Normed.Group.InfiniteSum -import Mathlib.Analysis.Normed.Group.AddTorsor +module + +public import Mathlib.Topology.Baire.Lemmas +public import Mathlib.Topology.Baire.CompleteMetrizable +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Analysis.Normed.Group.AddTorsor /-! # Banach open mapping theorem @@ -16,6 +18,8 @@ This file contains the Banach open mapping theorem, i.e., the fact that a biject bounded linear map between Banach spaces has a bounded inverse. -/ +@[expose] public section + open Function Metric Set Filter Finset Topology NNReal open LinearMap (range ker) diff --git a/Mathlib/Analysis/Normed/Operator/BanachSteinhaus.lean b/Mathlib/Analysis/Normed/Operator/BanachSteinhaus.lean index 6d1a4259862011..92cf0ca1752954 100644 --- a/Mathlib/Analysis/Normed/Operator/BanachSteinhaus.lean +++ b/Mathlib/Analysis/Normed/Operator/BanachSteinhaus.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Analysis.LocallyConvex.Barrelled -import Mathlib.Topology.Baire.CompleteMetrizable +module + +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Analysis.LocallyConvex.Barrelled +public import Mathlib.Topology.Baire.CompleteMetrizable /-! # The Banach-Steinhaus theorem: Uniform Boundedness Principle @@ -18,6 +20,8 @@ Note that we prove the more general version about barrelled spaces in more general setup. -/ +@[expose] public section + open Set variable {E F 𝕜 𝕜₂ : Type*} [SeminormedAddCommGroup E] [SeminormedAddCommGroup F] diff --git a/Mathlib/Analysis/Normed/Operator/Basic.lean b/Mathlib/Analysis/Normed/Operator/Basic.lean index 88079aed1c1c25..f4605c3555c303 100644 --- a/Mathlib/Analysis/Normed/Operator/Basic.lean +++ b/Mathlib/Analysis/Normed/Operator/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Topology.Algebra.Module.StrongTopology -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Topology.Algebra.Module.StrongTopology +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +public import Mathlib.Tactic.SuppressCompilation /-! # Operator norm on the space of continuous linear maps @@ -26,6 +28,8 @@ is isometric, as expressed by the typeclass `[RingHomIsometric σ]`. -/ +@[expose] public section + suppress_compilation open Bornology diff --git a/Mathlib/Analysis/Normed/Operator/Bilinear.lean b/Mathlib/Analysis/Normed/Operator/Bilinear.lean index 51b4e6ffc7f581..8ba22de340cb3e 100644 --- a/Mathlib/Analysis/Normed/Operator/Bilinear.lean +++ b/Mathlib/Analysis/Normed/Operator/Bilinear.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Operator.Basic -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +module + +public import Mathlib.Analysis.Normed.Operator.Basic +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap /-! # Operator norm: bilinear maps @@ -15,6 +17,8 @@ interpreted as linear maps `E → F → G` as usual (and similarly for semilinea -/ +@[expose] public section + suppress_compilation open Bornology diff --git a/Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean b/Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean index df19dd58aad35a..e807fcb49a6ad4 100644 --- a/Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean +++ b/Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Analysis.NormedSpace.Multilinear.Basic -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Analysis.Normed.Operator.Mul +module + +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Analysis.Normed.Operator.Mul /-! # Bounded linear maps @@ -49,6 +51,8 @@ in `Topology.Algebra.Module.Basic`, theory over normed spaces developed in artifact, really. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Operator/Compact.lean b/Mathlib/Analysis/Normed/Operator/Compact.lean index d5298fe48dc2f1..34c292f4e4cd26 100644 --- a/Mathlib/Analysis/Normed/Operator/Compact.lean +++ b/Mathlib/Analysis/Normed/Operator/Compact.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Topology.Algebra.Module.StrongTopology +module + +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Topology.Algebra.Module.StrongTopology /-! # Compact operators @@ -47,6 +49,8 @@ coercing from continuous linear maps to linear maps often needs type ascriptions Compact operator -/ +@[expose] public section + open Function Set Filter Bornology Metric Pointwise Topology diff --git a/Mathlib/Analysis/Normed/Operator/Completeness.lean b/Mathlib/Analysis/Normed/Operator/Completeness.lean index 0ac29447f4c8bf..97860081422e71 100644 --- a/Mathlib/Analysis/Normed/Operator/Completeness.lean +++ b/Mathlib/Analysis/Normed/Operator/Completeness.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Operator.Bilinear -import Mathlib.Analysis.Normed.Operator.NNNorm +module + +public import Mathlib.Analysis.Normed.Operator.Bilinear +public import Mathlib.Analysis.Normed.Operator.NNNorm /-! # Operators on complete normed spaces @@ -13,6 +15,8 @@ This file contains statements about norms of operators on complete normed spaces version of the Banach-Alaoglu theorem (`ContinuousLinearMap.isCompact_image_coe_closedBall`). -/ +@[expose] public section + suppress_compilation open Bornology Metric Set Real diff --git a/Mathlib/Analysis/Normed/Operator/Conformal.lean b/Mathlib/Analysis/Normed/Operator/Conformal.lean index 560a7e590ac683..26d6161af28a33 100644 --- a/Mathlib/Analysis/Normed/Operator/Conformal.lean +++ b/Mathlib/Analysis/Normed/Operator/Conformal.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Operator.LinearIsometry -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Operator.LinearIsometry +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Conformal Linear Maps @@ -37,6 +39,8 @@ conformal The definition of conformality in this file does NOT require the maps to be orientation-preserving. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean b/Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean index 99ad832b9c82fe..0ca4f2dcebcd04 100644 --- a/Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean +++ b/Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Analysis.Normed.MulAction -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.Topology.Algebra.Module.Equiv +module + +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Analysis.Normed.MulAction +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.Topology.Algebra.Module.Equiv /-! # Constructions of continuous linear maps between (semi-)normed spaces @@ -28,6 +30,8 @@ This file is meant to be lightweight (it is imported by much of the analysis lib before adding imports! -/ +@[expose] public section + open Metric ContinuousLinearMap open Set Real diff --git a/Mathlib/Analysis/Normed/Operator/LinearIsometry.lean b/Mathlib/Analysis/Normed/Operator/LinearIsometry.lean index d545f2fdb553d5..fe4dc038de4d25 100644 --- a/Mathlib/Analysis/Normed/Operator/LinearIsometry.lean +++ b/Mathlib/Analysis/Normed/Operator/LinearIsometry.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Submodule -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.Topology.Algebra.Module.Equiv +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Submodule +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.Topology.Algebra.Module.Equiv /-! # (Semi-)linear isometries @@ -26,6 +28,8 @@ Since a lot of elementary properties don't require `‖x‖ = 0 → x = 0` we st theory for `SeminormedAddCommGroup` and we specialize to `NormedAddCommGroup` when needed. -/ +@[expose] public section + open Function Set Topology variable {R R₂ R₃ R₄ E E₂ E₃ E₄ F 𝓕 : Type*} [Semiring R] [Semiring R₂] [Semiring R₃] [Semiring R₄] diff --git a/Mathlib/Analysis/Normed/Operator/Mul.lean b/Mathlib/Analysis/Normed/Operator/Mul.lean index 768ddf4bb52c25..a5558bc2136ae4 100644 --- a/Mathlib/Analysis/Normed/Operator/Mul.lean +++ b/Mathlib/Analysis/Normed/Operator/Mul.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Analysis.Normed.Operator.NormedSpace +module + +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Analysis.Normed.Operator.NormedSpace /-! # Results about operator norms in normed algebras @@ -13,6 +15,8 @@ This file (split off from `OperatorNorm.lean`) contains results about the operat of multiplication and scalar-multiplication operations in normed algebras and normed modules. -/ +@[expose] public section + suppress_compilation open Metric diff --git a/Mathlib/Analysis/Normed/Operator/NNNorm.lean b/Mathlib/Analysis/Normed/Operator/NNNorm.lean index ea03637f4d253c..b9fe30a7668b15 100644 --- a/Mathlib/Analysis/Normed/Operator/NNNorm.lean +++ b/Mathlib/Analysis/Normed/Operator/NNNorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Operator.Basic -import Mathlib.Analysis.Normed.Module.RCLike.Real +module + +public import Mathlib.Analysis.Normed.Operator.Basic +public import Mathlib.Analysis.Normed.Module.RCLike.Real /-! # Operator norm as an `NNNorm` @@ -13,6 +15,8 @@ Operator norm as an `NNNorm`, i.e. taking values in non-negative reals. -/ +@[expose] public section + suppress_compilation open Bornology diff --git a/Mathlib/Analysis/Normed/Operator/NormedSpace.lean b/Mathlib/Analysis/Normed/Operator/NormedSpace.lean index 0d8934950cc082..a2a2b09f4aad48 100644 --- a/Mathlib/Analysis/Normed/Operator/NormedSpace.lean +++ b/Mathlib/Analysis/Normed/Operator/NormedSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Module.Span -import Mathlib.Analysis.Normed.Operator.Bilinear -import Mathlib.Analysis.Normed.Operator.NNNorm +module + +public import Mathlib.Analysis.Normed.Module.Span +public import Mathlib.Analysis.Normed.Operator.Bilinear +public import Mathlib.Analysis.Normed.Operator.NNNorm /-! # Operator norm for maps on normed spaces @@ -14,6 +16,8 @@ This file contains statements about operator norm for which it really matters th underlying space has a norm (rather than just a seminorm). -/ +@[expose] public section + suppress_compilation open Topology diff --git a/Mathlib/Analysis/Normed/Operator/Prod.lean b/Mathlib/Analysis/Normed/Operator/Prod.lean index bc522e837421f3..9546ca3fbdacea 100644 --- a/Mathlib/Analysis/Normed/Operator/Prod.lean +++ b/Mathlib/Analysis/Normed/Operator/Prod.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo -/ -import Mathlib.Analysis.Normed.Operator.Bilinear +module + +public import Mathlib.Analysis.Normed.Operator.Bilinear /-! # Operator norm: Cartesian products @@ -11,6 +13,8 @@ import Mathlib.Analysis.Normed.Operator.Bilinear Interaction of operator norm with Cartesian products. -/ +@[expose] public section + variable {𝕜 E F G : Type*} [NontriviallyNormedField 𝕜] open Set Real Metric ContinuousLinearMap diff --git a/Mathlib/Analysis/Normed/Order/Basic.lean b/Mathlib/Analysis/Normed/Order/Basic.lean index e6c0b502ff269e..a820add8cc38e2 100644 --- a/Mathlib/Analysis/Normed/Order/Basic.lean +++ b/Mathlib/Analysis/Normed/Order/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Yaël Dillies -/ -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Analysis.Normed.Group.Basic /-! # Ordered normed spaces @@ -12,6 +14,8 @@ In this file, we define classes for fields and groups that are both normed and o These are mostly useful to avoid diamonds during type class inference. -/ +@[expose] public section + open Filter Set diff --git a/Mathlib/Analysis/Normed/Order/Hom/Basic.lean b/Mathlib/Analysis/Normed/Order/Hom/Basic.lean index 85991f83f7d3bf..1d6dd1ae5e6255 100644 --- a/Mathlib/Analysis/Normed/Order/Hom/Basic.lean +++ b/Mathlib/Analysis/Normed/Order/Hom/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Order.Hom.Basic -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Algebra.Order.Hom.Basic +public import Mathlib.Analysis.Normed.Group.Basic /-! # Constructing (semi)normed groups from (semi)normed homs @@ -16,6 +18,8 @@ See `Mathlib/Analysis/Normed/Order/Hom/Ultra.lean` for further upgrades to nonar groups. -/ +@[expose] public section + variable {F α : Type*} [FunLike F α ℝ] /-- Constructs a `SeminormedGroup` structure from a `GroupSeminormClass` on a `Group`. -/ diff --git a/Mathlib/Analysis/Normed/Order/Hom/Ultra.lean b/Mathlib/Analysis/Normed/Order/Hom/Ultra.lean index 37f55025acaf73..3581fdd5df2a1e 100644 --- a/Mathlib/Analysis/Normed/Order/Hom/Ultra.lean +++ b/Mathlib/Analysis/Normed/Order/Hom/Ultra.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Analysis.Normed.Order.Hom.Basic -import Mathlib.Topology.MetricSpace.Ultra.Basic +module + +public import Mathlib.Analysis.Normed.Order.Hom.Basic +public import Mathlib.Topology.MetricSpace.Ultra.Basic /-! # Constructing nonarchimedean (ultrametric) normed groups from nonarchimedean normed homs @@ -20,6 +22,8 @@ hom-based `AddGroupSeminormClass.toSeminormedAddGroup f` construction. To help a the argument is an autoparam that resolves by definitional equality when using these constructions. -/ +@[expose] public section + variable {F α : Type*} [FunLike F α ℝ] /-- Proves that when a `SeminormedAddGroup` structure is constructed from an diff --git a/Mathlib/Analysis/Normed/Order/Lattice.lean b/Mathlib/Analysis/Normed/Order/Lattice.lean index 3b20290fe17578..8acaa0609e264e 100644 --- a/Mathlib/Analysis/Normed/Order/Lattice.lean +++ b/Mathlib/Analysis/Normed/Order/Lattice.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Rat -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Topology.Order.Lattice +module + +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Rat +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Topology.Order.Lattice /-! # Normed lattice ordered groups @@ -28,6 +30,8 @@ topology. normed, lattice, ordered, group -/ +@[expose] public section + /-! ### Normed lattice ordered groups diff --git a/Mathlib/Analysis/Normed/Order/UpperLower.lean b/Mathlib/Analysis/Normed/Order/UpperLower.lean index 89bf012ca607b2..77f48db0693b7a 100644 --- a/Mathlib/Analysis/Normed/Order/UpperLower.lean +++ b/Mathlib/Analysis/Normed/Order/UpperLower.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Field.Pi -import Mathlib.Algebra.Order.Pi -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Group.Pointwise -import Mathlib.Topology.Algebra.Order.UpperLower -import Mathlib.Topology.MetricSpace.Sequences +module + +public import Mathlib.Algebra.Order.Field.Pi +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Group.Pointwise +public import Mathlib.Topology.Algebra.Order.UpperLower +public import Mathlib.Topology.MetricSpace.Sequences /-! # Upper/lower/order-connected sets in normed groups @@ -28,6 +30,8 @@ from the other possible lemmas, but we will want there to be a single set of lem situations. -/ +@[expose] public section + open Bornology Function Metric Set open scoped Pointwise diff --git a/Mathlib/Analysis/Normed/Ring/Basic.lean b/Mathlib/Analysis/Normed/Ring/Basic.lean index 1b77b9f20575cf..8f40e8d81462c9 100644 --- a/Mathlib/Analysis/Normed/Ring/Basic.lean +++ b/Mathlib/Analysis/Normed/Ring/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Analysis.Normed.Group.Constructions -import Mathlib.Analysis.Normed.Group.Subgroup -import Mathlib.Analysis.Normed.Group.Submodule +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Analysis.Normed.Group.Constructions +public import Mathlib.Analysis.Normed.Group.Subgroup +public import Mathlib.Analysis.Normed.Group.Submodule /-! # Normed rings @@ -17,6 +19,8 @@ A normed ring instance can be constructed from a given real absolute value on a `AbsoluteValue.toNormedRing`. -/ +@[expose] public section + -- Guard against import creep. assert_not_exists AddChar comap_norm_atTop DilationEquiv Finset.sup_mul_le_mul_sup_of_nonneg IsOfFinOrder Isometry.norm_map_of_map_one NNReal.isOpen_Ico_zero Rat.norm_cast_real diff --git a/Mathlib/Analysis/Normed/Ring/Finite.lean b/Mathlib/Analysis/Normed/Ring/Finite.lean index bfe6e0b249afb4..decf73da8bd972 100644 --- a/Mathlib/Analysis/Normed/Ring/Finite.lean +++ b/Mathlib/Analysis/Normed/Ring/Finite.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.Algebra.Group.AddChar -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Analysis.Normed.Ring.Basic +module + +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Analysis.Normed.Ring.Basic /-! @@ -18,6 +20,8 @@ The values of additive characters on finite cancellative monoids have norm 1. -/ +@[expose] public section + variable {α β : Type*} section NormedRing diff --git a/Mathlib/Analysis/Normed/Ring/InfiniteSum.lean b/Mathlib/Analysis/Normed/Ring/InfiniteSum.lean index 9d4e688e1a0422..9a8ad418797ac8 100644 --- a/Mathlib/Analysis/Normed/Ring/InfiniteSum.lean +++ b/Mathlib/Analysis/Normed/Ring/InfiniteSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.Normed.Group.InfiniteSum -import Mathlib.Topology.Algebra.InfiniteSum.Real -import Mathlib.Analysis.Normed.Ring.Lemmas +module + +public import Mathlib.Analysis.Normed.Group.InfiniteSum +public import Mathlib.Topology.Algebra.InfiniteSum.Real +public import Mathlib.Analysis.Normed.Ring.Lemmas /-! # Multiplying two infinite sums in a normed ring @@ -18,6 +20,8 @@ We first establish results about arbitrary index types, `ι` and `ι'`, and then (see `tsum_mul_tsum_eq_tsum_sum_antidiagonal_of_summable_norm`). -/ +@[expose] public section + variable {R : Type*} {ι : Type*} {ι' : Type*} [NormedRing R] diff --git a/Mathlib/Analysis/Normed/Ring/Int.lean b/Mathlib/Analysis/Normed/Ring/Int.lean index 5e87f05b81186b..3822bd1514b37b 100644 --- a/Mathlib/Analysis/Normed/Ring/Int.lean +++ b/Mathlib/Analysis/Normed/Ring/Int.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Analysis.Normed.Ring.Lemmas +module + +public import Mathlib.Analysis.Normed.Ring.Lemmas /-! # The integers as normed ring @@ -16,6 +18,8 @@ to obtain a term of type `NNReal` (the nonnegative real numbers). The resulting nonnegative real number is denoted by `‖n‖₊`. -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Analysis/Normed/Ring/Lemmas.lean b/Mathlib/Analysis/Normed/Ring/Lemmas.lean index 5752f0bbbf16d8..c9058ab26ea7bb 100644 --- a/Mathlib/Analysis/Normed/Ring/Lemmas.lean +++ b/Mathlib/Analysis/Normed/Ring/Lemmas.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Order.GroupWithZero.Finset -import Mathlib.Analysis.Normed.Group.Bounded -import Mathlib.Analysis.Normed.Group.Int -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Analysis.Normed.Ring.Basic -import Mathlib.Topology.MetricSpace.Dilation +module + +public import Mathlib.Algebra.Order.GroupWithZero.Finset +public import Mathlib.Analysis.Normed.Group.Bounded +public import Mathlib.Analysis.Normed.Group.Int +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Analysis.Normed.Ring.Basic +public import Mathlib.Topology.MetricSpace.Dilation /-! # Normed rings @@ -16,6 +18,8 @@ import Mathlib.Topology.MetricSpace.Dilation In this file we continue building the theory of (semi)normed rings. -/ +@[expose] public section + variable {α : Type*} {β : Type*} {ι : Type*} open Filter Bornology diff --git a/Mathlib/Analysis/Normed/Ring/Ultra.lean b/Mathlib/Analysis/Normed/Ring/Ultra.lean index 922d17c24f3cbd..9f244ae7c5e9fc 100644 --- a/Mathlib/Analysis/Normed/Ring/Ultra.lean +++ b/Mathlib/Analysis/Normed/Ring/Ultra.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Analysis.Normed.Ring.Basic -import Mathlib.Analysis.Normed.Group.Ultra +module + +public import Mathlib.Analysis.Normed.Ring.Basic +public import Mathlib.Analysis.Normed.Group.Ultra /-! # Ultrametric norms on rings where the norm of one is one @@ -35,6 +37,8 @@ Instead, we use weakest pre-existing typeclass that implies both ultrametric, nonarchimedean -/ + +@[expose] public section open Metric NNReal namespace IsUltrametricDist diff --git a/Mathlib/Analysis/Normed/Ring/Units.lean b/Mathlib/Analysis/Normed/Ring/Units.lean index e1982a32a5780e..397d2551aa0927 100644 --- a/Mathlib/Analysis/Normed/Ring/Units.lean +++ b/Mathlib/Analysis/Normed/Ring/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Topology.Algebra.Ring.Ideal -import Mathlib.RingTheory.Ideal.Nonunits +module + +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Topology.Algebra.Ring.Ideal +public import Mathlib.RingTheory.Ideal.Nonunits /-! # The group of units of a complete normed ring @@ -28,6 +30,8 @@ unit and `0` if not. The other major results of this file (notably `NormedRing. properties of `Ring.inverse (x + t)` as `t → 0`. -/ +@[expose] public section + noncomputable section open Topology diff --git a/Mathlib/Analysis/Normed/Ring/WithAbs.lean b/Mathlib/Analysis/Normed/Ring/WithAbs.lean index e2b4f0a17fe7f9..1c5887c5a156a0 100644 --- a/Mathlib/Analysis/Normed/Ring/WithAbs.lean +++ b/Mathlib/Analysis/Normed/Ring/WithAbs.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.Analysis.Normed.Ring.Basic +module + +public import Mathlib.Analysis.Normed.Ring.Basic /-! # WithAbs @@ -20,6 +22,8 @@ arise from absolute values. - `WithAbs.ringEquiv v` : The canonical ring equivalence between `WithAbs v` and `R`. -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Analysis/Normed/Unbundled/AlgebraNorm.lean b/Mathlib/Analysis/Normed/Unbundled/AlgebraNorm.lean index 87c702303763e0..0b4348e2a9ef67 100644 --- a/Mathlib/Analysis/Normed/Unbundled/AlgebraNorm.lean +++ b/Mathlib/Analysis/Normed/Unbundled/AlgebraNorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.RingSeminorm -import Mathlib.Analysis.Seminorm +module + +public import Mathlib.Analysis.Normed.Unbundled.RingSeminorm +public import Mathlib.Analysis.Seminorm /-! # Algebra norms @@ -22,6 +24,8 @@ We define algebra norms and multiplicative algebra norms. norm, algebra norm -/ +@[expose] public section + /-- An algebra norm on an `R`-algebra `S` is a ring norm on `S` compatible with the action of `R`. -/ structure AlgebraNorm (R : Type*) [SeminormedCommRing R] (S : Type*) [Ring S] [Algebra R S] extends diff --git a/Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean b/Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean index c60cb30b9b5f2d..f9059b0a828695 100644 --- a/Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean +++ b/Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm -import Mathlib.Analysis.Normed.Unbundled.SeminormFromBounded -import Mathlib.Analysis.Normed.Unbundled.SmoothingSeminorm -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.LinearAlgebra.Finsupp.VectorSpace +module + +public import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm +public import Mathlib.Analysis.Normed.Unbundled.SeminormFromBounded +public import Mathlib.Analysis.Normed.Unbundled.SmoothingSeminorm +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace /-! @@ -38,6 +40,8 @@ at least one power-multiplicative `K`-algebra norm on `L` extending the norm on Basis.norm, nonarchimedean -/ +@[expose] public section + noncomputable section open Finset Module diff --git a/Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean b/Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean index 763145aad78c38..5a16a8b9c96989 100644 --- a/Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean +++ b/Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Group.Ultra -import Mathlib.Analysis.Normed.Unbundled.FiniteExtension -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.Analysis.Normed.Group.Ultra +public import Mathlib.Analysis.Normed.Unbundled.FiniteExtension +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # algNormOfAlgEquiv and invariantExtension @@ -36,6 +38,8 @@ Let `K` be a nonarchimedean normed field and `L/K` be a finite algebraic extensi algNormOfAlgEquiv, invariantExtension, norm, nonarchimedean -/ +@[expose] public section + open scoped NNReal noncomputable section diff --git a/Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean b/Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean index 1e97261b0f6667..0a94fb8fa8a89a 100644 --- a/Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean +++ b/Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +module + +public import Mathlib.Analysis.Normed.Unbundled.AlgebraNorm +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity /-! # Equivalent power-multiplicative norms @@ -24,6 +26,8 @@ commutative ring and `f₁` and `f₂` are two power-multiplicative `R`-algebra norm, equivalent, power-multiplicative -/ +@[expose] public section + open Filter Real open scoped Topology diff --git a/Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean b/Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean index 9036bb2b22fac1..96a29325ffb0ad 100644 --- a/Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean +++ b/Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Yaël Dillies -/ -import Mathlib.Algebra.Order.Ring.IsNonarchimedean -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.SpecialFunctions.Pow.Real +module + +public import Mathlib.Algebra.Order.Ring.IsNonarchimedean +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.SpecialFunctions.Pow.Real /-! # Seminorms and norms on rings @@ -39,6 +41,8 @@ absolute values. ring_seminorm, ring_norm -/ +@[expose] public section + open NNReal diff --git a/Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean b/Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean index d0550ce10e4e7b..b5d9db1f4578fd 100644 --- a/Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean +++ b/Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.RingSeminorm +module + +public import Mathlib.Analysis.Normed.Unbundled.RingSeminorm /-! # seminormFromBounded @@ -41,6 +43,8 @@ this condition holds. seminormFromBounded, RingSeminorm, Nonarchimedean -/ +@[expose] public section + noncomputable section open scoped Topology NNReal diff --git a/Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean b/Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean index 506fd98aa23a85..6f41fd47a7ed4c 100644 --- a/Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean +++ b/Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.RingSeminorm +module + +public import Mathlib.Analysis.Normed.Unbundled.RingSeminorm /-! # SeminormFromConst @@ -36,6 +38,8 @@ power-multiplicative seminorm for which `c` is multiplicative. SeminormFromConst, Seminorm, Nonarchimedean -/ +@[expose] public section + noncomputable section open Filter diff --git a/Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean b/Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean index db53ea4956547e..31b347a4cc69ee 100644 --- a/Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean +++ b/Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.Order.GroupWithZero.Bounds -import Mathlib.Analysis.Normed.Unbundled.RingSeminorm -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Topology.MetricSpace.Sequences -import Mathlib.Topology.UnitInterval -import Mathlib.Topology.Algebra.Order.LiminfLimsup +module + +public import Mathlib.Algebra.Order.GroupWithZero.Bounds +public import Mathlib.Analysis.Normed.Unbundled.RingSeminorm +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Topology.MetricSpace.Sequences +public import Mathlib.Topology.UnitInterval +public import Mathlib.Topology.Algebra.Order.LiminfLimsup /-! # smoothingSeminorm @@ -40,6 +42,8 @@ seminorm on `R`. smoothingSeminorm, seminorm, nonarchimedean -/ +@[expose] public section + noncomputable section open Filter Nat Real diff --git a/Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean b/Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean index a524fda62cc0c0..5f33d2700e9df9 100644 --- a/Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean +++ b/Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean @@ -3,14 +3,16 @@ Copyright (c) 2025 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps -import Mathlib.Analysis.Normed.Unbundled.InvariantExtension -import Mathlib.Analysis.Normed.Unbundled.IsPowMulFaithful -import Mathlib.Analysis.Normed.Unbundled.SeminormFromConst -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.RingTheory.Polynomial.Vieta -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Analysis.Normed.Unbundled.InvariantExtension +public import Mathlib.Analysis.Normed.Unbundled.IsPowMulFaithful +public import Mathlib.Analysis.Normed.Unbundled.SeminormFromConst +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.RingTheory.Polynomial.Vieta +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # The spectral norm and the norm extension theorem @@ -75,6 +77,8 @@ As a prerequisite, we formalize the proof of [S. Bosch, U. Güntzer, R. Remmert, spectral, spectral norm, spectral value, seminorm, norm, nonarchimedean -/ +@[expose] public section + open Polynomial open scoped Polynomial diff --git a/Mathlib/Analysis/NormedSpace/Alternating/Basic.lean b/Mathlib/Analysis/NormedSpace/Alternating/Basic.lean index 4b579720e0c0b1..b01da9acd0bc66 100644 --- a/Mathlib/Analysis/NormedSpace/Alternating/Basic.lean +++ b/Mathlib/Analysis/NormedSpace/Alternating/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov, Heather Macbeth, Patrick Massot -/ -import Mathlib.Topology.Algebra.Module.Alternating.Topology -import Mathlib.Analysis.NormedSpace.Multilinear.Basic +module + +public import Mathlib.Topology.Algebra.Module.Alternating.Topology +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic /-! # Operator norm on the space of continuous alternating maps @@ -17,6 +19,8 @@ and define bundled versions of some operations on continuous alternating maps. Most proofs just invoke the corresponding fact about continuous multilinear maps. -/ +@[expose] public section + noncomputable section open scoped BigOperators NNReal diff --git a/Mathlib/Analysis/NormedSpace/Alternating/Curry.lean b/Mathlib/Analysis/NormedSpace/Alternating/Curry.lean index 0da6b265d7c4ca..3e40de376c86b9 100644 --- a/Mathlib/Analysis/NormedSpace/Alternating/Curry.lean +++ b/Mathlib/Analysis/NormedSpace/Alternating/Curry.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Eric Wieser -/ -import Mathlib.LinearAlgebra.Alternating.Curry -import Mathlib.Analysis.NormedSpace.Alternating.Basic -import Mathlib.Analysis.NormedSpace.Multilinear.Curry +module + +public import Mathlib.LinearAlgebra.Alternating.Curry +public import Mathlib.Analysis.NormedSpace.Alternating.Basic +public import Mathlib.Analysis.NormedSpace.Multilinear.Curry /-! # Currying continuous alternating forms @@ -16,6 +18,8 @@ as a continuous linear map in the 0th variable taking values in the continuous alternating maps in `n` variables. -/ +@[expose] public section + variable {𝕜 E F G : Type*} [NontriviallyNormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAddCommGroup F] [NormedSpace 𝕜 F] diff --git a/Mathlib/Analysis/NormedSpace/Alternating/Uncurry/Fin.lean b/Mathlib/Analysis/NormedSpace/Alternating/Uncurry/Fin.lean index 607017e82a4a6c..296fe1b252e75e 100644 --- a/Mathlib/Analysis/NormedSpace/Alternating/Uncurry/Fin.lean +++ b/Mathlib/Analysis/NormedSpace/Alternating/Uncurry/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.NormedSpace.Alternating.Curry -import Mathlib.LinearAlgebra.Alternating.Uncurry.Fin +module + +public import Mathlib.Analysis.NormedSpace.Alternating.Curry +public import Mathlib.LinearAlgebra.Alternating.Uncurry.Fin /-! # Uncurrying continuous alternating maps @@ -41,6 +43,8 @@ The latter theorem will be used to prove that the second exterior derivative of a differential form is zero. -/ +@[expose] public section + open Fin Function namespace ContinuousAlternatingMap diff --git a/Mathlib/Analysis/NormedSpace/BallAction.lean b/Mathlib/Analysis/NormedSpace/BallAction.lean index c0d630f609b7c1..e231367f4abe3d 100644 --- a/Mathlib/Analysis/NormedSpace/BallAction.lean +++ b/Mathlib/Analysis/NormedSpace/BallAction.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.Ball.Action +module + +public import Mathlib.Analysis.Normed.Module.Ball.Action deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean b/Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean index c8954cb6f208ea..4b92bc787969c4 100644 --- a/Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean +++ b/Mathlib/Analysis/NormedSpace/ConformalLinearMap.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Conformal +module + +public import Mathlib.Analysis.Normed.Operator.Conformal deprecated_module (since := "2025-09-16") diff --git a/Mathlib/Analysis/NormedSpace/Connected.lean b/Mathlib/Analysis/NormedSpace/Connected.lean index ee7181d19dbbc8..cec580a5666af6 100644 --- a/Mathlib/Analysis/NormedSpace/Connected.lean +++ b/Mathlib/Analysis/NormedSpace/Connected.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Convex.Contractible -import Mathlib.Analysis.Convex.Topology -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.Topology.Algebra.Module.Cardinality +module + +public import Mathlib.Analysis.Convex.Contractible +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.Topology.Algebra.Module.Cardinality /-! # Connectedness of subsets of vector spaces @@ -24,6 +26,8 @@ We show several results related to the (path)-connectedness of subsets of real v Statements with connectedness instead of path-connectedness are also given. -/ +@[expose] public section + assert_not_exists Subgroup.index Nat.divisors -- TODO assert_not_exists Cardinal diff --git a/Mathlib/Analysis/NormedSpace/DualNumber.lean b/Mathlib/Analysis/NormedSpace/DualNumber.lean index 07e2bfb0844915..56b96cd03c8bd4 100644 --- a/Mathlib/Analysis/NormedSpace/DualNumber.lean +++ b/Mathlib/Analysis/NormedSpace/DualNumber.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Algebra.DualNumber +module + +public import Mathlib.Analysis.Normed.Algebra.DualNumber deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/ENormedSpace.lean b/Mathlib/Analysis/NormedSpace/ENormedSpace.lean index c0b782e45d2ebc..63c410be830727 100644 --- a/Mathlib/Analysis/NormedSpace/ENormedSpace.lean +++ b/Mathlib/Analysis/NormedSpace/ENormedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Extended norm @@ -37,6 +39,8 @@ We do not define extended normed groups. They can be added to the chain once som normed space, extended norm -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/NormedSpace/Extend.lean b/Mathlib/Analysis/NormedSpace/Extend.lean index 7259302df45da4..25efc47554a22f 100644 --- a/Mathlib/Analysis/NormedSpace/Extend.lean +++ b/Mathlib/Analysis/NormedSpace/Extend.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.RCLike.Extend +module + +public import Mathlib.Analysis.Normed.Module.RCLike.Extend deprecated_module (since := "2025-09-18") diff --git a/Mathlib/Analysis/NormedSpace/Extr.lean b/Mathlib/Analysis/NormedSpace/Extr.lean index 24d425cec7ef6e..5bef23175b9774 100644 --- a/Mathlib/Analysis/NormedSpace/Extr.lean +++ b/Mathlib/Analysis/NormedSpace/Extr.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.Ray -import Mathlib.Topology.Order.LocalExtr +module + +public import Mathlib.Analysis.Normed.Module.Ray +public import Mathlib.Topology.Order.LocalExtr /-! # (Local) maximums in a normed space @@ -21,6 +23,8 @@ Then we specialize it to the case `y = f c` and to different special cases of `I local maximum, normed space -/ +@[expose] public section + variable {α X E : Type*} [SeminormedAddCommGroup E] [NormedSpace ℝ E] [TopologicalSpace X] diff --git a/Mathlib/Analysis/NormedSpace/FunctionSeries.lean b/Mathlib/Analysis/NormedSpace/FunctionSeries.lean index 838e3afb0b4e22..b855fb5c95afec 100644 --- a/Mathlib/Analysis/NormedSpace/FunctionSeries.lean +++ b/Mathlib/Analysis/NormedSpace/FunctionSeries.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Group.FunctionSeries +module + +public import Mathlib.Analysis.Normed.Group.FunctionSeries deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean b/Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean index d07cdcb34fcb8e..b91a468fb55724 100644 --- a/Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean +++ b/Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Analysis.Convex.Cone.Extension -import Mathlib.Analysis.Normed.Module.RCLike.Extend -import Mathlib.Analysis.RCLike.Lemmas +module + +public import Mathlib.Analysis.Convex.Cone.Extension +public import Mathlib.Analysis.Normed.Module.RCLike.Extend +public import Mathlib.Analysis.RCLike.Lemmas /-! # Extension Hahn-Banach theorem @@ -27,6 +29,8 @@ linear form `g` of norm `1` with `g x = ‖x‖` (where the norm has to be inter of `𝕜`). -/ +@[expose] public section + universe u v diff --git a/Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean b/Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean index 9a65317ab394f1..4cac2db830ba7c 100644 --- a/Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean +++ b/Mathlib/Analysis/NormedSpace/HahnBanach/SeparatingDual.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Central.Defs -import Mathlib.Analysis.NormedSpace.HahnBanach.Extension -import Mathlib.Analysis.NormedSpace.HahnBanach.Separation -import Mathlib.Analysis.NormedSpace.Multilinear.Basic -import Mathlib.LinearAlgebra.Dual.Lemmas +module + +public import Mathlib.Algebra.Central.Defs +public import Mathlib.Analysis.NormedSpace.HahnBanach.Extension +public import Mathlib.Analysis.NormedSpace.HahnBanach.Separation +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic +public import Mathlib.LinearAlgebra.Dual.Lemmas /-! # Spaces with separating dual @@ -32,6 +34,8 @@ Under the assumption `SeparatingDual R V`, we show in `SeparatingDual.exists_continuousLinearEquiv_apply_eq` that the group of continuous linear equivalences acts transitively on the set of nonzero vectors. -/ + +@[expose] public section /-- When `E` is a topological module over a topological ring `R`, the class `SeparatingDual R E` registers that continuous linear forms on `E` separate points of `E`. -/ @[mk_iff separatingDual_def] diff --git a/Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean b/Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean index 90152a94a55729..7a1aa356d2f444 100644 --- a/Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean +++ b/Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Yaël Dillies -/ -import Mathlib.Analysis.Convex.Cone.Extension -import Mathlib.Analysis.Convex.Gauge -import Mathlib.Analysis.RCLike.Extend -import Mathlib.Topology.Algebra.Module.FiniteDimension -import Mathlib.Topology.Algebra.Module.LocallyConvex +module + +public import Mathlib.Analysis.Convex.Cone.Extension +public import Mathlib.Analysis.Convex.Gauge +public import Mathlib.Analysis.RCLike.Extend +public import Mathlib.Topology.Algebra.Module.FiniteDimension +public import Mathlib.Topology.Algebra.Module.LocallyConvex /-! # Separation Hahn-Banach theorem @@ -33,6 +35,8 @@ We provide many variations to stricten the result under more assumptions on the * `Convex ℝ s → interior (closure s) ⊆ s` -/ +@[expose] public section + assert_not_exists ContinuousLinearMap.hasOpNorm open Set diff --git a/Mathlib/Analysis/NormedSpace/HomeomorphBall.lean b/Mathlib/Analysis/NormedSpace/HomeomorphBall.lean index e74ed6c395e153..81877a20e333e6 100644 --- a/Mathlib/Analysis/NormedSpace/HomeomorphBall.lean +++ b/Mathlib/Analysis/NormedSpace/HomeomorphBall.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.Ball.Homeomorph +module + +public import Mathlib.Analysis.Normed.Module.Ball.Homeomorph deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/IndicatorFunction.lean b/Mathlib/Analysis/NormedSpace/IndicatorFunction.lean index e7122dc00a860a..77e37830b8684f 100644 --- a/Mathlib/Analysis/NormedSpace/IndicatorFunction.lean +++ b/Mathlib/Analysis/NormedSpace/IndicatorFunction.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Group.Indicator +module + +public import Mathlib.Analysis.Normed.Group.Indicator deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/Int.lean b/Mathlib/Analysis/NormedSpace/Int.lean index 2a358e9d1c29c0..4ccf3347d85258 100644 --- a/Mathlib/Analysis/NormedSpace/Int.lean +++ b/Mathlib/Analysis/NormedSpace/Int.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Ring.Int +module + +public import Mathlib.Analysis.Normed.Ring.Int deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/MStructure.lean b/Mathlib/Analysis/NormedSpace/MStructure.lean index eb15972861d4b4..8ec78f00b81c48 100644 --- a/Mathlib/Analysis/NormedSpace/MStructure.lean +++ b/Mathlib/Analysis/NormedSpace/MStructure.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Order.Basic -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Order.Basic +public import Mathlib.Tactic.NoncommRing /-! # M-structure @@ -59,6 +61,8 @@ M-summand, M-projection, L-summand, L-projection, M-ideal, M-structure -/ +@[expose] public section + variable (X : Type*) [NormedAddCommGroup X] variable {M : Type*} [Ring M] [Module M X] diff --git a/Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean b/Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean index f48cc6fadfc5f9..503edf569c12c1 100644 --- a/Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean +++ b/Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Sophie Morel, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.Logic.Embedding.Basic -import Mathlib.Data.Fintype.CardEmbedding -import Mathlib.Topology.Algebra.MetricSpace.Lipschitz -import Mathlib.Topology.Algebra.Module.Multilinear.Topology +module + +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Data.Fintype.CardEmbedding +public import Mathlib.Topology.Algebra.MetricSpace.Lipschitz +public import Mathlib.Topology.Algebra.Module.Multilinear.Topology /-! # Operator norm on the space of continuous multilinear maps @@ -44,6 +46,8 @@ the final result is independent of the order. While everything could be done fol approach, it turns out that direct proofs are easier and more efficient. -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean b/Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean index 64415e985ab767..21183b826203f4 100644 --- a/Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean +++ b/Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.NormedSpace.Multilinear.Basic -import Mathlib.LinearAlgebra.Multilinear.Curry +module + +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic +public import Mathlib.LinearAlgebra.Multilinear.Curry /-! # Currying and uncurrying continuous multilinear maps @@ -28,6 +30,8 @@ We also register continuous linear equiv versions of these correspondences, in `ContinuousMultilinearMap.curryMidEquiv` -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean b/Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean index 39ec90386c1fa2..7e10b380ec9c69 100644 --- a/Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean +++ b/Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Normed.Group.FunctionSeries -import Mathlib.Analysis.SpecialFunctions.Log.Summable -import Mathlib.Topology.Algebra.InfiniteSum.UniformOn -import Mathlib.Topology.Algebra.IsUniformGroup.Order +module + +public import Mathlib.Analysis.Normed.Group.FunctionSeries +public import Mathlib.Analysis.SpecialFunctions.Log.Summable +public import Mathlib.Topology.Algebra.InfiniteSum.UniformOn +public import Mathlib.Topology.Algebra.IsUniformGroup.Order /-! # Uniform convergence of products of functions @@ -15,6 +17,8 @@ We gather some results about the uniform convergence of infinite products, in pa the form `∏' i, (1 + f i x)` for a sequence `f` of complex-valued functions. -/ +@[expose] public section + open Filter Function Complex Finset Topology variable {α ι : Type*} {𝔖 : Set (Set α)} {K : Set α} {u : ι → ℝ} diff --git a/Mathlib/Analysis/NormedSpace/Normalize.lean b/Mathlib/Analysis/NormedSpace/Normalize.lean index ad566d855290ff..6b8680375ba4c4 100644 --- a/Mathlib/Analysis/NormedSpace/Normalize.lean +++ b/Mathlib/Analysis/NormedSpace/Normalize.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Ilmārs Cīrulis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ilmārs Cīrulis, Alex Meiburg -/ -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Data.Sign.Defs +module + +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Data.Sign.Defs /-! # Normalized vector @@ -14,6 +16,8 @@ Function that returns unit length vector that points in the same direction (if the given vector is zero vector). -/ +@[expose] public section + variable {V : Type*} [NormedAddCommGroup V] [NormedSpace ℝ V] /-- For a nonzero vector `x`, `normalize x` is the unit-length vector that points diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Asymptotics.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Asymptotics.lean index dd2b4b467c8da0..c5758a44f3659b 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Asymptotics.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Asymptotics.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Asymptotics +module + +public import Mathlib.Analysis.Normed.Operator.Asymptotics deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean index 0711cefa48b98a..aca699e7377be7 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Basic +module + +public import Mathlib.Analysis.Normed.Operator.Basic deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean index f557c2fbc0f2b1..cf29dd8fd21eea 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Bilinear +module + +public import Mathlib.Analysis.Normed.Operator.Bilinear deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean index 7bf28e8cc74fc6..39d2e5204c6948 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Completeness +module + +public import Mathlib.Analysis.Normed.Operator.Completeness deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean index 5e90d105954924..5b2203665ed03f 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Mul +module + +public import Mathlib.Analysis.Normed.Operator.Mul deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean index be8d68044605b0..8434c866f655ff 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.NNNorm +module + +public import Mathlib.Analysis.Normed.Operator.NNNorm deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean index c19c1ad5615e03..768740b94d391b 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.NormedSpace +module + +public import Mathlib.Analysis.Normed.Operator.NormedSpace deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean b/Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean index 610c6dc47ca806..09dacbcc276218 100644 --- a/Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean +++ b/Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Operator.Prod +module + +public import Mathlib.Analysis.Normed.Operator.Prod deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean b/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean index a46ea6332dd7f0..971f4653b51669 100644 --- a/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean +++ b/Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Analysis.NormedSpace.PiTensorProduct.ProjectiveSeminorm -import Mathlib.LinearAlgebra.Isomorphisms +module + +public import Mathlib.Analysis.NormedSpace.PiTensorProduct.ProjectiveSeminorm +public import Mathlib.LinearAlgebra.Isomorphisms /-! # Injective seminorm on the tensor of a finite family of normed spaces. @@ -74,6 +76,8 @@ space. -/ +@[expose] public section + universe uι u𝕜 uE uF variable {ι : Type uι} [Fintype ι] diff --git a/Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean b/Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean index 75e9cb9c3d70f9..6b9e4710e7dd60 100644 --- a/Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean +++ b/Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Analysis.NormedSpace.Multilinear.Basic -import Mathlib.LinearAlgebra.PiTensorProduct +module + +public import Mathlib.Analysis.NormedSpace.Multilinear.Basic +public import Mathlib.LinearAlgebra.PiTensorProduct /-! # Projective seminorm on the tensor of a finite family of normed spaces. @@ -35,6 +37,8 @@ for every `m` in `Π i, Eᵢ` is bounded above by the projective seminorm. -/ +@[expose] public section + universe uι u𝕜 uE uF variable {ι : Type uι} [Fintype ι] diff --git a/Mathlib/Analysis/NormedSpace/Pointwise.lean b/Mathlib/Analysis/NormedSpace/Pointwise.lean index 2d15fbac2e159e..53aa892f1b0c95 100644 --- a/Mathlib/Analysis/NormedSpace/Pointwise.lean +++ b/Mathlib/Analysis/NormedSpace/Pointwise.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.Ball.Pointwise +module + +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/RCLike.lean b/Mathlib/Analysis/NormedSpace/RCLike.lean index 007e2eac4db46e..7615740fa43f28 100644 --- a/Mathlib/Analysis/NormedSpace/RCLike.lean +++ b/Mathlib/Analysis/NormedSpace/RCLike.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.RCLike.Basic +module + +public import Mathlib.Analysis.Normed.Module.RCLike.Basic deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/Real.lean b/Mathlib/Analysis/NormedSpace/Real.lean index 3ee2025d61872a..95dd4305447356 100644 --- a/Mathlib/Analysis/NormedSpace/Real.lean +++ b/Mathlib/Analysis/NormedSpace/Real.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.RCLike.Real +module + +public import Mathlib.Analysis.Normed.Module.RCLike.Real deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/NormedSpace/RieszLemma.lean b/Mathlib/Analysis/NormedSpace/RieszLemma.lean index 9b939898cd57bd..7011605b50b45c 100644 --- a/Mathlib/Analysis/NormedSpace/RieszLemma.lean +++ b/Mathlib/Analysis/NormedSpace/RieszLemma.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Jean Lo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Analysis.Seminorm -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Analysis.Seminorm +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # Applications of the Hausdorff distance in normed spaces @@ -21,6 +23,8 @@ A further lemma, `Metric.closedBall_infDist_compl_subset_closure`, finds a *clos the closure of a set `s` of optimal distance from a point in `x` to the frontier of `s`. -/ +@[expose] public section + open Set Metric diff --git a/Mathlib/Analysis/NormedSpace/SphereNormEquiv.lean b/Mathlib/Analysis/NormedSpace/SphereNormEquiv.lean index 5613db6377ef65..8774680edaa18e 100644 --- a/Mathlib/Analysis/NormedSpace/SphereNormEquiv.lean +++ b/Mathlib/Analysis/NormedSpace/SphereNormEquiv.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv +module + +public import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Analysis/ODE/Gronwall.lean b/Mathlib/Analysis/ODE/Gronwall.lean index 2e391496b394df..3f5c210b4d02dc 100644 --- a/Mathlib/Analysis/ODE/Gronwall.lean +++ b/Mathlib/Analysis/ODE/Gronwall.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.ExpDeriv +module + +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv /-! # Grönwall's inequality @@ -27,6 +29,8 @@ Sec. 4.5][HubbardWest-ode], where `norm_le_gronwallBound_of_norm_deriv_right_le` of `K x` and `f x`. -/ +@[expose] public section + open Metric Set Asymptotics Filter Real open scoped Topology NNReal diff --git a/Mathlib/Analysis/ODE/PicardLindelof.lean b/Mathlib/Analysis/ODE/PicardLindelof.lean index f37dedf7289d45..f8a1090f945142 100644 --- a/Mathlib/Analysis/ODE/PicardLindelof.lean +++ b/Mathlib/Analysis/ODE/PicardLindelof.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Winston Yin -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Topology.Algebra.Order.Floor -import Mathlib.Topology.MetricSpace.Contracting +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Topology.Algebra.Order.Floor +public import Mathlib.Topology.MetricSpace.Contracting /-! # Picard-Lindelöf (Cauchy-Lipschitz) Theorem @@ -66,6 +68,8 @@ Cauchy-Lipschitz theorem -/ +@[expose] public section + open Function intervalIntegral MeasureTheory Metric Set open scoped Nat NNReal Topology diff --git a/Mathlib/Analysis/Oscillation.lean b/Mathlib/Analysis/Oscillation.lean index 0fb1801658e0fa..0a178d3ecb3943 100644 --- a/Mathlib/Analysis/Oscillation.lean +++ b/Mathlib/Analysis/Oscillation.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 James Sundstrom. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: James Sundstrom -/ -import Mathlib.Data.ENNReal.Real -import Mathlib.Order.WellFoundedSet -import Mathlib.Topology.EMetricSpace.Diam +module + +public import Mathlib.Data.ENNReal.Real +public import Mathlib.Order.WellFoundedSet +public import Mathlib.Topology.EMetricSpace.Diam /-! # Oscillation @@ -24,6 +26,8 @@ at `x` is 0 if and only if `f` is continuous at `x`, with versions for both `osc oscillation, oscillationWithin -/ +@[expose] public section + open Topology EMetric Set ENNReal universe u v diff --git a/Mathlib/Analysis/PSeries.lean b/Mathlib/Analysis/PSeries.lean index 3d010e439b2c8d..59e7df2783e54f 100644 --- a/Mathlib/Analysis/PSeries.lean +++ b/Mathlib/Analysis/PSeries.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Analysis.SumOverResidueClass +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Analysis.SumOverResidueClass /-! # Convergence of `p`-series @@ -22,6 +24,8 @@ converges if and only if so does `∑ k, 2 ^ k f (2 ^ k)`. We prove this test in p-series, Cauchy condensation test -/ +@[expose] public section + /-! ### Schlömilch's generalization of the Cauchy condensation test diff --git a/Mathlib/Analysis/PSeriesComplex.lean b/Mathlib/Analysis/PSeriesComplex.lean index 8b17c9f1d83749..0e68619fa88c8d 100644 --- a/Mathlib/Analysis/PSeriesComplex.lean +++ b/Mathlib/Analysis/PSeriesComplex.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Analysis.PSeries -import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Analysis.PSeries +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional /-! # Convergence of `p`-series (complex case) @@ -19,6 +20,8 @@ rather than in `Analysis.PSeries` in order to keep the prerequisites of the form p-series, Cauchy condensation test -/ +@[expose] public section + lemma Complex.summable_one_div_nat_cpow {p : ℂ} : Summable (fun n : ℕ ↦ 1 / (n : ℂ) ^ p) ↔ 1 < re p := by rw [← Real.summable_one_div_nat_rpow, ← summable_nat_add_iff 1 (G := ℝ), diff --git a/Mathlib/Analysis/Polynomial/Basic.lean b/Mathlib/Analysis/Polynomial/Basic.lean index 36f12aaa83b609..e3ade9828ed76c 100644 --- a/Mathlib/Analysis/Polynomial/Basic.lean +++ b/Mathlib/Analysis/Polynomial/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Devon Tuma -/ -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +module + +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics /-! # Limits related to polynomial and rational functions @@ -20,6 +22,8 @@ functions, depending on the degrees and leading coefficients of the considered polynomials. -/ +@[expose] public section + open Filter Finset Asymptotics diff --git a/Mathlib/Analysis/Polynomial/CauchyBound.lean b/Mathlib/Analysis/Polynomial/CauchyBound.lean index d1cde8c27d6662..2ebe63c767feb3 100644 --- a/Mathlib/Analysis/Polynomial/CauchyBound.lean +++ b/Mathlib/Analysis/Polynomial/CauchyBound.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.Algebra.Order.Field.GeomSum -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Analysis.Normed.Field.Basic +module + +public import Mathlib.Algebra.Order.Field.GeomSum +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Analysis.Normed.Field.Basic /-! # Cauchy's bound on polynomial roots. @@ -16,6 +18,8 @@ is `1 + max_(0 ≤ i < n) a_i / a_n`. The theorem that this gives a bound to polynomial roots is `Polynomial.IsRoot.norm_lt_cauchyBound`. -/ +@[expose] public section + variable {K : Type*} [NormedDivisionRing K] namespace Polynomial diff --git a/Mathlib/Analysis/Polynomial/Factorization.lean b/Mathlib/Analysis/Polynomial/Factorization.lean index b398e4814cb341..4cbb0ec3eb80fd 100644 --- a/Mathlib/Analysis/Polynomial/Factorization.lean +++ b/Mathlib/Analysis/Polynomial/Factorization.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.Polynomial.Degree.IsMonicOfDegree -import Mathlib.Analysis.Complex.Polynomial.Basic +module + +public import Mathlib.Algebra.Polynomial.Degree.IsMonicOfDegree +public import Mathlib.Analysis.Complex.Polynomial.Basic /-! # Factorization of monic polynomials of given degree @@ -20,6 +22,8 @@ This file contains two main results: a monic polynomial of degree two times another monic factor. -/ +@[expose] public section + namespace Polynomial.IsMonicOfDegree /-- If `f : F[X]` is monic of degree `≥ 1` and `F` is an algebraically closed field, diff --git a/Mathlib/Analysis/Polynomial/MahlerMeasure.lean b/Mathlib/Analysis/Polynomial/MahlerMeasure.lean index a0f458219a05ed..dc269b63b17bde 100644 --- a/Mathlib/Analysis/Polynomial/MahlerMeasure.lean +++ b/Mathlib/Analysis/Polynomial/MahlerMeasure.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ +module -import Mathlib.Analysis.Analytic.Polynomial -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic -import Mathlib.MeasureTheory.Integral.CircleAverage +public import Mathlib.Analysis.Analytic.Polynomial +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic +public import Mathlib.MeasureTheory.Integral.CircleAverage /-! # Mahler measure of complex polynomials @@ -28,6 +29,8 @@ properties. product of their Mahler measures. -/ +@[expose] public section + namespace Polynomial open Real diff --git a/Mathlib/Analysis/Quaternion.lean b/Mathlib/Analysis/Quaternion.lean index 22f611381a9fb1..98371cfcdf86e4 100644 --- a/Mathlib/Analysis/Quaternion.lean +++ b/Mathlib/Analysis/Quaternion.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Eric Wieser -/ -import Mathlib.Algebra.Quaternion -import Mathlib.Analysis.InnerProductSpace.Continuous -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Topology.Algebra.Algebra +module + +public import Mathlib.Algebra.Quaternion +public import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Topology.Algebra.Algebra /-! # Quaternions as a normed algebra @@ -30,6 +32,8 @@ The following notation is available with `open Quaternion` or `open scoped Quate quaternion, normed ring, normed space, normed algebra -/ +@[expose] public section + @[inherit_doc] scoped[Quaternion] notation "ℍ" => Quaternion ℝ diff --git a/Mathlib/Analysis/RCLike/Basic.lean b/Mathlib/Analysis/RCLike/Basic.lean index 6b971ebcc759ed..83c76f03226261 100644 --- a/Mathlib/Analysis/RCLike/Basic.lean +++ b/Mathlib/Analysis/RCLike/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Algebra.Algebra.IsSimpleRing -import Mathlib.Algebra.BigOperators.Balance -import Mathlib.Algebra.Order.BigOperators.Expect -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Analysis.CStarAlgebra.Basic -import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap -import Mathlib.Analysis.Normed.Ring.Finite -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Algebra.Algebra.IsSimpleRing +public import Mathlib.Algebra.BigOperators.Balance +public import Mathlib.Algebra.Order.BigOperators.Expect +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Analysis.CStarAlgebra.Basic +public import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +public import Mathlib.Analysis.Normed.Ring.Finite +public import Mathlib.Data.Real.Sqrt /-! # `RCLike`: a typeclass for ℝ or ℂ @@ -42,6 +44,8 @@ their counterparts in `Mathlib/Analysis/Complex/Basic.lean` (which causes linter A few lemmas requiring heavier imports are in `Mathlib/Analysis/RCLike/Lemmas.lean`. -/ +@[expose] public section + open Fintype open scoped BigOperators ComplexConjugate diff --git a/Mathlib/Analysis/RCLike/BoundedContinuous.lean b/Mathlib/Analysis/RCLike/BoundedContinuous.lean index 41f4bdd58acfef..c1eb9b3c29f0a6 100644 --- a/Mathlib/Analysis/RCLike/BoundedContinuous.lean +++ b/Mathlib/Analysis/RCLike/BoundedContinuous.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Analysis.Normed.Operator.NNNorm -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Star +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Analysis.Normed.Operator.NNNorm +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Star /-! # Results on bounded continuous functions with `RCLike` values -/ +@[expose] public section + open Filter Real RCLike BoundedContinuousFunction open scoped Topology diff --git a/Mathlib/Analysis/RCLike/Extend.lean b/Mathlib/Analysis/RCLike/Extend.lean index 0c2ac58851cd84..efceb11de8aeb5 100644 --- a/Mathlib/Analysis/RCLike/Extend.lean +++ b/Mathlib/Analysis/RCLike/Extend.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde -/ -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Analysis.RCLike.Basic -import Mathlib.LinearAlgebra.Dual.Defs +module + +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.LinearAlgebra.Dual.Defs /-! # Extending an `ℝ`-linear functional to a `𝕜`-linear functional @@ -34,6 +36,8 @@ Alternate forms which operate on `[IsScalarTower ℝ 𝕜 F]` instead are provid -/ +@[expose] public section + open RCLike diff --git a/Mathlib/Analysis/RCLike/Inner.lean b/Mathlib/Analysis/RCLike/Inner.lean index ac95c5f7986346..064c948bbe3241 100644 --- a/Mathlib/Analysis/RCLike/Inner.lean +++ b/Mathlib/Analysis/RCLike/Inner.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dilies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dilies -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # L2 inner product of finite sequences @@ -21,6 +23,8 @@ from `RCLike.innerProductSpace`. convention, similarly to `MeasureTheory.average`? -/ +@[expose] public section + open Finset Function Real open scoped BigOperators ComplexConjugate ComplexOrder InnerProductSpace diff --git a/Mathlib/Analysis/RCLike/Lemmas.lean b/Mathlib/Analysis/RCLike/Lemmas.lean index 98d687d5980574..16a34794faafee 100644 --- a/Mathlib/Analysis/RCLike/Lemmas.lean +++ b/Mathlib/Analysis/RCLike/Lemmas.lean @@ -3,12 +3,16 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.Instances.RealVectorSpace +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.Instances.RealVectorSpace /-! # Further lemmas about `RCLike` -/ +@[expose] public section + open scoped Finset variable {K E : Type*} [RCLike K] diff --git a/Mathlib/Analysis/RCLike/TangentCone.lean b/Mathlib/Analysis/RCLike/TangentCone.lean index 8a7e7241ec6e90..d8f3c6954823a7 100644 --- a/Mathlib/Analysis/RCLike/TangentCone.lean +++ b/Mathlib/Analysis/RCLike/TangentCone.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.TangentCone -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.Instances.RealVectorSpace +module + +public import Mathlib.Analysis.Calculus.TangentCone +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.Instances.RealVectorSpace /-! # Relationships between unique differentiability over `ℝ` and `ℂ` @@ -13,6 +15,8 @@ A set of unique differentiability for `ℝ` is also a set of unique differentiab (or for a general field satisfying `IsRCLikeNormedField 𝕜`). -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] [h𝕜 : IsRCLikeNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedSpace ℝ E] {s : Set E} {x : E} diff --git a/Mathlib/Analysis/Real/Cardinality.lean b/Mathlib/Analysis/Real/Cardinality.lean index 360599d273a755..7286396fa4e0cf 100644 --- a/Mathlib/Analysis/Real/Cardinality.lean +++ b/Mathlib/Analysis/Real/Cardinality.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Data.Rat.Cardinal -import Mathlib.SetTheory.Cardinal.Continuum +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Data.Rat.Cardinal +public import Mathlib.SetTheory.Cardinal.Continuum /-! # The cardinality of the reals @@ -40,6 +42,8 @@ We conclude that all intervals with distinct endpoints have cardinality continuu continuum, cardinality, reals, cardinality of the reals -/ +@[expose] public section + open Nat Set diff --git a/Mathlib/Analysis/Real/Hyperreal.lean b/Mathlib/Analysis/Real/Hyperreal.lean index e0ca2d0a98c0d7..7acecee078b4a5 100644 --- a/Mathlib/Analysis/Real/Hyperreal.lean +++ b/Mathlib/Analysis/Real/Hyperreal.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Abhimanyu Pallavi Sudhir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Abhimanyu Pallavi Sudhir -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Order.Filter.FilterProduct +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Order.Filter.FilterProduct /-! # Construction of the hyperreal numbers as an ultraproduct of real sequences. -/ +@[expose] public section + open Filter Germ Topology diff --git a/Mathlib/Analysis/Real/OfDigits.lean b/Mathlib/Analysis/Real/OfDigits.lean index f206d72c68b93a..ce93538c0a278b 100644 --- a/Mathlib/Analysis/Real/OfDigits.lean +++ b/Mathlib/Analysis/Real/OfDigits.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Algebra.Order.Floor.Semifield -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Tactic.Rify +module + +public import Mathlib.Algebra.Order.Floor.Semifield +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Tactic.Rify /-! # Representation of reals in positional system @@ -24,6 +26,8 @@ representations of reals as sequences of digits in positional system. * `ofDigits_digits` states that `ofDigits (digits x b) = x`. -/ +@[expose] public section + namespace Real /-- `ofDigits` takes a sequence of digits `(d₀, d₁, ...)` in base `b` and returns the diff --git a/Mathlib/Analysis/Real/Pi/Bounds.lean b/Mathlib/Analysis/Real/Pi/Bounds.lean index 0e668c3e213d34..cfc3dd60c8d9f0 100644 --- a/Mathlib/Analysis/Real/Pi/Bounds.lean +++ b/Mathlib/Analysis/Real/Pi/Bounds.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Mario Carneiro -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds /-! # Pi @@ -17,6 +19,8 @@ See also `Mathlib/Analysis/Real/Pi/Leibniz.lean` and `Mathlib/Analysis/Real/Pi/W infinite formulas for `π`. -/ +@[expose] public section + open scoped Real namespace Real diff --git a/Mathlib/Analysis/Real/Pi/Chudnovsky.lean b/Mathlib/Analysis/Real/Pi/Chudnovsky.lean index c89a847c9300f6..fc5adf441ecb6c 100644 --- a/Mathlib/Analysis/Real/Pi/Chudnovsky.lean +++ b/Mathlib/Analysis/Real/Pi/Chudnovsky.lean @@ -3,8 +3,11 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Batteries.Data.Rat.Float +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Batteries.Data.Rat.Float +meta import Batteries.Data.Rat.Float -- for `#eval` sanity check /-! # Chudnovsky's formula for π @@ -32,6 +35,8 @@ but at present we are a long way off. -/ +@[expose] public section + open scoped Real BigOperators open Nat diff --git a/Mathlib/Analysis/Real/Pi/Irrational.lean b/Mathlib/Analysis/Real/Pi/Irrational.lean index e41aaa481c6483..b394017d516ee3 100644 --- a/Mathlib/Analysis/Real/Pi/Irrational.lean +++ b/Mathlib/Analysis/Real/Pi/Irrational.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Topology.Algebra.Order.Floor -import Mathlib.NumberTheory.Real.Irrational +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Topology.Algebra.Order.Floor +public import Mathlib.NumberTheory.Real.Irrational /-! # `Real.pi` is irrational @@ -32,6 +34,8 @@ The proof idea is as follows. -/ +@[expose] public section + noncomputable section open intervalIntegral MeasureTheory.MeasureSpace Set Polynomial Real diff --git a/Mathlib/Analysis/Real/Pi/Leibniz.lean b/Mathlib/Analysis/Real/Pi/Leibniz.lean index 49bca40fef1c83..53786498ef18ca 100644 --- a/Mathlib/Analysis/Real/Pi/Leibniz.lean +++ b/Mathlib/Analysis/Real/Pi/Leibniz.lean @@ -3,11 +3,15 @@ Copyright (c) 2020 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson, Jeremy Tan -/ -import Mathlib.Analysis.Complex.AbelLimit -import Mathlib.Analysis.SpecialFunctions.Complex.Arctan +module + +public import Mathlib.Analysis.Complex.AbelLimit +public import Mathlib.Analysis.SpecialFunctions.Complex.Arctan /-! ### Leibniz's series for `π` -/ +@[expose] public section + namespace Real open Filter Finset diff --git a/Mathlib/Analysis/Real/Pi/Wallis.lean b/Mathlib/Analysis/Real/Pi/Wallis.lean index c0586d8c24b022..b55c4a8e3d704a 100644 --- a/Mathlib/Analysis/Real/Pi/Wallis.lean +++ b/Mathlib/Analysis/Real/Pi/Wallis.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hanting Zhang -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic /-! # The Wallis formula for Pi @@ -29,6 +31,8 @@ algebraic manipulation. * `Real.tendsto_prod_pi_div_two`: the Wallis product formula. -/ +@[expose] public section + open scoped Real Topology Nat diff --git a/Mathlib/Analysis/Real/Spectrum.lean b/Mathlib/Analysis/Real/Spectrum.lean index e8a7bcc11a121a..f674953723a910 100644 --- a/Mathlib/Analysis/Real/Spectrum.lean +++ b/Mathlib/Analysis/Real/Spectrum.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.Topology.Instances.NNReal.Lemmas -import Mathlib.Tactic.ContinuousFunctionalCalculus +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.Topology.Instances.NNReal.Lemmas +public import Mathlib.Tactic.ContinuousFunctionalCalculus /-! # Some lemmas on the spectrum and quasispectrum of elements and positivity -/ +@[expose] public section + namespace SpectrumRestricts open NNReal ENNReal diff --git a/Mathlib/Analysis/Seminorm.lean b/Mathlib/Analysis/Seminorm.lean index b0a6b2c425bdb0..eadee3dc376a7a 100644 --- a/Mathlib/Analysis/Seminorm.lean +++ b/Mathlib/Analysis/Seminorm.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Jean Lo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo, Yaël Dillies, Moritz Doll -/ -import Mathlib.Algebra.Order.Pi -import Mathlib.Analysis.Convex.Function -import Mathlib.Analysis.LocallyConvex.Basic -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Data.Real.Pointwise +module + +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Analysis.Convex.Function +public import Mathlib.Analysis.LocallyConvex.Basic +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Data.Real.Pointwise /-! # Seminorms @@ -34,6 +36,8 @@ For a module over a normed ring: seminorm, locally convex, LCTVS -/ +@[expose] public section + assert_not_exists balancedCore open NormedField Set Filter diff --git a/Mathlib/Analysis/SpecialFunctions/Arsinh.lean b/Mathlib/Analysis/SpecialFunctions/Arsinh.lean index 6421ddebd8668d..cd451706540dba 100644 --- a/Mathlib/Analysis/SpecialFunctions/Arsinh.lean +++ b/Mathlib/Analysis/SpecialFunctions/Arsinh.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 James Arthur. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: James Arthur, Chris Hughes, Shing Tak Lam -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv -import Mathlib.Analysis.SpecialFunctions.Log.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # Inverse of the sinh function @@ -35,6 +37,8 @@ inverse, arsinh. arsinh, arcsinh, argsinh, asinh, sinh injective, sinh bijective, sinh surjective -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Bernstein.lean b/Mathlib/Analysis/SpecialFunctions/Bernstein.lean index 486666a0c29c97..d58b7b2ebc7520 100644 --- a/Mathlib/Analysis/SpecialFunctions/Bernstein.lean +++ b/Mathlib/Analysis/SpecialFunctions/Bernstein.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.Convex.Gauge -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.RingTheory.Polynomial.Bernstein -import Mathlib.Topology.Algebra.Module.LocallyConvex -import Mathlib.Topology.ContinuousMap.Polynomial +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.Convex.Gauge +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.RingTheory.Polynomial.Bernstein +public import Mathlib.Topology.Algebra.Module.LocallyConvex +public import Mathlib.Topology.ContinuousMap.Polynomial /-! # Bernstein approximations and Weierstrass' theorem @@ -48,6 +50,8 @@ This result proves Weierstrass' theorem that polynomials are dense in `C([0,1], although we defer an abstract statement of this until later. -/ +@[expose] public section + noncomputable section open Filter @@ -76,7 +80,7 @@ open Lean Meta Qq Function /-- Extension of the `positivity` tactic for Bernstein polynomials: they are always non-negative. -/ @[positivity DFunLike.coe (bernstein _ _) _] -def evalBernstein : PositivityExt where eval {_ _} _zα _pα e := do +meta def evalBernstein : PositivityExt where eval {_ _} _zα _pα e := do let .app (.app _coe (.app (.app _ n) ν)) x ← whnfR e | throwError "not bernstein polynomial" let p ← mkAppOptM ``bernstein_nonneg #[n, ν, x] pure (.nonnegative p) diff --git a/Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean b/Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean index d1b6a21e27db17..141220d91f1299 100644 --- a/Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean +++ b/Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adomas Baliuka. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adomas Baliuka -/ -import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog -import Mathlib.Analysis.Convex.SpecificFunctions.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic /-! # Properties of Shannon q-ary entropy and binary entropy functions @@ -48,6 +50,8 @@ The functions are also defined outside the interval `Icc 0 1` due to `log x = lo entropy, Shannon, binary, nit, nepit -/ +@[expose] public section + namespace Real variable {q : ℕ} {p : ℝ} diff --git a/Mathlib/Analysis/SpecialFunctions/Choose.lean b/Mathlib/Analysis/SpecialFunctions/Choose.lean index 5d937359db4045..d438efd5f1ef40 100644 --- a/Mathlib/Analysis/SpecialFunctions/Choose.lean +++ b/Mathlib/Analysis/SpecialFunctions/Choose.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Mitchell Horner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Horner -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Data.Nat.Cast.Field +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Data.Nat.Cast.Field /-! # Binomial coefficients and factorial variants @@ -19,6 +21,8 @@ This file proves asymptotic theorems for binomial coefficients and factorial var * `isTheta_choose` is the proof that `n.choose k = Θ(n^k)` as `n → ∞`. -/ +@[expose] public section + open Asymptotics Filter Nat Topology diff --git a/Mathlib/Analysis/SpecialFunctions/CompareExp.lean b/Mathlib/Analysis/SpecialFunctions/CompareExp.lean index ebcb15116c75bf..cb01447d2d7215 100644 --- a/Mathlib/Analysis/SpecialFunctions/CompareExp.lean +++ b/Mathlib/Analysis/SpecialFunctions/CompareExp.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics /-! # Growth estimates on `x ^ y` for complex `x`, `y` @@ -26,6 +28,8 @@ stronger assumptions (e.g., `im z` is bounded from below and from above) are not -/ +@[expose] public section + open Asymptotics Filter Function open scoped Topology diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean b/Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean index 708d78cdedd9e8..6d04e30f76edda 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/Analytic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving -/ -import Mathlib.Analysis.Analytic.Composition -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv +module + +public import Mathlib.Analysis.Analytic.Composition +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv /-! # Various complex special functions are analytic @@ -14,6 +16,8 @@ import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv `log`, and `cpow` are analytic, since they are differentiable. -/ +@[expose] public section + open Complex Set open scoped Topology diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean b/Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean index 135e9bbfd0448b..8ce18f55323ac2 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/Arctan.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds /-! # Complex arctangent @@ -15,6 +17,8 @@ $$\arctan z = \frac{(-1)^n}{2n + 1} z^{2n + 1},\ |z|<1$$ is proved in `Complex.hasSum_arctan`. -/ +@[expose] public section + namespace Complex diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean b/Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean index 193e7c2a698dc1..51973acb144c6c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Angle +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse /-! # The argument of a complex number. @@ -14,6 +16,8 @@ such that for `x ≠ 0`, `sin (arg x) = x.im / x.abs` and `cos (arg x) = x.re / while `arg 0` defaults to `0` -/ +@[expose] public section + open Filter Metric Set open scoped ComplexConjugate Real Topology diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean b/Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean index cfd84fd9a57c0e..23c7f4b39911a9 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.Circle -import Mathlib.Analysis.SpecialFunctions.Complex.Log +module + +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.Analysis.SpecialFunctions.Complex.Log /-! # Maps on the unit circle @@ -14,6 +16,8 @@ to the unit circle. These two maps define a partial equivalence between `circle` `circle.argPartialEquiv` and `circle.argEquiv`, that sends the whole circle to `(-π, π]`. -/ +@[expose] public section + open Complex Function Set diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean b/Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean index a9be43269fcb43..5c18b8b42b1462 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.NumberTheory.LegendreSymbol.AddCharacter -import Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed -import Mathlib.Topology.Instances.AddCircle.Real +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.NumberTheory.LegendreSymbol.AddCharacter +public import Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed +public import Mathlib.Topology.Instances.AddCircle.Real /-! # Additive characters valued in the unit circle @@ -19,6 +21,8 @@ These results are separate from `Analysis.SpecialFunctions.Complex.Circle` in or the imports of that file. -/ +@[expose] public section + open Complex Function open scoped Real diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean b/Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean index c416ee6be173df..481e471c21dd8d 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/CircleMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Fabrizio Barroero, Christopher Hoskin -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Log -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Log +public import Mathlib.Order.Interval.Set.Defs /-! # circleMap @@ -18,6 +20,8 @@ This file defines the circle map $θ ↦ c + R e^{θi}$, a parametrization of a ## Tags -/ + +@[expose] public section noncomputable section circleMap open Complex Function Metric Real diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/Log.lean b/Mathlib/Analysis/SpecialFunctions/Complex/Log.lean index af525b76c0d83c..e93155d59699f5 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/Log.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/Log.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Arg -import Mathlib.Analysis.SpecialFunctions.Log.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Arg +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # The complex `log` function @@ -12,6 +14,8 @@ import Mathlib.Analysis.SpecialFunctions.Log.Basic Basic properties, relationship with `exp`. -/ +@[expose] public section + noncomputable section namespace Complex diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean b/Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean index dcd92edfa73adc..f40df061269491 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Complex.Convex -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Analysis.Calculus.Deriv.Shift +module + +public import Mathlib.Analysis.Complex.Convex +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Analysis.Calculus.Deriv.Shift /-! # Estimates for the complex logarithm @@ -22,6 +24,8 @@ over the unit interval (`Complex.log_eq_integral`) and introduce notation Refactor using general Taylor series theory, once this exists in Mathlib. -/ +@[expose] public section + namespace Complex /-! diff --git a/Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean b/Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean index 67ff5e27fc2972..534dc978d17e83 100644 --- a/Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean @@ -3,16 +3,20 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv -import Mathlib.Analysis.Calculus.LogDeriv -import Mathlib.Analysis.SpecialFunctions.Complex.Log -import Mathlib.Analysis.SpecialFunctions.ExpDeriv +module + +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv +public import Mathlib.Analysis.Calculus.LogDeriv +public import Mathlib.Analysis.SpecialFunctions.Complex.Log +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv /-! # Differentiability of the complex `log` function -/ +@[expose] public section + assert_not_exists IsConformalMap Conformal open Set Filter diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Abs.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Abs.lean index a08bcc511f4ff2..1c772a9694516c 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Abs.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Abs.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jon Bannon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Bannon, Jireh Loreaux -/ +module -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Commute +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Commute /-! @@ -21,6 +22,8 @@ and provides basic API. -/ +@[expose] public section + variable {𝕜 A : Type*} open scoped NNReal diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean index 052ae68f94b587..8bafd04d15589a 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.SpecialFunctions.Exponential -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Topology.ContinuousMap.ContinuousSqrt -import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.Analysis.SpecialFunctions.Exponential +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # The exponential and logarithm based on the continuous functional calculus @@ -39,6 +40,8 @@ definitions for them. + Relate `CFC.log` to `rpow`, `zpow`, `sqrt`, `inv`. -/ +@[expose] public section + open NormedSpace section general_exponential diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean index a35176e34459c2..0b197183a2a652 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Topology.ContinuousMap.ContinuousSqrt -import Mathlib.Topology.ContinuousMap.StoneWeierstrass +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass /-! # The positive (and negative) parts of a selfadjoint element in a C⋆-algebra @@ -15,6 +16,8 @@ the continuous functional calculus and develops the basic API, including the uni positive and negative parts. -/ +@[expose] public section + open scoped NNReal section NonUnital diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Isometric.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Isometric.lean index 0b624d5ada687a..5d6cd39ffdbd53 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Isometric.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Isometric.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric /-! # Facts about `CFC.posPart` and `CFC.negPart` involving norms @@ -19,6 +20,8 @@ C⋆-algebra that involve the norm. respectively. -/ +@[expose] public section + variable {A : Type*} [NonUnitalNormedRing A] [NormedSpace ℝ A] [SMulCommClass ℝ A A] [IsScalarTower ℝ A A] [StarRing A] [NonUnitalIsometricContinuousFunctionalCalculus ℝ A IsSelfAdjoint] diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean index 8c465349e06ac9..bbd88fc3a6f52e 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean @@ -3,15 +3,16 @@ Copyright (c) 2024 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Algebra.Order.Star.Prod -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Pi -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Topology.ContinuousMap.ContinuousSqrt +public import Mathlib.Algebra.Order.Star.Prod +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Instances +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Pi +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.PosPart.Basic +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Topology.ContinuousMap.ContinuousSqrt /-! # Real powers defined via the continuous functional calculus @@ -49,6 +50,8 @@ only makes sense for nonnegative exponents, and hence we define it such that the + Prove the order properties (operator monotonicity and concavity/convexity) -/ +@[expose] public section + open scoped NNReal namespace NNReal diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean index 3fb34ee0fb464a..e37c98e599b297 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral -import Mathlib.Analysis.CStarAlgebra.ApproximateUnit +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Integral +public import Mathlib.Analysis.CStarAlgebra.ApproximateUnit /-! # Integral representations of `rpow` @@ -47,6 +48,8 @@ relevant in applications, and would needlessly complicate the proof. (see Lemma 2.8) -/ +@[expose] public section + open MeasureTheory Set Filter open scoped NNReal Topology diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean index a8f85ed872431a..1d9858f507035a 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric +public import Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.Rpow.Basic +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Isometric /-! # Properties of `rpow` and `sqrt` over an algebra with an isometric CFC @@ -21,6 +22,8 @@ rely on an isometric continuous functional calculus. continuous functional calculus, rpow, sqrt -/ +@[expose] public section + open scoped NNReal namespace CFC diff --git a/Mathlib/Analysis/SpecialFunctions/Exp.lean b/Mathlib/Analysis/SpecialFunctions/Exp.lean index 72e158e5e038e1..9baf34b16bea23 100644 --- a/Mathlib/Analysis/SpecialFunctions/Exp.lean +++ b/Mathlib/Analysis/SpecialFunctions/Exp.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne -/ -import Mathlib.Analysis.Complex.Asymptotics -import Mathlib.Analysis.Complex.Trigonometric -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Topology.Algebra.MetricSpace.Lipschitz +module + +public import Mathlib.Analysis.Complex.Asymptotics +public import Mathlib.Analysis.Complex.Trigonometric +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Topology.Algebra.MetricSpace.Lipschitz /-! # Complex and real exponential @@ -19,6 +21,8 @@ limits of `Real.exp` at infinity. exp -/ +@[expose] public section + noncomputable section open Asymptotics Bornology Finset Filter Function Metric Set Topology diff --git a/Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean b/Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean index 6e82e586ab9b60..0cc7441166435c 100644 --- a/Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne -/ -import Mathlib.Analysis.Calculus.ContDiff.RCLike -import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas -import Mathlib.Analysis.Complex.RealDeriv -import Mathlib.Analysis.SpecialFunctions.Exp -import Mathlib.Analysis.SpecialFunctions.Exponential +module + +public import Mathlib.Analysis.Calculus.ContDiff.RCLike +public import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas +public import Mathlib.Analysis.Complex.RealDeriv +public import Mathlib.Analysis.SpecialFunctions.Exp +public import Mathlib.Analysis.SpecialFunctions.Exponential /-! # Complex and real exponential @@ -19,6 +21,8 @@ In this file we prove that `Complex.exp` and `Real.exp` are analytic functions. exp, derivative -/ +@[expose] public section + assert_not_exists IsConformalMap Conformal noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Exponential.lean b/Mathlib/Analysis/SpecialFunctions/Exponential.lean index ab4d9338e34a4d..06b575eb7a19ec 100644 --- a/Mathlib/Analysis/SpecialFunctions/Exponential.lean +++ b/Mathlib/Analysis/SpecialFunctions/Exponential.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Eric Wieser -/ -import Mathlib.Analysis.Normed.Algebra.Exponential -import Mathlib.Analysis.Calculus.FDeriv.Analytic -import Mathlib.Analysis.Complex.Exponential -import Mathlib.Topology.MetricSpace.CauSeqFilter +module + +public import Mathlib.Analysis.Normed.Algebra.Exponential +public import Mathlib.Analysis.Calculus.FDeriv.Analytic +public import Mathlib.Analysis.Complex.Exponential +public import Mathlib.Topology.MetricSpace.CauSeqFilter /-! # Calculus results on exponential in a Banach algebra @@ -53,6 +55,8 @@ We prove most results for an arbitrary field `𝕂`, and then specialize to ` -/ +@[expose] public section + open Filter RCLike ContinuousMultilinearMap NormedField NormedSpace Asymptotics diff --git a/Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean index 4e6c162c85ae80..743322f04dbabc 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals -import Mathlib.MeasureTheory.Integral.ExpDecay +module + +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +public import Mathlib.MeasureTheory.Integral.ExpDecay /-! # The Gamma function @@ -36,6 +38,8 @@ set it to be `0` by convention.) Gamma -/ +@[expose] public section + noncomputable section @@ -482,7 +486,7 @@ lemma integral_rpow_mul_exp_neg_mul_Ioi {a r : ℝ} (ha : 0 < a) (hr : 0 < r) : open Lean.Meta Qq Mathlib.Meta.Positivity in /-- The `positivity` extension which identifies expressions of the form `Gamma a`. -/ @[positivity Gamma (_ : ℝ)] -def _root_.Mathlib.Meta.Positivity.evalGamma : PositivityExt where eval {u α} _zα _pα e := do +meta def _root_.Mathlib.Meta.Positivity.evalGamma : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(Gamma $a) => match ← core q(inferInstance) q(inferInstance) a with diff --git a/Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean b/Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean index 7315ab1759de2e..724991e5d8a34f 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Convolution -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds -import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd -import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup -import Mathlib.Analysis.Analytic.IsolatedZeros -import Mathlib.Analysis.Complex.CauchyIntegral +module + +public import Mathlib.Analysis.Convolution +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd +public import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup +public import Mathlib.Analysis.Analytic.IsolatedZeros +public import Mathlib.Analysis.Complex.CauchyIntegral /-! # The Beta function, and further properties of the Gamma function @@ -37,6 +39,8 @@ refined properties of the Gamma function using these relations. `Real.Gamma_mul_Gamma_one_sub`, `Real.Gamma_mul_Gamma_add_half`: real versions of the above. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean b/Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean index 7e5c912d56ccdc..9e789b7d499e47 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Gamma.Deriv -import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral +module + +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deriv +public import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral /-! # Convexity properties of the Gamma function @@ -36,6 +38,8 @@ to a constant, and it should be possible to deduce the value of this constant us formula). -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean b/Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean index 1e2f4e04bee547..6509c115130b83 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.SpecialFunctions.Gamma.Beta +public import Mathlib.Analysis.SpecialFunctions.Gamma.Beta /-! # Deligne's archimedean Gamma-factors @@ -28,6 +29,8 @@ This file defines these functions, and proves some elementary properties, includ formula which is an important input in functional equations of (un-completed) Dirichlet L-functions. -/ +@[expose] public section + open Filter Topology Asymptotics Real Set MeasureTheory open Complex diff --git a/Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean b/Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean index 5ba91bd05ca8dc..fa19fefa3e21d9 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.MellinTransform -import Mathlib.Analysis.SpecialFunctions.Gamma.Basic +module + +public import Mathlib.Analysis.MellinTransform +public import Mathlib.Analysis.SpecialFunctions.Gamma.Basic /-! # Derivative of the Gamma function @@ -24,6 +26,8 @@ This file shows that the (complex) `Γ` function is complex-differentiable at al Gamma -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean b/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean index 6730513193c058..13cd76f0be0869 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.MeasureTheory.Integral.Pi -import Mathlib.Analysis.Fourier.FourierTransform +module + +public import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.MeasureTheory.Integral.Pi +public import Mathlib.Analysis.Fourier.FourierTransform /-! # Fourier transform of the Gaussian @@ -24,6 +26,8 @@ We also give versions of these formulas in finite-dimensional inner product spac -/ +@[expose] public section + /-! ## Fourier integral of Gaussian functions -/ diff --git a/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean b/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean index 8cf5dbd3a10457..ea41fc722663dc 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecialFunctions.Gamma.Basic -import Mathlib.Analysis.SpecialFunctions.PolarCoord -import Mathlib.Analysis.Complex.Convex -import Mathlib.Data.Nat.Factorial.DoubleFactorial +module + +public import Mathlib.Analysis.SpecialFunctions.Gamma.Basic +public import Mathlib.Analysis.SpecialFunctions.PolarCoord +public import Mathlib.Analysis.Complex.Convex +public import Mathlib.Data.Nat.Factorial.DoubleFactorial /-! # Gaussian integral @@ -19,6 +21,8 @@ We prove various versions of the formula for the Gaussian integral: * `Complex.Gamma_one_half_eq`: the formula `Γ (1 / 2) = √π`. -/ +@[expose] public section + noncomputable section open Real Set MeasureTheory Filter Asymptotics diff --git a/Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean b/Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean index 0286093fa3e3cf..dff89a2caf437c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform -import Mathlib.Analysis.Fourier.PoissonSummation +public import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform +public import Mathlib.Analysis.Fourier.PoissonSummation /-! # Poisson summation applied to the Gaussian @@ -19,6 +20,8 @@ for positive real `a`, or complex `a` with positive real part. (See also `NumberTheory.ModularForms.JacobiTheta`.) -/ +@[expose] public section + open Real Set MeasureTheory Filter Asymptotics intervalIntegral open scoped Real Topology FourierTransform RealInnerProductSpace diff --git a/Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean b/Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean index 4d54287a9cd8a4..deb0a3e37ffb23 100644 --- a/Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean +++ b/Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.JapaneseBracket -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Integral.IntegralEqImproper -import Mathlib.MeasureTheory.Measure.Lebesgue.Integral +module + +public import Mathlib.Analysis.SpecialFunctions.JapaneseBracket +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper +public import Mathlib.MeasureTheory.Measure.Lebesgue.Integral /-! # Evaluation of specific improper integrals @@ -25,6 +27,8 @@ mathlib's conventions for integrals over finite intervals (see `intervalIntegral - `Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean`-- integrability of `(1+‖x‖)^(-r)`. -/ +@[expose] public section + open Real Set Filter MeasureTheory intervalIntegral diff --git a/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean index f9358047cffedc..5cae4d73fc95bb 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog -import Mathlib.Analysis.SpecialFunctions.NonIntegrable -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +module + +public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog +public import Mathlib.Analysis.SpecialFunctions.NonIntegrable +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv /-! # Integrability of Special Functions @@ -14,6 +16,8 @@ This file establishes basic facts about the interval integrability of special fu powers and the logarithm. -/ +@[expose] public section + open Interval MeasureTheory Real Set variable {a b c d : ℝ} (n : ℕ) {f : ℝ → ℝ} {μ : Measure ℝ} [IsLocallyFiniteMeasure μ] diff --git a/Mathlib/Analysis/SpecialFunctions/Integrability/LogMeromorphic.lean b/Mathlib/Analysis/SpecialFunctions/Integrability/LogMeromorphic.lean index 7151b0f00b2026..dfa9dec96524c4 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrability/LogMeromorphic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrability/LogMeromorphic.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Meromorphic.FactorizedRational -import Mathlib.Analysis.NormedSpace.Connected -import Mathlib.Analysis.SpecialFunctions.Integrability.Basic -import Mathlib.Analysis.SpecialFunctions.Log.PosLog -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.MeasureTheory.Integral.CircleIntegral +module + +public import Mathlib.Analysis.Meromorphic.FactorizedRational +public import Mathlib.Analysis.NormedSpace.Connected +public import Mathlib.Analysis.SpecialFunctions.Integrability.Basic +public import Mathlib.Analysis.SpecialFunctions.Log.PosLog +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.MeasureTheory.Integral.CircleIntegral /-! # Integrability for Logarithms of Meromorphic Functions @@ -19,6 +21,8 @@ that logarithms of trigonometric functions are interval integrable. In the compl functions are circle integrable over every circle in the complex plane. -/ +@[expose] public section + open Filter Interval MeasureTheory MeromorphicOn Metric Real /-! diff --git a/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean index a70582994e2fff..420dff2bd0e4f8 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog -import Mathlib.Analysis.SpecialFunctions.NonIntegrable -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv -import Mathlib.Analysis.SpecialFunctions.Integrability.Basic -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +module + +public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog +public import Mathlib.Analysis.SpecialFunctions.NonIntegrable +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.Analysis.SpecialFunctions.Integrability.Basic +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts /-! # Integration of specific interval integrals @@ -31,6 +33,8 @@ This file is still being developed. integrate, integration, integrable -/ +@[expose] public section + open Real Set Finset diff --git a/Mathlib/Analysis/SpecialFunctions/Integrals/LogTrigonometric.lean b/Mathlib/Analysis/SpecialFunctions/Integrals/LogTrigonometric.lean index 0363d8ddb915ad..c2ccb6de609299 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrals/LogTrigonometric.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrals/LogTrigonometric.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic +module + +public import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic /-! # Integral of `log ∘ sin` @@ -12,6 +14,8 @@ This file computes special values of the integral of `log ∘ sin`. Given that t involves the dilogarithm, this can be seen as computing special values of `Li₂`. -/ +@[expose] public section + open Filter Interval Real /- diff --git a/Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean b/Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean index 8f2b6df55c599e..74e5dd4eab6b30 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.Complex.Harmonic.MeanValue -import Mathlib.Analysis.InnerProductSpace.Harmonic.Constructions -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Analysis.SpecialFunctions.Integrals.LogTrigonometric -import Mathlib.MeasureTheory.Integral.CircleAverage +module + +public import Mathlib.Analysis.Complex.Harmonic.MeanValue +public import Mathlib.Analysis.InnerProductSpace.Harmonic.Constructions +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Analysis.SpecialFunctions.Integrals.LogTrigonometric +public import Mathlib.MeasureTheory.Integral.CircleAverage /-! # Representation of `log⁺` as a Circle Average @@ -16,6 +18,8 @@ If `a` is any complex number, `circleAverage_log_norm_sub_const_eq_posLog` repre the circle average of `log ‖· - a‖` over the unit circle. -/ +@[expose] public section + open Filter Interval intervalIntegral MeasureTheory Metric Real variable {a c : ℂ} {R : ℝ} diff --git a/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean b/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean index eaea2ccc3615d1..56c66185a15b35 100644 --- a/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean +++ b/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Analysis.SpecialFunctions.Integrability.Basic -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.MeasureTheory.Integral.Layercake +module + +public import Mathlib.Analysis.SpecialFunctions.Integrability.Basic +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.MeasureTheory.Integral.Layercake /-! # Japanese Bracket @@ -22,6 +24,8 @@ than the dimension. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Base.lean b/Mathlib/Analysis/SpecialFunctions/Log/Base.lean index a772c7a77e8a88..82e861c4ac2c67 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Base.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Base.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey, Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Data.Int.Log +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Data.Int.Log /-! # Real logarithm base `b` @@ -22,6 +24,8 @@ We prove some basic properties of this function and its relation to `rpow`. logarithm, continuity -/ +@[expose] public section + open Set Filter Function diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean index d506ba37ca1061..507f567844dea3 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne -/ -import Mathlib.Analysis.SpecialFunctions.Exp -import Mathlib.Data.Nat.Factorization.Defs -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Data.Rat.Cast.CharZero +module + +public import Mathlib.Analysis.SpecialFunctions.Exp +public import Mathlib.Data.Nat.Factorization.Defs +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Data.Rat.Cast.CharZero /-! # Real logarithm @@ -22,6 +24,8 @@ We prove some basic properties of this function and show that it is continuous. logarithm, continuity -/ +@[expose] public section + open Set Filter Function open Topology @@ -535,7 +539,7 @@ lemma log_nz_of_isRat_neg {n : ℤ} : (NormNum.IsRat e n d) → (decide (n / d < /-- Extension for the `positivity` tactic: `Real.log` of a natural number is always nonnegative. -/ @[positivity Real.log (Nat.cast _)] -def evalLogNatCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalLogNatCast : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.log (Nat.cast $a)) => assertInstancesCommute @@ -544,7 +548,7 @@ def evalLogNatCast : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `Real.log` of an integer is always nonnegative. -/ @[positivity Real.log (Int.cast _)] -def evalLogIntCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalLogIntCast : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.log (Int.cast $a)) => assertInstancesCommute @@ -553,7 +557,7 @@ def evalLogIntCast : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `Real.log` of a numeric literal. -/ @[positivity Real.log _] -def evalLogNatLit : PositivityExt where eval {u α} _ _ e := do +meta def evalLogNatLit : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.log $a) => match ← NormNum.derive a with diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean b/Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean index ff5b8f727943e4..9c1138cc982c42 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne -/ -import Mathlib.Analysis.Calculus.Deriv.Pow -import Mathlib.Analysis.Calculus.LogDeriv -import Mathlib.Analysis.SpecialFunctions.Log.Basic -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Analysis.Calculus.Deriv.Pow +public import Mathlib.Analysis.Calculus.LogDeriv +public import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Tactic.AdaptationNote /-! # Derivative and series expansion of real logarithm @@ -21,6 +23,8 @@ that the series `∑' n : ℕ, x ^ (n + 1) / (n + 1)` converges to `(-Real.log ( logarithm, derivative -/ +@[expose] public section + open Filter Finset Set diff --git a/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean b/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean index 54ffe684267f79..45ce3354c9b47e 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone, Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.Data.EReal.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.Data.EReal.Basic /-! # Extended Nonnegative Real Logarithm @@ -27,6 +29,8 @@ the identities `log (x * y) = log x + log y` and `log (x ^ y) = y * log x` ## Tags ENNReal, EReal, logarithm -/ + +@[expose] public section namespace ENNReal open scoped NNReal diff --git a/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLogExp.lean b/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLogExp.lean index 1c752cb1ad42a2..cf9155257cb938 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLogExp.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/ENNRealLogExp.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone, Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Analysis.SpecialFunctions.Log.ERealExp -import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLog -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.Topology.MetricSpace.Polish +module + +public import Mathlib.Analysis.SpecialFunctions.Log.ERealExp +public import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLog +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.Topology.MetricSpace.Polish /-! # Properties of the extended logarithm and exponential @@ -30,6 +32,8 @@ and `exp (x * y) = (exp x) ^ y`. ENNReal, EReal, logarithm, exponential -/ +@[expose] public section + open EReal ENNReal Topology section LogExp diff --git a/Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean b/Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean index ca01911d458d4d..e60f84f0b49b0c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pietro Monticone, Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Analysis.Complex.Exponential -import Mathlib.Data.EReal.Basic +module + +public import Mathlib.Analysis.Complex.Exponential +public import Mathlib.Data.EReal.Basic /-! # Extended Nonnegative Real Exponential @@ -24,6 +26,8 @@ the identities `exp (-x) = (exp x)⁻¹` and `exp (x + y) = exp x * exp y`. ## Tags ENNReal, EReal, exponential -/ + +@[expose] public section namespace EReal open scoped ENNReal diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean b/Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean index e82922d65b29fd..65299fc3fc8286 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Real +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Real /-! # Logarithm Tonality @@ -16,6 +18,8 @@ form `x ^ a`. logarithm, tonality -/ +@[expose] public section + open Set Filter Function diff --git a/Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean b/Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean index 88aeb5e8634c1e..e68f9196563e48 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics -import Mathlib.Analysis.Convex.Deriv +module + +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics +public import Mathlib.Analysis.Convex.Deriv /-! # The function `x ↦ - x * log x` @@ -19,6 +21,8 @@ which is notably used in the theory of Shannon entropy. -/ +@[expose] public section + open scoped Topology namespace Real diff --git a/Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean b/Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean index 354bc9fde36f6a..bbb01ebf76c9a4 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Analysis.SpecialFunctions.Log.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Log.Basic /-! # The Positive Part of the Logarithm @@ -18,6 +20,8 @@ estimates. -/ +@[expose] public section + namespace Real /-! diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean b/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean index 3a41a991893053..1243eb675eb952 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds -import Mathlib.Topology.Algebra.InfiniteSum.Field +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +public import Mathlib.Topology.Algebra.InfiniteSum.Field /-! # Summability of logarithms @@ -15,6 +16,8 @@ to relate summability of `f` to multipliability of `1 + f`. -/ +@[expose] public section + variable {ι : Type*} open Filter Topology NNReal SummationFilter diff --git a/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean b/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean index e1df2b065ee20b..3e8c5c1f04c2ec 100644 --- a/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean +++ b/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel -/ -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Log.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Normed +module + +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Normed /-! # Definition of `mulExpNegMulSq` and properties @@ -27,6 +29,8 @@ boundedness and convergence properties. `mulExpNegMulSq ε ∘ g` is bounded by `norm g`, uniformly in `ε ≥ 0`; -/ +@[expose] public section + open NNReal ENNReal BoundedContinuousFunction Filter open scoped Topology diff --git a/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean b/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean index 638db31ed1ccfd..77b932505d48a4 100644 --- a/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean +++ b/Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel -/ -import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSq -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds -import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Measure.RegularityCompacts -import Mathlib.Topology.ContinuousMap.StoneWeierstrass +module + +public import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSq +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +public import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Measure.RegularityCompacts +public import Mathlib.Topology.ContinuousMap.StoneWeierstrass /-! # Properties of the integral of `mulExpNegMulSq` @@ -37,6 +39,8 @@ This is a key ingredient in the proof of theorem `ext_of_forall_mem_subalgebra_i it is shown that a subalgebra of functions that separates points separates finite measures. -/ +@[expose] public section + open MeasureTheory Real NNReal ENNReal BoundedContinuousFunction Filter open scoped Topology diff --git a/Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean b/Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean index 5891b0e9a84801..128795c651fa93 100644 --- a/Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean +++ b/Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +module + +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus /-! # Non-integrable functions @@ -36,6 +38,8 @@ latter lemma to prove that the function `fun x => x⁻¹` is integrable on `a..b integrable function -/ +@[expose] public section + open scoped MeasureTheory Topology Interval NNReal ENNReal diff --git a/Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean b/Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean index a93402a75ae69f..490426cc3ae6c4 100644 --- a/Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean +++ b/Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Edward Watine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Edward Watine -/ -import Mathlib.Analysis.Analytic.OfScalars -import Mathlib.Analysis.SpecificLimits.RCLike +module + +public import Mathlib.Analysis.Analytic.OfScalars +public import Mathlib.Analysis.SpecificLimits.RCLike /-! # Ordinary hypergeometric function in a Banach algebra @@ -49,6 +51,8 @@ See . hypergeometric, gaussian, ordinary -/ +@[expose] public section + open Nat FormalMultilinearSeries section Field diff --git a/Mathlib/Analysis/SpecialFunctions/Pochhammer.lean b/Mathlib/Analysis/SpecialFunctions/Pochhammer.lean index 3e78899efac306..f5cd4daf370582 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pochhammer.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pochhammer.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Mitchell Horner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Horner -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.Convex.Deriv -import Mathlib.Analysis.Convex.Piecewise -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.Analysis.Convex.Jensen +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.Convex.Deriv +public import Mathlib.Analysis.Convex.Piecewise +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.Analysis.Convex.Jensen /-! # Pochhammer polynomials @@ -29,6 +31,8 @@ This file proves analysis theorems for Pochhammer polynomials. for `Nat.choose`. -/ +@[expose] public section + section DescPochhammer diff --git a/Mathlib/Analysis/SpecialFunctions/PolarCoord.lean b/Mathlib/Analysis/SpecialFunctions/PolarCoord.lean index f8a7d7c9e9ae66..873c85e9fb7c9e 100644 --- a/Mathlib/Analysis/SpecialFunctions/PolarCoord.lean +++ b/Mathlib/Analysis/SpecialFunctions/PolarCoord.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Function.Jacobian -import Mathlib.MeasureTheory.Measure.Lebesgue.Complex -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +module + +public import Mathlib.MeasureTheory.Function.Jacobian +public import Mathlib.MeasureTheory.Measure.Lebesgue.Complex +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv /-! # Polar coordinates @@ -18,6 +20,8 @@ It satisfies the following change of variables formula (see `integral_comp_polar -/ +@[expose] public section + noncomputable section Real open Real Set MeasureTheory diff --git a/Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean b/Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean index 4a471bc1af1142..3f663062d1a88c 100644 --- a/Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean +++ b/Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Exp +module + +public import Mathlib.Analysis.SpecialFunctions.Exp /-! # Limits of `P(x) / e ^ x` for a polynomial `P` @@ -19,6 +21,8 @@ Add more similar lemmas: limit at `-∞`, versions with $e^{cx}$ etc. polynomial, limit, exponential -/ +@[expose] public section + open Filter Topology Real namespace Polynomial diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean index 132687e02f3ee4..94216edf410c82 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal /-! # Limits and asymptotics of power functions at `+∞` @@ -14,6 +16,8 @@ some results on asymptotics as `x → 0` (those which are not just continuity st located here. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean index 616cf96b8095dd..67af1099ddb412 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean @@ -4,13 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Log +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Log /-! # Power function on `ℂ` We construct the power functions `x ^ y`, where `x` and `y` are complex numbers. -/ +@[expose] public section + open Real Topology Filter ComplexConjugate Finset Set namespace Complex diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean index 2b3cab5a2e8f14..98d88e3e26dba8 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics /-! # Continuity of power functions @@ -12,6 +14,8 @@ import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics This file contains lemmas about continuity of the power functions on `ℂ`, `ℝ`, `ℝ≥0`, and `ℝ≥0∞`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean index a6bc2c7e3ea950..e6b953ccf57a08 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean @@ -4,12 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv -import Mathlib.Analysis.Calculus.FDeriv.Extend -import Mathlib.Analysis.Calculus.Deriv.Prod -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv +public import Mathlib.Analysis.Calculus.FDeriv.Extend +public import Mathlib.Analysis.Calculus.Deriv.Prod +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv /-! # Derivatives of power function on `ℂ`, `ℝ`, `ℝ≥0`, and `ℝ≥0∞` @@ -17,6 +19,8 @@ import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv We also prove differentiability and provide derivatives for the power functions `x ^ y`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean index 569240ee025073..573f0a6d55d508 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.MeasureTheory.Integral.Layercake +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.MeasureTheory.Integral.Layercake /-! # The integral of the real power of a nonnegative function @@ -29,6 +31,8 @@ A variant of the formula with measures of sets of the form `{ω | f(ω) > t}` in layer cake representation, Cavalieri's principle, tail probability formula -/ +@[expose] public section + open Set namespace MeasureTheory diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean index 29fba4832a712f..587261289e3a69 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Real +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Real /-! # Power function on `ℝ≥0` and `ℝ≥0∞` @@ -16,6 +18,8 @@ We construct the power functions `x ^ y` where We also prove basic properties of these functions. -/ +@[expose] public section + noncomputable section open Real NNReal ENNReal ComplexConjugate Finset Function Set @@ -1076,7 +1080,7 @@ open Lean Meta Qq the base is nonnegative and positive when the base is positive. This is the `NNReal` analogue of `evalRpow` for `Real`. -/ @[positivity (_ : ℝ≥0) ^ (_ : ℝ)] -def evalNNRealRpow : PositivityExt where eval {u α} _ _ e := do +meta def evalNNRealRpow : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ≥0), ~q($a ^ (0 : ℝ)) => assertInstancesCommute @@ -1090,7 +1094,7 @@ def evalNNRealRpow : PositivityExt where eval {u α} _ _ e := do | _ => pure (.nonnegative q(zero_le $e)) | _, _, _ => throwError "not NNReal.rpow" -private def isFiniteM? (x : Q(ℝ≥0∞)) : MetaM (Option Q($x ≠ (⊤ : ℝ≥0∞))) := do +private meta def isFiniteM? (x : Q(ℝ≥0∞)) : MetaM (Option Q($x ≠ (⊤ : ℝ≥0∞))) := do let mvar ← mkFreshExprMVar q($x ≠ (⊤ : ℝ≥0∞)) let save ← saveState let (goals, _) ← Elab.runTactic mvar.mvarId! <|← `(tactic| finiteness) @@ -1104,7 +1108,7 @@ private def isFiniteM? (x : Q(ℝ≥0∞)) : MetaM (Option Q($x ≠ (⊤ : ℝ the base is nonnegative and positive when the base is positive. This is the `ENNReal` analogue of `evalRpow` for `Real`. -/ @[positivity (_ : ℝ≥0∞) ^ (_ : ℝ)] -def evalENNRealRpow : PositivityExt where eval {u α} _ _ e := do +meta def evalENNRealRpow : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ≥0∞), ~q($a ^ (0 : ℝ)) => assertInstancesCommute diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean b/Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean index 50f882c2356563..6cc7c556ac326e 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Concordance Inc. dba Harmonic. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Floor.Semifield -import Mathlib.Analysis.MeanInequalities -import Mathlib.Data.Nat.NthRoot.Defs -import Mathlib.Tactic.Rify +module + +public import Mathlib.Algebra.Order.Floor.Semifield +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Data.Nat.NthRoot.Defs +public import Mathlib.Tactic.Rify /-! # Lemmas about `Nat.nthRoot` @@ -19,6 +21,8 @@ Rewrite the proof of `Nat.nthRoot.lt_pow_go_succ_aux` to avoid dependencies on r so that we can move this file to `Mathlib/Data/Nat/NthRoot`, then to Batteries. -/ +@[expose] public section + namespace Nat variable {m n a b guess fuel : ℕ} diff --git a/Mathlib/Analysis/SpecialFunctions/Pow/Real.lean b/Mathlib/Analysis/SpecialFunctions/Pow/Real.lean index 8c4633e31ce5c2..22fc687ebf2f8d 100644 --- a/Mathlib/Analysis/SpecialFunctions/Pow/Real.lean +++ b/Mathlib/Analysis/SpecialFunctions/Pow/Real.lean @@ -4,14 +4,18 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébastien Gouëzel, Rémy Degenne, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Complex -import Qq +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Complex +public import Qq /-! # Power function on `ℝ` We construct the power functions `x ^ y`, where `x` and `y` are real numbers. -/ +@[expose] public section + noncomputable section @@ -362,7 +366,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: exponentiation by a real number is positive (namely 1) when the exponent is zero. The other cases are done in `evalRpow`. -/ @[positivity (_ : ℝ) ^ (0 : ℝ)] -def evalRpowZero : PositivityExt where eval {u α} _ _ e := do +meta def evalRpowZero : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q($a ^ (0 : ℝ)) => assertInstancesCommute @@ -372,7 +376,7 @@ def evalRpowZero : PositivityExt where eval {u α} _ _ e := do /-- Extension for the `positivity` tactic: exponentiation by a real number is nonnegative when the base is nonnegative and positive when the base is positive. -/ @[positivity (_ : ℝ) ^ (_ : ℝ)] -def evalRpow : PositivityExt where eval {u α} _zα _pα e := do +meta def evalRpow : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q($a ^ ($b : ℝ)) => let ra ← core q(inferInstance) q(inferInstance) a @@ -1088,7 +1092,7 @@ theorem isRat_rpow_neg {a b : ℝ} {nb : ℕ} /-- Evaluates expressions of the form `a ^ b` when `a` and `b` are both reals. -/ @[norm_num (_ : ℝ) ^ (_ : ℝ)] -def evalRPow : NormNumExt where eval {u α} e := do +meta def evalRPow : NormNumExt where eval {u α} e := do let .app (.app f (a : Q(ℝ))) (b : Q(ℝ)) ← Lean.Meta.whnfR e | failure guard <|← withNewMCtxDepth <| isDefEq f q(HPow.hPow (α := ℝ) (β := ℝ)) haveI' : u =QL 0 := ⟨⟩ diff --git a/Mathlib/Analysis/SpecialFunctions/Sigmoid.lean b/Mathlib/Analysis/SpecialFunctions/Sigmoid.lean index 2bd3e0412e5512..6ceabd98ee3e87 100644 --- a/Mathlib/Analysis/SpecialFunctions/Sigmoid.lean +++ b/Mathlib/Analysis/SpecialFunctions/Sigmoid.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Gaëtan Serré. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gaëtan Serré, Rémy Degenne -/ -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Log.Basic -import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal -import Mathlib.Topology.Algebra.Module.ModuleTopology +module + +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal +public import Mathlib.Topology.Algebra.Module.ModuleTopology /-! # Sigmoid function @@ -53,6 +55,8 @@ that the composition of this embedding with the measurable embedding from a stan sigmoid, embedding, measurable embedding, topological embedding -/ +@[expose] public section + namespace Real /-- The sigmoid function from `ℝ` to `ℝ`. -/ diff --git a/Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean b/Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean index 7fa2b21bf95c5d..69e97fc5ebcaf6 100644 --- a/Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean +++ b/Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.PolynomialExp +module + +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.PolynomialExp /-! # Infinitely smooth transition function @@ -21,6 +23,8 @@ cannot have: by `expNegInvGlue x / (expNegInvGlue x + expNegInvGlue (1 - x))`; -/ +@[expose] public section + noncomputable section open scoped Topology diff --git a/Mathlib/Analysis/SpecialFunctions/Sqrt.lean b/Mathlib/Analysis/SpecialFunctions/Sqrt.lean index bd3083820833fa..a0eae871db9c63 100644 --- a/Mathlib/Analysis/SpecialFunctions/Sqrt.lean +++ b/Mathlib/Analysis/SpecialFunctions/Sqrt.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Calculus.Deriv.Pow +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Calculus.Deriv.Pow /-! # Smoothness of `Real.sqrt` @@ -17,6 +19,8 @@ dot-notation lemmas. sqrt, differentiable -/ +@[expose] public section + open Set diff --git a/Mathlib/Analysis/SpecialFunctions/Stirling.lean b/Mathlib/Analysis/SpecialFunctions/Stirling.lean index dbd083d0960dcf..d21d0ecf47363f 100644 --- a/Mathlib/Analysis/SpecialFunctions/Stirling.lean +++ b/Mathlib/Analysis/SpecialFunctions/Stirling.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching, Fabian Kruse, Nikolas Kuhn -/ -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.Real.Pi.Wallis -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.Real.Pi.Wallis +public import Mathlib.Tactic.AdaptationNote /-! # Stirling's formula @@ -32,6 +34,8 @@ and prove that $a = \sqrt{\pi}$. Here the main ingredient is the convergence of formula for `π`. -/ +@[expose] public section + open scoped Topology Real Nat Asymptotics diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean index b228ca2d0a6362..34dbc567710bca 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Analysis.Normed.Group.AddCircle -import Mathlib.Algebra.CharZero.Quotient -import Mathlib.Topology.Instances.Sign +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Analysis.Normed.Group.AddCircle +public import Mathlib.Algebra.CharZero.Quotient +public import Mathlib.Topology.Instances.Sign /-! # The type of angles @@ -15,6 +17,8 @@ In this file we define `Real.Angle` to be the quotient group `ℝ/2πℤ` and pr about trigonometric functions and angles. -/ +@[expose] public section + open Real diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean index f995b9dbc3e2d7..0fcd4027e4d74c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex /-! # The `arctan` function. @@ -18,6 +20,8 @@ The result of `arctan x + arctan y` is given by `arctan_add`, `arctan_add_eq_add `four_mul_arctan_inv_5_sub_arctan_inv_239`. -/ +@[expose] public section + noncomputable section @@ -385,7 +389,7 @@ open Lean Meta Qq /-- Extension for `Real.arctan`. -/ @[positivity Real.arctan _] -def evalRealArctan : PositivityExt where eval {u α} z p e := do +meta def evalRealArctan : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.arctan $a) => let ra ← core z p a @@ -399,7 +403,7 @@ def evalRealArctan : PositivityExt where eval {u α} z p e := do /-- Extension for `Real.cos (Real.arctan _)`. -/ @[positivity Real.cos (Real.arctan _)] -def evalRealCosArctan : PositivityExt where eval {u α} _ _ e := do +meta def evalRealCosArctan : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.cos (Real.arctan $a)) => assumeInstancesCommute @@ -408,7 +412,7 @@ def evalRealCosArctan : PositivityExt where eval {u α} _ _ e := do /-- Extension for `Real.sin (Real.arctan _)`. -/ @[positivity Real.sin (Real.arctan _)] -def evalRealSinArctan : PositivityExt where eval {u α} z p e := do +meta def evalRealSinArctan : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.sin (Real.arctan $a)) => assumeInstancesCommute diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean index e844768a69a1b4..80f4de6eb60c7c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan -import Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv /-! # Derivatives of the `tan` and `arctan` functions. @@ -12,6 +14,8 @@ import Mathlib.Analysis.SpecialFunctions.Trigonometric.ComplexDeriv Continuity and derivatives of the tangent and arctangent functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean index 64d202ba87e0b4..5a97e71c96b278 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Algebra.Field.NegOnePow -import Mathlib.Algebra.Field.Periodic -import Mathlib.Algebra.QuadraticDiscriminant -import Mathlib.Analysis.SpecialFunctions.Exp +module + +public import Mathlib.Algebra.Field.NegOnePow +public import Mathlib.Algebra.Field.Periodic +public import Mathlib.Algebra.QuadraticDiscriminant +public import Mathlib.Analysis.SpecialFunctions.Exp /-! # Trigonometric functions @@ -41,6 +43,8 @@ in terms of Chebyshev polynomials. sin, cos, tan, angle -/ +@[expose] public section + noncomputable section @@ -172,7 +176,7 @@ open Lean.Meta Qq /-- Extension for the `positivity` tactic: `π` is always positive. -/ @[positivity Real.pi] -def evalRealPi : PositivityExt where eval {u α} _zα _pα e := do +meta def evalRealPi : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(Real.pi) => assertInstancesCommute diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean index 4b1abd9978f89a..b10db0dc263084 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler, Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Convex.SpecificFunctions.Deriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv +module + +public import Mathlib.Analysis.Convex.SpecificFunctions.Deriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv /-! # Polynomial bounds for trigonometric functions @@ -29,6 +31,8 @@ Here we prove the following: sin, cos, tan, angle -/ +@[expose] public section + open Set namespace Real diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean index e05f5f903bad16..c84f01c8e5f43e 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Analysis.Complex.Trigonometric -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.RingTheory.Polynomial.Chebyshev +module + +public import Mathlib.Analysis.Complex.Trigonometric +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.RingTheory.Polynomial.Chebyshev /-! # Multiple angle formulas in terms of Chebyshev polynomials @@ -15,6 +17,8 @@ This file gives the trigonometric characterizations of Chebyshev polynomials, fo (`Complex.cosh`) hyperbolic cosine. -/ +@[expose] public section + namespace Polynomial.Chebyshev diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean index 1b6aa59b0753cd..95b78d2ba1dc09 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Algebra.QuadraticDiscriminant -import Mathlib.Analysis.SpecialFunctions.Pow.Complex +module + +public import Mathlib.Algebra.QuadraticDiscriminant +public import Mathlib.Analysis.SpecialFunctions.Pow.Complex /-! # Complex trigonometric functions @@ -17,6 +19,8 @@ as they are most easily proved by appealing to the corresponding fact for comple functions, or require additional imports which are not available in that file. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean index a5f38eee297114..00d2fa36ea9bd0 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/ComplexDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Complex +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv /-! # Complex trigonometric functions @@ -12,6 +14,8 @@ import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv Basic facts and derivatives for the complex trigonometric functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean index 387f1739fd1685..4c6dd72e5e8399 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Calculus.IteratedDeriv.WithinZpow -import Mathlib.Analysis.Complex.UpperHalfPlane.Exp -import Mathlib.Analysis.Complex.IntegerCompl -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd -import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable -import Mathlib.Topology.Algebra.InfiniteSum.TsumUniformlyOn +module + +public import Mathlib.Analysis.Calculus.IteratedDeriv.WithinZpow +public import Mathlib.Analysis.Complex.UpperHalfPlane.Exp +public import Mathlib.Analysis.Complex.IntegerCompl +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.EulerSineProd +public import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable +public import Mathlib.Topology.Algebra.InfiniteSum.TsumUniformlyOn /-! # Cotangent @@ -23,6 +25,8 @@ as well as the infinite sum representation of cotangent (also known as the Mitta expansion): `π * cot (π * z) = 1 / z + ∑' n : ℕ+, (1 / (z - n) + 1 / (z + n))`. -/ +@[expose] public section + open Real Complex open scoped UpperHalfPlane diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean index eab8435a7894f8..e9fc717fc2d67c 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Order.Monotone.Odd -import Mathlib.Analysis.Calculus.LogDeriv -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Analysis.Calculus.Deriv.MeanValue +module + +public import Mathlib.Order.Monotone.Odd +public import Mathlib.Analysis.Calculus.LogDeriv +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Analysis.Calculus.Deriv.MeanValue /-! # Differentiability of trigonometric functions @@ -22,6 +24,8 @@ computed. sin, cos, tan, angle -/ +@[expose] public section + noncomputable section open scoped Asymptotics Topology Filter @@ -1463,7 +1467,7 @@ private alias ⟨_, sinh_ne_zero_of_ne_zero⟩ := Real.sinh_ne_zero /-- Extension for the `positivity` tactic: `Real.sinh` is positive/nonnegative/nonzero if its input is. -/ @[positivity Real.sinh _] -def evalSinh : PositivityExt where eval {u α} _ _ e := do +meta def evalSinh : PositivityExt where eval {u α} _ _ e := do let zα : Q(Zero ℝ) := q(inferInstance) let pα : Q(PartialOrder ℝ) := q(inferInstance) match u, α, e with diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean index f55f3115dab1da..59cb7cb949ca53 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.MeasureTheory.Integral.PeakFunction +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.MeasureTheory.Integral.PeakFunction /-! # Euler's infinite product for the sine function @@ -18,6 +20,8 @@ is to prove a recurrence relation for the integrals `∫ x in 0..π/2, cos 2 z x generalising the arguments used to prove Wallis' limit formula for `π`. -/ +@[expose] public section + open scoped Real Topology open Real Set Filter intervalIntegral MeasureTheory.MeasureSpace diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean index 2ca7f21a104ccb..d64c63165a0ae2 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic -import Mathlib.Topology.Order.ProjIcc +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic +public import Mathlib.Topology.Order.ProjIcc /-! # Inverse trigonometric functions. @@ -15,6 +17,8 @@ See also `Analysis.SpecialFunctions.Trigonometric.Arctan` for the inverse tan fu Basic inequalities on trigonometric functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean index 5502519e1cf07f..edb923adc61005 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Benjamin Davidson -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv /-! # derivatives of the inverse trigonometric functions @@ -12,6 +14,8 @@ import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv Derivatives of `arcsin` and `arccos`. -/ +@[expose] public section + noncomputable section open scoped Topology Filter Real ContDiff diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean index 1b4bd178aab5dd..9f5b91a0ed1edd 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Series.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Yaël Dillies -/ -import Mathlib.Analysis.Complex.Trigonometric -import Mathlib.Analysis.SpecialFunctions.Exponential +module + +public import Mathlib.Analysis.Complex.Trigonometric +public import Mathlib.Analysis.SpecialFunctions.Exponential /-! # Trigonometric functions as sums of infinite series @@ -19,6 +21,8 @@ In this file we express trigonometric functions in terms of their series expansi * `Real.hasSum_sin`, `Real.sin_eq_tsum`: `Real.sin` as the sum of an infinite series. -/ +@[expose] public section + open NormedSpace open scoped Nat diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Sinc.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Sinc.lean index 58b6de4ab0d2a3..b338262c7656fa 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Sinc.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Sinc.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds -import Mathlib.Analysis.Calculus.DSlope +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Bounds +public import Mathlib.Analysis.Calculus.DSlope /-! # Sinc function @@ -22,6 +24,8 @@ This file contains the definition of the sinc function and some of its propertie -/ +@[expose] public section + open Filter open scoped Topology diff --git a/Mathlib/Analysis/SpecificLimits/ArithmeticGeometric.lean b/Mathlib/Analysis/SpecificLimits/ArithmeticGeometric.lean index 7f53af54f7fcb6..a55f0cea3c758a 100644 --- a/Mathlib/Analysis/SpecificLimits/ArithmeticGeometric.lean +++ b/Mathlib/Analysis/SpecificLimits/ArithmeticGeometric.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Arithmetic-geometric sequences @@ -28,6 +30,8 @@ An arithmetic-geometric sequence is a sequence defined by the recurrence relatio -/ +@[expose] public section + open Filter Topology variable {R : Type*} {a b u₀ : R} diff --git a/Mathlib/Analysis/SpecificLimits/Basic.lean b/Mathlib/Analysis/SpecificLimits/Basic.lean index e8dab052ea3434..6de8cc60f1551c 100644 --- a/Mathlib/Analysis/SpecificLimits/Basic.lean +++ b/Mathlib/Analysis/SpecificLimits/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Johannes Hölzl, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Algebra.Field.GeomSum -import Mathlib.Data.Nat.Factorial.BigOperators -import Mathlib.Order.Filter.AtTopBot.Archimedean -import Mathlib.Order.Iterate -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.Algebra.InfiniteSum.Real -import Mathlib.Topology.Instances.EReal.Lemmas +module + +public import Mathlib.Algebra.Field.GeomSum +public import Mathlib.Data.Nat.Factorial.BigOperators +public import Mathlib.Order.Filter.AtTopBot.Archimedean +public import Mathlib.Order.Iterate +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.Algebra.InfiniteSum.Real +public import Mathlib.Topology.Instances.EReal.Lemmas /-! # A collection of specific limit computations @@ -19,6 +21,8 @@ important specific limit computations in metric spaces, in ordered rings/fields, instances of these such as `ℝ`, `ℝ≥0` and `ℝ≥0∞`. -/ +@[expose] public section + assert_not_exists Module.Basis NormedSpace noncomputable section diff --git a/Mathlib/Analysis/SpecificLimits/Fibonacci.lean b/Mathlib/Analysis/SpecificLimits/Fibonacci.lean index 365c341c2cdd61..7717dc8b91f524 100644 --- a/Mathlib/Analysis/SpecificLimits/Fibonacci.lean +++ b/Mathlib/Analysis/SpecificLimits/Fibonacci.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Snir Broshi. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Snir Broshi -/ -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.NumberTheory.Real.GoldenRatio +module + +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.NumberTheory.Real.GoldenRatio /-! # The ratio of consecutive Fibonacci numbers @@ -12,6 +14,8 @@ import Mathlib.NumberTheory.Real.GoldenRatio We prove that the ratio of consecutive Fibonacci numbers tends to the golden ratio. -/ +@[expose] public section + open Nat Real Filter Tendsto open scoped Topology goldenRatio diff --git a/Mathlib/Analysis/SpecificLimits/FloorPow.lean b/Mathlib/Analysis/SpecificLimits/FloorPow.lean index af3100b2dd1c23..b32f9b6e9bb6e0 100644 --- a/Mathlib/Analysis/SpecificLimits/FloorPow.lean +++ b/Mathlib/Analysis/SpecificLimits/FloorPow.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.Order.Field.GeomSum -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Analysis.SpecialFunctions.Pow.Real +module + +public import Mathlib.Algebra.Order.Field.GeomSum +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Analysis.SpecialFunctions.Pow.Real /-! # Results on discretized exponentials @@ -18,6 +20,8 @@ We state several auxiliary results pertaining to sequences of the form `⌊c^n to `1/j^2`, up to a multiplicative constant. -/ +@[expose] public section + open Filter Finset open Topology diff --git a/Mathlib/Analysis/SpecificLimits/Normed.lean b/Mathlib/Analysis/SpecificLimits/Normed.lean index f3a4d4634a64e0..c7b5967f9e3f96 100644 --- a/Mathlib/Analysis/SpecificLimits/Normed.lean +++ b/Mathlib/Analysis/SpecificLimits/Normed.lean @@ -3,19 +3,21 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Sébastien Gouëzel, Yury Kudryashov, Dylan MacKenzie, Patrick Massot -/ -import Mathlib.Algebra.BigOperators.Module -import Mathlib.Algebra.Order.Field.Power -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.Analysis.Asymptotics.Lemmas -import Mathlib.Analysis.Normed.Ring.InfiniteSum -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Data.List.TFAE -import Mathlib.Data.Nat.Choose.Bounds -import Mathlib.Order.Filter.AtTopBot.ModEq -import Mathlib.RingTheory.Polynomial.Pochhammer -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Algebra.BigOperators.Module +public import Mathlib.Algebra.Order.Field.Power +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.Analysis.Asymptotics.Lemmas +public import Mathlib.Analysis.Normed.Ring.InfiniteSum +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Data.List.TFAE +public import Mathlib.Data.Nat.Choose.Bounds +public import Mathlib.Order.Filter.AtTopBot.ModEq +public import Mathlib.RingTheory.Polynomial.Pochhammer +public import Mathlib.Tactic.NoncommRing /-! # A collection of specific limit computations @@ -24,6 +26,8 @@ This file contains important specific limit computations in (semi-)normed groups well as such computations in `ℝ` when the natural proof passes through a fact about normed spaces. -/ +@[expose] public section + noncomputable section open Set Function Filter Finset Metric Asymptotics Topology Nat NNReal ENNReal diff --git a/Mathlib/Analysis/SpecificLimits/RCLike.lean b/Mathlib/Analysis/SpecificLimits/RCLike.lean index 7034e35a2abc4b..366a7b666adbd7 100644 --- a/Mathlib/Analysis/SpecificLimits/RCLike.lean +++ b/Mathlib/Analysis/SpecificLimits/RCLike.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Xavier Généreux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Généreux, Patrick Massot -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Analysis.RCLike.Basic +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Analysis.RCLike.Basic /-! # A collection of specific limit computations for `RCLike` -/ +@[expose] public section + open Set Algebra Filter open scoped Topology diff --git a/Mathlib/Analysis/Subadditive.lean b/Mathlib/Analysis/Subadditive.lean index 66a34d30b65f52..29766b5d76f23f 100644 --- a/Mathlib/Analysis/Subadditive.lean +++ b/Mathlib/Analysis/Subadditive.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Order.Filter.AtTopBot.Archimedean -import Mathlib.Order.Filter.AtTopBot.Finite -import Mathlib.Order.Filter.AtTopBot.Prod -import Mathlib.Topology.Algebra.Ring.Real +module + +public import Mathlib.Order.Filter.AtTopBot.Archimedean +public import Mathlib.Order.Filter.AtTopBot.Finite +public import Mathlib.Order.Filter.AtTopBot.Prod +public import Mathlib.Topology.Algebra.Ring.Real /-! # Convergence of subadditive sequences @@ -21,6 +23,8 @@ convenience). This result is known as Fekete's lemma in the literature. Define a bundled `SubadditiveHom`, use it. -/ +@[expose] public section + noncomputable section open Set Filter Topology diff --git a/Mathlib/Analysis/SumIntegralComparisons.lean b/Mathlib/Analysis/SumIntegralComparisons.lean index 2a51eded87183d..0203731f436d63 100644 --- a/Mathlib/Analysis/SumIntegralComparisons.lean +++ b/Mathlib/Analysis/SumIntegralComparisons.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kevin H. Wilson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin H. Wilson -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.Data.Set.Function +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.Data.Set.Function /-! # Comparing sums and integrals @@ -40,6 +42,8 @@ At the moment it contains several lemmas in this direction, for antitone or mono analysis, comparison, asymptotics -/ +@[expose] public section + open Set MeasureTheory MeasureSpace diff --git a/Mathlib/Analysis/SumOverResidueClass.lean b/Mathlib/Analysis/SumOverResidueClass.lean index a6fef91703824f..c71f5d1a9ae6fa 100644 --- a/Mathlib/Analysis/SumOverResidueClass.lean +++ b/Mathlib/Analysis/SumOverResidueClass.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Data.ZMod.Basic -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Data.ZMod.Basic +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Sums over residue classes @@ -17,6 +19,8 @@ decreasing, then the sum over `f` restricted to any residue class mod `m ≠ 0` converges if and only if the sum over all of `ℕ` converges. -/ +@[expose] public section + lemma Finset.sum_indicator_mod {R : Type*} [AddCommMonoid R] (m : ℕ) [NeZero m] (f : ℕ → R) : f = ∑ a : ZMod m, {n : ℕ | (n : ZMod m) = a}.indicator f := by diff --git a/Mathlib/Analysis/VonNeumannAlgebra/Basic.lean b/Mathlib/Analysis/VonNeumannAlgebra/Basic.lean index 1e24b4b7e15352..7a0d78ce8d821c 100644 --- a/Mathlib/Analysis/VonNeumannAlgebra/Basic.lean +++ b/Mathlib/Analysis/VonNeumannAlgebra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Analysis.CStarAlgebra.Classes -import Mathlib.Analysis.InnerProductSpace.Adjoint +module + +public import Mathlib.Analysis.CStarAlgebra.Classes +public import Mathlib.Analysis.InnerProductSpace.Adjoint /-! # Von Neumann algebras @@ -22,6 +24,8 @@ We'll also need to prove the von Neumann double commutant theorem, that the concrete definition is equivalent to a *-closed subalgebra which is weakly closed. -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Abelian/Basic.lean b/Mathlib/CategoryTheory/Abelian/Basic.lean index 57c20ab36f2214..67a585fd12ffef 100644 --- a/Mathlib/CategoryTheory/Abelian/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Johan Commelin, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Constructions.Pullbacks -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Abelian.NonPreadditive +module + +public import Mathlib.CategoryTheory.Limits.Constructions.Pullbacks +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Abelian.NonPreadditive /-! # Abelian categories @@ -80,6 +82,8 @@ convention: -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/CommSq.lean b/Mathlib/CategoryTheory/Abelian/CommSq.lean index 0979f6fb10a110..c9d439be3317aa 100644 --- a/Mathlib/CategoryTheory/Abelian/CommSq.lean +++ b/Mathlib/CategoryTheory/Abelian/CommSq.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.Refinements -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.Algebra.Homology.CommSq +module + +public import Mathlib.CategoryTheory.Abelian.Refinements +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.Algebra.Homology.CommSq /-! # The exact sequence attached to a pushout square @@ -23,6 +25,8 @@ We study the associated exact sequence `X₁ ⟶ X₂ ⊞ X₃ ⟶ X₄ ⟶ 0`. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean b/Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean index fc443c76cb081a..cd4d2f6dd5bb9a 100644 --- a/Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean +++ b/Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Joël Riou -/ -import Mathlib.Algebra.Homology.ExactSequence -import Mathlib.CategoryTheory.Abelian.Refinements +module + +public import Mathlib.Algebra.Homology.ExactSequence +public import Mathlib.CategoryTheory.Abelian.Refinements /-! # The four and five lemmas @@ -42,6 +44,8 @@ using duality, but this would require lengthy API developments for `ComposableAr four lemma, five lemma, diagram lemma, diagram chase -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean b/Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean index c969ed44621948..f1275b4cd5b229 100644 --- a/Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean +++ b/Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma +module + +public import Mathlib.Algebra.Homology.ShortComplex.SnakeLemma /-! # Long exact sequence for the kernel and cokernel of a composition @@ -32,6 +34,8 @@ to obtain isomorphisms `ker φ ≅ ker (f ≫ g)` and `coker φ ≅ coker (f ⋙ -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/EpiWithInjectiveKernel.lean b/Mathlib/CategoryTheory/Abelian/EpiWithInjectiveKernel.lean index 5e3fd85640926d..5738ba3102d1b3 100644 --- a/Mathlib/CategoryTheory/Abelian/EpiWithInjectiveKernel.lean +++ b/Mathlib/CategoryTheory/Abelian/EpiWithInjectiveKernel.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Epimorphisms with an injective kernel @@ -18,6 +20,8 @@ degreewise. -/ +@[expose] public section + namespace CategoryTheory open Category Limits ZeroObject Preadditive diff --git a/Mathlib/CategoryTheory/Abelian/Exact.lean b/Mathlib/CategoryTheory/Abelian/Exact.lean index 93e6d822bc0258..35602ada423335 100644 --- a/Mathlib/CategoryTheory/Abelian/Exact.lean +++ b/Mathlib/CategoryTheory/Abelian/Exact.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Adam Topaz, Johan Commelin, Jakob von Raumer -/ -import Mathlib.Algebra.Homology.ImageToKernel -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.CategoryTheory.Abelian.Opposite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Algebra.Homology.ImageToKernel +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.CategoryTheory.Abelian.Opposite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.Tactic.TFAE /-! # Exact sequences in abelian categories @@ -31,6 +33,8 @@ true in more general settings. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Ext.lean b/Mathlib/CategoryTheory/Abelian/Ext.lean index fee524c6c7d4ee..3a256e84825227 100644 --- a/Mathlib/CategoryTheory/Abelian/Ext.lean +++ b/Mathlib/CategoryTheory/Abelian/Ext.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Adam Topaz -/ -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Homology.Opposite -import Mathlib.CategoryTheory.Abelian.LeftDerived -import Mathlib.CategoryTheory.Abelian.Opposite -import Mathlib.CategoryTheory.Abelian.Projective.Resolution -import Mathlib.CategoryTheory.Linear.Yoneda +module + +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Homology.Opposite +public import Mathlib.CategoryTheory.Abelian.LeftDerived +public import Mathlib.CategoryTheory.Abelian.Opposite +public import Mathlib.CategoryTheory.Abelian.Projective.Resolution +public import Mathlib.CategoryTheory.Linear.Yoneda /-! # Ext @@ -24,6 +26,8 @@ compute `Ext` using both projective or injective resolutions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/FreydMitchell.lean b/Mathlib/CategoryTheory/Abelian/FreydMitchell.lean index 6bc13c935f341e..1df183e77c56f8 100644 --- a/Mathlib/CategoryTheory/Abelian/FreydMitchell.lean +++ b/Mathlib/CategoryTheory/Abelian/FreydMitchell.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Indization +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Indization /-! # The Freyd-Mitchell embedding theorem @@ -72,6 +74,8 @@ small category, then this does not change anything. * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Section 9.6 -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Abelian/FunctorCategory.lean b/Mathlib/CategoryTheory/Abelian/FunctorCategory.lean index def26589382f51..1ecedce04b7e79 100644 --- a/Mathlib/CategoryTheory/Abelian/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Abelian/FunctorCategory.lean @@ -3,16 +3,20 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.Preadditive.FunctorCategory -import Mathlib.CategoryTheory.Limits.FunctorCategory.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +module + +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.Preadditive.FunctorCategory +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels /-! # If `D` is abelian, then the functor category `C ⥤ D` is also abelian. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean index 49eb580043fddc..202ac22a775471 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Isaac Hernando, Coleton Kotch, Adam Topaz -/ -import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor -import Mathlib.CategoryTheory.Abelian.FunctorCategory -import Mathlib.CategoryTheory.Limits.Constructions.Filtered -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Limits.Shapes.Countable -import Mathlib.Logic.Equiv.List +module + +public import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor +public import Mathlib.CategoryTheory.Abelian.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Constructions.Filtered +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Shapes.Countable +public import Mathlib.Logic.Equiv.List /-! # Grothendieck Axioms @@ -47,6 +49,8 @@ individual axioms. An `AB4` category is an _abelian_ category satisfying `AB4`, -/ +@[expose] public section + namespace CategoryTheory open Limits Functor diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Colim.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Colim.lean index cf7569dde4ae19..df3854c5d21cd6 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Colim.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Colim.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Filtered.Final -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +module + +public import Mathlib.CategoryTheory.Filtered.Final +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic /-! # Exactness of colimits @@ -22,6 +24,8 @@ is filtered and `C` satisfies AB5). -/ +@[expose] public section + universe v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Connected.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Connected.lean index 135a2773a46f3f..78d1a34dda635b 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Connected.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Connected.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Pullbacks +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Pullbacks /-! # Pulling back connected colimits @@ -25,6 +27,8 @@ let `f : ℤ → ℤ ⊕ ℤ` be the diagonal map, and let `g := 𝟙 (ℤ ⊕ -/ +@[expose] public section + universe w' w v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/FunctorCategory.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/FunctorCategory.lean index 38ce82e5aefa39..7540ad71bc25ec 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/FunctorCategory.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic /-! # AB axioms in functor categories @@ -12,6 +14,8 @@ This file proves that, when the relevant limits and colimits exist, exactness of colimits carries over from `A` to the functor category `C ⥤ A` -/ +@[expose] public section + namespace CategoryTheory open CategoryTheory Limits Opposite diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Indization.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Indization.lean index 2b9ce592d9cd13..8e82b048b1042c 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Indization.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Indization.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Types -import Mathlib.CategoryTheory.Abelian.Indization -import Mathlib.CategoryTheory.Limits.Indization.Category -import Mathlib.CategoryTheory.Generator.Indization -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Types +public import Mathlib.CategoryTheory.Abelian.Indization +public import Mathlib.CategoryTheory.Limits.Indization.Category +public import Mathlib.CategoryTheory.Generator.Indization +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic /-! # AB axioms in the category of ind-objects @@ -17,6 +19,8 @@ We show that `Ind C` satisfies Grothendieck's axiom AB5 if `C` has finite limits `Ind C` is Grothendieck abelian if `C` is small and abelian. -/ +@[expose] public section + universe v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean index 6a632a02a2cb8b..6a3949077e93dc 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic -import Mathlib.CategoryTheory.Generator.Sheaf -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.Equivalence +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.FunctorCategory +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +public import Mathlib.CategoryTheory.Generator.Sheaf +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.Equivalence /-! @@ -19,6 +21,8 @@ then `Sheaf J A` is a Grothendieck abelian category. -/ +@[expose] public section + universe v v₁ v₂ u u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Types.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Types.lean index 2389b7ce3f3ca7..f898a538cefc81 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Types.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Types.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +module + +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic /-! # The category of types satisfies Grothendieck's AB5 axiom @@ -13,6 +15,8 @@ This is of course just the well-known fact that filtered colimits commute with f the category of types. -/ +@[expose] public section + universe v namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Basic.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Basic.lean index 9c22d04e1ff75a..673439171e21b8 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Basic.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Paul Reichert. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Reichert -/ +module -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic -import Mathlib.CategoryTheory.Abelian.Subobject -import Mathlib.CategoryTheory.Abelian.Transfer -import Mathlib.CategoryTheory.Adjunction.AdjointFunctorTheorems -import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Basic +public import Mathlib.CategoryTheory.Abelian.Subobject +public import Mathlib.CategoryTheory.Abelian.Transfer +public import Mathlib.CategoryTheory.Adjunction.AdjointFunctorTheorems +public import Mathlib.CategoryTheory.Limits.HasLimits /-! @@ -42,6 +43,8 @@ Relevant implications of `IsGrothendieckAbelian` are established in -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean index 3bc41c0552be9f..f8b2d04c2e1454 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Subobject -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Subobject +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Morphisms to a colimit in a Grothendieck abelian category @@ -26,6 +28,8 @@ additional assumption that for any map `f : j ⟶ j'` in `J`, -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Coseparator.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Coseparator.lean index 7862b6f667470f..3f887bcc6aa7a9 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Coseparator.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Coseparator.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives -import Mathlib.CategoryTheory.Generator.Abelian +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives +public import Mathlib.CategoryTheory.Generator.Abelian /-! # Grothendieck categories have a coseparator -/ +@[expose] public section + universe w v u namespace CategoryTheory.IsGrothendieckAbelian diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean index 3a323a14d4dae5..1e77e9414b5373 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean @@ -3,14 +3,16 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.CommSq -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ColimCoyoneda -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms -import Mathlib.CategoryTheory.Abelian.Monomorphisms -import Mathlib.CategoryTheory.Preadditive.Injective.LiftingProperties -import Mathlib.CategoryTheory.SmallObject.Basic -import Mathlib.CategoryTheory.Subobject.HasCardinalLT -import Mathlib.Order.TransfiniteIteration +module + +public import Mathlib.CategoryTheory.Abelian.CommSq +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ColimCoyoneda +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms +public import Mathlib.CategoryTheory.Abelian.Monomorphisms +public import Mathlib.CategoryTheory.Preadditive.Injective.LiftingProperties +public import Mathlib.CategoryTheory.SmallObject.Basic +public import Mathlib.CategoryTheory.Subobject.HasCardinalLT +public import Mathlib.Order.TransfiniteIteration /-! # Grothendieck abelian categories have enough injectives @@ -59,6 +61,8 @@ Here, we split the argument into two separate facts: -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean index d65dd4bc03c818..dddb0e53bc3c25 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.ModuleCat.Injective -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Connected -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Coseparator -import Mathlib.CategoryTheory.Preadditive.Injective.Preserves -import Mathlib.CategoryTheory.Preadditive.LiftToFinset -import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits +module + +public import Mathlib.Algebra.Category.ModuleCat.Injective +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Connected +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Coseparator +public import Mathlib.CategoryTheory.Preadditive.Injective.Preserves +public import Mathlib.CategoryTheory.Preadditive.LiftToFinset +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits /-! # The Gabriel-Popescu theorem @@ -31,6 +33,8 @@ The theorem as stated here implies that `C` is a Serre quotient of `ModuleCat (E * [Barry Mitchell, *A quick proof of the Gabriel-Popesco theorem*][mitchell1981] -/ +@[expose] public section + universe v u open CategoryTheory Limits Abelian diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/Opposite.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/Opposite.lean index ce1966b6be9187..85b1c1cd396922 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/Opposite.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/Opposite.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.Yoneda -import Mathlib.CategoryTheory.Generator.Abelian -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives +module + +public import Mathlib.CategoryTheory.Abelian.Yoneda +public import Mathlib.CategoryTheory.Generator.Abelian +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives /-! # Embedding opposites of Grothendieck categories @@ -15,6 +17,8 @@ an object `G : Cᵒᵖ` such that `preadditiveCoyonedaObj G : Cᵒᵖ ⥤ Module and exact and its precomposition with `F` is full if `F` is. -/ +@[expose] public section + universe v u open CategoryTheory Limits Opposite ZeroObject diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Monomorphisms.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Monomorphisms.lean index fef8b67f3934a7..62e9ccef8a7a8a 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Monomorphisms.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Monomorphisms.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition /-! # Monomorphisms in Grothendieck abelian categories @@ -15,6 +17,8 @@ monomorphisms are stable under transfinite composition. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean index acdf897e03763f..0beb5f65750c44 100644 --- a/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean +++ b/Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim -import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic -import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered -import Mathlib.CategoryTheory.Subobject.Lattice +module + +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Colim +public import Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic +public import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered +public import Mathlib.CategoryTheory.Subobject.Lattice /-! # Subobjects in Grothendieck abelian categories @@ -20,6 +22,8 @@ in the image of `F`. -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Images.lean b/Mathlib/CategoryTheory/Abelian/Images.lean index 88b65f5fdbe98c..d5d83a3243edcd 100644 --- a/Mathlib/CategoryTheory/Abelian/Images.lean +++ b/Mathlib/CategoryTheory/Abelian/Images.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # The abelian image and coimage. @@ -21,6 +23,8 @@ and conversely a category with (co)kernels and finite products in which this mor is always an isomorphism is an abelian category. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Indization.lean b/Mathlib/CategoryTheory/Abelian/Indization.lean index b1598059f0fa8d..254be5c1f21580 100644 --- a/Mathlib/CategoryTheory/Abelian/Indization.lean +++ b/Mathlib/CategoryTheory/Abelian/Indization.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Preadditive.Indization -import Mathlib.CategoryTheory.Abelian.FunctorCategory -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages +module + +public import Mathlib.CategoryTheory.Preadditive.Indization +public import Mathlib.CategoryTheory.Abelian.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages /-! # The category of ind-objects is abelian @@ -16,6 +18,8 @@ In the file `Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Indization.lean`, this situation `Ind C` is in fact Grothendieck abelian. -/ +@[expose] public section + universe v open CategoryTheory.Abelian diff --git a/Mathlib/CategoryTheory/Abelian/Injective/Basic.lean b/Mathlib/CategoryTheory/Abelian/Injective/Basic.lean index 5df5121b4d04fd..dfaea8068c9200 100644 --- a/Mathlib/CategoryTheory/Abelian/Injective/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/Injective/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits -import Mathlib.CategoryTheory.Preadditive.Yoneda.Injective -import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor +module + +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Injective +public import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor /-! # Injective objects in abelian categories @@ -16,6 +18,8 @@ import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor on them preserves finite colimits. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean b/Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean index 81be139f200016..8deaa5c9e38680 100644 --- a/Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean +++ b/Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.Data.ENat.Lattice /-! # Injective dimension @@ -24,6 +26,8 @@ We also define the Injective dimension in `WithBot ℕ∞` as `injectiveDimensio -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Injective/Resolution.lean b/Mathlib/CategoryTheory/Abelian/Injective/Resolution.lean index 8cbfada80a8a16..397810ffcf3792 100644 --- a/Mathlib/CategoryTheory/Abelian/Injective/Resolution.lean +++ b/Mathlib/CategoryTheory/Abelian/Injective/Resolution.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Kim Morrison -/ -import Mathlib.CategoryTheory.Preadditive.Injective.Resolution -import Mathlib.Algebra.Homology.HomotopyCategory -import Mathlib.Data.Set.Subsingleton -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.CategoryTheory.Preadditive.Injective.Resolution +public import Mathlib.Algebra.Homology.HomotopyCategory +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Tactic.AdaptationNote /-! # Abelian categories with enough injectives have injective resolutions @@ -28,6 +30,8 @@ When the underlying category is abelian: is injective, we can apply `Injective.d` repeatedly to obtain an injective resolution of `X`. -/ +@[expose] public section + noncomputable section open CategoryTheory Category Limits diff --git a/Mathlib/CategoryTheory/Abelian/LeftDerived.lean b/Mathlib/CategoryTheory/Abelian/LeftDerived.lean index 1ab2e59a7383cb..aad4cadd690b5f 100644 --- a/Mathlib/CategoryTheory/Abelian/LeftDerived.lean +++ b/Mathlib/CategoryTheory/Abelian/LeftDerived.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Riccardo Brasca, Adam Topaz, Jujian Zhang, Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.CategoryTheory.Abelian.Projective.Resolution +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.CategoryTheory.Abelian.Projective.Resolution /-! # Left-derived functors @@ -46,6 +48,8 @@ and show how to compute the components. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Monomorphisms.lean b/Mathlib/CategoryTheory/Abelian/Monomorphisms.lean index dba716b56683f3..1a74e6a3bb623b 100644 --- a/Mathlib/CategoryTheory/Abelian/Monomorphisms.lean +++ b/Mathlib/CategoryTheory/Abelian/Monomorphisms.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.Abelian.Basic /-! # Monomorphisms are stable under cobase change @@ -15,6 +17,8 @@ In an abelian category `C`, the class of morphism -/ +@[expose] public section + universe v u namespace CategoryTheory.Abelian diff --git a/Mathlib/CategoryTheory/Abelian/NonPreadditive.lean b/Mathlib/CategoryTheory/Abelian/NonPreadditive.lean index b6dcce09fec15d..22df52c700e339 100644 --- a/Mathlib/CategoryTheory/Abelian/NonPreadditive.lean +++ b/Mathlib/CategoryTheory/Abelian/NonPreadditive.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Equalizers -import Mathlib.CategoryTheory.Abelian.Images -import Mathlib.CategoryTheory.Preadditive.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Equalizers +public import Mathlib.CategoryTheory.Abelian.Images +public import Mathlib.CategoryTheory.Preadditive.Basic /-! # Every NonPreadditiveAbelian category is preadditive @@ -48,6 +50,8 @@ reconstruct any natural preadditive structure the category may have. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Opposite.lean b/Mathlib/CategoryTheory/Abelian/Opposite.lean index b121d934c269da..5acb6d22299d62 100644 --- a/Mathlib/CategoryTheory/Abelian/Opposite.lean +++ b/Mathlib/CategoryTheory/Abelian/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.Preadditive.Opposite -import Mathlib.CategoryTheory.Limits.Opposites +module + +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.Preadditive.Opposite +public import Mathlib.CategoryTheory.Limits.Opposites /-! # The opposite of an abelian category is abelian. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Projective/Basic.lean b/Mathlib/CategoryTheory/Abelian/Projective/Basic.lean index 7bb49658baa6b1..cd1f4b0abb7b69 100644 --- a/Mathlib/CategoryTheory/Abelian/Projective/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/Projective/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.CategoryTheory.Preadditive.Yoneda.Projective -import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor +module + +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Projective +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Limits +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Homology.ShortComplex.ExactFunctor /-! # Projective objects in abelian categories @@ -17,6 +19,8 @@ In an abelian category, an object `P` is projective iff the functor -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean b/Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean index e4d443626bead2..998c5577f932bc 100644 --- a/Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean +++ b/Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Nailin Guan -/ -import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.Data.ENat.Lattice /-! # Projective dimension @@ -24,6 +26,8 @@ We also define the projective dimension in `WithBot ℕ∞` as `projectiveDimens -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean b/Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean index 0c9f658877cbee..62255508e386ee 100644 --- a/Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean +++ b/Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison, Jakob von Raumer, Joël Riou -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Resolution -import Mathlib.Algebra.Homology.HomotopyCategory -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Resolution +public import Mathlib.Algebra.Homology.HomotopyCategory +public import Mathlib.Tactic.SuppressCompilation /-! # Abelian categories with enough projectives have projective resolutions @@ -27,6 +29,8 @@ When the underlying category is abelian: is projective, we can apply `Projective.d` repeatedly to obtain a projective resolution of `X`. -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Pseudoelements.lean b/Mathlib/CategoryTheory/Abelian/Pseudoelements.lean index 742cd3e609e3de..12fc779d10a10c 100644 --- a/Mathlib/CategoryTheory/Abelian/Pseudoelements.lean +++ b/Mathlib/CategoryTheory/Abelian/Pseudoelements.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.Exact -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.Algebra.Category.ModuleCat.EpiMono +module + +public import Mathlib.CategoryTheory.Abelian.Exact +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.Algebra.Category.ModuleCat.EpiMono /-! # Pseudoelements in abelian categories @@ -72,6 +74,8 @@ writing `g a` raises a "function expected" error. This error can be fixed by wri * [F. Borceux, *Handbook of Categorical Algebra 2*][borceux-vol2] -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Refinements.lean b/Mathlib/CategoryTheory/Abelian/Refinements.lean index 723557e6166c02..27299f28f7a7df 100644 --- a/Mathlib/CategoryTheory/Abelian/Refinements.lean +++ b/Mathlib/CategoryTheory/Abelian/Refinements.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Exact +module + +public import Mathlib.Algebra.Homology.ShortComplex.Exact /-! # Refinements @@ -68,6 +70,8 @@ these morphisms and sometimes introducing an auxiliary epimorphism `A' ⟶ A`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Abelian/RightDerived.lean b/Mathlib/CategoryTheory/Abelian/RightDerived.lean index 10032e16d33492..e8c641d52e051a 100644 --- a/Mathlib/CategoryTheory/Abelian/RightDerived.lean +++ b/Mathlib/CategoryTheory/Abelian/RightDerived.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.CategoryTheory.Abelian.Injective.Resolution +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.CategoryTheory.Abelian.Injective.Resolution /-! # Right-derived functors @@ -46,6 +48,8 @@ and show how to compute the components. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/SerreClass/Basic.lean b/Mathlib/CategoryTheory/Abelian/SerreClass/Basic.lean index 1c92e5ded37d7e..f29adfaf522fdc 100644 --- a/Mathlib/CategoryTheory/Abelian/SerreClass/Basic.lean +++ b/Mathlib/CategoryTheory/Abelian/SerreClass/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.ObjectProperty.ContainsZero -import Mathlib.CategoryTheory.ObjectProperty.EpiMono -import Mathlib.CategoryTheory.ObjectProperty.Extensions -import Mathlib.Algebra.Homology.ShortComplex.ShortExact +module + +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.ObjectProperty.ContainsZero +public import Mathlib.CategoryTheory.ObjectProperty.EpiMono +public import Mathlib.CategoryTheory.ObjectProperty.Extensions +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact /-! # Serre classes @@ -27,6 +29,8 @@ and is closed under subobjects, quotients and extensions. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean b/Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean index 0d9f4cc9a106e5..e6cacb328d8f4e 100644 --- a/Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean +++ b/Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.SerreClass.MorphismProperty -import Mathlib.CategoryTheory.Localization.Bousfield +module + +public import Mathlib.CategoryTheory.Abelian.SerreClass.MorphismProperty +public import Mathlib.CategoryTheory.Localization.Bousfield /-! # Bousfield localizations with respect to Serre classes @@ -20,6 +22,8 @@ that are sent to a zero object by `G`. -/ +@[expose] public section + namespace CategoryTheory open Localization Limits MorphismProperty diff --git a/Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean b/Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean index a0ee7867ffea2a..0a2034687217ad 100644 --- a/Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean +++ b/Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.SerreClass.Basic -import Mathlib.CategoryTheory.Abelian.DiagramLemmas.KernelCokernelComp -import Mathlib.CategoryTheory.MorphismProperty.Composition -import Mathlib.CategoryTheory.MorphismProperty.Retract -import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy +module + +public import Mathlib.CategoryTheory.Abelian.SerreClass.Basic +public import Mathlib.CategoryTheory.Abelian.DiagramLemmas.KernelCokernelComp +public import Mathlib.CategoryTheory.MorphismProperty.Composition +public import Mathlib.CategoryTheory.MorphismProperty.Retract +public import Mathlib.CategoryTheory.MorphismProperty.IsInvertedBy /-! # The class of isomorphisms modulo a Serre class @@ -25,6 +27,8 @@ of three property and is stable under retracts. (Similarly, we define -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Abelian/Subobject.lean b/Mathlib/CategoryTheory/Abelian/Subobject.lean index 804b5c0346d52c..cafb3f80e3d4e6 100644 --- a/Mathlib/CategoryTheory/Abelian/Subobject.lean +++ b/Mathlib/CategoryTheory/Abelian/Subobject.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Subobject.Limits -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.CategoryTheory.Subobject.Limits +public import Mathlib.CategoryTheory.Abelian.Basic /-! # Equivalence between subobjects and quotients in an abelian category -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits Opposite diff --git a/Mathlib/CategoryTheory/Abelian/Transfer.lean b/Mathlib/CategoryTheory/Abelian/Transfer.lean index 2e47f540badd52..08c628dd780828 100644 --- a/Mathlib/CategoryTheory/Abelian/Transfer.lean +++ b/Mathlib/CategoryTheory/Abelian/Transfer.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages -import Mathlib.CategoryTheory.Preadditive.Transfer +module + +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages +public import Mathlib.CategoryTheory.Preadditive.Transfer /-! # Transferring "abelian-ness" across a functor @@ -34,6 +36,8 @@ Someone may like to formalize that lemma, and restate this theorem in terms of ` (That lemma has a nice string diagrammatic proof that holds in any bicategory.) -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Abelian/Yoneda.lean b/Mathlib/CategoryTheory/Abelian/Yoneda.lean index aebb6467243b94..ea94d6680ce8a4 100644 --- a/Mathlib/CategoryTheory/Abelian/Yoneda.lean +++ b/Mathlib/CategoryTheory/Abelian/Yoneda.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four -import Mathlib.CategoryTheory.Abelian.Projective.Basic -import Mathlib.CategoryTheory.Generator.Preadditive -import Mathlib.CategoryTheory.Limits.Preserves.Opposites +module + +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.CategoryTheory.Abelian.DiagramLemmas.Four +public import Mathlib.CategoryTheory.Abelian.Projective.Basic +public import Mathlib.CategoryTheory.Generator.Preadditive +public import Mathlib.CategoryTheory.Limits.Preserves.Opposites /-! # Fullness of restrictions of `preadditiveCoyonedaObj` @@ -17,6 +19,8 @@ In this file we give a sufficient criterion for a restriction of the functor is a projective separator such that every object in the relevant subcategory is a quotient of `G`. -/ +@[expose] public section + open CategoryTheory Opposite Limits universe v v' u u' diff --git a/Mathlib/CategoryTheory/Action.lean b/Mathlib/CategoryTheory/Action.lean index 3c455e01aa98d1..4afaa22f964262 100644 --- a/Mathlib/CategoryTheory/Action.lean +++ b/Mathlib/CategoryTheory/Action.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.SingleObj -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.SemidirectProduct +module + +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.SingleObj +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.SemidirectProduct /-! # Actions as functors and as categories @@ -20,6 +22,8 @@ A morphism `x ⟶ y` in this category is simply a scalar `m : M` such that `m where M is a group, this category is a groupoid -- the *action groupoid*. -/ +@[expose] public section + open MulAction SemidirectProduct diff --git a/Mathlib/CategoryTheory/Action/Basic.lean b/Mathlib/CategoryTheory/Action/Basic.lean index 28b4bc0e096a37..f3d9c0fc2b335a 100644 --- a/Mathlib/CategoryTheory/Action/Basic.lean +++ b/Mathlib/CategoryTheory/Action/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Grp.Basic -import Mathlib.Algebra.Ring.PUnit -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Conj -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.SingleObj -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.Category.Grp.Basic +public import Mathlib.Algebra.Ring.PUnit +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Conj +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.SingleObj +public import Mathlib.Tactic.ApplyFun /-! # `Action V G`, the category of actions of a monoid `G` inside some category `V`. @@ -23,6 +25,8 @@ and construct the restriction functors `res {G H} [Monoid G] [Monoid H] (f : G →* H) : Action V H ⥤ Action V G`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Action/Concrete.lean b/Mathlib/CategoryTheory/Action/Concrete.lean index 994300c2ecfed6..2aa8c98228a2d7 100644 --- a/Mathlib/CategoryTheory/Action/Concrete.lean +++ b/Mathlib/CategoryTheory/Action/Concrete.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.CategoryTheory.Action.Basic -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.CategoryTheory.Action.Basic +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Constructors for `Action V G` for some concrete categories @@ -16,6 +18,8 @@ import Mathlib.GroupTheory.QuotientGroup.Defs We construct `Action (Type*) G` from a `[MulAction G X]` instance and give some applications. -/ +@[expose] public section + assert_not_exists Field universe u v diff --git a/Mathlib/CategoryTheory/Action/Continuous.lean b/Mathlib/CategoryTheory/Action/Continuous.lean index c6f49091a05612..b917ae4e5d719c 100644 --- a/Mathlib/CategoryTheory/Action/Continuous.lean +++ b/Mathlib/CategoryTheory/Action/Continuous.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Action.Basic -import Mathlib.Topology.Algebra.MulAction -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Algebra.ContinuousMonoidHom +module + +public import Mathlib.CategoryTheory.Action.Basic +public import Mathlib.Topology.Algebra.MulAction +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Algebra.ContinuousMonoidHom /-! @@ -25,6 +27,8 @@ of `HasForget₂` instances. -/ +@[expose] public section + open CategoryTheory Limits variable (V : Type*) [Category V] [HasForget V] [HasForget₂ V TopCat] diff --git a/Mathlib/CategoryTheory/Action/Limits.lean b/Mathlib/CategoryTheory/Action/Limits.lean index 1dcff63f2792e8..47a7839f1a1c1d 100644 --- a/Mathlib/CategoryTheory/Action/Limits.lean +++ b/Mathlib/CategoryTheory/Action/Limits.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Abelian.FunctorCategory -import Mathlib.CategoryTheory.Abelian.Transfer -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.CategoryTheory.Linear.FunctorCategory -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Action.Basic +module + +public import Mathlib.CategoryTheory.Abelian.FunctorCategory +public import Mathlib.CategoryTheory.Abelian.Transfer +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.CategoryTheory.Linear.FunctorCategory +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Action.Basic /-! # Categorical properties of `Action V G` @@ -19,6 +21,8 @@ We show: * When `V` is preadditive, linear, or abelian so is `Action V G`. -/ +@[expose] public section + universe u v w₁ w₂ t₁ t₂ open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Action/Monoidal.lean b/Mathlib/CategoryTheory/Action/Monoidal.lean index 91f1608593a603..e2821ce9c743fe 100644 --- a/Mathlib/CategoryTheory/Action/Monoidal.lean +++ b/Mathlib/CategoryTheory/Action/Monoidal.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.CategoryTheory.Monoidal.Linear -import Mathlib.CategoryTheory.Monoidal.Rigid.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Rigid.OfEquivalence -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.CategoryTheory.Action.Concrete -import Mathlib.CategoryTheory.Action.Limits +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.CategoryTheory.Monoidal.Linear +public import Mathlib.CategoryTheory.Monoidal.Rigid.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Rigid.OfEquivalence +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.CategoryTheory.Action.Concrete +public import Mathlib.CategoryTheory.Action.Limits /-! # Induced monoidal structure on `Action V G` @@ -20,6 +22,8 @@ We show: * When `V` is monoidal, braided, or symmetric, so is `Action V G`. -/ +@[expose] public section + universe u open CategoryTheory Limits MonoidalCategory diff --git a/Mathlib/CategoryTheory/Adhesive.lean b/Mathlib/CategoryTheory/Adhesive.lean index a6c717b27ed278..25d3122892cc6f 100644 --- a/Mathlib/CategoryTheory/Adhesive.lean +++ b/Mathlib/CategoryTheory/Adhesive.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Extensive -import Mathlib.CategoryTheory.Limits.Shapes.KernelPair -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +module + +public import Mathlib.CategoryTheory.Extensive +public import Mathlib.CategoryTheory.Limits.Shapes.KernelPair +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono /-! @@ -34,6 +36,8 @@ import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Additive.lean b/Mathlib/CategoryTheory/Adjunction/Additive.lean index 014fe49044ce04..1e842e8d5756e5 100644 --- a/Mathlib/CategoryTheory/Adjunction/Additive.lean +++ b/Mathlib/CategoryTheory/Adjunction/Additive.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel, Joël Riou -/ -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic /-! # Adjunctions between additive functors. @@ -18,6 +20,8 @@ preadditive categories: -/ +@[expose] public section + universe u₁ u₂ v₁ v₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean b/Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean index 70462aa2882952..921d06983731f9 100644 --- a/Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean +++ b/Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Small -import Mathlib.CategoryTheory.Generator.Basic -import Mathlib.CategoryTheory.Limits.ConeCategory -import Mathlib.CategoryTheory.Limits.Constructions.WeaklyInitial -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Subobject.Comma +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Small +public import Mathlib.CategoryTheory.Generator.Basic +public import Mathlib.CategoryTheory.Limits.ConeCategory +public import Mathlib.CategoryTheory.Limits.Constructions.WeaklyInitial +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Subobject.Comma /-! # Adjoint functor theorem @@ -37,6 +39,8 @@ Finally, we prove the following corollaries of the special adjoint functor theor -/ +@[expose] public section + universe v u u' diff --git a/Mathlib/CategoryTheory/Adjunction/Basic.lean b/Mathlib/CategoryTheory/Adjunction/Basic.lean index 1944fa7b6fa81d..40e206f0cb5da4 100644 --- a/Mathlib/CategoryTheory/Adjunction/Basic.lean +++ b/Mathlib/CategoryTheory/Adjunction/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Johan Commelin, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Equivalence -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.CategoryTheory.Yoneda /-! # Adjunctions between functors @@ -72,6 +74,8 @@ Conversely `Equivalence.toAdjunction` recovers the underlying adjunction from an `L ⋙ R ≅ 𝟭 C`, the unit is an isomorphism, and similarly for the counit. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Comma.lean b/Mathlib/CategoryTheory/Adjunction/Comma.lean index 1901fe5f63d0f5..aa30ed4e6750fa 100644 --- a/Mathlib/CategoryTheory/Adjunction/Comma.lean +++ b/Mathlib/CategoryTheory/Adjunction/Comma.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.PUnit +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.PUnit /-! # Properties of comma categories relating to adjunctions @@ -21,6 +23,8 @@ provided a left adjoint. The duals are also shown. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Adjunction/Evaluation.lean b/Mathlib/CategoryTheory/Adjunction/Evaluation.lean index 42b89af0d5fccf..1595e15532a6a6 100644 --- a/Mathlib/CategoryTheory/Adjunction/Evaluation.lean +++ b/Mathlib/CategoryTheory/Adjunction/Evaluation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Functor.EpiMono +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Functor.EpiMono /-! @@ -14,6 +16,8 @@ We show that evaluation of functors have adjoints, given the existence of (co)pr -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/FullyFaithful.lean b/Mathlib/CategoryTheory/Adjunction/FullyFaithful.lean index 5540a84c13a713..8e17c4d49be708 100644 --- a/Mathlib/CategoryTheory/Adjunction/FullyFaithful.lean +++ b/Mathlib/CategoryTheory/Adjunction/FullyFaithful.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.MorphismProperty.Basic -import Mathlib.CategoryTheory.EpiMono +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Basic +public import Mathlib.CategoryTheory.EpiMono /-! # Adjoints of fully faithful functors @@ -29,6 +31,8 @@ See `CategoryTheory.Adjunction.isIso_unit_of_iso` and `CategoryTheory.Adjunction.isIso_counit_of_iso`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Lifting/Left.lean b/Mathlib/CategoryTheory/Adjunction/Lifting/Left.lean index e7583ca320731a..e20362a7fc9a5b 100644 --- a/Mathlib/CategoryTheory/Adjunction/Lifting/Left.lean +++ b/Mathlib/CategoryTheory/Adjunction/Lifting/Left.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Monad.Adjunction -import Mathlib.CategoryTheory.Monad.Coequalizer +module + +public import Mathlib.CategoryTheory.Monad.Adjunction +public import Mathlib.CategoryTheory.Monad.Coequalizer /-! # Adjoint lifting @@ -55,6 +57,8 @@ Please try to keep them in sync. * A unified approach to the lifting of adjoints (AJ Power, 1988) -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Lifting/Right.lean b/Mathlib/CategoryTheory/Adjunction/Lifting/Right.lean index 6bbc1c0285549e..b4880768efc306 100644 --- a/Mathlib/CategoryTheory/Adjunction/Lifting/Right.lean +++ b/Mathlib/CategoryTheory/Adjunction/Lifting/Right.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Monad.Adjunction -import Mathlib.CategoryTheory.Monad.Equalizer +module + +public import Mathlib.CategoryTheory.Monad.Adjunction +public import Mathlib.CategoryTheory.Monad.Equalizer /-! # Adjoint lifting @@ -56,6 +58,8 @@ Please try to keep them in sync. * A unified approach to the lifting of adjoints (AJ Power, 1988) -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Limits.lean b/Mathlib/CategoryTheory/Adjunction/Limits.lean index 26aeba610a5809..cc938fc0b10dee 100644 --- a/Mathlib/CategoryTheory/Adjunction/Limits.lean +++ b/Mathlib/CategoryTheory/Adjunction/Limits.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Johan Commelin -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Limits.Creates +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Limits.Creates /-! # Adjunctions and limits @@ -25,6 +27,8 @@ is naturally isomorphic to the functor associating to each `Y` the cocones over `K` with cone point `G.obj Y`. -/ +@[expose] public section + open Opposite diff --git a/Mathlib/CategoryTheory/Adjunction/Mates.lean b/Mathlib/CategoryTheory/Adjunction/Mates.lean index bb943bc546a4bc..f443cb28a4fd3f 100644 --- a/Mathlib/CategoryTheory/Adjunction/Mates.lean +++ b/Mathlib/CategoryTheory/Adjunction/Mates.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Emily Riehl -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Functor.TwoSquare -import Mathlib.CategoryTheory.HomCongr +module -import Mathlib.Tactic.ApplyFun +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Functor.TwoSquare +public import Mathlib.CategoryTheory.HomCongr + +public import Mathlib.Tactic.ApplyFun /-! # Mate of natural transformations @@ -41,6 +43,8 @@ This also relates to Grothendieck's yoga of six operations, though this is not s mathlib: https://ncatlab.org/nlab/show/six+operations. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ v₆ v₇ v₈ v₉ u₁ u₂ u₃ u₄ u₅ u₆ u₇ u₈ u₉ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Opposites.lean b/Mathlib/CategoryTheory/Adjunction/Opposites.lean index b071d7e251756f..e31028ec0637f8 100644 --- a/Mathlib/CategoryTheory/Adjunction/Opposites.lean +++ b/Mathlib/CategoryTheory/Adjunction/Opposites.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Thomas Read, Andrew Yang -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Yoneda -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Yoneda +public import Mathlib.CategoryTheory.Opposites /-! # Opposite adjunctions @@ -17,6 +19,8 @@ opposites. adjunction, opposite, uniqueness -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Parametrized.lean b/Mathlib/CategoryTheory/Adjunction/Parametrized.lean index 4f1744be454117..873a932f619d60 100644 --- a/Mathlib/CategoryTheory/Adjunction/Parametrized.lean +++ b/Mathlib/CategoryTheory/Adjunction/Parametrized.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # Adjunctions with a parameter @@ -33,6 +35,8 @@ left adjoints). -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean b/Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean index 41ba44735c0a86..49e11302beee81 100644 --- a/Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean +++ b/Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Yoneda +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Yoneda /-! # Domain of definition of the partial left adjoint @@ -32,6 +33,8 @@ the predicate `F.LeftAdjointObjIsDefined` is stable under colimits indexed by `J -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Adjunction/Quadruple.lean b/Mathlib/CategoryTheory/Adjunction/Quadruple.lean index fb17ace7915fc8..fde522c657a711 100644 --- a/Mathlib/CategoryTheory/Adjunction/Quadruple.lean +++ b/Mathlib/CategoryTheory/Adjunction/Quadruple.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Ben Eltschig. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ben Eltschig -/ -import Mathlib.CategoryTheory.Adjunction.Triple -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +module + +public import Mathlib.CategoryTheory.Adjunction.Triple +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono /-! # Adjoint quadruples @@ -29,6 +31,8 @@ needed for the theorem statements, so some lemmas require only e.g. `F` to be fu really this means `F` and `R` both must be. -/ +@[expose] public section + open CategoryTheory Limits Functor Adjunction Triple universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Adjunction/Reflective.lean b/Mathlib/CategoryTheory/Adjunction/Reflective.lean index c002bdb97cb056..02223e7556c4ff 100644 --- a/Mathlib/CategoryTheory/Adjunction/Reflective.lean +++ b/Mathlib/CategoryTheory/Adjunction/Reflective.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Functor.EpiMono -import Mathlib.CategoryTheory.HomCongr +module + +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Functor.EpiMono +public import Mathlib.CategoryTheory.HomCongr /-! # Reflective functors @@ -16,6 +18,8 @@ Note properties of reflective functors relating to limits and colimits are inclu `Mathlib/CategoryTheory/Monad/Limits.lean`. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Adjunction/Restrict.lean b/Mathlib/CategoryTheory/Adjunction/Restrict.lean index 2bc3f50a92d6bf..189de01ea1e763 100644 --- a/Mathlib/CategoryTheory/Adjunction/Restrict.lean +++ b/Mathlib/CategoryTheory/Adjunction/Restrict.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.HomCongr +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.HomCongr /-! # Restricting adjunctions @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.HomCongr inclusions. -/ +@[expose] public section + namespace CategoryTheory.Adjunction universe v₁ v₂ u₁ u₂ v₃ v₄ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Adjunction/Triple.lean b/Mathlib/CategoryTheory/Adjunction/Triple.lean index 837ff738a52c96..3141535a396bf4 100644 --- a/Mathlib/CategoryTheory/Adjunction/Triple.lean +++ b/Mathlib/CategoryTheory/Adjunction/Triple.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Ben Eltschig -/ -import Mathlib.CategoryTheory.Adjunction.Opposites -import Mathlib.CategoryTheory.Adjunction.Unique -import Mathlib.CategoryTheory.Monad.Adjunction +module + +public import Mathlib.CategoryTheory.Adjunction.Opposites +public import Mathlib.CategoryTheory.Adjunction.Unique +public import Mathlib.CategoryTheory.Monad.Adjunction /-! # Adjoint triples @@ -43,6 +45,8 @@ bundle the adjunctions in a structure `Triple F G H`. `adj₁.counit ≫ adj₂.unit : G ⋙ F ⟶ G ⋙ H` is. -/ +@[expose] public section + open CategoryTheory Functor variable {C D : Type*} [Category C] [Category D] diff --git a/Mathlib/CategoryTheory/Adjunction/Unique.lean b/Mathlib/CategoryTheory/Adjunction/Unique.lean index d5ec98ea735da4..813ac528352108 100644 --- a/Mathlib/CategoryTheory/Adjunction/Unique.lean +++ b/Mathlib/CategoryTheory/Adjunction/Unique.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Thomas Read, Andrew Yang, Dagur Asgeirsson, Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Mates +module + +public import Mathlib.CategoryTheory.Adjunction.Mates /-! # Uniqueness of adjoints @@ -20,6 +22,8 @@ This file shows that adjoints are unique up to natural isomorphism. -/ +@[expose] public section + open CategoryTheory Functor variable {C D : Type*} [Category C] [Category D] diff --git a/Mathlib/CategoryTheory/Adjunction/Whiskering.lean b/Mathlib/CategoryTheory/Adjunction/Whiskering.lean index 4f8bea3b422b46..4ec887c80f7391 100644 --- a/Mathlib/CategoryTheory/Adjunction/Whiskering.lean +++ b/Mathlib/CategoryTheory/Adjunction/Whiskering.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.Adjunction.Basic /-! @@ -14,6 +16,8 @@ and the functor categories `E ⥤ C` and `D ⥤ C`. -/ +@[expose] public section + namespace CategoryTheory.Adjunction diff --git a/Mathlib/CategoryTheory/Balanced.lean b/Mathlib/CategoryTheory/Balanced.lean index 25b0bc6904b01f..5db6a74ee55dc0 100644 --- a/Mathlib/CategoryTheory/Balanced.lean +++ b/Mathlib/CategoryTheory/Balanced.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.EpiMono +module + +public import Mathlib.CategoryTheory.EpiMono /-! # Balanced categories @@ -16,6 +18,8 @@ as the category of types. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean b/Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean index 1a7037a6a33600..2c112353421e95 100644 --- a/Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean +++ b/Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Bicategory.Adjunction.Mate -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Mate +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! # The bicategory of adjunctions in a bicategory @@ -27,6 +29,8 @@ both pullback and pushforward functors. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean b/Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean index e86110dd8a4d34..4f84bda5c3ccbd 100644 --- a/Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean +++ b/Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean @@ -3,7 +3,10 @@ Copyright (c) 2023 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Bicategory.Basic +module + +public import Mathlib.Tactic.CategoryTheory.Bicategory.Basic +public import Mathlib.Tactic.CategoryTheory.BicategoricalComp /-! # Adjunctions in bicategories @@ -25,6 +28,8 @@ identities. The 2-morphism `η` is called the unit and `ε` is called the counit `η : 𝟙 a ≅ f ≫ g` and `ε : g ≫ f ≅ 𝟙 b`, by upgrading `η` to a unit. -/ +@[expose] public section + namespace CategoryTheory namespace Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean b/Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean index 1792ac49f06087..d4f640e4e2a315 100644 --- a/Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean +++ b/Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Joël Riou -/ -import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic -import Mathlib.CategoryTheory.HomCongr +module + +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic +public import Mathlib.CategoryTheory.HomCongr /-! # Mates in bicategories @@ -42,6 +44,8 @@ polymorphic, so they are not simple specializations of the definitions in this f -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Basic.lean b/Mathlib/CategoryTheory/Bicategory/Basic.lean index e90224e61ec79b..315cbf742b6fee 100644 --- a/Mathlib/CategoryTheory/Bicategory/Basic.lean +++ b/Mathlib/CategoryTheory/Bicategory/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.NatIso +module + +public import Mathlib.CategoryTheory.NatIso /-! # Bicategories @@ -37,6 +39,8 @@ between 1-morphisms `f g : a ⟶ b` and a 1-morphism `f : b ⟶ c`, there is a 2 which is required as an axiom in the definition here. -/ +@[expose] public section + namespace CategoryTheory universe w v u diff --git a/Mathlib/CategoryTheory/Bicategory/CatEnriched.lean b/Mathlib/CategoryTheory/Bicategory/CatEnriched.lean index 4a6f3ce2ae1a86..e912ce8d2f7301 100644 --- a/Mathlib/CategoryTheory/Bicategory/CatEnriched.lean +++ b/Mathlib/CategoryTheory/Bicategory/CatEnriched.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl -/ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat -import Mathlib.CategoryTheory.Enriched.Basic -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat +public import Mathlib.CategoryTheory.Enriched.Basic +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic /-! # The strict bicategory associated to a Cat-enriched category @@ -31,6 +33,8 @@ structure extending the category structure provided by the given instance `Categ -/ +@[expose] public section + universe u v u' v' namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/Bicategory/Coherence.lean b/Mathlib/CategoryTheory/Bicategory/Coherence.lean index 071ce7a625a3fc..95e9537d1e111f 100644 --- a/Mathlib/CategoryTheory/Bicategory/Coherence.lean +++ b/Mathlib/CategoryTheory/Bicategory/Coherence.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Junyan Xu -/ -import Mathlib.CategoryTheory.PathCategory.Basic -import Mathlib.CategoryTheory.Functor.FullyFaithful -import Mathlib.CategoryTheory.Bicategory.Free -import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete +module + +public import Mathlib.CategoryTheory.PathCategory.Basic +public import Mathlib.CategoryTheory.Functor.FullyFaithful +public import Mathlib.CategoryTheory.Bicategory.Free +public import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete /-! # The coherence theorem for bicategories @@ -34,6 +36,8 @@ theorem follows immediately from this fact. proof of normalization for monoids][beylin1996] -/ +@[expose] public section + open Quiver (Path) diff --git a/Mathlib/CategoryTheory/Bicategory/End.lean b/Mathlib/CategoryTheory/Bicategory/End.lean index 3051addccc8bcf..8ec8c9997cf48e 100644 --- a/Mathlib/CategoryTheory/Bicategory/End.lean +++ b/Mathlib/CategoryTheory/Bicategory/End.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Bicategory.Basic -import Mathlib.CategoryTheory.Monoidal.Category +module + +public import Mathlib.CategoryTheory.Bicategory.Basic +public import Mathlib.CategoryTheory.Monoidal.Category /-! # Endomorphisms of an object in a bicategory, as a monoidal category. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/EqToHom.lean b/Mathlib/CategoryTheory/Bicategory/EqToHom.lean index 02bc87d61c6eb7..5a527eb757acc6 100644 --- a/Mathlib/CategoryTheory/Bicategory/EqToHom.lean +++ b/Mathlib/CategoryTheory/Bicategory/EqToHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Bicategory.Basic +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Bicategory.Basic /-! # `eqToHom` in bicategories @@ -32,6 +34,8 @@ well under `eqToHom`s. objects. -/ +@[expose] public section + universe w v u namespace CategoryTheory.Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Extension.lean b/Mathlib/CategoryTheory/Bicategory/Extension.lean index bbbbdd14a7769f..94d158108d0366 100644 --- a/Mathlib/CategoryTheory/Bicategory/Extension.lean +++ b/Mathlib/CategoryTheory/Bicategory/Extension.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Basic -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +module + +public import Mathlib.CategoryTheory.Bicategory.Basic +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic /-! # Extensions and lifts in bicategories @@ -27,6 +29,8 @@ is an alias for `Comma.right`. -/ +@[expose] public section + namespace CategoryTheory namespace Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Free.lean b/Mathlib/CategoryTheory/Bicategory/Free.lean index 9a9af3c5388307..00202e2281ba5d 100644 --- a/Mathlib/CategoryTheory/Bicategory/Free.lean +++ b/Mathlib/CategoryTheory/Bicategory/Free.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! # Free bicategories @@ -20,6 +22,8 @@ axioms of a bicategory. prefunctor `F` from `B` to `C`. -/ +@[expose] public section + universe w w₁ w₂ v v₁ v₂ u u₁ u₂ diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean index fd521bb17fca69..811599f482cdf0 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Cat.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Christian Merten -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! # Pseudofunctors to Cat @@ -13,6 +15,8 @@ for pseudofunctors to `Cat`. -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean index 19a9b3e7b3546e..0156f33865bfaf 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ +module -import Mathlib.CategoryTheory.Bicategory.Functor.Prelax -import Mathlib.Tactic.CategoryTheory.Slice -import Mathlib.Tactic.CategoryTheory.ToApp +public import Mathlib.CategoryTheory.Bicategory.Functor.Prelax +public import Mathlib.Tactic.CategoryTheory.Slice +public import Mathlib.Tactic.CategoryTheory.ToApp /-! # Lax functors @@ -34,6 +35,8 @@ be to mirror these constructions for lax functors. -/ +@[expose] public section + namespace CategoryTheory open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean b/Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean index f9711f1f84557c..d30e13ac2777fa 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor -import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +public import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete /-! # Pseudofunctors from locally discrete bicategories @@ -26,6 +28,8 @@ to a pseudofunctor (or oplax functor) (`Functor.toPseudofunctor`) with domain -/ +@[expose] public section + namespace CategoryTheory open Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean index c987302eb88b51..1a1dd9894a18c6 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Prelax -import Mathlib.Tactic.CategoryTheory.ToApp +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Prelax +public import Mathlib.Tactic.CategoryTheory.ToApp /-! # Oplax functors @@ -24,6 +26,8 @@ An oplax functor `F` between bicategories `B` and `C` consists of -/ +@[expose] public section + namespace CategoryTheory open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean index cabb223fc99a92..cfc3cbfcb6aab3 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Calle Sönne -/ +module -import Mathlib.CategoryTheory.Bicategory.Basic -import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Bicategory.Basic +public import Mathlib.CategoryTheory.EqToHom /-! @@ -38,6 +39,8 @@ corresponding hom types. -/ +@[expose] public section + namespace CategoryTheory open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean index 27f0cdaa27796a..7432c3fe90ed84 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Calle Sönne -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Oplax -import Mathlib.CategoryTheory.Bicategory.Functor.Lax -import Mathlib.Tactic.CategoryTheory.ToApp +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Oplax +public import Mathlib.CategoryTheory.Bicategory.Functor.Lax +public import Mathlib.Tactic.CategoryTheory.ToApp /-! # Pseudofunctors @@ -30,6 +32,8 @@ We provide several constructors for pseudofunctors: -/ +@[expose] public section + namespace CategoryTheory open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean b/Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean index ffa352d0c0f45c..e203ae2c37bb11 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor deprecated_module (since := "2025-10-02") diff --git a/Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean b/Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean index 6a6523bd1e9f16..715cfd5ec266f6 100644 --- a/Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean +++ b/Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! # Strictly unitary lax functors and pseudofunctors @@ -34,6 +36,8 @@ bicategories, strictly unitary pseudofunctors and icons. -/ +@[expose] public section + namespace CategoryTheory open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean b/Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean index e088aa4bb2c7fa..068ae1de7e36fa 100644 --- a/Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean +++ b/Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Modification.Oplax +module + +public import Mathlib.CategoryTheory.Bicategory.Modification.Oplax /-! # The bicategory of oplax functors between two bicategories @@ -14,6 +16,8 @@ Given bicategories `B` and `C`, we give a bicategory structure on `OplaxFunctor * 2-morphisms are modifications. -/ +@[expose] public section + namespace CategoryTheory.Oplax diff --git a/Mathlib/CategoryTheory/Bicategory/Grothendieck.lean b/Mathlib/CategoryTheory/Bicategory/Grothendieck.lean index 2213818aec3884..ae666a76ddba2c 100644 --- a/Mathlib/CategoryTheory/Bicategory/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Bicategory/Grothendieck.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ +module -import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Pseudo +public import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Pseudo /-! # The Grothendieck and CoGrothendieck constructions @@ -59,6 +60,8 @@ Angelo Vistoli -/ +@[expose] public section + namespace CategoryTheory.Pseudofunctor universe w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean b/Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean index 990891b4cbcc48..d2d257ae733164 100644 --- a/Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean +++ b/Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Kan.HasKan -import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic -import Mathlib.Tactic.TFAE +module + +public import Mathlib.CategoryTheory.Bicategory.Kan.HasKan +public import Mathlib.CategoryTheory.Bicategory.Adjunction.Basic +public import Mathlib.Tactic.TFAE /-! # Adjunctions as Kan extensions @@ -27,6 +29,8 @@ similar results for right Kan extensions and right Kan lifts. -/ +@[expose] public section + namespace CategoryTheory namespace Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Kan/HasKan.lean b/Mathlib/CategoryTheory/Bicategory/Kan/HasKan.lean index 55308b04fc6dbd..06d656e4b9cc6d 100644 --- a/Mathlib/CategoryTheory/Bicategory/Kan/HasKan.lean +++ b/Mathlib/CategoryTheory/Bicategory/Kan/HasKan.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Bicategory.Kan.IsKan +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Bicategory.Kan.IsKan /-! # Existence of Kan extensions and Kan lifts in bicategories @@ -29,6 +31,8 @@ These notations are inspired by -/ +@[expose] public section + noncomputable section namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Kan/IsKan.lean b/Mathlib/CategoryTheory/Bicategory/Kan/IsKan.lean index 0a4db2bd51c9a8..98d9793e7e2c65 100644 --- a/Mathlib/CategoryTheory/Bicategory/Kan/IsKan.lean +++ b/Mathlib/CategoryTheory/Bicategory/Kan/IsKan.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Extension +module + +public import Mathlib.CategoryTheory.Bicategory.Extension /-! # Kan extensions and Kan lifts in bicategories @@ -36,6 +38,8 @@ https://ncatlab.org/nlab/show/Kan+extension -/ +@[expose] public section + namespace CategoryTheory namespace Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean b/Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean index 1009eb05222bd9..7c3c31e25063ac 100644 --- a/Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean +++ b/Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Calle Sönne -/ -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Bicategory.Strict.Basic +module + +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Bicategory.Strict.Basic /-! # Locally discrete bicategories @@ -16,6 +18,8 @@ other words, the category consisting of the 1-morphisms between each pair of obj in `LocallyDiscrete C` is defined as the discrete category associated with the type `X ⟶ Y`. -/ +@[expose] public section + namespace CategoryTheory open Bicategory Discrete diff --git a/Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean b/Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean index 6ba4a8c62a4989..17653665b10d74 100644 --- a/Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean +++ b/Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Calle Sönne -/ +module -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax /-! # Modifications between oplax transformations @@ -23,6 +24,8 @@ A modification `Γ` between oplax transformations `η` and `θ` consists of a fa -/ +@[expose] public section + namespace CategoryTheory.Oplax.OplaxTrans open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean b/Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean index 08b040d0125802..b1d0847f7e1496 100644 --- a/Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean +++ b/Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete -import Mathlib.CategoryTheory.Bicategory.FunctorBicategory.Oplax -import Mathlib.CategoryTheory.Bicategory.End -import Mathlib.CategoryTheory.Monoidal.Comon_ +module + +public import Mathlib.CategoryTheory.Bicategory.LocallyDiscrete +public import Mathlib.CategoryTheory.Bicategory.FunctorBicategory.Oplax +public import Mathlib.CategoryTheory.Bicategory.End +public import Mathlib.CategoryTheory.Monoidal.Comon_ /-! # Comonads in a bicategory @@ -22,6 +24,8 @@ structure on the set of lax functors at this point, which is needed to show that bicategory. -/ +@[expose] public section + namespace CategoryTheory namespace Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean index 97a49e2b8050dd..7161d8ecb55082 100644 --- a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean +++ b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno, Calle Sönne -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Oplax +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Oplax /-! # Transformations between oplax functors @@ -43,6 +45,8 @@ This file could also include lax transformations between oplax functors. -/ +@[expose] public section + namespace CategoryTheory.Oplax open Category Bicategory diff --git a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean index 19fe16018d73af..fb9cb71d7af258 100644 --- a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean +++ b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ +module -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax /-! @@ -33,6 +34,8 @@ strong transformations. See `Pseudofunctor.categoryStruct`. -/ +@[expose] public section + namespace CategoryTheory.Pseudofunctor open Category Bicategory Oplax diff --git a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean index 5c495b39b9f392..ea3cf2c3439cab 100644 --- a/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean +++ b/Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean @@ -1,4 +1,6 @@ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor -import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +public import Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Oplax deprecated_module (since := "2025-05-11") diff --git a/Mathlib/CategoryTheory/Bicategory/SingleObj.lean b/Mathlib/CategoryTheory/Bicategory/SingleObj.lean index 5a7770ac3be91d..4c3ba9e9ffa3ee 100644 --- a/Mathlib/CategoryTheory/Bicategory/SingleObj.lean +++ b/Mathlib/CategoryTheory/Bicategory/SingleObj.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Bicategory.End -import Mathlib.CategoryTheory.Monoidal.Functor +module + +public import Mathlib.CategoryTheory.Bicategory.End +public import Mathlib.CategoryTheory.Monoidal.Functor /-! # Promoting a monoidal category to a single object bicategory. @@ -25,6 +27,8 @@ is equivalent to the bicategory consisting of * (oplax) natural transformations `η` such that `η.app Unit.unit = 𝟙 _`. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Strict.lean b/Mathlib/CategoryTheory/Bicategory/Strict.lean index d533337606a1e0..8bb046c7d1620c 100644 --- a/Mathlib/CategoryTheory/Bicategory/Strict.lean +++ b/Mathlib/CategoryTheory/Bicategory/Strict.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Bicategory.Strict.Basic +module + +public import Mathlib.CategoryTheory.Bicategory.Strict.Basic deprecated_module (since := "2025-10-02") diff --git a/Mathlib/CategoryTheory/Bicategory/Strict/Basic.lean b/Mathlib/CategoryTheory/Bicategory/Strict/Basic.lean index 0dcb07b760cd85..ff7a1b2c48836a 100644 --- a/Mathlib/CategoryTheory/Bicategory/Strict/Basic.lean +++ b/Mathlib/CategoryTheory/Bicategory/Strict/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Bicategory.Basic +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Bicategory.Basic /-! # Strict bicategories @@ -21,6 +23,8 @@ For this reason, we use `eqToIso`, which gives isomorphisms from equalities, ins identities. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Bicategory/Strict/Pseudofunctor.lean b/Mathlib/CategoryTheory/Bicategory/Strict/Pseudofunctor.lean index bc2cc16d1a9cd0..9873674ea60a1c 100644 --- a/Mathlib/CategoryTheory/Bicategory/Strict/Pseudofunctor.lean +++ b/Mathlib/CategoryTheory/Bicategory/Strict/Pseudofunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Christian Merten -/ -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor -import Mathlib.CategoryTheory.CommSq +module + +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +public import Mathlib.CategoryTheory.CommSq /-! # Pseudofunctors from strict bicategory @@ -22,6 +24,8 @@ isomorphism `F.map t ≫ F.map r ≅ F.map l ≫ F.map b` -/ +@[expose] public section + namespace CategoryTheory universe w₁ w₂ v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/CatCommSq.lean b/Mathlib/CategoryTheory/CatCommSq.lean index e75bec689b7a95..5cda6561784823 100644 --- a/Mathlib/CategoryTheory/CatCommSq.lean +++ b/Mathlib/CategoryTheory/CatCommSq.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Equivalence +module + +public import Mathlib.CategoryTheory.Equivalence /-! # 2-commutative squares of functors @@ -19,6 +21,8 @@ Future work: using this notion in the development of the localization of categor -/ +@[expose] public section + namespace CategoryTheory open Category Functor diff --git a/Mathlib/CategoryTheory/Category/Basic.lean b/Mathlib/CategoryTheory/Category/Basic.lean index 240d6334d2c990..0c6198bde0d54c 100644 --- a/Mathlib/CategoryTheory/Category/Basic.lean +++ b/Mathlib/CategoryTheory/Category/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Johannes Hölzl, Reid Barton -/ -import Mathlib.CategoryTheory.Category.Init -import Mathlib.Combinatorics.Quiver.Basic -import Mathlib.Tactic.PPWithUniv -import Mathlib.Tactic.Common -import Mathlib.Tactic.StacksAttribute -import Mathlib.Tactic.TryThis +module + +public import Mathlib.CategoryTheory.Category.Init +public import Mathlib.Combinatorics.Quiver.Basic +public import Mathlib.Tactic.PPWithUniv +public import Mathlib.Tactic.Common +public import Mathlib.Tactic.StacksAttribute +public import Mathlib.Tactic.TryThis /-! # Categories @@ -29,6 +31,8 @@ local notation:80 g " ⊚ " f:80 => CategoryTheory.CategoryStruct.comp f g -- -/ +@[expose] public section + library_note2 «category theory universes» /-- @@ -100,7 +104,7 @@ scoped infixr:80 " ≫ " => CategoryStruct.comp -- type as \gg syntax (name := sorryIfSorry) "sorry_if_sorry" : tactic open Lean Meta Elab.Tactic in -@[tactic sorryIfSorry, inherit_doc sorryIfSorry] def evalSorryIfSorry : Tactic := fun _ => do +@[tactic sorryIfSorry, inherit_doc sorryIfSorry] meta def evalSorryIfSorry : Tactic := fun _ => do let goalType ← getMainTarget if goalType.hasSorry then closeMainGoal `sorry_if_sorry (← mkSorry goalType true) @@ -165,7 +169,7 @@ open Lean Elab Tactic in Currently this defaults to the `aesop_cat` wrapper around `aesop`, but by setting the option `mathlib.tactic.category.grind` to `true`, it will use the `grind` tactic instead. -/ -def categoryTheoryDischarger : TacticM Unit := do +meta def categoryTheoryDischarger : TacticM Unit := do if ← getBoolOption `mathlib.tactic.category.grind then if ← getBoolOption `mathlib.tactic.category.log_grind then logInfo "Category theory discharger using `grind`." diff --git a/Mathlib/CategoryTheory/Category/Bipointed.lean b/Mathlib/CategoryTheory/Category/Bipointed.lean index aa1c056363b75d..cc68bc1d4d2c97 100644 --- a/Mathlib/CategoryTheory/Category/Bipointed.lean +++ b/Mathlib/CategoryTheory/Category/Bipointed.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.Category.Pointed +module + +public import Mathlib.CategoryTheory.Category.Pointed /-! # The category of bipointed types @@ -15,6 +17,8 @@ This defines `Bipointed`, the category of bipointed types. Monoidal structure -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/Cat.lean b/Mathlib/CategoryTheory/Category/Cat.lean index b14ff4444242fe..8be4b25829be4e 100644 --- a/Mathlib/CategoryTheory/Category/Cat.lean +++ b/Mathlib/CategoryTheory/Category/Cat.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.Bicategory.Strict.Basic -import Mathlib.CategoryTheory.ConcreteCategory.Bundled -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Types.Basic +module + +public import Mathlib.CategoryTheory.Bicategory.Strict.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.Bundled +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Types.Basic /-! # Category of categories @@ -21,6 +23,8 @@ Though `Cat` is not a concrete category, we use `bundled` to define its carrier type. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Category/Cat/Adjunction.lean b/Mathlib/CategoryTheory/Category/Cat/Adjunction.lean index ebd52996135743..3c3d61bb0704de 100644 --- a/Mathlib/CategoryTheory/Category/Cat/Adjunction.lean +++ b/Mathlib/CategoryTheory/Category/Cat/Adjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Nicolas Rolland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolas Rolland -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.ConnectedComponents +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.ConnectedComponents /-! # Adjunctions related to Cat, the category of categories @@ -21,6 +23,8 @@ All this could be made with 2-functors -/ +@[expose] public section + universe v u namespace CategoryTheory.Cat diff --git a/Mathlib/CategoryTheory/Category/Cat/AsSmall.lean b/Mathlib/CategoryTheory/Category/Cat/AsSmall.lean index f65cd41c8bb6d3..6d9a8671aa2f67 100644 --- a/Mathlib/CategoryTheory/Category/Cat/AsSmall.lean +++ b/Mathlib/CategoryTheory/Category/Cat/AsSmall.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Category.ULift +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Category.ULift /-! # Functorially embedding `Cat` into the category of small categories @@ -17,6 +19,8 @@ any larger category of small categories. Show that `asSmallFunctor` is faithful. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean b/Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean index 5c987ae85036cd..f55e74b9ca4cbd 100644 --- a/Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean +++ b/Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Emily Riehl -/ -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat +module + +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat /-! # Cartesian-closed structure on `Cat` @@ -22,6 +24,8 @@ definitional equalities but may have to be phrased using `eqToIso`. -/ +@[expose] public section + universe v u v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/Cat/Colimit.lean b/Mathlib/CategoryTheory/Category/Cat/Colimit.lean index 0c9afe75866dd4..99f6b96338a3c5 100644 --- a/Mathlib/CategoryTheory/Category/Cat/Colimit.lean +++ b/Mathlib/CategoryTheory/Category/Cat/Colimit.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Mario Carneiro and Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl -/ -import Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction -import Mathlib.CategoryTheory.Monad.Limits +module + +public import Mathlib.AlgebraicTopology.SimplicialSet.NerveAdjunction +public import Mathlib.CategoryTheory.Monad.Limits /-! @@ -17,6 +19,8 @@ of simplicial sets (see `AlgebraicTopology.SimplicialSet.NerveAdjunction`), so t homotopy category functor `SSet ⥤ Cat`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Category/Cat/Limit.lean b/Mathlib/CategoryTheory/Category/Cat/Limit.lean index d443e586705da7..91bcbe8ef1ccc7 100644 --- a/Mathlib/CategoryTheory/Category/Cat/Limit.lean +++ b/Mathlib/CategoryTheory/Category/Cat/Limit.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # The category of small categories has all small limits. @@ -19,6 +21,8 @@ which are carried to one another by the action on morphisms of the functors in t Can the indexing category live in a lower universe? -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Category/Cat/Op.lean b/Mathlib/CategoryTheory/Category/Cat/Op.lean index f70525315d3042..f6ebba4a38eca6 100644 --- a/Mathlib/CategoryTheory/Category/Cat/Op.lean +++ b/Mathlib/CategoryTheory/Category/Cat/Op.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Opposites /-! # The dualizing functor on `Cat` @@ -14,6 +16,8 @@ categories. We then show that this functor is strictly involutive and that it in equivalence on `Cat`. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/Cat/Terminal.lean b/Mathlib/CategoryTheory/Category/Cat/Terminal.lean index c15d60d16ed8b1..1260138cc5b02c 100644 --- a/Mathlib/CategoryTheory/Category/Cat/Terminal.lean +++ b/Mathlib/CategoryTheory/Category/Cat/Terminal.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier, Emily Riehl -/ -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Terminal categories @@ -20,6 +22,8 @@ with a unique object. -/ +@[expose] public section + universe v u v' u' open CategoryTheory Limits Functor diff --git a/Mathlib/CategoryTheory/Category/Factorisation.lean b/Mathlib/CategoryTheory/Category/Factorisation.lean index 8e76cab8187f7f..3418d29490a219 100644 --- a/Mathlib/CategoryTheory/Category/Factorisation.lean +++ b/Mathlib/CategoryTheory/Category/Factorisation.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # The Factorisation Category of a Category @@ -19,6 +21,8 @@ TODO: Show that `Factorisation f` is isomorphic to a comma category in two ways. TODO: Make `MonoFactorisation f` a special case of a `Factorisation f`. -/ +@[expose] public section + namespace CategoryTheory universe v u diff --git a/Mathlib/CategoryTheory/Category/GaloisConnection.lean b/Mathlib/CategoryTheory/Category/GaloisConnection.lean index 7f4fd4fb17e44d..e44c989e87fe9e 100644 --- a/Mathlib/CategoryTheory/Category/GaloisConnection.lean +++ b/Mathlib/CategoryTheory/Category/GaloisConnection.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Johannes Hölzl, Reid Barton -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.Order.GaloisConnection.Defs /-! @@ -15,6 +17,8 @@ import Mathlib.Order.GaloisConnection.Defs -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Category/Grpd.lean b/Mathlib/CategoryTheory/Category/Grpd.lean index 94808881b98ad8..e298f80a7ce461 100644 --- a/Mathlib/CategoryTheory/Category/Grpd.lean +++ b/Mathlib/CategoryTheory/Category/Grpd.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.SingleObj -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.SingleObj +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # Category of groupoids @@ -22,6 +24,8 @@ Though `Grpd` is not a concrete category, we use `Bundled` to define its carrier type. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe v u diff --git a/Mathlib/CategoryTheory/Category/Init.lean b/Mathlib/CategoryTheory/Category/Init.lean index 204de941af056e..6110d0ecf6f4db 100644 --- a/Mathlib/CategoryTheory/Category/Init.lean +++ b/Mathlib/CategoryTheory/Category/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jannis Limperg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jannis Limperg -/ +module -import Mathlib.Init -import Aesop +public import Mathlib.Init +public import Aesop /-! # Category Theory Rule Set @@ -15,23 +16,25 @@ This module defines the `CategoryTheory` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +@[expose] public section + declare_aesop_rule_sets [CategoryTheory] /-- Option to control whether the category theory library should use `grind` or `aesop` in the `cat_disch` tactic, which is widely used as an autoparameter. -/ -register_option mathlib.tactic.category.grind : Bool := { +meta register_option mathlib.tactic.category.grind : Bool := { defValue := false descr := "The category theory library should use `grind` instead of `aesop`." } /-- Log a message whenever the category theory discharger uses `grind`. -/ -register_option mathlib.tactic.category.log_grind : Bool := { +meta register_option mathlib.tactic.category.log_grind : Bool := { defValue := false descr := "Log a message whenever the category theory discharger uses `grind`." } /-- Log a message whenever the category theory discharger uses `aesop`. -/ -register_option mathlib.tactic.category.log_aesop : Bool := { +meta register_option mathlib.tactic.category.log_aesop : Bool := { defValue := false descr := "Log a message whenever the category theory discharger uses `aesop`." } diff --git a/Mathlib/CategoryTheory/Category/KleisliCat.lean b/Mathlib/CategoryTheory/Category/KleisliCat.lean index 6972e4be1c3716..f33b82e8203ecc 100644 --- a/Mathlib/CategoryTheory/Category/KleisliCat.lean +++ b/Mathlib/CategoryTheory/Category/KleisliCat.lean @@ -3,8 +3,9 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ +module -import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.CategoryTheory.Category.Basic /-! # The Kleisli construction on the Type category @@ -18,6 +19,8 @@ the equivalence between the two. Generalise this to work with CategoryTheory.Monad -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Category/Pairwise.lean b/Mathlib/CategoryTheory/Category/Pairwise.lean index aca744a04cfec2..24e0739f8af82f 100644 --- a/Mathlib/CategoryTheory/Category/Pairwise.lean +++ b/Mathlib/CategoryTheory/Category/Pairwise.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Limits.IsLimit -import Mathlib.Order.CompleteLattice.Basic +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Limits.IsLimit +public import Mathlib.Order.CompleteLattice.Basic /-! # The category of "pairwise intersections". @@ -22,6 +24,8 @@ we produce a functor `Pairwise ι ⥤ α` in the obvious way, and show that `iSup U` provides a colimit cocone over this functor. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Category/PartialFun.lean b/Mathlib/CategoryTheory/Category/PartialFun.lean index 2d41033894fbb7..5860c1505ffcf0 100644 --- a/Mathlib/CategoryTheory/Category/PartialFun.lean +++ b/Mathlib/CategoryTheory/Category/PartialFun.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.Category.Pointed -import Mathlib.Data.PFun +module + +public import Mathlib.CategoryTheory.Category.Pointed +public import Mathlib.Data.PFun /-! # The category of types with partial functions @@ -26,6 +28,8 @@ constructive. (https://ncatlab.org/nlab/show/partial+function) -/ +@[expose] public section + open CategoryTheory Option universe u diff --git a/Mathlib/CategoryTheory/Category/Pointed.lean b/Mathlib/CategoryTheory/Category/Pointed.lean index 4a63d6f542da10..e5a57dd4443708 100644 --- a/Mathlib/CategoryTheory/Category/Pointed.lean +++ b/Mathlib/CategoryTheory/Category/Pointed.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # The category of pointed types @@ -17,6 +19,8 @@ This defines `Pointed`, the category of pointed types. * Upgrade `typeToPointed` to an equivalence -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/Preorder.lean b/Mathlib/CategoryTheory/Category/Preorder.lean index 1504f53b9e454f..596a718de18942 100644 --- a/Mathlib/CategoryTheory/Category/Preorder.lean +++ b/Mathlib/CategoryTheory/Category/Preorder.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Johannes Hölzl, Reid Barton -/ -import Mathlib.CategoryTheory.Equivalence -import Mathlib.CategoryTheory.EqToHom -import Mathlib.Order.Hom.Basic -import Mathlib.Data.ULift +module + +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.Order.Hom.Basic +public import Mathlib.Data.ULift /-! @@ -26,6 +28,8 @@ categories. -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Category/Quiv.lean b/Mathlib/CategoryTheory/Category/Quiv.lean index 31b6d6e9f7e26d..4191fb15b65208 100644 --- a/Mathlib/CategoryTheory/Category/Quiv.lean +++ b/Mathlib/CategoryTheory/Category/Quiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Emily Riehl, Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.PathCategory.MorphismProperty +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.PathCategory.MorphismProperty /-! # The category of quivers @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.PathCategory.MorphismProperty The category of (bundled) quivers, and the free/forgetful adjunction between `Cat` and `Quiv`. -/ +@[expose] public section + universe v u v₁ v₂ v₃ u₁ u₂ u₃ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/ReflQuiv.lean b/Mathlib/CategoryTheory/Category/ReflQuiv.lean index c5bc92b56e7e7e..fe3ee3accb79e0 100644 --- a/Mathlib/CategoryTheory/Category/ReflQuiv.lean +++ b/Mathlib/CategoryTheory/Category/ReflQuiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mario Carneiro and Emily Riehl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Emily Riehl -/ -import Mathlib.Combinatorics.Quiver.ReflQuiver -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Category.Quiv +module + +public import Mathlib.Combinatorics.Quiver.ReflQuiver +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Category.Quiv /-! # The category of refl quivers @@ -14,6 +16,8 @@ The category `ReflQuiv` of (bundled) reflexive quivers, and the free/forgetful `Cat` and `ReflQuiv`. -/ +@[expose] public section + namespace CategoryTheory universe v u v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Category/RelCat.lean b/Mathlib/CategoryTheory/Category/RelCat.lean index 207d7ab4346b29..ec9a1e380fed6d 100644 --- a/Mathlib/CategoryTheory/Category/RelCat.lean +++ b/Mathlib/CategoryTheory/Category/RelCat.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Uni Marx -/ -import Mathlib.CategoryTheory.EssentialImage -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.Opposites -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Data.Rel +module + +public import Mathlib.CategoryTheory.EssentialImage +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Data.Rel /-! # Basics on the category of relations @@ -21,6 +23,8 @@ By flipping the arguments to a relation, we construct an equivalence `opEquivale `RelCat` and its opposite. -/ +@[expose] public section + open SetRel namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Category/TwoP.lean b/Mathlib/CategoryTheory/Category/TwoP.lean index 6606e537f2f80d..f6ab4bef8352ed 100644 --- a/Mathlib/CategoryTheory/Category/TwoP.lean +++ b/Mathlib/CategoryTheory/Category/TwoP.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.Category.Bipointed -import Mathlib.Data.TwoPointing +module + +public import Mathlib.CategoryTheory.Category.Bipointed +public import Mathlib.Data.TwoPointing /-! # The category of two-pointed types @@ -17,6 +19,8 @@ This defines `TwoP`, the category of two-pointed types. (https://ncatlab.org/nlab/show/coalgebra+of+the+real+interval) -/ +@[expose] public section + open CategoryTheory Option diff --git a/Mathlib/CategoryTheory/Category/ULift.lean b/Mathlib/CategoryTheory/Category/ULift.lean index a36365e250a6cd..db56068d4be9f5 100644 --- a/Mathlib/CategoryTheory/Category/ULift.lean +++ b/Mathlib/CategoryTheory/Category/ULift.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.CategoryTheory.Equivalence -import Mathlib.CategoryTheory.EqToHom -import Mathlib.Data.ULift +module + +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.Data.ULift /-! # Basic API for ULift @@ -38,6 +40,8 @@ The forward direction of the equivalence, `C ⥤ AsSmall C`, is denoted `AsSmall and the backward direction is `AsSmall.down`. The equivalence itself is `AsSmall.equiv`. -/ +@[expose] public section + universe w₁ v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Center/Basic.lean b/Mathlib/CategoryTheory/Center/Basic.lean index b67f80b8107075..805a1d2bd9f1d0 100644 --- a/Mathlib/CategoryTheory/Center/Basic.lean +++ b/Mathlib/CategoryTheory/Center/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Endomorphism +module + +public import Mathlib.CategoryTheory.Endomorphism /-! # The center of a category @@ -16,6 +18,8 @@ type of endomorphisms of the identity functor of `C`. * https://ncatlab.org/nlab/show/center+of+a+category -/ + +@[expose] public section universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Center/Linear.lean b/Mathlib/CategoryTheory/Center/Linear.lean index 516a72b0db4845..0570bf96d6f587 100644 --- a/Mathlib/CategoryTheory/Center/Linear.lean +++ b/Mathlib/CategoryTheory/Center/Linear.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Preadditive.FunctorCategory -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.CategoryTheory.Center.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.FunctorCategory +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.CategoryTheory.Center.Basic /-! # Center of a linear category @@ -16,6 +18,8 @@ is a ring morphism, we define a `R`-linear structure on `C` attached to `φ`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Center/Localization.lean b/Mathlib/CategoryTheory/Center/Localization.lean index f303534478d072..bd412411cdf312 100644 --- a/Mathlib/CategoryTheory/Center/Localization.lean +++ b/Mathlib/CategoryTheory/Center/Localization.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Center.Basic -import Mathlib.CategoryTheory.Localization.Predicate -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Center.Basic +public import Mathlib.CategoryTheory.Localization.Predicate +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Localization of the center of a category @@ -17,6 +19,8 @@ categories, we promote this to a ring morphism `CatCenter C →+* CatCenter D`. -/ +@[expose] public section + universe w v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ChosenFiniteProducts.lean b/Mathlib/CategoryTheory/ChosenFiniteProducts.lean index e14bc49150345a..d94e7cebf3d8c6 100644 --- a/Mathlib/CategoryTheory/ChosenFiniteProducts.lean +++ b/Mathlib/CategoryTheory/ChosenFiniteProducts.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic deprecated_module (since := "2025-05-15") diff --git a/Mathlib/CategoryTheory/ChosenFiniteProducts/Cat.lean b/Mathlib/CategoryTheory/ChosenFiniteProducts/Cat.lean index 9d72ad20549bc1..20473ed510efaa 100644 --- a/Mathlib/CategoryTheory/ChosenFiniteProducts/Cat.lean +++ b/Mathlib/CategoryTheory/ChosenFiniteProducts/Cat.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Cat deprecated_module (since := "2025-05-15") diff --git a/Mathlib/CategoryTheory/ChosenFiniteProducts/FunctorCategory.lean b/Mathlib/CategoryTheory/ChosenFiniteProducts/FunctorCategory.lean index b8ff237de34a54..17a5c0f2128e19 100644 --- a/Mathlib/CategoryTheory/ChosenFiniteProducts/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/ChosenFiniteProducts/FunctorCategory.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory deprecated_module (since := "2025-05-15") diff --git a/Mathlib/CategoryTheory/ChosenFiniteProducts/InfSemilattice.lean b/Mathlib/CategoryTheory/ChosenFiniteProducts/InfSemilattice.lean index dc0e34c388c322..f52aa178f9fbe8 100644 --- a/Mathlib/CategoryTheory/ChosenFiniteProducts/InfSemilattice.lean +++ b/Mathlib/CategoryTheory/ChosenFiniteProducts/InfSemilattice.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.InfSemilattice +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.InfSemilattice deprecated_module (since := "2025-05-15") diff --git a/Mathlib/CategoryTheory/ChosenFiniteProducts/Over.lean b/Mathlib/CategoryTheory/ChosenFiniteProducts/Over.lean index 2c9a7cf8bd4908..6e637b45a0491a 100644 --- a/Mathlib/CategoryTheory/ChosenFiniteProducts/Over.lean +++ b/Mathlib/CategoryTheory/ChosenFiniteProducts/Over.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Over +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Over deprecated_module (since := "2025-05-15") diff --git a/Mathlib/CategoryTheory/Closed/Cartesian.lean b/Mathlib/CategoryTheory/Closed/Cartesian.lean index c26091a6a872ce..52cd8325b2c738 100644 --- a/Mathlib/CategoryTheory/Closed/Cartesian.lean +++ b/Mathlib/CategoryTheory/Closed/Cartesian.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta, Edward Ayers, Thomas Read. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Edward Ayers, Thomas Read -/ -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic /-! # Cartesian-closed categories @@ -29,6 +31,8 @@ Some of the results here are true more generally for closed objects and for closed monoidal categories, and these could be generalised. -/ +@[expose] public section + universe v v₂ u u₂ @@ -99,7 +103,7 @@ notation:20 A " ⟹ " B:19 => (exp A).obj B open Lean PrettyPrinter.Delaborator SubExpr in /-- Delaborator for `Functor.obj` -/ @[app_delab Functor.obj] -def delabFunctorObjExp : Delab := whenPPOption getPPNotation <| withOverApp 6 <| do +meta def delabFunctorObjExp : Delab := whenPPOption getPPNotation <| withOverApp 6 <| do let e ← getExpr guard <| e.isAppOfArity' ``Functor.obj 6 let A ← withNaryArg 4 do diff --git a/Mathlib/CategoryTheory/Closed/Enrichment.lean b/Mathlib/CategoryTheory/Closed/Enrichment.lean index 2be0d7fbce929d..d71c798788829e 100644 --- a/Mathlib/CategoryTheory/Closed/Enrichment.lean +++ b/Mathlib/CategoryTheory/Closed/Enrichment.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Daniel Carranza. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Carranza, Joël Riou -/ -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic -import Mathlib.CategoryTheory.Closed.Monoidal +module + +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +public import Mathlib.CategoryTheory.Closed.Monoidal /-! # A closed monoidal category is enriched in itself @@ -21,6 +23,8 @@ All structure field values are defined in `Mathlib/CategoryTheory/Closed/Monoida -/ +@[expose] public section + universe u v namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Closed/Functor.lean b/Mathlib/CategoryTheory/Closed/Functor.lean index d35a376450d55f..f52aa06160b504 100644 --- a/Mathlib/CategoryTheory/Closed/Functor.lean +++ b/Mathlib/CategoryTheory/Closed/Functor.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Adjunction.FullyFaithful +module + +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful /-! # Cartesian-closed functors @@ -29,6 +31,8 @@ Frobenius reciprocity, Cartesian-closed functor -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Closed/FunctorCategory/Basic.lean b/Mathlib/CategoryTheory/Closed/FunctorCategory/Basic.lean index 5a8a9488794a65..c984b44bd7d3b3 100644 --- a/Mathlib/CategoryTheory/Closed/FunctorCategory/Basic.lean +++ b/Mathlib/CategoryTheory/Closed/FunctorCategory/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Closed.Enrichment -import Mathlib.CategoryTheory.Enriched.FunctorCategory +module + +public import Mathlib.CategoryTheory.Closed.Enrichment +public import Mathlib.CategoryTheory.Enriched.FunctorCategory /-! # Functor categories are monoidal closed @@ -15,6 +17,8 @@ limits. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Closed/FunctorCategory/Complete.lean b/Mathlib/CategoryTheory/Closed/FunctorCategory/Complete.lean index 41c13c797d0bea..44770adbd41e4b 100644 --- a/Mathlib/CategoryTheory/Closed/FunctorCategory/Complete.lean +++ b/Mathlib/CategoryTheory/Closed/FunctorCategory/Complete.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Adjunction.Lifting.Right -import Mathlib.CategoryTheory.Closed.FunctorCategory.Groupoid -import Mathlib.CategoryTheory.Groupoid.Discrete -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Monad.Comonadicity +module + +public import Mathlib.CategoryTheory.Adjunction.Lifting.Right +public import Mathlib.CategoryTheory.Closed.FunctorCategory.Groupoid +public import Mathlib.CategoryTheory.Groupoid.Discrete +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Monad.Comonadicity /-! # Functors into a complete monoidal closed category form a monoidal closed category. @@ -16,6 +18,8 @@ TODO (in progress by Joël Riou): make a more explicit construction of the inter categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ open CategoryTheory MonoidalCategory MonoidalClosed Limits diff --git a/Mathlib/CategoryTheory/Closed/FunctorCategory/Groupoid.lean b/Mathlib/CategoryTheory/Closed/FunctorCategory/Groupoid.lean index 16828b2e30c695..1bab7cbe4af928 100644 --- a/Mathlib/CategoryTheory/Closed/FunctorCategory/Groupoid.lean +++ b/Mathlib/CategoryTheory/Closed/FunctorCategory/Groupoid.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Antoine Labelle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Labelle -/ -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Monoidal.FunctorCategory +module + +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory /-! # Functors from a groupoid into a monoidal closed category form a monoidal closed category. @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Monoidal.FunctorCategory (Using the pointwise monoidal structure on the functor category.) -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Closed/FunctorToTypes.lean b/Mathlib/CategoryTheory/Closed/FunctorToTypes.lean index 6235f313687ab4..3e1848f87c65c9 100644 --- a/Mathlib/CategoryTheory/Closed/FunctorToTypes.lean +++ b/Mathlib/CategoryTheory/Closed/FunctorToTypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen -/ -import Mathlib.CategoryTheory.Functor.FunctorHom -import Mathlib.CategoryTheory.Closed.Monoidal +module + +public import Mathlib.CategoryTheory.Functor.FunctorHom +public import Mathlib.CategoryTheory.Closed.Monoidal /-! # Functors to Type are closed. @@ -17,6 +19,8 @@ It should be shown that `C ⥤ Type max w v u` is Cartesian closed. -/ +@[expose] public section + universe w v' v u u' diff --git a/Mathlib/CategoryTheory/Closed/Ideal.lean b/Mathlib/CategoryTheory/Closed/Ideal.lean index 94d5aa81a3496f..553015c029f6d2 100644 --- a/Mathlib/CategoryTheory/Closed/Ideal.lean +++ b/Mathlib/CategoryTheory/Closed/Ideal.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.Subterminal +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.Subterminal /-! # Exponential ideals @@ -27,6 +29,8 @@ following are equivalent. * `i` is an exponential ideal. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Closed/Monoidal.lean b/Mathlib/CategoryTheory/Closed/Monoidal.lean index 66878e2d9755d1..8bf40bf6642a19 100644 --- a/Mathlib/CategoryTheory/Closed/Monoidal.lean +++ b/Mathlib/CategoryTheory/Closed/Monoidal.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta, Daniel Carranza, Joël Riou -/ -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Adjunction.Mates -import Mathlib.CategoryTheory.Adjunction.Parametrized +module + +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Adjunction.Mates +public import Mathlib.CategoryTheory.Adjunction.Parametrized /-! # Closed monoidal categories @@ -19,6 +21,8 @@ Some of the theorems proved about Cartesian-closed categories should be generalised and moved to this file. -/ +@[expose] public section + universe v u u₂ v₂ diff --git a/Mathlib/CategoryTheory/Closed/Types.lean b/Mathlib/CategoryTheory/Closed/Types.lean index bda13857281d96..c02ad42861b551 100644 --- a/Mathlib/CategoryTheory/Closed/Types.lean +++ b/Mathlib/CategoryTheory/Closed/Types.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.Limits.Presheaf -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Types.Basic +module + +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.Limits.Presheaf +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Types.Basic /-! # Cartesian closure of Type @@ -16,6 +18,8 @@ category in `Type u₁`. Note this implies that the category of presheaves on a small category `C` is Cartesian closed. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Closed/Zero.lean b/Mathlib/CategoryTheory/Closed/Zero.lean index 1ec73bba866057..db1f9a4cf53296 100644 --- a/Mathlib/CategoryTheory/Closed/Zero.lean +++ b/Mathlib/CategoryTheory/Closed/Zero.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Closed.Cartesian -import Mathlib.CategoryTheory.PUnit -import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects +module + +public import Mathlib.CategoryTheory.Closed.Cartesian +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects /-! # A Cartesian-closed category with zero object is trivial @@ -19,6 +21,8 @@ object and one morphism. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/CodiscreteCategory.lean b/Mathlib/CategoryTheory/CodiscreteCategory.lean index d7b9d001b1306a..0f3f1ac77acc18 100644 --- a/Mathlib/CategoryTheory/CodiscreteCategory.lean +++ b/Mathlib/CategoryTheory/CodiscreteCategory.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Alvaro Belmonte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alvaro Belmonte, Joël Riou -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Pi.Basic -import Mathlib.Data.ULift -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Pi.Basic +public import Mathlib.Data.ULift +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # Codiscrete categories @@ -25,6 +27,8 @@ or `I`-indexed families of isomorphisms to natural transformations or natural is We define `functorToCat : Type u ⥤ Cat.{0,u}` which sends a type to the codiscrete category and show it is right adjoint to `Cat.objects.` -/ + +@[expose] public section namespace CategoryTheory universe u v w diff --git a/Mathlib/CategoryTheory/CofilteredSystem.lean b/Mathlib/CategoryTheory/CofilteredSystem.lean index 621cfe2a14a597..036f6ea7c6e9ff 100644 --- a/Mathlib/CategoryTheory/CofilteredSystem.lean +++ b/Mathlib/CategoryTheory/CofilteredSystem.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kyle Miller, Adam Topaz, Rémi Bottinelli, Junyan Xu. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Adam Topaz, Rémi Bottinelli, Junyan Xu -/ -import Mathlib.Topology.Category.TopCat.Limits.Konig +module + +public import Mathlib.Topology.Category.TopCat.Limits.Konig /-! # Cofiltered systems @@ -49,6 +51,8 @@ Mittag-Leffler, surjective, eventual range, inverse system, -/ +@[expose] public section + universe u v w diff --git a/Mathlib/CategoryTheory/CommSq.lean b/Mathlib/CategoryTheory/CommSq.lean index 5cb4684680e698..35b1f5ebcb5b73 100644 --- a/Mathlib/CategoryTheory/CommSq.lean +++ b/Mathlib/CategoryTheory/CommSq.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.CategoryTheory.Comma.Arrow +module + +public import Mathlib.CategoryTheory.Comma.Arrow /-! # Commutative squares @@ -22,6 +24,8 @@ Refactor `LiftStruct` from `Arrow.lean` and lifting properties using `CommSq.lea -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/Arrow.lean b/Mathlib/CategoryTheory/Comma/Arrow.lean index a2f3c8ff964c71..1deec687bab42d 100644 --- a/Mathlib/CategoryTheory/Comma/Arrow.lean +++ b/Mathlib/CategoryTheory/Comma/Arrow.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Comma.Basic +module + +public import Mathlib.CategoryTheory.Comma.Basic /-! # The category of arrows @@ -17,6 +19,8 @@ where `L` and `R` are both the identity functor. comma, arrow -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/Basic.lean b/Mathlib/CategoryTheory/Comma/Basic.lean index 9a0b6c4d609842..6d4faf9ab73480 100644 --- a/Mathlib/CategoryTheory/Comma/Basic.lean +++ b/Mathlib/CategoryTheory/Comma/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Products.Unitor +module + +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Products.Unitor /-! # Comma categories @@ -44,6 +46,8 @@ respectively. comma, slice, coslice, over, under, arrow -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/CardinalArrow.lean b/Mathlib/CategoryTheory/Comma/CardinalArrow.lean index 0d4e57798f5bd5..87d917fd7e56c3 100644 --- a/Mathlib/CategoryTheory/Comma/CardinalArrow.lean +++ b/Mathlib/CategoryTheory/Comma/CardinalArrow.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.Data.Set.Finite.Basic -import Mathlib.SetTheory.Cardinal.HasCardinalLT +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.SetTheory.Cardinal.HasCardinalLT /-! # Cardinal of Arrow @@ -18,6 +19,8 @@ If `A` is a (small) category, `Arrow C` is finite iff `FinCategory C` holds. -/ +@[expose] public section + universe w w' v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/Final.lean b/Mathlib/CategoryTheory/Comma/Final.lean index 4bd72ccfaef910..dc599725763317 100644 --- a/Mathlib/CategoryTheory/Comma/Final.lean +++ b/Mathlib/CategoryTheory/Comma/Final.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.IsConnected -import Mathlib.CategoryTheory.Limits.Sifted -import Mathlib.CategoryTheory.Filtered.Final -import Mathlib.CategoryTheory.Filtered.Flat -import Mathlib.CategoryTheory.Grothendieck -import Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.IsConnected +public import Mathlib.CategoryTheory.Limits.Sifted +public import Mathlib.CategoryTheory.Filtered.Final +public import Mathlib.CategoryTheory.Filtered.Flat +public import Mathlib.CategoryTheory.Grothendieck +public import Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap /-! # Finality of Projections in Comma Categories @@ -29,6 +31,8 @@ and `A` and `B` are filtered. * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Lemma 3.4.3 -- 3.4.5 -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ v₆ u₁ u₂ u₃ u₄ u₅ u₆ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/LocallySmall.lean b/Mathlib/CategoryTheory/Comma/LocallySmall.lean index 3169d9f7eb7808..7f1e6131e24336 100644 --- a/Mathlib/CategoryTheory/Comma/LocallySmall.lean +++ b/Mathlib/CategoryTheory/Comma/LocallySmall.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.EssentiallySmall /-! # Comma categories are locally small @@ -17,6 +18,8 @@ involved are locally small. -/ +@[expose] public section + universe w v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/Over/Basic.lean b/Mathlib/CategoryTheory/Comma/Over/Basic.lean index 169d2cbe505a60..800c5fda61578f 100644 --- a/Mathlib/CategoryTheory/Comma/Over/Basic.lean +++ b/Mathlib/CategoryTheory/Comma/Over/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Category.Cat +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Category.Cat /-! # Over and under categories @@ -20,6 +22,8 @@ Over (and under) categories are special cases of comma categories. Comma, Slice, Coslice, Over, Under -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/Over/OverClass.lean b/Mathlib/CategoryTheory/Comma/Over/OverClass.lean index f45723c3a3c3b3..78d391cf07a7a8 100644 --- a/Mathlib/CategoryTheory/Comma/Over/OverClass.lean +++ b/Mathlib/CategoryTheory/Comma/Over/OverClass.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Tactic.CategoryTheory.Reassoc -import Mathlib.CategoryTheory.Comma.Over.Basic +module + +public import Mathlib.Tactic.CategoryTheory.Reassoc +public import Mathlib.CategoryTheory.Comma.Over.Basic /-! # Typeclasses for `S`-objects and `S`-morphisms @@ -25,6 +27,8 @@ For other applications use unbundled arrows or `CategoryTheory.Over`. -/ +@[expose] public section + namespace CategoryTheory universe v u diff --git a/Mathlib/CategoryTheory/Comma/Over/Pullback.lean b/Mathlib/CategoryTheory/Comma/Over/Pullback.lean index d88112b9345e2e..a7c64b1a48e359 100644 --- a/Mathlib/CategoryTheory/Comma/Over/Pullback.lean +++ b/Mathlib/CategoryTheory/Comma/Over/Pullback.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Andrew Yang -/ -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Adjunction.Mates -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.CategoryTheory.Monad.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso +module + +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Adjunction.Mates +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.CategoryTheory.Monad.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso /-! # Adjunctions related to the over category @@ -31,6 +33,8 @@ In a category with binary products, for any object `X` the functor Show `star X` itself has a right adjoint provided `C` is Cartesian closed and has pullbacks. -/ +@[expose] public section + noncomputable section universe v v₂ u u₂ diff --git a/Mathlib/CategoryTheory/Comma/Presheaf/Basic.lean b/Mathlib/CategoryTheory/Comma/Presheaf/Basic.lean index 59ecdb6afbb158..ba1fc365dea6a7 100644 --- a/Mathlib/CategoryTheory/Comma/Presheaf/Basic.lean +++ b/Mathlib/CategoryTheory/Comma/Presheaf/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.HomCongr -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.Tactic.CategoryTheory.Elementwise +module + +public import Mathlib.CategoryTheory.HomCongr +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.Tactic.CategoryTheory.Elementwise /-! # Computation of `Over A` for a presheaf `A` @@ -63,6 +65,8 @@ presheaf, over category, coyoneda -/ +@[expose] public section + namespace CategoryTheory open Category Opposite diff --git a/Mathlib/CategoryTheory/Comma/Presheaf/Colimit.lean b/Mathlib/CategoryTheory/Comma/Presheaf/Colimit.lean index 8272771231498f..7d4726f06c8f61 100644 --- a/Mathlib/CategoryTheory/Comma/Presheaf/Colimit.lean +++ b/Mathlib/CategoryTheory/Comma/Presheaf/Colimit.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Comma.Presheaf.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Yoneda -import Mathlib.CategoryTheory.Limits.Over +module + +public import Mathlib.CategoryTheory.Comma.Presheaf.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Yoneda +public import Mathlib.CategoryTheory.Limits.Over /-! # Relative Yoneda preserves certain colimits @@ -15,6 +17,8 @@ In this file we turn the statement `yonedaYonedaColimit` from about families of presheaves over `A`, i.e., functors `F : J ⥤ Over A`. -/ +@[expose] public section + namespace CategoryTheory open Category Opposite Limits diff --git a/Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean b/Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean index 12a1c108136e52..c4066b0c2fe258 100644 --- a/Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean +++ b/Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Kim Morrison -/ -import Mathlib.CategoryTheory.Comma.Basic -import Mathlib.CategoryTheory.PUnit -import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal -import Mathlib.CategoryTheory.Functor.EpiMono +module + +public import Mathlib.CategoryTheory.Comma.Basic +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal +public import Mathlib.CategoryTheory.Functor.EpiMono /-! # The category of "structured arrows" @@ -19,6 +21,8 @@ These form a category with morphisms `g : Y ⟶ Y'` making the obvious diagram c We prove that `𝟙 (T.obj Y)` is the initial object in `T`-structured objects with source `T.obj Y`. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean b/Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean index bad40f9edb078f..e7dad4ed610dec 100644 --- a/Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean +++ b/Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic /-! # Structured arrow categories on `Comma.map` @@ -12,6 +14,8 @@ We characterize structured arrow categories on arbitrary instances of `Comma.map comma category itself. -/ +@[expose] public section + namespace CategoryTheory namespace StructuredArrow diff --git a/Mathlib/CategoryTheory/Comma/StructuredArrow/Final.lean b/Mathlib/CategoryTheory/Comma/StructuredArrow/Final.lean index 58bc792bea2c1a..ef50893ee34cc5 100644 --- a/Mathlib/CategoryTheory/Comma/StructuredArrow/Final.lean +++ b/Mathlib/CategoryTheory/Comma/StructuredArrow/Final.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.Final /-! # Finality on Costructured Arrow categories @@ -14,6 +16,8 @@ import Mathlib.CategoryTheory.Limits.Final * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Proposition 3.1.8(i) -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean b/Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean index 51ac3c4a23938a..0c98fce4757204 100644 --- a/Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean +++ b/Mathlib/CategoryTheory/Comma/StructuredArrow/Functor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Grothendieck +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Grothendieck /-! # Structured Arrow Categories as strict functor to Cat @@ -15,6 +17,8 @@ that, in the dual case, we can precompose it with another functor `L : E ⥤ D` equivalent to `Comma L T`. -/ +@[expose] public section + namespace CategoryTheory universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean b/Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean index 1cd9473c266109..e08c467b7d7d3f 100644 --- a/Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean +++ b/Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.Logic.Small.Set +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.Logic.Small.Set /-! # Small sets in the category of structured arrows @@ -14,6 +16,8 @@ Here we prove a technical result about small sets in the category of structured be used in the proof of the Special Adjoint Functor Theorem. -/ +@[expose] public section + namespace CategoryTheory -- morphism levels before object levels. See note [category theory universes]. diff --git a/Mathlib/CategoryTheory/ComposableArrows.lean b/Mathlib/CategoryTheory/ComposableArrows.lean index 8b4fe6658d98a9..f37fb1466d7683 100644 --- a/Mathlib/CategoryTheory/ComposableArrows.lean +++ b/Mathlib/CategoryTheory/ComposableArrows.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Functor.Const -import Mathlib.Order.Fin.Basic -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.Order.Fin.Basic +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.SuppressCompilation /-! # Composable arrows @@ -39,6 +41,8 @@ TODO (@joelriou): -/ +@[expose] public section + /-! New `simprocs` that run even in `dsimp` have caused breakages in this file. diff --git a/Mathlib/CategoryTheory/ConcreteCategory/Basic.lean b/Mathlib/CategoryTheory/ConcreteCategory/Basic.lean index f183d03557bf67..e74d09f9f11ac8 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/Basic.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johannes Hölzl, Reid Barton, Sean Leather, Yury Kudryashov -/ -import Mathlib.CategoryTheory.Types.Basic +module + +public import Mathlib.CategoryTheory.Types.Basic /-! # Concrete categories @@ -55,6 +57,8 @@ See [Ahrens and Lumsdaine, *Displayed Categories*][ahrens2017] for related work. -/ +@[expose] public section + assert_not_exists CategoryTheory.CommSq CategoryTheory.Adjunction diff --git a/Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean b/Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean index 875403ebcf0f46..c3e436ef4117c1 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/Bundled.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johannes Hölzl, Reid Barton, Sean Leather -/ -import Mathlib.Init -import Batteries.Tactic.Lint.Misc +module + +public import Mathlib.Init +public import Batteries.Tactic.Lint.Misc /-! # Bundled types @@ -18,6 +20,8 @@ and in `Mathlib/CategoryTheory/HasForget/BundledHom.lean` (for categories with bundled homs, e.g. monoids). -/ +@[expose] public section + universe u v namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ConcreteCategory/BundledHom.lean b/Mathlib/CategoryTheory/ConcreteCategory/BundledHom.lean index a99147acd92729..d864d4a469816b 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/BundledHom.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/BundledHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Yury Kudryashov -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.ConcreteCategory.Bundled +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.Bundled /-! # Category instances for algebraic structures that use bundled homs. @@ -16,6 +18,8 @@ This file provides a basic infrastructure to define concrete categories using bu define forgetful functors between them. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/ConcreteCategory/Elementwise.lean b/Mathlib/CategoryTheory/ConcreteCategory/Elementwise.lean index c45051f6641529..8919dacb3698f4 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/Elementwise.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/Elementwise.lean @@ -3,15 +3,22 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.ConcreteCategory.Basic +module + +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +import all Mathlib.CategoryTheory.Limits.Cones +import all Mathlib.CategoryTheory.Limits.HasLimits +import all Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! In this file we provide various simp lemmas in its elementwise form via `Tactic.Elementwise`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean b/Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean index 61959f96fb74bd..afa600cf0b9bbd 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.MorphismProperty.Concrete -import Mathlib.CategoryTheory.Types.Basic +module + +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.MorphismProperty.Concrete +public import Mathlib.CategoryTheory.Types.Basic /-! # Epi and mono in concrete categories @@ -21,6 +23,8 @@ by an injective morphism. -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ConcreteCategory/ReflectsIso.lean b/Mathlib/CategoryTheory/ConcreteCategory/ReflectsIso.lean index fbd6a8fab48bee..de3859a12e7b55 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/ReflectsIso.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/ReflectsIso.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! A `forget₂ C D` forgetful functor between concrete categories `C` and `D` whose forgetful functors both reflect isomorphisms, itself reflects isomorphisms. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean b/Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean index dad7f5800d3f39..ac2be8bdb4ee04 100644 --- a/Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean +++ b/Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.ConcreteCategory.BundledHom +module + +public import Mathlib.CategoryTheory.ConcreteCategory.BundledHom /-! # Category instances for structures that use unbundled homs @@ -14,6 +16,8 @@ define forgetful functors between them (see `UnbundledHom.mkHasForget₂`). -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Conj.lean b/Mathlib/CategoryTheory/Conj.lean index 9722bde431ab3f..aff428ee743b30 100644 --- a/Mathlib/CategoryTheory/Conj.lean +++ b/Mathlib/CategoryTheory/Conj.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.HomCongr +module + +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.HomCongr /-! # Conjugate morphisms by isomorphisms @@ -21,6 +23,8 @@ and `CategoryTheory.Iso.isoCongr : (f : X₁ ≅ X₂) → (g : Y₁ ≅ Y₂) which are defined in `CategoryTheory.HomCongr`. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ConnectedComponents.lean b/Mathlib/CategoryTheory/ConnectedComponents.lean index 44e73b6f229c5f..5f230d3de815ca 100644 --- a/Mathlib/CategoryTheory/ConnectedComponents.lean +++ b/Mathlib/CategoryTheory/ConnectedComponents.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Data.List.Chain -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Sigma.Basic -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +module + +public import Mathlib.Data.List.Chain +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Sigma.Basic +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory /-! # Connected components of a category @@ -20,6 +22,8 @@ particular `Decomposed J` is the category (definitionally) given by the sigma-ty components of `J`, and it is shown that this is equivalent to `J`. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/CopyDiscardCategory/Basic.lean b/Mathlib/CategoryTheory/CopyDiscardCategory/Basic.lean index 6a7165b3ee0928..2ecf1177c81594 100644 --- a/Mathlib/CategoryTheory/CopyDiscardCategory/Basic.lean +++ b/Mathlib/CategoryTheory/CopyDiscardCategory/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jacob Reinhold. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jacob Reinhold -/ -import Mathlib.CategoryTheory.Monoidal.Comon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Comon_ /-! # Copy-Discard Categories @@ -36,6 +38,8 @@ The key axioms ensure tensor products respect the comonoid structure. copy-discard, comonoid, symmetric monoidal -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/CopyDiscardCategory/Cartesian.lean b/Mathlib/CategoryTheory/CopyDiscardCategory/Cartesian.lean index 03699a0780d139..4f13db2b025f3a 100644 --- a/Mathlib/CategoryTheory/CopyDiscardCategory/Cartesian.lean +++ b/Mathlib/CategoryTheory/CopyDiscardCategory/Cartesian.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jacob Reinhold. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jacob Reinhold -/ -import Mathlib.CategoryTheory.CopyDiscardCategory.Basic -import Mathlib.CategoryTheory.CopyDiscardCategory.Deterministic -import Mathlib.CategoryTheory.Monoidal.Cartesian.Comon_ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.CopyDiscardCategory.Basic +public import Mathlib.CategoryTheory.CopyDiscardCategory.Deterministic +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Comon_ +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic /-! # Cartesian Categories as Copy-Discard Categories @@ -25,6 +27,8 @@ Every cartesian monoidal category is a copy-discard category where: cartesian, copy-discard, comonoid, symmetric monoidal -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/CopyDiscardCategory/Deterministic.lean b/Mathlib/CategoryTheory/CopyDiscardCategory/Deterministic.lean index 7167b46e7c898e..c816a2f21ec612 100644 --- a/Mathlib/CategoryTheory/CopyDiscardCategory/Deterministic.lean +++ b/Mathlib/CategoryTheory/CopyDiscardCategory/Deterministic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jacob Reinhold. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jacob Reinhold -/ -import Mathlib.CategoryTheory.CopyDiscardCategory.Basic +module + +public import Mathlib.CategoryTheory.CopyDiscardCategory.Basic /-! # Deterministic Morphisms in Copy-Discard Categories @@ -30,6 +32,8 @@ morphisms are deterministic. deterministic, copy-discard category, comonoid morphism -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Core.lean b/Mathlib/CategoryTheory/Core.lean index f95f6a08ebab77..5653286d937576 100644 --- a/Mathlib/CategoryTheory/Core.lean +++ b/Mathlib/CategoryTheory/Core.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Robin Carlier -/ -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.CategoryTheory.Whiskering -import Mathlib.Control.EquivFunctor +module + +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.Control.EquivFunctor /-! # The core of a category @@ -21,6 +23,8 @@ Any functor `F` from a groupoid `G` into `C` factors through `CategoryTheory.Cor but this is not functorial with respect to `F`. -/ +@[expose] public section + namespace CategoryTheory open Functor diff --git a/Mathlib/CategoryTheory/Countable.lean b/Mathlib/CategoryTheory/Countable.lean index 959cc80be0c5de..0dee10dce04abd 100644 --- a/Mathlib/CategoryTheory/Countable.lean +++ b/Mathlib/CategoryTheory/Countable.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Countable.Small +module + +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Countable.Small /-! # Countable categories @@ -14,6 +16,8 @@ A category is countable in this sense if it has countably many objects and count -/ +@[expose] public section + universe w v u noncomputable section diff --git a/Mathlib/CategoryTheory/Dialectica/Basic.lean b/Mathlib/CategoryTheory/Dialectica/Basic.lean index 87161e4eeac92b..0c77b3ba862da5 100644 --- a/Mathlib/CategoryTheory/Dialectica/Basic.lean +++ b/Mathlib/CategoryTheory/Dialectica/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! # Dialectica category @@ -36,6 +38,8 @@ in Set Theory, state in imperative programming, and others, see [Dialectica Cate -/ +@[expose] public section + noncomputable section namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Dialectica/Monoidal.lean b/Mathlib/CategoryTheory/Dialectica/Monoidal.lean index 86c4f905ee0a47..643bd1d7f66a0f 100644 --- a/Mathlib/CategoryTheory/Dialectica/Monoidal.lean +++ b/Mathlib/CategoryTheory/Dialectica/Monoidal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Dialectica.Basic +module + +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Dialectica.Basic /-! # The Dialectica category is symmetric monoidal @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Dialectica.Basic We show that the category `Dial` has a symmetric monoidal category structure. -/ +@[expose] public section + noncomputable section namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/DifferentialObject.lean b/Mathlib/CategoryTheory/DifferentialObject.lean index 7db7d0f8e0650f..95e87b81a7950c 100644 --- a/Mathlib/CategoryTheory/DifferentialObject.lean +++ b/Mathlib/CategoryTheory/DifferentialObject.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Data.Int.Cast.Defs -import Mathlib.CategoryTheory.Shift.Basic -import Mathlib.CategoryTheory.ConcreteCategory.Basic +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.CategoryTheory.Shift.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.Basic /-! # Differential objects in a category. @@ -20,6 +22,8 @@ such as the forgetful functor, zero morphisms and zero objects, and the shift fu on differential objects. -/ +@[expose] public section + open CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/DinatTrans.lean b/Mathlib/CategoryTheory/DinatTrans.lean index e02aea17103579..1924ec1fe102c7 100644 --- a/Mathlib/CategoryTheory/DinatTrans.lean +++ b/Mathlib/CategoryTheory/DinatTrans.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Andrea Laretto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrea Laretto, Fernando Chu -/ -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Opposites /-! # Dinatural transformations @@ -21,6 +23,8 @@ ordinary natural transformations. * -/ +@[expose] public section + namespace CategoryTheory universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Discrete/Basic.lean b/Mathlib/CategoryTheory/Discrete/Basic.lean index a73a9bd265c7b1..0b21e7a0e72186 100644 --- a/Mathlib/CategoryTheory/Discrete/Basic.lean +++ b/Mathlib/CategoryTheory/Discrete/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Pi.Basic -import Mathlib.Data.ULift +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Pi.Basic +public import Mathlib.Data.ULift /-! # Discrete categories @@ -32,6 +34,8 @@ We show equivalences of types are the same as (categorical) equivalences of the discrete categories. -/ +@[expose] public section + namespace CategoryTheory -- morphism levels before object levels. See note [category theory universes]. @@ -106,7 +110,7 @@ attribute [local aesop safe tactic (rule_sets := [CategoryTheory])] to locally gives `cat_disch` the ability to call `cases` on `Discrete` and `(_ : Discrete _) ⟶ (_ : Discrete _)` hypotheses. -/ -def discreteCases : TacticM Unit := do +meta def discreteCases : TacticM Unit := do evalTactic (← `(tactic| discrete_cases)) -- TODO: investigate turning on either diff --git a/Mathlib/CategoryTheory/Discrete/SumsProducts.lean b/Mathlib/CategoryTheory/Discrete/SumsProducts.lean index 7216a66725111f..9ec867d8be7e48 100644 --- a/Mathlib/CategoryTheory/Discrete/SumsProducts.lean +++ b/Mathlib/CategoryTheory/Discrete/SumsProducts.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Sums.Basic -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Sums.Basic +public import Mathlib.CategoryTheory.Products.Basic /-! # Sums and products of discrete categories. @@ -24,6 +26,8 @@ are also discrete, both in the form of explicit equivalences and through the -/ +@[expose] public section + namespace CategoryTheory namespace Discrete diff --git a/Mathlib/CategoryTheory/Distributive/Cartesian.lean b/Mathlib/CategoryTheory/Distributive/Cartesian.lean index bb3457e95e4754..04c0b6d6f661f6 100644 --- a/Mathlib/CategoryTheory/Distributive/Cartesian.lean +++ b/Mathlib/CategoryTheory/Distributive/Cartesian.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Sina Hazratpour. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sina Hazratpour -/ -import Mathlib.CategoryTheory.Distributive.Monoidal -import Mathlib.CategoryTheory.Limits.MonoCoprod -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.Distributive.Monoidal +public import Mathlib.CategoryTheory.Limits.MonoCoprod +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic /-! @@ -40,6 +42,8 @@ monoidal distributive. - [Carboni et al, Introduction to extensive and distributive categories][CARBONI1993145] -/ +@[expose] public section + universe v v₂ u u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Distributive/Monoidal.lean b/Mathlib/CategoryTheory/Distributive/Monoidal.lean index 7a63c65fe671e5..6c99b4abb889db 100644 --- a/Mathlib/CategoryTheory/Distributive/Monoidal.lean +++ b/Mathlib/CategoryTheory/Distributive/Monoidal.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Sina Hazratpour. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sina Hazratpour -/ -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.End -import Mathlib.CategoryTheory.Monoidal.Preadditive +module + +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.End +public import Mathlib.CategoryTheory.Monoidal.Preadditive /-! # Distributive monoidal categories @@ -55,6 +57,8 @@ pointed types and the coproduct given by the wedge sum is distributive. -/ +@[expose] public section + universe v v₂ u u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Basic.lean b/Mathlib/CategoryTheory/EffectiveEpi/Basic.lean index 0487a6aadf92f3..abf41d0106cb50 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Basic.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # Effective epimorphisms @@ -33,6 +35,8 @@ our notion of `EffectiveEpi` is often called "strict epi" in the literature. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Comp.lean b/Mathlib/CategoryTheory/EffectiveEpi/Comp.lean index 0794c9d1b22264..b810c9538143b1 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Comp.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Comp.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Basic +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Basic /-! # Composition of effective epimorphisms @@ -12,6 +14,8 @@ This file provides `EffectiveEpi` instances for certain compositions. -/ +@[expose] public section + namespace CategoryTheory open Limits Category diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Coproduct.lean b/Mathlib/CategoryTheory/EffectiveEpi/Coproduct.lean index 87c5560d945e1f..ea0de47b008991 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Coproduct.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Coproduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.Tactic.ApplyFun /-! # Effective epimorphic families and coproducts @@ -15,6 +17,8 @@ the coproduct exists, and the converse under some more conditions on the coprodu interacts well with pullbacks). -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Enough.lean b/Mathlib/CategoryTheory/EffectiveEpi/Enough.lean index dc7f679ddd6fbf..fa8d586be9daf5 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Enough.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Enough.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Basic +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Basic /-! # Effectively enough objects in the image of a functor @@ -12,6 +14,8 @@ We define the class `F.EffectivelyEnough` on a functor `F : C ⥤ D` which says in `D`, there exists an effective epi to it from an object in the image of `F`. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean b/Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean index d8020b5b961d37..9748b27c8cc3d9 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Preserves -import Mathlib.CategoryTheory.EffectiveEpi.Coproduct -import Mathlib.CategoryTheory.Extensive -import Mathlib.CategoryTheory.Limits.Preserves.Finite +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Preserves +public import Mathlib.CategoryTheory.EffectiveEpi.Coproduct +public import Mathlib.CategoryTheory.Extensive +public import Mathlib.CategoryTheory.Limits.Preserves.Finite /-! # Preserving and reflecting effective epis on extensive categories @@ -15,6 +17,8 @@ We prove that a functor between `FinitaryPreExtensive` categories preserves (res effective epi families if it preserves (resp. reflects) effective epis. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean b/Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean index cba9657d21df36..9a56b3d811190f 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Comp -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Comp +public import Mathlib.Data.Fintype.EquivFin /-! # Functors preserving effective epimorphisms @@ -17,6 +19,8 @@ epimorphic families. effective epis, similar to `CategoryTheory.preserves_epi_of_preservesColimit`. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/EffectiveEpi/RegularEpi.lean b/Mathlib/CategoryTheory/EffectiveEpi/RegularEpi.lean index 9272c878d3ca11..bdb1c11386b65d 100644 --- a/Mathlib/CategoryTheory/EffectiveEpi/RegularEpi.lean +++ b/Mathlib/CategoryTheory/EffectiveEpi/RegularEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.EffectiveEpi.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.EffectiveEpi.Basic /-! # The relationship between effective and regular epimorphisms. @@ -13,6 +15,8 @@ This file proves that the notions of regular epi and effective epi are equivalen kernel pairs, and that regular epi implies effective epi in general. -/ +@[expose] public section + namespace CategoryTheory open Limits RegularEpi diff --git a/Mathlib/CategoryTheory/Elements.lean b/Mathlib/CategoryTheory/Elements.lean index 2745d34d13775b..89e2d5e74678ee 100644 --- a/Mathlib/CategoryTheory/Elements.lean +++ b/Mathlib/CategoryTheory/Elements.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Category.Cat +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Category.Cat /-! # The category of elements @@ -30,6 +32,8 @@ more convenient API. We prove the equivalence in category of elements, Grothendieck construction, comma category -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Elementwise.lean b/Mathlib/CategoryTheory/Elementwise.lean index 06fe4ef41ec18b..8ebd6b8dda9b55 100644 --- a/Mathlib/CategoryTheory/Elementwise.lean +++ b/Mathlib/CategoryTheory/Elementwise.lean @@ -3,8 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.ConcreteCategory.Basic +module + +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +import all Mathlib.CategoryTheory.Iso -- for accessing proofs /-! # Use the `elementwise` attribute to create applied versions of lemmas. @@ -14,6 +17,8 @@ however some early parts of the category theory library are imported by `Tactic. so we need to add the attribute after the fact. -/ +@[expose] public section + /-! We now add some `elementwise` attributes to lemmas that were proved earlier. -/ diff --git a/Mathlib/CategoryTheory/Endofunctor/Algebra.lean b/Mathlib/CategoryTheory/Endofunctor/Algebra.lean index e4c7944d4018d7..bcc4e0526f59bd 100644 --- a/Mathlib/CategoryTheory/Endofunctor/Algebra.lean +++ b/Mathlib/CategoryTheory/Endofunctor/Algebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Hua. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta, Johan Commelin, Reid Barton, Robert Y. Lewis, Joseph Hua -/ -import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal -import Mathlib.CategoryTheory.Functor.EpiMono +module + +public import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal +public import Mathlib.CategoryTheory.Functor.EpiMono /-! @@ -22,6 +24,8 @@ coalgebras over `G`. algebras over the endofunctor coincide with algebras over the free monad on the endofunctor. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Endomorphism.lean b/Mathlib/CategoryTheory/Endomorphism.lean index 156af226c20e27..817eb68c947f20 100644 --- a/Mathlib/CategoryTheory/Endomorphism.lean +++ b/Mathlib/CategoryTheory/Endomorphism.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Kim Morrison, Simon Hudon -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.CategoryTheory.Groupoid +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.CategoryTheory.Groupoid /-! # Endomorphisms @@ -18,6 +20,8 @@ For each `X : C`, we provide `CategoryTheory.End X := X ⟶ X` with a monoid str and `CategoryTheory.Aut X := X ≅ X` with a group structure. -/ +@[expose] public section + universe v v' u u' diff --git a/Mathlib/CategoryTheory/Enriched/Basic.lean b/Mathlib/CategoryTheory/Enriched/Basic.lean index 24c931e1cf90b6..fad82c039fd3ae 100644 --- a/Mathlib/CategoryTheory/Enriched/Basic.lean +++ b/Mathlib/CategoryTheory/Enriched/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda -import Mathlib.CategoryTheory.Monoidal.Center -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda +public import Mathlib.CategoryTheory.Monoidal.Center +public import Mathlib.Tactic.ApplyFun /-! # Enriched categories @@ -33,6 +35,8 @@ We verify that when `V = Type v`, all these notion reduce to the usual ones. [morrison-penney-enriched] -/ +@[expose] public section + universe w w' v v' u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Enriched/EnrichedCat.lean b/Mathlib/CategoryTheory/Enriched/EnrichedCat.lean index 2681322943bbed..90b0ae0c1bd6c4 100644 --- a/Mathlib/CategoryTheory/Enriched/EnrichedCat.lean +++ b/Mathlib/CategoryTheory/Enriched/EnrichedCat.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Enriched.Basic -import Mathlib.CategoryTheory.Bicategory.Basic +module + +public import Mathlib.CategoryTheory.Enriched.Basic +public import Mathlib.CategoryTheory.Bicategory.Basic /-! # The bicategory of `V`-enriched categories @@ -18,6 +20,8 @@ category `V`. * Define the bicategory of enriched ordinary categories. -/ +@[expose] public section + universe w v u u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Enriched/FunctorCategory.lean b/Mathlib/CategoryTheory/Enriched/FunctorCategory.lean index f4e8650186a4a2..94ad3f59d4d5a6 100644 --- a/Mathlib/CategoryTheory/Enriched/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Enriched/FunctorCategory.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Monoidal.FunctorCategory -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Limits.Shapes.End +module + +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Limits.Shapes.End /-! # Functor categories are enriched @@ -26,6 +28,8 @@ The definition `isLimitConeFunctorEnrichedHom` shows that -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory.Enriched.FunctorCategory diff --git a/Mathlib/CategoryTheory/Enriched/HomCongr.lean b/Mathlib/CategoryTheory/Enriched/HomCongr.lean index 9536a0d158544b..eadaa8bcd1f097 100644 --- a/Mathlib/CategoryTheory/Enriched/HomCongr.lean +++ b/Mathlib/CategoryTheory/Enriched/HomCongr.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Nick Ward. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nick Ward -/ -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +module + +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic /-! # Congruence of enriched homs @@ -24,6 +26,8 @@ they construct equivalences between `Type`s and `Sort`s, respectively, while in this file we construct isomorphisms between objects in `V`. -/ +@[expose] public section + universe v' v u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean index 44194be9a5dc35..66541098a7cdc7 100644 --- a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean +++ b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Eugster, Dagur Asgeirsson, Emily Riehl -/ -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +public import Mathlib.CategoryTheory.Limits.Final /-! # Existence of conical limits @@ -33,6 +35,8 @@ However, it is not fully clear yet whether this could lead to potential issues, if there are multiple `MonoidalCategory _` instances in scope. -/ +@[expose] public section + universe v₁ u₁ v₂ u₂ w v' v u u' namespace CategoryTheory.Enriched diff --git a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean index 3daad82ef77c0d..e7f13f0b1435cf 100644 --- a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean +++ b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalProducts.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Jon Eugster, Emily Riehl -/ -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits +module + +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits /-! # Existence of conical products -/ +@[expose] public section + universe w v' v u u' namespace CategoryTheory.Enriched diff --git a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean index a2116ffb248b91..5ea2bdf3a76237 100644 --- a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean +++ b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Jon Eugster, Emily Riehl -/ -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits +module + +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalLimits /-! # Existence of conical pullbacks -/ +@[expose] public section + universe w v' v u u' namespace CategoryTheory.Enriched diff --git a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean index 728144d0b1c4af..235f05252382db 100644 --- a/Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean +++ b/Mathlib/CategoryTheory/Enriched/Limits/HasConicalTerminal.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Jon Eugster, Emily Riehl -/ -import Mathlib.CategoryTheory.Enriched.Limits.HasConicalProducts +module + +public import Mathlib.CategoryTheory.Enriched.Limits.HasConicalProducts /-! # Existence of conical terminal objects -/ +@[expose] public section + universe w v' v u u' namespace CategoryTheory.Enriched diff --git a/Mathlib/CategoryTheory/Enriched/Opposite.lean b/Mathlib/CategoryTheory/Enriched/Opposite.lean index d626e11db20cda..654560724c0f43 100644 --- a/Mathlib/CategoryTheory/Enriched/Opposite.lean +++ b/Mathlib/CategoryTheory/Enriched/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Daniel Carranza. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Carranza -/ -import Mathlib.CategoryTheory.Enriched.Ordinary.Basic -import Mathlib.CategoryTheory.Monoidal.Braided.Basic +module + +public import Mathlib.CategoryTheory.Enriched.Ordinary.Basic +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic /-! @@ -23,6 +25,8 @@ an enriched ordinary category. -/ +@[expose] public section + universe v₁ u₁ v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean b/Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean index aa0059898ffa5c..232c1c3301414c 100644 --- a/Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean +++ b/Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Enriched.Basic -import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda +module + +public import Mathlib.CategoryTheory.Enriched.Basic +public import Mathlib.CategoryTheory.Monoidal.Types.Coyoneda /-! # Enriched ordinary categories @@ -24,6 +26,8 @@ using an abbreviation for `EnrichedOrdinaryCategory SSet C`. -/ +@[expose] public section + universe v' v v'' u u' u'' open CategoryTheory Category MonoidalCategory Opposite diff --git a/Mathlib/CategoryTheory/EpiMono.lean b/Mathlib/CategoryTheory/EpiMono.lean index e52523b284ee8f..75901d37ce6208 100644 --- a/Mathlib/CategoryTheory/EpiMono.lean +++ b/Mathlib/CategoryTheory/EpiMono.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Kim Morrison -/ -import Mathlib.CategoryTheory.Opposites -import Mathlib.CategoryTheory.Groupoid +module + +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.CategoryTheory.Groupoid /-! # Facts about epimorphisms and monomorphisms. @@ -13,6 +15,8 @@ The definitions of `Epi` and `Mono` are in `CategoryTheory.Category`, since they are used by some lemmas for `Iso`, which is used everywhere. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/EqToHom.lean b/Mathlib/CategoryTheory/EqToHom.lean index 7d4f3c9add894b..2f9d6c14d35c3a 100644 --- a/Mathlib/CategoryTheory/EqToHom.lean +++ b/Mathlib/CategoryTheory/EqToHom.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Kim Morrison -/ -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Opposites /-! # Morphisms from equations between objects. @@ -24,6 +26,8 @@ This file introduces various `simp` lemmas which in favourable circumstances result in the various `eqToHom` morphisms to drop out at the appropriate moment! -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ -- morphism levels before object levels. See note [category theory universes]. diff --git a/Mathlib/CategoryTheory/Equivalence.lean b/Mathlib/CategoryTheory/Equivalence.lean index 9443b68659211f..1387292764d683 100644 --- a/Mathlib/CategoryTheory/Equivalence.lean +++ b/Mathlib/CategoryTheory/Equivalence.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Functor.FullyFaithful -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.EssentialImage -import Mathlib.Tactic.CategoryTheory.Slice +module + +public import Mathlib.CategoryTheory.Functor.FullyFaithful +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.EssentialImage +public import Mathlib.Tactic.CategoryTheory.Slice /-! # Equivalence of categories @@ -55,6 +57,8 @@ We write `C ≌ D` (`\backcong`, not to be confused with `≅`/`\cong`) for a bu -/ +@[expose] public section + namespace CategoryTheory open CategoryTheory.Functor NatIso Category diff --git a/Mathlib/CategoryTheory/Equivalence/Symmetry.lean b/Mathlib/CategoryTheory/Equivalence/Symmetry.lean index ddffbec62737a6..cad9b76e874a51 100644 --- a/Mathlib/CategoryTheory/Equivalence/Symmetry.lean +++ b/Mathlib/CategoryTheory/Equivalence/Symmetry.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Equivalence -import Mathlib.CategoryTheory.Adjunction.Mates +module + +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.CategoryTheory.Adjunction.Mates /-! # Functoriality of the symmetry of equivalences @@ -23,6 +25,8 @@ and provides the definition of the functor that takes an equivalence to its inve -/ +@[expose] public section + namespace CategoryTheory open CategoryTheory.Functor NatIso Category diff --git a/Mathlib/CategoryTheory/EssentialImage.lean b/Mathlib/CategoryTheory/EssentialImage.lean index 92f74853d4748f..76561865d61884 100644 --- a/Mathlib/CategoryTheory/EssentialImage.lean +++ b/Mathlib/CategoryTheory/EssentialImage.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.NatIso -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +module + +public import Mathlib.CategoryTheory.NatIso +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory /-! # Essential image of a functor @@ -21,6 +23,8 @@ a functor decomposes into an essentially surjective functor and a fully faithful (TODO: show that this decomposition forms an orthogonal factorisation system). -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/EssentiallySmall.lean b/Mathlib/CategoryTheory/EssentiallySmall.lean index 92244a42c6797d..339bce91a44a10 100644 --- a/Mathlib/CategoryTheory/EssentiallySmall.lean +++ b/Mathlib/CategoryTheory/EssentiallySmall.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.ULift -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Skeletal -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.Logic.UnivLE -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.CategoryTheory.Category.ULift +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Skeletal +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.Logic.UnivLE +public import Mathlib.Logic.Small.Basic /-! # Essentially small categories. @@ -23,6 +25,8 @@ The main theorem here is that a category is `w`-essentially small iff the type `Skeleton C` is `w`-small, and `C` is `w`-locally small. -/ +@[expose] public section + universe w w' v v' u u' diff --git a/Mathlib/CategoryTheory/Extensive.lean b/Mathlib/CategoryTheory/Extensive.lean index e388f97de22042..dfeb873f267cdc 100644 --- a/Mathlib/CategoryTheory/Extensive.lean +++ b/Mathlib/CategoryTheory/Extensive.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.Topology.Category.TopCat.Limits.Pullbacks -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts -import Mathlib.CategoryTheory.Limits.VanKampen +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.StrictInitial +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.Topology.Category.TopCat.Limits.Pullbacks +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts +public import Mathlib.CategoryTheory.Limits.VanKampen /-! @@ -45,6 +47,8 @@ Show that the following are finitary extensive: -/ +@[expose] public section + open CategoryTheory.Limits Topology namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ExtremalEpi.lean b/Mathlib/CategoryTheory/ExtremalEpi.lean index 53fc71bd5269c7..5d414c6fe84c8b 100644 --- a/Mathlib/CategoryTheory/ExtremalEpi.lean +++ b/Mathlib/CategoryTheory/ExtremalEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi +module + +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi /-! # Extremal epimorphisms @@ -23,6 +25,8 @@ the category has pullbacks. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/FiberedCategory/BasedCategory.lean b/Mathlib/CategoryTheory/FiberedCategory/BasedCategory.lean index 6f7138f3a305c2..9083e329f34f01 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/BasedCategory.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/BasedCategory.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Calle Sönne -/ +module -import Mathlib.CategoryTheory.FiberedCategory.HomLift -import Mathlib.CategoryTheory.Bicategory.Strict.Basic -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.FiberedCategory.HomLift +public import Mathlib.CategoryTheory.Bicategory.Strict.Basic +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # The bicategory of based categories @@ -25,6 +26,8 @@ Natural transformations between based functors `F G : 𝒳 ⥤ᵇ 𝒴 ` are giv underlying `F` and `G` such that `α.app a` lifts `𝟙 S` whenever `𝒳.p.obj a = S`. -/ +@[expose] public section + universe v₅ u₅ v₄ u₄ v₃ u₃ v₂ u₂ v₁ u₁ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/FiberedCategory/Cartesian.lean b/Mathlib/CategoryTheory/FiberedCategory/Cartesian.lean index 50ebb5edd5aba2..c1eca1299c3d62 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/Cartesian.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/Cartesian.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Calle Sönne -/ +module -import Mathlib.CategoryTheory.FiberedCategory.HomLift +public import Mathlib.CategoryTheory.FiberedCategory.HomLift /-! # Cartesian morphisms @@ -37,6 +38,8 @@ equalities. * [Stacks: Fibred Categories](https://stacks.math.columbia.edu/tag/02XJ) -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ open CategoryTheory Functor Category IsHomLift diff --git a/Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean b/Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean index 78d03f7000d057..6bb1b41cfcce5f 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/Cocartesian.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ +module -import Mathlib.CategoryTheory.FiberedCategory.HomLift +public import Mathlib.CategoryTheory.FiberedCategory.HomLift /-! # Co-Cartesian morphisms @@ -34,6 +35,8 @@ equalities. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ open CategoryTheory Functor Category IsHomLift diff --git a/Mathlib/CategoryTheory/FiberedCategory/Fiber.lean b/Mathlib/CategoryTheory/FiberedCategory/Fiber.lean index 7a6ee8fdcd7a8a..b35dc7b3207eb5 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/Fiber.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/Fiber.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Paul Lezeau -/ +module -import Mathlib.CategoryTheory.FiberedCategory.HomLift -import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.CategoryTheory.FiberedCategory.HomLift +public import Mathlib.CategoryTheory.Functor.Const /-! @@ -20,6 +21,8 @@ For any category `C` equipped with a functor `F : C ⥤ 𝒳` such that `F ⋙ p we define a functor `inducedFunctor : C ⥤ Fiber p S` that `F` factors through. -/ +@[expose] public section + universe v₁ u₁ v₂ u₂ v₃ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/FiberedCategory/Fibered.lean b/Mathlib/CategoryTheory/FiberedCategory/Fibered.lean index a398906fcc2c6a..ad194ce737a6be 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/Fibered.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/Fibered.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Calle Sönne -/ +module -import Mathlib.CategoryTheory.FiberedCategory.Cartesian +public import Mathlib.CategoryTheory.FiberedCategory.Cartesian /-! @@ -38,6 +39,8 @@ equalities. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean b/Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean index a25bf333e30661..15ecc887293ceb 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Fernando Chu, Christian Merten -/ +module -import Mathlib.CategoryTheory.Bicategory.Grothendieck -import Mathlib.CategoryTheory.FiberedCategory.HasFibers +public import Mathlib.CategoryTheory.Bicategory.Grothendieck +public import Mathlib.CategoryTheory.FiberedCategory.HasFibers /-! # The Grothendieck construction gives a fibered category @@ -22,6 +23,8 @@ Angelo Vistoli -/ +@[expose] public section + namespace CategoryTheory.Pseudofunctor.CoGrothendieck open Functor Opposite Bicategory Fiber diff --git a/Mathlib/CategoryTheory/FiberedCategory/HasFibers.lean b/Mathlib/CategoryTheory/FiberedCategory/HasFibers.lean index 9ba24eeb3ccb21..84b4b7e3d60d4e 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/HasFibers.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/HasFibers.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Paul Lezeau -/ -import Mathlib.CategoryTheory.FiberedCategory.Fiber -import Mathlib.CategoryTheory.FiberedCategory.Fibered +module + +public import Mathlib.CategoryTheory.FiberedCategory.Fiber +public import Mathlib.CategoryTheory.FiberedCategory.Fibered /-! @@ -48,6 +50,8 @@ analogously to the standard fibers. -/ +@[expose] public section + universe v₃ u₃ v₂ u₂ v₁ u₁ open CategoryTheory Functor Category IsCartesian IsHomLift Fiber diff --git a/Mathlib/CategoryTheory/FiberedCategory/HomLift.lean b/Mathlib/CategoryTheory/FiberedCategory/HomLift.lean index 8e54d694f6f915..728bb9694f1e50 100644 --- a/Mathlib/CategoryTheory/FiberedCategory/HomLift.lean +++ b/Mathlib/CategoryTheory/FiberedCategory/HomLift.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Calle Sönne -/ +module -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.CommSq +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.CommSq /-! @@ -26,6 +27,8 @@ it is used to make the code more readable. -/ +@[expose] public section + universe u₁ v₁ u₂ v₂ open CategoryTheory Category diff --git a/Mathlib/CategoryTheory/Filtered/Basic.lean b/Mathlib/CategoryTheory/Filtered/Basic.lean index 58cbf1d27c2681..018e6dadbe9670 100644 --- a/Mathlib/CategoryTheory/Filtered/Basic.lean +++ b/Mathlib/CategoryTheory/Filtered/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +module + +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits /-! # Filtered categories @@ -50,6 +52,8 @@ This is shown in `CategoryTheory.Limits.Filtered`. -/ +@[expose] public section + open Function diff --git a/Mathlib/CategoryTheory/Filtered/Connected.lean b/Mathlib/CategoryTheory/Filtered/Connected.lean index ae77abe25db5b1..72535b13b648cf 100644 --- a/Mathlib/CategoryTheory/Filtered/Connected.lean +++ b/Mathlib/CategoryTheory/Filtered/Connected.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.IsConnected +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.IsConnected /-! # Filtered categories are connected -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/CostructuredArrow.lean b/Mathlib/CategoryTheory/Filtered/CostructuredArrow.lean index 60313b9ecf393c..2f29b72d7ca2fa 100644 --- a/Mathlib/CategoryTheory/Filtered/CostructuredArrow.lean +++ b/Mathlib/CategoryTheory/Filtered/CostructuredArrow.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Filtered.OfColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Limits.Preserves.Grothendieck -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Filtered.OfColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Limits.Preserves.Grothendieck +public import Mathlib.CategoryTheory.Limits.Final /-! # Inferring Filteredness from Filteredness of Costructured Arrow Categories @@ -18,6 +20,8 @@ import Mathlib.CategoryTheory.Limits.Final -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/Final.lean b/Mathlib/CategoryTheory/Filtered/Final.lean index dc754515c96869..a642366113178c 100644 --- a/Mathlib/CategoryTheory/Filtered/Final.lean +++ b/Mathlib/CategoryTheory/Filtered/Final.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Filtered.Connected -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Limits.Sifted +module + +public import Mathlib.CategoryTheory.Filtered.Connected +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Limits.Sifted /-! # Final functors with filtered (co)domain @@ -33,6 +35,8 @@ final can be restated. We show: -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/Flat.lean b/Mathlib/CategoryTheory/Filtered/Flat.lean index f4ca7ef2b7bb2f..99316f7ec7f2b1 100644 --- a/Mathlib/CategoryTheory/Filtered/Flat.lean +++ b/Mathlib/CategoryTheory/Filtered/Flat.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Filtered.CostructuredArrow -import Mathlib.CategoryTheory.Functor.Flat +module + +public import Mathlib.CategoryTheory.Filtered.CostructuredArrow +public import Mathlib.CategoryTheory.Functor.Flat /-! # Pulling back filteredness along representably flat functors @@ -18,6 +20,8 @@ Transferring (co)filteredness *along* representably (co)flat functors is given b representably coflat functor is initial. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/Grothendieck.lean b/Mathlib/CategoryTheory/Filtered/Grothendieck.lean index d4d3ea8c1f4cd5..a8d759b227a1a8 100644 --- a/Mathlib/CategoryTheory/Filtered/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Filtered/Grothendieck.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Grothendieck +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Grothendieck /-! # Filteredness of Grothendieck construction @@ -13,6 +15,8 @@ We show that if `F : C ⥤ Cat` is such that `C` is filtered and `F.obj c` is fi `c : C`, then `Grothendieck F` is filtered. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/OfColimitCommutesFiniteLimit.lean b/Mathlib/CategoryTheory/Filtered/OfColimitCommutesFiniteLimit.lean index 64a0c5121aacf6..f219ea173cdb8a 100644 --- a/Mathlib/CategoryTheory/Filtered/OfColimitCommutesFiniteLimit.lean +++ b/Mathlib/CategoryTheory/Filtered/OfColimitCommutesFiniteLimit.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Limits.Filtered -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Limits.Filtered +public import Mathlib.CategoryTheory.Limits.Yoneda /-! # If colimits of shape `K` commute with finite limits, then `K` is filtered. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Filtered/Small.lean b/Mathlib/CategoryTheory/Filtered/Small.lean index a39e68a85ab44c..0e3fe3cb20766d 100644 --- a/Mathlib/CategoryTheory/Filtered/Small.lean +++ b/Mathlib/CategoryTheory/Filtered/Small.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.Tactic.DepRewrite +module + +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.Tactic.DepRewrite /-! # A functor from a small category to a filtered category factors through a small filtered category @@ -16,6 +18,8 @@ This is occasionally useful, for example in the proof of the recognition theorem (Proposition 6.1.5 in [Kashiwara2006]). -/ +@[expose] public section + universe w v v₁ u u₁ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/FinCategory/AsType.lean b/Mathlib/CategoryTheory/FinCategory/AsType.lean index 1751f035b3940b..5ce0272ee58254 100644 --- a/Mathlib/CategoryTheory/FinCategory/AsType.lean +++ b/Mathlib/CategoryTheory/FinCategory/AsType.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.Data.Fintype.EquivFin /-! # Finite categories are equivalent to category in `Type 0`. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/FinCategory/Basic.lean b/Mathlib/CategoryTheory/FinCategory/Basic.lean index 6aed0befde0a9a..6195c2dd37cda2 100644 --- a/Mathlib/CategoryTheory/FinCategory/Basic.lean +++ b/Mathlib/CategoryTheory/FinCategory/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Opposites -import Mathlib.CategoryTheory.Category.ULift +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.CategoryTheory.Category.ULift /-! # Finite categories @@ -20,6 +22,8 @@ so we have removed these requirements to avoid having to supply instances or delay with non-defeq conflicts between instances. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/FintypeCat.lean b/Mathlib/CategoryTheory/FintypeCat.lean index d31d83311202ce..b0d138e177bb5f 100644 --- a/Mathlib/CategoryTheory/FintypeCat.lean +++ b/Mathlib/CategoryTheory/FintypeCat.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Adam Topaz -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.Skeletal -import Mathlib.Data.Finite.Prod +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.Skeletal +public import Mathlib.Data.Finite.Prod /-! # The category of finite types. @@ -21,6 +23,8 @@ are `Fin n` for `n : ℕ`. We prove that the obvious inclusion functor We prove that `FintypeCat.Skeleton` is a skeleton of `FintypeCat` in `FintypeCat.isSkeleton`. -/ +@[expose] public section + open CategoryTheory /-- The category of finite types. -/ diff --git a/Mathlib/CategoryTheory/FullSubcategory.lean b/Mathlib/CategoryTheory/FullSubcategory.lean index ecc9c0ee8cc739..658920b596cbee 100644 --- a/Mathlib/CategoryTheory/FullSubcategory.lean +++ b/Mathlib/CategoryTheory/FullSubcategory.lean @@ -3,6 +3,8 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Reid Barton -/ -import Mathlib.CategoryTheory.Functor.FullyFaithful +module + +public import Mathlib.CategoryTheory.Functor.FullyFaithful deprecated_module "Auto-generated deprecation" (since := "2025-04-23") diff --git a/Mathlib/CategoryTheory/Functor/Basic.lean b/Mathlib/CategoryTheory/Functor/Basic.lean index 12d135b78567ca..cc472d4a2c7546 100644 --- a/Mathlib/CategoryTheory/Functor/Basic.lean +++ b/Mathlib/CategoryTheory/Functor/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.Combinatorics.Quiver.Prefunctor -import Mathlib.Tactic.CategoryTheory.CheckCompositions +module + +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.Combinatorics.Quiver.Prefunctor +public import Mathlib.Tactic.CategoryTheory.CheckCompositions /-! # Functors @@ -18,6 +20,8 @@ from `C` to `D`, `𝟭` for the identity functor and `⋙` for functor compositi TODO: Switch to using the `⇒` arrow. -/ +@[expose] public section + set_option mathlib.tactic.category.grind true namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/Category.lean b/Mathlib/CategoryTheory/Functor/Category.lean index e7bf61b588032d..0c4b1d6633e2c8 100644 --- a/Mathlib/CategoryTheory/Functor/Category.lean +++ b/Mathlib/CategoryTheory/Functor/Category.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.NatTrans -import Mathlib.CategoryTheory.Iso +module + +public import Mathlib.CategoryTheory.NatTrans +public import Mathlib.CategoryTheory.Iso /-! # The category of functors and natural transformations between two fixed categories. @@ -24,6 +26,8 @@ However if `C` and `D` are both large categories at the same universe level, this is a small category at the next higher level. -/ +@[expose] public section + set_option mathlib.tactic.category.grind true namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/Const.lean b/Mathlib/CategoryTheory/Functor/Const.lean index 4a1c70e129bc25..904a6aaa29d6c7 100644 --- a/Mathlib/CategoryTheory/Functor/Const.lean +++ b/Mathlib/CategoryTheory/Functor/Const.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Opposites /-! # The constant functor @@ -16,6 +18,8 @@ When `J` is nonempty, `const` is faithful. We have `(const J).obj X ⋙ F ≅ (const J).obj (F.obj X)` for any `F : C ⥤ D`. -/ +@[expose] public section + -- declare the `v`'s first; see `CategoryTheory.Category` for an explanation universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Functor/Currying.lean b/Mathlib/CategoryTheory/Functor/Currying.lean index 3f7823f951bdab..4218aaec2ca8a6 100644 --- a/Mathlib/CategoryTheory/Functor/Currying.lean +++ b/Mathlib/CategoryTheory/Functor/Currying.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Products.Basic /-! # Curry and uncurry, as functors. @@ -17,6 +19,8 @@ This is used in `CategoryTheory.Category.Cat.CartesianClosed` to equip the categ categories `Cat.{u, u}` with a Cartesian-closed structure. -/ +@[expose] public section + namespace CategoryTheory namespace Functor diff --git a/Mathlib/CategoryTheory/Functor/CurryingThree.lean b/Mathlib/CategoryTheory/Functor/CurryingThree.lean index 751c360bfc22b4..9d0b2b3308f711 100644 --- a/Mathlib/CategoryTheory/Functor/CurryingThree.lean +++ b/Mathlib/CategoryTheory/Functor/CurryingThree.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Functor.Trifunctor -import Mathlib.CategoryTheory.Products.Associator +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Functor.Trifunctor +public import Mathlib.CategoryTheory.Products.Associator /-! # Currying of functors in three variables @@ -16,6 +17,8 @@ We study the equivalence of categories -/ +@[expose] public section + namespace CategoryTheory namespace Functor diff --git a/Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean b/Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean index 5801c659420c01..1bb6525117b405 100644 --- a/Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean +++ b/Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.Derived.LeftDerived -import Mathlib.CategoryTheory.Functor.Derived.RightDerived +module + +public import Mathlib.CategoryTheory.Functor.Derived.LeftDerived +public import Mathlib.CategoryTheory.Functor.Derived.RightDerived /-! # Derived adjunction @@ -29,6 +31,8 @@ foncteurs dérivés, revisité*][Maltsiniotis2007] -/ +@[expose] public section + namespace CategoryTheory variable {C₁ C₂ D₁ D₂ : Type*} [Category C₁] [Category C₂] [Category D₁] [Category D₂] diff --git a/Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean b/Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean index 606e7a0a19a5ce..535a4e94a05f1c 100644 --- a/Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean +++ b/Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Basic -import Mathlib.CategoryTheory.Localization.Predicate +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic +public import Mathlib.CategoryTheory.Localization.Predicate /-! # Left derived functors @@ -31,6 +33,8 @@ along the localization functor `L`. -/ +@[expose] public section + namespace CategoryTheory namespace Functor diff --git a/Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean b/Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean index 7a7e32262c0e0a..06c4a6a6a049b8 100644 --- a/Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean +++ b/Mathlib/CategoryTheory/Functor/Derived/PointwiseRightDerived.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.Derived.RightDerived -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise -import Mathlib.CategoryTheory.Localization.StructuredArrow +module + +public import Mathlib.CategoryTheory.Functor.Derived.RightDerived +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +public import Mathlib.CategoryTheory.Localization.StructuredArrow /-! # Pointwise right derived functors @@ -18,6 +20,8 @@ then it has a pointwise right derived functor. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean b/Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean index 52027e9922e56e..edd212c672a38f 100644 --- a/Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean +++ b/Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Basic -import Mathlib.CategoryTheory.Localization.Predicate +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic +public import Mathlib.CategoryTheory.Localization.Predicate /-! # Right derived functors @@ -34,6 +36,8 @@ structures, existence of derived functors from derivability structures. -/ +@[expose] public section + namespace CategoryTheory namespace Functor diff --git a/Mathlib/CategoryTheory/Functor/EpiMono.lean b/Mathlib/CategoryTheory/Functor/EpiMono.lean index f10b37d05ae725..a007bd0cf1e495 100644 --- a/Mathlib/CategoryTheory/Functor/EpiMono.lean +++ b/Mathlib/CategoryTheory/Functor/EpiMono.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.EpiMono -import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi -import Mathlib.CategoryTheory.LiftingProperties.Adjunction +module + +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi +public import Mathlib.CategoryTheory.LiftingProperties.Adjunction /-! # Preservation and reflection of monomorphisms and epimorphisms @@ -14,6 +16,8 @@ We provide typeclasses that state that a functor preserves or reflects monomorph epimorphisms. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/Flat.lean b/Mathlib/CategoryTheory/Functor/Flat.lean index 5fb4f3b4469483..59b2ba75ca01b6 100644 --- a/Mathlib/CategoryTheory/Functor/Flat.lean +++ b/Mathlib/CategoryTheory/Functor/Flat.lean @@ -3,16 +3,18 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Filtered.Connected -import Mathlib.CategoryTheory.Limits.ConeCategory -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Limits.Preserves.Filtered -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Limits.Bicones -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Opposites -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +module + +public import Mathlib.CategoryTheory.Filtered.Connected +public import Mathlib.CategoryTheory.Limits.ConeCategory +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Bicones +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Opposites +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits /-! # Representably flat functors @@ -42,6 +44,8 @@ This definition is equivalent to left exact functors (functors that preserves fi -/ +@[expose] public section + universe w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Functor/FullyFaithful.lean b/Mathlib/CategoryTheory/Functor/FullyFaithful.lean index 123540981cb357..45b6b0ba430cea 100644 --- a/Mathlib/CategoryTheory/Functor/FullyFaithful.lean +++ b/Mathlib/CategoryTheory/Functor/FullyFaithful.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.NatIso -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.CategoryTheory.NatIso +public import Mathlib.Logic.Equiv.Defs /-! # Full and faithful functors @@ -26,6 +28,8 @@ equivalence if and only if it is fully faithful and essentially surjective. -/ +@[expose] public section + -- declare the `v`'s first; see `CategoryTheory.Category` for an explanation universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Functor/FunctorHom.lean b/Mathlib/CategoryTheory/Functor/FunctorHom.lean index 94ddf38debbdde..5db1bd9007c516 100644 --- a/Mathlib/CategoryTheory/Functor/FunctorHom.lean +++ b/Mathlib/CategoryTheory/Functor/FunctorHom.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen, Joël Riou -/ -import Mathlib.CategoryTheory.Monoidal.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.CategoryTheory.Enriched.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.CategoryTheory.Enriched.Basic /-! # Internal hom in functor categories @@ -19,6 +21,8 @@ See `Mathlib/CategoryTheory/Closed/FunctorToTypes.lean`. -/ +@[expose] public section + universe w v' v u u' diff --git a/Mathlib/CategoryTheory/Functor/Functorial.lean b/Mathlib/CategoryTheory/Functor/Functorial.lean index 4b11d40eada12c..cf4bf44c4c3ae5 100644 --- a/Mathlib/CategoryTheory/Functor/Functorial.lean +++ b/Mathlib/CategoryTheory/Functor/Functorial.lean @@ -3,12 +3,16 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Functor.Basic +module + +public import Mathlib.CategoryTheory.Functor.Basic /-! # Unbundled functors, as a typeclass decorating the object-level function. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/Hom.lean b/Mathlib/CategoryTheory/Functor/Hom.lean index aec763b3a05d8e..e9c84a045d56e2 100644 --- a/Mathlib/CategoryTheory/Functor/Hom.lean +++ b/Mathlib/CategoryTheory/Functor/Hom.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Kim Morrison -/ -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.CategoryTheory.Types.Basic +module + +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.CategoryTheory.Types.Basic /-! The hom functor, sending `(X, Y)` to the type `X ⟶ Y`. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean b/Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean index 404db851f52a79..b11fde3569fcca 100644 --- a/Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean +++ b/Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise -import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck -import Mathlib.CategoryTheory.Comma.StructuredArrow.Functor +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +public import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Functor /-! # The Kan extension functor @@ -22,6 +24,8 @@ right Kan extension along `L`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean b/Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean index 4d06cdb53b5432..81910f2fdf0e46 100644 --- a/Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean +++ b/Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Equivalence -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Equivalence +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal /-! # Kan extensions @@ -30,6 +32,8 @@ are obtained as `leftKanExtension L F` and `rightKanExtension L F`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits Functor diff --git a/Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean b/Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean index 188f066f4bc176..f0e10caca925b5 100644 --- a/Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean +++ b/Mathlib/CategoryTheory/Functor/KanExtension/DenseAt.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise /-! # Canonical colimits, or functors that are dense at an object @@ -27,6 +29,8 @@ to the Yoneda embedding -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean b/Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean index 2e95321b2454ec..abcd29b909d72c 100644 --- a/Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean +++ b/Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Basic +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Basic /-! # Pointwise Kan extensions @@ -27,6 +29,8 @@ A dual API for pointwise right Kan extension is also formalized. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean b/Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean index 8d5fad6039603b..52a62cab745584 100644 --- a/Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean +++ b/Mathlib/CategoryTheory/Functor/KanExtension/Preserves.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preservation of Kan extensions @@ -20,6 +22,8 @@ We introduce the dual typeclass `G.PreservesRightKanExtension`. -/ +@[expose] public section + namespace CategoryTheory.Functor variable {A B C D : Type*} [Category A] [Category B] [Category C] [Category D] diff --git a/Mathlib/CategoryTheory/Functor/OfSequence.lean b/Mathlib/CategoryTheory/Functor/OfSequence.lean index fefe95b532864f..3fd0c10e550215 100644 --- a/Mathlib/CategoryTheory/Functor/OfSequence.lean +++ b/Mathlib/CategoryTheory/Functor/OfSequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.EqToHom +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.EqToHom /-! # Functors from the category of the ordered set `ℕ` @@ -22,6 +24,8 @@ The duals of the above for functors `ℕᵒᵖ ⥤ C` are given by `Functor.ofOp -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/Functor/ReflectsIso/Balanced.lean b/Mathlib/CategoryTheory/Functor/ReflectsIso/Balanced.lean index cae0dc763a5047..4957c648718776 100644 --- a/Mathlib/CategoryTheory/Functor/ReflectsIso/Balanced.lean +++ b/Mathlib/CategoryTheory/Functor/ReflectsIso/Balanced.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Robin Carlier -/ -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic -import Mathlib.CategoryTheory.Balanced -import Mathlib.CategoryTheory.Functor.EpiMono +module + +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.Balanced +public import Mathlib.CategoryTheory.Functor.EpiMono /-! # Balanced categories and functors reflecting isomorphisms @@ -17,6 +19,8 @@ and `PreservesMonomorphisms` are balanced. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Functor namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean b/Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean index 7f3c01eb572ff8..89c794316fb44b 100644 --- a/Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean +++ b/Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.Functor.FullyFaithful +module + +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.Functor.FullyFaithful /-! # Functors which reflect isomorphisms @@ -17,6 +19,8 @@ It is formalized as a `Prop`-valued typeclass `ReflectsIsomorphisms F`. Any fully faithful functor reflects isomorphisms. -/ +@[expose] public section + namespace CategoryTheory open Functor diff --git a/Mathlib/CategoryTheory/Functor/Trifunctor.lean b/Mathlib/CategoryTheory/Functor/Trifunctor.lean index 0548f4dadccdbc..20faf1ed9f2edb 100644 --- a/Mathlib/CategoryTheory/Functor/Trifunctor.lean +++ b/Mathlib/CategoryTheory/Functor/Trifunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.Category +module + +public import Mathlib.CategoryTheory.Functor.Category /-! # Trifunctors obtained by composition of bifunctors @@ -17,6 +19,8 @@ objects `X₁ : C₁`, `X₂ : C₂` and `X₃ : C₃` to `(F.obj X₁).obj ((G -/ +@[expose] public section + namespace CategoryTheory variable {C₁ C₂ C₃ C₄ C₁₂ C₂₃ : Type*} [Category C₁] [Category C₂] [Category C₃] diff --git a/Mathlib/CategoryTheory/Functor/TwoSquare.lean b/Mathlib/CategoryTheory/Functor/TwoSquare.lean index 7c6100b3d0289f..08f8e5ed6d93ba 100644 --- a/Mathlib/CategoryTheory/Functor/TwoSquare.lean +++ b/Mathlib/CategoryTheory/Functor/TwoSquare.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.Opposites -import Mathlib.Tactic.CategoryTheory.Slice +module + +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.Tactic.CategoryTheory.Slice /-! # 2-squares of functors @@ -30,6 +32,8 @@ Generalize all of this to double categories. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ v₆ v₇ v₈ v₉ u₁ u₂ u₃ u₄ u₅ u₆ u₇ u₈ u₉ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Action.lean b/Mathlib/CategoryTheory/Galois/Action.lean index 5a67e99b52a764..bad735d2df8109 100644 --- a/Mathlib/CategoryTheory/Galois/Action.lean +++ b/Mathlib/CategoryTheory/Galois/Action.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Examples -import Mathlib.CategoryTheory.Galois.Prorepresentability +module + +public import Mathlib.CategoryTheory.Galois.Examples +public import Mathlib.CategoryTheory.Galois.Prorepresentability /-! @@ -18,6 +20,8 @@ See `Mathlib/CategoryTheory/Galois/Full.lean` for the proof that `H` is (faithfu -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Basic.lean b/Mathlib/CategoryTheory/Galois/Basic.lean index dd9dc0cd6d1e98..d2a5c15264f744 100644 --- a/Mathlib/CategoryTheory/Galois/Basic.lean +++ b/Mathlib/CategoryTheory/Galois/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.FintypeCat -import Mathlib.CategoryTheory.Limits.MonoCoprod -import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory -import Mathlib.CategoryTheory.Limits.Shapes.Diagonal -import Mathlib.CategoryTheory.SingleObj -import Mathlib.Data.Finite.Card +module + +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.FintypeCat +public import Mathlib.CategoryTheory.Limits.MonoCoprod +public import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory +public import Mathlib.CategoryTheory.Limits.Shapes.Diagonal +public import Mathlib.CategoryTheory.SingleObj +public import Mathlib.Data.Finite.Card /-! # Definition and basic properties of Galois categories @@ -42,6 +44,8 @@ as this is not needed for the proof of the fundamental theorem on Galois categor -/ +@[expose] public section + universe u₁ u₂ v₁ v₂ w t namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Decomposition.lean b/Mathlib/CategoryTheory/Galois/Decomposition.lean index b5f7eca387bed3..628c9517d2b717 100644 --- a/Mathlib/CategoryTheory/Galois/Decomposition.lean +++ b/Mathlib/CategoryTheory/Galois/Decomposition.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.GaloisObjects -import Mathlib.CategoryTheory.Limits.Shapes.CombinedProducts -import Mathlib.Data.Finite.Sum +module + +public import Mathlib.CategoryTheory.Galois.GaloisObjects +public import Mathlib.CategoryTheory.Limits.Shapes.CombinedProducts +public import Mathlib.Data.Finite.Sum /-! # Decomposition of objects into connected components and applications @@ -31,6 +33,8 @@ is represented by a Galois object. -/ +@[expose] public section + universe u₁ u₂ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Equivalence.lean b/Mathlib/CategoryTheory/Galois/Equivalence.lean index 59a6c97d21235b..f37637299249c9 100644 --- a/Mathlib/CategoryTheory/Galois/Equivalence.lean +++ b/Mathlib/CategoryTheory/Galois/Equivalence.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.EssSurj -import Mathlib.CategoryTheory.Action.Continuous -import Mathlib.Topology.Category.FinTopCat +module + +public import Mathlib.CategoryTheory.Galois.EssSurj +public import Mathlib.CategoryTheory.Action.Continuous +public import Mathlib.Topology.Category.FinTopCat /-! # Fiber functors induce an equivalence of categories @@ -16,6 +18,8 @@ In this file we conclude that the induced functor from `C` to the category of fi discrete `Aut F`-sets is an equivalence of categories. -/ +@[expose] public section + universe u₂ u₁ w open CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/EssSurj.lean b/Mathlib/CategoryTheory/Galois/EssSurj.lean index e2d8ce581a6a42..92e96670f452bc 100644 --- a/Mathlib/CategoryTheory/Galois/EssSurj.lean +++ b/Mathlib/CategoryTheory/Galois/EssSurj.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Full -import Mathlib.CategoryTheory.Galois.Topology -import Mathlib.Topology.Algebra.OpenSubgroup +module + +public import Mathlib.CategoryTheory.Galois.Full +public import Mathlib.CategoryTheory.Galois.Topology +public import Mathlib.Topology.Algebra.OpenSubgroup /-! @@ -35,6 +37,8 @@ For the case `Y = Aut F ⧸ U` we closely follow the second part of Stacks Proje -/ +@[expose] public section + noncomputable section universe u₁ u₂ diff --git a/Mathlib/CategoryTheory/Galois/Examples.lean b/Mathlib/CategoryTheory/Galois/Examples.lean index 82ffe3c2f0ae4e..aea30d8b551b82 100644 --- a/Mathlib/CategoryTheory/Galois/Examples.lean +++ b/Mathlib/CategoryTheory/Galois/Examples.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Basic -import Mathlib.CategoryTheory.Action.Concrete -import Mathlib.CategoryTheory.Action.Limits +module + +public import Mathlib.CategoryTheory.Galois.Basic +public import Mathlib.CategoryTheory.Action.Concrete +public import Mathlib.CategoryTheory.Action.Limits /-! # Examples of Galois categories and fiber functors @@ -17,6 +19,8 @@ The connected finite `G`-sets are precisely the ones with transitive `G`-action. -/ +@[expose] public section + universe u v w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Full.lean b/Mathlib/CategoryTheory/Galois/Full.lean index aa5d827161db33..795ad3e0921fa2 100644 --- a/Mathlib/CategoryTheory/Galois/Full.lean +++ b/Mathlib/CategoryTheory/Galois/Full.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Action +module + +public import Mathlib.CategoryTheory.Galois.Action /-! @@ -26,6 +28,8 @@ the fibers of connected objects. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/GaloisObjects.lean b/Mathlib/CategoryTheory/Galois/GaloisObjects.lean index d374f4fddb7e53..94779e525c6a86 100644 --- a/Mathlib/CategoryTheory/Galois/GaloisObjects.lean +++ b/Mathlib/CategoryTheory/Galois/GaloisObjects.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Basic -import Mathlib.CategoryTheory.Limits.FintypeCat -import Mathlib.CategoryTheory.Limits.Preserves.Limits -import Mathlib.CategoryTheory.Limits.Shapes.SingleObj -import Mathlib.GroupTheory.GroupAction.Basic +module + +public import Mathlib.CategoryTheory.Galois.Basic +public import Mathlib.CategoryTheory.Limits.FintypeCat +public import Mathlib.CategoryTheory.Limits.Preserves.Limits +public import Mathlib.CategoryTheory.Limits.Shapes.SingleObj +public import Mathlib.GroupTheory.GroupAction.Basic /-! # Galois objects in Galois categories @@ -25,6 +27,8 @@ way and show equivalent characterisations. acts transitively on `F.obj X` for a fiber functor `F`. -/ + +@[expose] public section universe u₁ u₂ v₁ v₂ v w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/IsFundamentalgroup.lean b/Mathlib/CategoryTheory/Galois/IsFundamentalgroup.lean index 8c84a56091c865..978fbb42eb171d 100644 --- a/Mathlib/CategoryTheory/Galois/IsFundamentalgroup.lean +++ b/Mathlib/CategoryTheory/Galois/IsFundamentalgroup.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Basic -import Mathlib.CategoryTheory.Galois.Topology -import Mathlib.CategoryTheory.Galois.Prorepresentability -import Mathlib.Topology.Algebra.OpenSubgroup +module + +public import Mathlib.CategoryTheory.Galois.Basic +public import Mathlib.CategoryTheory.Galois.Topology +public import Mathlib.CategoryTheory.Galois.Prorepresentability +public import Mathlib.Topology.Algebra.OpenSubgroup /-! @@ -45,6 +47,8 @@ Given this data, we define `toAut F G : G →* Aut F` in the natural way. `G` being a `T2Space`. -/ + +@[expose] public section universe u₁ u₂ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Prorepresentability.lean b/Mathlib/CategoryTheory/Galois/Prorepresentability.lean index 5a398989d6c8c3..5448dfc2b7ef20 100644 --- a/Mathlib/CategoryTheory/Galois/Prorepresentability.lean +++ b/Mathlib/CategoryTheory/Galois/Prorepresentability.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Category.Grp.Limits -import Mathlib.CategoryTheory.CofilteredSystem -import Mathlib.CategoryTheory.Galois.Decomposition -import Mathlib.CategoryTheory.Limits.IndYoneda -import Mathlib.CategoryTheory.Limits.Preserves.Ulift +module + +public import Mathlib.Algebra.Category.Grp.Limits +public import Mathlib.CategoryTheory.CofilteredSystem +public import Mathlib.CategoryTheory.Galois.Decomposition +public import Mathlib.CategoryTheory.Limits.IndYoneda +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift /-! # Pro-Representability of fiber functors @@ -53,6 +55,8 @@ an arbitrary `FintypeCat.{w}`. -/ +@[expose] public section + universe u₁ u₂ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Galois/Topology.lean b/Mathlib/CategoryTheory/Galois/Topology.lean index efe9a71225ae30..2d495d8725dfa7 100644 --- a/Mathlib/CategoryTheory/Galois/Topology.lean +++ b/Mathlib/CategoryTheory/Galois/Topology.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Galois.Prorepresentability -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.Group.Basic +module + +public import Mathlib.CategoryTheory.Galois.Prorepresentability +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.Group.Basic /-! @@ -22,6 +24,8 @@ embedding of `Aut F` into `∀ X, Aut (F.obj X)` where -/ +@[expose] public section + open Topology universe u₁ u₂ v₁ v₂ v w diff --git a/Mathlib/CategoryTheory/Generator/Abelian.lean b/Mathlib/CategoryTheory/Generator/Abelian.lean index a4ebb9ef111a37..e05d9041443c96 100644 --- a/Mathlib/CategoryTheory/Generator/Abelian.lean +++ b/Mathlib/CategoryTheory/Generator/Abelian.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.Subobject -import Mathlib.CategoryTheory.Limits.EssentiallySmall -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.CategoryTheory.Generator.Preadditive -import Mathlib.CategoryTheory.Abelian.Opposite +module + +public import Mathlib.CategoryTheory.Abelian.Subobject +public import Mathlib.CategoryTheory.Limits.EssentiallySmall +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.CategoryTheory.Generator.Preadditive +public import Mathlib.CategoryTheory.Abelian.Opposite /-! # A complete abelian category with enough injectives and a separator has an injective coseparator @@ -21,6 +23,8 @@ import Mathlib.CategoryTheory.Abelian.Opposite -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits Opposite diff --git a/Mathlib/CategoryTheory/Generator/Basic.lean b/Mathlib/CategoryTheory/Generator/Basic.lean index 65a605c444466d..24c49ebc70b1ce 100644 --- a/Mathlib/CategoryTheory/Generator/Basic.lean +++ b/Mathlib/CategoryTheory/Generator/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.EssentiallySmall -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Equalizers -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.Data.Set.Opposite +module + +public import Mathlib.CategoryTheory.Limits.EssentiallySmall +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Equalizers +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.Data.Set.Opposite /-! # Separating and detecting sets @@ -51,6 +53,8 @@ We -/ +@[expose] public section + universe w v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Generator/HomologicalComplex.lean b/Mathlib/CategoryTheory/Generator/HomologicalComplex.lean index cd3b90df9e64ef..03591bdaa75779 100644 --- a/Mathlib/CategoryTheory/Generator/HomologicalComplex.lean +++ b/Mathlib/CategoryTheory/Generator/HomologicalComplex.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Double -import Mathlib.Algebra.Homology.HomologicalComplexLimits -import Mathlib.CategoryTheory.Generator.Basic +module + +public import Mathlib.Algebra.Homology.Double +public import Mathlib.Algebra.Homology.HomologicalComplexLimits +public import Mathlib.CategoryTheory.Generator.Basic /-! # Generators of the category of homological complexes @@ -16,6 +18,8 @@ has a separating family, and a separator when suitable coproducts exist. -/ +@[expose] public section + universe t w v u open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Generator/Indization.lean b/Mathlib/CategoryTheory/Generator/Indization.lean index 370e9ed144d900..a882ad8cce357b 100644 --- a/Mathlib/CategoryTheory/Generator/Indization.lean +++ b/Mathlib/CategoryTheory/Generator/Indization.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Generator.Basic -import Mathlib.CategoryTheory.Limits.Indization.Category -import Mathlib.CategoryTheory.Preadditive.Indization +module + +public import Mathlib.CategoryTheory.Generator.Basic +public import Mathlib.CategoryTheory.Limits.Indization.Category +public import Mathlib.CategoryTheory.Preadditive.Indization /-! # Separating set in the category of ind-objects @@ -15,6 +17,8 @@ and additive, then `Ind C` has a separator. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Generator/Preadditive.lean b/Mathlib/CategoryTheory/Generator/Preadditive.lean index 8e30fa00586bfa..a592b246e956b8 100644 --- a/Mathlib/CategoryTheory/Generator/Preadditive.lean +++ b/Mathlib/CategoryTheory/Generator/Preadditive.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Generator.Basic -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +module + +public import Mathlib.CategoryTheory.Generator.Basic +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic /-! # Separators in preadditive categories @@ -14,6 +16,8 @@ preadditive categories. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Generator/Presheaf.lean b/Mathlib/CategoryTheory/Generator/Presheaf.lean index 61042589d44a2e..036773952bb01e 100644 --- a/Mathlib/CategoryTheory/Generator/Presheaf.lean +++ b/Mathlib/CategoryTheory/Generator/Presheaf.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Generator.Basic -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Generator.Basic +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # Generators in the category of presheaves @@ -16,6 +17,8 @@ presheaves `Cᵒᵖ ⥤ A` also has a separator. -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Generator/Sheaf.lean b/Mathlib/CategoryTheory/Generator/Sheaf.lean index 5539908fff9819..601d68fc6cd176 100644 --- a/Mathlib/CategoryTheory/Generator/Sheaf.lean +++ b/Mathlib/CategoryTheory/Generator/Sheaf.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Generator.Presheaf -import Mathlib.CategoryTheory.Sites.Sheafification -import Mathlib.CategoryTheory.Sites.Limits +public import Mathlib.CategoryTheory.Generator.Presheaf +public import Mathlib.CategoryTheory.Sites.Sheafification +public import Mathlib.CategoryTheory.Sites.Limits /-! # Generators in the category of sheaves @@ -16,6 +17,8 @@ category which has a separator (and suitable coproducts), then `Sheaf J A` has a -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/GlueData.lean b/Mathlib/CategoryTheory/GlueData.lean index 407a3d7f8f7fbd..3214b3befd4d7f 100644 --- a/Mathlib/CategoryTheory/GlueData.lean +++ b/Mathlib/CategoryTheory/GlueData.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Preserves.Limits -import Mathlib.CategoryTheory.Limits.Types.Shapes +module + +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Preserves.Limits +public import Mathlib.CategoryTheory.Limits.Types.Shapes /-! # Gluing data @@ -18,6 +20,8 @@ interaction with a functor that preserves certain pullbacks. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/GradedObject.lean b/Mathlib/CategoryTheory/GradedObject.lean index 30fb5b8d5c8219..51f89bbd4fcb2d 100644 --- a/Mathlib/CategoryTheory/GradedObject.lean +++ b/Mathlib/CategoryTheory/GradedObject.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Shift.Basic -import Mathlib.Data.Set.Subsingleton -import Mathlib.Algebra.Group.Int.Defs +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Shift.Basic +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Algebra.Group.Int.Defs /-! # The category of graded objects @@ -30,6 +32,8 @@ have a functor `map : GradedObject I C ⥤ GradedObject J C`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/GradedObject/Associator.lean b/Mathlib/CategoryTheory/GradedObject/Associator.lean index c607584c3bce41..997682af2af07f 100644 --- a/Mathlib/CategoryTheory/GradedObject/Associator.lean +++ b/Mathlib/CategoryTheory/GradedObject/Associator.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject.Trifunctor +module + +public import Mathlib.CategoryTheory.GradedObject.Trifunctor /-! # The associator for actions of bifunctors on graded objects @@ -26,6 +28,8 @@ on graded objects indexed by an additive monoid. -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/GradedObject/Bifunctor.lean b/Mathlib/CategoryTheory/GradedObject/Bifunctor.lean index 039b2b51e837d3..ca01b8ef89042b 100644 --- a/Mathlib/CategoryTheory/GradedObject/Bifunctor.lean +++ b/Mathlib/CategoryTheory/GradedObject/Bifunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject +module + +public import Mathlib.CategoryTheory.GradedObject /-! # The action of bifunctors on graded objects @@ -19,6 +21,8 @@ on `GradedObject I C` (TODO @joelriou). -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/GradedObject/Braiding.lean b/Mathlib/CategoryTheory/GradedObject/Braiding.lean index 10bd083b5b4f7b..70ea73cde14437 100644 --- a/Mathlib/CategoryTheory/GradedObject/Braiding.lean +++ b/Mathlib/CategoryTheory/GradedObject/Braiding.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject.Monoidal -import Mathlib.CategoryTheory.Monoidal.Braided.Basic +module + +public import Mathlib.CategoryTheory.GradedObject.Monoidal +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic /-! # The braided and symmetric category structures on graded objects @@ -18,6 +20,8 @@ structure on `GradedObject I C` and show that it is symmetric if `C` is symmetri -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/GradedObject/Monoidal.lean b/Mathlib/CategoryTheory/GradedObject/Monoidal.lean index 812dfba12c52ca..ae1cb184b964aa 100644 --- a/Mathlib/CategoryTheory/GradedObject/Monoidal.lean +++ b/Mathlib/CategoryTheory/GradedObject/Monoidal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Kim Morrison -/ -import Mathlib.CategoryTheory.GradedObject.Unitor -import Mathlib.Data.Fintype.Prod +module + +public import Mathlib.CategoryTheory.GradedObject.Unitor +public import Mathlib.Data.Fintype.Prod /-! # The monoidal category structures on graded objects @@ -23,6 +25,8 @@ product commutes, we obtain a monoidal category structure on `GradedObject ℕ C -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/GradedObject/Single.lean b/Mathlib/CategoryTheory/GradedObject/Single.lean index e5add88c366ef0..9f7b33437eab12 100644 --- a/Mathlib/CategoryTheory/GradedObject/Single.lean +++ b/Mathlib/CategoryTheory/GradedObject/Single.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject +module + +public import Mathlib.CategoryTheory.GradedObject /-! # The graded object in a single degree @@ -14,6 +16,8 @@ the initial object of `C` in other degrees. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/GradedObject/Trifunctor.lean b/Mathlib/CategoryTheory/GradedObject/Trifunctor.lean index eeca58fa2732da..1dba007b372d8b 100644 --- a/Mathlib/CategoryTheory/GradedObject/Trifunctor.lean +++ b/Mathlib/CategoryTheory/GradedObject/Trifunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject.Bifunctor -import Mathlib.CategoryTheory.Functor.Trifunctor +module + +public import Mathlib.CategoryTheory.GradedObject.Bifunctor +public import Mathlib.CategoryTheory.Functor.Trifunctor /-! # The action of trifunctors on graded objects @@ -23,6 +25,8 @@ an additive monoid structure on `I` (TODO @joelriou). -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/GradedObject/Unitor.lean b/Mathlib/CategoryTheory/GradedObject/Unitor.lean index b3491e4f57a7d6..67069189b77c05 100644 --- a/Mathlib/CategoryTheory/GradedObject/Unitor.lean +++ b/Mathlib/CategoryTheory/GradedObject/Unitor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GradedObject.Associator -import Mathlib.CategoryTheory.GradedObject.Single +module + +public import Mathlib.CategoryTheory.GradedObject.Associator +public import Mathlib.CategoryTheory.GradedObject.Single /-! # The left and right unitors @@ -19,6 +21,8 @@ to a triangle identity for the induced functors on graded objects. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Grothendieck.lean b/Mathlib/CategoryTheory/Grothendieck.lean index e891d76584f457..e33890a0816547 100644 --- a/Mathlib/CategoryTheory/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Grothendieck.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Sina Hazratpour -/ -import Mathlib.CategoryTheory.Category.Cat.AsSmall -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.Comma.Over.Basic +module + +public import Mathlib.CategoryTheory.Category.Cat.AsSmall +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.Comma.Over.Basic /-! # The Grothendieck construction @@ -47,6 +49,8 @@ See also `CategoryTheory.Functor.Elements` for the category of elements of funct -/ +@[expose] public section + universe w u v u₁ v₁ u₂ v₂ diff --git a/Mathlib/CategoryTheory/Groupoid.lean b/Mathlib/CategoryTheory/Groupoid.lean index 05566184d48e8b..c5dab01072565b 100644 --- a/Mathlib/CategoryTheory/Groupoid.lean +++ b/Mathlib/CategoryTheory/Groupoid.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Kim Morrison, David Wärn -/ -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.CategoryTheory.Pi.Basic -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.Combinatorics.Quiver.Symmetric -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.CategoryTheory.Pi.Basic +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.Combinatorics.Quiver.Symmetric +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Groupoids @@ -30,6 +32,8 @@ with `IsIso f` for every `f`. See also `CategoryTheory.Core` for the groupoid of isomorphisms in a category. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Groupoid/Basic.lean b/Mathlib/CategoryTheory/Groupoid/Basic.lean index 19cca460b0c346..40e3094a1d7a21 100644 --- a/Mathlib/CategoryTheory/Groupoid/Basic.lean +++ b/Mathlib/CategoryTheory/Groupoid/Basic.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémi Bottinelli -/ -import Mathlib.CategoryTheory.Groupoid -import Mathlib.Combinatorics.Quiver.Basic +module + +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.Combinatorics.Quiver.Basic /-! This file defines a few basic properties of groupoids. -/ +@[expose] public section + namespace CategoryTheory namespace Groupoid diff --git a/Mathlib/CategoryTheory/Groupoid/Discrete.lean b/Mathlib/CategoryTheory/Groupoid/Discrete.lean index 1ff05508909a92..669b9fe0bb5fcb 100644 --- a/Mathlib/CategoryTheory/Groupoid/Discrete.lean +++ b/Mathlib/CategoryTheory/Groupoid/Discrete.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.Discrete.Basic +module + +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.Discrete.Basic /-! # Discrete categories are groupoids -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} diff --git a/Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean b/Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean index af90eb513047d5..3c35d160f23756 100644 --- a/Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean +++ b/Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémi Bottinelli -/ -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.PathCategory.Basic +module + +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.PathCategory.Basic /-! # Free groupoid on a quiver @@ -30,6 +32,8 @@ and finally quotienting by the reducibility relation. -/ +@[expose] public section + open Set Function namespace Quiver diff --git a/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean b/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean index b8cf1bf9237953..5b11c7f462729b 100644 --- a/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean +++ b/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémi Bottinelli, Junyan Xu -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.CategoryTheory.Groupoid.VertexGroup -import Mathlib.CategoryTheory.Groupoid.Basic -import Mathlib.CategoryTheory.Groupoid -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.CategoryTheory.Groupoid.VertexGroup +public import Mathlib.CategoryTheory.Groupoid.Basic +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.Data.Set.Lattice /-! # Subgroupoid @@ -53,6 +55,8 @@ and `Mathlib/Combinatorics/SimpleGraph/Subgraph.lean`. category theory, groupoid, subgroupoid -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Groupoid/VertexGroup.lean b/Mathlib/CategoryTheory/Groupoid/VertexGroup.lean index 9add7e6426c4d7..ddbde07f0184a7 100644 --- a/Mathlib/CategoryTheory/Groupoid/VertexGroup.lean +++ b/Mathlib/CategoryTheory/Groupoid/VertexGroup.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémi Bottinelli -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.PathCategory.Basic -import Mathlib.Combinatorics.Quiver.Path +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.PathCategory.Basic +public import Mathlib.Combinatorics.Quiver.Path /-! # Vertex group @@ -26,6 +28,8 @@ This file defines the vertex group (*aka* isotropy group) of a groupoid at a ver isotropy, vertex group, groupoid -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/GuitartExact/Basic.lean b/Mathlib/CategoryTheory/GuitartExact/Basic.lean index 6fbd4398e5491e..1bc78ca02fe5db 100644 --- a/Mathlib/CategoryTheory/GuitartExact/Basic.lean +++ b/Mathlib/CategoryTheory/GuitartExact/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Functor.TwoSquare +module + +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Functor.TwoSquare /-! # Guitart exact squares @@ -46,6 +48,8 @@ and construct (pointwise) derived functors using this notion -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/GuitartExact/Opposite.lean b/Mathlib/CategoryTheory/GuitartExact/Opposite.lean index 5126b8b93804fe..0f8beee5f3586b 100644 --- a/Mathlib/CategoryTheory/GuitartExact/Opposite.lean +++ b/Mathlib/CategoryTheory/GuitartExact/Opposite.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.GuitartExact.VerticalComposition +module + +public import Mathlib.CategoryTheory.GuitartExact.VerticalComposition /-! # The opposite of a Guitart exact square @@ -13,6 +15,8 @@ is Guitart exact. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean b/Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean index c8779b30e82b3a..f9aee53c9840a6 100644 --- a/Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean +++ b/Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.CatCommSq -import Mathlib.CategoryTheory.GuitartExact.Basic +module + +public import Mathlib.CategoryTheory.CatCommSq +public import Mathlib.CategoryTheory.GuitartExact.Basic /-! # Vertical composition of Guitart exact squares @@ -14,6 +16,8 @@ is Guitart exact. -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/HomCongr.lean b/Mathlib/CategoryTheory/HomCongr.lean index 475e64d0f50226..743a0cf2f261e5 100644 --- a/Mathlib/CategoryTheory/HomCongr.lean +++ b/Mathlib/CategoryTheory/HomCongr.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.Iso +module + +public import Mathlib.CategoryTheory.Iso /-! # Conjugate morphisms by isomorphisms @@ -21,6 +23,8 @@ As corollaries, an isomorphism `α : X ≅ Y` defines which can be found in `CategoryTheory.Conj`. -/ +@[expose] public section + set_option mathlib.tactic.category.grind true diff --git a/Mathlib/CategoryTheory/Idempotents/Basic.lean b/Mathlib/CategoryTheory/Idempotents/Basic.lean index 5eca8158345ceb..bde88d8f6d721f 100644 --- a/Mathlib/CategoryTheory/Idempotents/Basic.lean +++ b/Mathlib/CategoryTheory/Idempotents/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Abelian.Basic +module + +public import Mathlib.CategoryTheory.Abelian.Basic /-! # Idempotent complete categories @@ -30,6 +32,8 @@ iff `C` is. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Idempotents/Biproducts.lean b/Mathlib/CategoryTheory/Idempotents/Biproducts.lean index 4add68f3005c7c..40f415b1cb54d9 100644 --- a/Mathlib/CategoryTheory/Idempotents/Biproducts.lean +++ b/Mathlib/CategoryTheory/Idempotents/Biproducts.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Idempotents.Karoubi +module + +public import Mathlib.CategoryTheory.Idempotents.Karoubi /-! @@ -19,6 +21,8 @@ the idempotent endomorphism `𝟙 P.X - P.p`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Idempotents/FunctorCategories.lean b/Mathlib/CategoryTheory/Idempotents/FunctorCategories.lean index b316a614c443eb..48592b15e3ebe7 100644 --- a/Mathlib/CategoryTheory/Idempotents/FunctorCategories.lean +++ b/Mathlib/CategoryTheory/Idempotents/FunctorCategories.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Idempotents.Karoubi +module + +public import Mathlib.CategoryTheory.Idempotents.Karoubi /-! # Idempotent completeness and functor categories @@ -17,6 +19,8 @@ We also provide a fully faithful functor -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean b/Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean index a4ca673c71d453..e8294404084897 100644 --- a/Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean +++ b/Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Idempotents.Karoubi +module + +public import Mathlib.CategoryTheory.Idempotents.Karoubi /-! # Extension of functors to the idempotent completion @@ -20,6 +22,8 @@ and `karoubiUniversal C D : C ⥤ D ≌ Karoubi C ⥤ D`. -/ +@[expose] public section + namespace CategoryTheory namespace Idempotents diff --git a/Mathlib/CategoryTheory/Idempotents/HomologicalComplex.lean b/Mathlib/CategoryTheory/Idempotents/HomologicalComplex.lean index adaa2f18c9a302..c2f9daa5af1aaa 100644 --- a/Mathlib/CategoryTheory/Idempotents/HomologicalComplex.lean +++ b/Mathlib/CategoryTheory/Idempotents/HomologicalComplex.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.Additive -import Mathlib.CategoryTheory.Idempotents.Karoubi +module + +public import Mathlib.Algebra.Homology.Additive +public import Mathlib.CategoryTheory.Idempotents.Karoubi /-! # Idempotent completeness and homological complexes @@ -18,6 +20,8 @@ When the category `C` is idempotent complete, it is shown that -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Idempotents/Karoubi.lean b/Mathlib/CategoryTheory/Idempotents/Karoubi.lean index 4cd5e4e417a7db..849a9657e759a5 100644 --- a/Mathlib/CategoryTheory/Idempotents/Karoubi.lean +++ b/Mathlib/CategoryTheory/Idempotents/Karoubi.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Idempotents.Basic -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Equivalence +module + +public import Mathlib.CategoryTheory.Idempotents.Basic +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Equivalence /-! # The Karoubi envelope of a category @@ -21,6 +23,8 @@ complete category. It is also preadditive when `C` is preadditive. -/ +@[expose] public section + noncomputable section open CategoryTheory.Category CategoryTheory.Preadditive CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Idempotents/KaroubiKaroubi.lean b/Mathlib/CategoryTheory/Idempotents/KaroubiKaroubi.lean index 96d0a3af8993e9..e04b729c59eb9a 100644 --- a/Mathlib/CategoryTheory/Idempotents/KaroubiKaroubi.lean +++ b/Mathlib/CategoryTheory/Idempotents/KaroubiKaroubi.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Idempotents.Karoubi +module + +public import Mathlib.CategoryTheory.Idempotents.Karoubi /-! # Idempotence of the Karoubi envelope @@ -13,6 +15,8 @@ In this file, we construct the equivalence of categories -/ +@[expose] public section + open CategoryTheory.Category diff --git a/Mathlib/CategoryTheory/Idempotents/SimplicialObject.lean b/Mathlib/CategoryTheory/Idempotents/SimplicialObject.lean index 0a46ade1890899..7d3395f7a71776 100644 --- a/Mathlib/CategoryTheory/Idempotents/SimplicialObject.lean +++ b/Mathlib/CategoryTheory/Idempotents/SimplicialObject.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.AlgebraicTopology.SimplicialObject.Basic -import Mathlib.CategoryTheory.Idempotents.FunctorCategories +module + +public import Mathlib.AlgebraicTopology.SimplicialObject.Basic +public import Mathlib.CategoryTheory.Idempotents.FunctorCategories /-! @@ -16,6 +18,8 @@ category `C` is. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/InducedCategory.lean b/Mathlib/CategoryTheory/InducedCategory.lean index 2b5f29c7d5077e..065b1664f5b1ed 100644 --- a/Mathlib/CategoryTheory/InducedCategory.lean +++ b/Mathlib/CategoryTheory/InducedCategory.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Reid Barton -/ -import Mathlib.CategoryTheory.Functor.FullyFaithful +module + +public import Mathlib.CategoryTheory.Functor.FullyFaithful /-! # Induced categories and full subcategories @@ -27,6 +29,8 @@ form of `D`. This is used to set up several algebraic categories like -- even though `MonCat = Bundled Monoid`! -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/IsConnected.lean b/Mathlib/CategoryTheory/IsConnected.lean index d854b7151e8074..6e6e9a55d5abda 100644 --- a/Mathlib/CategoryTheory/IsConnected.lean +++ b/Mathlib/CategoryTheory/IsConnected.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Jakob von Raumer -/ -import Mathlib.Data.List.Chain -import Mathlib.CategoryTheory.PUnit -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.Category.ULift +module + +public import Mathlib.Data.List.Chain +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.Category.ULift /-! # Connected category @@ -41,6 +43,8 @@ connected limit. That is, any limit of shape `J` where `J` is a connected category is preserved by the functor `(X × -)`. This appears in `CategoryTheory.Limits.Connected`. -/ +@[expose] public section + universe w₁ w₂ v₁ v₂ u₁ u₂ @@ -96,7 +100,7 @@ end IsPreconnected.IsoConstantAux /-- If `J` is connected, any functor `F : J ⥤ Discrete α` is isomorphic to the constant functor with value `F.obj j` (for any choice of `j`). -/ -def isoConstant [IsPreconnected J] {α : Type u₂} (F : J ⥤ Discrete α) (j : J) : +@[no_expose] def isoConstant [IsPreconnected J] {α : Type u₂} (F : J ⥤ Discrete α) (j : J) : F ≅ (Functor.const J).obj (F.obj j) := (IsPreconnected.IsoConstantAux.factorThroughDiscrete F).symm ≪≫ isoWhiskerRight (IsPreconnected.iso_constant _ j).some _ diff --git a/Mathlib/CategoryTheory/Iso.lean b/Mathlib/CategoryTheory/Iso.lean index be9e4adad967ae..6ef1db1163e216 100644 --- a/Mathlib/CategoryTheory/Iso.lean +++ b/Mathlib/CategoryTheory/Iso.lean @@ -3,7 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.Tactic.CategoryTheory.Reassoc +module + +public import Mathlib.Tactic.CategoryTheory.Reassoc +import Mathlib.Logic.Equiv.Defs /-! # Isomorphisms @@ -31,6 +34,8 @@ This file defines isomorphisms between objects of a category. category, category theory, isomorphism -/ +@[expose] public section + set_option mathlib.tactic.category.grind true universe v u diff --git a/Mathlib/CategoryTheory/IsomorphismClasses.lean b/Mathlib/CategoryTheory/IsomorphismClasses.lean index 17d906987bef63..483b76b3a44c19 100644 --- a/Mathlib/CategoryTheory/IsomorphismClasses.lean +++ b/Mathlib/CategoryTheory/IsomorphismClasses.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Groupoid -import Mathlib.CategoryTheory.Types.Basic +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Groupoid +public import Mathlib.CategoryTheory.Types.Basic /-! # Objects of a category up to an isomorphism @@ -14,6 +16,8 @@ import Mathlib.CategoryTheory.Types.Basic The quotient with respect to this relation defines a functor from our category to `Type`. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Join/Basic.lean b/Mathlib/CategoryTheory/Join/Basic.lean index 0e743a155fbc97..16910fec5ca8e6 100644 --- a/Mathlib/CategoryTheory/Join/Basic.lean +++ b/Mathlib/CategoryTheory/Join/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Products.Basic /-! # Joins of categories @@ -33,6 +35,8 @@ there is a unique morphism `c ⟶ d` in `C ⋆ D`. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ v₆ u₁ u₂ u₃ u₄ u₅ u₆ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Join/Final.lean b/Mathlib/CategoryTheory/Join/Final.lean index bedb22e96810b6..edc5dec387fef6 100644 --- a/Mathlib/CategoryTheory/Join/Final.lean +++ b/Mathlib/CategoryTheory/Join/Final.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Join.Basic -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.IsConnected +module + +public import Mathlib.CategoryTheory.Join.Basic +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.IsConnected /-! # (Co)Finality of the inclusions in joins of categories @@ -15,6 +17,8 @@ Dually, `inclRight : C ⥤ C ⋆ D` is final if `D` is connected. -/ +@[expose] public section + namespace CategoryTheory.Join variable (C D : Type*) [Category C] [Category D] diff --git a/Mathlib/CategoryTheory/Join/Opposites.lean b/Mathlib/CategoryTheory/Join/Opposites.lean index f65df261ed0ecd..1a674169d6e479 100644 --- a/Mathlib/CategoryTheory/Join/Opposites.lean +++ b/Mathlib/CategoryTheory/Join/Opposites.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Join.Basic -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.Join.Basic +public import Mathlib.CategoryTheory.Opposites /-! # Opposites of joins of categories @@ -14,6 +16,8 @@ This equivalence is characterized in both directions. -/ +@[expose] public section + namespace CategoryTheory.Join open Opposite Functor diff --git a/Mathlib/CategoryTheory/Join/Pseudofunctor.lean b/Mathlib/CategoryTheory/Join/Pseudofunctor.lean index 0550f45de40436..2f8b5da8d970cf 100644 --- a/Mathlib/CategoryTheory/Join/Pseudofunctor.lean +++ b/Mathlib/CategoryTheory/Join/Pseudofunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Join.Basic -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Join.Basic +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! # Pseudofunctoriality of categorical joins @@ -15,6 +17,8 @@ each variable. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory.Join diff --git a/Mathlib/CategoryTheory/Join/Sum.lean b/Mathlib/CategoryTheory/Join/Sum.lean index 284a724049e61a..2bf98979993be2 100644 --- a/Mathlib/CategoryTheory/Join/Sum.lean +++ b/Mathlib/CategoryTheory/Join/Sum.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Join.Basic -import Mathlib.CategoryTheory.Sums.Basic +module + +public import Mathlib.CategoryTheory.Join.Basic +public import Mathlib.CategoryTheory.Sums.Basic /-! # Embedding of `C ⊕ D` into `C ⋆ D` @@ -15,6 +17,8 @@ We also provide `Faithful` and `EssSurj` instances on this functor. -/ +@[expose] public section + namespace CategoryTheory.Join variable (C D : Type*) [Category C] [Category D] diff --git a/Mathlib/CategoryTheory/LiftingProperties/Adjunction.lean b/Mathlib/CategoryTheory/LiftingProperties/Adjunction.lean index 6c359d396dd995..9af878dade03ab 100644 --- a/Mathlib/CategoryTheory/LiftingProperties/Adjunction.lean +++ b/Mathlib/CategoryTheory/LiftingProperties/Adjunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.LiftingProperties.Basic -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.CategoryTheory.LiftingProperties.Basic +public import Mathlib.CategoryTheory.Adjunction.Basic /-! @@ -18,6 +20,8 @@ has the left lifting property in `C` with respect to `F.map p`. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/LiftingProperties/Basic.lean b/Mathlib/CategoryTheory/LiftingProperties/Basic.lean index 1d32a8e3c4736c..bc2f76b5f42079 100644 --- a/Mathlib/CategoryTheory/LiftingProperties/Basic.lean +++ b/Mathlib/CategoryTheory/LiftingProperties/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Jakob Scholbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Scholbach, Joël Riou -/ -import Mathlib.CategoryTheory.CommSq -import Mathlib.CategoryTheory.Retract +module + +public import Mathlib.CategoryTheory.CommSq +public import Mathlib.CategoryTheory.Retract /-! # Lifting properties @@ -23,6 +25,8 @@ lifting property -/ +@[expose] public section + universe v diff --git a/Mathlib/CategoryTheory/LiftingProperties/Limits.lean b/Mathlib/CategoryTheory/LiftingProperties/Limits.lean index fb1c478cdd17dd..95f38fb58c8e5e 100644 --- a/Mathlib/CategoryTheory/LiftingProperties/Limits.lean +++ b/Mathlib/CategoryTheory/LiftingProperties/Limits.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq /-! # Lifting properties and (co)limits @@ -13,6 +15,8 @@ certain (co)limits. -/ +@[expose] public section + universe v namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/LiftingProperties/ParametrizedAdjunction.lean b/Mathlib/CategoryTheory/LiftingProperties/ParametrizedAdjunction.lean index 5a58c2d521b602..e38afcd0c80724 100644 --- a/Mathlib/CategoryTheory/LiftingProperties/ParametrizedAdjunction.lean +++ b/Mathlib/CategoryTheory/LiftingProperties/ParametrizedAdjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.LiftingProperties.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Adjunction.Parametrized +module + +public import Mathlib.CategoryTheory.LiftingProperties.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Adjunction.Parametrized /-! # Lifting properties and parametrized adjunctions @@ -33,6 +35,8 @@ to `sq₁₃.π`: this is the lemma `ParametrizedAdjunction.hasLiftingProperty_i -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Bicones.lean b/Mathlib/CategoryTheory/Limits/Bicones.lean index 14c399d0df288b..478dfdd0ed1eda 100644 --- a/Mathlib/CategoryTheory/Limits/Bicones.lean +++ b/Mathlib/CategoryTheory/Limits/Bicones.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Cones -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.Data.Finset.Lattice.Lemmas +module + +public import Mathlib.CategoryTheory.Limits.Cones +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.Data.Finset.Lattice.Lemmas /-! # Bicones @@ -21,6 +23,8 @@ Given a diagram `F : J ⥤ C` and two `Cone F`s, we can join them into a diagram This is used in `CategoryTheory.Functor.Flat`. -/ +@[expose] public section + universe v₁ u₁ diff --git a/Mathlib/CategoryTheory/Limits/ColimitLimit.lean b/Mathlib/CategoryTheory/Limits/ColimitLimit.lean index 698fb628a1f062..b691bb69083326 100644 --- a/Mathlib/CategoryTheory/Limits/ColimitLimit.lean +++ b/Mathlib/CategoryTheory/Limits/ColimitLimit.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +module + +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # The morphism comparing a colimit of limits with the corresponding limit of colimits. @@ -23,6 +25,8 @@ is that when `C = Type`, filtered colimits commute with finite limits. * [Stacks: Filtered colimits](https://stacks.math.columbia.edu/tag/002W) -/ +@[expose] public section + universe v₁ v₂ v u₁ u₂ u diff --git a/Mathlib/CategoryTheory/Limits/Comma.lean b/Mathlib/CategoryTheory/Limits/Comma.lean index c05e5123196be7..d2751897425425 100644 --- a/Mathlib/CategoryTheory/Limits/Comma.lean +++ b/Mathlib/CategoryTheory/Limits/Comma.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Unit +module + +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Unit /-! # Limits and colimits in comma categories @@ -20,6 +22,8 @@ category, and show that the appropriate forgetful functors create limits. The duals of all the above are also given. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean b/Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean index 88cbd053776e63..2940bfa2b420fa 100644 --- a/Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/ConcreteCategory/Basic.lean @@ -3,17 +3,21 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Adam Topaz -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Limits.Types.Images -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Limits.Types.Images +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Limits.Yoneda /-! # Facts about (co)limits of functors into concrete categories -/ +@[expose] public section + universe s t w v u r diff --git a/Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean b/Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean index 75c0aee9149ae1..afa53551b8e8d8 100644 --- a/Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean +++ b/Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Tactic.CategoryTheory.Elementwise +module + +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Tactic.CategoryTheory.Elementwise /-! # Colimits in ModuleCat @@ -31,6 +33,8 @@ In the future they might be generalized by assuming a `HasForget₂ C (ModuleCat plus assertions that the module structures induced by `HasForget₂` coincide. -/ +@[expose] public section + universe t w v u r open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/ConeCategory.lean b/Mathlib/CategoryTheory/Limits/ConeCategory.lean index 6ed032bc3a2043..72fac2df7fcac0 100644 --- a/Mathlib/CategoryTheory/Limits/ConeCategory.lean +++ b/Mathlib/CategoryTheory/Limits/ConeCategory.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Adjunction.Comma -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Shapes.Equivalence +module + +public import Mathlib.CategoryTheory.Adjunction.Comma +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Shapes.Equivalence /-! # Limits and the category of (co)cones @@ -22,6 +24,8 @@ instance of `Cone`, please refer to `CategoryTheory/Limits/Cones.lean`. -/ +@[expose] public section + namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Cones.lean b/Mathlib/CategoryTheory/Limits/Cones.lean index 333010459a1cce..0065e219ccc684 100644 --- a/Mathlib/CategoryTheory/Limits/Cones.lean +++ b/Mathlib/CategoryTheory/Limits/Cones.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Functor.Const -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Yoneda -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Yoneda +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Cones and cocones @@ -33,6 +35,8 @@ And, of course, we dualise all this to cocones as well. For more results about the category of cones, see `cone_category.lean`. -/ +@[expose] public section + -- morphism levels before object levels. See note [category theory universes]. universe v₁ v₂ v₃ v₄ v₅ u₁ u₂ u₃ u₄ u₅ diff --git a/Mathlib/CategoryTheory/Limits/Connected.lean b/Mathlib/CategoryTheory/Limits/Connected.lean index c781306e20a48a..2cdafc463942cb 100644 --- a/Mathlib/CategoryTheory/Limits/Connected.lean +++ b/Mathlib/CategoryTheory/Limits/Connected.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Connected limits @@ -26,6 +28,8 @@ That is, any limit of shape `J` where `J` is a connected category is preserved by the functor `(X × -)`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Constructions/BinaryProducts.lean b/Mathlib/CategoryTheory/Limits/Constructions/BinaryProducts.lean index 99c278ec80ed6a..43383bbcef9ee3 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/BinaryProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/BinaryProducts.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal /-! # Constructing binary product from pullbacks and terminal object. @@ -17,6 +19,8 @@ has pullbacks and a terminal object, then it has binary products. We also provide the dual. -/ +@[expose] public section + universe v v' u u' diff --git a/Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean b/Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean index 474c957079d867..f12ef9267d8910 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks /-! # Relating monomorphisms and epimorphisms to limits and colimits @@ -16,6 +18,8 @@ We also provide the dual version for epimorphisms. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Constructions/Equalizers.lean index 40d3d65963e909..205d77cbaed99f 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Equalizers.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts /-! # Constructing equalizers from pullbacks and binary products. @@ -16,6 +18,8 @@ If a category has pullbacks and binary products, then it has equalizers. TODO: generalize universe -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Constructions/EventuallyConstant.lean b/Mathlib/CategoryTheory/Limits/Constructions/EventuallyConstant.lean index 2a16377f44cde4..0149517e74005c 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/EventuallyConstant.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/EventuallyConstant.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # Limits of eventually constant functors @@ -20,6 +22,8 @@ the dual results for filtered categories and colimits are also obtained. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Filtered.lean b/Mathlib/CategoryTheory/Limits/Constructions/Filtered.lean index e0fda90d8e8e77..c688b05b70ddb6 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Filtered.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Filtered.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Filtered -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +module + +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Filtered +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products /-! # Constructing colimits from finite colimits and filtered colimits @@ -20,6 +22,8 @@ diagram of all coproducts of finite subsets of `α`. We also deduce the dual statement by invoking the original statement in `Cᵒᵖ`. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Limits/Constructions/FiniteProductsOfBinaryProducts.lean b/Mathlib/CategoryTheory/Limits/Constructions/FiniteProductsOfBinaryProducts.lean index a077284d16676f..603bee575ad1e6 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/FiniteProductsOfBinaryProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/FiniteProductsOfBinaryProducts.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products /-! # Constructing finite products from binary products and terminal. @@ -19,6 +21,8 @@ Provide the dual results. Show the analogous results for functors which reflect or create (co)limits. -/ +@[expose] public section + universe v v' u u' diff --git a/Mathlib/CategoryTheory/Limits/Constructions/LimitsOfProductsAndEqualizers.lean b/Mathlib/CategoryTheory/Limits/Constructions/LimitsOfProductsAndEqualizers.lean index fa0db20f2ecb84..6b2ea1b0ef0882 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/LimitsOfProductsAndEqualizers.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/LimitsOfProductsAndEqualizers.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts -import Mathlib.CategoryTheory.Limits.Constructions.Equalizers -import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Creates.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Sigma +module + +public import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Constructions.Equalizers +public import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Creates.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Sigma /-! # Constructing limits from products and equalizers. @@ -28,6 +30,8 @@ Provide the dual results. Show the analogous results for functors which reflect or create (co)limits. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Over/Basic.lean b/Mathlib/CategoryTheory/Limits/Constructions/Over/Basic.lean index f9512af4a4ba07..dffa5d9d8e6c02 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Over/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Over/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Reid Barton, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Constructions.Over.Products -import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.Constructions.Equalizers +module + +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Products +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.Constructions.Equalizers /-! # Limits in the over category @@ -16,6 +18,8 @@ Declare instances for limits in the over category: If `C` has finite wide pullba finite limits, and if `C` has arbitrary wide pullbacks then `Over B` has limits. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean b/Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean index 6ea304667a6ddf..752053c21b806c 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Reid Barton, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Filtered.Final +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Filtered.Final /-! # Connected limits in the over category @@ -18,6 +20,8 @@ In particular, `CostructuredArrow K B` has any connected limit which `C` has. From this we deduce the corresponding results for the over category. -/ +@[expose] public section + universe v' u' v u -- morphism levels before object levels. See note [category theory universes]. diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Over/Products.lean b/Mathlib/CategoryTheory/Limits/Constructions/Over/Products.lean index cf58ba25e7fb3e..7d4c8703f642f9 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Over/Products.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Over/Products.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Reid Barton, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq /-! # Products in the over category @@ -21,6 +23,8 @@ category. * Dualise to get the `Under X` results. -/ +@[expose] public section + universe w v u -- morphism levels before object levels. See note [category_theory universes]. diff --git a/Mathlib/CategoryTheory/Limits/Constructions/Pullbacks.lean b/Mathlib/CategoryTheory/Limits/Constructions/Pullbacks.lean index 20397d8eae0f86..623ffe02fcc23a 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/Pullbacks.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/Pullbacks.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback /-! # Constructing pullbacks from binary products and equalizers @@ -14,6 +16,8 @@ If a category as binary products and equalizers, then it has pullbacks. Also, if a category has binary coproducts and coequalizers, then it has pushouts -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean b/Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean index 6834fbca42835e..cff666f1dca096 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Constructions related to weakly initial objects @@ -18,6 +20,8 @@ This file gives constructions related to weakly initial objects, namely: These are primarily useful to show the General Adjoint Functor Theorem. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Limits/Constructions/ZeroObjects.lean b/Mathlib/CategoryTheory/Limits/Constructions/ZeroObjects.lean index d66bcc7266931a..e726cf0ac3f417 100644 --- a/Mathlib/CategoryTheory/Limits/Constructions/ZeroObjects.lean +++ b/Mathlib/CategoryTheory/Limits/Constructions/ZeroObjects.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms -import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts +module + +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +public import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts /-! # Limits involving zero objects @@ -13,6 +15,8 @@ Binary products and coproducts with a zero object always exist, and pullbacks/pushouts over a zero object are products/coproducts. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Creates.lean b/Mathlib/CategoryTheory/Limits/Creates.lean index 0d3646419281e4..7f2a6184ac46e9 100644 --- a/Mathlib/CategoryTheory/Limits/Creates.lean +++ b/Mathlib/CategoryTheory/Limits/Creates.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Creating (co)limits @@ -14,6 +16,8 @@ We say that `F` creates limits of `K` if, given any limit cone `c` for `K ⋙ F` limits for `K`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits CategoryTheory.Functor diff --git a/Mathlib/CategoryTheory/Limits/Elements.lean b/Mathlib/CategoryTheory/Limits/Elements.lean index 33be62e9fd4a99..e55723f43c74c8 100644 --- a/Mathlib/CategoryTheory/Limits/Elements.lean +++ b/Mathlib/CategoryTheory/Limits/Elements.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Preserves.Limits +module + +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Preserves.Limits /-! # Limits in the category of elements @@ -17,6 +19,8 @@ the category of elements of `A` has limits of shape `I` and the forgetful functo -/ +@[expose] public section + universe w v₁ v u₁ u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/EpiMono.lean b/Mathlib/CategoryTheory/Limits/EpiMono.lean index bc10f364086dd9..f63bae109b5122 100644 --- a/Mathlib/CategoryTheory/Limits/EpiMono.lean +++ b/Mathlib/CategoryTheory/Limits/EpiMono.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq /-! # Relation between mono/epi and pullback/pushout squares @@ -25,6 +27,8 @@ is a pullback square. -/ +@[expose] public section + namespace CategoryTheory open Category Limits diff --git a/Mathlib/CategoryTheory/Limits/EssentiallySmall.lean b/Mathlib/CategoryTheory/Limits/EssentiallySmall.lean index 25b33da226c85a..2b4cb437e98d9c 100644 --- a/Mathlib/CategoryTheory/Limits/EssentiallySmall.lean +++ b/Mathlib/CategoryTheory/Limits/EssentiallySmall.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.EssentiallySmall +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.EssentiallySmall /-! # Limits over essentially small indexing categories @@ -15,6 +17,8 @@ See also the file `FinallySmall.lean` for more general results. -/ +@[expose] public section + universe w₁ w₂ v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/ExactFunctor.lean b/Mathlib/CategoryTheory/Limits/ExactFunctor.lean index 914f91890b273b..43d1532a0f3f65 100644 --- a/Mathlib/CategoryTheory/Limits/ExactFunctor.lean +++ b/Mathlib/CategoryTheory/Limits/ExactFunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Preserves.Finite +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Finite /-! # Bundled exact functors @@ -15,6 +17,8 @@ In this file, we define the categories of bundled left exact, right exact and ex -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Limits/Filtered.lean b/Mathlib/CategoryTheory/Limits/Filtered.lean index 03e5ed56b717e4..3c7d4b5f17d4fb 100644 --- a/Mathlib/CategoryTheory/Limits/Filtered.lean +++ b/Mathlib/CategoryTheory/Limits/Filtered.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Limits.Types.Yoneda +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Limits.Types.Yoneda /-! # Filtered categories and limits @@ -16,6 +18,8 @@ finite category there is some `X : C` such that `lim Hom(F·, X)` is nonempty. Furthermore, we define the type classes `HasCofilteredLimitsOfSize` and `HasFilteredColimitsOfSize`. -/ +@[expose] public section + universe w' w w₂' w₂ v u diff --git a/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean b/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean index a67fb68a261f6c..fad822927a1b88 100644 --- a/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean +++ b/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.ColimitLimit -import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Products.Bifunctor -import Mathlib.Data.Countable.Small +module + +public import Mathlib.CategoryTheory.Limits.ColimitLimit +public import Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Products.Bifunctor +public import Mathlib.Data.Countable.Small /-! # Filtered colimits commute with finite limits. @@ -26,6 +28,8 @@ colimit (over `K`) of the limits (over `J`) with the limit of the colimits is an * [Stacks: Filtered colimits](https://stacks.math.columbia.edu/tag/002W) -/ +@[expose] public section + -- Various pieces of algebra that have previously been spuriously imported here: assert_not_exists map_ne_zero MonoidWithZero diff --git a/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesProduct.lean b/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesProduct.lean index 3386b2a52e974e..5d13e99b20dadd 100644 --- a/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesProduct.lean +++ b/Mathlib/CategoryTheory/Limits/FilteredColimitCommutesProduct.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Filtered -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Filtered +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Products /-! # The IPC property @@ -30,6 +32,8 @@ does the category of Ind-objects of `C`. * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], 3.1.10, 3.1.11, 3.1.12. -/ +@[expose] public section + universe w v v₁ v₂ u u₁ u₂ namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Final.lean b/Mathlib/CategoryTheory/Limits/Final.lean index ce26bbffd1d56b..26c54713c0e73b 100644 --- a/Mathlib/CategoryTheory/Limits/Final.lean +++ b/Mathlib/CategoryTheory/Limits/Final.lean @@ -3,16 +3,18 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Category.Cat.AsSmall -import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Limits.Yoneda -import Mathlib.CategoryTheory.PUnit -import Mathlib.CategoryTheory.Grothendieck +module + +public import Mathlib.CategoryTheory.Category.Cat.AsSmall +public import Mathlib.CategoryTheory.Comma.StructuredArrow.Basic +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Limits.Yoneda +public import Mathlib.CategoryTheory.PUnit +public import Mathlib.CategoryTheory.Grothendieck /-! # Final and initial functors @@ -67,6 +69,8 @@ Dualise condition 3 above and the implications 2 ⇒ 3 and 3 ⇒ 1 to initial fu (Note he reverses the roles of definition and main result relative to here!) -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Final/ParallelPair.lean b/Mathlib/CategoryTheory/Limits/Final/ParallelPair.lean index 199b3da8d1d7ee..a6ab880bc8759e 100644 --- a/Mathlib/CategoryTheory/Limits/Final/ParallelPair.lean +++ b/Mathlib/CategoryTheory/Limits/Final/ParallelPair.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Limits.Final /-! # Conditions for `parallelPair` to be initial @@ -16,6 +18,8 @@ parallel morphisms out of `X` factor through the parallel pair `f`, `g` (`h₂ : ∀ ⦃Z : C⦄ (i j : X ⟶ Z), ∃ (a : Y ⟶ Z), i = f ≫ a ∧ j = g ≫ a`). -/ +@[expose] public section + namespace CategoryTheory.Limits variable {C : Type*} [Category C] diff --git a/Mathlib/CategoryTheory/Limits/Final/Type.lean b/Mathlib/CategoryTheory/Limits/Final/Type.lean index 62b5ae6ed8615e..bdc8ab565c58ca 100644 --- a/Mathlib/CategoryTheory/Limits/Final/Type.lean +++ b/Mathlib/CategoryTheory/Limits/Final/Type.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Limits.Final /-! # Action of an initial functor on sections @@ -18,6 +20,8 @@ initial functors, but we provide a more down to earth proof. -/ +@[expose] public section + universe w v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/FinallySmall.lean b/Mathlib/CategoryTheory/Limits/FinallySmall.lean index 0d9f164e36af4c..2332a4221d064c 100644 --- a/Mathlib/CategoryTheory/Limits/FinallySmall.lean +++ b/Mathlib/CategoryTheory/Limits/FinallySmall.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Logic.Small.Set -import Mathlib.CategoryTheory.Filtered.Final +module + +public import Mathlib.Logic.Small.Set +public import Mathlib.CategoryTheory.Filtered.Final /-! # Finally small categories @@ -24,6 +26,8 @@ objects such that from every object there a morphism to a member of `s`. We also converse holds if `J` is filtered. -/ +@[expose] public section + universe w v v₁ u u₁ open CategoryTheory Functor diff --git a/Mathlib/CategoryTheory/Limits/FintypeCat.lean b/Mathlib/CategoryTheory/Limits/FintypeCat.lean index 6d4cf35146d5c8..86371001285b36 100644 --- a/Mathlib/CategoryTheory/Limits/FintypeCat.lean +++ b/Mathlib/CategoryTheory/Limits/FintypeCat.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Finite.Sigma +module + +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Finite.Sigma /-! # (Co)limits in the category of finite types @@ -17,6 +19,8 @@ We show that finite (co)limits exist in `FintypeCat` and that they are preserved inclusion `FintypeCat.incl`. -/ +@[expose] public section + open CategoryTheory Limits Functor universe u diff --git a/Mathlib/CategoryTheory/Limits/FormalCoproducts.lean b/Mathlib/CategoryTheory/Limits/FormalCoproducts.lean index bcb226cc31ba44..1bc029eb2143a3 100644 --- a/Mathlib/CategoryTheory/Limits/FormalCoproducts.lean +++ b/Mathlib/CategoryTheory/Limits/FormalCoproducts.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Kenny Lau -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Formal Coproducts @@ -29,6 +31,8 @@ In this file we construct the category of formal coproducts given a category. -/ +@[expose] public section + universe w w₁ w₂ w₃ v v₁ v₂ v₃ u u₁ u₂ u₃ open Opposite CategoryTheory Functor diff --git a/Mathlib/CategoryTheory/Limits/Fubini.lean b/Mathlib/CategoryTheory/Limits/Fubini.lean index 631af3e0db55a0..a9b3cf14b7f7b5 100644 --- a/Mathlib/CategoryTheory/Limits/Fubini.lean +++ b/Mathlib/CategoryTheory/Limits/Fubini.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Products.Bifunctor +module + +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Products.Bifunctor /-! # A Fubini theorem for categorical (co)limits @@ -34,6 +36,8 @@ in terms of the uncurried functor. All statements have their counterpart for colimits. -/ +@[expose] public section + open CategoryTheory Functor diff --git a/Mathlib/CategoryTheory/Limits/FullSubcategory.lean b/Mathlib/CategoryTheory/Limits/FullSubcategory.lean index c4a51fd5288501..92059a0dbd8555 100644 --- a/Mathlib/CategoryTheory/Limits/FullSubcategory.lean +++ b/Mathlib/CategoryTheory/Limits/FullSubcategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms /-! # Limits in full subcategories @@ -15,6 +17,8 @@ More precisely, the inclusion creates such limits. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean index 1dee66c466175d..f948a393425930 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Limits.Preserves.Limits +module + +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Limits.Preserves.Limits /-! # (Co)limits in functor categories. @@ -20,6 +22,8 @@ We also show that `F : D ⥤ K ⥤ C` preserves (co)limits if it does so for eac `CategoryTheory.Limits.preservesColimits_of_evaluation`). -/ +@[expose] public section + open CategoryTheory CategoryTheory.Category CategoryTheory.Functor diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean index f98cf65579d0f4..bdd612638afbc9 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/EpiMono.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +module + +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # Monomorphisms and epimorphisms in functor categories @@ -16,6 +18,8 @@ see `NatTrans.mono_iff_mono_app` and `NatTrans.epi_iff_epi_app`. -/ +@[expose] public section + universe v v' v'' u u' u'' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/Filtered.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/Filtered.lean index d86c3c9fd36f2a..34578fa64c9416 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/Filtered.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/Filtered.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Filtered +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Filtered /-! # Functor categories have filtered colimits when the target category does @@ -13,6 +15,8 @@ These declarations cannot be in `Mathlib/CategoryTheory/Limits/FunctorCategory.l that file shouldn't import `Mathlib/CategoryTheory/Limits/Filtered.lean`. -/ +@[expose] public section + universe w' w v₁ v₂ u₁ u₂ namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/Finite.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/Finite.lean index 108829c108e7c0..771a17890d1848 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/Finite.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! # Functor categories have finite limits when the target category does @@ -13,6 +15,8 @@ These declarations cannot be in `Mathlib/CategoryTheory/Limits/FunctorCategory.l that file shouldn't import `Mathlib/CategoryTheory/Limits/Shapes/FiniteProducts.lean`. -/ +@[expose] public section + namespace CategoryTheory.Limits variable {C : Type*} [Category C] {K : Type*} [Category K] diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean index afd43b87c38543..9f9e8bf157256e 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # (Co)products in functor categories @@ -14,6 +16,8 @@ Given `f : α → D ⥤ C`, we prove the isomorphisms -/ +@[expose] public section + universe w v v₁ v₂ u u₁ u₂ namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Pullbacks.lean b/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Pullbacks.lean index 4a51e0715062cf..4cfa43e2e12dd3 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Pullbacks.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Pullbacks.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback /-! # Pullbacks in functor categories @@ -13,6 +15,8 @@ We prove the isomorphism `(pullback f g).obj d ≅ pullback (f.app d) (g.app d)` -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/FunctorToTypes.lean b/Mathlib/CategoryTheory/Limits/FunctorToTypes.lean index 70c1894237edce..a69e82de0e6016 100644 --- a/Mathlib/CategoryTheory/Limits/FunctorToTypes.lean +++ b/Mathlib/CategoryTheory/Limits/FunctorToTypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Types.Colimits +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Types.Colimits /-! # Concrete description of (co)limits in functor categories @@ -13,6 +15,8 @@ Some of the concrete descriptions of (co)limits in `Type v` extend to (co)limits category `K ⥤ Type v`. -/ +@[expose] public section + namespace CategoryTheory.FunctorToTypes open CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/HasLimits.lean b/Mathlib/CategoryTheory/Limits/HasLimits.lean index 741b0ce2a37344..857ab0ae381b4e 100644 --- a/Mathlib/CategoryTheory/Limits/HasLimits.lean +++ b/Mathlib/CategoryTheory/Limits/HasLimits.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.IsLimit -import Mathlib.CategoryTheory.Category.ULift -import Mathlib.CategoryTheory.EssentiallySmall -import Mathlib.CategoryTheory.Functor.EpiMono -import Mathlib.Logic.Equiv.Basic +module + +public import Mathlib.CategoryTheory.Limits.IsLimit +public import Mathlib.CategoryTheory.Category.ULift +public import Mathlib.CategoryTheory.EssentiallySmall +public import Mathlib.CategoryTheory.Functor.EpiMono +public import Mathlib.Logic.Equiv.Basic /-! # Existence of limits and colimits @@ -55,6 +57,8 @@ e.g. a `@[dualize]` attribute that behaves similarly to `@[to_additive]`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/IndYoneda.lean b/Mathlib/CategoryTheory/Limits/IndYoneda.lean index aaae2069a3fada..b1aa00e961ef5c 100644 --- a/Mathlib/CategoryTheory/Limits/IndYoneda.lean +++ b/Mathlib/CategoryTheory/Limits/IndYoneda.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Preserves.Limits -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Preserves.Limits +public import Mathlib.CategoryTheory.Limits.Yoneda /-! @@ -24,6 +26,8 @@ Notation: categories `C`, `I` and functors `D : Iᵒᵖ ⥤ C`, `F : C ⥤ Type` -/ +@[expose] public section + universe u₁ u₂ v₁ v₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Indization/Category.lean b/Mathlib/CategoryTheory/Limits/Indization/Category.lean index 152a70024708ad..2bbd8b86379804 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/Category.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/Category.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Constructions.Filtered -import Mathlib.CategoryTheory.Limits.FullSubcategory -import Mathlib.CategoryTheory.Limits.ExactFunctor -import Mathlib.CategoryTheory.Limits.Indization.Equalizers -import Mathlib.CategoryTheory.Limits.Indization.LocallySmall -import Mathlib.CategoryTheory.Limits.Indization.Products -import Mathlib.CategoryTheory.Limits.Preserves.Presheaf +module + +public import Mathlib.CategoryTheory.Limits.Constructions.Filtered +public import Mathlib.CategoryTheory.Limits.FullSubcategory +public import Mathlib.CategoryTheory.Limits.ExactFunctor +public import Mathlib.CategoryTheory.Limits.Indization.Equalizers +public import Mathlib.CategoryTheory.Limits.Indization.LocallySmall +public import Mathlib.CategoryTheory.Limits.Indization.Products +public import Mathlib.CategoryTheory.Limits.Preserves.Presheaf /-! # The category of Ind-objects @@ -53,6 +55,8 @@ Note that: * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Chapter 6 -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Indization/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Indization/Equalizers.lean index d5f9779e7698b5..e44baade73cfad 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/Equalizers.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits -import Mathlib.CategoryTheory.Limits.FullSubcategory -import Mathlib.CategoryTheory.Limits.Indization.ParallelPair +module + +public import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits +public import Mathlib.CategoryTheory.Limits.FullSubcategory +public import Mathlib.CategoryTheory.Limits.Indization.ParallelPair /-! # Equalizers of ind-objects @@ -16,6 +18,8 @@ We show that if a category `C` has equalizers, then ind-objects are closed under * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Section 6.1 -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean b/Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean index 69a23091724b0d..24b00455dcc9a5 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Comma.Presheaf.Colimit -import Mathlib.CategoryTheory.Limits.Filtered -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Limits.FunctorToTypes -import Mathlib.CategoryTheory.Limits.Indization.IndObject -import Mathlib.Logic.Small.Set +module + +public import Mathlib.CategoryTheory.Comma.Presheaf.Colimit +public import Mathlib.CategoryTheory.Limits.Filtered +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Limits.FunctorToTypes +public import Mathlib.CategoryTheory.Limits.Indization.IndObject +public import Mathlib.Logic.Small.Set /-! # Ind-objects are closed under filtered colimits @@ -22,6 +24,8 @@ Our proof is a slight variant of the proof given in Kashiwara-Schapira. * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Theorem 6.1.8 -/ +@[expose] public section + universe v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Indization/IndObject.lean b/Mathlib/CategoryTheory/Limits/Indization/IndObject.lean index 874cdbe899c36c..022742fd28396f 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/IndObject.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/IndObject.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FinallySmall -import Mathlib.CategoryTheory.Limits.Presheaf -import Mathlib.CategoryTheory.Filtered.Small -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Presheaf +module + +public import Mathlib.CategoryTheory.Limits.FinallySmall +public import Mathlib.CategoryTheory.Limits.Presheaf +public import Mathlib.CategoryTheory.Filtered.Small +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Presheaf /-! # Ind-objects @@ -40,6 +42,8 @@ The recommended alternative is to consider ind-objects over `ULiftHom.{w} C` ins * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Chapter 6 -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean b/Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean index 9f515bafd86479..13a82f705f0a2f 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/LocallySmall.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Limits.IndYoneda -import Mathlib.CategoryTheory.Limits.Indization.IndObject +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Limits.IndYoneda +public import Mathlib.CategoryTheory.Limits.Indization.IndObject /-! # There are only `v`-many natural transformations between Ind-objects @@ -19,6 +21,8 @@ The equivalence established here serves as the basis for a well-known calculatio ind-objects as a limit of a colimit. -/ +@[expose] public section + open CategoryTheory Limits Opposite universe v v₁ v₂ u u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Indization/ParallelPair.lean b/Mathlib/CategoryTheory/Limits/Indization/ParallelPair.lean index b15c661e1e3622..13576ded9485ab 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/ParallelPair.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/ParallelPair.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Comma.Final -import Mathlib.CategoryTheory.Limits.Indization.IndObject +module + +public import Mathlib.CategoryTheory.Comma.Final +public import Mathlib.CategoryTheory.Limits.Indization.IndObject /-! # Parallel pairs of natural transformations between ind-objects @@ -19,6 +21,8 @@ commonly presented by diagrams and natural transformations in `I ⥤ C`. our proof is more direct). -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Indization/Products.lean b/Mathlib/CategoryTheory/Limits/Indization/Products.lean index ba9c97fd879ee3..3c2e7e446dc595 100644 --- a/Mathlib/CategoryTheory/Limits/Indization/Products.lean +++ b/Mathlib/CategoryTheory/Limits/Indization/Products.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesProduct -import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits +module + +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesProduct +public import Mathlib.CategoryTheory.Limits.Indization.FilteredColimits /-! # Ind-objects are closed under products @@ -17,6 +19,8 @@ creates products indexed by `α` and that the functor `C ⥤ Ind C` preserves th * [M. Kashiwara, P. Schapira, *Categories and Sheaves*][Kashiwara2006], Prop. 6.1.16(ii) -/ +@[expose] public section + universe v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/IsConnected.lean b/Mathlib/CategoryTheory/Limits/IsConnected.lean index c07ba59e9ecb49..52bf9148b78f9b 100644 --- a/Mathlib/CategoryTheory/Limits/IsConnected.lean +++ b/Mathlib/CategoryTheory/Limits/IsConnected.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Paul Reichert. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Reichert -/ -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.HomCongr +module + +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.HomCongr /-! # Colimits of connected index categories @@ -37,6 +39,8 @@ its codomain is connected. unit-valued, singleton, colimit -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/IsLimit.lean b/Mathlib/CategoryTheory/Limits/IsLimit.lean index 56d5ac865bdd87..2991e993011237 100644 --- a/Mathlib/CategoryTheory/Limits/IsLimit.lean +++ b/Mathlib/CategoryTheory/Limits/IsLimit.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Limits.Cones -import Batteries.Tactic.Congr +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Limits.Cones +public import Batteries.Tactic.Congr /-! # Limits and colimits @@ -31,6 +33,8 @@ e.g. a `@[dualize]` attribute that behaves similarly to `@[to_additive]`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Lattice.lean b/Mathlib/CategoryTheory/Limits/Lattice.lean index 26aa73dca43aed..ff4b356212872c 100644 --- a/Mathlib/CategoryTheory/Limits/Lattice.lean +++ b/Mathlib/CategoryTheory/Limits/Lattice.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Justus Springer -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.Data.Finset.Lattice.Fold /-! # Limits in lattice categories are given by infimums and supremums. -/ +@[expose] public section + universe w w' u diff --git a/Mathlib/CategoryTheory/Limits/MonoCoprod.lean b/Mathlib/CategoryTheory/Limits/MonoCoprod.lean index 21c4232229c1a4..d60ad0c8241ac8 100644 --- a/Mathlib/CategoryTheory/Limits/MonoCoprod.lean +++ b/Mathlib/CategoryTheory/Limits/MonoCoprod.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms /-! @@ -28,6 +30,8 @@ TODO: define distributive categories, and show that they satisfy `MonoCoprod`, s -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/MorphismProperty.lean b/Mathlib/CategoryTheory/Limits/MorphismProperty.lean index 2a2233e84d2b52..bf90e170068f12 100644 --- a/Mathlib/CategoryTheory/Limits/MorphismProperty.lean +++ b/Mathlib/CategoryTheory/Limits/MorphismProperty.lean @@ -3,17 +3,21 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic -import Mathlib.CategoryTheory.Limits.FullSubcategory -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Basic +public import Mathlib.CategoryTheory.Limits.FullSubcategory +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # (Co)limits in subcategories of comma categories defined by morphism properties -/ +@[expose] public section + namespace CategoryTheory open Limits MorphismProperty.Comma diff --git a/Mathlib/CategoryTheory/Limits/Opposites.lean b/Mathlib/CategoryTheory/Limits/Opposites.lean index ecdf5478059ccb..3364d6e13e2d51 100644 --- a/Mathlib/CategoryTheory/Limits/Opposites.lean +++ b/Mathlib/CategoryTheory/Limits/Opposites.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +module + +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits /-! # Limits in `C` give colimits in `Cᵒᵖ`. @@ -13,6 +15,8 @@ We construct limits and colimits in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Over.lean b/Mathlib/CategoryTheory/Limits/Over.lean index fffc525411e685..5e87c9a565b63e 100644 --- a/Mathlib/CategoryTheory/Limits/Over.lean +++ b/Mathlib/CategoryTheory/Limits/Over.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Reid Barton, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.Limits.ConeCategory -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.Limits.ConeCategory +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Limits and colimits in the over and under categories @@ -20,6 +22,8 @@ Note that the folder `CategoryTheory.Limits.Shapes.Constructions.Over` further s `Over X` has `J`-indexed products if `C` has `J`-indexed wide pullbacks. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Pi.lean b/Mathlib/CategoryTheory/Limits/Pi.lean index de6cc54975ede4..8b81553979e3be 100644 --- a/Mathlib/CategoryTheory/Limits/Pi.lean +++ b/Mathlib/CategoryTheory/Limits/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Pi.Basic -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.Pi.Basic +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # Limits in the category of indexed families of objects. @@ -16,6 +18,8 @@ Given a functor `F : J ⥤ Π i, C i` into a category of indexed families, `HasLimit F` instance -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preorder.lean b/Mathlib/CategoryTheory/Limits/Preorder.lean index 605ebbea32e56b..442ef19d37d62e 100644 --- a/Mathlib/CategoryTheory/Limits/Preorder.lean +++ b/Mathlib/CategoryTheory/Limits/Preorder.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Sina Hazratpour. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sina Hazratpour, Joël Riou -/ +module -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts /-! # (Co)limits in a preorder category @@ -14,6 +15,8 @@ a preordered type. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Limits/Presentation.lean b/Mathlib/CategoryTheory/Limits/Presentation.lean index 1b0c85e20c2d15..78592ce074f67f 100644 --- a/Mathlib/CategoryTheory/Limits/Presentation.lean +++ b/Mathlib/CategoryTheory/Limits/Presentation.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Final /-! # (Co)limit presentations @@ -27,6 +29,8 @@ of a colimit of objects that are equipped with presentations.) - Refactor `TransfiniteCompositionOfShape` so that it extends `ColimitPresentation`. -/ +@[expose] public section + universe s t w v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Basic.lean b/Mathlib/CategoryTheory/Limits/Preserves/Basic.lean index 6ad6a5f399d7a5..612f3efd5cbdb0 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Reid Barton, Bhavik Mehta, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # Preservation and reflection of (co)limits. @@ -32,6 +34,8 @@ vacuously satisfied when K does not admit a limit, which is consistent with the above definition of "preserves limits". -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean b/Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean index 2a737c994cd950..4d260bb90bf3bf 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Bifunctor.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier, Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Fubini -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Limits.HasLimits -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Fubini +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Limits.HasLimits +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preservations of limits for bifunctors @@ -19,6 +21,8 @@ out of this typeclass. -/ +@[expose] public section + namespace CategoryTheory open Category Limits Functor diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Creates/Finite.lean b/Mathlib/CategoryTheory/Limits/Preserves/Creates/Finite.lean index fda74e9903499c..ff916aa665b18d 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Creates/Finite.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Creates/Finite.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.FinCategory.AsType +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.FinCategory.AsType /-! # Creation of finite limits @@ -15,6 +17,8 @@ This file defines the classes `CreatesFiniteLimits`, `CreatesFiniteColimits`, `CreatesFiniteProducts` and `CreatesFiniteCoproducts`. -/ +@[expose] public section + namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Creates/Pullbacks.lean b/Mathlib/CategoryTheory/Limits/Preserves/Creates/Pullbacks.lean index 3019ac34340b3c..3d77403c377fb7 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Creates/Pullbacks.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Creates/Pullbacks.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback /-! # Creation of limits and pullbacks @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback We show some lemmas relating creation of (co)limits and pullbacks (resp. pushouts). -/ +@[expose] public section + namespace CategoryTheory.Limits variable {C : Type*} [Category C] {D : Type*} [Category D] diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean b/Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean index 32a577c78b31a6..506ba9d14abe75 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Justus Springer -/ -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Filtered.Basic +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Filtered.Basic /-! # Preservation of filtered colimits and cofiltered limits. @@ -13,6 +15,8 @@ Typically forgetful functors from algebraic categories preserve filtered colimit -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Finite.lean b/Mathlib/CategoryTheory/Limits/Preserves/Finite.lean index 7c6bfc41fb8f3c..597cde8dd74ed2 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Finite.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! # Preservation of finite (co)limits. @@ -21,6 +23,8 @@ involved are abelian, or more generally, finitely (co)complete. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/FunctorCategory.lean b/Mathlib/CategoryTheory/Limits/Preserves/FunctorCategory.lean index 6a82327db948a7..832e8033de4f84 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/FunctorCategory.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Limits.Presheaf -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Limits.Presheaf +public import Mathlib.CategoryTheory.Limits.Yoneda /-! # Preservation of (co)limits in the functor category @@ -28,6 +30,8 @@ https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits#preservation_ -/ +@[expose] public section + universe w w' v v₁ v₂ v₃ u u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Grothendieck.lean b/Mathlib/CategoryTheory/Limits/Preserves/Grothendieck.lean index d16e4710af1d5d..a9d83ad702c643 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Grothendieck.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Grothendieck /-! # Colimits on Grothendieck constructions preserving limits @@ -13,6 +15,8 @@ We characterize the condition in which colimits on Grothendieck constructions pr preserving limits on the Grothendieck construction's base category as well as on each of its fibers. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Limits.lean b/Mathlib/CategoryTheory/Limits/Preserves/Limits.lean index 8ae1d1c651c205..3f5a55d2c385ab 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Limits.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Limits.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Isomorphisms about functors which preserve (co)limits @@ -17,6 +19,8 @@ The duals of these are also given. For functors which preserve (co)limits of spe `preserves/shapes.lean`. -/ +@[expose] public section + universe w' w v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Opposites.lean b/Mathlib/CategoryTheory/Limits/Preserves/Opposites.lean index c33b931f099c72..1129477a03eebe 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Opposites.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Opposites.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Preserves.Finite +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Preserves.Finite /-! # Limit preservation properties of `Functor.op` and related constructions @@ -14,6 +16,8 @@ preserve certain (co)limits and vice versa. -/ +@[expose] public section + universe w w' v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Over.lean b/Mathlib/CategoryTheory/Limits/Preserves/Over.lean index 66dba78a8ed99b..829771958c7ebb 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Over.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Over.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Preserves.Filtered +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered /-! @@ -14,6 +16,8 @@ See `Mathlib/CategoryTheory/Adjunction/Over.lean` -/ +@[expose] public section + namespace CategoryTheory.Limits variable {C : Type*} [Category C] diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean b/Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean index 116993172721c0..66897fab472a40 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Limits.Elements +module + +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Limits.Elements /-! # Finite-limit-preserving presheaves @@ -39,6 +41,8 @@ is small, we leave this as a TODO. * [F. Borceux, *Handbook of Categorical Algebra 1*][borceux-vol1], Proposition 6.1.2 -/ +@[expose] public section + open CategoryTheory Limits Functor universe v u diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/AbelianImages.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/AbelianImages.lean index 867eb7e0797133..218f270732ada0 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/AbelianImages.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/AbelianImages.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Abelian.Images -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +module + +public import Mathlib.CategoryTheory.Abelian.Images +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels /-! # Preservation of coimage-image comparisons @@ -13,6 +15,8 @@ If a functor preserves kernels and cokernels, then it preserves abelian images, and coimage-image comparisons. -/ +@[expose] public section + noncomputable section universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/BinaryProducts.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/BinaryProducts.lean index b91eaa713a60ee..b4e700290e88af 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/BinaryProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/BinaryProducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preserving binary products @@ -16,6 +18,8 @@ In particular, we show that `ProdComparison G X Y` is an isomorphism iff `G` pre the product of `X` and `Y`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean index fa0f731f12dcba..8eae308ad9619f 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero /-! # Preservation of biproducts @@ -20,6 +22,8 @@ classes `PreservesBiproduct` and `PreservesBinaryBiproduct`. We then -/ +@[expose] public section + universe w₁ w₂ v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Equalizers.lean index 3e3b781aeb0d85..2cede1c0a12fae 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Equalizers.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.SplitCoequalizer -import Mathlib.CategoryTheory.Limits.Shapes.SplitEqualizer -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.SplitCoequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.SplitEqualizer +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preserving (co)equalizers @@ -17,6 +19,8 @@ In particular, we show that `equalizerComparison f g G` is an isomorphism iff `G the limit of the parallel pair `f,g`, as well as the dual result. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean index 80af135123f835..f242a80a130928 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Images.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono /-! # Preserving images @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Limits.Constructions.EpiMono In this file, we show that if a functor preserves span and cospan, then it preserves images. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean index c55036875c9edb..b0c0aa418843ee 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero /-! # Preserving (co)kernels @@ -16,6 +18,8 @@ In particular, we show that `kernel_comparison f g G` is an isomorphism iff `G` the limit of the parallel pair `f,0`, as well as the dual result. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Multiequalizer.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Multiequalizer.lean index 8d125431931def..75cf77c7adb026 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Multiequalizer.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Multiequalizer.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer /-! # Preservation of multicoequalizers @@ -20,6 +22,8 @@ then `c.map F` also is (see `Multicofork.isColimitMapOfPreserves`). -/ +@[expose] public section + universe w w' v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean index 2433639a02566a..01cd3136516539 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Over.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yaël Dillies, Moisés Herradón Cueto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Moisés Herradón Cueto -/ -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.WithTerminal.FinCategory -import Mathlib.CategoryTheory.WithTerminal.Cone +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.WithTerminal.FinCategory +public import Mathlib.CategoryTheory.WithTerminal.Cone /-! # If a functor preserves limits, so does the induced functor in the `Over` or `Under` category @@ -18,6 +20,8 @@ As a corollary, if `F` preserves finite limits, or limits of a certain size, so Dually, if `F` preserves certain colimits, `Under.post F` will preserve certain colimits as well. -/ +@[expose] public section + namespace CategoryTheory.Limits universe w w' v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Preorder.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Preorder.lean index bd1ad9480d2414..8226316e6b8979 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Preorder.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Preorder.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preservation of well order continuous functors @@ -18,6 +20,8 @@ for any limit element `j : J`. It follows that if -/ +@[expose] public section + universe w w' v v' v'' u' u u'' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean index e9b74760f9f318..b978f3e6e34911 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preserving products @@ -16,6 +18,8 @@ In particular, we show that `piComparison G f` is an isomorphism iff `G` preserv the limit of `f`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean index dcece9540b9223..888310ba3b6aff 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks +public import Mathlib.CategoryTheory.Limits.Yoneda /-! # Preserving pullbacks @@ -25,6 +27,8 @@ The dual is also given. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Square.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Square.lean index 3ed3c0339f3a5f..5025ef9cacd651 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Square.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Square.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square -import Mathlib.CategoryTheory.Limits.Yoneda -import Mathlib.CategoryTheory.Limits.Preserves.Ulift +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Square +public import Mathlib.CategoryTheory.Limits.Yoneda +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift /-! # Preservations of pullback/pushout squares @@ -23,6 +25,8 @@ functor `yoneda.obj X` for all `X : C`. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean index ffc04af8b2fc4f..e5f61fbbd735ea 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Terminal.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Preserving terminal object @@ -16,6 +18,8 @@ In particular, we show that `terminalComparison G` is an isomorphism iff `G` pre objects. -/ +@[expose] public section + universe w v v₁ v₂ u u₁ u₂ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean index f3d30af89b0492..117cb01b716f4e 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms /-! # Preservation of zero objects and zero morphisms @@ -22,6 +24,8 @@ We provide the following results: -/ +@[expose] public section + universe v u v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Ulift.lean b/Mathlib/CategoryTheory/Limits/Preserves/Ulift.lean index f5062587e751dc..34e2c7e0fc3f88 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Ulift.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Ulift.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Junyan Xu, Sophie Morel -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.Data.Set.Subsingleton /-! # `ULift` creates small (co)limits @@ -20,6 +22,8 @@ colimits. -/ +@[expose] public section + universe v w w' u namespace CategoryTheory.Limits.Types diff --git a/Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean b/Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean index bdd576179c4ed1..5c310d41e96281 100644 --- a/Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean +++ b/Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Limits.FunctorToTypes +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Limits.FunctorToTypes /-! # Yoneda preserves certain colimits @@ -27,6 +29,8 @@ There is also a relative version of this statement where `F : J ⥤ Over A` for -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Presheaf.lean b/Mathlib/CategoryTheory/Limits/Presheaf.lean index db29ab0053e67c..0863018f85fd9d 100644 --- a/Mathlib/CategoryTheory/Limits/Presheaf.lean +++ b/Mathlib/CategoryTheory/Limits/Presheaf.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Joël Riou -/ -import Mathlib.CategoryTheory.Comma.Presheaf.Basic -import Mathlib.CategoryTheory.Elements -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.Over +module + +public import Mathlib.CategoryTheory.Comma.Presheaf.Basic +public import Mathlib.CategoryTheory.Elements +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.Over /-! # Colimit of representables @@ -49,6 +51,8 @@ colimit, representable, presheaf, free cocompletion * https://ncatlab.org/nlab/show/Yoneda+extension -/ +@[expose] public section + namespace CategoryTheory open Category Limits Opposite diff --git a/Mathlib/CategoryTheory/Limits/Set.lean b/Mathlib/CategoryTheory/Limits/Set.lean index 47a1de19155798..6480001bfb1186 100644 --- a/Mathlib/CategoryTheory/Limits/Set.lean +++ b/Mathlib/CategoryTheory/Limits/Set.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Lattice -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Types.Set +module + +public import Mathlib.CategoryTheory.Limits.Lattice +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Types.Set /-! # The functor from `Set X` to types preserves filtered colimits @@ -16,6 +18,8 @@ which sends `A : Set X` to its underlying type preserves filtered colimits. -/ +@[expose] public section + universe w w' u open CategoryTheory Limits CompleteLattice diff --git a/Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean b/Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean index 28e2d891443781..5ef100f1a7c33c 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Biproducts +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Biproducts /-! # Binary biproducts @@ -27,6 +29,8 @@ cocone. -/ +@[expose] public section + noncomputable section universe w w' v u diff --git a/Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean b/Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean index ee71bbd24b5177..b7d7fc395c98e3 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.EpiMono -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Binary (co)products @@ -28,6 +30,8 @@ braiding and associating isomorphisms, and the product comparison morphism. * [Stacks: coproducts of pairs](https://stacks.math.columbia.edu/tag/04AN) -/ +@[expose] public section + universe v v₁ u u₁ u₂ open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean b/Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean index 4faea9a216cdc5..12325c600c3f85 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +module + +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # Biproducts and binary biproducts @@ -37,6 +39,8 @@ and occasional cost we made everything classical. -/ +@[expose] public section + noncomputable section universe w w' v u diff --git a/Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean b/Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean index 4563605f05c242..642073cfb5a837 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts /-! # Constructors for combining (co)fans @@ -17,6 +19,8 @@ We provide constructors for combining (co)fans and show their (co)limit properti -/ +@[expose] public section + universe u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean b/Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean index bd25a77f354b9f..9666e172d3a9d4 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean @@ -3,14 +3,16 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Kim Morrison, Adam Topaz -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono /-! # Limits in concrete categories @@ -31,6 +33,8 @@ wide-pullbacks, wide-pushouts, multiequalizers and cokernels. -/ +@[expose] public section + universe s w w' v u t r namespace CategoryTheory.Limits.Concrete diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Connected.lean b/Mathlib/CategoryTheory/Limits/Shapes/Connected.lean index 48984477077f72..4d88bd544fa4d0 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Connected.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Connected.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.IsConnected -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +module + +public import Mathlib.CategoryTheory.IsConnected +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks /-! @@ -14,6 +16,8 @@ In this file we prove that various shapes are connected. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Countable.lean b/Mathlib/CategoryTheory/Limits/Shapes/Countable.lean index 13ebec531e66a9..0c36c9cebcc945 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Countable.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Countable.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts -import Mathlib.CategoryTheory.Countable -import Mathlib.Data.Countable.Defs +module + +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +public import Mathlib.CategoryTheory.Countable +public import Mathlib.Data.Countable.Defs /-! # Countable limits and colimits @@ -24,6 +26,8 @@ limits, see `sequentialFunctor_initial`. -/ +@[expose] public section + open CategoryTheory Opposite CountableCategory variable (C : Type*) [Category C] (J : Type*) [Countable J] diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean b/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean index 908685f046f838..4e36fa17446c27 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Comma.Over.Pullback -import Mathlib.CategoryTheory.Limits.Shapes.KernelPair -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Assoc +module + +public import Mathlib.CategoryTheory.Comma.Over.Pullback +public import Mathlib.CategoryTheory.Limits.Shapes.KernelPair +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Assoc /-! # The diagonal object of a morphism. @@ -16,6 +18,8 @@ of a morphism `f : X ⟶ Y`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Shapes/DisjointCoproduct.lean b/Mathlib/CategoryTheory/Limits/Shapes/DisjointCoproduct.lean index 79d1489719833b..e563f54c59902f 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/DisjointCoproduct.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/DisjointCoproduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # Disjoint coproducts @@ -23,6 +25,8 @@ Shows that a category with disjoint coproducts is `InitialMonoClass`. * Define coherent categories and use this to define positive coherent categories. -/ +@[expose] public section + universe v u namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/End.lean b/Mathlib/CategoryTheory/Limits/Shapes/End.lean index 87ba84d16b44fe..83a3b7afafb08b 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/End.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/End.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer /-! # Ends and coends @@ -20,6 +22,8 @@ We also introduce `coend F` as multicoequalizers of -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean index 574d6c8f0dbb35..7f1023bf52ebc7 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Markus Himmel -/ -import Mathlib.CategoryTheory.EpiMono -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # Equalizers and coequalizers @@ -43,6 +45,8 @@ general limits can be used. * [F. Borceux, *Handbook of Categorical Algebra 1*][borceux-vol1] -/ +@[expose] public section + section open CategoryTheory Opposite diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Equivalence.lean b/Mathlib/CategoryTheory/Limits/Shapes/Equivalence.lean index 141f35905ca55b..c4676a278d0d5d 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Equivalence.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Equivalence.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # Transporting existence of specific limits across equivalences @@ -13,6 +15,8 @@ For now, we only treat the case of initial and terminal objects, but other speci added in the future. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean b/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean index 6d5038cc2c0bba..17a28b9d38e711 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.FinCategory.AsType -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.Data.Fintype.Option +module + +public import Mathlib.CategoryTheory.FinCategory.AsType +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.Data.Fintype.Option /-! # Categories with finite limits. @@ -16,6 +18,8 @@ import Mathlib.Data.Fintype.Option A typeclass for categories with all finite (co)limits. -/ +@[expose] public section + universe w' w v' u' v u diff --git a/Mathlib/CategoryTheory/Limits/Shapes/FiniteMultiequalizer.lean b/Mathlib/CategoryTheory/Limits/Shapes/FiniteMultiequalizer.lean index 6f362de226ad64..b79c8464a5cf2f 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/FiniteMultiequalizer.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/FiniteMultiequalizer.lean @@ -3,14 +3,19 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.Tactic.DeriveFintype +import Mathlib.Data.Fintype.Sum /-! # Finiteness instances on multi-spans -/ +@[expose] public section + namespace CategoryTheory.Limits namespace WalkingMulticospan diff --git a/Mathlib/CategoryTheory/Limits/Shapes/FiniteProducts.lean b/Mathlib/CategoryTheory/Limits/Shapes/FiniteProducts.lean index 9ed25f4df97cd1..a29a93b7b8fa82 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/FiniteProducts.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/FiniteProducts.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # Categories with finite (co)products @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Limits.Shapes.Products Typeclasses representing categories with (co)products over finite indexing types. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Limits/Shapes/FunctorToTypes.lean b/Mathlib/CategoryTheory/Limits/Shapes/FunctorToTypes.lean index 05b2ed572481f0..e85d19b7960906 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/FunctorToTypes.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/FunctorToTypes.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Types.Colimits +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Types.Colimits /-! # Binary (co)products of type-valued functors @@ -16,6 +18,8 @@ Defines an explicit construction of binary products and coproducts of type-value Also defines isomorphisms to the categorical product and coproduct, respectively. -/ +@[expose] public section + open CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Grothendieck.lean b/Mathlib/CategoryTheory/Limits/Shapes/Grothendieck.lean index 5b95f4a9ed3342..6d24aae97c2f01 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Grothendieck.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.CategoryTheory.Grothendieck -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.Grothendieck +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # (Co)limits on the (strict) Grothendieck Construction @@ -20,6 +22,8 @@ import Mathlib.CategoryTheory.Limits.HasLimits -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Images.lean b/Mathlib/CategoryTheory/Limits/Shapes/Images.lean index 4faf8607eb0780..6011fbb1bb6d2e 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Images.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Images.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono -import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi -import Mathlib.CategoryTheory.MorphismProperty.Factorization +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono +public import Mathlib.CategoryTheory.Limits.Shapes.StrongEpi +public import Mathlib.CategoryTheory.MorphismProperty.Factorization /-! # Categorical images @@ -52,6 +54,8 @@ so that `m` factors through the `m'` in any other such factorisation. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean b/Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean index d973ed53dc0c3f..0a4e4e61c2728f 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.PEmpty -import Mathlib.CategoryTheory.Limits.IsLimit -import Mathlib.CategoryTheory.EpiMono -import Mathlib.CategoryTheory.Category.Preorder +module + +public import Mathlib.CategoryTheory.PEmpty +public import Mathlib.CategoryTheory.Limits.IsLimit +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.CategoryTheory.Category.Preorder /-! # Initial and terminal objects in a category. @@ -21,6 +23,8 @@ objects are defined in `Terminal.lean`. * [Stacks: Initial and final objects](https://stacks.math.columbia.edu/tag/002B) -/ +@[expose] public section + assert_not_exists CategoryTheory.Limits.HasLimit noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/KernelPair.lean b/Mathlib/CategoryTheory/Limits/Shapes/KernelPair.lean index b39cc589d728c0..23d61a8d0a30cf 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/KernelPair.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/KernelPair.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono /-! # Kernel pairs @@ -30,6 +32,8 @@ is developed here. -/ +@[expose] public section + universe v u u₂ diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean b/Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean index 807457f592381c..a0ae09142c9125 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero /-! # Kernels and cokernels @@ -45,6 +47,8 @@ general limits can be used. * [F. Borceux, *Handbook of Categorical Algebra 2*][borceux-vol2] -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean b/Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean index 9603cb981d8367..a6da8a50f4f90b 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.ConeCategory +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.ConeCategory /-! @@ -26,6 +28,8 @@ Prove that the limit of any diagram is a multiequalizer (and similarly for colim -/ +@[expose] public section + namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/MultiequalizerPullback.lean b/Mathlib/CategoryTheory/Limits/Shapes/MultiequalizerPullback.lean index 5dc3a5ec7dac50..2f358ab52d472d 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/MultiequalizerPullback.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/MultiequalizerPullback.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq /-! # Multicoequalizers that are pushouts @@ -15,6 +17,8 @@ a pushout when `ι` has exactly two elements. -/ +@[expose] public section + namespace CategoryTheory.Limits.Multicofork.IsColimit variable {C : Type*} [Category C] {J : MultispanShape} [Unique J.L] diff --git a/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Basic.lean b/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Basic.lean index 23d9b37aa008ed..98189188f51dd0 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Definitions and basic properties of normal monomorphisms and epimorphisms. @@ -23,6 +25,8 @@ every monomorphism or epimorphism is normal, and deduce that these categories ar -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Equalizers.lean index 7f6ae92651e3c0..4601d722945e6d 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Equalizers.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Basic -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Limits.Shapes.NormalMono.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! # Normal mono categories with finite products and kernels have all equalizers. @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts This, and the dual result, are used in the development of abelian categories. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Equalizers.lean b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Equalizers.lean index 330cbcaac195cd..b764f3b81f4f61 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Equalizers.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Equalizers.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks /-! # Equalizers and coequalizers in `C` and `Cᵒᵖ` @@ -14,6 +16,8 @@ We construct equalizers and coequalizers in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Filtered.lean b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Filtered.lean index d2cdc837ce9647..dee91773b5bb8e 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Filtered.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Filtered.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Filtered +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Filtered /-! # Filered colimits and cofilered limits in `C` and `Cᵒᵖ` @@ -13,6 +15,8 @@ We construct filered colimits and cofilered limits in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Kernels.lean b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Kernels.lean index d9843c85cc5cfa..caa58e523e4089 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Kernels.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Kernels.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.Shapes.Kernels +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels /-! # Kernels and cokernels in `C` and `Cᵒᵖ` @@ -12,6 +14,8 @@ We construct kernels and cokernels in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Products.lean b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Products.lean index a889208810ad7e..3775561dc1b517 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Products.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Products.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! # Products and coproducts in `C` and `Cᵒᵖ` @@ -13,6 +15,8 @@ We construct products and coproducts in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean index cebeb69c6b37fd..839e2e9f57f7e7 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Limits.Opposites -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +module + +public import Mathlib.CategoryTheory.Limits.Opposites +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback /-! # Pullbacks and pushouts in `C` and `Cᵒᵖ` @@ -13,6 +15,8 @@ We construct pullbacks and pushouts in the opposite categories. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/CategoryTheory/Limits/Shapes/PiProd.lean b/Mathlib/CategoryTheory/Limits/Shapes/PiProd.lean index 29b8803b951b7e..9f66f88d93bbb3 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/PiProd.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/PiProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Products +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Products /-! # A product as a binary product @@ -14,6 +16,8 @@ and its complement. -/ +@[expose] public section + namespace CategoryTheory.Limits variable {C I : Type*} [Category C] {X Y : I → C} diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Basic.lean b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Basic.lean index 759be56f3e234e..d73db48fecabf1 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Basic.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Preorder +module + +public import Mathlib.CategoryTheory.Limits.Preorder /-! # Limits and colimits indexed by preorders @@ -15,6 +17,8 @@ about limits and colimits indexed by a preordered type `J`: -/ +@[expose] public section + universe v v' u u' w open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean index 6acfad730d22f7..f6ce83b452aac5 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal -import Mathlib.Order.Fin.Basic +module + +public import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal +public import Mathlib.Order.Fin.Basic /-! # Limits and colimits indexed by `Fin` @@ -17,6 +19,8 @@ in the file `Limits.Shapes.IsTerminal`. -/ +@[expose] public section + universe v v' u u' w open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/HasIterationOfShape.lean b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/HasIterationOfShape.lean index 450ac8a08f5935..02cddc875d0f95 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/HasIterationOfShape.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/HasIterationOfShape.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Basic -import Mathlib.Order.SuccPred.Limit -import Mathlib.Order.Interval.Set.InitialSeg +module + +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.Basic +public import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.Interval.Set.InitialSeg /-! # An assumption for constructions by transfinite induction @@ -18,6 +20,8 @@ a well-ordered type `J` in a category `C` (see `CategoryTheory.SmallObject`). -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/PrincipalSeg.lean b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/PrincipalSeg.lean index 7e11189dcddf13..011b87d43205f2 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Preorder/PrincipalSeg.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Preorder/PrincipalSeg.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.InitialSeg -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Limits.Cones +module + +public import Mathlib.Order.InitialSeg +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Limits.Cones /-! # Cocones associated to principal segments @@ -16,6 +18,8 @@ the point of which is `F.obj f.top`. -/ +@[expose] public section + open CategoryTheory Category Limits /-- When `f : α . -/ +@[expose] public section + universe v u open CategoryTheory.Category diff --git a/Mathlib/CategoryTheory/Monoidal/Center.lean b/Mathlib/CategoryTheory/Monoidal/Center.lean index ea425fe42a1305..c52ee2c73e928d 100644 --- a/Mathlib/CategoryTheory/Monoidal/Center.lean +++ b/Mathlib/CategoryTheory/Monoidal/Center.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Half braidings and the Drinfeld center of a monoidal category @@ -29,6 +31,8 @@ In this file, we take the second approach using the monoidal composition `⊗≫ `coherence` tactic. -/ +@[expose] public section + universe v v₁ v₂ v₃ u u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean b/Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean index cb21acf57e325f..db431d3ce6a225 100644 --- a/Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean +++ b/Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Michael Jendrusch. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Jendrusch, Kim Morrison, Bhavik Mehta, Jakob von Raumer -/ -import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence +module + +public import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence /-! # Lemmas which are consequences of monoidal coherence @@ -15,6 +17,8 @@ Investigate whether these lemmas are really needed, or if they can be replaced by use of the `coherence` tactic. -/ +@[expose] public section + open CategoryTheory Category Iso diff --git a/Mathlib/CategoryTheory/Monoidal/CommComon_.lean b/Mathlib/CategoryTheory/Monoidal/CommComon_.lean index dd22383a73dad0..5885cd0cc1cab8 100644 --- a/Mathlib/CategoryTheory/Monoidal/CommComon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/CommComon_.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jacob Reinhold. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jacob Reinhold -/ -import Mathlib.CategoryTheory.Monoidal.Comon_ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +module + +public import Mathlib.CategoryTheory.Monoidal.Comon_ +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas /-! # The category of commutative comonoids in a braided monoidal category. @@ -21,6 +23,8 @@ We define the category of commutative comonoid objects in a braided monoidal cat comonoid, commutative, braided -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Monoidal/CommGrp_.lean b/Mathlib/CategoryTheory/Monoidal/CommGrp_.lean index 4fe52af0cbeaf5..94443bd53b9765 100644 --- a/Mathlib/CategoryTheory/Monoidal/CommGrp_.lean +++ b/Mathlib/CategoryTheory/Monoidal/CommGrp_.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Grp_ -import Mathlib.CategoryTheory.Monoidal.CommMon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Grp_ +public import Mathlib.CategoryTheory.Monoidal.CommMon_ /-! # The category of commutative groups in a Cartesian monoidal category -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ open CategoryTheory Category Limits MonoidalCategory CartesianMonoidalCategory Mon Grp CommMon diff --git a/Mathlib/CategoryTheory/Monoidal/CommMon_.lean b/Mathlib/CategoryTheory/Monoidal/CommMon_.lean index 6e0331587f7e2b..3b483bcdd4859a 100644 --- a/Mathlib/CategoryTheory/Monoidal/CommMon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/CommMon_.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.Mon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.Mon_ /-! # The category of commutative monoids in a braided monoidal category. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ u open CategoryTheory MonoidalCategory MonObj diff --git a/Mathlib/CategoryTheory/Monoidal/Comon_.lean b/Mathlib/CategoryTheory/Monoidal/Comon_.lean index 0a8f5af2e3a9c4..979e593e795b7e 100644 --- a/Mathlib/CategoryTheory/Monoidal/Comon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Comon_.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Lean FRO LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Mon_ -import Mathlib.CategoryTheory.Monoidal.Braided.Opposite -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Monoidal.Mon_ +public import Mathlib.CategoryTheory.Monoidal.Braided.Opposite +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # The category of comonoids in a monoidal category. @@ -25,6 +27,8 @@ That is, a oplax monoidal functor `F : C ⥤ D` induces a functor `Comon C ⥤ C oplax monoidal functors from the trivial monoidal category to `C`. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ u open CategoryTheory MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Conv.lean b/Mathlib/CategoryTheory/Monoidal/Conv.lean index 92eeae0d4e6142..f01b4a383b2d0c 100644 --- a/Mathlib/CategoryTheory/Monoidal/Conv.lean +++ b/Mathlib/CategoryTheory/Monoidal/Conv.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Lean FRO LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Comon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Comon_ /-! # The convolution monoid. @@ -11,6 +13,8 @@ import Mathlib.CategoryTheory.Monoidal.Comon_ When `M : Comon C` and `N : Mon C`, the morphisms `M.X ⟶ N.X` form a monoid (in Type). -/ +@[expose] public section + universe v₁ u₁ namespace CategoryTheory open MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/DayConvolution.lean b/Mathlib/CategoryTheory/Monoidal/DayConvolution.lean index 0739b843cf2da1..46c035983201c0 100644 --- a/Mathlib/CategoryTheory/Monoidal/DayConvolution.lean +++ b/Mathlib/CategoryTheory/Monoidal/DayConvolution.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.ExternalProduct.KanExtension -import Mathlib.CategoryTheory.Products.Associator +module + +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct.KanExtension +public import Mathlib.CategoryTheory.Products.Associator /-! # Day convolution monoidal structure @@ -42,6 +44,8 @@ a monoidal structure. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ u₁ u₂ u₃ u₄ u₅ namespace CategoryTheory.MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean b/Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean index 88cf289d734afd..6f0fa4ca422277 100644 --- a/Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean +++ b/Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.DayConvolution +module + +public import Mathlib.CategoryTheory.Monoidal.DayConvolution /-! # Braidings for Day convolution @@ -18,6 +20,8 @@ Furthermore, we show that when both `C` and `V` are symmetric monoidal categories, then the Day convolution monoidal structure is symmetric as well. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ v₅ u₁ u₂ u₃ u₄ u₅ namespace CategoryTheory.MonoidalCategory.DayConvolution diff --git a/Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean b/Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean index 25dbde689b8d0d..7b0e49169d0355 100644 --- a/Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean +++ b/Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.DayConvolution -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.Limits.Shapes.End +module + +public import Mathlib.CategoryTheory.Monoidal.DayConvolution +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.Limits.Shapes.End /-! # Internal homs for day convolution @@ -22,6 +24,8 @@ the Day convolution monoidal structure. constructions here to produce actual `CategoryTheory.MonoidalClosed` instances. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory.MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean b/Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean index f17506fc97e000..2dd2c54d6db02b 100644 --- a/Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean +++ b/Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.DayConvolution +module + +public import Mathlib.CategoryTheory.Monoidal.DayConvolution /-! # Day functors @@ -24,6 +26,8 @@ colimit-preserving monoidal functors `(Cᵒᵖ ⊛⥤ Type u) ⥤ W` are equival to monoidal functors `C ⥤ W`. Show that the Yoneda embedding is monoidal. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory.MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Discrete.lean b/Mathlib/CategoryTheory/Monoidal/Discrete.lean index 10911373f42e8f..539828de261f73 100644 --- a/Mathlib/CategoryTheory/Monoidal/Discrete.lean +++ b/Mathlib/CategoryTheory/Monoidal/Discrete.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.CategoryTheory.Discrete.Basic -import Mathlib.CategoryTheory.Monoidal.NaturalTransformation +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.CategoryTheory.Discrete.Basic +public import Mathlib.CategoryTheory.Monoidal.NaturalTransformation /-! # Monoids as discrete monoidal categories @@ -14,6 +16,8 @@ The discrete category on a monoid is a monoidal category. Multiplicative morphisms induced monoidal functors. -/ +@[expose] public section + universe u u' diff --git a/Mathlib/CategoryTheory/Monoidal/End.lean b/Mathlib/CategoryTheory/Monoidal/End.lean index f6c18d3dacc0c6..04c16bd8c60f04 100644 --- a/Mathlib/CategoryTheory/Monoidal/End.lean +++ b/Mathlib/CategoryTheory/Monoidal/End.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Andrew Yang -/ -import Mathlib.CategoryTheory.Monoidal.Functor +module + +public import Mathlib.CategoryTheory.Monoidal.Functor /-! # Endofunctors as a monoidal category. @@ -17,6 +19,8 @@ Can we use this to show coherence results, e.g. a cheap proof that `λ_ (𝟙_ C I suspect this is harder than is usually made out. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Monoidal/ExternalProduct.lean b/Mathlib/CategoryTheory/Monoidal/ExternalProduct.lean index d1879cae1d313b..d370a18b3f3510 100644 --- a/Mathlib/CategoryTheory/Monoidal/ExternalProduct.lean +++ b/Mathlib/CategoryTheory/Monoidal/ExternalProduct.lean @@ -3,6 +3,8 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic deprecated_module (since := "2025-06-19") diff --git a/Mathlib/CategoryTheory/Monoidal/ExternalProduct/Basic.lean b/Mathlib/CategoryTheory/Monoidal/ExternalProduct/Basic.lean index 7f839dd779bdef..a91befbe602297 100644 --- a/Mathlib/CategoryTheory/Monoidal/ExternalProduct/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/ExternalProduct/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.FunctorCategory -import Mathlib.CategoryTheory.Functor.Currying +module + +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory +public import Mathlib.CategoryTheory.Functor.Currying /-! # External product of diagrams in a monoidal category @@ -14,6 +16,8 @@ introduce the external product `K₁ ⊠ K₂ : J₁ × J₂ ⥤ C` as the bifun The notation `- ⊠ -` is scoped to `MonoidalCategory.ExternalProduct`. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory.MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/ExternalProduct/KanExtension.lean b/Mathlib/CategoryTheory/Monoidal/ExternalProduct/KanExtension.lean index ceafdaf47f882b..dfb692121eb1b3 100644 --- a/Mathlib/CategoryTheory/Monoidal/ExternalProduct/KanExtension.lean +++ b/Mathlib/CategoryTheory/Monoidal/ExternalProduct/KanExtension.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise -import Mathlib.CategoryTheory.Limits.Final +module + +public import Mathlib.CategoryTheory.Monoidal.ExternalProduct.Basic +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +public import Mathlib.CategoryTheory.Limits.Final /-! # Preservation of pointwise left Kan extensions by external products @@ -19,6 +21,8 @@ of `H ⊠ K` along `L.prod (𝟭 E)`. We also prove a similar criterion to establish that `K ⊠ H'` is a pointwise left Kan extension of `K ⊠ H` along `(𝟭 E).prod L`. -/ + +@[expose] public section universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ namespace CategoryTheory.MonoidalCategory.ExternalProduct diff --git a/Mathlib/CategoryTheory/Monoidal/Free/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Free/Basic.lean index f963c344700ada..234a09c357f1d9 100644 --- a/Mathlib/CategoryTheory/Monoidal/Free/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Free/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Functor +module + +public import Mathlib.CategoryTheory.Monoidal.Functor /-! # The free monoidal category over a type @@ -22,6 +24,8 @@ theorem. Both of these properties are proved in the file `Coherence.lean`. -/ +@[expose] public section + universe v' u u' diff --git a/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean b/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean index ae8b65f1c4d51e..d52e93dbdadbca 100644 --- a/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean +++ b/Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Free.Basic -import Mathlib.CategoryTheory.Discrete.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Free.Basic +public import Mathlib.CategoryTheory.Discrete.Basic /-! # The monoidal coherence theorem @@ -33,6 +35,8 @@ is thin. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/Monoidal/Functor.lean b/Mathlib/CategoryTheory/Monoidal/Functor.lean index e401b22f750b9c..7d17ffe841a0d8 100644 --- a/Mathlib/CategoryTheory/Monoidal/Functor.lean +++ b/Mathlib/CategoryTheory/Monoidal/Functor.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Michael Jendrusch. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Jendrusch, Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Monoidal.Category -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Category +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Products.Basic /-! # (Lax) monoidal functors @@ -36,6 +38,8 @@ to monoid objects. See . -/ +@[expose] public section + universe v₁ v₂ v₃ v₁' u₁ u₂ u₃ u₁' diff --git a/Mathlib/CategoryTheory/Monoidal/Functor/Types.lean b/Mathlib/CategoryTheory/Monoidal/Functor/Types.lean index e2f4844efdb3c8..9823f4e2defd00 100644 --- a/Mathlib/CategoryTheory/Monoidal/Functor/Types.lean +++ b/Mathlib/CategoryTheory/Monoidal/Functor/Types.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Vilim Lendvaj. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vilim Lendvaj -/ -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Tactic.Simps.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Tactic.Simps.Basic /-! # Convert from `Applicative` to `CategoryTheory.Functor.LaxMonoidal` @@ -15,6 +17,8 @@ This allows us to use Lean's `Type`-based applicative functors in category theor -/ +@[expose] public section + namespace CategoryTheory section diff --git a/Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean b/Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean index 90ed67b1cc8c27..fcb80ceb901d70 100644 --- a/Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Functor.Const +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Functor.Const /-! # Monoidal structure on `C ⥤ D` when `D` is monoidal. @@ -16,6 +18,8 @@ there is a natural "pointwise" monoidal structure on `C ⥤ D`. The initial intended application is tensor product of presheaves. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Monoidal/Grp_.lean b/Mathlib/CategoryTheory/Monoidal/Grp_.lean index a9dfb74a5aeb81..724bc524407e69 100644 --- a/Mathlib/CategoryTheory/Monoidal/Grp_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Grp_.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.ExactFunctor +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Mon_ +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.ExactFunctor /-! # The category of groups in a Cartesian monoidal category @@ -18,6 +20,8 @@ morphisms of group objects commute with taking inverses. We show that a finite-product-preserving functor takes group objects to group objects. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ u open CategoryTheory Category Limits MonoidalCategory CartesianMonoidalCategory Mon MonObj diff --git a/Mathlib/CategoryTheory/Monoidal/Hopf_.lean b/Mathlib/CategoryTheory/Monoidal/Hopf_.lean index 41f421ae04672a..ab5e372b8c7c53 100644 --- a/Mathlib/CategoryTheory/Monoidal/Hopf_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Hopf_.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Lean FRO LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Bimon_ -import Mathlib.CategoryTheory.Monoidal.Conv +module + +public import Mathlib.CategoryTheory.Monoidal.Bimon_ +public import Mathlib.CategoryTheory.Monoidal.Conv /-! # The category of Hopf monoids in a braided monoidal category. @@ -16,6 +18,8 @@ import Mathlib.CategoryTheory.Monoidal.Conv * Show that `Hopf (ModuleCat R) ≌ HopfAlgCat R`. -/ +@[expose] public section + noncomputable section universe v₁ v₂ u₁ u₂ u diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean b/Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean index b817b447924320..7d368a053a789c 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/FunctorCategory.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.CommMon_ -import Mathlib.CategoryTheory.Monoidal.Comon_ -import Mathlib.CategoryTheory.Monoidal.FunctorCategory +module + +public import Mathlib.CategoryTheory.Monoidal.CommMon_ +public import Mathlib.CategoryTheory.Monoidal.Comon_ +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory /-! # `Mon (C ⥤ D) ≌ C ⥤ Mon D` @@ -26,6 +28,8 @@ and could be generalised to any internal algebraic objects, if the appropriate framework was available. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean b/Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean index 621ab01824ed4c..7812f4b23db2ed 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Internal.FunctorCategory -import Mathlib.CategoryTheory.Monoidal.Limits.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Internal.FunctorCategory +public import Mathlib.CategoryTheory.Monoidal.Limits.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Basic /-! # Limits of monoid objects. @@ -17,6 +19,8 @@ and the forgetful functor preserves these limits. in particular `MonCat`, `SemiRingCat`, `RingCat`, and `AlgCat R`.) -/ +@[expose] public section + open CategoryTheory Limits Monoidal MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/Module.lean b/Mathlib/CategoryTheory/Monoidal/Internal/Module.lean index 25ee18068de323..ab48650d3c33a7 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/Module.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/Module.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.Algebra.Category.AlgCat.Basic -import Mathlib.CategoryTheory.Monoidal.Mon_ +module + +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.Algebra.Category.AlgCat.Basic +public import Mathlib.CategoryTheory.Monoidal.Mon_ /-! # `Mon (ModuleCat R) ≌ AlgCat R` @@ -16,6 +18,8 @@ is equivalent to the category of "native" bundled `R`-algebras. Moreover, this equivalence is compatible with the forgetful functors to `ModuleCat R`. -/ +@[expose] public section + suppress_compilation diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean index 13eb231f379145..99135e745d0c57 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.CategoryTheory.Monoidal.CommMon_ -import Mathlib.CategoryTheory.Monoidal.Types.Basic +module + +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.CategoryTheory.Monoidal.CommMon_ +public import Mathlib.CategoryTheory.Monoidal.Types.Basic /-! # `Mon (Type u) ≌ MonCat.{u}` @@ -16,6 +18,8 @@ is equivalent to the category of "native" bundled monoids. Moreover, this equivalence is compatible with the forgetful functors to `Type`. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe v u diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean b/Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean index 7ff7666eaeb6da..99507a17c05f68 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Internal.Types.Grp_ -import Mathlib.CategoryTheory.Monoidal.CommGrp_ +module + +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.Grp_ +public import Mathlib.CategoryTheory.Monoidal.CommGrp_ /-! # `CommGrp (Type u) ≌ CommGrpCat.{u}` @@ -15,6 +17,8 @@ is equivalent to the category of "native" bundled commutative groups. Moreover, this equivalence is compatible with the forgetful functors to `Type`. -/ +@[expose] public section + assert_not_exists Field universe v u diff --git a/Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean b/Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean index 6e15a810ce022b..95a4665ef66cd3 100644 --- a/Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Internal/Types/Grp_.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.Internal.Types.Basic -import Mathlib.CategoryTheory.Monoidal.Grp_ -import Mathlib.Algebra.Category.Grp.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Internal.Types.Basic +public import Mathlib.CategoryTheory.Monoidal.Grp_ +public import Mathlib.Algebra.Category.Grp.Basic /-! # `Grp (Type u) ≌ GrpCat.{u}` @@ -16,6 +18,8 @@ is equivalent to the category of "native" bundled groups. Moreover, this equivalence is compatible with the forgetful functors to `Type`. -/ +@[expose] public section + assert_not_exists Field universe v u diff --git a/Mathlib/CategoryTheory/Monoidal/Limits.lean b/Mathlib/CategoryTheory/Monoidal/Limits.lean index 68d1a49470e9e2..29f5cf34ba10d7 100644 --- a/Mathlib/CategoryTheory/Monoidal/Limits.lean +++ b/Mathlib/CategoryTheory/Monoidal/Limits.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Limits.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Limits.Basic deprecated_module (since := "2025-08-13") diff --git a/Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean index 660630ebf4f51c..68be092e015897 100644 --- a/Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.FunctorCategory -import Mathlib.CategoryTheory.Limits.HasLimits +module + +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory +public import Mathlib.CategoryTheory.Limits.HasLimits /-! # `lim : (J ⥤ C) ⥤ C` is lax monoidal when `C` is a monoidal category. @@ -19,6 +21,8 @@ satisfying the laws of a lax monoidal functor. Now that we have oplax monoidal functors, assemble `Limits.colim` into an oplax monoidal functor. -/ +@[expose] public section + namespace CategoryTheory.Limits open MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean b/Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean index e3102ab6d934bc..7f487a3944aebd 100644 --- a/Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean +++ b/Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # Miscellany about preservations of (co)limits in monoidal categories This file records some `PreservesColimits` instance on tensors products on monoidal categories. -/ +@[expose] public section + namespace CategoryTheory.MonoidalCategory.Limits open _root_.CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Monoidal/Linear.lean b/Mathlib/CategoryTheory/Monoidal/Linear.lean index c079aa0bd6aeb7..e40bc6c38b10a6 100644 --- a/Mathlib/CategoryTheory/Monoidal/Linear.lean +++ b/Mathlib/CategoryTheory/Monoidal/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.CategoryTheory.Monoidal.Preadditive +module + +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.CategoryTheory.Monoidal.Preadditive /-! # Linear monoidal categories @@ -13,6 +15,8 @@ A monoidal category is `MonoidalLinear R` if it is monoidal preadditive and tensor product of morphisms is `R`-linear in both factors. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Monoidal/Mod_.lean b/Mathlib/CategoryTheory/Monoidal/Mod_.lean index 2563064563f2d1..f92c6924dfae74 100644 --- a/Mathlib/CategoryTheory/Monoidal/Mod_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Mod_.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Paul Lezeau, Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.Mon_ -import Mathlib.CategoryTheory.Monoidal.Action.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Mon_ +public import Mathlib.CategoryTheory.Monoidal.Action.Basic /-! # The category of module objects over a monoid object. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ open CategoryTheory MonoidalCategory MonObj diff --git a/Mathlib/CategoryTheory/Monoidal/Mon_.lean b/Mathlib/CategoryTheory/Monoidal/Mon_.lean index d9ac80f0be2e61..f8c69a5fbf2c76 100644 --- a/Mathlib/CategoryTheory/Monoidal/Mon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Mon_.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas -import Mathlib.CategoryTheory.Monoidal.Discrete -import Mathlib.CategoryTheory.Limits.Shapes.Terminal +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +public import Mathlib.CategoryTheory.Monoidal.Discrete +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal /-! # The category of monoids in a monoidal category. @@ -25,6 +27,8 @@ in a (braided) monoidal category. Please read the documentation in `Mathlib/Tactic/Attr/Register.lean` for full details. -/ +@[expose] public section + universe w v₁ v₂ v₃ u₁ u₂ u₃ u open Function CategoryTheory MonoidalCategory Functor.LaxMonoidal Functor.OplaxMonoidal diff --git a/Mathlib/CategoryTheory/Monoidal/Multifunctor.lean b/Mathlib/CategoryTheory/Monoidal/Multifunctor.lean index 16e27734745838..bda40aaf262dc2 100644 --- a/Mathlib/CategoryTheory/Monoidal/Multifunctor.lean +++ b/Mathlib/CategoryTheory/Monoidal/Multifunctor.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Monoidal.Functor +module + +public import Mathlib.CategoryTheory.Monoidal.Functor /-! # Constructing monoidal functors from natural transformations between multifunctors @@ -18,6 +20,8 @@ Once we have more API for quadrifunctors, we can add constructors for monoidal c by phrasing the pentagon axiom as an equality of natural transformations between quadrifunctors. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] [MonoidalCategory C] diff --git a/Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean b/Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean index 5b97b483be4c99..c372eff5dcecfe 100644 --- a/Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean +++ b/Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +module + +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory /-! # Monoidal natural transformations @@ -16,6 +18,8 @@ an additional compatibility relation with the tensorators: -/ +@[expose] public section + open CategoryTheory universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Basic.lean b/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Basic.lean index 7619a9e7efeb61..37d55023a3f1ad 100644 --- a/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Basic.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic deprecated_module (since := "2025-05-08") diff --git a/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Symmetric.lean b/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Symmetric.lean index 7619a9e7efeb61..37d55023a3f1ad 100644 --- a/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Symmetric.lean +++ b/Mathlib/CategoryTheory/Monoidal/OfChosenFiniteProducts/Symmetric.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic deprecated_module (since := "2025-05-08") diff --git a/Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean b/Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean index f37b3fe07074da..a2977221461e15 100644 --- a/Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean +++ b/Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Simon Hudon -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Terminal /-! # The natural monoidal structure on any category with finite (co)products. @@ -25,6 +27,8 @@ Replace `monoidalOfHasFiniteProducts` and `symmetricOfHasFiniteProducts` with `CartesianMonoidalCategory.ofHasFiniteProducts`. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Monoidal/Opposite.lean b/Mathlib/CategoryTheory/Monoidal/Opposite.lean index 63c103738a3dc6..4a5c614cba8409 100644 --- a/Mathlib/CategoryTheory/Monoidal/Opposite.lean +++ b/Mathlib/CategoryTheory/Monoidal/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence +module + +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence /-! # Monoidal opposites @@ -12,6 +14,8 @@ import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence We write `Cᵐᵒᵖ` for the monoidal opposite of a monoidal category `C`. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean b/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean index cac3a6563fce1a..2604c95a87845b 100644 --- a/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.Opposite -import Mathlib.CategoryTheory.Monoidal.Mon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Opposite +public import Mathlib.CategoryTheory.Monoidal.Mon_ /-! # Monoid objects internal to monoidal opposites @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Monoidal.Mon_ In this file, we record the equivalence between `Mon C` and `Mon Cᴹᵒᵖ`. -/ +@[expose] public section + namespace MonObj open CategoryTheory MonoidalCategory MonoidalOpposite diff --git a/Mathlib/CategoryTheory/Monoidal/Preadditive.lean b/Mathlib/CategoryTheory/Monoidal/Preadditive.lean index c210bb68e7da7e..443fb11534b633 100644 --- a/Mathlib/CategoryTheory/Monoidal/Preadditive.lean +++ b/Mathlib/CategoryTheory/Monoidal/Preadditive.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Monoidal.Functor +module + +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Monoidal.Functor /-! # Preadditive monoidal categories @@ -13,6 +15,8 @@ A monoidal category is `MonoidalPreadditive` if it is preadditive and tensor pro is linear in both factors. -/ +@[expose] public section + noncomputable section namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean index e71c9460962a00..18fb3e15a4aa7d 100644 --- a/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.Tactic.CategoryTheory.Monoidal.Basic -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Tactic.CategoryTheory.Monoidal.Basic +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.Tactic.ApplyFun /-! # Rigid (autonomous) monoidal categories @@ -57,6 +59,8 @@ rigid category, monoidal category -/ +@[expose] public section + open CategoryTheory MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean b/Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean index 5125630395a5a6..4a47f05eecd610 100644 --- a/Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean +++ b/Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Gareth Ma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gareth Ma -/ -import Mathlib.CategoryTheory.Monoidal.Rigid.Basic -import Mathlib.CategoryTheory.Monoidal.Braided.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Rigid.Basic +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic /-! # Deriving `RigidCategory` instance for braided and left/right rigid categories. -/ +@[expose] public section + open CategoryTheory Category BraidedCategory MonoidalCategory variable {C : Type*} [Category C] [MonoidalCategory C] [BraidedCategory C] {X Y : C} diff --git a/Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean b/Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean index 8a8ee6af31c944..ecbae9248345ff 100644 --- a/Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Rigid.Basic -import Mathlib.CategoryTheory.Monoidal.FunctorCategory +module + +public import Mathlib.CategoryTheory.Monoidal.Rigid.Basic +public import Mathlib.CategoryTheory.Monoidal.FunctorCategory /-! # Functors from a groupoid into a right/left rigid category form a right/left rigid category. @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Monoidal.FunctorCategory (Using the pointwise monoidal structure on the functor category.) -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean b/Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean index c4a6177f19390b..acaeb2c88bef5f 100644 --- a/Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean +++ b/Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Rigid.Basic +module + +public import Mathlib.CategoryTheory.Monoidal.Rigid.Basic /-! # Transport rigid structures over a monoidal equivalence. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Monoidal/Skeleton.lean b/Mathlib/CategoryTheory/Monoidal/Skeleton.lean index 5258d6b87584dc..8c9f59bd1ba85b 100644 --- a/Mathlib/CategoryTheory/Monoidal/Skeleton.lean +++ b/Mathlib/CategoryTheory/Monoidal/Skeleton.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.CategoryTheory.Skeletal +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.CategoryTheory.Skeletal /-! # The monoid on the skeleton of a monoidal category @@ -19,6 +21,8 @@ The skeleton of a monoidal category is a monoid. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Monoidal/Subcategory.lean b/Mathlib/CategoryTheory/Monoidal/Subcategory.lean index 88949fb24869e7..788dda851f88e5 100644 --- a/Mathlib/CategoryTheory/Monoidal/Subcategory.lean +++ b/Mathlib/CategoryTheory/Monoidal/Subcategory.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Antoine Labelle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Labelle -/ -import Mathlib.CategoryTheory.Monoidal.Braided.Basic -import Mathlib.CategoryTheory.Monoidal.Linear -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.CategoryTheory.Closed.Monoidal +module + +public import Mathlib.CategoryTheory.Monoidal.Braided.Basic +public import Mathlib.CategoryTheory.Monoidal.Linear +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.CategoryTheory.Closed.Monoidal /-! # Full monoidal subcategories @@ -25,6 +27,8 @@ braided/symmetric structure. * Add monoidal/braided versions of `ObjectProperty.Lift` -/ +@[expose] public section + universe u v diff --git a/Mathlib/CategoryTheory/Monoidal/Tor.lean b/Mathlib/CategoryTheory/Monoidal/Tor.lean index d74c94b26afa97..a0b666f28de363 100644 --- a/Mathlib/CategoryTheory/Monoidal/Tor.lean +++ b/Mathlib/CategoryTheory/Monoidal/Tor.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Abelian.LeftDerived -import Mathlib.CategoryTheory.Monoidal.Preadditive +module + +public import Mathlib.CategoryTheory.Abelian.LeftDerived +public import Mathlib.CategoryTheory.Monoidal.Preadditive /-! # Tor, the left-derived functor of tensor product @@ -21,6 +23,8 @@ Possibly it's best to axiomatize delta functors, and obtain a unique characteris -/ +@[expose] public section + assert_not_exists ModuleCat.abelian diff --git a/Mathlib/CategoryTheory/Monoidal/Transport.lean b/Mathlib/CategoryTheory/Monoidal/Transport.lean index 5a6e4d6b66c81f..3e31952576233d 100644 --- a/Mathlib/CategoryTheory/Monoidal/Transport.lean +++ b/Mathlib/CategoryTheory/Monoidal/Transport.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.NaturalTransformation +module + +public import Mathlib.CategoryTheory.Monoidal.NaturalTransformation /-! # Transport a monoidal structure along an equivalence. @@ -21,6 +23,8 @@ We then upgrade the original functor and its inverse to monoidal functors with respect to the new monoidal structure on `D`. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Monoidal/Types/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Types/Basic.lean index f690c0d6221065..51410c27c5c51a 100644 --- a/Mathlib/CategoryTheory/Monoidal/Types/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Types/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Michael Jendrusch. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Jendrusch, Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic -import Mathlib.CategoryTheory.Monoidal.Functor -import Mathlib.CategoryTheory.Limits.Types.Shapes +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.Basic +public import Mathlib.CategoryTheory.Monoidal.Functor +public import Mathlib.CategoryTheory.Limits.Types.Shapes /-! # The category of types is a (symmetric) monoidal category -/ +@[expose] public section + open CategoryTheory Limits MonoidalCategory diff --git a/Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean b/Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean index ccf1bb5e76a124..9ff9bba30a0e83 100644 --- a/Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean +++ b/Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Michael Jendrusch. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Jendrusch, Kim Morrison -/ -import Mathlib.CategoryTheory.Monoidal.Types.Basic -import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas +module + +public import Mathlib.CategoryTheory.Monoidal.Types.Basic +public import Mathlib.CategoryTheory.Monoidal.CoherenceLemmas /-! # `(𝟙_ C ⟶ -)` is a lax monoidal functor to `Type` -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Monoidal/Yoneda.lean b/Mathlib/CategoryTheory/Monoidal/Yoneda.lean index fc804404967b0c..63790b50b145f2 100644 --- a/Mathlib/CategoryTheory/Monoidal/Yoneda.lean +++ b/Mathlib/CategoryTheory/Monoidal/Yoneda.lean @@ -1,3 +1,5 @@ -import Mathlib.CategoryTheory.Monoidal.Mon_ +module + +public import Mathlib.CategoryTheory.Monoidal.Mon_ deprecated_module (since := "2025-05-11") diff --git a/Mathlib/CategoryTheory/MorphismProperty/Basic.lean b/Mathlib/CategoryTheory/MorphismProperty/Basic.lean index 77d45f0447dc20..a27b863de4f0c3 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Basic.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.Order.CompleteBooleanAlgebra +module + +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.Order.CompleteBooleanAlgebra /-! # Properties of morphisms @@ -20,6 +22,8 @@ The following meta-property is defined -/ +@[expose] public section + universe w v v' u u' diff --git a/Mathlib/CategoryTheory/MorphismProperty/Comma.lean b/Mathlib/CategoryTheory/MorphismProperty/Comma.lean index b1a1590659ac47..9fcf8e1ac918b9 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Comma.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Comma.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Subcategories of comma categories defined by morphism properties @@ -32,6 +34,8 @@ over a base `X`. Here `Q = ⊤`. -/ +@[expose] public section + namespace CategoryTheory.MorphismProperty open Limits diff --git a/Mathlib/CategoryTheory/MorphismProperty/Composition.lean b/Mathlib/CategoryTheory/MorphismProperty/Composition.lean index 006d5506469160..9b901462f4f57d 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Composition.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Composition.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Compatibilities of properties of morphisms with respect to composition @@ -14,6 +16,8 @@ which means that `P f → P g → P (f ≫ g)`. We also introduce the type class -/ +@[expose] public section + universe w v v' u u' diff --git a/Mathlib/CategoryTheory/MorphismProperty/Concrete.lean b/Mathlib/CategoryTheory/MorphismProperty/Concrete.lean index 36b4f7ef4bc365..837e2295f75c61 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Concrete.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Concrete.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.CategoryTheory.MorphismProperty.Composition -import Mathlib.CategoryTheory.MorphismProperty.Factorization +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Composition +public import Mathlib.CategoryTheory.MorphismProperty.Factorization /-! # Morphism properties defined in concrete categories @@ -21,6 +23,8 @@ followed by an injective map. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/Descent.lean b/Mathlib/CategoryTheory/MorphismProperty/Descent.lean index 6171552299a248..5c87e48d75ad2e 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Descent.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Descent.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Descent of morphism properties @@ -13,6 +15,8 @@ if whenever `Q` holds for `X ⟶ Z`, `P` holds for `X ×[Z] Y ⟶ X` implies `P` Dually, we define `P.CodescendsAlong Q`. -/ +@[expose] public section + namespace CategoryTheory.MorphismProperty open Limits diff --git a/Mathlib/CategoryTheory/MorphismProperty/Factorization.lean b/Mathlib/CategoryTheory/MorphismProperty/Factorization.lean index 5f24bab8df695e..8f2e956c45fe93 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Factorization.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Factorization.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # The factorization axiom @@ -31,6 +33,8 @@ is `MorphismProperty.comp_eq_top_iff`). -/ +@[expose] public section + namespace CategoryTheory namespace MorphismProperty diff --git a/Mathlib/CategoryTheory/MorphismProperty/FunctorCategory.lean b/Mathlib/CategoryTheory/MorphismProperty/FunctorCategory.lean index cdf866749ef1e3..4b8186fecee840 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/FunctorCategory.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.CategoryTheory.MorphismProperty.Retract -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +module + +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.CategoryTheory.MorphismProperty.Retract +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition /-! # Stability properties of morphism properties on functor categories @@ -20,6 +22,8 @@ holds in the category `J ⥤ C`. -/ +@[expose] public section + universe v v' v'' u u' u'' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/Ind.lean b/Mathlib/CategoryTheory/MorphismProperty/Ind.lean index 88632c3f74f193..0f088be6593e3d 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Ind.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Ind.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Comma.LocallySmall -import Mathlib.CategoryTheory.Limits.Preserves.Over -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.ObjectProperty.Ind +module + +public import Mathlib.CategoryTheory.Comma.LocallySmall +public import Mathlib.CategoryTheory.Limits.Preserves.Over +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.ObjectProperty.Ind /-! # Ind and pro-properties @@ -33,6 +35,8 @@ We show that `ind P` inherits stability properties from `P`. - Show `ind P` is stable under composition if `P` spreads out (Christian). -/ +@[expose] public section + universe w v u namespace CategoryTheory.MorphismProperty diff --git a/Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean b/Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean index e68e6813a7da16..f5c180e276bff4 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Morphism properties that are inverted by a functor @@ -17,6 +19,8 @@ This is used in the localization of categories API (folder `CategoryTheory.Local -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean b/Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean index 0b361867a8f940..bbb73d9a63bff0 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Basic -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.CategoryTheory.MorphismProperty.Basic +public import Mathlib.Logic.Small.Basic /-! # Small classes of morphisms @@ -14,6 +16,8 @@ if the corresponding set in `Set (Arrow C)` is. -/ +@[expose] public section + universe w t v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean b/Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean index 5002b763c118fb..936af363ac772c 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen, Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.MorphismProperty.Retract -import Mathlib.CategoryTheory.LiftingProperties.Limits -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.MorphismProperty.Retract +public import Mathlib.CategoryTheory.LiftingProperties.Limits +public import Mathlib.Order.GaloisConnection.Defs /-! # Left and right lifting properties @@ -18,6 +20,8 @@ and composition, with dual statements for the right lifting property. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/Limits.lean b/Mathlib/CategoryTheory/MorphismProperty/Limits.lean index 6c5f27dce1b72d..8e92383fad99d9 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Limits.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Limits.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Filtered.Connected -import Mathlib.CategoryTheory.Limits.Shapes.Diagonal -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Filtered.Connected +public import Mathlib.CategoryTheory.Limits.Shapes.Diagonal +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Relation of morphism properties with limits @@ -25,6 +27,8 @@ We also introduce properties `IsStableUnderProductsOfShape`, `IsStableUnderLimit -/ +@[expose] public section + universe w w' v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/Local.lean b/Mathlib/CategoryTheory/MorphismProperty/Local.lean index 95a50ffebe12ba..47d3309fbf17a6 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Local.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Local.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Andrew Yang -/ -import Mathlib.CategoryTheory.Sites.Hypercover.Zero -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.Sites.Hypercover.Zero +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Locality conditions on morphism properties @@ -29,6 +31,8 @@ The covers appearing in the definitions have index type in the morphism universe - Define source and target local closure of a morphism property. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean b/Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean index 8b81fd648d05d0..1c820c4c600fa6 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.MorphismProperty.Comma -import Mathlib.CategoryTheory.Comma.Over.Pullback -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.MorphismProperty.Comma +public import Mathlib.CategoryTheory.Comma.Over.Pullback +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Adjunction of pushforward and pullback in `P.Over Q X` @@ -19,6 +21,8 @@ a morphism `f : X ⟶ Y` defines two functors: such that `Over.map` is the left adjoint to `Over.pullback`. -/ +@[expose] public section + namespace CategoryTheory.MorphismProperty open Limits diff --git a/Mathlib/CategoryTheory/MorphismProperty/Representable.lean b/Mathlib/CategoryTheory/MorphismProperty/Representable.lean index ce54ad62d0f588..d8f4d5be97dff0 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Representable.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Representable.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Joël Riou, Ravi Vakil -/ +module -import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! @@ -78,6 +79,8 @@ as possible is phrased internally to `C`. -/ +@[expose] public section + namespace CategoryTheory open Category Limits MorphismProperty diff --git a/Mathlib/CategoryTheory/MorphismProperty/Retract.lean b/Mathlib/CategoryTheory/MorphismProperty/Retract.lean index e7fdb8b1581116..f1b761d19e97ac 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/Retract.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/Retract.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen -/ -import Mathlib.CategoryTheory.Retract -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.Retract +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Stability under retracts @@ -14,6 +16,8 @@ is the property that `P` is stable under retracts. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/RetractArgument.lean b/Mathlib/CategoryTheory/MorphismProperty/RetractArgument.lean index a3b6c705ceb249..a608a11c93c8d2 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/RetractArgument.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/RetractArgument.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Factorization -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +module + +public import Mathlib.CategoryTheory.MorphismProperty.Factorization +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty /-! # The retract argument @@ -22,6 +24,8 @@ and `W₁.rlp = W₂` if `W₂` is. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] diff --git a/Mathlib/CategoryTheory/MorphismProperty/TransfiniteComposition.lean b/Mathlib/CategoryTheory/MorphismProperty/TransfiniteComposition.lean index 0732c4a4c2a1ef..99f398cebba75a 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/TransfiniteComposition.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/TransfiniteComposition.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.TransfiniteCompositionOfShape -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.Order.Interval.Set.SuccOrder -import Mathlib.Order.Shrink +module + +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.TransfiniteCompositionOfShape +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.Order.Interval.Set.SuccOrder +public import Mathlib.Order.Shrink /-! # Classes of morphisms that are stable under transfinite composition @@ -27,6 +29,8 @@ holds for any well-ordered type `J` in a certain universe `w`. -/ +@[expose] public section + universe w w' v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/MorphismProperty/WeakFactorizationSystem.lean b/Mathlib/CategoryTheory/MorphismProperty/WeakFactorizationSystem.lean index cef63b3332f960..d634c95e16c4b3 100644 --- a/Mathlib/CategoryTheory/MorphismProperty/WeakFactorizationSystem.lean +++ b/Mathlib/CategoryTheory/MorphismProperty/WeakFactorizationSystem.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.RetractArgument +module + +public import Mathlib.CategoryTheory.MorphismProperty.RetractArgument /-! # Weak factorization systems @@ -19,6 +21,8 @@ and any morphism in `C` can be factored a `i ≫ p` with `W₁ i` and `W₂ p`. -/ +@[expose] public section + universe v u namespace CategoryTheory.MorphismProperty diff --git a/Mathlib/CategoryTheory/NatIso.lean b/Mathlib/CategoryTheory/NatIso.lean index e3ecbba2e6dc3e..dbb27940006c18 100644 --- a/Mathlib/CategoryTheory/NatIso.lean +++ b/Mathlib/CategoryTheory/NatIso.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Iso +module + +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Iso /-! # Natural isomorphisms @@ -30,6 +32,8 @@ we put some declarations that are specifically about natural isomorphisms in the namespace so that they are available using dot notation. -/ +@[expose] public section + set_option mathlib.tactic.category.grind true -- declare the `v`'s first; see `CategoryTheory.Category` for an explanation diff --git a/Mathlib/CategoryTheory/NatTrans.lean b/Mathlib/CategoryTheory/NatTrans.lean index 5ad6dc1b7461e8..c4acce220d9a17 100644 --- a/Mathlib/CategoryTheory/NatTrans.lean +++ b/Mathlib/CategoryTheory/NatTrans.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tim Baumann, Stephen Morgan, Kim Morrison, Floris van Doorn -/ -import Mathlib.Tactic.CategoryTheory.Reassoc +module + +public import Mathlib.Tactic.CategoryTheory.Reassoc /-! # Natural transformations @@ -29,6 +31,8 @@ Introduces notations -/ +@[expose] public section + set_option mathlib.tactic.category.grind true namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Noetherian.lean b/Mathlib/CategoryTheory/Noetherian.lean index af734ec897f476..1829d3921fadf9 100644 --- a/Mathlib/CategoryTheory/Noetherian.lean +++ b/Mathlib/CategoryTheory/Noetherian.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.ArtinianObject -import Mathlib.CategoryTheory.Subobject.NoetherianObject +module + +public import Mathlib.CategoryTheory.Subobject.ArtinianObject +public import Mathlib.CategoryTheory.Subobject.NoetherianObject /-! # Artinian and Noetherian categories @@ -22,6 +24,8 @@ it is shown that any nonzero Artinian object has a simple subobject. The Jordan-Hölder theorem, following https://stacks.math.columbia.edu/tag/0FCK. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/Basic.lean b/Mathlib/CategoryTheory/ObjectProperty/Basic.lean index 01c6f8ab89f8a2..c361b2849daedc 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Basic.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.CategoryTheory.Functor.Basic -import Mathlib.CategoryTheory.Iso -import Mathlib.Order.Basic +module + +public import Mathlib.CategoryTheory.Category.Basic +public import Mathlib.CategoryTheory.Functor.Basic +public import Mathlib.CategoryTheory.Iso +public import Mathlib.Order.Basic /-! # Properties of objects in a category @@ -23,6 +25,8 @@ for predicates `C → Prop`. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean b/Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean index b3119203920c5c..d7d1393e56244e 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/ClosedUnderIsomorphisms.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.ObjectProperty.Basic -import Mathlib.Order.Basic +module + +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.ObjectProperty.Basic +public import Mathlib.Order.Basic /-! # Properties of objects which are closed under isomorphisms @@ -14,6 +16,8 @@ this file introduces the type class `P.IsClosedUnderIsomorphisms`. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean b/Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean index 6c36ed102fb5f6..82761a1568d770 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.Small -import Mathlib.CategoryTheory.Limits.Presentation +module + +public import Mathlib.CategoryTheory.ObjectProperty.Small +public import Mathlib.CategoryTheory.Limits.Presentation /-! # Objects that are colimits of objects satisfying a certain property @@ -36,6 +38,8 @@ that is bounded by a certain regular cardinal (@joelriou) -/ +@[expose] public section + universe w v' u' v u namespace CategoryTheory.ObjectProperty diff --git a/Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean b/Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean index 91ae6a863b7327..beb03fb547ef4e 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +module + +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero /-! # Properties of objects which hold for a zero object @@ -16,6 +18,8 @@ that `P` holds for all zero objects, as in some applications (e.g. triangulated -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/EpiMono.lean b/Mathlib/CategoryTheory/ObjectProperty/EpiMono.lean index 44dbdfb1df5fce..c5d2f9e6128488 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/EpiMono.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/EpiMono.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.Algebra.Homology.ShortComplex.ShortExact +module + +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact /-! # Properties of objects that are closed under subobjects and quotients @@ -15,6 +17,8 @@ that `P` is closed under subobjects (resp. quotients). -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/Extensions.lean b/Mathlib/CategoryTheory/ObjectProperty/Extensions.lean index 1678cb5744d883..e1856b063c3441 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Extensions.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Extensions.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.CategoryTheory.ObjectProperty.Basic +module + +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.CategoryTheory.ObjectProperty.Basic /-! # Properties of objects that are closed under extensions @@ -15,6 +17,8 @@ is closed under extensions. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean b/Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean index 77c7e167ce85fa..1e568671723f3b 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/FullSubcategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Reid Barton, Joël Riou -/ -import Mathlib.CategoryTheory.InducedCategory -import Mathlib.CategoryTheory.ObjectProperty.Basic +module + +public import Mathlib.CategoryTheory.InducedCategory +public import Mathlib.CategoryTheory.ObjectProperty.Basic /-! # The full subcategory associated to a property of objects @@ -15,6 +17,8 @@ of objects in `C` satisfying `P`. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/Ind.lean b/Mathlib/CategoryTheory/ObjectProperty/Ind.lean index 0a4d5efc16050e..7e8fe65dc9f014 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Ind.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Ind.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Presentable.ColimitPresentation +module + +public import Mathlib.CategoryTheory.Presentable.ColimitPresentation /-! # Ind and pro-properties @@ -26,6 +28,8 @@ Given an object property `P`, we define an object property `ind P` that is satis - Dualise to obtain `CategoryTheory.ObjectProperty.pro`. -/ +@[expose] public section + universe w v u namespace CategoryTheory.ObjectProperty diff --git a/Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean b/Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean index e1ef97012084a1..962ab176625add 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.Small -import Mathlib.CategoryTheory.Limits.Presentation +module + +public import Mathlib.CategoryTheory.ObjectProperty.Small +public import Mathlib.CategoryTheory.Limits.Presentation /-! # Objects that are limits of objects satisfying a certain property @@ -24,6 +26,8 @@ is essentially small. -/ +@[expose] public section + universe w v' u' v u namespace CategoryTheory.ObjectProperty diff --git a/Mathlib/CategoryTheory/ObjectProperty/Local.lean b/Mathlib/CategoryTheory/ObjectProperty/Local.lean index 79ff81047c117a..8380475dbe6882 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Local.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Local.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.MorphismProperty.Basic +module + +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.MorphismProperty.Basic /-! # Objects that are local with respect to a property of morphisms @@ -18,6 +20,8 @@ part of a Galois connection, with "dual" construction -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/Opposite.lean b/Mathlib/CategoryTheory/ObjectProperty/Opposite.lean index d0de958f69c5d2..aec8f9bd1ecc16 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Opposite.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Opposite.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.Opposites +module + +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.Opposites /-! # The opposite of a property of objects -/ +@[expose] public section + universe v u namespace CategoryTheory.ObjectProperty diff --git a/Mathlib/CategoryTheory/ObjectProperty/Retract.lean b/Mathlib/CategoryTheory/ObjectProperty/Retract.lean index d4fd3345668b72..7569a78108d0cb 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Retract.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Retract.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.ObjectProperty.Basic -import Mathlib.CategoryTheory.Retract +module + +public import Mathlib.CategoryTheory.ObjectProperty.Basic +public import Mathlib.CategoryTheory.Retract /-! # Properties of objects which are stable under retracts @@ -12,6 +14,8 @@ Given a category `C` and `P : ObjectProperty C` (i.e. `P : C → Prop`), this file introduces the type class `P.IsStableUnderRetracts`. -/ +@[expose] public section + namespace CategoryTheory.ObjectProperty variable {C : Type*} [Category C] (P : ObjectProperty C) diff --git a/Mathlib/CategoryTheory/ObjectProperty/Shift.lean b/Mathlib/CategoryTheory/ObjectProperty/Shift.lean index 537c7fe67e4150..f764c46ab67224 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Shift.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Shift.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms -import Mathlib.CategoryTheory.Shift.Basic +module + +public import Mathlib.CategoryTheory.ObjectProperty.ClosedUnderIsomorphisms +public import Mathlib.CategoryTheory.Shift.Basic /-! # Properties of objects on categories equipped with shift @@ -16,6 +18,8 @@ implies `P (X⟦a⟧)` for all `a : A`. -/ +@[expose] public section + open CategoryTheory Category namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/ObjectProperty/Small.lean b/Mathlib/CategoryTheory/ObjectProperty/Small.lean index 291fd3a2125b5f..31981b1a6aa2ba 100644 --- a/Mathlib/CategoryTheory/ObjectProperty/Small.lean +++ b/Mathlib/CategoryTheory/ObjectProperty/Small.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory -import Mathlib.CategoryTheory.ObjectProperty.Opposite -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +public import Mathlib.CategoryTheory.ObjectProperty.Opposite +public import Mathlib.Logic.Small.Basic /-! # Smallness of a property of objects @@ -15,6 +17,8 @@ In this file, given `P : ObjectProperty C`, we define -/ +@[expose] public section + universe w v u namespace CategoryTheory.ObjectProperty diff --git a/Mathlib/CategoryTheory/Opposites.lean b/Mathlib/CategoryTheory/Opposites.lean index 12adbfbb9088af..4b07ec8b4fb8e9 100644 --- a/Mathlib/CategoryTheory/Opposites.lean +++ b/Mathlib/CategoryTheory/Opposites.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison -/ -import Mathlib.CategoryTheory.Equivalence +module + +public import Mathlib.CategoryTheory.Equivalence /-! # Opposite categories @@ -21,6 +23,8 @@ Unfortunately, because we do not have a definitional equality `op (op X) = X`, there are quite a few variations that are needed in practice. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ -- morphism levels before object levels. See note [category theory universes]. diff --git a/Mathlib/CategoryTheory/PEmpty.lean b/Mathlib/CategoryTheory/PEmpty.lean index 42756849683eb3..f20d4cdefe2c96 100644 --- a/Mathlib/CategoryTheory/PEmpty.lean +++ b/Mathlib/CategoryTheory/PEmpty.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Discrete.Basic +module + +public import Mathlib.CategoryTheory.Discrete.Basic /-! # The empty category @@ -11,6 +13,8 @@ import Mathlib.CategoryTheory.Discrete.Basic Defines a category structure on `PEmpty`, and the unique functor `PEmpty ⥤ C` for any category `C`. -/ +@[expose] public section + universe w v v' u u' -- morphism levels before object levels. See note [category theory universes]. namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/PUnit.lean b/Mathlib/CategoryTheory/PUnit.lean index 6e27800b273707..982fb7f1a56bc9 100644 --- a/Mathlib/CategoryTheory/PUnit.lean +++ b/Mathlib/CategoryTheory/PUnit.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Functor.Const -import Mathlib.CategoryTheory.Discrete.Basic +module + +public import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.CategoryTheory.Discrete.Basic /-! # The category `Discrete PUnit` @@ -14,6 +16,8 @@ show that any two functors to `Discrete PUnit` are naturally isomorphic, and construct the equivalence `(Discrete PUnit ⥤ C) ≌ C`. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/PathCategory/Basic.lean b/Mathlib/CategoryTheory/PathCategory/Basic.lean index 3b9f559af26244..21075ea2dd876d 100644 --- a/Mathlib/CategoryTheory/PathCategory/Basic.lean +++ b/Mathlib/CategoryTheory/PathCategory/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Robin Carlier -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Quotient -import Mathlib.Combinatorics.Quiver.Path +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Quotient +public import Mathlib.Combinatorics.Quiver.Path /-! # The category paths on a quiver. @@ -18,6 +20,8 @@ We check that the quotient of the path category of a category by the canonical r (paths are related if they compose to the same path) is equivalent to the original category. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean b/Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean index 1d251616d2c48b..dc2f60156c3925 100644 --- a/Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean +++ b/Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.PathCategory.Basic -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.CategoryTheory.PathCategory.Basic +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Properties of morphisms in a path category. @@ -13,6 +15,8 @@ We provide a formulation of induction principles for morphisms in a path categor `MorphismProperty`. This file is separate from `CategoryTheory.PathCategory.Basic` in order to reduce transitive imports. -/ +@[expose] public section + universe v₁ u₁ diff --git a/Mathlib/CategoryTheory/Pi/Basic.lean b/Mathlib/CategoryTheory/Pi/Basic.lean index 9b66a5b811a2ed..eeebb9aa4bae80 100644 --- a/Mathlib/CategoryTheory/Pi/Basic.lean +++ b/Mathlib/CategoryTheory/Pi/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Kim Morrison -/ -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.NatIso -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.NatIso +public import Mathlib.CategoryTheory.Products.Basic /-! # Categories of indexed families of objects. @@ -15,6 +17,8 @@ We define the pointwise category structure on indexed families of objects in a c -/ +@[expose] public section + namespace CategoryTheory open Functor diff --git a/Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean b/Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean index a557cafabba4dd..e582ca16ee5fb4 100644 --- a/Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean +++ b/Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.ExactFunctor -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.CategoryTheory.Preadditive.FunctorCategory +module + +public import Mathlib.CategoryTheory.Limits.ExactFunctor +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.CategoryTheory.Preadditive.FunctorCategory /-! # Additive Functors @@ -28,6 +30,8 @@ We also define the category of bundled additive functors. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Preadditive/Basic.lean b/Mathlib/CategoryTheory/Preadditive/Basic.lean index eae1d4d5ebcfe5..0dc92d83e43ac8 100644 --- a/Mathlib/CategoryTheory/Preadditive/Basic.lean +++ b/Mathlib/CategoryTheory/Preadditive/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Jakob von Raumer -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.Module.End -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.Module.End +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! # Preadditive categories @@ -43,6 +45,8 @@ is simplified to `f ≫ g`. additive, preadditive, Hom group, Ab-category, Ab-enriched -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Preadditive/Biproducts.lean b/Mathlib/CategoryTheory/Preadditive/Biproducts.lean index d9c3396ae005ce..38d9632f352cd3 100644 --- a/Mathlib/CategoryTheory/Preadditive/Biproducts.lean +++ b/Mathlib/CategoryTheory/Preadditive/Biproducts.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.Group.Ext -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Biproducts -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.Group.Ext +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Biproducts +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.Tactic.Abel /-! # Basic facts about biproducts in preadditive categories. @@ -52,6 +54,8 @@ and `Matrix.invertibleOfFromBlocks₁₁Invertible` are all closely related. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/CommGrp_.lean b/Mathlib/CategoryTheory/Preadditive/CommGrp_.lean index b0e6990c8dbb5c..be19e63a5306dc 100644 --- a/Mathlib/CategoryTheory/Preadditive/CommGrp_.lean +++ b/Mathlib/CategoryTheory/Preadditive/CommGrp_.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Monoidal.CommGrp_ -import Mathlib.CategoryTheory.Preadditive.Biproducts +module + +public import Mathlib.CategoryTheory.Monoidal.CommGrp_ +public import Mathlib.CategoryTheory.Preadditive.Biproducts /-! # Commutative group objects in additive categories. @@ -15,6 +17,8 @@ This looks slightly strange because the additive structure of `C` maps to the mu structure of the commutative group objects. -/ +@[expose] public section + universe v u namespace CategoryTheory.Preadditive diff --git a/Mathlib/CategoryTheory/Preadditive/EilenbergMoore.lean b/Mathlib/CategoryTheory/Preadditive/EilenbergMoore.lean index f4bd1fe186cd56..df97c18ee5a1b5 100644 --- a/Mathlib/CategoryTheory/Preadditive/EilenbergMoore.lean +++ b/Mathlib/CategoryTheory/Preadditive/EilenbergMoore.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.CategoryTheory.Monad.Algebra -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.CategoryTheory.Monad.Algebra +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Preadditive structure on algebras over a monad @@ -15,6 +17,8 @@ preadditive. Dually, if `U` is an additive comonad on `C` then `Coalgebra U` is -/ +@[expose] public section + universe v₁ u₁ diff --git a/Mathlib/CategoryTheory/Preadditive/EndoFunctor.lean b/Mathlib/CategoryTheory/Preadditive/EndoFunctor.lean index a252c396b7c4ca..8023be602238e5 100644 --- a/Mathlib/CategoryTheory/Preadditive/EndoFunctor.lean +++ b/Mathlib/CategoryTheory/Preadditive/EndoFunctor.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.CategoryTheory.Endofunctor.Algebra -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.CategoryTheory.Endofunctor.Algebra +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Preadditive structure on algebras over a monad @@ -14,6 +16,8 @@ If `C` is a preadditive category and `F` is an additive endofunctor on `C` then also preadditive. Dually, the category `Coalgebra F` is also preadditive. -/ +@[expose] public section + universe v₁ u₁ diff --git a/Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean b/Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean index f93e6627bda6fc..883398ef2e9462 100644 --- a/Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean +++ b/Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Preadditive structure on functor categories @@ -14,6 +16,8 @@ then `C ⥤ D` is also preadditive. -/ +@[expose] public section + namespace CategoryTheory open CategoryTheory.Limits Preadditive diff --git a/Mathlib/CategoryTheory/Preadditive/HomOrthogonal.lean b/Mathlib/CategoryTheory/Preadditive/HomOrthogonal.lean index 9ddcf009c26c91..8afc6bb088d2d1 100644 --- a/Mathlib/CategoryTheory/Preadditive/HomOrthogonal.lean +++ b/Mathlib/CategoryTheory/Preadditive/HomOrthogonal.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber +public import Mathlib.Data.Set.Subsingleton /-! # Hom orthogonal families. @@ -35,6 +37,8 @@ theorem HomOrthogonal.equiv_of_iso (o : HomOrthogonal s) {f : α → ι} {g : β This is preliminary to defining semisimple categories. -/ +@[expose] public section + open Matrix CategoryTheory.Limits diff --git a/Mathlib/CategoryTheory/Preadditive/Indization.lean b/Mathlib/CategoryTheory/Preadditive/Indization.lean index 02f73940beb426..6c59657ff37e4a 100644 --- a/Mathlib/CategoryTheory/Preadditive/Indization.lean +++ b/Mathlib/CategoryTheory/Preadditive/Indization.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Indization.Category -import Mathlib.CategoryTheory.Preadditive.Transfer -import Mathlib.CategoryTheory.Preadditive.Opposite -import Mathlib.Algebra.Category.Grp.LeftExactFunctor +module + +public import Mathlib.CategoryTheory.Limits.Indization.Category +public import Mathlib.CategoryTheory.Preadditive.Transfer +public import Mathlib.CategoryTheory.Preadditive.Opposite +public import Mathlib.Algebra.Category.Grp.LeftExactFunctor /-! # The category of ind-objects is preadditive -/ +@[expose] public section + universe v u open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean b/Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean index f81dba991406b5..8044afe2e81d39 100644 --- a/Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean +++ b/Mathlib/CategoryTheory/Preadditive/Injective/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Kevin Buzzard -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic /-! # Injective objects and categories with enough injectives @@ -11,6 +13,8 @@ import Mathlib.CategoryTheory.Preadditive.Projective.Basic An object `J` is injective iff every morphism into `J` can be obtained by extending a monomorphism. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Preadditive/Injective/LiftingProperties.lean b/Mathlib/CategoryTheory/Preadditive/Injective/LiftingProperties.lean index 8a3df179f793ff..c38ae30620631d 100644 --- a/Mathlib/CategoryTheory/Preadditive/Injective/LiftingProperties.lean +++ b/Mathlib/CategoryTheory/Preadditive/Injective/LiftingProperties.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +module + +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty /-! # Characterization of injective objects in terms of lifting properties @@ -15,6 +17,8 @@ right lifting property with respect to monomorphisms, -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/Injective/Preserves.lean b/Mathlib/CategoryTheory/Preadditive/Injective/Preserves.lean index 6ba790a00361fa..5c81096759b108 100644 --- a/Mathlib/CategoryTheory/Preadditive/Injective/Preserves.lean +++ b/Mathlib/CategoryTheory/Preadditive/Injective/Preserves.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Preadditive.Injective.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic /-! # Preservation of injective objects @@ -15,6 +17,8 @@ then `G` preserves injective objects. We show that the converse is true if the c enough injectives. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/Injective/Resolution.lean b/Mathlib/CategoryTheory/Preadditive/Injective/Resolution.lean index ad3484b6f8c2d8..1c057058d355a6 100644 --- a/Mathlib/CategoryTheory/Preadditive/Injective/Resolution.lean +++ b/Mathlib/CategoryTheory/Preadditive/Injective/Resolution.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Homology.QuasiIso -import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex -import Mathlib.Algebra.Homology.SingleHomology -import Mathlib.CategoryTheory.Preadditive.Injective.Basic +module + +public import Mathlib.Algebra.Homology.QuasiIso +public import Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex +public import Mathlib.Algebra.Homology.SingleHomology +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic /-! # Injective resolutions @@ -24,6 +26,8 @@ I⁰ ---> I¹ ---> ... ----> Iⁿ ---> ... ``` -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Preadditive/LeftExact.lean b/Mathlib/CategoryTheory/Preadditive/LeftExact.lean index 67766a6a59f1f7..26c651009c14a2 100644 --- a/Mathlib/CategoryTheory/Preadditive/LeftExact.lean +++ b/Mathlib/CategoryTheory/Preadditive/LeftExact.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Jakob von Raumer -/ -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Kernels +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Left exactness of functors between preadditive categories @@ -22,6 +24,8 @@ preserves kernels. The dual result holds for right exact functors and cokernels. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Preadditive/LiftToFinset.lean b/Mathlib/CategoryTheory/Preadditive/LiftToFinset.lean index 711b96a6d00acb..4c953f22f1f40c 100644 --- a/Mathlib/CategoryTheory/Preadditive/LiftToFinset.lean +++ b/Mathlib/CategoryTheory/Preadditive/LiftToFinset.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Constructions.Filtered -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.CategoryTheory.Limits.Constructions.Filtered +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Additional results about the `liftToFinset` construction @@ -16,6 +18,8 @@ is preadditive, then we can describe the legs of this cocone as finite sums of p by inclusions. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Preadditive/Mat.lean b/Mathlib/CategoryTheory/Preadditive/Mat.lean index c07c23ed8b97de..529781d9b3c9f7 100644 --- a/Mathlib/CategoryTheory/Preadditive/Mat.lean +++ b/Mathlib/CategoryTheory/Preadditive/Mat.lean @@ -3,17 +3,19 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Pi -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Opposites -import Mathlib.Algebra.Ring.Opposite -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.CategoryTheory.Preadditive.SingleObj -import Mathlib.Data.Matrix.DMatrix -import Mathlib.Data.Matrix.Mul +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Pi +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Opposites +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.CategoryTheory.Preadditive.SingleObj +public import Mathlib.Data.Matrix.DMatrix +public import Mathlib.Data.Matrix.Mul /-! # Matrices over a category. @@ -48,6 +50,8 @@ Ideally this would conveniently interact with both `Mat_` and `Matrix`. -/ +@[expose] public section + open CategoryTheory CategoryTheory.Preadditive diff --git a/Mathlib/CategoryTheory/Preadditive/OfBiproducts.lean b/Mathlib/CategoryTheory/Preadditive/OfBiproducts.lean index 7a7f9f92a4d009..fec5162fada2a2 100644 --- a/Mathlib/CategoryTheory/Preadditive/OfBiproducts.lean +++ b/Mathlib/CategoryTheory/Preadditive/OfBiproducts.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.GroupTheory.EckmannHilton -import Mathlib.Tactic.CategoryTheory.Reassoc +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.GroupTheory.EckmannHilton +public import Mathlib.Tactic.CategoryTheory.Reassoc /-! # Constructing a semiadditive structure from binary biproducts @@ -14,6 +16,8 @@ of commutative monoids. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Preadditive/Opposite.lean b/Mathlib/CategoryTheory/Preadditive/Opposite.lean index ef62a205946769..7df9c3083bdab5 100644 --- a/Mathlib/CategoryTheory/Preadditive/Opposite.lean +++ b/Mathlib/CategoryTheory/Preadditive/Opposite.lean @@ -3,16 +3,20 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Adam Topaz, Johan Commelin, Joël Riou -/ -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Opposite -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # If `C` is preadditive, `Cᵒᵖ` has a natural preadditive structure. -/ +@[expose] public section + open Opposite diff --git a/Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean b/Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean index d0123cf9620d81..6bad9306af0ff2 100644 --- a/Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean +++ b/Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +module + +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts /-! # Projective objects and categories with enough projectives @@ -27,6 +29,8 @@ Given a morphism `f : X ⟶ Y`, `CategoryTheory.Projective.left f` is a projecti -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Preadditive/Projective/Internal.lean b/Mathlib/CategoryTheory/Preadditive/Projective/Internal.lean index 38b33572854611..a76e0de127379a 100644 --- a/Mathlib/CategoryTheory/Preadditive/Projective/Internal.lean +++ b/Mathlib/CategoryTheory/Preadditive/Projective/Internal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Jonas van der Schaaf -/ -import Mathlib.CategoryTheory.Closed.Monoidal -import Mathlib.CategoryTheory.ObjectProperty.Retract +module + +public import Mathlib.CategoryTheory.Closed.Monoidal +public import Mathlib.CategoryTheory.ObjectProperty.Retract /-! @@ -20,6 +22,8 @@ the solid theory (see the lecture series on analytic stacks: https://www.youtube.com/playlist?list=PLx5f8IelFRgGmu6gmL-Kf_Rl_6Mm7juZO). -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/CategoryTheory/Preadditive/Projective/LiftingProperties.lean b/Mathlib/CategoryTheory/Preadditive/Projective/LiftingProperties.lean index 746d825685a9a6..27059589707202 100644 --- a/Mathlib/CategoryTheory/Preadditive/Projective/LiftingProperties.lean +++ b/Mathlib/CategoryTheory/Preadditive/Projective/LiftingProperties.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty /-! # Characterization of projective objects in terms of lifting properties @@ -15,6 +17,8 @@ left lifting property with respect to epimorphisms, -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/Projective/Preserves.lean b/Mathlib/CategoryTheory/Preadditive/Projective/Preserves.lean index b6c365ce67e21c..5047645117fdb3 100644 --- a/Mathlib/CategoryTheory/Preadditive/Projective/Preserves.lean +++ b/Mathlib/CategoryTheory/Preadditive/Projective/Preserves.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic /-! # Preservation of projective objects @@ -15,6 +17,8 @@ then `F` preserves projective objects. We show that the converse is true if the enough projectives. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/Projective/Resolution.lean b/Mathlib/CategoryTheory/Preadditive/Projective/Resolution.lean index cc802ddaa97ad9..d64066133ae8dd 100644 --- a/Mathlib/CategoryTheory/Preadditive/Projective/Resolution.lean +++ b/Mathlib/CategoryTheory/Preadditive/Projective/Resolution.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Joël Riou -/ -import Mathlib.Algebra.Homology.QuasiIso -import Mathlib.Algebra.Homology.SingleHomology -import Mathlib.CategoryTheory.Preadditive.Projective.Preserves +module + +public import Mathlib.Algebra.Homology.QuasiIso +public import Mathlib.Algebra.Homology.SingleHomology +public import Mathlib.CategoryTheory.Preadditive.Projective.Preserves /-! # Projective resolutions @@ -17,6 +19,8 @@ of `Z` in degree zero. -/ +@[expose] public section + universe v u v' u' diff --git a/Mathlib/CategoryTheory/Preadditive/Schur.lean b/Mathlib/CategoryTheory/Preadditive/Schur.lean index a9692a6b9fd4e0..8f7eb4b50125f2 100644 --- a/Mathlib/CategoryTheory/Preadditive/Schur.lean +++ b/Mathlib/CategoryTheory/Preadditive/Schur.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.Algebra.Group.Ext -import Mathlib.CategoryTheory.Simple -import Mathlib.CategoryTheory.Linear.Basic -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.FieldTheory.IsAlgClosed.Spectrum +module + +public import Mathlib.Algebra.Group.Ext +public import Mathlib.CategoryTheory.Simple +public import Mathlib.CategoryTheory.Linear.Basic +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.FieldTheory.IsAlgClosed.Spectrum /-! # Schur's lemma @@ -21,6 +23,8 @@ the hom space `X ⟶ Y` between simple objects `X` and `Y` is at most one dimens and is 1-dimensional iff `X` and `Y` are isomorphic. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/SingleObj.lean b/Mathlib/CategoryTheory/Preadditive/SingleObj.lean index a2b5d1a38ddafa..414fe728f5a5ec 100644 --- a/Mathlib/CategoryTheory/Preadditive/SingleObj.lean +++ b/Mathlib/CategoryTheory/Preadditive/SingleObj.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Preadditive.Basic -import Mathlib.CategoryTheory.SingleObj +module + +public import Mathlib.CategoryTheory.Preadditive.Basic +public import Mathlib.CategoryTheory.SingleObj /-! # `SingleObj α` is preadditive when `α` is a ring. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Preadditive/Transfer.lean b/Mathlib/CategoryTheory/Preadditive/Transfer.lean index c7e0a581d5dfc4..bc46d472b8fcd8 100644 --- a/Mathlib/CategoryTheory/Preadditive/Transfer.lean +++ b/Mathlib/CategoryTheory/Preadditive/Transfer.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # Pulling back a preadditive structure along a fully faithful functor @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor A preadditive structure on a category `D` transfers to a preadditive structure on `C` for a given fully faithful functor `F : C ⥤ D`. -/ + +@[expose] public section namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean b/Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean index e4a964f234fa69..93a3609a5e4f23 100644 --- a/Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean +++ b/Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Preadditive.Opposite -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.Algebra.Category.Grp.Preadditive -import Mathlib.Algebra.Category.Grp.Yoneda +module + +public import Mathlib.CategoryTheory.Preadditive.Opposite +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.Algebra.Category.Grp.Preadditive +public import Mathlib.Algebra.Category.Grp.Yoneda /-! # The Yoneda embedding for preadditive categories @@ -23,6 +25,8 @@ embedding in the expected way and deduce that the preadditive Yoneda embedding i -/ +@[expose] public section + universe v u u₁ diff --git a/Mathlib/CategoryTheory/Preadditive/Yoneda/Injective.lean b/Mathlib/CategoryTheory/Preadditive/Yoneda/Injective.lean index 810634eb84d79f..ba001452b9617f 100644 --- a/Mathlib/CategoryTheory/Preadditive/Yoneda/Injective.lean +++ b/Mathlib/CategoryTheory/Preadditive/Yoneda/Injective.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -import Mathlib.CategoryTheory.Preadditive.Injective.Basic -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.ModuleCat.EpiMono +module + +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +public import Mathlib.CategoryTheory.Preadditive.Injective.Basic +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.EpiMono /-! An object is injective iff the preadditive yoneda functor on it preserves epimorphisms. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Preadditive/Yoneda/Limits.lean b/Mathlib/CategoryTheory/Preadditive/Yoneda/Limits.lean index be0f842d918af0..108b4b6420661b 100644 --- a/Mathlib/CategoryTheory/Preadditive/Yoneda/Limits.lean +++ b/Mathlib/CategoryTheory/Preadditive/Yoneda/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.CategoryTheory.Limits.Yoneda +module + +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.CategoryTheory.Limits.Yoneda /-! # The Yoneda embedding for preadditive categories preserves limits @@ -19,6 +21,8 @@ This is in a separate file to avoid having to import the development of the abel -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Preadditive/Yoneda/Projective.lean b/Mathlib/CategoryTheory/Preadditive/Yoneda/Projective.lean index b33a3bf51259be..bc2ce22906ba92 100644 --- a/Mathlib/CategoryTheory/Preadditive/Yoneda/Projective.lean +++ b/Mathlib/CategoryTheory/Preadditive/Yoneda/Projective.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.Algebra.Category.Grp.EpiMono -import Mathlib.Algebra.Category.ModuleCat.EpiMono +module + +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.Algebra.Category.Grp.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.EpiMono /-! An object is projective iff the preadditive coyoneda functor on it preserves epimorphisms. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Presentable/Basic.lean b/Mathlib/CategoryTheory/Presentable/Basic.lean index eead4b228e6558..b9595a2e5aba0d 100644 --- a/Mathlib/CategoryTheory/Presentable/Basic.lean +++ b/Mathlib/CategoryTheory/Presentable/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered -import Mathlib.SetTheory.Cardinal.HasCardinalLT +module + +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered +public import Mathlib.SetTheory.Cardinal.HasCardinalLT /-! # Presentable objects @@ -25,6 +27,8 @@ Similar as for accessible functors, we define a type class `IsAccessible`. -/ +@[expose] public section + universe w w' v₁ v₂ v₃ u₁ u₂ u₃ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean b/Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean index 1c5007f138f6ec..2531f15b736487 100644 --- a/Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean +++ b/Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Presentable.Limits -import Mathlib.CategoryTheory.Limits.Presentation +module + +public import Mathlib.CategoryTheory.Presentable.Limits +public import Mathlib.CategoryTheory.Limits.Presentation /-! # Presentable generators @@ -29,6 +31,8 @@ categories in the file `CategoryTheory.Presentable.LocallyPresentable`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Presentable/ColimitPresentation.lean b/Mathlib/CategoryTheory/Presentable/ColimitPresentation.lean index 078c4c992b3b2f..5f8ec0255cb117 100644 --- a/Mathlib/CategoryTheory/Presentable/ColimitPresentation.lean +++ b/Mathlib/CategoryTheory/Presentable/ColimitPresentation.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Presentation -import Mathlib.CategoryTheory.Presentable.Finite +module + +public import Mathlib.CategoryTheory.Limits.Presentation +public import Mathlib.CategoryTheory.Presentable.Finite /-! # Presentation of a colimit of objects equipped with a presentation @@ -15,6 +17,8 @@ import Mathlib.CategoryTheory.Presentable.Finite -/ +@[expose] public section + universe s t w v u namespace CategoryTheory.Limits.ColimitPresentation diff --git a/Mathlib/CategoryTheory/Presentable/Finite.lean b/Mathlib/CategoryTheory/Presentable/Finite.lean index fbe5db49218f86..63ecd91a1f5f79 100644 --- a/Mathlib/CategoryTheory/Presentable/Finite.lean +++ b/Mathlib/CategoryTheory/Presentable/Finite.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Limits.Filtered -import Mathlib.CategoryTheory.Limits.Preserves.Filtered -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.MorphismProperty.Basic -import Mathlib.CategoryTheory.Presentable.Basic +module + +public import Mathlib.CategoryTheory.Limits.Filtered +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.MorphismProperty.Basic +public import Mathlib.CategoryTheory.Presentable.Basic /-! # Finitely Presentable Objects @@ -17,6 +19,8 @@ and link this definition with the preservation of filtered colimits. -/ +@[expose] public section + universe w v' v u' u diff --git a/Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean b/Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean index e0035181a6de23..9da32639206fca 100644 --- a/Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean +++ b/Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers -import Mathlib.CategoryTheory.Comma.CardinalArrow -import Mathlib.SetTheory.Cardinal.Cofinality -import Mathlib.SetTheory.Cardinal.HasCardinalLT -import Mathlib.SetTheory.Cardinal.Arithmetic +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.WideEqualizers +public import Mathlib.CategoryTheory.Comma.CardinalArrow +public import Mathlib.SetTheory.Cardinal.Cofinality +public import Mathlib.SetTheory.Cardinal.HasCardinalLT +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # κ-filtered category @@ -27,6 +29,8 @@ if any subset of `J` of cardinality `< κ` has an upper bound. -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Presentable/Limits.lean b/Mathlib/CategoryTheory/Presentable/Limits.lean index e8e31e89af85a8..0fae62d158fb1d 100644 --- a/Mathlib/CategoryTheory/Presentable/Limits.lean +++ b/Mathlib/CategoryTheory/Presentable/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.Limits.Yoneda -import Mathlib.CategoryTheory.Presentable.Basic +module + +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.Limits.Yoneda +public import Mathlib.CategoryTheory.Presentable.Basic /-! # Colimits of presentable objects @@ -18,6 +20,8 @@ by a category `K` such that `HasCardinalLT (Arrow K) κ`. -/ +@[expose] public section + universe w w' v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean b/Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean index 0af2bca046cdad..eed712a37f7161 100644 --- a/Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean +++ b/Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Presentable.CardinalFilteredPresentation +module + +public import Mathlib.CategoryTheory.Presentable.CardinalFilteredPresentation /-! # Locally presentable and accessible categories @@ -21,6 +23,8 @@ accessible category, any object is presentable. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Products/Associator.lean b/Mathlib/CategoryTheory/Products/Associator.lean index 4c74587aaeb973..2c1a85e5f045ce 100644 --- a/Mathlib/CategoryTheory/Products/Associator.lean +++ b/Mathlib/CategoryTheory/Products/Associator.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison -/ -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.Products.Basic /-! The associator functor `((C × D) × E) ⥤ (C × (D × E))` and its inverse form an equivalence. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Products/Basic.lean b/Mathlib/CategoryTheory/Products/Basic.lean index a1cc0f8f736d7a..02affd9cb7a938 100644 --- a/Mathlib/CategoryTheory/Products/Basic.lean +++ b/Mathlib/CategoryTheory/Products/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison -/ -import Mathlib.CategoryTheory.Functor.Const -import Mathlib.CategoryTheory.Opposites -import Mathlib.Data.Prod.Basic +module + +public import Mathlib.CategoryTheory.Functor.Const +public import Mathlib.CategoryTheory.Opposites +public import Mathlib.Data.Prod.Basic /-! # Cartesian products of categories @@ -24,6 +26,8 @@ We further define `evaluation : C ⥤ (C ⥤ D) ⥤ D` and `evaluationUncurried and products of functors and natural transformations, written `F.prod G` and `α.prod β`. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Products/Bifunctor.lean b/Mathlib/CategoryTheory/Products/Bifunctor.lean index 4dab8f71887ca5..de505c3f17f2f3 100644 --- a/Mathlib/CategoryTheory/Products/Bifunctor.lean +++ b/Mathlib/CategoryTheory/Products/Bifunctor.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison -/ -import Mathlib.CategoryTheory.Products.Basic +module + +public import Mathlib.CategoryTheory.Products.Basic /-! # Lemmas about functors out of product categories. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/CategoryTheory/Products/Unitor.lean b/Mathlib/CategoryTheory/Products/Unitor.lean index cdeddad89863fc..baff723cfa5bf2 100644 --- a/Mathlib/CategoryTheory/Products/Unitor.lean +++ b/Mathlib/CategoryTheory/Products/Unitor.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Shanghe Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shanghe Chen -/ -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.CategoryTheory.Discrete.Basic +module + +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.CategoryTheory.Discrete.Basic /-! # The left/right unitor equivalences `1 × C ≌ C` and `C × 1 ≌ C`. -/ +@[expose] public section + universe w v u open CategoryTheory diff --git a/Mathlib/CategoryTheory/Quotient.lean b/Mathlib/CategoryTheory/Quotient.lean index db486b6a00acf5..e6680489738317 100644 --- a/Mathlib/CategoryTheory/Quotient.lean +++ b/Mathlib/CategoryTheory/Quotient.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.CategoryTheory.NatIso -import Mathlib.CategoryTheory.EqToHom -import Mathlib.CategoryTheory.Groupoid +module + +public import Mathlib.CategoryTheory.NatIso +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.CategoryTheory.Groupoid /-! # Quotient category @@ -18,6 +20,8 @@ than 'the quotient of a group by a normal subgroup'. When taking the quotient by relation, `functor_map_eq_iff` says that no unnecessary identifications have been made. -/ +@[expose] public section + /-- A `HomRel` on `C` consists of a relation on every hom-set. -/ def HomRel (C) [Quiver C] := diff --git a/Mathlib/CategoryTheory/Quotient/Linear.lean b/Mathlib/CategoryTheory/Quotient/Linear.lean index a62eb2040d0724..142293f79d8268 100644 --- a/Mathlib/CategoryTheory/Quotient/Linear.lean +++ b/Mathlib/CategoryTheory/Quotient/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Quotient -import Mathlib.CategoryTheory.Linear.LinearFunctor +module + +public import Mathlib.CategoryTheory.Quotient +public import Mathlib.CategoryTheory.Linear.LinearFunctor /-! # The quotient category is linear @@ -19,6 +21,8 @@ is a `R`-linear functor. -/ +@[expose] public section + namespace CategoryTheory namespace Quotient diff --git a/Mathlib/CategoryTheory/Quotient/Preadditive.lean b/Mathlib/CategoryTheory/Quotient/Preadditive.lean index db607b900b1d4b..438eb3ebfea3e5 100644 --- a/Mathlib/CategoryTheory/Quotient/Preadditive.lean +++ b/Mathlib/CategoryTheory/Quotient/Preadditive.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Quotient -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Quotient +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # The quotient category is preadditive @@ -15,6 +17,8 @@ preadditive. -/ +@[expose] public section + namespace CategoryTheory namespace Quotient diff --git a/Mathlib/CategoryTheory/Retract.lean b/Mathlib/CategoryTheory/Retract.lean index 652e360b09a6f4..2695e434158ece 100644 --- a/Mathlib/CategoryTheory/Retract.lean +++ b/Mathlib/CategoryTheory/Retract.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jack McKoen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jack McKoen -/ -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.EpiMono +module + +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.EpiMono /-! # Retracts @@ -13,6 +15,8 @@ Defines retracts of objects and morphisms. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Shift/Adjunction.lean b/Mathlib/CategoryTheory/Shift/Adjunction.lean index 718615edf69d4a..94e6261e57e8ce 100644 --- a/Mathlib/CategoryTheory/Shift/Adjunction.lean +++ b/Mathlib/CategoryTheory/Shift/Adjunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel, Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Adjunction.Mates +module + +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Adjunction.Mates /-! # Adjoints commute with shifts @@ -43,6 +45,8 @@ statements for the commutation isomorphisms for `G`. -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/Shift/Basic.lean b/Mathlib/CategoryTheory/Shift/Basic.lean index 2c77d0fe9dc920..254b22dd4a6b12 100644 --- a/Mathlib/CategoryTheory/Shift/Basic.lean +++ b/Mathlib/CategoryTheory/Shift/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin, Andrew Yang, Joël Riou -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero -import Mathlib.CategoryTheory.Monoidal.End -import Mathlib.CategoryTheory.Monoidal.Discrete +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero +public import Mathlib.CategoryTheory.Monoidal.End +public import Mathlib.CategoryTheory.Monoidal.Discrete /-! # Shift @@ -36,6 +38,8 @@ which are stated in lemmas like `shiftFunctorAdd'_assoc`, `shiftFunctorAdd'_zero -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Shift/CommShift.lean b/Mathlib/CategoryTheory/Shift/CommShift.lean index d665f0269b291f..cfb31fd4b8b019 100644 --- a/Mathlib/CategoryTheory/Shift/CommShift.lean +++ b/Mathlib/CategoryTheory/Shift/CommShift.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Shift.Basic +public import Mathlib.CategoryTheory.Shift.Basic /-! # Functors which commute with shifts @@ -26,6 +27,8 @@ shift functors.) -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/Shift/Induced.lean b/Mathlib/CategoryTheory/Shift/Induced.lean index 70c4821748447d..bdede741621005 100644 --- a/Mathlib/CategoryTheory/Shift/Induced.lean +++ b/Mathlib/CategoryTheory/Shift/Induced.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift +module + +public import Mathlib.CategoryTheory.Shift.CommShift /-! # Shift induced from a category to another @@ -23,6 +25,8 @@ used for both quotient and localized shifts. -/ +@[expose] public section + namespace CategoryTheory open Functor diff --git a/Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean b/Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean index cf29123b03d5c0..e18cd376b8d590 100644 --- a/Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean +++ b/Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Shift.ShiftSequence +module + +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Shift.ShiftSequence /-! # Induced shift sequences @@ -26,6 +28,8 @@ homotopy category of cochain complexes (TODO), and also on the derived category -/ +@[expose] public section + open CategoryTheory Category Functor namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Shift/Linear.lean b/Mathlib/CategoryTheory/Shift/Linear.lean index 332be978bac2fa..74c95be73cc69a 100644 --- a/Mathlib/CategoryTheory/Shift/Linear.lean +++ b/Mathlib/CategoryTheory/Shift/Linear.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Localization.Linear +module + +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Localization.Linear /-! # Localization of the linearity of the shift functors @@ -16,6 +18,8 @@ then the shift functors on `D` are `R`-linear. -/ +@[expose] public section + namespace CategoryTheory namespace Shift diff --git a/Mathlib/CategoryTheory/Shift/Localization.lean b/Mathlib/CategoryTheory/Shift/Localization.lean index 0cbcc055d2f800..cd0d0e52e6edb6 100644 --- a/Mathlib/CategoryTheory/Shift/Localization.lean +++ b/Mathlib/CategoryTheory/Shift/Localization.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.Induced -import Mathlib.CategoryTheory.Localization.HasLocalization -import Mathlib.CategoryTheory.Localization.LocalizerMorphism +module + +public import Mathlib.CategoryTheory.Shift.Induced +public import Mathlib.CategoryTheory.Localization.HasLocalization +public import Mathlib.CategoryTheory.Localization.LocalizerMorphism /-! # The shift induced on a localized category @@ -18,6 +20,8 @@ a shift by `A`, and the localization functor is compatible with the shift. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Shift/Opposite.lean b/Mathlib/CategoryTheory/Shift/Opposite.lean index 08f7b6242dc60d..a6d6a99b732bc7 100644 --- a/Mathlib/CategoryTheory/Shift/Opposite.lean +++ b/Mathlib/CategoryTheory/Shift/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.Adjunction -import Mathlib.CategoryTheory.Preadditive.Opposite +module + +public import Mathlib.CategoryTheory.Shift.Adjunction +public import Mathlib.CategoryTheory.Preadditive.Opposite /-! # The (naive) shift on the opposite category @@ -46,6 +48,8 @@ We also prove that, if an adjunction `F ⊣ G` is compatible with `CommShift` st -/ +@[expose] public section + namespace CategoryTheory open Limits Category diff --git a/Mathlib/CategoryTheory/Shift/Pullback.lean b/Mathlib/CategoryTheory/Shift/Pullback.lean index 677561904d108a..38bfcc6cfbf4e5 100644 --- a/Mathlib/CategoryTheory/Shift/Pullback.lean +++ b/Mathlib/CategoryTheory/Shift/Pullback.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.Adjunction -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Shift.Adjunction +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! # The pullback of a shift by a monoid morphism @@ -30,6 +32,8 @@ on `F` and `G`, then `PullbackShift.adjunction adj φ` iis also compatible with `CommShift` structures. -/ +@[expose] public section + namespace CategoryTheory open Limits Category diff --git a/Mathlib/CategoryTheory/Shift/Quotient.lean b/Mathlib/CategoryTheory/Shift/Quotient.lean index 9b1b81e8133894..5aa9a31f4e4fd2 100644 --- a/Mathlib/CategoryTheory/Shift/Quotient.lean +++ b/Mathlib/CategoryTheory/Shift/Quotient.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Shift.Induced -import Mathlib.CategoryTheory.Quotient +module + +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Shift.Induced +public import Mathlib.CategoryTheory.Quotient /-! # The shift on a quotient category @@ -21,6 +23,8 @@ the shift can be automatically inferred on the quotient category. -/ +@[expose] public section + universe v v' u u' w open CategoryTheory Category diff --git a/Mathlib/CategoryTheory/Shift/ShiftSequence.lean b/Mathlib/CategoryTheory/Shift/ShiftSequence.lean index a66f6f7674f49f..760bc2df704477 100644 --- a/Mathlib/CategoryTheory/Shift/ShiftSequence.lean +++ b/Mathlib/CategoryTheory/Shift/ShiftSequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.Basic -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Shift.Basic +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! Sequences of functors from a category equipped with a shift @@ -25,6 +27,8 @@ in degree `n`. -/ +@[expose] public section + open CategoryTheory Category ZeroObject Limits variable {C A : Type*} [Category C] [Category A] (F : C ⥤ A) diff --git a/Mathlib/CategoryTheory/Shift/ShiftedHom.lean b/Mathlib/CategoryTheory/Shift/ShiftedHom.lean index 17c2b1dde0a38a..6884c1a6e09211 100644 --- a/Mathlib/CategoryTheory/Shift/ShiftedHom.lean +++ b/Mathlib/CategoryTheory/Shift/ShiftedHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +module + +public import Mathlib.CategoryTheory.Shift.CommShift +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor /-! Shifted morphisms @@ -20,6 +22,8 @@ shifted hom. -/ +@[expose] public section + namespace CategoryTheory open Category diff --git a/Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean b/Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean index 23e2054b9f7b6b..3b103ff4af1389 100644 --- a/Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean +++ b/Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Triangulated.Opposite.Basic -import Mathlib.CategoryTheory.Shift.ShiftedHom +public import Mathlib.CategoryTheory.Triangulated.Opposite.Basic +public import Mathlib.CategoryTheory.Shift.ShiftedHom /-! Shifted morphisms in the opposite category @@ -20,6 +21,8 @@ in a pretriangulated category `C`. -/ +@[expose] public section + namespace CategoryTheory open Category Pretriangulated.Opposite Pretriangulated diff --git a/Mathlib/CategoryTheory/Shift/SingleFunctors.lean b/Mathlib/CategoryTheory/Shift/SingleFunctors.lean index 662c600c0da8ee..7b457b637bbe9c 100644 --- a/Mathlib/CategoryTheory/Shift/SingleFunctors.lean +++ b/Mathlib/CategoryTheory/Shift/SingleFunctors.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Shift.CommShift +module + +public import Mathlib.CategoryTheory.Shift.CommShift /-! # Functors from a category to a category with a shift @@ -25,6 +27,8 @@ which sends an object `X : C` to a complex where `X` sits in a single degree. -/ +@[expose] public section + open CategoryTheory Category ZeroObject Limits Functor variable (C D E E' : Type*) [Category C] [Category D] [Category E] [Category E'] diff --git a/Mathlib/CategoryTheory/Sigma/Basic.lean b/Mathlib/CategoryTheory/Sigma/Basic.lean index c816f6f1265a13..fb43d27f103eb9 100644 --- a/Mathlib/CategoryTheory/Sigma/Basic.lean +++ b/Mathlib/CategoryTheory/Sigma/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Whiskering -import Mathlib.CategoryTheory.Functor.FullyFaithful -import Mathlib.CategoryTheory.NatIso +module + +public import Mathlib.CategoryTheory.Whiskering +public import Mathlib.CategoryTheory.Functor.FullyFaithful +public import Mathlib.CategoryTheory.NatIso /-! # Disjoint union of categories @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.NatIso We define the category structure on a sigma-type (disjoint union) of categories. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Simple.lean b/Mathlib/CategoryTheory/Simple.lean index 97cce7648ca759..f5d5a61543dab2 100644 --- a/Mathlib/CategoryTheory/Simple.lean +++ b/Mathlib/CategoryTheory/Simple.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms -import Mathlib.CategoryTheory.Limits.Shapes.Kernels -import Mathlib.CategoryTheory.Abelian.Basic -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.Order.Atoms +module + +public import Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms +public import Mathlib.CategoryTheory.Limits.Shapes.Kernels +public import Mathlib.CategoryTheory.Abelian.Basic +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.Order.Atoms /-! # Simple objects @@ -31,6 +33,8 @@ and any nonzero morphism into a simple object has trivial cokernel. We show that any simple object is indecomposable. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/SingleObj.lean b/Mathlib/CategoryTheory/SingleObj.lean index 47ffafb8beb33f..99203f8d286b28 100644 --- a/Mathlib/CategoryTheory/SingleObj.lean +++ b/Mathlib/CategoryTheory/SingleObj.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.Algebra.Category.MonCat.Basic -import Mathlib.Combinatorics.Quiver.SingleObj -import Mathlib.Algebra.Group.Units.Equiv +module + +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.Algebra.Category.MonCat.Basic +public import Mathlib.Combinatorics.Quiver.SingleObj +public import Mathlib.Algebra.Group.Units.Equiv /-! # Single-object category @@ -37,6 +39,8 @@ An element `x : M` can be reinterpreted as an element of `End (SingleObj.star M) `CategoryTheory.SingleObj`, so we give all names explicitly. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u v w diff --git a/Mathlib/CategoryTheory/Sites/Abelian.lean b/Mathlib/CategoryTheory/Sites/Abelian.lean index 5f9997debde44d..edfc6a7effd26f 100644 --- a/Mathlib/CategoryTheory/Sites/Abelian.lean +++ b/Mathlib/CategoryTheory/Sites/Abelian.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Jujian Zhang -/ -import Mathlib.CategoryTheory.Abelian.FunctorCategory -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Abelian.Transfer -import Mathlib.CategoryTheory.Sites.Limits +module + +public import Mathlib.CategoryTheory.Abelian.FunctorCategory +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Abelian.Transfer +public import Mathlib.CategoryTheory.Sites.Limits /-! # Category of sheaves is abelian @@ -17,6 +19,8 @@ Hence, `presheafToSheaf` is an additive functor (`presheafToSheaf_additive`). -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Sites/Adjunction.lean b/Mathlib/CategoryTheory/Sites/Adjunction.lean index 678c85c3a700d4..8a6d27fecdf6f8 100644 --- a/Mathlib/CategoryTheory/Sites/Adjunction.lean +++ b/Mathlib/CategoryTheory/Sites/Adjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Restrict -import Mathlib.CategoryTheory.Adjunction.Whiskering -import Mathlib.CategoryTheory.Sites.PreservesSheafification +module + +public import Mathlib.CategoryTheory.Adjunction.Restrict +public import Mathlib.CategoryTheory.Adjunction.Whiskering +public import Mathlib.CategoryTheory.Sites.PreservesSheafification /-! @@ -14,6 +16,8 @@ categories of sheaves. We also show that `G` preserves sheafification. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Canonical.lean b/Mathlib/CategoryTheory/Sites/Canonical.lean index c48d982896c053..11678c3f34a2f8 100644 --- a/Mathlib/CategoryTheory/Sites/Canonical.lean +++ b/Mathlib/CategoryTheory/Sites/Canonical.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.Sheaf +module + +public import Mathlib.CategoryTheory.Sites.Sheaf /-! # The canonical topology on a category @@ -31,6 +33,8 @@ equivalently it is subcanonical iff every representable presheaf is a sheaf. * https://math.stackexchange.com/a/358709/ -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Sites/CartesianClosed.lean b/Mathlib/CategoryTheory/Sites/CartesianClosed.lean index 1a5d6d9f2c4f97..60d109808dd726 100644 --- a/Mathlib/CategoryTheory/Sites/CartesianClosed.lean +++ b/Mathlib/CategoryTheory/Sites/CartesianClosed.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Closed.Ideal -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory -import Mathlib.CategoryTheory.Sites.CartesianMonoidal -import Mathlib.CategoryTheory.Sites.Sheafification +module + +public import Mathlib.CategoryTheory.Closed.Ideal +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +public import Mathlib.CategoryTheory.Sites.CartesianMonoidal +public import Mathlib.CategoryTheory.Sites.Sheafification /-! # Sheaf categories are Cartesian closed @@ -15,6 +17,8 @@ import Mathlib.CategoryTheory.Sites.Sheafification (chosen) finite products, and there exists a sheafification functor. -/ +@[expose] public section + noncomputable section open CategoryTheory Presheaf diff --git a/Mathlib/CategoryTheory/Sites/CartesianMonoidal.lean b/Mathlib/CategoryTheory/Sites/CartesianMonoidal.lean index 3d9f4b0e28dfd7..53caa80f131f47 100644 --- a/Mathlib/CategoryTheory/Sites/CartesianMonoidal.lean +++ b/Mathlib/CategoryTheory/Sites/CartesianMonoidal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory -import Mathlib.CategoryTheory.Sites.Limits +module + +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +public import Mathlib.CategoryTheory.Sites.Limits /-! # Chosen finite products on sheaves @@ -13,6 +15,8 @@ In this file, we put a `CartesianMonoidalCategory` instance on `A`-valued sheave `GrothendieckTopology` whenever `A` has a `CartesianMonoidalCategory` instance. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/ChosenFiniteProducts.lean b/Mathlib/CategoryTheory/Sites/ChosenFiniteProducts.lean index 07f5c67f0283a7..d4c28c145abaf9 100644 --- a/Mathlib/CategoryTheory/Sites/ChosenFiniteProducts.lean +++ b/Mathlib/CategoryTheory/Sites/ChosenFiniteProducts.lean @@ -1,4 +1,6 @@ -import Mathlib.CategoryTheory.Sites.Limits -import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory +module + +public import Mathlib.CategoryTheory.Sites.Limits +public import Mathlib.CategoryTheory.Monoidal.Cartesian.FunctorCategory deprecated_module (since := "2025-05-11") diff --git a/Mathlib/CategoryTheory/Sites/Closed.lean b/Mathlib/CategoryTheory/Sites/Closed.lean index 3a89591fb3042e..727cb57551beef 100644 --- a/Mathlib/CategoryTheory/Sites/Closed.lean +++ b/Mathlib/CategoryTheory/Sites/Closed.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.SheafOfTypes -import Mathlib.Order.Closure +module + +public import Mathlib.CategoryTheory.Sites.SheafOfTypes +public import Mathlib.Order.Closure /-! # Closed sieves @@ -44,6 +46,8 @@ closed sieve, closure, Grothendieck topology * [S. MacLane, I. Moerdijk, *Sheaves in Geometry and Logic*][MM92] -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Sites/Coherent/Basic.lean b/Mathlib/CategoryTheory/Sites/Coherent/Basic.lean index d19f53305f9b27..a32d13ed2775cd 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/Basic.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.CategoryTheory.Extensive -import Mathlib.CategoryTheory.Sites.Coverage -import Mathlib.CategoryTheory.EffectiveEpi.Basic +module + +public import Mathlib.CategoryTheory.Extensive +public import Mathlib.CategoryTheory.Sites.Coverage +public import Mathlib.CategoryTheory.EffectiveEpi.Basic /-! # The Coherent, Regular and Extensive Grothendieck Topologies @@ -39,6 +41,8 @@ from the coproduct to the target. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean b/Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean index 3ebbc093655965..7cf343362d4487 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Canonical -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic +module + +public import Mathlib.CategoryTheory.Sites.Canonical +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic /-! # Sheaves for the coherent topology @@ -19,6 +21,8 @@ This file characterises sheaves for the coherent topology effective epimorphic family. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] [Precoherent C] diff --git a/Mathlib/CategoryTheory/Sites/Coherent/CoherentTopology.lean b/Mathlib/CategoryTheory/Sites/Coherent/CoherentTopology.lean index 58b3cf6c0432ae..8d456061763d4f 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/CoherentTopology.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/CoherentTopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Nikolas Kuhn -/ -import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves -import Mathlib.Data.Finite.Sigma +module + +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves +public import Mathlib.Data.Finite.Sigma /-! # Description of the covering sieves of the coherent topology @@ -18,6 +20,8 @@ This file characterises the covering sieves of the coherent topology. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] [Precoherent C] {X : C} diff --git a/Mathlib/CategoryTheory/Sites/Coherent/Comparison.lean b/Mathlib/CategoryTheory/Sites/Coherent/Comparison.lean index 36cd316574b556..d91192c0315eda 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/Comparison.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/Comparison.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.CategoryTheory.EffectiveEpi.Comp -import Mathlib.CategoryTheory.EffectiveEpi.Extensive +module + +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.CategoryTheory.EffectiveEpi.Comp +public import Mathlib.CategoryTheory.EffectiveEpi.Extensive /-! # Connections between the regular, extensive and coherent topologies @@ -20,6 +22,8 @@ This file compares the regular, extensive and coherent topologies. generates the coherent topology on `C` if `C` is precoherent, preextensive and preregular. -/ +@[expose] public section + namespace CategoryTheory open Limits GrothendieckTopology Sieve diff --git a/Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean b/Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean index b8cb9cbef069e1..d9e5fb67e2522d 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/Equivalence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison -import Mathlib.CategoryTheory.Sites.Equivalence +module + +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +public import Mathlib.CategoryTheory.Sites.Equivalence /-! # Coherence and equivalence of categories @@ -13,6 +15,8 @@ This file proves that the coherent and regular topologies transfer nicely along categories. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] diff --git a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveColimits.lean b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveColimits.lean index 6461e1b24938c5..035e50b2923309 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveColimits.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveColimits.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Preadditive.Biproducts -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves -import Mathlib.CategoryTheory.Sites.Limits +module + +public import Mathlib.CategoryTheory.Preadditive.Biproducts +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves +public import Mathlib.CategoryTheory.Sites.Limits /-! # Colimits in categories of extensive sheaves @@ -19,6 +21,8 @@ This can also easily be applied to filtered `J` in the case when `A` is a catego eventually to sifted `J` once that API is developed. -/ +@[expose] public section + namespace CategoryTheory open Limits Sheaf GrothendieckTopology Opposite diff --git a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveSheaves.lean b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveSheaves.lean index d73b2562568c57..5194380708713f 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveSheaves.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveSheaves.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Sites.Canonical -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.CategoryTheory.Sites.Preserves +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Sites.Canonical +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.CategoryTheory.Sites.Preserves /-! # Sheaves for the extensive topology @@ -19,6 +21,8 @@ This file characterises sheaves for the extensive topology. extensive topology are precisely those preserving finite products. -/ +@[expose] public section + universe w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveTopology.lean b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveTopology.lean index 129318abaa8713..c59574a962f595 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveTopology.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/ExtensiveTopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.Data.Finite.Sigma +module + +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.Data.Finite.Sigma /-! # Description of the covering sieves of the extensive topology @@ -18,6 +20,8 @@ This file characterises the covering sieves of the extensive topology. exhibiting the target as a coproduct of the sources. -/ +@[expose] public section + open CategoryTheory Limits variable {C : Type*} [Category C] [FinitaryPreExtensive C] diff --git a/Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean b/Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean index bd8fd66d94ac3a..543576ea843b5e 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveTopology -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveTopology +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! # Locally surjective morphisms of coherent sheaves @@ -27,6 +29,8 @@ and extensive topologies. finitary extensive category is locally surjective iff it is objectwise surjective. -/ +@[expose] public section + universe w open CategoryTheory Sheaf Limits Opposite diff --git a/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPrecoherent.lean b/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPrecoherent.lean index 54bc130f05abbb..83dfd3fdb01e17 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPrecoherent.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPrecoherent.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Enough -import Mathlib.CategoryTheory.EffectiveEpi.Preserves -import Mathlib.CategoryTheory.Sites.Coherent.CoherentTopology +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Enough +public import Mathlib.CategoryTheory.EffectiveEpi.Preserves +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentTopology /-! # Reflecting the property of being precoherent @@ -15,6 +17,8 @@ effective epimorphic families, such that for every object `X` of `D` there exist `C` with an effective epi `π : F.obj W ⟶ X`, the category `C` is `Precoherent` whenever `D` is. -/ +@[expose] public section + namespace CategoryTheory variable {C D : Type*} [Category C] [Category D] (F : C ⥤ D) diff --git a/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPreregular.lean b/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPreregular.lean index 58eef6dd8e4c38..34aa2387be44f6 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPreregular.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/ReflectsPreregular.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.Enough -import Mathlib.CategoryTheory.EffectiveEpi.Preserves -import Mathlib.CategoryTheory.Sites.Coherent.RegularTopology +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Enough +public import Mathlib.CategoryTheory.EffectiveEpi.Preserves +public import Mathlib.CategoryTheory.Sites.Coherent.RegularTopology /-! # Reflecting the property of being preregular @@ -15,6 +17,8 @@ object `X` of `D` there exists an object `W` of `C` with an effective epi `π : category `C` is `Preregular`. -/ +@[expose] public section + namespace CategoryTheory variable {C D : Type*} [Category C] [Category D] (F : C ⥤ D) diff --git a/Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean b/Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean index 3e1cc2354100ac..aa6facac0cd70e 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.CategoryTheory.EffectiveEpi.Preserves -import Mathlib.CategoryTheory.Limits.Final.ParallelPair -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.CategoryTheory.Sites.Canonical -import Mathlib.CategoryTheory.Sites.Coherent.Basic -import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic +module + +public import Mathlib.CategoryTheory.EffectiveEpi.Preserves +public import Mathlib.CategoryTheory.Limits.Final.ParallelPair +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.CategoryTheory.Sites.Canonical +public import Mathlib.CategoryTheory.Sites.Coherent.Basic +public import Mathlib.CategoryTheory.Sites.EffectiveEpimorphic /-! # Sheaves for the regular topology @@ -25,6 +27,8 @@ This file characterises sheaves for the regular topology. presheaf is a sheaf for the regular topology. -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Sites/Coherent/RegularTopology.lean b/Mathlib/CategoryTheory/Sites/Coherent/RegularTopology.lean index 0aaecb81cc3084..252fb6a59122f4 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/RegularTopology.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/RegularTopology.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves +module + +public import Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves /-! # Description of the covering sieves of the regular topology @@ -16,6 +18,8 @@ This file characterises the covering sieves of the regular topology. regular topology if and only if it contains an effective epi. -/ +@[expose] public section + namespace CategoryTheory.regularTopology open Limits diff --git a/Mathlib/CategoryTheory/Sites/Coherent/SequentialLimit.lean b/Mathlib/CategoryTheory/Sites/Coherent/SequentialLimit.lean index 029ffebbcbd38f..b6c0b24b2faea4 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/SequentialLimit.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/SequentialLimit.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Functor.OfSequence -import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective -import Mathlib.CategoryTheory.Sites.EpiMono -import Mathlib.CategoryTheory.Sites.Subcanonical +module + +public import Mathlib.CategoryTheory.Functor.OfSequence +public import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective +public import Mathlib.CategoryTheory.Sites.EpiMono +public import Mathlib.CategoryTheory.Sites.Subcanonical /-! # Limits of epimorphisms in coherent topoi @@ -25,6 +27,8 @@ This is deduced from the corresponding statement about locally surjective morphi (see `coherentTopology.isLocallySurjective_π_app_zero_of_isLocallySurjective_map`). -/ +@[expose] public section + universe w v u open CategoryTheory Limits Opposite diff --git a/Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean b/Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean index 7b0f66b36d43ed..d7810f8ae20339 100644 --- a/Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean +++ b/Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.Comparison -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPrecoherent -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular -import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology -import Mathlib.CategoryTheory.Sites.Whiskering +module + +public import Mathlib.CategoryTheory.Sites.Coherent.Comparison +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveSheaves +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPrecoherent +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular +public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # Categories of coherent sheaves @@ -26,6 +28,8 @@ We give the corresponding result for the regular topology as well (see `CategoryTheory.regularTopology.equivalence`). -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ diff --git a/Mathlib/CategoryTheory/Sites/CompatiblePlus.lean b/Mathlib/CategoryTheory/Sites/CompatiblePlus.lean index a28f8dd41d62d9..b282b337680ac5 100644 --- a/Mathlib/CategoryTheory/Sites/CompatiblePlus.lean +++ b/Mathlib/CategoryTheory/Sites/CompatiblePlus.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Whiskering -import Mathlib.CategoryTheory.Sites.Plus +module + +public import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.CategoryTheory.Sites.Plus /-! @@ -16,6 +18,8 @@ of sheafification, which follows easily from the content in this file. -/ +@[expose] public section + noncomputable section namespace CategoryTheory.GrothendieckTopology diff --git a/Mathlib/CategoryTheory/Sites/CompatibleSheafification.lean b/Mathlib/CategoryTheory/Sites/CompatibleSheafification.lean index 6bb0017512fda6..a68684a7291c25 100644 --- a/Mathlib/CategoryTheory/Sites/CompatibleSheafification.lean +++ b/Mathlib/CategoryTheory/Sites/CompatibleSheafification.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.CompatiblePlus -import Mathlib.CategoryTheory.Sites.ConcreteSheafification +module + +public import Mathlib.CategoryTheory.Sites.CompatiblePlus +public import Mathlib.CategoryTheory.Sites.ConcreteSheafification /-! @@ -13,6 +15,8 @@ preserve the correct limits and colimits. -/ +@[expose] public section + namespace CategoryTheory.GrothendieckTopology diff --git a/Mathlib/CategoryTheory/Sites/ConcreteSheafification.lean b/Mathlib/CategoryTheory/Sites/ConcreteSheafification.lean index 2d605ecb4e35fb..63a82682aa8f2b 100644 --- a/Mathlib/CategoryTheory/Sites/ConcreteSheafification.lean +++ b/Mathlib/CategoryTheory/Sites/ConcreteSheafification.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Plus -import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory +module + +public import Mathlib.CategoryTheory.Sites.Plus +public import Mathlib.CategoryTheory.Limits.Shapes.ConcreteCategory /-! @@ -18,6 +20,8 @@ We generally follow the approach of https://stacks.math.columbia.edu/tag/00W1 -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/ConstantSheaf.lean b/Mathlib/CategoryTheory/Sites/ConstantSheaf.lean index 18c84612a007b7..63d589647a9de1 100644 --- a/Mathlib/CategoryTheory/Sites/ConstantSheaf.lean +++ b/Mathlib/CategoryTheory/Sites/ConstantSheaf.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Sheafification -import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv +module + +public import Mathlib.CategoryTheory.Sites.Sheafification +public import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv /-! # The constant sheaf @@ -29,6 +31,8 @@ essential image of the constant sheaf functor. constant if and only if the sheaf given by postcomposition with `U` is constant. -/ +@[expose] public section + namespace CategoryTheory open Limits Opposite Category Functor Sheaf Adjunction diff --git a/Mathlib/CategoryTheory/Sites/Continuous.lean b/Mathlib/CategoryTheory/Sites/Continuous.lean index 64d79feaad9088..c96be6b425e668 100644 --- a/Mathlib/CategoryTheory/Sites/Continuous.lean +++ b/Mathlib/CategoryTheory/Sites/Continuous.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Andrew Yang -/ -import Mathlib.CategoryTheory.Sites.Hypercover.IsSheaf +module + +public import Mathlib.CategoryTheory.Sites.Hypercover.IsSheaf /-! # Continuous functors between sites. @@ -38,6 +40,8 @@ category). -/ +@[expose] public section + universe w t v₁ v₂ v₃ u₁ u₂ u₃ u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/CoverLifting.lean b/Mathlib/CategoryTheory/Sites/CoverLifting.lean index 3e762c4999521f..2f81588f56b61b 100644 --- a/Mathlib/CategoryTheory/Sites/CoverLifting.lean +++ b/Mathlib/CategoryTheory/Sites/CoverLifting.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.Adjunction.Restrict -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.CategoryTheory.Sites.Continuous -import Mathlib.CategoryTheory.Sites.Sheafification +module + +public import Mathlib.CategoryTheory.Adjunction.Restrict +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.CategoryTheory.Sites.Continuous +public import Mathlib.CategoryTheory.Sites.Sheafification /-! # Cocontinuous functors between sites. @@ -40,6 +42,8 @@ small colimits. -/ +@[expose] public section + universe w' w v v₁ v₂ v₃ u u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sites/CoverPreserving.lean b/Mathlib/CategoryTheory/Sites/CoverPreserving.lean index c0d478a4e4b88d..619fbc53b9928b 100644 --- a/Mathlib/CategoryTheory/Sites/CoverPreserving.lean +++ b/Mathlib/CategoryTheory/Sites/CoverPreserving.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Functor.Flat -import Mathlib.CategoryTheory.Sites.Continuous -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.CategoryTheory.Functor.Flat +public import Mathlib.CategoryTheory.Sites.Continuous +public import Mathlib.Tactic.ApplyFun /-! # Cover-preserving functors between sites. @@ -33,6 +35,8 @@ i.e. `G.op ⋙ -` as a functor `(Dᵒᵖ ⥤ A) ⥤ (Cᵒᵖ ⥤ A)` of presheav -/ +@[expose] public section + universe w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sites/Coverage.lean b/Mathlib/CategoryTheory/Sites/Coverage.lean index ecdfa432503ed6..9fe180643df2dd 100644 --- a/Mathlib/CategoryTheory/Sites/Coverage.lean +++ b/Mathlib/CategoryTheory/Sites/Coverage.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Precoverage -import Mathlib.CategoryTheory.Sites.Sheaf +module + +public import Mathlib.CategoryTheory.Sites.Precoverage +public import Mathlib.CategoryTheory.Sites.Sheaf /-! @@ -46,6 +48,8 @@ the following sources: - [nLab, *Coverage*](https://ncatlab.org/nlab/show/coverage) -/ +@[expose] public section + namespace CategoryTheory universe w w' diff --git a/Mathlib/CategoryTheory/Sites/CoversTop.lean b/Mathlib/CategoryTheory/Sites/CoversTop.lean index facff40d2ef86e..0851369e91c959 100644 --- a/Mathlib/CategoryTheory/Sites/CoversTop.lean +++ b/Mathlib/CategoryTheory/Sites/CoversTop.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.Sheaf +module + +public import Mathlib.CategoryTheory.Sites.Sheaf /-! Objects which cover the terminal object @@ -21,6 +23,8 @@ a section of this presheaf. -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean b/Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean index c24b046c0c96de..88293becc84059 100644 --- a/Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean +++ b/Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.CategoryTheory.Sites.CoverLifting -import Mathlib.CategoryTheory.Sites.CoverPreserving -import Mathlib.CategoryTheory.Adjunction.FullyFaithful -import Mathlib.CategoryTheory.Sites.LocallyFullyFaithful +module + +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.CategoryTheory.Sites.CoverLifting +public import Mathlib.CategoryTheory.Sites.CoverPreserving +public import Mathlib.CategoryTheory.Adjunction.FullyFaithful +public import Mathlib.CategoryTheory.Sites.LocallyFullyFaithful /-! # Dense subsites @@ -38,6 +40,8 @@ that factors through images of the functor for each object in `D`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/DenseSubsite/InducedTopology.lean b/Mathlib/CategoryTheory/Sites/DenseSubsite/InducedTopology.lean index f394e90f15e28b..b7fd89a08d1bd0 100644 --- a/Mathlib/CategoryTheory/Sites/DenseSubsite/InducedTopology.lean +++ b/Mathlib/CategoryTheory/Sites/DenseSubsite/InducedTopology.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv +module + +public import Mathlib.CategoryTheory.Sites.DenseSubsite.SheafEquiv /-! # Induced Topology @@ -29,6 +31,8 @@ Given a fully faithful cover-dense functor `G : C ⥤ (D, K)` between small site -/ +@[expose] public section + namespace CategoryTheory universe v u diff --git a/Mathlib/CategoryTheory/Sites/DenseSubsite/SheafEquiv.lean b/Mathlib/CategoryTheory/Sites/DenseSubsite/SheafEquiv.lean index 4c4b3e30736e3c..81806abb0912bc 100644 --- a/Mathlib/CategoryTheory/Sites/DenseSubsite/SheafEquiv.lean +++ b/Mathlib/CategoryTheory/Sites/DenseSubsite/SheafEquiv.lean @@ -3,8 +3,9 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ +module -import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic +public import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic /-! # The equivalence of categories of sheaves of a dense subsite @@ -21,6 +22,8 @@ import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic -/ +@[expose] public section + universe w v u w' namespace CategoryTheory.Functor.IsDenseSubsite diff --git a/Mathlib/CategoryTheory/Sites/EffectiveEpimorphic.lean b/Mathlib/CategoryTheory/Sites/EffectiveEpimorphic.lean index 3167d314393ef8..e90b4ad9ac7428 100644 --- a/Mathlib/CategoryTheory/Sites/EffectiveEpimorphic.lean +++ b/Mathlib/CategoryTheory/Sites/EffectiveEpimorphic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Sieves -import Mathlib.CategoryTheory.EffectiveEpi.Basic +module + +public import Mathlib.CategoryTheory.Sites.Sieves +public import Mathlib.CategoryTheory.EffectiveEpi.Basic /-! # Effective epimorphic sieves @@ -19,6 +21,8 @@ The analogous statement for a family of morphisms is in the theorem -/ +@[expose] public section + namespace CategoryTheory open Limits diff --git a/Mathlib/CategoryTheory/Sites/EpiMono.lean b/Mathlib/CategoryTheory/Sites/EpiMono.lean index 02a91121121a14..9336dc10049ff1 100644 --- a/Mathlib/CategoryTheory/Sites/EpiMono.lean +++ b/Mathlib/CategoryTheory/Sites/EpiMono.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.MorphismProperty.Concrete -import Mathlib.CategoryTheory.Sites.LocallyBijective +module + +public import Mathlib.CategoryTheory.MorphismProperty.Concrete +public import Mathlib.CategoryTheory.Sites.LocallyBijective /-! # Morphisms of sheaves factor as a locally surjective followed by a locally injective morphism @@ -19,6 +21,8 @@ Moreover, if we assume that the category of sheaves `Sheaf J A` is balanced -/ +@[expose] public section + universe w v' u' v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean b/Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean index 5a95aff9eb5a19..8096c73787b2f7 100644 --- a/Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean +++ b/Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.IsSheafFor -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.CategoryTheory.Sites.IsSheafFor +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.Tactic.ApplyFun /-! # The equalizer diagram sheaf condition for a presieve @@ -29,6 +31,8 @@ equalizer diagrams. -/ +@[expose] public section + universe t w v u diff --git a/Mathlib/CategoryTheory/Sites/Equivalence.lean b/Mathlib/CategoryTheory/Sites/Equivalence.lean index 5ff4854bb968de..fc3d3bb4050952 100644 --- a/Mathlib/CategoryTheory/Sites/Equivalence.lean +++ b/Mathlib/CategoryTheory/Sites/Equivalence.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology -import Mathlib.CategoryTheory.Sites.LocallyBijective -import Mathlib.CategoryTheory.Sites.PreservesLocallyBijective -import Mathlib.CategoryTheory.Sites.Whiskering +module + +public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology +public import Mathlib.CategoryTheory.Sites.LocallyBijective +public import Mathlib.CategoryTheory.Sites.PreservesLocallyBijective +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # Equivalences of sheaf categories @@ -36,6 +38,8 @@ sufficiently small limits in the sheaf category on the essentially small site. -/ +@[expose] public section + universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄ w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Finite.lean b/Mathlib/CategoryTheory/Sites/Finite.lean index 500847796be102..e6a46cf3c6821c 100644 --- a/Mathlib/CategoryTheory/Sites/Finite.lean +++ b/Mathlib/CategoryTheory/Sites/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.CategoryTheory.Sites.Pretopology -import Mathlib.Data.Set.Finite.Lattice +module + +public import Mathlib.CategoryTheory.Sites.Pretopology +public import Mathlib.Data.Set.Finite.Lattice /-! # The Finite Pretopology @@ -17,6 +19,8 @@ contain only finitely many arrows. - `CategoryTheory.Pretopology.finite`: The finite pretopology on a category. -/ +@[expose] public section + universe v v₁ u u₁ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/GlobalSections.lean b/Mathlib/CategoryTheory/Sites/GlobalSections.lean index 9fb30c38b48386..5cf132535223f4 100644 --- a/Mathlib/CategoryTheory/Sites/GlobalSections.lean +++ b/Mathlib/CategoryTheory/Sites/GlobalSections.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Ben Eltschig. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ben Eltschig -/ -import Mathlib.CategoryTheory.Sites.ConstantSheaf +module + +public import Mathlib.CategoryTheory.Sites.ConstantSheaf /-! # Global sections of sheaves @@ -42,6 +44,8 @@ on a terminal object and `Functor.sectionsFunctor`. -/ +@[expose] public section + universe u v w u₂ v₂ open CategoryTheory Limits Sheaf Opposite GrothendieckTopology diff --git a/Mathlib/CategoryTheory/Sites/Grothendieck.lean b/Mathlib/CategoryTheory/Sites/Grothendieck.lean index 5fdbc7aff8a8f2..64e1af1ff4dce6 100644 --- a/Mathlib/CategoryTheory/Sites/Grothendieck.lean +++ b/Mathlib/CategoryTheory/Sites/Grothendieck.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Bhavik Mehta, Edward Ayers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Edward Ayers -/ -import Mathlib.CategoryTheory.Sites.Sieves -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.Order.Copy -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.CategoryTheory.Sites.Sieves +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.Order.Copy +public import Mathlib.Data.Set.Subsingleton /-! # Grothendieck topologies @@ -49,6 +51,8 @@ small category and Lawvere-Tierney topologies on its presheaf topos, as well as between Grothendieck topoi and left exact reflective subcategories of presheaf toposes. -/ +@[expose] public section + universe v₁ u₁ v u diff --git a/Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean b/Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean index 639780fa1be1f9..a4701b0388e4ff 100644 --- a/Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean +++ b/Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Quotient -import Mathlib.CategoryTheory.Sites.Hypercover.One -import Mathlib.CategoryTheory.Filtered.Basic +module + +public import Mathlib.CategoryTheory.Quotient +public import Mathlib.CategoryTheory.Sites.Hypercover.One +public import Mathlib.CategoryTheory.Filtered.Basic /-! # The category of `1`-hypercovers up to homotopy @@ -26,6 +28,8 @@ In this file we define the category of `1`-hypercovers up to homotopy. This is t category of `1`-hypercovers up to homotopy is cofiltered if `C` has pullbacks. -/ +@[expose] public section + universe w'' w' w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Hypercover/IsSheaf.lean b/Mathlib/CategoryTheory/Sites/Hypercover/IsSheaf.lean index 147b0a11333758..f4ab21681399bd 100644 --- a/Mathlib/CategoryTheory/Sites/Hypercover/IsSheaf.lean +++ b/Mathlib/CategoryTheory/Sites/Hypercover/IsSheaf.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.Hypercover.One +module + +public import Mathlib.CategoryTheory.Sites.Hypercover.One /-! # Characterization of sheaves using 1-hypercovers @@ -32,6 +34,8 @@ that if `C : Type u` and `Category.{v} C`, then -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Hypercover/One.lean b/Mathlib/CategoryTheory/Sites/Hypercover/One.lean index eb26ba44ad4fd6..97c098eb8a426e 100644 --- a/Mathlib/CategoryTheory/Sites/Hypercover/One.lean +++ b/Mathlib/CategoryTheory/Sites/Hypercover/One.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.Coverage -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.CategoryTheory.Sites.Hypercover.Zero +module + +public import Mathlib.CategoryTheory.Sites.Coverage +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.CategoryTheory.Sites.Hypercover.Zero /-! # 1-hypercovers @@ -24,6 +26,8 @@ identifies to the multiequalizer of suitable maps -/ +@[expose] public section + universe w'' w' w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean b/Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean index fae7e1d1b1ab29..69e496531eadf4 100644 --- a/Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean +++ b/Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Sites.Precoverage +module + +public import Mathlib.CategoryTheory.Sites.Precoverage /-! # 0-hypercovers @@ -16,6 +18,8 @@ We define this with respect to a coverage and not to a Grothendieck topology, be yields more control over the components of the cover. -/ +@[expose] public section + universe w'' w' w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/IsSheafFor.lean b/Mathlib/CategoryTheory/Sites/IsSheafFor.lean index 0dcdb333e2b9ef..efd906d28509c4 100644 --- a/Mathlib/CategoryTheory/Sites/IsSheafFor.lean +++ b/Mathlib/CategoryTheory/Sites/IsSheafFor.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.Sieves -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono +module + +public import Mathlib.CategoryTheory.Sites.Sieves +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono /-! # The sheaf condition for a presieve @@ -64,6 +66,8 @@ which can be convenient. -/ +@[expose] public section + universe w w' v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Sites/JointlySurjective.lean b/Mathlib/CategoryTheory/Sites/JointlySurjective.lean index d5f5f6b6026c84..5a3122105cbc81 100644 --- a/Mathlib/CategoryTheory/Sites/JointlySurjective.lean +++ b/Mathlib/CategoryTheory/Sites/JointlySurjective.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Sites.Precoverage -import Mathlib.CategoryTheory.Limits.Types.Pullbacks +module + +public import Mathlib.CategoryTheory.Sites.Precoverage +public import Mathlib.CategoryTheory.Limits.Types.Pullbacks /-! # The jointly surjective precoverage @@ -18,6 +20,8 @@ See `Mathlib/CategoryTheory/Sites/Types.lean` for the Grothendieck topology of j covers. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/LeftExact.lean b/Mathlib/CategoryTheory/Sites/LeftExact.lean index ada56a0e7d68bf..b021425c2515c9 100644 --- a/Mathlib/CategoryTheory/Sites/LeftExact.lean +++ b/Mathlib/CategoryTheory/Sites/LeftExact.lean @@ -3,16 +3,20 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Limits -import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit -import Mathlib.CategoryTheory.Adhesive -import Mathlib.CategoryTheory.Sites.ConcreteSheafification +module + +public import Mathlib.CategoryTheory.Sites.Limits +public import Mathlib.CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit +public import Mathlib.CategoryTheory.Adhesive +public import Mathlib.CategoryTheory.Sites.ConcreteSheafification /-! # Left exactness of sheafification In this file we show that sheafification commutes with finite limits. -/ +@[expose] public section + open CategoryTheory Limits Opposite diff --git a/Mathlib/CategoryTheory/Sites/Limits.lean b/Mathlib/CategoryTheory/Sites/Limits.lean index 5d65b6842a42ea..449110dcebbde0 100644 --- a/Mathlib/CategoryTheory/Sites/Limits.lean +++ b/Mathlib/CategoryTheory/Sites/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Limits.Creates -import Mathlib.CategoryTheory.Sites.Sheafification -import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts +module + +public import Mathlib.CategoryTheory.Limits.Creates +public import Mathlib.CategoryTheory.Sites.Sheafification +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts /-! @@ -27,6 +29,8 @@ This allows us to show that `Sheaf J D` has colimits (of a certain shape) as soo -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Localization.lean b/Mathlib/CategoryTheory/Sites/Localization.lean index af7c51ac5104ef..bee36d7c7d8883 100644 --- a/Mathlib/CategoryTheory/Sites/Localization.lean +++ b/Mathlib/CategoryTheory/Sites/Localization.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Localization.Bousfield -import Mathlib.CategoryTheory.Sites.Sheafification +module + +public import Mathlib.CategoryTheory.Localization.Bousfield +public import Mathlib.CategoryTheory.Sites.Sheafification /-! # The sheaf category as a localized category @@ -15,6 +17,8 @@ of presheaves which become isomorphisms after applying the sheafification functo -/ +@[expose] public section + namespace CategoryTheory open Localization diff --git a/Mathlib/CategoryTheory/Sites/LocallyBijective.lean b/Mathlib/CategoryTheory/Sites/LocallyBijective.lean index aa8ce43f4d887b..f969a410fe7b46 100644 --- a/Mathlib/CategoryTheory/Sites/LocallyBijective.lean +++ b/Mathlib/CategoryTheory/Sites/LocallyBijective.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.LocallySurjective -import Mathlib.CategoryTheory.Sites.Localization +module + +public import Mathlib.CategoryTheory.Sites.LocallySurjective +public import Mathlib.CategoryTheory.Sites.Localization /-! # Locally bijective morphisms of presheaves @@ -20,6 +22,8 @@ We show that this holds under certain universe assumptions. -/ +@[expose] public section + universe w' w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/LocallyFullyFaithful.lean b/Mathlib/CategoryTheory/Sites/LocallyFullyFaithful.lean index 455fe42f78e070..b2ef5f6ae2d365 100644 --- a/Mathlib/CategoryTheory/Sites/LocallyFullyFaithful.lean +++ b/Mathlib/CategoryTheory/Sites/LocallyFullyFaithful.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! # Locally fully faithful functors into sites @@ -25,6 +27,8 @@ import Mathlib.CategoryTheory.Sites.LocallySurjective -/ +@[expose] public section + universe w vC vD uC uD namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/LocallyInjective.lean b/Mathlib/CategoryTheory/Sites/LocallyInjective.lean index 5f2cee7cf6d08c..69c297290cab9f 100644 --- a/Mathlib/CategoryTheory/Sites/LocallyInjective.lean +++ b/Mathlib/CategoryTheory/Sites/LocallyInjective.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.LeftExact -import Mathlib.CategoryTheory.Sites.PreservesSheafification -import Mathlib.CategoryTheory.Sites.Subsheaf -import Mathlib.CategoryTheory.Sites.Whiskering +module + +public import Mathlib.CategoryTheory.Sites.LeftExact +public import Mathlib.CategoryTheory.Sites.PreservesSheafification +public import Mathlib.CategoryTheory.Sites.Subsheaf +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # Locally injective morphisms of (pre)sheaves @@ -22,6 +24,8 @@ by the maps of a covering sieve. -/ +@[expose] public section + universe w v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/LocallySurjective.lean b/Mathlib/CategoryTheory/Sites/LocallySurjective.lean index cb5e4fd6ba3ba0..7a6369dc1c2c0f 100644 --- a/Mathlib/CategoryTheory/Sites/LocallySurjective.lean +++ b/Mathlib/CategoryTheory/Sites/LocallySurjective.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.Sites.Subsheaf -import Mathlib.CategoryTheory.Sites.CompatibleSheafification -import Mathlib.CategoryTheory.Sites.LocallyInjective +module + +public import Mathlib.CategoryTheory.Sites.Subsheaf +public import Mathlib.CategoryTheory.Sites.CompatibleSheafification +public import Mathlib.CategoryTheory.Sites.LocallyInjective /-! # Locally surjective morphisms @@ -24,6 +26,8 @@ import Mathlib.CategoryTheory.Sites.LocallyInjective -/ +@[expose] public section + universe v u w v' u' w' diff --git a/Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean b/Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean index ae34bc9b85bd2c..0faeb57723532b 100644 --- a/Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean +++ b/Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean @@ -3,16 +3,18 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.Algebra.Category.Grp.Adjunctions -import Mathlib.Algebra.Homology.ShortComplex.ShortExact -import Mathlib.Algebra.Homology.Square -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Square -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.Adjunction -import Mathlib.CategoryTheory.Sites.Sheafification +module + +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.Algebra.Category.Grp.Adjunctions +public import Mathlib.Algebra.Homology.ShortComplex.ShortExact +public import Mathlib.Algebra.Homology.Square +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Square +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.Adjunction +public import Mathlib.CategoryTheory.Sites.Sheafification /-! # Mayer-Vietoris squares @@ -50,6 +52,8 @@ that it is indeed satisfied by sheaves. * https://stacks.math.columbia.edu/tag/08GL -/ + +@[expose] public section universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Monoidal.lean b/Mathlib/CategoryTheory/Sites/Monoidal.lean index 14cde30b728327..ff50043e87bde6 100644 --- a/Mathlib/CategoryTheory/Sites/Monoidal.lean +++ b/Mathlib/CategoryTheory/Sites/Monoidal.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Closed.FunctorCategory.Basic -import Mathlib.CategoryTheory.Localization.Monoidal.Braided -import Mathlib.CategoryTheory.Sites.Localization -import Mathlib.CategoryTheory.Sites.SheafHom +public import Mathlib.CategoryTheory.Closed.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Localization.Monoidal.Braided +public import Mathlib.CategoryTheory.Sites.Localization +public import Mathlib.CategoryTheory.Sites.SheafHom /-! # Monoidal category structure on categories of sheaves @@ -29,6 +30,8 @@ chosen finite products. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/MorphismProperty.lean b/Mathlib/CategoryTheory/Sites/MorphismProperty.lean index cbfcaa7bd9d44b..967dca26eb2b7e 100644 --- a/Mathlib/CategoryTheory/Sites/MorphismProperty.lean +++ b/Mathlib/CategoryTheory/Sites/MorphismProperty.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.CategoryTheory.Sites.Pretopology -import Mathlib.CategoryTheory.Sites.Coverage -import Mathlib.CategoryTheory.Sites.Hypercover.Zero +module + +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.CategoryTheory.Sites.Pretopology +public import Mathlib.CategoryTheory.Sites.Coverage +public import Mathlib.CategoryTheory.Sites.Hypercover.Zero /-! # The site induced by a morphism property @@ -20,6 +22,8 @@ this construction by intersecting with the pretopology of surjective families. -/ +@[expose] public section + universe w namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean b/Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean index 8b6feec246dbef..669e49403f82d3 100644 --- a/Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean +++ b/Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Basic +module + +public import Mathlib.Algebra.Category.Grp.Basic /-! The cohomology of a sheaf of groups in degree 1 @@ -40,6 +42,8 @@ case, it would be a particular case of Čech cohomology (TODO). -/ +@[expose] public section + universe w' w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Over.lean b/Mathlib/CategoryTheory/Sites/Over.lean index 2a2801899b18e5..8a8d6851d2442f 100644 --- a/Mathlib/CategoryTheory/Sites/Over.lean +++ b/Mathlib/CategoryTheory/Sites/Over.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.CoverLifting -import Mathlib.CategoryTheory.Sites.CoverPreserving -import Mathlib.CategoryTheory.Sites.Coverage -import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected -import Mathlib.CategoryTheory.Limits.Shapes.Connected +module + +public import Mathlib.CategoryTheory.Sites.CoverLifting +public import Mathlib.CategoryTheory.Sites.CoverPreserving +public import Mathlib.CategoryTheory.Sites.Coverage +public import Mathlib.CategoryTheory.Limits.Constructions.Over.Connected +public import Mathlib.CategoryTheory.Limits.Shapes.Connected /-! Localization @@ -21,6 +23,8 @@ is covering for `J`. As a result, the forgetful functor -/ +@[expose] public section + universe v' v u' u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Plus.lean b/Mathlib/CategoryTheory/Sites/Plus.lean index 268086547ea59f..9004da2361924b 100644 --- a/Mathlib/CategoryTheory/Sites/Plus.lean +++ b/Mathlib/CategoryTheory/Sites/Plus.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Sheaf +module + +public import Mathlib.CategoryTheory.Sites.Sheaf /-! @@ -16,6 +18,8 @@ See for details. -/ +@[expose] public section + namespace CategoryTheory.GrothendieckTopology diff --git a/Mathlib/CategoryTheory/Sites/Precoverage.lean b/Mathlib/CategoryTheory/Sites/Precoverage.lean index 914dbfd2668df8..6a2242bd4af2b7 100644 --- a/Mathlib/CategoryTheory/Sites/Precoverage.lean +++ b/Mathlib/CategoryTheory/Sites/Precoverage.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Limits.Preserves.Creates.Pullbacks -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Sites.Sieves -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Creates.Pullbacks +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Sites.Sieves +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! @@ -32,6 +34,8 @@ These two are defined in later files. For precoverages, we define stability cond -/ +@[expose] public section + universe w w' v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Preserves.lean b/Mathlib/CategoryTheory/Sites/Preserves.lean index 2f4faa8e592af2..b459519ff8ca71 100644 --- a/Mathlib/CategoryTheory/Sites/Preserves.lean +++ b/Mathlib/CategoryTheory/Sites/Preserves.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition /-! # Sheaves preserve products @@ -31,6 +33,8 @@ See `preservesProductOfIsSheafFor`. See `isSheafFor_of_preservesProduct`. -/ +@[expose] public section + universe v u w namespace CategoryTheory.Presieve diff --git a/Mathlib/CategoryTheory/Sites/PreservesLocallyBijective.lean b/Mathlib/CategoryTheory/Sites/PreservesLocallyBijective.lean index 6125dbc30427e7..3735b92490276a 100644 --- a/Mathlib/CategoryTheory/Sites/PreservesLocallyBijective.lean +++ b/Mathlib/CategoryTheory/Sites/PreservesLocallyBijective.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! # Preserving and reflecting local injectivity and surjectivity @@ -14,6 +16,8 @@ surjectivity of morphisms of presheaves, and that precomposition with a cover-pr cover-dense functor reflects the same properties. -/ +@[expose] public section + open CategoryTheory Functor variable {C D A : Type*} [Category C] [Category D] [Category A] diff --git a/Mathlib/CategoryTheory/Sites/PreservesSheafification.lean b/Mathlib/CategoryTheory/Sites/PreservesSheafification.lean index 870bf8b4e56bb1..c7c2b6c63bff34 100644 --- a/Mathlib/CategoryTheory/Sites/PreservesSheafification.lean +++ b/Mathlib/CategoryTheory/Sites/PreservesSheafification.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Sites.Localization -import Mathlib.CategoryTheory.Sites.CompatibleSheafification -import Mathlib.CategoryTheory.Sites.Whiskering -import Mathlib.CategoryTheory.Sites.Sheafification +module + +public import Mathlib.CategoryTheory.Sites.Localization +public import Mathlib.CategoryTheory.Sites.CompatibleSheafification +public import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.CategoryTheory.Sites.Sheafification /-! # Functors which preserve sheafification @@ -39,6 +41,8 @@ suitable limits and colimits. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Pretopology.lean b/Mathlib/CategoryTheory/Sites/Pretopology.lean index 015472e0011592..9ff54504f61c61 100644 --- a/Mathlib/CategoryTheory/Sites/Pretopology.lean +++ b/Mathlib/CategoryTheory/Sites/Pretopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.Grothendieck -import Mathlib.CategoryTheory.Sites.Precoverage +module + +public import Mathlib.CategoryTheory.Sites.Grothendieck +public import Mathlib.CategoryTheory.Sites.Precoverage /-! # Grothendieck pretopologies @@ -29,6 +31,8 @@ coverage, pretopology, site * [Stacks, *00VG*](https://stacks.math.columbia.edu/tag/00VG) -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/Sites/Pullback.lean b/Mathlib/CategoryTheory/Sites/Pullback.lean index 2466b158c6cb32..02bd9cf3bf1e5e 100644 --- a/Mathlib/CategoryTheory/Sites/Pullback.lean +++ b/Mathlib/CategoryTheory/Sites/Pullback.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Adjunction.Restrict -import Mathlib.CategoryTheory.Functor.Flat -import Mathlib.CategoryTheory.Sites.Continuous -import Mathlib.CategoryTheory.Sites.LeftExact +module + +public import Mathlib.CategoryTheory.Adjunction.Restrict +public import Mathlib.CategoryTheory.Functor.Flat +public import Mathlib.CategoryTheory.Sites.Continuous +public import Mathlib.CategoryTheory.Sites.LeftExact /-! # Pullback of sheaves @@ -26,6 +28,8 @@ import Mathlib.CategoryTheory.Sites.LeftExact -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sites/Sheaf.lean b/Mathlib/CategoryTheory/Sites/Sheaf.lean index 45e8ace91e26cc..8a0632ee8c11e6 100644 --- a/Mathlib/CategoryTheory/Sites/Sheaf.lean +++ b/Mathlib/CategoryTheory/Sites/Sheaf.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kevin Buzzard, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Yoneda -import Mathlib.CategoryTheory.Preadditive.FunctorCategory -import Mathlib.CategoryTheory.Sites.SheafOfTypes -import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition -import Mathlib.CategoryTheory.Limits.Constructions.EpiMono +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Yoneda +public import Mathlib.CategoryTheory.Preadditive.FunctorCategory +public import Mathlib.CategoryTheory.Sites.SheafOfTypes +public import Mathlib.CategoryTheory.Sites.EqualizerSheafCondition +public import Mathlib.CategoryTheory.Limits.Constructions.EpiMono /-! # Sheaves taking values in a category @@ -51,6 +53,8 @@ inequalities this can be changed. -/ +@[expose] public section + universe w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean b/Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean index 640face9d8915a..f8cc614b31cedf 100644 --- a/Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean +++ b/Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Category.Grp.Abelian -import Mathlib.Algebra.Category.Grp.Adjunctions -import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.ConstantSheaf +module + +public import Mathlib.Algebra.Category.Grp.Abelian +public import Mathlib.Algebra.Category.Grp.Adjunctions +public import Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.ConstantSheaf /-! # Sheaf cohomology @@ -31,6 +33,8 @@ of sets `yoneda.obj U` to `F`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe w' w v u diff --git a/Mathlib/CategoryTheory/Sites/SheafHom.lean b/Mathlib/CategoryTheory/Sites/SheafHom.lean index afc19244507618..0c2f08d0a7ad30 100644 --- a/Mathlib/CategoryTheory/Sites/SheafHom.lean +++ b/Mathlib/CategoryTheory/Sites/SheafHom.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Sites.Over +public import Mathlib.CategoryTheory.Sites.Over /-! Internal hom of sheaves @@ -25,6 +26,8 @@ natural bijection `(X ⨯ F ⟶ Y) ≃ (X ⟶ sheafHom F Y)`. -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/SheafOfTypes.lean b/Mathlib/CategoryTheory/Sites/SheafOfTypes.lean index 04f5beedc10296..ab43c7164574cf 100644 --- a/Mathlib/CategoryTheory/Sites/SheafOfTypes.lean +++ b/Mathlib/CategoryTheory/Sites/SheafOfTypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.Pretopology -import Mathlib.CategoryTheory.Sites.IsSheafFor +module + +public import Mathlib.CategoryTheory.Sites.Pretopology +public import Mathlib.CategoryTheory.Sites.IsSheafFor /-! # Sheaves of types on a Grothendieck topology @@ -46,6 +48,8 @@ We also provide equivalent conditions to satisfy alternate definitions given in -/ +@[expose] public section + universe w w' v u diff --git a/Mathlib/CategoryTheory/Sites/Sheafification.lean b/Mathlib/CategoryTheory/Sites/Sheafification.lean index af27ee18044c19..139904457b9949 100644 --- a/Mathlib/CategoryTheory/Sites/Sheafification.lean +++ b/Mathlib/CategoryTheory/Sites/Sheafification.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Adjunction.Unique -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.CategoryTheory.Limits.Preserves.Finite +module + +public import Mathlib.CategoryTheory.Adjunction.Unique +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.CategoryTheory.Limits.Preserves.Finite /-! # Sheafification @@ -18,6 +20,8 @@ Note: to access the `HasSheafify` instance for suitable concrete categories, imp `Mathlib/CategoryTheory/Sites/LeftExact.lean`. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sites/Sieves.lean b/Mathlib/CategoryTheory/Sites/Sieves.lean index 5e0bad18356ed0..27627e0988662b 100644 --- a/Mathlib/CategoryTheory/Sites/Sieves.lean +++ b/Mathlib/CategoryTheory/Sites/Sieves.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Edward Ayers -/ -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.Data.Set.BooleanAlgebra +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.Data.Set.BooleanAlgebra /-! # Theory of sieves @@ -21,6 +23,8 @@ import Mathlib.Data.Set.BooleanAlgebra sieve, pullback -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sites/Spaces.lean b/Mathlib/CategoryTheory/Sites/Spaces.lean index 1db57e41a1235c..9b82c6d5fa8bd3 100644 --- a/Mathlib/CategoryTheory/Sites/Spaces.lean +++ b/Mathlib/CategoryTheory/Sites/Spaces.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Sites.Grothendieck -import Mathlib.CategoryTheory.Sites.Pretopology -import Mathlib.CategoryTheory.Limits.Lattice -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.CategoryTheory.Sites.Grothendieck +public import Mathlib.CategoryTheory.Sites.Pretopology +public import Mathlib.CategoryTheory.Limits.Lattice +public import Mathlib.Topology.Sets.Opens /-! # Grothendieck topology on a topological space @@ -31,6 +33,8 @@ We define the two separately, rather than defining the Grothendieck topology as by the pretopology for the purpose of having nice definitional properties for the sieves. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/Sites/Subcanonical.lean b/Mathlib/CategoryTheory/Sites/Subcanonical.lean index 780b4a773ed8e6..b8597d2355d996 100644 --- a/Mathlib/CategoryTheory/Sites/Subcanonical.lean +++ b/Mathlib/CategoryTheory/Sites/Subcanonical.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Sites.Canonical -import Mathlib.CategoryTheory.Sites.Whiskering +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Sites.Canonical +public import Mathlib.CategoryTheory.Sites.Whiskering /-! # Subcanonical Grothendieck topologies @@ -14,6 +16,8 @@ This file provides some API for the Yoneda embedding into the category of sheave subcanonical Grothendieck topology. -/ +@[expose] public section + universe v' v u namespace CategoryTheory.GrothendieckTopology diff --git a/Mathlib/CategoryTheory/Sites/Subsheaf.lean b/Mathlib/CategoryTheory/Sites/Subsheaf.lean index d0f485adfbf23c..999bdf58c2c424 100644 --- a/Mathlib/CategoryTheory/Sites/Subsheaf.lean +++ b/Mathlib/CategoryTheory/Sites/Subsheaf.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Sites.ConcreteSheafification -import Mathlib.CategoryTheory.Subpresheaf.Image -import Mathlib.CategoryTheory.Subpresheaf.Sieves +module + +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Sites.ConcreteSheafification +public import Mathlib.CategoryTheory.Subpresheaf.Image +public import Mathlib.CategoryTheory.Subpresheaf.Sieves /-! @@ -32,6 +34,8 @@ We define the sub(pre)sheaf of a type-valued presheaf. `Limits.imageFactorization`. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Sites/Types.lean b/Mathlib/CategoryTheory/Sites/Types.lean index 56ca7ef9a4e342..9f7b3de7eec7e7 100644 --- a/Mathlib/CategoryTheory/Sites/Types.lean +++ b/Mathlib/CategoryTheory/Sites/Types.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.CategoryTheory.Sites.Canonical +module + +public import Mathlib.CategoryTheory.Sites.Canonical /-! # Grothendieck Topology and Sheaves on the Category of Types @@ -15,6 +17,8 @@ the category of types, and make this an equivalence of categories. Then we prove that the topology defined is the canonical topology. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/Sites/Whiskering.lean b/Mathlib/CategoryTheory/Sites/Whiskering.lean index b79bee06dfb73e..2d36be43e006a5 100644 --- a/Mathlib/CategoryTheory/Sites/Whiskering.lean +++ b/Mathlib/CategoryTheory/Sites/Whiskering.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Sites.Sheaf +module + +public import Mathlib.CategoryTheory.Sites.Sheaf /-! @@ -20,6 +22,8 @@ Given a natural transformation `η : F ⟶ G`, we obtain a natural transformatio -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Skeletal.lean b/Mathlib/CategoryTheory/Skeletal.lean index 10a7f463e7a925..d1bdc00beb4965 100644 --- a/Mathlib/CategoryTheory/Skeletal.lean +++ b/Mathlib/CategoryTheory/Skeletal.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Adjunction.Basic -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.IsomorphismClasses -import Mathlib.CategoryTheory.Thin +module + +public import Mathlib.CategoryTheory.Adjunction.Basic +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.IsomorphismClasses +public import Mathlib.CategoryTheory.Thin /-! # Skeleton of a category @@ -23,6 +25,8 @@ subobject lattice. In addition, some of the commutative diagrams about the funct definitionally on the nose which is convenient in practice. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/SmallObject/Basic.lean b/Mathlib/CategoryTheory/SmallObject/Basic.lean index 894f8aa4e2c0f1..51a7b2acf87c8a 100644 --- a/Mathlib/CategoryTheory/SmallObject/Basic.lean +++ b/Mathlib/CategoryTheory/SmallObject/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument +module + +public import Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument /-! # The small object argument @@ -67,6 +69,8 @@ the file `Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean` -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/Construction.lean b/Mathlib/CategoryTheory/SmallObject/Construction.lean index 6c0e542b01d70a..fb89e695094bd4 100644 --- a/Mathlib/CategoryTheory/SmallObject/Construction.lean +++ b/Mathlib/CategoryTheory/SmallObject/Construction.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback -import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +public import Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells /-! # Construction for the small object argument @@ -46,6 +48,8 @@ provides a tautological morphism `B i ⟶ functorObj f πX` - https://ncatlab.org/nlab/show/small+object+argument -/ + +@[expose] public section universe t w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/IsCardinalForSmallObjectArgument.lean b/Mathlib/CategoryTheory/SmallObject/IsCardinalForSmallObjectArgument.lean index ad7b02ac5da33c..d9b3c13817fce2 100644 --- a/Mathlib/CategoryTheory/SmallObject/IsCardinalForSmallObjectArgument.lean +++ b/Mathlib/CategoryTheory/SmallObject/IsCardinalForSmallObjectArgument.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.SmallObject.Construction -import Mathlib.CategoryTheory.SmallObject.TransfiniteIteration -import Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting -import Mathlib.CategoryTheory.MorphismProperty.IsSmall -import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic -import Mathlib.SetTheory.Cardinal.Regular +module + +public import Mathlib.CategoryTheory.SmallObject.Construction +public import Mathlib.CategoryTheory.SmallObject.TransfiniteIteration +public import Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting +public import Mathlib.CategoryTheory.MorphismProperty.IsSmall +public import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic +public import Mathlib.SetTheory.Cardinal.Regular /-! # Cardinals that are suitable for the small object argument @@ -54,6 +56,8 @@ pushouts of coproducts of morphisms in `I`. -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/Iteration/Basic.lean b/Mathlib/CategoryTheory/SmallObject/Iteration/Basic.lean index 5016a9a2d80fa2..7fecc4b00f0062 100644 --- a/Mathlib/CategoryTheory/SmallObject/Iteration/Basic.lean +++ b/Mathlib/CategoryTheory/SmallObject/Iteration/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.PrincipalSeg -import Mathlib.CategoryTheory.Limits.Comma -import Mathlib.CategoryTheory.MorphismProperty.Basic -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.SuccPred.Limit -import Mathlib.Order.Interval.Set.InitialSeg +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.HasIterationOfShape +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.PrincipalSeg +public import Mathlib.CategoryTheory.Limits.Comma +public import Mathlib.CategoryTheory.MorphismProperty.Basic +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.Interval.Set.InitialSeg /-! # Transfinite iterations of a successor structure @@ -64,6 +66,8 @@ topological spaces. -/ +@[expose] public section + universe w v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean b/Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean index 730a42b41c6792..7f748221bd35f5 100644 --- a/Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean +++ b/Mathlib/CategoryTheory/SmallObject/Iteration/ExtendToSucc.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.SmallObject.Iteration.Basic +public import Mathlib.CategoryTheory.SmallObject.Iteration.Basic /-! # Extension of a functor from `Set.Iic j` to `Set.Iic (Order.succ j)` @@ -16,6 +17,8 @@ functor `Set.Iic (Order.succ j) ⥤ C` when an object `X : C` and a morphism -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/Iteration/FunctorOfCocone.lean b/Mathlib/CategoryTheory/SmallObject/Iteration/FunctorOfCocone.lean index 7a094d1bc2e011..1ee837cd3a4605 100644 --- a/Mathlib/CategoryTheory/SmallObject/Iteration/FunctorOfCocone.lean +++ b/Mathlib/CategoryTheory/SmallObject/Iteration/FunctorOfCocone.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.SmallObject.Iteration.Basic +public import Mathlib.CategoryTheory.SmallObject.Iteration.Basic /-! # The functor from `Set.Iic j` deduced from a cocone @@ -15,6 +16,8 @@ the top element is mapped to `c.pt`. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/Iteration/Nonempty.lean b/Mathlib/CategoryTheory/SmallObject/Iteration/Nonempty.lean index 74e09521ff4e75..69d49cc40226c4 100644 --- a/Mathlib/CategoryTheory/SmallObject/Iteration/Nonempty.lean +++ b/Mathlib/CategoryTheory/SmallObject/Iteration/Nonempty.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.SmallObject.Iteration.Basic -import Mathlib.CategoryTheory.SmallObject.Iteration.ExtendToSucc -import Mathlib.CategoryTheory.SmallObject.Iteration.FunctorOfCocone +module + +public import Mathlib.CategoryTheory.SmallObject.Iteration.Basic +public import Mathlib.CategoryTheory.SmallObject.Iteration.ExtendToSucc +public import Mathlib.CategoryTheory.SmallObject.Iteration.FunctorOfCocone /-! # Existence of the iteration of a successor structure @@ -16,6 +18,8 @@ the type `Φ.Iteration j` is nonempty. -/ +@[expose] public section + universe u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean b/Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean index bb9e255e5955b9..448584cb7b2499 100644 --- a/Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean +++ b/Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.SmallObject.WellOrderInductionData -import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous +module + +public import Mathlib.CategoryTheory.SmallObject.WellOrderInductionData +public import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous /-! # The left lifting property is stable under transfinite composition @@ -50,6 +52,8 @@ This is constructed by transfinite induction on `j`: -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallObject/TransfiniteIteration.lean b/Mathlib/CategoryTheory/SmallObject/TransfiniteIteration.lean index ead09d34aad48e..2ca138d2c82525 100644 --- a/Mathlib/CategoryTheory/SmallObject/TransfiniteIteration.lean +++ b/Mathlib/CategoryTheory/SmallObject/TransfiniteIteration.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.SmallObject.Iteration.Nonempty -import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition -import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous +module + +public import Mathlib.CategoryTheory.SmallObject.Iteration.Nonempty +public import Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition +public import Mathlib.CategoryTheory.Limits.Shapes.Preorder.WellOrderContinuous /-! # The transfinite iteration of a successor structure @@ -16,6 +18,8 @@ defined as the colimit of a functor `Φ.iterationFunctor J : J ⥤ C`. -/ +@[expose] public section + universe w v u namespace CategoryTheory.SmallObject.SuccStruct diff --git a/Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean b/Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean index d948b31919f6d0..f14bee4fac2286 100644 --- a/Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean +++ b/Mathlib/CategoryTheory/SmallObject/WellOrderInductionData.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Order.SuccPred.Limit +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Order.SuccPred.Limit /-! # Limits of inverse systems indexed by well-ordered types @@ -27,6 +28,8 @@ which restricts to `val₀`. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/SmallRepresentatives.lean b/Mathlib/CategoryTheory/SmallRepresentatives.lean index ab753163a30e4a..c202f51afbaeb6 100644 --- a/Mathlib/CategoryTheory/SmallRepresentatives.lean +++ b/Mathlib/CategoryTheory/SmallRepresentatives.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Equivalence -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.SetTheory.Cardinal.Order /-! # Representatives of small categories @@ -21,6 +23,8 @@ that of `Ω` (see `SmallCategoryOfSet.exists_equivalence`). -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Square.lean b/Mathlib/CategoryTheory/Square.lean index d563ad16af7eef..90c489f7e46713 100644 --- a/Mathlib/CategoryTheory/Square.lean +++ b/Mathlib/CategoryTheory/Square.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Comma.Arrow -import Mathlib.CategoryTheory.CommSq +module + +public import Mathlib.CategoryTheory.Comma.Arrow +public import Mathlib.CategoryTheory.CommSq /-! # The category of commutative squares @@ -31,6 +33,8 @@ maps (`arrowArrowEquivalence'`). -/ +@[expose] public section + universe v v' u u' namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subobject/ArtinianObject.lean b/Mathlib/CategoryTheory/Subobject/ArtinianObject.lean index e68fa82f0a277b..82096c5067aaa5 100644 --- a/Mathlib/CategoryTheory/Subobject/ArtinianObject.lean +++ b/Mathlib/CategoryTheory/Subobject/ArtinianObject.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.CategoryTheory.ObjectProperty.ContainsZero -import Mathlib.CategoryTheory.ObjectProperty.EpiMono -import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant -import Mathlib.Order.OrderIsoNat -import Mathlib.CategoryTheory.Simple +module + +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.CategoryTheory.ObjectProperty.ContainsZero +public import Mathlib.CategoryTheory.ObjectProperty.EpiMono +public import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant +public import Mathlib.Order.OrderIsoNat +public import Mathlib.CategoryTheory.Simple /-! # Artinian objects @@ -26,6 +28,8 @@ with `IsNoetherianObject` in `Cᵒᵖ`. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subobject/Basic.lean b/Mathlib/CategoryTheory/Subobject/Basic.lean index b1a2b5f3db273a..e80479cf396d31 100644 --- a/Mathlib/CategoryTheory/Subobject/Basic.lean +++ b/Mathlib/CategoryTheory/Subobject/Basic.lean @@ -3,13 +3,14 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ +module -import Mathlib.CategoryTheory.Limits.Skeleton -import Mathlib.CategoryTheory.Subobject.MonoOver -import Mathlib.CategoryTheory.Skeletal -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.Tactic.ApplyFun -import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Limits.Skeleton +public import Mathlib.CategoryTheory.Subobject.MonoOver +public import Mathlib.CategoryTheory.Skeletal +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Tactic.CategoryTheory.Elementwise /-! # Subobjects @@ -70,6 +71,8 @@ In fact, in an abelian category (I'm not sure in what generality beyond that), -/ +@[expose] public section + universe w' w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Subobject/Comma.lean b/Mathlib/CategoryTheory/Subobject/Comma.lean index 66dc0d5b501c4e..342e2fde425dcd 100644 --- a/Mathlib/CategoryTheory/Subobject/Comma.lean +++ b/Mathlib/CategoryTheory/Subobject/Comma.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.CategoryTheory.Subobject.WellPowered -import Mathlib.CategoryTheory.Comma.LocallySmall -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits -import Mathlib.CategoryTheory.Limits.Comma +module + +public import Mathlib.CategoryTheory.Subobject.WellPowered +public import Mathlib.CategoryTheory.Comma.LocallySmall +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits +public import Mathlib.CategoryTheory.Limits.Comma /-! # Subobjects in the category of structured arrows @@ -30,6 +32,8 @@ We also provide the dual results. As usual, we use `Subobject (op A)` for the qu -/ +@[expose] public section + noncomputable section open CategoryTheory.Limits Opposite diff --git a/Mathlib/CategoryTheory/Subobject/FactorThru.lean b/Mathlib/CategoryTheory/Subobject/FactorThru.lean index 8ace4d7e770683..38f169085c3a0a 100644 --- a/Mathlib/CategoryTheory/Subobject/FactorThru.lean +++ b/Mathlib/CategoryTheory/Subobject/FactorThru.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.CategoryTheory.Preadditive.Basic +module + +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.CategoryTheory.Preadditive.Basic /-! # Factoring through subobjects @@ -14,6 +16,8 @@ asserts the existence of some `P.factorThru f : X ⟶ (P : C)` making the obviou -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Subobject/HasCardinalLT.lean b/Mathlib/CategoryTheory/Subobject/HasCardinalLT.lean index fc4f0484adfc39..98b0f9e67dbcac 100644 --- a/Mathlib/CategoryTheory/Subobject/HasCardinalLT.lean +++ b/Mathlib/CategoryTheory/Subobject/HasCardinalLT.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.SetTheory.Cardinal.HasCardinalLT +module + +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.SetTheory.Cardinal.HasCardinalLT /-! # Cardinality of Subobject @@ -14,6 +16,8 @@ is `< κ`, then the cardinality of `Subobject X` is also `< κ`. -/ +@[expose] public section + universe w v u namespace CategoryTheory.Subobject diff --git a/Mathlib/CategoryTheory/Subobject/Lattice.lean b/Mathlib/CategoryTheory/Subobject/Lattice.lean index f2d2d6cd81757f..22f77e8d5a8c06 100644 --- a/Mathlib/CategoryTheory/Subobject/Lattice.lean +++ b/Mathlib/CategoryTheory/Subobject/Lattice.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ -import Mathlib.CategoryTheory.Functor.Currying -import Mathlib.CategoryTheory.Subobject.FactorThru -import Mathlib.CategoryTheory.Subobject.WellPowered -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.CategoryTheory.Functor.Currying +public import Mathlib.CategoryTheory.Subobject.FactorThru +public import Mathlib.CategoryTheory.Subobject.WellPowered +public import Mathlib.Data.Finset.Lattice.Fold /-! # The lattice of subobjects @@ -15,6 +17,8 @@ We provide the `SemilatticeInf` with `OrderTop (Subobject X)` instance when `[Ha and the `SemilatticeSup (Subobject X)` instance when `[HasImages C] [HasBinaryCoproducts C]`. -/ +@[expose] public section + universe w v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Subobject/Limits.lean b/Mathlib/CategoryTheory/Subobject/Limits.lean index 0db4d02a46ac81..dbfb07ee8f54a0 100644 --- a/Mathlib/CategoryTheory/Subobject/Limits.lean +++ b/Mathlib/CategoryTheory/Subobject/Limits.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.Lattice +module + +public import Mathlib.CategoryTheory.Subobject.Lattice /-! # Specific subobjects @@ -17,6 +19,8 @@ TODO: an iff characterisation of `(imageSubobject f).Factors h` -/ +@[expose] public section + universe v u noncomputable section diff --git a/Mathlib/CategoryTheory/Subobject/MonoOver.lean b/Mathlib/CategoryTheory/Subobject/MonoOver.lean index daeec151f708db..f083d54c8fc8c9 100644 --- a/Mathlib/CategoryTheory/Subobject/MonoOver.lean +++ b/Mathlib/CategoryTheory/Subobject/MonoOver.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Kim Morrison -/ -import Mathlib.CategoryTheory.Comma.Over.Pullback -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Adjunction.Restrict -import Mathlib.CategoryTheory.Limits.FullSubcategory -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic -import Mathlib.CategoryTheory.WithTerminal.Cone +module + +public import Mathlib.CategoryTheory.Comma.Over.Pullback +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Adjunction.Restrict +public import Mathlib.CategoryTheory.Limits.FullSubcategory +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +public import Mathlib.CategoryTheory.WithTerminal.Cone /-! # Monomorphisms over a fixed object @@ -37,6 +39,8 @@ and was ported to mathlib by Kim Morrison. -/ +@[expose] public section + universe w' w v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Subobject/NoetherianObject.lean b/Mathlib/CategoryTheory/Subobject/NoetherianObject.lean index 7fea9d407129d8..5de46fa18570c6 100644 --- a/Mathlib/CategoryTheory/Subobject/NoetherianObject.lean +++ b/Mathlib/CategoryTheory/Subobject/NoetherianObject.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subobject.Lattice -import Mathlib.CategoryTheory.ObjectProperty.ContainsZero -import Mathlib.CategoryTheory.ObjectProperty.EpiMono -import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant -import Mathlib.Order.OrderIsoNat +module + +public import Mathlib.CategoryTheory.Subobject.Lattice +public import Mathlib.CategoryTheory.ObjectProperty.ContainsZero +public import Mathlib.CategoryTheory.ObjectProperty.EpiMono +public import Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant +public import Mathlib.Order.OrderIsoNat /-! # Noetherian objects @@ -25,6 +27,8 @@ closed under subobjects. -/ +@[expose] public section + universe v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subobject/Presheaf.lean b/Mathlib/CategoryTheory/Subobject/Presheaf.lean index 6a2b00bb4bbe92..a4338a4ff76ebc 100644 --- a/Mathlib/CategoryTheory/Subobject/Presheaf.lean +++ b/Mathlib/CategoryTheory/Subobject/Presheaf.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Pablo Donato. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pablo Donato -/ -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback +module + +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback /-! # Subobjects presheaf @@ -30,6 +32,8 @@ Let `C` refer to a category with pullbacks. subobject, representable functor, presheaf, topos theory -/ +@[expose] public section + open CategoryTheory Subobject namespace Subobject diff --git a/Mathlib/CategoryTheory/Subobject/Types.lean b/Mathlib/CategoryTheory/Subobject/Types.lean index cb5372457a83ae..3a3361410e7010 100644 --- a/Mathlib/CategoryTheory/Subobject/Types.lean +++ b/Mathlib/CategoryTheory/Subobject/Types.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.WellPowered -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.CategoryTheory.Subobject.WellPowered +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Data.Set.Subsingleton /-! # `Type u` is well-powered @@ -21,6 +23,8 @@ This may be possible using Lawvere theories, but it remains to be seen whether this just pushes lumps around in the carpet. -/ +@[expose] public section + universe u diff --git a/Mathlib/CategoryTheory/Subobject/WellPowered.lean b/Mathlib/CategoryTheory/Subobject/WellPowered.lean index 98ea901dcb3e2f..e9ca57c630a372 100644 --- a/Mathlib/CategoryTheory/Subobject/WellPowered.lean +++ b/Mathlib/CategoryTheory/Subobject/WellPowered.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Subobject.Basic -import Mathlib.CategoryTheory.EssentiallySmall +module + +public import Mathlib.CategoryTheory.Subobject.Basic +public import Mathlib.CategoryTheory.EssentiallySmall /-! # Well-powered categories @@ -26,6 +28,8 @@ and `equivShrink (Subobject X) : Subobject X ≃ Shrink (subobject X)`. -/ +@[expose] public section + universe w v v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Subpresheaf/Basic.lean b/Mathlib/CategoryTheory/Subpresheaf/Basic.lean index d7dffd9a451f99..4a3e42f8070c15 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Basic.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.Elementwise -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.Data.Set.Lattice.Image /-! @@ -19,6 +21,8 @@ We define the subpresheaf of a type-valued presheaf. -/ +@[expose] public section + universe w v u diff --git a/Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean b/Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean index 5a477b1c954cda..a9c61832336a22 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Equalizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Subpresheaf.Image +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Subpresheaf.Image /-! # The equalizer of two morphisms of presheaves, as a subpresheaf @@ -16,6 +18,8 @@ where `f` and `g` coincide. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subpresheaf/Finite.lean b/Mathlib/CategoryTheory/Subpresheaf/Finite.lean index 60532115918502..17df1b4fbc6f3e 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Finite.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Finite.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subpresheaf.OfSection +module + +public import Mathlib.CategoryTheory.Subpresheaf.OfSection /-! # Subpresheaves that are generated by finitely many sections @@ -16,6 +18,8 @@ class `G.IsFinite`. -/ +@[expose] public section + universe w'' w' w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subpresheaf/Image.lean b/Mathlib/CategoryTheory/Subpresheaf/Image.lean index 1ee16c46f92218..29d1b400c55d04 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Image.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Image.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Joël Riou -/ -import Mathlib.CategoryTheory.Subpresheaf.Basic -import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono -import Mathlib.CategoryTheory.Limits.Types.Colimits +module + +public import Mathlib.CategoryTheory.Subpresheaf.Basic +public import Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.Types.Colimits /-! # The image of a subpresheaf @@ -17,6 +19,8 @@ if `G : Subpresheaf F`, we define its preimage `G.preimage f : Subpresheaf F'`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subpresheaf/OfSection.lean b/Mathlib/CategoryTheory/Subpresheaf/OfSection.lean index 2e8b31063ae989..7b946d0782d4bb 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/OfSection.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/OfSection.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subpresheaf.Image -import Mathlib.CategoryTheory.Yoneda +module + +public import Mathlib.CategoryTheory.Subpresheaf.Image +public import Mathlib.CategoryTheory.Yoneda /-! # The subpresheaf generated by a section @@ -15,6 +17,8 @@ of `F` generated by `x`. -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subpresheaf/Sieves.lean b/Mathlib/CategoryTheory/Subpresheaf/Sieves.lean index 7c84f551edcd18..ab5884581748a4 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Sieves.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Sieves.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.Subpresheaf.Basic -import Mathlib.CategoryTheory.Sites.IsSheafFor +module + +public import Mathlib.CategoryTheory.Subpresheaf.Basic +public import Mathlib.CategoryTheory.Sites.IsSheafFor /-! # Sieves attached to subpresheaves @@ -15,6 +17,8 @@ and the associated compatible family of elements with values in `G.toPresheaf`. -/ +@[expose] public section + universe w v u namespace CategoryTheory.Subpresheaf diff --git a/Mathlib/CategoryTheory/Subpresheaf/Subobject.lean b/Mathlib/CategoryTheory/Subpresheaf/Subobject.lean index 7f8fc2c047907b..1e7ecbc15b5632 100644 --- a/Mathlib/CategoryTheory/Subpresheaf/Subobject.lean +++ b/Mathlib/CategoryTheory/Subpresheaf/Subobject.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Subpresheaf.Image -import Mathlib.CategoryTheory.Subobject.Basic +module + +public import Mathlib.CategoryTheory.Subpresheaf.Image +public import Mathlib.CategoryTheory.Subobject.Basic /-! # Comparison between `Subpresheaf`, `MonoOver` and `Subobject` @@ -15,6 +17,8 @@ and an order isomorphism `Subpresheaf.orderIsoSubject F : Subpresheaf F ≃o Sub -/ +@[expose] public section + universe w v u namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Subterminal.lean b/Mathlib/CategoryTheory/Subterminal.lean index d7b800b5d50102..46489e7087ac90 100644 --- a/Mathlib/CategoryTheory/Subterminal.lean +++ b/Mathlib/CategoryTheory/Subterminal.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Subobject.MonoOver +module + +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Subobject.MonoOver /-! # Subterminal objects @@ -26,6 +28,8 @@ We also construct the subcategory of subterminal objects. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Sums/Associator.lean b/Mathlib/CategoryTheory/Sums/Associator.lean index 9f7effc855e5f4..35cf4e6da94692 100644 --- a/Mathlib/CategoryTheory/Sums/Associator.lean +++ b/Mathlib/CategoryTheory/Sums/Associator.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Robin Carlier -/ -import Mathlib.CategoryTheory.Sums.Basic +module + +public import Mathlib.CategoryTheory.Sums.Basic /-! # Associator for binary disjoint union of categories. @@ -11,6 +13,8 @@ import Mathlib.CategoryTheory.Sums.Basic The associator functor `((C ⊕ D) ⊕ E) ⥤ (C ⊕ (D ⊕ E))` and its inverse form an equivalence. -/ +@[expose] public section + universe v₁ v₂ v₃ u₁ u₂ u₃ diff --git a/Mathlib/CategoryTheory/Sums/Basic.lean b/Mathlib/CategoryTheory/Sums/Basic.lean index 9d36d6fca0e968..3c08ac1c57f8dc 100644 --- a/Mathlib/CategoryTheory/Sums/Basic.lean +++ b/Mathlib/CategoryTheory/Sums/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Robin Carlier -/ -import Mathlib.CategoryTheory.Equivalence +module + +public import Mathlib.CategoryTheory.Equivalence /-! # Binary disjoint unions of categories @@ -33,6 +35,8 @@ to construct isomorphisms between functors out of a sum. We further define sums of functors and natural transformations, written `F.sum G` and `α.sum β`. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Sums/Products.lean b/Mathlib/CategoryTheory/Sums/Products.lean index 529812c0b40237..d2d414dc09961a 100644 --- a/Mathlib/CategoryTheory/Sums/Products.lean +++ b/Mathlib/CategoryTheory/Sums/Products.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Sums.Associator -import Mathlib.CategoryTheory.Products.Associator +module + +public import Mathlib.CategoryTheory.Sums.Associator +public import Mathlib.CategoryTheory.Products.Associator /-! # Functors out of sums of categories. @@ -16,6 +18,8 @@ the product side. -/ +@[expose] public section + namespace CategoryTheory open Functor diff --git a/Mathlib/CategoryTheory/Thin.lean b/Mathlib/CategoryTheory/Thin.lean index a2c9cb1099b9cf..9b29158c69822a 100644 --- a/Mathlib/CategoryTheory/Thin.lean +++ b/Mathlib/CategoryTheory/Thin.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Bhavik Mehta -/ -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Iso +module + +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Iso /-! # Thin categories @@ -19,6 +21,8 @@ Further, to show two objects are isomorphic in a thin category, it suffices only in each direction. -/ +@[expose] public section + universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/Topos/Classifier.lean b/Mathlib/CategoryTheory/Topos/Classifier.lean index fceb5b45d7ee45..51001a1fa5935f 100644 --- a/Mathlib/CategoryTheory/Topos/Classifier.lean +++ b/Mathlib/CategoryTheory/Topos/Classifier.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Charlie Conneen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Charlie Conneen, Pablo Donato, Klaus Gy -/ -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq -import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced -import Mathlib.CategoryTheory.Subobject.Presheaf +module + +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.Limits.Shapes.Pullback.CommSq +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced +public import Mathlib.CategoryTheory.Subobject.Presheaf /-! @@ -51,6 +53,8 @@ Let `C` refer to a category with a terminal object. -/ +@[expose] public section + universe u v u₀ v₀ namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/Adjunction.lean b/Mathlib/CategoryTheory/Triangulated/Adjunction.lean index 9b0cd35f8851ab..c880eaee55eb8f 100644 --- a/Mathlib/CategoryTheory/Triangulated/Adjunction.lean +++ b/Mathlib/CategoryTheory/Triangulated/Adjunction.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Sophie Morel -/ -import Mathlib.CategoryTheory.Triangulated.Functor -import Mathlib.CategoryTheory.Shift.Adjunction -import Mathlib.CategoryTheory.Adjunction.Additive -import Mathlib.CategoryTheory.Adjunction.Opposites -import Mathlib.CategoryTheory.Triangulated.Opposite.Functor +module + +public import Mathlib.CategoryTheory.Triangulated.Functor +public import Mathlib.CategoryTheory.Shift.Adjunction +public import Mathlib.CategoryTheory.Adjunction.Additive +public import Mathlib.CategoryTheory.Adjunction.Opposites +public import Mathlib.CategoryTheory.Triangulated.Opposite.Functor /-! # The adjoint functor is triangulated @@ -31,6 +33,8 @@ if `E : C ≌ D` is an equivalence of pretriangulated categories, then -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/Basic.lean b/Mathlib/CategoryTheory/Triangulated/Basic.lean index fc703305b1e2ef..15b6396d893d9e 100644 --- a/Mathlib/CategoryTheory/Triangulated/Basic.lean +++ b/Mathlib/CategoryTheory/Triangulated/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Luke Kershaw. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Luke Kershaw -/ -import Mathlib.CategoryTheory.Adjunction.Limits -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts -import Mathlib.CategoryTheory.Shift.Basic +module + +public import Mathlib.CategoryTheory.Adjunction.Limits +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts +public import Mathlib.CategoryTheory.Shift.Basic /-! # Triangles @@ -17,6 +19,8 @@ It also defines morphisms between these triangles. TODO: generalise this to n-angles in n-angulated categories as in https://arxiv.org/abs/1006.4592 -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Triangulated/Functor.lean b/Mathlib/CategoryTheory/Triangulated/Functor.lean index dcff9c2d062cfc..825ec98e2f1511 100644 --- a/Mathlib/CategoryTheory/Triangulated/Functor.lean +++ b/Mathlib/CategoryTheory/Triangulated/Functor.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Triangulated.Triangulated -import Mathlib.CategoryTheory.ComposableArrows -import Mathlib.CategoryTheory.Shift.CommShift +module + +public import Mathlib.CategoryTheory.Triangulated.Triangulated +public import Mathlib.CategoryTheory.ComposableArrows +public import Mathlib.CategoryTheory.Shift.CommShift /-! # Triangulated functors @@ -19,6 +21,8 @@ distinguished triangles: this defines the typeclass `Functor.IsTriangulated`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory @@ -104,7 +108,7 @@ private theorem mapTriangleCommShiftIso_add noncomputable instance [∀ (n : ℤ), (shiftFunctor C n).Additive] [∀ (n : ℤ), (shiftFunctor D n).Additive] : (F.mapTriangle).CommShift ℤ where iso := F.mapTriangleCommShiftIso - add _ _ := mapTriangleCommShiftIso_add .. + add _ _ := private mapTriangleCommShiftIso_add .. /-- `F.mapTriangle` commutes with the rotation of triangles. -/ @[simps!] diff --git a/Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean b/Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean index 556c171f4c99c1..d97ffa10b15ad1 100644 --- a/Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean +++ b/Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Exact -import Mathlib.CategoryTheory.Shift.ShiftSequence -import Mathlib.CategoryTheory.Triangulated.Functor -import Mathlib.CategoryTheory.Triangulated.Subcategory -import Mathlib.Algebra.Homology.ExactSequence +module + +public import Mathlib.Algebra.Homology.ShortComplex.Exact +public import Mathlib.CategoryTheory.Shift.ShiftSequence +public import Mathlib.CategoryTheory.Triangulated.Functor +public import Mathlib.CategoryTheory.Triangulated.Subcategory +public import Mathlib.Algebra.Homology.ExactSequence /-! # Homological functors @@ -44,6 +46,8 @@ for "contravariant" functors (i.e. functors `Cᵒᵖ ⥤ A`). -/ +@[expose] public section + namespace CategoryTheory open Category Limits Pretriangulated ZeroObject Preadditive diff --git a/Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean b/Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean index e19436bc914280..dd1a626e4880ad 100644 --- a/Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean +++ b/Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.CategoryTheory.Shift.Opposite -import Mathlib.CategoryTheory.Shift.Pullback +module + +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.CategoryTheory.Shift.Opposite +public import Mathlib.CategoryTheory.Shift.Pullback /-! # The shift on the opposite category of a pretriangulated category @@ -32,6 +34,8 @@ functor is `shiftFunctor Cᵒᵖ n` and whose inverse functor is `(shiftFunctor -/ +@[expose] public section + namespace CategoryTheory open Category Limits Preadditive ZeroObject diff --git a/Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean b/Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean index 75de49aa48c2ab..b773b2bd739917 100644 --- a/Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean +++ b/Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated -import Mathlib.CategoryTheory.Adjunction.Opposites +module + +public import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated +public import Mathlib.CategoryTheory.Adjunction.Opposites /-! # Opposites of functors between pretriangulated categories, @@ -20,6 +22,8 @@ given by `CategoryTheory.Pretriangulated.triangleOpEquivalence`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean b/Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean index cc82cbb68a9c2f..ccfe0f3195f085 100644 --- a/Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean +++ b/Mathlib/CategoryTheory/Triangulated/Opposite/Pretriangulated.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Triangulated.Opposite.Triangle -import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor +module + +public import Mathlib.CategoryTheory.Triangulated.Opposite.Triangle +public import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor /-! # The (pre)triangulated structure on the opposite category @@ -31,6 +33,8 @@ in [Verdiers's thesis, p. 96][verdier1996] which would require that the triangle -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean b/Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean index fb5d284e2f4289..559443e16fc8ae 100644 --- a/Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean +++ b/Mathlib/CategoryTheory/Triangulated/Opposite/Triangle.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Triangulated.Basic -import Mathlib.CategoryTheory.Triangulated.Opposite.Basic +module + +public import Mathlib.CategoryTheory.Triangulated.Basic +public import Mathlib.CategoryTheory.Triangulated.Opposite.Basic /-! # Triangles in the opposite category of a (pre)triangulated category @@ -23,6 +25,8 @@ between `(Triangle C)ᵒᵖ` and `Triangle Cᵒᵖ`, called -/ +@[expose] public section + namespace CategoryTheory.Pretriangulated open Category Limits Preadditive ZeroObject Opposite diff --git a/Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean b/Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean index ab2aa9892717f1..7234d7b6e1770c 100644 --- a/Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean +++ b/Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Luke Kershaw. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Luke Kershaw, Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Basic -import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts -import Mathlib.CategoryTheory.Triangulated.TriangleShift +module + +public import Mathlib.Algebra.Homology.ShortComplex.Basic +public import Mathlib.CategoryTheory.Limits.Constructions.FiniteProductsOfBinaryProducts +public import Mathlib.CategoryTheory.Triangulated.TriangleShift /-! # Pretriangulated Categories @@ -21,6 +23,8 @@ but not necessarily additive categories, as is assumed in some sources. TODO: generalise this to n-angulated categories as in https://arxiv.org/abs/1006.4592 -/ +@[expose] public section + assert_not_exists TwoSidedIdeal noncomputable section diff --git a/Mathlib/CategoryTheory/Triangulated/Rotate.lean b/Mathlib/CategoryTheory/Triangulated/Rotate.lean index cb16745146e066..c2b6431d0e6c79 100644 --- a/Mathlib/CategoryTheory/Triangulated/Rotate.lean +++ b/Mathlib/CategoryTheory/Triangulated/Rotate.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Luke Kershaw. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Luke Kershaw -/ -import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor -import Mathlib.CategoryTheory.Triangulated.Basic +module + +public import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor +public import Mathlib.CategoryTheory.Triangulated.Basic /-! # Rotate @@ -14,6 +16,8 @@ It also shows that rotation gives an equivalence on the category of triangles. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/CategoryTheory/Triangulated/Subcategory.lean b/Mathlib/CategoryTheory/Triangulated/Subcategory.lean index 1dc76e4cc1af00..67e2b69526118b 100644 --- a/Mathlib/CategoryTheory/Triangulated/Subcategory.lean +++ b/Mathlib/CategoryTheory/Triangulated/Subcategory.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Localization.CalculusOfFractions -import Mathlib.CategoryTheory.Localization.Triangulated -import Mathlib.CategoryTheory.ObjectProperty.ContainsZero -import Mathlib.CategoryTheory.ObjectProperty.Shift -import Mathlib.CategoryTheory.Shift.Localization +module + +public import Mathlib.CategoryTheory.Localization.CalculusOfFractions +public import Mathlib.CategoryTheory.Localization.Triangulated +public import Mathlib.CategoryTheory.ObjectProperty.ContainsZero +public import Mathlib.CategoryTheory.ObjectProperty.Shift +public import Mathlib.CategoryTheory.Shift.Localization /-! # Triangulated subcategories @@ -38,6 +40,8 @@ of an additive category is not closed under isomorphisms. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean b/Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean index 6bfe27c5ac7ce7..40c82896547c7f 100644 --- a/Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean +++ b/Mathlib/CategoryTheory/Triangulated/TStructure/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.ObjectProperty.Shift -import Mathlib.CategoryTheory.Triangulated.Pretriangulated +module + +public import Mathlib.CategoryTheory.ObjectProperty.Shift +public import Mathlib.CategoryTheory.Triangulated.Pretriangulated /-! # t-structures on triangulated categories @@ -38,6 +40,8 @@ use depending on the context. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Triangulated/TriangleShift.lean b/Mathlib/CategoryTheory/Triangulated/TriangleShift.lean index 2ef81f0f7fdab4..353cdb955b3961 100644 --- a/Mathlib/CategoryTheory/Triangulated/TriangleShift.lean +++ b/Mathlib/CategoryTheory/Triangulated/TriangleShift.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.CategoryTheory.Triangulated.Rotate -import Mathlib.Algebra.Ring.NegOnePow +module + +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.CategoryTheory.Triangulated.Rotate +public import Mathlib.Algebra.Ring.NegOnePow /-! # The shift on the category of triangles @@ -20,6 +22,8 @@ Johan Commelin and Andrew Yang during the Liquid Tensor Experiment. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal universe v u diff --git a/Mathlib/CategoryTheory/Triangulated/Triangulated.lean b/Mathlib/CategoryTheory/Triangulated/Triangulated.lean index d2a25cb782aa34..9f5ac21fe8b74c 100644 --- a/Mathlib/CategoryTheory/Triangulated/Triangulated.lean +++ b/Mathlib/CategoryTheory/Triangulated/Triangulated.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Triangulated.Pretriangulated +module + +public import Mathlib.CategoryTheory.Triangulated.Pretriangulated /-! # Triangulated Categories @@ -13,6 +15,8 @@ pretriangulated categories which satisfy the octahedron axiom. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal noncomputable section diff --git a/Mathlib/CategoryTheory/Triangulated/Yoneda.lean b/Mathlib/CategoryTheory/Triangulated/Yoneda.lean index 66b6c93a89e04d..990ca0e6ff5244 100644 --- a/Mathlib/CategoryTheory/Triangulated/Yoneda.lean +++ b/Mathlib/CategoryTheory/Triangulated/Yoneda.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.Ab -import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic -import Mathlib.CategoryTheory.Shift.ShiftedHomOpposite -import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor -import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated +module + +public import Mathlib.Algebra.Homology.ShortComplex.Ab +public import Mathlib.CategoryTheory.Preadditive.Yoneda.Basic +public import Mathlib.CategoryTheory.Shift.ShiftedHomOpposite +public import Mathlib.CategoryTheory.Triangulated.HomologicalFunctor +public import Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated /-! # The Yoneda functors are homological @@ -18,6 +20,8 @@ functors `preadditiveCoyoneda.obj A : C ⥤ AddCommGrpCat` for `A : Cᵒᵖ` and -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open CategoryTheory Limits diff --git a/Mathlib/CategoryTheory/Types/Basic.lean b/Mathlib/CategoryTheory/Types/Basic.lean index e40c975ed7a8d7..ad9f6cd71c8500 100644 --- a/Mathlib/CategoryTheory/Types/Basic.lean +++ b/Mathlib/CategoryTheory/Types/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stephen Morgan, Kim Morrison, Johannes Hölzl -/ -import Mathlib.CategoryTheory.EpiMono -import Mathlib.Data.Set.CoeSort -import Mathlib.Tactic.PPWithUniv -import Mathlib.Tactic.ToAdditive +module + +public import Mathlib.CategoryTheory.EpiMono +public import Mathlib.Data.Set.CoeSort +public import Mathlib.Tactic.PPWithUniv +public import Mathlib.Tactic.ToAdditive /-! # The category `Type`. @@ -30,6 +32,8 @@ We prove some basic facts about the category `Type`: (the corresponding fact about monads is in `Mathlib/CategoryTheory/Monad/Types.lean`). -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Types/Monomorphisms.lean b/Mathlib/CategoryTheory/Types/Monomorphisms.lean index 657dd6758541f2..f208a368510a91 100644 --- a/Mathlib/CategoryTheory/Types/Monomorphisms.lean +++ b/Mathlib/CategoryTheory/Types/Monomorphisms.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Limits.Connected -import Mathlib.CategoryTheory.Limits.Types.Filtered -import Mathlib.CategoryTheory.MorphismProperty.Limits +module + +public import Mathlib.CategoryTheory.Limits.Connected +public import Mathlib.CategoryTheory.Limits.Types.Filtered +public import Mathlib.CategoryTheory.MorphismProperty.Limits /-! # Stability properties of monomorphisms in `Type` @@ -21,6 +23,8 @@ in the file `CategoryTheory.MorphismProperty.Retract`.) -/ +@[expose] public section + universe v' u' u namespace CategoryTheory.Types diff --git a/Mathlib/CategoryTheory/Types/Set.lean b/Mathlib/CategoryTheory/Types/Set.lean index 73cdd5af2f14f3..41c4e8b3e29b87 100644 --- a/Mathlib/CategoryTheory/Types/Set.lean +++ b/Mathlib/CategoryTheory/Types/Set.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Data.Set.Basic +module + +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Data.Set.Basic /-! # The functor from `Set X` to types @@ -15,6 +17,8 @@ which sends `A : Set X` to its underlying type. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/CategoryTheory/UnivLE.lean b/Mathlib/CategoryTheory/UnivLE.lean index ee77ed93a1fc3d..df78e72fe05a02 100644 --- a/Mathlib/CategoryTheory/UnivLE.lean +++ b/Mathlib/CategoryTheory/UnivLE.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.EssentialImage -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Logic.UnivLE +module + +public import Mathlib.CategoryTheory.EssentialImage +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Logic.UnivLE /-! # Universe inequalities and essential surjectivity of `uliftFunctor`. @@ -13,6 +15,8 @@ import Mathlib.Logic.UnivLE We show `UnivLE.{max u v, v} ↔ EssSurj (uliftFunctor.{u, v} : Type v ⥤ Type max u v)`. -/ +@[expose] public section + open CategoryTheory universe u v diff --git a/Mathlib/CategoryTheory/Whiskering.lean b/Mathlib/CategoryTheory/Whiskering.lean index 36a5ee502770a4..c72403a07053d9 100644 --- a/Mathlib/CategoryTheory/Whiskering.lean +++ b/Mathlib/CategoryTheory/Whiskering.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Tactic.CategoryTheory.IsoReassoc -import Mathlib.CategoryTheory.Functor.Category -import Mathlib.CategoryTheory.Functor.FullyFaithful +module + +public import Mathlib.Tactic.CategoryTheory.IsoReassoc +public import Mathlib.CategoryTheory.Functor.Category +public import Mathlib.CategoryTheory.Functor.FullyFaithful /-! # Whiskering @@ -25,6 +27,8 @@ We show the associators an unitor natural isomorphisms satisfy the triangle and identities. -/ +@[expose] public section + namespace CategoryTheory diff --git a/Mathlib/CategoryTheory/Widesubcategory.lean b/Mathlib/CategoryTheory/Widesubcategory.lean index 4a9779b92eb3b7..836072885375ae 100644 --- a/Mathlib/CategoryTheory/Widesubcategory.lean +++ b/Mathlib/CategoryTheory/Widesubcategory.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sina Hazratpour. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sina Hazratpour -/ -import Mathlib.CategoryTheory.Functor.FullyFaithful -import Mathlib.CategoryTheory.MorphismProperty.Composition +module + +public import Mathlib.CategoryTheory.Functor.FullyFaithful +public import Mathlib.CategoryTheory.MorphismProperty.Composition /-! # Wide subcategories @@ -24,6 +26,8 @@ whose objects are the objects of `C` and morphisms are the morphisms in `C` whic property `P`. -/ +@[expose] public section + namespace CategoryTheory universe v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/WithTerminal.lean b/Mathlib/CategoryTheory/WithTerminal.lean index d48cfd80da53ad..70e67006949612 100644 --- a/Mathlib/CategoryTheory/WithTerminal.lean +++ b/Mathlib/CategoryTheory/WithTerminal.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith, Adam Topaz -/ -import Mathlib.CategoryTheory.WithTerminal.Basic +module + +public import Mathlib.CategoryTheory.WithTerminal.Basic deprecated_module (since := "2025-04-10") diff --git a/Mathlib/CategoryTheory/WithTerminal/Basic.lean b/Mathlib/CategoryTheory/WithTerminal/Basic.lean index 2f560b76fa9948..5f072fcd16ae50 100644 --- a/Mathlib/CategoryTheory/WithTerminal/Basic.lean +++ b/Mathlib/CategoryTheory/WithTerminal/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith, Adam Topaz -/ -import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks -import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor +module + +public import Mathlib.CategoryTheory.Limits.Shapes.IsTerminal +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks +public import Mathlib.CategoryTheory.Bicategory.Functor.Pseudofunctor /-! @@ -38,6 +40,8 @@ from `Cat` to `Cat`. -/ +@[expose] public section + namespace CategoryTheory @@ -448,7 +452,7 @@ instance subsingleton_hom {J : Type*} : Quiver.IsThin (WithTerminal (Discrete J) /-- Implementation detail for `widePullbackShapeEquiv`. -/ @[simps apply] -private def widePullbackShapeEquivObj {J : Type*} : +def widePullbackShapeEquivObj {J : Type*} : WidePullbackShape J ≃ WithTerminal (Discrete J) where toFun | .some x => .of <| .mk x @@ -488,9 +492,10 @@ TODO: Should we simply replace `WidePullbackShape J` with `WithTerminal (Discret @[simps! functor_obj inverse_obj] def widePullbackShapeEquiv {J : Type*} : WidePullbackShape J ≌ WithTerminal (Discrete J) where functor.obj := widePullbackShapeEquivObj - functor.map := widePullbackShapeEquivMap _ _ + functor.map := private widePullbackShapeEquivMap _ _ inverse.obj := widePullbackShapeEquivObj.symm - inverse.map f := (widePullbackShapeEquivMap _ _).symm (eqToHom (by simp) ≫ f ≫ eqToHom (by simp)) + inverse.map f := private + (widePullbackShapeEquivMap _ _).symm (eqToHom (by simp) ≫ f ≫ eqToHom (by simp)) unitIso := NatIso.ofComponents fun x ↦ eqToIso (by aesop) counitIso := NatIso.ofComponents fun x ↦ eqToIso (by aesop) diff --git a/Mathlib/CategoryTheory/WithTerminal/Cone.lean b/Mathlib/CategoryTheory/WithTerminal/Cone.lean index 44db425efeb726..00cd4421e3d66b 100644 --- a/Mathlib/CategoryTheory/WithTerminal/Cone.lean +++ b/Mathlib/CategoryTheory/WithTerminal/Cone.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Moisés Herradón Cueto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moisés Herradón Cueto -/ -import Mathlib.CategoryTheory.Comma.Over.Basic -import Mathlib.CategoryTheory.WithTerminal.Basic +module + +public import Mathlib.CategoryTheory.Comma.Over.Basic +public import Mathlib.CategoryTheory.WithTerminal.Basic /-! # Relations between `Cone`, `WithTerminal` and `Over` @@ -15,6 +17,8 @@ object to `X`. These two functors have equivalent categories of cones (`coneEqui As a corollary, the limit of `K` is the limit of `liftFromOver K`, and vice-versa. -/ +@[expose] public section + open CategoryTheory Limits universe w w' v₁ v₂ u₁ u₂ diff --git a/Mathlib/CategoryTheory/WithTerminal/FinCategory.lean b/Mathlib/CategoryTheory/WithTerminal/FinCategory.lean index deb092646fa530..69d652bbfc1ff7 100644 --- a/Mathlib/CategoryTheory/WithTerminal/FinCategory.lean +++ b/Mathlib/CategoryTheory/WithTerminal/FinCategory.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Moisés Herradón Cueto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moisés Herradón Cueto -/ -import Mathlib.CategoryTheory.FinCategory.Basic -import Mathlib.CategoryTheory.WithTerminal.Basic -import Mathlib.Data.Fintype.Option +module + +public import Mathlib.CategoryTheory.FinCategory.Basic +public import Mathlib.CategoryTheory.WithTerminal.Basic +public import Mathlib.Data.Fintype.Option /-! @@ -16,6 +18,8 @@ and likewise if `C` has finitely many morphisms as well. -/ +@[expose] public section + universe v u diff --git a/Mathlib/CategoryTheory/WithTerminal/Lemmas.lean b/Mathlib/CategoryTheory/WithTerminal/Lemmas.lean index d3b01f6a83314f..56aa8efb50c219 100644 --- a/Mathlib/CategoryTheory/WithTerminal/Lemmas.lean +++ b/Mathlib/CategoryTheory/WithTerminal/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.CategoryTheory.WithTerminal.Basic +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.CategoryTheory.WithTerminal.Basic /-! # Further lemmas on `WithTerminal` @@ -12,6 +14,8 @@ import Mathlib.CategoryTheory.WithTerminal.Basic These lemmas and instances need more imports. -/ +@[expose] public section + namespace CategoryTheory variable {C : Type*} [Category C] diff --git a/Mathlib/CategoryTheory/Yoneda.lean b/Mathlib/CategoryTheory/Yoneda.lean index 36275becb76774..07233636938917 100644 --- a/Mathlib/CategoryTheory/Yoneda.lean +++ b/Mathlib/CategoryTheory/Yoneda.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Functor.Hom -import Mathlib.CategoryTheory.Products.Basic -import Mathlib.Data.ULift -import Mathlib.Logic.Function.ULift +module + +public import Mathlib.CategoryTheory.Functor.Hom +public import Mathlib.CategoryTheory.Products.Basic +public import Mathlib.Data.ULift +public import Mathlib.Logic.Function.ULift /-! # The Yoneda embedding @@ -20,6 +22,8 @@ Also the Yoneda lemma, `yonedaLemma : (yoneda_pairing C) ≅ (yoneda_evaluation * [Stacks: Opposite Categories and the Yoneda Lemma](https://stacks.math.columbia.edu/tag/001L) -/ +@[expose] public section + namespace CategoryTheory open Opposite Functor diff --git a/Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean b/Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean index 0c42923595c65a..ba0ec4dc03023a 100644 --- a/Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean +++ b/Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Analysis.Complex.ExponentialBounds -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Combinatorics.Additive.AP.Three.Defs -import Mathlib.Combinatorics.Pigeonhole +module + +public import Mathlib.Analysis.Complex.ExponentialBounds +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Combinatorics.Additive.AP.Three.Defs +public import Mathlib.Combinatorics.Pigeonhole /-! # Behrend's bound on Roth numbers @@ -43,6 +45,8 @@ integer points on that sphere and map them onto `ℕ` in a way that preserves ar 3AP-free, Salem-Spencer, Behrend construction, arithmetic progression, sphere, strictly convex -/ +@[expose] public section + assert_not_exists IsConformalMap Conformal open Nat hiding log diff --git a/Mathlib/Combinatorics/Additive/AP/Three/Defs.lean b/Mathlib/Combinatorics/Additive/AP/Three/Defs.lean index 57a8e4a1645d52..8744f30aea1e75 100644 --- a/Mathlib/Combinatorics/Additive/AP/Three/Defs.lean +++ b/Mathlib/Combinatorics/Additive/AP/Three/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Order.Interval.Finset.Basic -import Mathlib.Combinatorics.Additive.FreimanHom -import Mathlib.Order.Interval.Finset.Fin -import Mathlib.Algebra.Group.Pointwise.Set.Scalar +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Order.Interval.Finset.Basic +public import Mathlib.Combinatorics.Additive.FreimanHom +public import Mathlib.Order.Interval.Finset.Fin +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar /-! # Sets without arithmetic progressions of length three and Roth numbers @@ -44,6 +46,8 @@ the size of the biggest 3AP-free subset of `{0, ..., n - 1}`. 3AP-free, Salem-Spencer, Roth, arithmetic progression, average, three-free -/ +@[expose] public section + assert_not_exists Field Ideal TwoSidedIdeal open Finset Function diff --git a/Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean b/Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean index 3549d9d5b44e95..5342a61c6264ad 100644 --- a/Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean +++ b/Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Combinatorics.Additive.CovBySMul -import Mathlib.Combinatorics.Additive.RuzsaCovering -import Mathlib.Combinatorics.Additive.SmallTripling +module + +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Combinatorics.Additive.CovBySMul +public import Mathlib.Combinatorics.Additive.RuzsaCovering +public import Mathlib.Combinatorics.Additive.SmallTripling /-! # Approximate subgroups @@ -34,6 +36,8 @@ It can be readily confirmed that approximate subgroups are a weakening of subgro * `isApproximateSubgroup_one`: A 1-approximate subgroup is the same thing as a subgroup. -/ +@[expose] public section + open scoped Finset Pointwise variable {G : Type*} [Group G] {A B : Set G} {K L : ℝ} {m n : ℕ} diff --git a/Mathlib/Combinatorics/Additive/CauchyDavenport.lean b/Mathlib/Combinatorics/Additive/CauchyDavenport.lean index 6c1cc09b7737d6..b043c2ebb4ad4a 100644 --- a/Mathlib/Combinatorics/Additive/CauchyDavenport.lean +++ b/Mathlib/Combinatorics/Additive/CauchyDavenport.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.Additive.ETransform -import Mathlib.GroupTheory.Order.Min +module + +public import Mathlib.Combinatorics.Additive.ETransform +public import Mathlib.GroupTheory.Order.Min /-! # The Cauchy-Davenport theorem @@ -49,6 +51,8 @@ Version for `circle`. additive combinatorics, number theory, sumset, cauchy-davenport -/ +@[expose] public section + open Finset Function Monoid MulOpposite Subgroup open scoped Pointwise diff --git a/Mathlib/Combinatorics/Additive/Convolution.lean b/Mathlib/Combinatorics/Additive/Convolution.lean index 6ac99fa45924d1..ad78b7cb197fbf 100644 --- a/Mathlib/Combinatorics/Additive/Convolution.lean +++ b/Mathlib/Combinatorics/Additive/Convolution.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yaël Dillies, Strahinja Gvozdić, Bhavik Mehta. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Strahinja Gvozdić, Bhavik Mehta -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset /-! # Convolution @@ -14,6 +16,8 @@ that maps `x ∈ G` to the number of distinct representations of `x` in the form well as under the left and right actions on `A`, `B`, and the function argument. -/ +@[expose] public section + open MulOpposite MulAction open scoped Pointwise RightActions diff --git a/Mathlib/Combinatorics/Additive/Corner/Defs.lean b/Mathlib/Combinatorics/Additive/Corner/Defs.lean index 327af7bb763c0b..6909ddc9e24dcc 100644 --- a/Mathlib/Combinatorics/Additive/Corner/Defs.lean +++ b/Mathlib/Combinatorics/Additive/Corner/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.Additive.FreimanHom +module + +public import Mathlib.Combinatorics.Additive.FreimanHom /-! # Corners @@ -17,6 +19,8 @@ property of being corner-free. * [Wikipedia, *Corners theorem*](https://en.wikipedia.org/wiki/Corners_theorem) -/ +@[expose] public section + assert_not_exists Field Ideal TwoSidedIdeal open Set diff --git a/Mathlib/Combinatorics/Additive/Corner/Roth.lean b/Mathlib/Combinatorics/Additive/Corner/Roth.lean index 98f7d0c73f75b7..1766df6c0a6170 100644 --- a/Mathlib/Combinatorics/Additive/Corner/Roth.lean +++ b/Mathlib/Combinatorics/Additive/Corner/Roth.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.Additive.AP.Three.Defs -import Mathlib.Combinatorics.Additive.Corner.Defs -import Mathlib.Combinatorics.SimpleGraph.Triangle.Removal -import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite +module + +public import Mathlib.Combinatorics.Additive.AP.Three.Defs +public import Mathlib.Combinatorics.Additive.Corner.Defs +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Removal +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite /-! # The corners theorem and Roth's theorem @@ -19,6 +21,8 @@ This file proves the corners theorem and Roth's theorem on arithmetic progressio * [Wikipedia, *Corners theorem*](https://en.wikipedia.org/wiki/Corners_theorem) -/ +@[expose] public section + open Finset SimpleGraph TripartiteFromTriangles open Function hiding graph open Fintype (card) diff --git a/Mathlib/Combinatorics/Additive/CovBySMul.lean b/Mathlib/Combinatorics/Additive/CovBySMul.lean index 024ae57dd9ff3f..9ea817ab4b8f27 100644 --- a/Mathlib/Combinatorics/Additive/CovBySMul.lean +++ b/Mathlib/Combinatorics/Additive/CovBySMul.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.Scalar -import Mathlib.Data.Real.Basic -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.Scalar +public import Mathlib.Data.Real.Basic +public import Mathlib.Tactic.Positivity.Basic /-! # Relation of covering by cosets @@ -16,6 +18,8 @@ This file defines a predicate for a set to be covered by at most `K` cosets of a This is a fundamental relation to study in additive combinatorics. -/ +@[expose] public section + open scoped Finset Pointwise variable {M N X : Type*} [Monoid M] [Monoid N] [MulAction M X] [MulAction N X] {K L : ℝ} diff --git a/Mathlib/Combinatorics/Additive/Dissociation.lean b/Mathlib/Combinatorics/Additive/Dissociation.lean index fa1025d5f1ac47..a390f48b66451b 100644 --- a/Mathlib/Combinatorics/Additive/Dissociation.lean +++ b/Mathlib/Combinatorics/Additive/Dissociation.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Fintype.Pi -import Mathlib.Order.Preorder.Finite +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Order.Preorder.Finite /-! # Dissociation and span @@ -24,6 +26,8 @@ independence and linear span of sets in a vector space but where the scalars are * `Finset.mulSpan`/`Finset.addSpan`: Span of a finset. -/ +@[expose] public section + variable {α β : Type*} [CommGroup α] [CommGroup β] section dissociation diff --git a/Mathlib/Combinatorics/Additive/DoublingConst.lean b/Mathlib/Combinatorics/Additive/DoublingConst.lean index f3a8e74c484ca0..e10a6b1d546b1e 100644 --- a/Mathlib/Combinatorics/Additive/DoublingConst.lean +++ b/Mathlib/Combinatorics/Additive/DoublingConst.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.Additive.PluenneckeRuzsa -import Mathlib.Data.Finset.Density +module + +public import Mathlib.Combinatorics.Additive.PluenneckeRuzsa +public import Mathlib.Data.Finset.Density /-! # Doubling and difference constants @@ -12,6 +14,8 @@ import Mathlib.Data.Finset.Density This file defines the doubling and difference constants of two finsets in a group. -/ +@[expose] public section + open Finset open scoped Pointwise diff --git a/Mathlib/Combinatorics/Additive/ETransform.lean b/Mathlib/Combinatorics/Additive/ETransform.lean index d9d0d295864602..2ff6e9822a0d3a 100644 --- a/Mathlib/Combinatorics/Additive/ETransform.lean +++ b/Mathlib/Combinatorics/Additive/ETransform.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Algebra.Ring.Nat +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Algebra.Ring.Nat /-! # e-transforms @@ -28,6 +30,8 @@ as internals of other proofs. Prove the invariance property of the Dyson e-transform. -/ +@[expose] public section + open MulOpposite diff --git a/Mathlib/Combinatorics/Additive/Energy.lean b/Mathlib/Combinatorics/Additive/Energy.lean index a8f17fa5c708a4..6855c49ce56e28 100644 --- a/Mathlib/Combinatorics/Additive/Energy.lean +++ b/Mathlib/Combinatorics/Additive/Energy.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Ella Yu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Ella Yu -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Fintype.Prod -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Additive energy @@ -34,6 +36,8 @@ It's possibly interesting to have (whose `card` is `mulEnergy s t`) as a standalone definition. -/ +@[expose] public section + open scoped Pointwise variable {α : Type*} [DecidableEq α] diff --git a/Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean b/Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean index 1a3a3bd032caa4..96d5447d6a7614 100644 --- a/Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean +++ b/Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Data.Multiset.Fintype -import Mathlib.FieldTheory.ChevalleyWarning +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Data.Multiset.Fintype +public import Mathlib.FieldTheory.ChevalleyWarning /-! # The Erdős–Ginzburg–Ziv theorem @@ -20,6 +22,8 @@ elements of sum zero. * `ZMod.erdos_ginzburg_ziv`: The Erdős–Ginzburg–Ziv theorem stated using sequences in `ZMod n` -/ +@[expose] public section + open Finset MvPolynomial variable {ι : Type*} diff --git a/Mathlib/Combinatorics/Additive/FreimanHom.lean b/Mathlib/Combinatorics/Additive/FreimanHom.lean index c253302b1df7d2..60c553139225e8 100644 --- a/Mathlib/Combinatorics/Additive/FreimanHom.lean +++ b/Mathlib/Combinatorics/Additive/FreimanHom.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.Order.BigOperators.Group.Multiset -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.ZMod.Defs +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.Order.BigOperators.Group.Multiset +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.ZMod.Defs /-! # Freiman homomorphisms @@ -60,6 +62,8 @@ an `AddMonoid`/`Monoid` instead of the `AddMonoid`/`Monoid` itself. * Affine maps are Freiman homomorphisms. -/ +@[expose] public section + assert_not_exists Field Ideal TwoSidedIdeal open Multiset Set diff --git a/Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean b/Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean index 13db6ff7506309..54ac39babe7439 100644 --- a/Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean +++ b/Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Yaël Dillies, George Shakan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, George Shakan -/ -import Mathlib.Algebra.Order.Field.Rat -import Mathlib.Combinatorics.Enumerative.DoubleCounting -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.Positivity -import Mathlib.Tactic.Ring -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Order.Field.Rat +public import Mathlib.Combinatorics.Enumerative.DoubleCounting +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.Positivity +public import Mathlib.Tactic.Ring +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # The Plünnecke-Ruzsa inequality @@ -35,6 +37,8 @@ In general non-abelian groups, small doubling doesn't imply small powers anymore does. See `Mathlib/Combinatorics/Additive/SmallTripling.lean`. -/ +@[expose] public section + open MulOpposite Nat open scoped Pointwise namespace Finset diff --git a/Mathlib/Combinatorics/Additive/Randomisation.lean b/Mathlib/Combinatorics/Additive/Randomisation.lean index 11ebcf188813bc..fd34aecc0c186e 100644 --- a/Mathlib/Combinatorics/Additive/Randomisation.lean +++ b/Mathlib/Combinatorics/Additive/Randomisation.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality -import Mathlib.Combinatorics.Additive.Dissociation +module + +public import Mathlib.Analysis.Fourier.FiniteAbelian.Orthogonality +public import Mathlib.Combinatorics.Additive.Dissociation /-! # Randomising by a function of dissociated support @@ -17,6 +19,8 @@ Precisely, for `G` a finite abelian group and two functions `c : AddChar G ℂ the same as the average over `a` of the product of the `c ψ + Re (d ψ * ψ a)`. -/ +@[expose] public section + open Finset open scoped BigOperators ComplexConjugate diff --git a/Mathlib/Combinatorics/Additive/RuzsaCovering.lean b/Mathlib/Combinatorics/Additive/RuzsaCovering.lean index 1197adfd03fe76..aef8c7135c4bd4 100644 --- a/Mathlib/Combinatorics/Additive/RuzsaCovering.lean +++ b/Mathlib/Combinatorics/Additive/RuzsaCovering.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Data.Real.Basic -import Mathlib.Order.Preorder.Finite -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.Tactic.Positivity.Finset +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Data.Real.Basic +public import Mathlib.Order.Preorder.Finite +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Tactic.Positivity.Finset /-! # Ruzsa's covering lemma @@ -16,6 +18,8 @@ This file proves the Ruzsa covering lemma. This says that, for `A`, `B` finsets, with at most `#(A + B) / #B` copies of `B - B`. -/ +@[expose] public section + open scoped Pointwise variable {G : Type*} [Group G] {K : ℝ} diff --git a/Mathlib/Combinatorics/Additive/SmallTripling.lean b/Mathlib/Combinatorics/Additive/SmallTripling.lean index 9d4e756fd9fda8..f8c538b30b1c41 100644 --- a/Mathlib/Combinatorics/Additive/SmallTripling.lean +++ b/Mathlib/Combinatorics/Additive/SmallTripling.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.Additive.PluenneckeRuzsa -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Real.Basic -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Tactic.Ring +module + +public import Mathlib.Combinatorics.Additive.PluenneckeRuzsa +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Real.Basic +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.NormNum +public import Mathlib.Tactic.Positivity.Finset +public import Mathlib.Tactic.Ring /-! # Small tripling implies small powers @@ -23,6 +25,8 @@ In abelian groups, the Plünnecke-Ruzsa inequality is the stronger statement tha implies small powers. See `Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean`. -/ +@[expose] public section + open Fin MulOpposite open List hiding tail open scoped Pointwise diff --git a/Mathlib/Combinatorics/Additive/VerySmallDoubling.lean b/Mathlib/Combinatorics/Additive/VerySmallDoubling.lean index 850412128c37cf..ffd755c0448bd2 100644 --- a/Mathlib/Combinatorics/Additive/VerySmallDoubling.lean +++ b/Mathlib/Combinatorics/Additive/VerySmallDoubling.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Yaël Dillies, Patrick Luo, Bhavik Mehta. All rights reserved Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Patrick Luo, Bhavik Mehta -/ -import Mathlib.Algebra.Pointwise.Stabilizer -import Mathlib.Combinatorics.Additive.Convolution -import Mathlib.NumberTheory.Real.GoldenRatio -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Positivity -import Mathlib.Tactic.Qify +module + +public import Mathlib.Algebra.Pointwise.Stabilizer +public import Mathlib.Combinatorics.Additive.Convolution +public import Mathlib.NumberTheory.Real.GoldenRatio +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Positivity +public import Mathlib.Tactic.Qify /-! # Sets with very small doubling @@ -34,6 +36,8 @@ For a finset `A` in a group, its *doubling* is `#(A * A) / #A`. This file charac * [*Introduction to approximate groups*, Matthew Tointon][tointon2020] -/ +@[expose] public section + open MulOpposite MulAction open scoped Pointwise RightActions diff --git a/Mathlib/Combinatorics/Colex.lean b/Mathlib/Combinatorics/Colex.lean index 6f58ec91d38f11..a935748ace08db 100644 --- a/Mathlib/Combinatorics/Colex.lean +++ b/Mathlib/Combinatorics/Colex.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Alena Gusakov, Yaël Dillies -/ -import Mathlib.Algebra.Order.Ring.GeomSum -import Mathlib.Data.Finset.Slice -import Mathlib.Data.Nat.BitIndices -import Mathlib.Order.SupClosed -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Algebra.Order.Ring.GeomSum +public import Mathlib.Data.Finset.Slice +public import Mathlib.Data.Nat.BitIndices +public import Mathlib.Order.SupClosed +public import Mathlib.Order.UpperLower.Closure /-! # Colexigraphic order @@ -57,6 +59,8 @@ Related files are: colex, colexicographic, binary -/ +@[expose] public section + open Function variable {α β : Type*} diff --git a/Mathlib/Combinatorics/Configuration.lean b/Mathlib/Combinatorics/Configuration.lean index e0bc24f9acc5f0..604d27f4a6161e 100644 --- a/Mathlib/Combinatorics/Configuration.lean +++ b/Mathlib/Combinatorics/Configuration.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Combinatorics.Hall.Basic -import Mathlib.LinearAlgebra.Matrix.Rank -import Mathlib.LinearAlgebra.Projectivization.Constructions +module + +public import Mathlib.Combinatorics.Hall.Basic +public import Mathlib.LinearAlgebra.Matrix.Rank +public import Mathlib.LinearAlgebra.Projectivization.Constructions /-! # Configurations of Points and lines @@ -31,6 +33,8 @@ Together, these four statements say that any two of the following properties imp -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/Derangements/Basic.lean b/Mathlib/Combinatorics/Derangements/Basic.lean index 936e5c7409b4a5..5840b26313c3f1 100644 --- a/Mathlib/Combinatorics/Derangements/Basic.lean +++ b/Mathlib/Combinatorics/Derangements/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Henry Swanson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henry Swanson -/ -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.GroupTheory.Perm.Option -import Mathlib.Logic.Equiv.Defs -import Mathlib.Logic.Equiv.Option -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.GroupTheory.Perm.Option +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Logic.Equiv.Option +public import Mathlib.Tactic.ApplyFun /-! # Derangements on types @@ -25,6 +27,8 @@ In order to prove the above, we also prove some results about the effect of `Equ on derangements: `RemoveNone.fiber_none` and `RemoveNone.fiber_some`. -/ +@[expose] public section + open Equiv Function diff --git a/Mathlib/Combinatorics/Derangements/Exponential.lean b/Mathlib/Combinatorics/Derangements/Exponential.lean index 076daed178a664..ffe0f22ea01507 100644 --- a/Mathlib/Combinatorics/Derangements/Exponential.lean +++ b/Mathlib/Combinatorics/Derangements/Exponential.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Henry Swanson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henry Swanson, Patrick Massot -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.SpecialFunctions.Exponential -import Mathlib.Combinatorics.Derangements.Finite -import Mathlib.Data.Nat.Cast.Field +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.SpecialFunctions.Exponential +public import Mathlib.Combinatorics.Derangements.Finite +public import Mathlib.Data.Nat.Cast.Field /-! # Derangement exponential series @@ -15,6 +17,8 @@ This file proves that the probability of a permutation on n elements being a der The specific lemma is `numDerangements_tendsto_inv_e`. -/ +@[expose] public section + open Filter NormedSpace diff --git a/Mathlib/Combinatorics/Derangements/Finite.lean b/Mathlib/Combinatorics/Derangements/Finite.lean index 113dd205e0eccd..2d71b71fcfcc5f 100644 --- a/Mathlib/Combinatorics/Derangements/Finite.lean +++ b/Mathlib/Combinatorics/Derangements/Finite.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Henry Swanson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henry Swanson -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Combinatorics.Derangements.Basic -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Combinatorics.Derangements.Basic +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Tactic.Ring /-! # Derangements on fintypes @@ -25,6 +27,8 @@ This file contains lemmas that describe the cardinality of `derangements α` whe factorials. -/ +@[expose] public section + open derangements Equiv Fintype diff --git a/Mathlib/Combinatorics/Digraph/Basic.lean b/Mathlib/Combinatorics/Digraph/Basic.lean index 14e1132be0ae73..46c9f78ea518a1 100644 --- a/Mathlib/Combinatorics/Digraph/Basic.lean +++ b/Mathlib/Combinatorics/Digraph/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Kyle Miller, Jack Cheverton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Jack Cheverton, Jeremy Tan -/ -import Mathlib.Order.CompleteBooleanAlgebra -import Mathlib.Data.Fintype.Pi +module + +public import Mathlib.Order.CompleteBooleanAlgebra +public import Mathlib.Data.Fintype.Pi /-! # Digraphs @@ -32,6 +34,8 @@ of digraphs on `V`. of the complete graph. -/ +@[expose] public section + open Finset Function /-- diff --git a/Mathlib/Combinatorics/Digraph/Orientation.lean b/Mathlib/Combinatorics/Digraph/Orientation.lean index 7c5581bbe53a20..832e0fc8690a81 100644 --- a/Mathlib/Combinatorics/Digraph/Orientation.lean +++ b/Mathlib/Combinatorics/Digraph/Orientation.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rida Hamadani. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rida Hamadani -/ -import Mathlib.Combinatorics.Digraph.Basic -import Mathlib.Combinatorics.SimpleGraph.Basic +module + +public import Mathlib.Combinatorics.Digraph.Basic +public import Mathlib.Combinatorics.SimpleGraph.Basic /-! @@ -32,6 +34,8 @@ the edge orientations of `Digraph`. digraph, simple graph, oriented graphs -/ +@[expose] public section + variable {V : Type*} namespace Digraph diff --git a/Mathlib/Combinatorics/Enumerative/Bell.lean b/Mathlib/Combinatorics/Enumerative/Bell.lean index 740fcb9d210e50..8159f8f40a74ce 100644 --- a/Mathlib/Combinatorics/Enumerative/Bell.lean +++ b/Mathlib/Combinatorics/Enumerative/Bell.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir & María-Inés de Frutos—Fernández. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María-Inés de Frutos—Fernández -/ +module -import Mathlib.Data.Nat.Choose.Multinomial -import Mathlib.Data.Nat.Choose.Mul +public import Mathlib.Data.Nat.Choose.Multinomial +public import Mathlib.Data.Nat.Choose.Mul /-! # Bell numbers for multisets @@ -36,6 +37,8 @@ Prove that it actually counts the number of partitions as indicated. -/ +@[expose] public section + open Multiset Nat namespace Multiset diff --git a/Mathlib/Combinatorics/Enumerative/Catalan.lean b/Mathlib/Combinatorics/Enumerative/Catalan.lean index 0508ca67148a3a..b6e3592ba19107 100644 --- a/Mathlib/Combinatorics/Enumerative/Catalan.lean +++ b/Mathlib/Combinatorics/Enumerative/Catalan.lean @@ -3,12 +3,15 @@ Copyright (c) 2022 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.BigOperators.NatAntidiagonal -import Mathlib.Data.Nat.Choose.Central -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.BigOperators.NatAntidiagonal +public import Mathlib.Data.Nat.Choose.Central +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.Positivity +import Mathlib.Data.Tree.Basic /-! # Catalan numbers @@ -42,6 +45,8 @@ The proof of `catalan_eq_centralBinom_div` follows https://math.stackexchange.co -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/Enumerative/Composition.lean b/Mathlib/Combinatorics/Enumerative/Composition.lean index e45733f666325c..b6e4f825458f0f 100644 --- a/Mathlib/Combinatorics/Enumerative/Composition.lean +++ b/Mathlib/Combinatorics/Enumerative/Composition.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Data.Finset.Sort +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Data.Finset.Sort /-! # Compositions @@ -86,6 +88,8 @@ Composition, partition -/ +@[expose] public section + assert_not_exists Field open List diff --git a/Mathlib/Combinatorics/Enumerative/DoubleCounting.lean b/Mathlib/Combinatorics/Enumerative/DoubleCounting.lean index 373b6c93202dc2..dc327d09ae8c28 100644 --- a/Mathlib/Combinatorics/Enumerative/DoubleCounting.lean +++ b/Mathlib/Combinatorics/Enumerative/DoubleCounting.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Nat +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Nat /-! # Double countings @@ -33,6 +35,8 @@ For the formulation of double-counting arguments where a bipartite graph is cons bipartite simple graph `G : SimpleGraph V`, see `Mathlib/Combinatorics/SimpleGraph/Bipartite.lean`. -/ +@[expose] public section + assert_not_exists Field open Finset Function Relator diff --git a/Mathlib/Combinatorics/Enumerative/DyckWord.lean b/Mathlib/Combinatorics/Enumerative/DyckWord.lean index a8b07d3062dc34..cf90f9af24eeb2 100644 --- a/Mathlib/Combinatorics/Enumerative/DyckWord.lean +++ b/Mathlib/Combinatorics/Enumerative/DyckWord.lean @@ -3,9 +3,12 @@ Copyright (c) 2024 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Batteries.Data.List.Count -import Mathlib.Combinatorics.Enumerative.Catalan -import Mathlib.Tactic.Positivity +module + +public import Batteries.Data.List.Count +public import Mathlib.Combinatorics.Enumerative.Catalan +public import Mathlib.Tactic.Positivity +import Mathlib.Data.Tree.Basic /-! # Dyck words @@ -41,6 +44,8 @@ While any two-valued type could have been used for `DyckStep`, a new enumerated to emphasise that the definition of a Dyck word does not depend on that underlying type. -/ +@[expose] public section + open List /-- A `DyckStep` is either `U` or `D`, corresponding to `(` and `)` respectively. -/ @@ -563,7 +568,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `p.firstReturn` is positive if `p` is nonzero. -/ @[positivity DyckWord.firstReturn _] -def evalDyckWordFirstReturn : PositivityExt where eval {u α} _zα _pα e := do +meta def evalDyckWordFirstReturn : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(DyckWord.firstReturn $a) => let ra ← core q(inferInstance) q(inferInstance) a diff --git a/Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean b/Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean index e630afe65a7900..afab13dc476e14 100644 --- a/Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean +++ b/Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite /-! # Incidence algebras @@ -67,6 +69,8 @@ Here are some additions to this file that could be made in the future: * [Kung, Rota, Yan, *Combinatorics: The Rota Way, Chapter 3*][kung_rota_yan2009] -/ +@[expose] public section + open Finset OrderDual variable {F 𝕜 𝕝 𝕞 α β : Type*} diff --git a/Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean b/Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean index f339eacda9f5f2..35492cb58cadcf 100644 --- a/Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean +++ b/Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Module.BigOperators +module + +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Module.BigOperators /-! # Inclusion-exclusion principle @@ -41,6 +43,8 @@ See also `MeasureTheory.integral_biUnion_eq_sum_powerset` for the version with i * Prove that truncating the series alternatively gives an upper/lower bound to the true value. -/ +@[expose] public section + assert_not_exists Field namespace Finset diff --git a/Mathlib/Combinatorics/Enumerative/Partition.lean b/Mathlib/Combinatorics/Enumerative/Partition.lean index e5e42cc2f1cbcb..f8a6ac7c196a12 100644 --- a/Mathlib/Combinatorics/Enumerative/Partition.lean +++ b/Mathlib/Combinatorics/Enumerative/Partition.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Combinatorics.Enumerative.Composition -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Combinatorics.Enumerative.Composition +public import Mathlib.Tactic.ApplyFun /-! # Partitions @@ -41,6 +43,8 @@ Partition -/ +@[expose] public section + assert_not_exists Field open Multiset diff --git a/Mathlib/Combinatorics/Enumerative/Stirling.lean b/Mathlib/Combinatorics/Enumerative/Stirling.lean index 4d32f513ecf09c..8d4fdef3c634a5 100644 --- a/Mathlib/Combinatorics/Enumerative/Stirling.lean +++ b/Mathlib/Combinatorics/Enumerative/Stirling.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Beibei Xiong. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Beibei Xiong, Yu Shao, Weijie Jiang, Zhengfeng Yang -/ -import Mathlib.Tactic.Ring -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.Nat.Choose.Basic +module + +public import Mathlib.Tactic.Ring +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Nat.Choose.Basic /-! # Stirling Numbers @@ -14,6 +16,8 @@ This file defines Stirling numbers of the first and second kinds, proves their f recurrence relations, and establishes some of their key properties and identities. -/ +@[expose] public section + /-! # The Stirling numbers of the first kind diff --git a/Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean b/Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean index 0f02ece9ad489a..ebda1de20c4483 100644 --- a/Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean +++ b/Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.Additive.AP.Three.Behrend -import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite -import Mathlib.Tactic.Rify +module + +public import Mathlib.Combinatorics.Additive.AP.Three.Behrend +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Tripartite +public import Mathlib.Tactic.Rify /-! # The Ruzsa-Szemerédi problem @@ -25,6 +27,8 @@ original set. `Ω((n ^ 2 * exp (-4 * √(log n))))` edges such that each edge belongs to exactly one triangle. -/ +@[expose] public section + open Finset Nat Real SimpleGraph Sum3 SimpleGraph.TripartiteFromTriangles open Fintype (card) open scoped Pointwise diff --git a/Mathlib/Combinatorics/Graph/Basic.lean b/Mathlib/Combinatorics/Graph/Basic.lean index 0301ed60ecd02f..161b4c1da48630 100644 --- a/Mathlib/Combinatorics/Graph/Basic.lean +++ b/Mathlib/Combinatorics/Graph/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson, Jun Kwon -/ -import Mathlib.Data.Set.Basic -import Mathlib.Data.Sym.Sym2 +module + +public import Mathlib.Data.Set.Basic +public import Mathlib.Data.Sym.Sym2 /-! # Multigraphs @@ -61,6 +63,8 @@ refer to the `vertexSet` and `edgeSet` of `G : Graph α β`. If `G.IsLink e x y` then we refer to `e` as `edge` and `x` and `y` as `left` and `right` in names. -/ +@[expose] public section + variable {α β : Type*} {x y z u v w : α} {e f : β} open Set diff --git a/Mathlib/Combinatorics/HalesJewett.lean b/Mathlib/Combinatorics/HalesJewett.lean index dc10415d124ebb..b554d098bdfc59 100644 --- a/Mathlib/Combinatorics/HalesJewett.lean +++ b/Mathlib/Combinatorics/HalesJewett.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.Data.Fintype.Option -import Mathlib.Data.Fintype.Shrink -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Finite.Prod -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Fintype.Option +public import Mathlib.Data.Fintype.Shrink +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Finite.Prod +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # The Hales-Jewett theorem @@ -64,6 +66,8 @@ combinatorial line, Ramsey theory, arithmetic progression -/ +@[expose] public section + open Function open scoped Finset diff --git a/Mathlib/Combinatorics/Hall/Basic.lean b/Mathlib/Combinatorics/Hall/Basic.lean index 69713ce5e5e98d..bb1429f32c6b21 100644 --- a/Mathlib/Combinatorics/Hall/Basic.lean +++ b/Mathlib/Combinatorics/Hall/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Alena Gusakov, Bhavik Mehta, Kyle Miller. All rights reserved Released under Apache 2.0 license as described in the file LICENSE. Authors: Alena Gusakov, Bhavik Mehta, Kyle Miller -/ -import Mathlib.Combinatorics.Hall.Finite -import Mathlib.CategoryTheory.CofilteredSystem -import Mathlib.Data.Rel +module + +public import Mathlib.Combinatorics.Hall.Finite +public import Mathlib.CategoryTheory.CofilteredSystem +public import Mathlib.Data.Rel /-! # Hall's Marriage Theorem @@ -50,6 +52,8 @@ The core of this module is constructing the inverse system: for every finite sub Hall's Marriage Theorem, indexed families -/ +@[expose] public section + open Finset Function CategoryTheory open scoped SetRel diff --git a/Mathlib/Combinatorics/Hall/Finite.lean b/Mathlib/Combinatorics/Hall/Finite.lean index 4a7828b73657ec..c2f459979fe3c7 100644 --- a/Mathlib/Combinatorics/Hall/Finite.lean +++ b/Mathlib/Combinatorics/Hall/Finite.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Alena Gusakov, Bhavik Mehta, Kyle Miller. All rights reserved Released under Apache 2.0 license as described in the file LICENSE. Authors: Alena Gusakov, Bhavik Mehta, Kyle Miller -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Fintype.Powerset -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Data.Set.Finite.Basic /-! # Hall's Marriage Theorem for finite index types @@ -33,6 +35,8 @@ A description of this formalization is in [Gusakov2021]. Hall's Marriage Theorem, indexed families -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/Hindman.lean b/Mathlib/Combinatorics/Hindman.lean index 71e5b770b2395e..4ae7a7b18dcb40 100644 --- a/Mathlib/Combinatorics/Hindman.lean +++ b/Mathlib/Combinatorics/Hindman.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.Data.Stream.Init -import Mathlib.Topology.Algebra.Semigroup -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Stream.Init +public import Mathlib.Topology.Algebra.Semigroup +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Hindman's theorem on finite sums @@ -41,6 +43,8 @@ Ramsey theory, ultrafilter -/ +@[expose] public section + open Filter diff --git a/Mathlib/Combinatorics/Matroid/Basic.lean b/Mathlib/Combinatorics/Matroid/Basic.lean index 89a5476e1752e1..e92db50ed6afd4 100644 --- a/Mathlib/Combinatorics/Matroid/Basic.lean +++ b/Mathlib/Combinatorics/Matroid/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Init -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Set.Card -import Mathlib.Data.Set.Finite.Powerset -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Combinatorics.Matroid.Init +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Set.Card +public import Mathlib.Data.Set.Finite.Powerset +public import Mathlib.Order.UpperLower.Closure /-! # Matroids @@ -160,6 +162,8 @@ There are a few design decisions worth discussing. Proc. Amer. Math. Soc. 144 (2016), 459-471][bowlerGeschke2015] -/ +@[expose] public section + assert_not_exists Field open Set diff --git a/Mathlib/Combinatorics/Matroid/Circuit.lean b/Mathlib/Combinatorics/Matroid/Circuit.lean index 6ff4d6b2cb6582..819f099e1877e7 100644 --- a/Mathlib/Combinatorics/Matroid/Circuit.lean +++ b/Mathlib/Combinatorics/Matroid/Circuit.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Closure +module + +public import Mathlib.Combinatorics.Matroid.Closure /-! # Matroid IsCircuits @@ -47,6 +49,8 @@ The definition is chosen so that the junk values satisfy These make the useful statement `e ∈ M.fundCircuit e I ⊆ insert e I` true unconditionally. -/ +@[expose] public section + variable {α : Type*} {M : Matroid α} {C C' I X Y R : Set α} {e f x y : α} open Set diff --git a/Mathlib/Combinatorics/Matroid/Closure.lean b/Mathlib/Combinatorics/Matroid/Closure.lean index 9ff82704f9f67f..b240e82d2db700 100644 --- a/Mathlib/Combinatorics/Matroid/Closure.lean +++ b/Mathlib/Combinatorics/Matroid/Closure.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Map -import Mathlib.Order.Closure -import Mathlib.Order.CompleteLatticeIntervals +module + +public import Mathlib.Combinatorics.Matroid.Map +public import Mathlib.Order.Closure +public import Mathlib.Order.CompleteLatticeIntervals /-! # Matroid Closure @@ -76,6 +78,8 @@ In lemma names, the words `spanning` and `isFlat` are used as suffixes, for instance we have `ground_spanning` rather than `spanning_ground`. -/ +@[expose] public section + assert_not_exists Field open Set diff --git a/Mathlib/Combinatorics/Matroid/Constructions.lean b/Mathlib/Combinatorics/Matroid/Constructions.lean index 3ff58ad7d498d0..c50fac327a1e3e 100644 --- a/Mathlib/Combinatorics/Matroid/Constructions.lean +++ b/Mathlib/Combinatorics/Matroid/Constructions.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Minor.Restrict +module + +public import Mathlib.Combinatorics.Matroid.Minor.Restrict /-! # Some constructions of matroids @@ -29,6 +31,8 @@ and then construct the other examples using duality and restriction. -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} {M : Matroid α} {E B I X R J : Set α} diff --git a/Mathlib/Combinatorics/Matroid/Dual.lean b/Mathlib/Combinatorics/Matroid/Dual.lean index e573a3af63839d..4bc014c2d5f42b 100644 --- a/Mathlib/Combinatorics/Matroid/Dual.lean +++ b/Mathlib/Combinatorics/Matroid/Dual.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.IndepAxioms +module + +public import Mathlib.Combinatorics.Matroid.IndepAxioms /-! # Matroid Duality @@ -28,6 +30,8 @@ This is an abbreviation for `M✶.Indep X`, but has its own name for the sake of base `B` of `M`. -/ +@[expose] public section + assert_not_exists Field open Set diff --git a/Mathlib/Combinatorics/Matroid/IndepAxioms.lean b/Mathlib/Combinatorics/Matroid/IndepAxioms.lean index 4abf8d9c9a6a16..5ee5e33eb9697b 100644 --- a/Mathlib/Combinatorics/Matroid/IndepAxioms.lean +++ b/Mathlib/Combinatorics/Matroid/IndepAxioms.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Basic -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Combinatorics.Matroid.Basic +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.Interval.Finset.Nat /-! # Matroid Independence and Basis axioms @@ -85,6 +87,8 @@ for the inverse of `e`). * `Matroid.ofIsBaseOfFinite` constructs a `Finite` matroid from its bases. -/ +@[expose] public section + assert_not_exists Field open Set Matroid diff --git a/Mathlib/Combinatorics/Matroid/Init.lean b/Mathlib/Combinatorics/Matroid/Init.lean index 0ba1866f02d1e5..d81731640039ef 100644 --- a/Mathlib/Combinatorics/Matroid/Init.lean +++ b/Mathlib/Combinatorics/Matroid/Init.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Init -import Aesop +module + +public import Mathlib.Init +public import Aesop /-! # Matroid Rule Set @@ -14,4 +16,6 @@ This module defines the `Matroid` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +@[expose] public section + declare_aesop_rule_sets [Matroid] diff --git a/Mathlib/Combinatorics/Matroid/Loop.lean b/Mathlib/Combinatorics/Matroid/Loop.lean index 653345332c9a73..da77eb2b9e121e 100644 --- a/Mathlib/Combinatorics/Matroid/Loop.lean +++ b/Mathlib/Combinatorics/Matroid/Loop.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Circuit -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Combinatorics.Matroid.Circuit +public import Mathlib.Tactic.TFAE /-! # Matroid loops and coloops @@ -52,6 +54,8 @@ For `M` : Matroid `α`: * `M.removeLoops` is the matroid obtained from `M` by restricting to its set of nonloop elements. -/ +@[expose] public section + variable {α β : Type*} {M N : Matroid α} {e f : α} {F X C I : Set α} open Set diff --git a/Mathlib/Combinatorics/Matroid/Map.lean b/Mathlib/Combinatorics/Matroid/Map.lean index 2ea353e1cda49a..01f2984a09d514 100644 --- a/Mathlib/Combinatorics/Matroid/Map.lean +++ b/Mathlib/Combinatorics/Matroid/Map.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Constructions -import Mathlib.Data.Set.Notation +module + +public import Mathlib.Combinatorics.Matroid.Constructions +public import Mathlib.Data.Set.Notation /-! # Maps between matroids @@ -101,6 +103,8 @@ For this reason, `Matroid.map` requires injectivity to be well-defined in genera * [J. Oxley, Matroid Theory][oxley2011] -/ +@[expose] public section + assert_not_exists Field open Set Function Set.Notation diff --git a/Mathlib/Combinatorics/Matroid/Minor/Contract.lean b/Mathlib/Combinatorics/Matroid/Minor/Contract.lean index d319a8695aa167..1eaa4208c29d82 100644 --- a/Mathlib/Combinatorics/Matroid/Minor/Contract.lean +++ b/Mathlib/Combinatorics/Matroid/Minor/Contract.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Minor.Delete -import Mathlib.Tactic.TautoSet +module + +public import Mathlib.Combinatorics.Matroid.Minor.Delete +public import Mathlib.Tactic.TautoSet /-! # Matroid Contraction @@ -40,6 +42,8 @@ Mirroring the convention for deletion, we use the abbreviation `contractElem` in to refer to the contraction `M / {e}` of a single element `e : α` from `M : Matroid α`. -/ +@[expose] public section + open Set variable {α : Type*} {M M' N : Matroid α} {e f : α} {I J R D B X Y Z K : Set α} diff --git a/Mathlib/Combinatorics/Matroid/Minor/Delete.lean b/Mathlib/Combinatorics/Matroid/Minor/Delete.lean index b1a1c01d71258b..effc7e3636a457 100644 --- a/Mathlib/Combinatorics/Matroid/Minor/Delete.lean +++ b/Mathlib/Combinatorics/Matroid/Minor/Delete.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Loop +module + +public import Mathlib.Combinatorics.Matroid.Loop /-! # Matroid Deletion @@ -32,6 +34,8 @@ We use the abbreviation `deleteElem` in lemma names to refer to the deletion `M of a single element `e : α` from `M : Matroid α`. -/ +@[expose] public section + open Set variable {α : Type*} {M M' N : Matroid α} {e f : α} {I B D R X : Set α} diff --git a/Mathlib/Combinatorics/Matroid/Minor/Order.lean b/Mathlib/Combinatorics/Matroid/Minor/Order.lean index c482c04adb9dbd..341127912bed29 100644 --- a/Mathlib/Combinatorics/Matroid/Minor/Order.lean +++ b/Mathlib/Combinatorics/Matroid/Minor/Order.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Combinatorics.Matroid.Minor.Contract +module + +public import Mathlib.Combinatorics.Matroid.Minor.Contract /-! # Matroid Minors @@ -27,6 +29,8 @@ instead writing `N ≤m M` and `N Fintype.card x open Finset SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Girth.lean b/Mathlib/Combinatorics/SimpleGraph/Girth.lean index 29c6cbb43e009c..cf40bfc3dca56d 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Girth.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Girth.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.SimpleGraph.Acyclic -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Combinatorics.SimpleGraph.Acyclic +public import Mathlib.Data.ENat.Lattice /-! # Girth of a simple graph @@ -19,6 +21,8 @@ cycle, they give `0` or `∞` respectively if the graph is acyclic. -/ +@[expose] public section + namespace SimpleGraph variable {α : Type*} {G : SimpleGraph α} diff --git a/Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean b/Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean index 48583cd1dd75db..6750d48dff48e4 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Bhavik Mehta, Rishi Mehta, Linus Sommer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Rishi Mehta, Linus Sommer -/ -import Mathlib.Algebra.GroupWithZero.Nat -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected +module + +public import Mathlib.Algebra.GroupWithZero.Nat +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected /-! # Hamiltonian Graphs @@ -19,6 +21,8 @@ In this file we introduce Hamiltonian paths, cycles and graphs. - `SimpleGraph.IsHamiltonian`: Predicate for a graph to be Hamiltonian. -/ +@[expose] public section + open Finset Function namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Hasse.lean b/Mathlib/Combinatorics/SimpleGraph/Hasse.lean index b640c1fe80a057..7f28b7918b4fb4 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Hasse.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Hasse.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.SimpleGraph.Prod -import Mathlib.Data.Fin.SuccPredOrder -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.SuccPred.Relation -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Combinatorics.SimpleGraph.Prod +public import Mathlib.Data.Fin.SuccPredOrder +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.SuccPred.Relation +public import Mathlib.Tactic.FinCases /-! # The Hasse diagram as a graph @@ -21,6 +23,8 @@ path graph on `n` vertices. * `SimpleGraph.pathGraph`: Path graph on `n` vertices. -/ +@[expose] public section + open Order OrderDual Relation diff --git a/Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean b/Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean index a2c7e5f8ff5994..a35e4415f19e0b 100644 --- a/Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean +++ b/Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Gabriel Moise. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Moise, Yaël Dillies, Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Finite -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Matrix.Mul +module + +public import Mathlib.Combinatorics.SimpleGraph.Finite +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Matrix.Mul /-! # Incidence matrix of a simple graph @@ -41,6 +43,8 @@ incidence matrix for each `SimpleGraph α` has the same type. arbitrary orientation of a simple graph. -/ +@[expose] public section + assert_not_exists Field open Finset Matrix SimpleGraph Sym2 diff --git a/Mathlib/Combinatorics/SimpleGraph/Init.lean b/Mathlib/Combinatorics/SimpleGraph/Init.lean index 349009999ed435..996ab2dca2d715 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Init.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jannis Limperg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jannis Limperg -/ +module -import Mathlib.Init -import Aesop +public import Mathlib.Init +public import Aesop /-! # SimpleGraph Rule Set @@ -15,4 +16,6 @@ This module defines the `SimpleGraph` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +@[expose] public section + declare_aesop_rule_sets [SimpleGraph] diff --git a/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean b/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean index 13458e6bb71dab..74203ec6f1a097 100644 --- a/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean +++ b/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Adrian Wüthrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adrian Wüthrich -/ -import Mathlib.Analysis.Matrix.Order -import Mathlib.Combinatorics.SimpleGraph.AdjMatrix -import Mathlib.LinearAlgebra.Matrix.PosDef +module + +public import Mathlib.Analysis.Matrix.Order +public import Mathlib.Combinatorics.SimpleGraph.AdjMatrix +public import Mathlib.LinearAlgebra.Matrix.PosDef /-! # Laplacian Matrix @@ -24,6 +26,8 @@ This module defines the Laplacian matrix of a graph, and proves some of its elem -/ +@[expose] public section + open Finset Matrix Module namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/LineGraph.lean b/Mathlib/Combinatorics/SimpleGraph/LineGraph.lean index a1c37b83a30f62..90e55c877e42f9 100644 --- a/Mathlib/Combinatorics/SimpleGraph/LineGraph.lean +++ b/Mathlib/Combinatorics/SimpleGraph/LineGraph.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Basic +module + +public import Mathlib.Combinatorics.SimpleGraph.Basic /-! # LineGraph @@ -18,6 +20,8 @@ import Mathlib.Combinatorics.SimpleGraph.Basic line graph -/ +@[expose] public section + namespace SimpleGraph variable {V : Type*} {G : SimpleGraph V} diff --git a/Mathlib/Combinatorics/SimpleGraph/Maps.lean b/Mathlib/Combinatorics/SimpleGraph/Maps.lean index d23716746ec1bc..df3e27acb92878 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Maps.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Maps.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Hunter Monroe. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hunter Monroe, Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Dart -import Mathlib.Data.FunLike.Fintype -import Mathlib.Logic.Embedding.Set +module + +public import Mathlib.Combinatorics.SimpleGraph.Dart +public import Mathlib.Data.FunLike.Fintype +public import Mathlib.Logic.Embedding.Set /-! # Maps between graphs @@ -36,6 +38,8 @@ To make use of pre-existing simp lemmas, definitions involving morphisms are abbreviations as well. -/ +@[expose] public section + open Function diff --git a/Mathlib/Combinatorics/SimpleGraph/Matching.lean b/Mathlib/Combinatorics/SimpleGraph/Matching.lean index b4de3f00b2645e..0dd6f3e5b6b855 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Matching.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Matching.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Alena Gusakov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alena Gusakov, Arthur Paulino, Kyle Miller, Pim Otte -/ -import Mathlib.Combinatorics.SimpleGraph.Clique -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph -import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkCounting -import Mathlib.Combinatorics.SimpleGraph.DegreeSum -import Mathlib.Combinatorics.SimpleGraph.Operations -import Mathlib.Data.Set.Card.Arithmetic -import Mathlib.Data.Set.Functor +module + +public import Mathlib.Combinatorics.SimpleGraph.Clique +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkCounting +public import Mathlib.Combinatorics.SimpleGraph.DegreeSum +public import Mathlib.Combinatorics.SimpleGraph.Operations +public import Mathlib.Data.Set.Card.Arithmetic +public import Mathlib.Data.Set.Functor /-! # Matchings @@ -49,6 +51,8 @@ one edge, and the edges of the subgraph represent the paired vertices. * Hall's Marriage Theorem (see `Mathlib/Combinatorics/Hall/Basic.lean`) -/ +@[expose] public section + assert_not_exists Field TwoSidedIdeal open Function diff --git a/Mathlib/Combinatorics/SimpleGraph/Metric.lean b/Mathlib/Combinatorics/SimpleGraph/Metric.lean index 0ca20cac36849e..9524a992f240a2 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Metric.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Metric.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Vincent Beffara, Rida Hamadani -/ -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected +public import Mathlib.Data.ENat.Lattice /-! # Graph metric @@ -32,6 +34,8 @@ graph metric, distance -/ +@[expose] public section + assert_not_exists Field namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Operations.lean b/Mathlib/Combinatorics/SimpleGraph/Operations.lean index 193b0077e5f827..37d23db9225264 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Operations.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Operations.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Combinatorics.SimpleGraph.Finite -import Mathlib.Combinatorics.SimpleGraph.Maps -import Mathlib.Combinatorics.SimpleGraph.Subgraph +module + +public import Mathlib.Combinatorics.SimpleGraph.Finite +public import Mathlib.Combinatorics.SimpleGraph.Maps +public import Mathlib.Combinatorics.SimpleGraph.Subgraph /-! # Local graph operations @@ -22,6 +24,8 @@ we also prove theorems about the number of edges in the modified graphs. `G ⊔ edge s t`. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/SimpleGraph/Partition.lean b/Mathlib/Combinatorics/SimpleGraph/Partition.lean index 925943c786acf4..90155aadeafb2d 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Partition.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Partition.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Arthur Paulino. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Coloring +module + +public import Mathlib.Combinatorics.SimpleGraph.Coloring /-! # Graph partitions @@ -42,6 +44,8 @@ graph colorings and back is the identity. -/ +@[expose] public section + assert_not_exists Field universe u v diff --git a/Mathlib/Combinatorics/SimpleGraph/Path.lean b/Mathlib/Combinatorics/SimpleGraph/Path.lean index 552d8a19e5e1ba..7e7b8d019b5af7 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Path.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Path.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected -import Mathlib.Combinatorics.SimpleGraph.Paths +module + +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected +public import Mathlib.Combinatorics.SimpleGraph.Paths deprecated_module (since := "2025-06-13") diff --git a/Mathlib/Combinatorics/SimpleGraph/Paths.lean b/Mathlib/Combinatorics/SimpleGraph/Paths.lean index d2e1b38abd83d0..3edf6aa4474ca0 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Paths.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Paths.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkDecomp -import Mathlib.Combinatorics.SimpleGraph.Walk +module + +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.WalkDecomp +public import Mathlib.Combinatorics.SimpleGraph.Walk /-! @@ -43,6 +45,8 @@ counterparts in [Chou1994]. trails, paths, circuits, cycles -/ +@[expose] public section + open Function universe u v w diff --git a/Mathlib/Combinatorics/SimpleGraph/Prod.lean b/Mathlib/Combinatorics/SimpleGraph/Prod.lean index 03f6c99813fde5..1965719921e5f1 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Prod.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 George Peter Banyard, Yaël Dillies, Kyle Miller. All rights Released under Apache 2.0 license as described in the file LICENSE. Authors: George Peter Banyard, Yaël Dillies, Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.Paths -import Mathlib.Combinatorics.SimpleGraph.Metric +module + +public import Mathlib.Combinatorics.SimpleGraph.Paths +public import Mathlib.Combinatorics.SimpleGraph.Metric /-! # Graph products @@ -27,6 +29,8 @@ two edges is a square. Define all other graph products! -/ +@[expose] public section + variable {α β γ : Type*} namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean index 4e35b02a0f4206..cb1d76e8a09f0a 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Algebra.Order.Chebyshev -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Order.Partition.Equipartition +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Algebra.Order.Chebyshev +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Order.Partition.Equipartition /-! # Numerical bounds for Szemerédi Regularity Lemma @@ -28,6 +30,8 @@ This entire file is internal to the proof of Szemerédi Regularity Lemma. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset Fintype Function Real @@ -233,7 +237,7 @@ open Lean.Meta Qq /-- Extension for the `positivity` tactic: `SzemerediRegularity.initialBound` is always positive. -/ @[positivity SzemerediRegularity.initialBound _ _] -def evalInitialBound : PositivityExt where eval {u α} _ _ e := do +meta def evalInitialBound : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(SzemerediRegularity.initialBound $ε $l) => assertInstancesCommute @@ -245,7 +249,7 @@ example (ε : ℝ) (l : ℕ) : 0 < SzemerediRegularity.initialBound ε l := by p /-- Extension for the `positivity` tactic: `SzemerediRegularity.bound` is always positive. -/ @[positivity SzemerediRegularity.bound _ _] -def evalBound : PositivityExt where eval {u α} _ _ e := do +meta def evalBound : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(SzemerediRegularity.bound $ε $l) => assertInstancesCommute diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean index 02a6bea15d10d5..651c417bae1af5 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Regularity.Bound -import Mathlib.Combinatorics.SimpleGraph.Regularity.Equitabilise -import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform +module + +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Bound +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Equitabilise +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform /-! # Chunk of the increment partition for Szemerédi Regularity Lemma @@ -34,6 +36,8 @@ Once ported to mathlib4, this file will be a great golfing ground for Heather's [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finpartition Finset Fintype Rel Nat open scoped SzemerediRegularity.Positivity diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean index 5d46571674948d..7c1f8040799bd9 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Combinatorics.SimpleGraph.Density -import Mathlib.Data.Rat.BigOperators +module + +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Combinatorics.SimpleGraph.Density +public import Mathlib.Data.Rat.BigOperators /-! # Energy of a partition @@ -22,6 +24,8 @@ has an energy greater than the previous one plus some fixed constant. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean index 3b38353b2c302d..0551ac185701f2 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Order.Partition.Equipartition +module + +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Order.Partition.Equipartition /-! # Equitabilising a partition @@ -26,6 +28,8 @@ This file allows to blow partitions up into parts of controlled size. Given a pa [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset Nat diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean index c0384badead8e5..e9f6bad93f37f7 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Regularity.Chunk -import Mathlib.Combinatorics.SimpleGraph.Regularity.Energy +module + +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Chunk +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Energy /-! # Increment partition for Szemerédi Regularity Lemma @@ -33,6 +35,8 @@ Once ported to mathlib4, this file will be a great golfing ground for Heather's [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset Fintype SimpleGraph SzemerediRegularity diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean index b4d93764bd7b5d..8444cbd6b3bfd9 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Regularity.Increment +module + +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Increment /-! # Szemerédi's Regularity Lemma @@ -61,6 +63,8 @@ We currently only prove the equipartition version of SRL. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finpartition Finset Fintype Function SzemerediRegularity diff --git a/Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean b/Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean index fcd1280d08dc4d..ac7ade3000527d 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Combinatorics.SimpleGraph.Density -import Mathlib.Data.Nat.Cast.Order.Field -import Mathlib.Order.Partition.Equipartition -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Combinatorics.SimpleGraph.Density +public import Mathlib.Data.Nat.Cast.Order.Field +public import Mathlib.Order.Partition.Equipartition +public import Mathlib.SetTheory.Cardinal.Order /-! # Graph uniformity and uniform partitions @@ -39,6 +41,8 @@ greater than `(1 - ε)`. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean b/Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean index e5b003b627d191..5ec179c1893e15 100644 --- a/Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean +++ b/Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Alena Gusakov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alena Gusakov, Jeremy Tan -/ -import Mathlib.Combinatorics.Enumerative.DoubleCounting -import Mathlib.Combinatorics.SimpleGraph.AdjMatrix +module + +public import Mathlib.Combinatorics.Enumerative.DoubleCounting +public import Mathlib.Combinatorics.SimpleGraph.AdjMatrix /-! # Strongly regular graphs @@ -26,6 +28,8 @@ import Mathlib.Combinatorics.SimpleGraph.AdjMatrix `I` be the identity matrix, then `A ^ 2 = k • I + ℓ • A + μ • C`. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Combinatorics/SimpleGraph/Subgraph.lean b/Mathlib/Combinatorics/SimpleGraph/Subgraph.lean index b71db2fda66aa5..9817c0054ac566 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Subgraph.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Subgraph.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Hunter Monroe. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hunter Monroe, Kyle Miller, Alena Gusakov -/ -import Mathlib.Combinatorics.SimpleGraph.DeleteEdges -import Mathlib.Data.Fintype.Powerset +module + +public import Mathlib.Combinatorics.SimpleGraph.DeleteEdges +public import Mathlib.Data.Fintype.Powerset /-! # Subgraphs of a simple graph @@ -45,6 +47,8 @@ sub-relation of the adjacency relation of the simple graph. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Combinatorics/SimpleGraph/Sum.lean b/Mathlib/Combinatorics/SimpleGraph/Sum.lean index 3484154eb3c1f0..558078cfd0df2b 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Sum.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Sum.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Iván Renison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Iván Renison -/ -import Mathlib.Combinatorics.SimpleGraph.Basic -import Mathlib.Combinatorics.SimpleGraph.Coloring -import Mathlib.Combinatorics.SimpleGraph.Maps +module + +public import Mathlib.Combinatorics.SimpleGraph.Basic +public import Mathlib.Combinatorics.SimpleGraph.Coloring +public import Mathlib.Combinatorics.SimpleGraph.Maps /-! # Disjoint sum of graphs @@ -23,6 +25,8 @@ both in `G` and adjacent in `G`, or they are both in `H` and adjacent in `H`. * `G ⊕g H`: The disjoint sum of `G` and `H`. -/ +@[expose] public section + variable {α β γ : Type*} namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Trails.lean b/Mathlib/Combinatorics/SimpleGraph/Trails.lean index bcb378fda8933f..35f5d8f9c1e579 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Trails.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Trails.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Algebra.Ring.Parity -import Mathlib.Combinatorics.SimpleGraph.Paths +module + +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Combinatorics.SimpleGraph.Paths /-! @@ -34,6 +36,8 @@ Eulerian trails -/ +@[expose] public section + namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean b/Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean index ce750cdc9d223d..c888df6df90dbe 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Combinatorics.Enumerative.DoubleCounting -import Mathlib.Combinatorics.SimpleGraph.Clique -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Nat.Choose.Bounds -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.Positivity +module + +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Combinatorics.Enumerative.DoubleCounting +public import Mathlib.Combinatorics.SimpleGraph.Clique +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Nat.Choose.Bounds +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.Positivity /-! # Triangles in graphs @@ -30,6 +32,8 @@ This module defines and proves properties about triangles in simple graphs. * Generalise `FarFromTriangleFree` to other graphs, to state and prove the Graph Removal Lemma. -/ +@[expose] public section + open Finset Nat open Fintype (card) diff --git a/Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean b/Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean index 277313ff47bf42..87933fd3fbb509 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Clique -import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform -import Mathlib.Data.Real.Basic -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Combinatorics.SimpleGraph.Clique +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Uniform +public import Mathlib.Data.Real.Basic +public import Mathlib.Tactic.Linarith /-! # Triangle counting lemma @@ -18,6 +20,8 @@ In this file, we prove the triangle counting lemma. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + -- TODO: This instance is bad because it creates data out of a Prop attribute [-instance] decidableEq_of_subsingleton diff --git a/Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean b/Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean index 4e60890f765956..4b579ac18abf53 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.DegreeSum -import Mathlib.Combinatorics.SimpleGraph.Regularity.Lemma -import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic -import Mathlib.Combinatorics.SimpleGraph.Triangle.Counting -import Mathlib.Data.Finset.CastCard +module + +public import Mathlib.Combinatorics.SimpleGraph.DegreeSum +public import Mathlib.Combinatorics.SimpleGraph.Regularity.Lemma +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Counting +public import Mathlib.Data.Finset.CastCard /-! # Triangle removal lemma @@ -19,6 +21,8 @@ In this file, we prove the triangle removal lemma. [Yaël Dillies, Bhavik Mehta, *Formalising Szemerédi’s Regularity Lemma in Lean*][srl_itp] -/ +@[expose] public section + open Finset Fintype Nat SzemerediRegularity variable {α : Type*} [DecidableEq α] [Fintype α] {G : SimpleGraph α} [DecidableRel G.Adj] @@ -172,7 +176,7 @@ if `ε` is. This exploits the positivity of the junk value of `triangleRemovalBound ε` for `ε ≥ 1`. -/ @[positivity triangleRemovalBound _] -def evalTriangleRemovalBound : PositivityExt where eval {u α} _zα _pα e := do +meta def evalTriangleRemovalBound : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(triangleRemovalBound $ε) => let .positive hε ← core q(inferInstance) q(inferInstance) ε | failure diff --git a/Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean b/Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean index 21405818a3c2f1..7ac9f3a9eae193 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic +module + +public import Mathlib.Combinatorics.SimpleGraph.Triangle.Basic /-! # Construct a tripartite graph from its triangles @@ -35,6 +37,8 @@ This construction shows up unrelatedly twice in the theory of Roth numbers: corner-free. -/ +@[expose] public section + open Finset Function Sum3 variable {α β γ 𝕜 : Type*} [Field 𝕜] [LinearOrder 𝕜] [IsStrictOrderedRing 𝕜] diff --git a/Mathlib/Combinatorics/SimpleGraph/Turan.lean b/Mathlib/Combinatorics/SimpleGraph/Turan.lean index 2fc37d28fde884..8b2e4c1efee4fa 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Turan.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Turan.lean @@ -1,3 +1,5 @@ -import Mathlib.Combinatorics.SimpleGraph.Extremal.Turan +module + +public import Mathlib.Combinatorics.SimpleGraph.Extremal.Turan deprecated_module (since := "2025-08-21") diff --git a/Mathlib/Combinatorics/SimpleGraph/Tutte.lean b/Mathlib/Combinatorics/SimpleGraph/Tutte.lean index 0961eac6f1da91..9e8f22ffcead27 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Tutte.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Tutte.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Otte -/ +module -import Mathlib.Combinatorics.SimpleGraph.Matching -import Mathlib.Combinatorics.SimpleGraph.Metric -import Mathlib.Combinatorics.SimpleGraph.Operations -import Mathlib.Combinatorics.SimpleGraph.UniversalVerts -import Mathlib.Data.Fintype.Card +public import Mathlib.Combinatorics.SimpleGraph.Matching +public import Mathlib.Combinatorics.SimpleGraph.Metric +public import Mathlib.Combinatorics.SimpleGraph.Operations +public import Mathlib.Combinatorics.SimpleGraph.UniversalVerts +public import Mathlib.Data.Fintype.Card /-! # Tutte's theorem @@ -25,6 +26,8 @@ import Mathlib.Data.Fintype.Card only if no Tutte violators exist. -/ +@[expose] public section + namespace SimpleGraph variable {V : Type*} {G G' : SimpleGraph V} {u x v' w : V} diff --git a/Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean b/Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean index 0bce72b46714e5..9ac099fcadc6d8 100644 --- a/Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean +++ b/Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Otte -/ -import Mathlib.Combinatorics.SimpleGraph.Clique -import Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents -import Mathlib.Combinatorics.SimpleGraph.Matching +module + +public import Mathlib.Combinatorics.SimpleGraph.Clique +public import Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents +public import Mathlib.Combinatorics.SimpleGraph.Matching /-! # Universal Vertices @@ -21,6 +23,8 @@ in the proof of Tutte's Theorem. * `G.deleteUniversalVerts` is the subgraph of `G` with the universal vertices removed. -/ +@[expose] public section + assert_not_exists Field TwoSidedIdeal namespace SimpleGraph diff --git a/Mathlib/Combinatorics/SimpleGraph/Walk.lean b/Mathlib/Combinatorics/SimpleGraph/Walk.lean index 0c887820b0f1b7..6584d7ab577136 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Walk.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Walk.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Combinatorics.SimpleGraph.DeleteEdges +module + +public import Mathlib.Combinatorics.SimpleGraph.DeleteEdges /-! @@ -33,6 +35,8 @@ walks -/ +@[expose] public section + -- TODO: split set_option linter.style.longFile 1700 diff --git a/Mathlib/Combinatorics/Young/SemistandardTableau.lean b/Mathlib/Combinatorics/Young/SemistandardTableau.lean index 3568197c76b771..5d11338af59740 100644 --- a/Mathlib/Combinatorics/Young/SemistandardTableau.lean +++ b/Mathlib/Combinatorics/Young/SemistandardTableau.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jake Levinson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jake Levinson -/ -import Mathlib.Combinatorics.Young.YoungDiagram +module + +public import Mathlib.Combinatorics.Young.YoungDiagram /-! # Semistandard Young tableaux @@ -42,6 +44,8 @@ Semistandard Young tableau -/ +@[expose] public section + /-- A semistandard Young tableau is a filling of the cells of a Young diagram by natural numbers, such that the entries in each row are weakly increasing (left to right), and the entries diff --git a/Mathlib/Combinatorics/Young/YoungDiagram.lean b/Mathlib/Combinatorics/Young/YoungDiagram.lean index bf51bb2603b866..c50b7c181a0a71 100644 --- a/Mathlib/Combinatorics/Young/YoungDiagram.lean +++ b/Mathlib/Combinatorics/Young/YoungDiagram.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jake Levinson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jake Levinson -/ -import Mathlib.Data.Finset.Preimage -import Mathlib.Data.Finset.Prod -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.UpperLower.Basic +module + +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.UpperLower.Basic /-! # Young diagrams @@ -49,6 +51,8 @@ Young diagram -/ +@[expose] public section + open Function diff --git a/Mathlib/Computability/Ackermann.lean b/Mathlib/Computability/Ackermann.lean index 26c452bf08a53b..63c09b10173800 100644 --- a/Mathlib/Computability/Ackermann.lean +++ b/Mathlib/Computability/Ackermann.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Computability.PartrecCode -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Computability.PartrecCode +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Linarith /-! # Ackermann function @@ -47,6 +49,8 @@ applied twice, giving us a constant of `4 + 4`. The rest of the proof consists o which bump up our constant to `9`. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Computability/AkraBazzi/AkraBazzi.lean b/Mathlib/Computability/AkraBazzi/AkraBazzi.lean index 24ac76361ae6fc..8c1ff35bdc090c 100644 --- a/Mathlib/Computability/AkraBazzi/AkraBazzi.lean +++ b/Mathlib/Computability/AkraBazzi/AkraBazzi.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Computability.AkraBazzi.SumTransform -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.Computability.AkraBazzi.SumTransform +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv /-! # Divide-and-conquer recurrences and the Akra-Bazzi theorem @@ -58,6 +59,8 @@ prove the version with a sum here, as it is simpler and more relevant for algori -/ +@[expose] public section + open Finset Real Filter Asymptotics open scoped Topology diff --git a/Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean b/Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean index 7d2778a617f912..a0848bcee1e4b6 100644 --- a/Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean +++ b/Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Algebra.Order.ToIntervalMod -import Mathlib.Analysis.SpecialFunctions.Log.Base +public import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Algebra.Order.ToIntervalMod +public import Mathlib.Analysis.SpecialFunctions.Log.Base /-! # Akra-Bazzi theorem: The polynomial growth condition @@ -26,6 +27,8 @@ not seem to arise in practice. -/ +@[expose] public section + open Finset Real Filter Asymptotics open scoped Topology diff --git a/Mathlib/Computability/AkraBazzi/SumTransform.lean b/Mathlib/Computability/AkraBazzi/SumTransform.lean index c40e28411d45d8..ac0ef4a8f45010 100644 --- a/Mathlib/Computability/AkraBazzi/SumTransform.lean +++ b/Mathlib/Computability/AkraBazzi/SumTransform.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ +module -import Mathlib.Computability.AkraBazzi.GrowsPolynomially -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public import Mathlib.Computability.AkraBazzi.GrowsPolynomially +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.Analysis.SpecialFunctions.Log.Deriv /-! # Akra-Bazzi theorem: the sum transform @@ -32,6 +33,8 @@ We develop further preliminaries required for the theorem, up to the sum transfo -/ +@[expose] public section + open Finset Real Filter Asymptotics open scoped Topology diff --git a/Mathlib/Computability/ContextFreeGrammar.lean b/Mathlib/Computability/ContextFreeGrammar.lean index 3aca3d37ab8adb..8c83319edf1e39 100644 --- a/Mathlib/Computability/ContextFreeGrammar.lean +++ b/Mathlib/Computability/ContextFreeGrammar.lean @@ -3,7 +3,10 @@ Copyright (c) 2023 Martin Dvorak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Dvorak -/ -import Mathlib.Computability.Language +module + +public import Mathlib.Computability.Language +import Mathlib.Data.Finset.Image /-! # Context-Free Grammars @@ -23,6 +26,8 @@ nonterminal symbols that are referred to by its finitely many rules. * `Language.IsContextFree.reverse`: The class of context-free languages is closed under reversal. -/ +@[expose] public section + open Function /-- Rule that rewrites a single nonterminal to any string (a list of symbols). -/ diff --git a/Mathlib/Computability/DFA.lean b/Mathlib/Computability/DFA.lean index d11e68d4166e8b..e8184c3adfbd29 100644 --- a/Mathlib/Computability/DFA.lean +++ b/Mathlib/Computability/DFA.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson, Chris Wong -/ -import Mathlib.Computability.Language -import Mathlib.Data.Countable.Small -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Computability.Language +public import Mathlib.Data.Countable.Small +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Tactic.NormNum /-! # Deterministic Finite Automata @@ -44,6 +46,8 @@ Currently, there are two disjoint sets of simp lemmas: one for `DFA.eval`, and a - Should `mem_accepts` and `mem_acceptsFrom` be marked `@[simp]`? -/ +@[expose] public section + universe u v open Computability diff --git a/Mathlib/Computability/Encoding.lean b/Mathlib/Computability/Encoding.lean index 071697c31cacf1..33337ff1888b6c 100644 --- a/Mathlib/Computability/Encoding.lean +++ b/Mathlib/Computability/Encoding.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Pim Spelier, Daan van Gent. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Spelier, Daan van Gent -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Num.Lemmas -import Mathlib.Data.Option.Basic -import Mathlib.SetTheory.Cardinal.Basic -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Num.Lemmas +public import Mathlib.Data.Option.Basic +public import Mathlib.SetTheory.Cardinal.Basic +public import Mathlib.Tactic.DeriveFintype /-! # Encodings @@ -24,6 +26,8 @@ It also contains several examples: - `finEncodingBoolBool` : an encoding of bool. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Computability/EpsilonNFA.lean b/Mathlib/Computability/EpsilonNFA.lean index b0121fdee4263e..d1cae1a5758a8a 100644 --- a/Mathlib/Computability/EpsilonNFA.lean +++ b/Mathlib/Computability/EpsilonNFA.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson, Yaël Dillies, Anthony DeRossi -/ -import Mathlib.Computability.NFA -import Mathlib.Data.List.ReduceOption +module + +public import Mathlib.Computability.NFA +public import Mathlib.Data.List.ReduceOption /-! # Epsilon Nondeterministic Finite Automata @@ -17,6 +19,8 @@ Since this definition allows for automata with infinite states, a `Fintype` inst supplied for true `εNFA`'s. -/ +@[expose] public section + open Set diff --git a/Mathlib/Computability/Halting.lean b/Mathlib/Computability/Halting.lean index aa9aed2419cf90..2e9c86fc107f1d 100644 --- a/Mathlib/Computability/Halting.lean +++ b/Mathlib/Computability/Halting.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.PartrecCode -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.Computability.PartrecCode +public import Mathlib.Data.Set.Subsingleton /-! # Computability theory and the halting problem @@ -16,6 +18,8 @@ A universal partial recursive function, Rice's theorem, and the halting problem. * [Mario Carneiro, *Formalizing computability theory via partial recursive functions*][carneiro2019] -/ +@[expose] public section + open List (Vector) open Encodable Denumerable diff --git a/Mathlib/Computability/Language.lean b/Mathlib/Computability/Language.lean index fcf3e7156f0b3c..9f226bc9890df1 100644 --- a/Mathlib/Computability/Language.lean +++ b/Mathlib/Computability/Language.lean @@ -3,10 +3,13 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson, Martin Dvorak -/ -import Mathlib.Algebra.Order.Kleene -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Data.Set.Lattice -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.Algebra.Order.Kleene +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Data.Set.Lattice +public import Mathlib.Tactic.DeriveFintype +import Mathlib.Data.Fintype.Sum /-! # Languages @@ -45,6 +48,8 @@ with respect to other language operations. -/ +@[expose] public section + open List Set Computability diff --git a/Mathlib/Computability/MyhillNerode.lean b/Mathlib/Computability/MyhillNerode.lean index 9a9fc6bd140eee..6e77ead63fbc18 100644 --- a/Mathlib/Computability/MyhillNerode.lean +++ b/Mathlib/Computability/MyhillNerode.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Google. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Wong -/ -import Mathlib.Computability.DFA -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Computability.DFA +public import Mathlib.Data.Set.Finite.Basic /-! # Myhill–Nerode theorem @@ -21,6 +23,8 @@ there are finitely many such states. * -/ +@[expose] public section + universe u v variable {α : Type u} {σ : Type v} {L : Language α} diff --git a/Mathlib/Computability/NFA.lean b/Mathlib/Computability/NFA.lean index 9f2e21cec5a51a..d37c2bc3cdc7c0 100644 --- a/Mathlib/Computability/NFA.lean +++ b/Mathlib/Computability/NFA.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson, Maja Kądziołka -/ -import Mathlib.Computability.DFA -import Mathlib.Data.Fintype.Powerset +module + +public import Mathlib.Computability.DFA +public import Mathlib.Data.Fintype.Powerset /-! # Nondeterministic Finite Automata @@ -38,6 +40,8 @@ a `Fintype` instance must be supplied for true NFAs. be repeated arbitrarily many times (and have the overall string still be accepted) -/ +@[expose] public section + open Set open Computability diff --git a/Mathlib/Computability/Partrec.lean b/Mathlib/Computability/Partrec.lean index ccc5bb69482158..bf339bc0e56989 100644 --- a/Mathlib/Computability/Partrec.lean +++ b/Mathlib/Computability/Partrec.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Primrec -import Mathlib.Data.Nat.PSub -import Mathlib.Data.PFun +module + +public import Mathlib.Computability.Primrec +public import Mathlib.Data.Nat.PSub +public import Mathlib.Data.PFun /-! # The partial recursive functions @@ -27,6 +29,8 @@ least natural number `n` for which `f n = 0`, or diverges if such `n` doesn't ex * [Mario Carneiro, *Formalizing computability theory via partial recursive functions*][carneiro2019] -/ +@[expose] public section + open List (Vector) open Encodable Denumerable Part diff --git a/Mathlib/Computability/PartrecCode.lean b/Mathlib/Computability/PartrecCode.lean index d55496ef3a3cdc..ce48d3d3b7219c 100644 --- a/Mathlib/Computability/PartrecCode.lean +++ b/Mathlib/Computability/PartrecCode.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Partrec -import Mathlib.Data.Option.Basic +module + +public import Mathlib.Computability.Partrec +public import Mathlib.Data.Option.Basic /-! # Gödel Numbering for Partial Recursive Functions. @@ -40,6 +42,8 @@ of some code. -/ +@[expose] public section + open Encodable Denumerable diff --git a/Mathlib/Computability/PostTuringMachine.lean b/Mathlib/Computability/PostTuringMachine.lean index 0c76db6aaf150e..22c8e2656b266f 100644 --- a/Mathlib/Computability/PostTuringMachine.lean +++ b/Mathlib/Computability/PostTuringMachine.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Tape -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Finset.Option -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.PFun +module + +public import Mathlib.Computability.Tape +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Finset.Option +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.PFun /-! # Turing machines @@ -58,6 +60,8 @@ Given these parameters, there are a few common structures for the model that ari formalizes "essentially finite" mentioned above. -/ +@[expose] public section + assert_not_exists MonoidWithZero open List (Vector) diff --git a/Mathlib/Computability/Primrec.lean b/Mathlib/Computability/Primrec.lean index 4cb4b51cd6163c..83566a8c5038fc 100644 --- a/Mathlib/Computability/Primrec.lean +++ b/Mathlib/Computability/Primrec.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Logic.Encodable.Pi -import Mathlib.Logic.Function.Iterate +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Logic.Encodable.Pi +public import Mathlib.Logic.Function.Iterate /-! # The primitive recursive functions @@ -41,6 +43,8 @@ other design choices in this formalization, see [carneiro2019]. * [Mario Carneiro, *Formalizing computability theory via partial recursive functions*][carneiro2019] -/ +@[expose] public section + open List (Vector) open Denumerable Encodable Function diff --git a/Mathlib/Computability/Reduce.lean b/Mathlib/Computability/Reduce.lean index aeb80c4ecd154c..f3c197e62b9c1c 100644 --- a/Mathlib/Computability/Reduce.lean +++ b/Mathlib/Computability/Reduce.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Minchao Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Minchao Wu, Mario Carneiro -/ -import Mathlib.Computability.Halting +module + +public import Mathlib.Computability.Halting /-! # Strong reducibility and degrees. @@ -25,6 +27,8 @@ This file uses the local notation `⊕'` for `Sum.elim` to denote the disjoint u computability, reducibility, reduction -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Computability/RegularExpressions.lean b/Mathlib/Computability/RegularExpressions.lean index f6f65eea8f5142..a920241658b608 100644 --- a/Mathlib/Computability/RegularExpressions.lean +++ b/Mathlib/Computability/RegularExpressions.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson -/ -import Mathlib.Computability.Language -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Computability.Language +public import Mathlib.Tactic.AdaptationNote /-! # Regular Expressions @@ -20,6 +22,8 @@ Multiple competing PRs towards that goal are in review. See https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue -/ +@[expose] public section + open List Set open Computability diff --git a/Mathlib/Computability/TMComputable.lean b/Mathlib/Computability/TMComputable.lean index 06db8b0387e525..04c41973bab9aa 100644 --- a/Mathlib/Computability/TMComputable.lean +++ b/Mathlib/Computability/TMComputable.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Pim Spelier, Daan van Gent. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Spelier, Daan van Gent -/ -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.Computability.Encoding -import Mathlib.Computability.TuringMachine +module + +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.Computability.Encoding +public import Mathlib.Computability.TuringMachine /-! # Computable functions @@ -29,6 +31,8 @@ However, as functions only contain a finite number of executions and each one is once, this execution time is up to multiplication by a constant the amount of fundamental steps. -/ +@[expose] public section + open Computability diff --git a/Mathlib/Computability/TMConfig.lean b/Mathlib/Computability/TMConfig.lean index b36ce17377ed80..9d26bd3cfc0981 100644 --- a/Mathlib/Computability/TMConfig.lean +++ b/Mathlib/Computability/TMConfig.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Halting -import Mathlib.Computability.PostTuringMachine -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.Computability.Halting +public import Mathlib.Computability.PostTuringMachine +public import Mathlib.Tactic.DeriveFintype /-! # Modelling partial recursive functions using Turing machines @@ -22,6 +24,8 @@ Turing machine for evaluating these functions. This amounts to a constructive pr * `ToPartrec.Code.eval`: semantics for a `ToPartrec.Code` program -/ +@[expose] public section + open List (Vector) open Function (update) diff --git a/Mathlib/Computability/TMToPartrec.lean b/Mathlib/Computability/TMToPartrec.lean index 6de7a3e788f280..9f521ee888f46c 100644 --- a/Mathlib/Computability/TMToPartrec.lean +++ b/Mathlib/Computability/TMToPartrec.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Halting -import Mathlib.Computability.TuringMachine -import Mathlib.Data.Num.Lemmas -import Mathlib.Tactic.DeriveFintype -import Mathlib.Computability.TMConfig +module + +public import Mathlib.Computability.Halting +public import Mathlib.Computability.TuringMachine +public import Mathlib.Data.Num.Lemmas +public import Mathlib.Tactic.DeriveFintype +public import Mathlib.Computability.TMConfig /-! # Modelling partial recursive functions using Turing machines @@ -23,6 +25,8 @@ Turing machine for evaluating these functions. This amounts to a constructive pr -/ +@[expose] public section + open List (Vector) open Function (update) diff --git a/Mathlib/Computability/Tape.lean b/Mathlib/Computability/Tape.lean index 584260a018487c..d9ad5a97f224db 100644 --- a/Mathlib/Computability/Tape.lean +++ b/Mathlib/Computability/Tape.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Vector.Basic -import Mathlib.Logic.Function.Iterate -import Mathlib.Tactic.ApplyFun -import Mathlib.Data.List.GetD +module + +public import Mathlib.Data.Vector.Basic +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Data.List.GetD /-! # Turing machine tapes @@ -24,6 +26,8 @@ All but finitely many of the cells are required to hold the blank symbol `defaul -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function (iterate_succ iterate_succ_apply iterate_zero_apply) diff --git a/Mathlib/Computability/TuringDegree.lean b/Mathlib/Computability/TuringDegree.lean index c92d63b4d3b815..a879110f2a884b 100644 --- a/Mathlib/Computability/TuringDegree.lean +++ b/Mathlib/Computability/TuringDegree.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Tanner Duve. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tanner Duve, Elan Roth -/ -import Mathlib.Computability.Partrec -import Mathlib.Order.Antisymmetrization +module + +public import Mathlib.Computability.Partrec +public import Mathlib.Order.Antisymmetrization /-! # Oracle computability and Turing degrees @@ -44,6 +46,8 @@ and is closed under pairing, composition, primitive recursion, and μ-recursion. Computability, Oracle, Turing Degrees, Reducibility, Equivalence Relation -/ +@[expose] public section + open Primrec Nat.Partrec Part variable {f g h : ℕ →. ℕ} diff --git a/Mathlib/Computability/TuringMachine.lean b/Mathlib/Computability/TuringMachine.lean index c33159d3c21e06..b7d7a36a3c3b35 100644 --- a/Mathlib/Computability/TuringMachine.lean +++ b/Mathlib/Computability/TuringMachine.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Computability.Tape -import Mathlib.Data.Fintype.Option -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Pi -import Mathlib.Data.PFun -import Mathlib.Computability.PostTuringMachine +module + +public import Mathlib.Computability.Tape +public import Mathlib.Data.Fintype.Option +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Data.PFun +public import Mathlib.Computability.PostTuringMachine /-! # Turing machines @@ -59,6 +61,8 @@ Given these parameters, there are a few common structures for the model that ari formalizes "essentially finite" mentioned above. -/ +@[expose] public section + assert_not_exists MonoidWithZero open List (Vector) diff --git a/Mathlib/Condensed/AB.lean b/Mathlib/Condensed/AB.lean index 4cbd6a984c3c4f..a9f5be8a86ba88 100644 --- a/Mathlib/Condensed/AB.lean +++ b/Mathlib/Condensed/AB.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.ModuleCat.AB -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf -import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveColimits -import Mathlib.Condensed.Equivalence -import Mathlib.Condensed.Limits +module + +public import Mathlib.Algebra.Category.ModuleCat.AB +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf +public import Mathlib.CategoryTheory.Sites.Coherent.ExtensiveColimits +public import Mathlib.Condensed.Equivalence +public import Mathlib.Condensed.Limits /-! # AB axioms in condensed modules @@ -16,6 +18,8 @@ This file proves that the category of condensed modules over a ring satisfies Gr AB5, AB4, and AB4*. -/ +@[expose] public section + universe u open Condensed CategoryTheory Limits diff --git a/Mathlib/Condensed/Basic.lean b/Mathlib/Condensed/Basic.lean index f7d3c2778486bb..35f042731073e5 100644 --- a/Mathlib/Condensed/Basic.lean +++ b/Mathlib/Condensed/Basic.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ +module -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.Topology.Category.CompHaus.EffectiveEpi +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.Topology.Category.CompHaus.EffectiveEpi /-! @@ -29,6 +30,8 @@ as we do not impose cardinality bounds, and manage universes carefully instead. -/ +@[expose] public section + open CategoryTheory Limits open CategoryTheory diff --git a/Mathlib/Condensed/CartesianClosed.lean b/Mathlib/Condensed/CartesianClosed.lean index ad4135589bfb91..8c045837df9696 100644 --- a/Mathlib/Condensed/CartesianClosed.lean +++ b/Mathlib/Condensed/CartesianClosed.lean @@ -3,15 +3,19 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Closed.Types -import Mathlib.CategoryTheory.Sites.CartesianClosed -import Mathlib.Condensed.Basic -import Mathlib.CategoryTheory.Sites.LeftExact +module + +public import Mathlib.CategoryTheory.Closed.Types +public import Mathlib.CategoryTheory.Sites.CartesianClosed +public import Mathlib.Condensed.Basic +public import Mathlib.CategoryTheory.Sites.LeftExact /-! # Condensed sets form a Cartesian-closed category -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/Condensed/Discrete/Basic.lean b/Mathlib/Condensed/Discrete/Basic.lean index af6a39044c384f..ed161eea70b5ae 100644 --- a/Mathlib/Condensed/Discrete/Basic.lean +++ b/Mathlib/Condensed/Discrete/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.ConstantSheaf -import Mathlib.CategoryTheory.Sites.Equivalence -import Mathlib.Condensed.Basic -import Mathlib.Condensed.Light.Basic +module + +public import Mathlib.CategoryTheory.Sites.ConstantSheaf +public import Mathlib.CategoryTheory.Sites.Equivalence +public import Mathlib.Condensed.Basic +public import Mathlib.Condensed.Light.Basic /-! # Discrete-underlying adjunction @@ -25,6 +27,8 @@ condensed and light condensed objects, and provides several conditions on a (lig set or module that characterize it as discrete. -/ +@[expose] public section + universe u v w open CategoryTheory Limits Opposite GrothendieckTopology diff --git a/Mathlib/Condensed/Discrete/Characterization.lean b/Mathlib/Condensed/Discrete/Characterization.lean index 0013e8bb707dc8..3e806c4a6f7dcc 100644 --- a/Mathlib/Condensed/Discrete/Characterization.lean +++ b/Mathlib/Condensed/Discrete/Characterization.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Discrete.Colimit -import Mathlib.Condensed.Discrete.Module +module + +public import Mathlib.Condensed.Discrete.Colimit +public import Mathlib.Condensed.Discrete.Module /-! # Characterizing discrete condensed sets and `R`-modules. @@ -29,6 +31,8 @@ condensed `R`-modules are nearly identical (`CondensedMod.isDiscrete_tfae`, `LightCondSet.isDiscrete_tfae`, and `LightCondMod.isDiscrete_tfae`). -/ +@[expose] public section + universe u open CategoryTheory Limits Functor FintypeCat diff --git a/Mathlib/Condensed/Discrete/Colimit.lean b/Mathlib/Condensed/Discrete/Colimit.lean index cab8b2d53c47af..9208ab27d4c734 100644 --- a/Mathlib/Condensed/Discrete/Colimit.lean +++ b/Mathlib/Condensed/Discrete/Colimit.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Discrete.LocallyConstant -import Mathlib.Condensed.Equivalence -import Mathlib.Topology.Category.LightProfinite.Extend +module + +public import Mathlib.Condensed.Discrete.LocallyConstant +public import Mathlib.Condensed.Equivalence +public import Mathlib.Topology.Category.LightProfinite.Extend /-! # The condensed set given by left Kan extension from `FintypeCat` to `Profinite`. @@ -15,6 +17,8 @@ for every profinite set `S = limᵢSᵢ`, `X(S) ≅ colimᵢX(Sᵢ)`, and the an condensed sets. -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/Condensed/Discrete/LocallyConstant.lean b/Mathlib/Condensed/Discrete/LocallyConstant.lean index 4bf688ed353a2b..5fd137573e489a 100644 --- a/Mathlib/Condensed/Discrete/LocallyConstant.lean +++ b/Mathlib/Condensed/Discrete/LocallyConstant.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Discrete.Basic -import Mathlib.Condensed.TopComparison -import Mathlib.Topology.Category.CompHausLike.SigmaComparison -import Mathlib.Topology.FiberPartition +module + +public import Mathlib.Condensed.Discrete.Basic +public import Mathlib.Condensed.TopComparison +public import Mathlib.Topology.Category.CompHausLike.SigmaComparison +public import Mathlib.Topology.FiberPartition /-! # The sheaf of locally constant maps on `CompHausLike P` @@ -65,6 +67,8 @@ naturality proofs in this file (both lemmas are in the `CompHausLike.LocallyCons -/ +@[expose] public section + universe u w open CategoryTheory Limits LocallyConstant TopologicalSpace.Fiber Opposite Function Fiber diff --git a/Mathlib/Condensed/Discrete/Module.lean b/Mathlib/Condensed/Discrete/Module.lean index 150fb515ab52e1..792d5ff70f4ebf 100644 --- a/Mathlib/Condensed/Discrete/Module.lean +++ b/Mathlib/Condensed/Discrete/Module.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.ConstantSheaf -import Mathlib.Condensed.Discrete.LocallyConstant -import Mathlib.Condensed.Light.Module -import Mathlib.Condensed.Module -import Mathlib.Topology.LocallyConstant.Algebra +module + +public import Mathlib.CategoryTheory.Sites.ConstantSheaf +public import Mathlib.Condensed.Discrete.LocallyConstant +public import Mathlib.Condensed.Light.Module +public import Mathlib.Condensed.Module +public import Mathlib.Topology.LocallyConstant.Algebra /-! # Discrete condensed `R`-modules @@ -20,6 +22,8 @@ the condensed `R`-modules given by locally constant maps to it, and proves that naturally isomorphic to the constant sheaf functor (and the analogues for light condensed modules). -/ +@[expose] public section + universe w u open CategoryTheory LocallyConstant CompHausLike Functor Category Functor Opposite diff --git a/Mathlib/Condensed/Epi.lean b/Mathlib/Condensed/Epi.lean index 22b2829a51e177..f5abfad49c2184 100644 --- a/Mathlib/Condensed/Epi.lean +++ b/Mathlib/Condensed/Epi.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective -import Mathlib.CategoryTheory.Sites.EpiMono -import Mathlib.Condensed.Equivalence -import Mathlib.Condensed.Module +module + +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.CategoryTheory.Sites.Coherent.LocallySurjective +public import Mathlib.CategoryTheory.Sites.EpiMono +public import Mathlib.Condensed.Equivalence +public import Mathlib.Condensed.Module /-! # Epimorphisms of condensed objects @@ -17,6 +19,8 @@ as those morphisms which are objectwise surjective on `Stonean` (see `CondensedSet.epi_iff_surjective_on_stonean` and `CondensedMod.epi_iff_surjective_on_stonean`). -/ +@[expose] public section + universe v u w u' v' open CategoryTheory Sheaf Opposite Limits Condensed ConcreteCategory diff --git a/Mathlib/Condensed/Equivalence.lean b/Mathlib/Condensed/Equivalence.lean index 4a22105c3f1806..b826116076e586 100644 --- a/Mathlib/Condensed/Equivalence.lean +++ b/Mathlib/Condensed/Equivalence.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Nikolas Kuhn, Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Profinite.EffectiveEpi -import Mathlib.Topology.Category.Stonean.EffectiveEpi -import Mathlib.Condensed.Basic -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +module + +public import Mathlib.Topology.Category.Profinite.EffectiveEpi +public import Mathlib.Topology.Category.Stonean.EffectiveEpi +public import Mathlib.Condensed.Basic +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison /-! # Sheaves on CompHaus are equivalent to sheaves on Stonean @@ -32,6 +34,8 @@ categories. We give the corresponding statements for `Profinite` as well. coherent sheaves on `CompHaus` (i.e. condensed sets). -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Condensed/Explicit.lean b/Mathlib/Condensed/Explicit.lean index 2a5d0af7ed54d1..e07e75cfa2c011 100644 --- a/Mathlib/Condensed/Explicit.lean +++ b/Mathlib/Condensed/Explicit.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Riccardo Brasca, Filippo A. E. Nuccio -/ -import Mathlib.Condensed.Module -import Mathlib.Condensed.Equivalence +module + +public import Mathlib.Condensed.Module +public import Mathlib.Condensed.Equivalence /-! # The explicit sheaf condition for condensed sets @@ -29,6 +31,8 @@ reflects finite limits (resp. products), where it is enough to check the sheaf c postcomposing with the forgetful functor. -/ +@[expose] public section + universe u open CategoryTheory Limits Opposite Functor Presheaf regularTopology diff --git a/Mathlib/Condensed/Functors.lean b/Mathlib/Condensed/Functors.lean index 1dfaaba990db60..956317051c7c47 100644 --- a/Mathlib/Condensed/Functors.lean +++ b/Mathlib/Condensed/Functors.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Preserves.Ulift -import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves -import Mathlib.CategoryTheory.Sites.Whiskering -import Mathlib.Condensed.Basic -import Mathlib.Topology.Category.Stonean.Basic +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Ulift +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves +public import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.Condensed.Basic +public import Mathlib.Topology.Category.Stonean.Basic /-! # Functors from categories of topological spaces to condensed sets @@ -22,6 +24,8 @@ sets. -/ +@[expose] public section + universe u v open CategoryTheory Limits diff --git a/Mathlib/Condensed/Light/AB.lean b/Mathlib/Condensed/Light/AB.lean index cb7631920bed0e..66f73e05fbf2f9 100644 --- a/Mathlib/Condensed/Light/AB.lean +++ b/Mathlib/Condensed/Light/AB.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.ModuleCat.AB -import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf -import Mathlib.Condensed.Light.Epi +module + +public import Mathlib.Algebra.Category.ModuleCat.AB +public import Mathlib.CategoryTheory.Abelian.GrothendieckAxioms.Sheaf +public import Mathlib.Condensed.Light.Epi /-! # Grothendieck's AB axioms for light condensed modules @@ -14,6 +16,8 @@ The category of light condensed `R`-modules over a ring satisfies the countable Grothendieck's AB4* axiom -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Condensed/Light/Basic.lean b/Mathlib/Condensed/Light/Basic.lean index 84779e8376c74b..5ceeb17f4c2be3 100644 --- a/Mathlib/Condensed/Light/Basic.lean +++ b/Mathlib/Condensed/Light/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.Topology.Category.LightProfinite.EffectiveEpi +module + +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.Topology.Category.LightProfinite.EffectiveEpi /-! # Light condensed objects @@ -14,6 +16,8 @@ of Clausen-Scholze (see https://www.youtube.com/playlist?list=PLx5f8IelFRgGmu6gm -/ +@[expose] public section + universe u v w open CategoryTheory Limits diff --git a/Mathlib/Condensed/Light/CartesianClosed.lean b/Mathlib/Condensed/Light/CartesianClosed.lean index 9fabb29a221d62..b5912b1b1593c8 100644 --- a/Mathlib/Condensed/Light/CartesianClosed.lean +++ b/Mathlib/Condensed/Light/CartesianClosed.lean @@ -3,15 +3,19 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Closed.Types -import Mathlib.CategoryTheory.Sites.CartesianClosed -import Mathlib.CategoryTheory.Sites.Equivalence -import Mathlib.Condensed.Light.Basic +module + +public import Mathlib.CategoryTheory.Closed.Types +public import Mathlib.CategoryTheory.Sites.CartesianClosed +public import Mathlib.CategoryTheory.Sites.Equivalence +public import Mathlib.Condensed.Light.Basic /-! # Light condensed sets form a Cartesian-closed category -/ +@[expose] public section + universe u noncomputable section diff --git a/Mathlib/Condensed/Light/Epi.lean b/Mathlib/Condensed/Light/Epi.lean index e616bae4e7c37f..b499259468c697 100644 --- a/Mathlib/Condensed/Light/Epi.lean +++ b/Mathlib/Condensed/Light/Epi.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Shapes.SequentialProduct -import Mathlib.CategoryTheory.Sites.Coherent.SequentialLimit -import Mathlib.Condensed.Light.Limits +module + +public import Mathlib.CategoryTheory.Limits.Shapes.SequentialProduct +public import Mathlib.CategoryTheory.Sites.Coherent.SequentialLimit +public import Mathlib.Condensed.Light.Limits /-! # Epimorphisms of light condensed objects @@ -17,6 +19,8 @@ of light profinite sets. Further, we prove that the functor `lim : Discrete ℕ ⥤ LightCondMod R` preserves epimorphisms. -/ +@[expose] public section + universe v u w u' v' open CategoryTheory Sheaf Limits HasForget GrothendieckTopology diff --git a/Mathlib/Condensed/Light/Explicit.lean b/Mathlib/Condensed/Light/Explicit.lean index 1441969f65112c..aee19685b71f38 100644 --- a/Mathlib/Condensed/Light/Explicit.lean +++ b/Mathlib/Condensed/Light/Explicit.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison -import Mathlib.Condensed.Light.Module +module + +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +public import Mathlib.Condensed.Light.Module /-! # The explicit sheaf condition for light condensed sets @@ -24,6 +26,8 @@ reflects finite limits (resp. products), where it is enough to check the sheaf c postcomposing with the forgetful functor. -/ +@[expose] public section + universe v u w open CategoryTheory Limits Opposite Functor Presheaf regularTopology diff --git a/Mathlib/Condensed/Light/Functors.lean b/Mathlib/Condensed/Light/Functors.lean index 275eb35f5e1a37..7b987b2b70c1b7 100644 --- a/Mathlib/Condensed/Light/Functors.lean +++ b/Mathlib/Condensed/Light/Functors.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves -import Mathlib.Condensed.Light.Basic +module + +public import Mathlib.CategoryTheory.Sites.Coherent.CoherentSheaves +public import Mathlib.Condensed.Light.Basic /-! # Functors from categories of topological spaces to light condensed sets @@ -19,6 +21,8 @@ sets. -/ +@[expose] public section + universe u v open CategoryTheory Limits diff --git a/Mathlib/Condensed/Light/Limits.lean b/Mathlib/Condensed/Light/Limits.lean index 0955dd8d521783..edae4c73c4dfb0 100644 --- a/Mathlib/Condensed/Light/Limits.lean +++ b/Mathlib/Condensed/Light/Limits.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Light.Module +module + +public import Mathlib.Condensed.Light.Module /-! # Limits in categories of light condensed objects @@ -11,6 +13,8 @@ import Mathlib.Condensed.Light.Module This file adds some instances for limits in light condensed sets and modules. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Condensed/Light/Module.lean b/Mathlib/Condensed/Light/Module.lean index 82f23b2da1bea3..ec8078cfa180c4 100644 --- a/Mathlib/Condensed/Light/Module.lean +++ b/Mathlib/Condensed/Light/Module.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Category.ModuleCat.Adjunctions -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.FilteredColimits -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.Adjunction -import Mathlib.CategoryTheory.Sites.Equivalence -import Mathlib.Condensed.Light.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Adjunctions +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.FilteredColimits +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.Adjunction +public import Mathlib.CategoryTheory.Sites.Equivalence +public import Mathlib.Condensed.Light.Basic /-! # Light condensed `R`-modules @@ -25,6 +27,8 @@ This file defines light condensed modules over a ring `R`. adjoint, sending a light condensed set to the corresponding *free* light condensed `R`-module. -/ +@[expose] public section + universe u diff --git a/Mathlib/Condensed/Light/Small.lean b/Mathlib/Condensed/Light/Small.lean index c3ccf7978885b6..1f3dc795f7ba3a 100644 --- a/Mathlib/Condensed/Light/Small.lean +++ b/Mathlib/Condensed/Light/Small.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Equivalence -import Mathlib.Condensed.Light.Basic +module + +public import Mathlib.CategoryTheory.Sites.Equivalence +public import Mathlib.Condensed.Light.Basic /-! # Equivalence of light condensed objects with sheaves on a small site -/ +@[expose] public section + universe u v w open CategoryTheory diff --git a/Mathlib/Condensed/Light/TopCatAdjunction.lean b/Mathlib/Condensed/Light/TopCatAdjunction.lean index b7080a84ca14c1..32375f3de46637 100644 --- a/Mathlib/Condensed/Light/TopCatAdjunction.lean +++ b/Mathlib/Condensed/Light/TopCatAdjunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Light.TopComparison -import Mathlib.Topology.Category.Sequential -import Mathlib.Topology.Category.LightProfinite.Sequence +module + +public import Mathlib.Condensed.Light.TopComparison +public import Mathlib.Topology.Category.Sequential +public import Mathlib.Topology.Category.LightProfinite.Sequence /-! # The adjunction between light condensed sets and topological spaces @@ -18,6 +20,8 @@ The counit is an isomorphism for sequential spaces, and we conclude that the fun `topCatToLightCondSet` is fully faithful when restricted to sequential spaces. -/ +@[expose] public section + universe u open LightCondensed LightCondSet CategoryTheory LightProfinite diff --git a/Mathlib/Condensed/Light/TopComparison.lean b/Mathlib/Condensed/Light/TopComparison.lean index bebf7bfe428419..296535c882cde6 100644 --- a/Mathlib/Condensed/Light/TopComparison.lean +++ b/Mathlib/Condensed/Light/TopComparison.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Light.Basic -import Mathlib.Condensed.TopComparison +module + +public import Mathlib.Condensed.Light.Basic +public import Mathlib.Condensed.TopComparison /-! @@ -14,6 +16,8 @@ We define the functor `topCatToLightCondSet : TopCat.{u} ⥤ LightCondSet.{u}`. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Condensed/Limits.lean b/Mathlib/Condensed/Limits.lean index 84356b62a436b4..29d61010df8d34 100644 --- a/Mathlib/Condensed/Limits.lean +++ b/Mathlib/Condensed/Limits.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.Module +module + +public import Mathlib.Condensed.Module /-! @@ -12,6 +14,8 @@ import Mathlib.Condensed.Module This file adds some instances for limits in condensed sets and condensed modules. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Condensed/Module.lean b/Mathlib/Condensed/Module.lean index 6c8116b1ccfd2b..50a92e1beb18c0 100644 --- a/Mathlib/Condensed/Module.lean +++ b/Mathlib/Condensed/Module.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.ModuleCat.Abelian -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.FilteredColimits -import Mathlib.Algebra.Category.ModuleCat.Adjunctions -import Mathlib.CategoryTheory.Sites.Abelian -import Mathlib.CategoryTheory.Sites.Adjunction -import Mathlib.CategoryTheory.Sites.LeftExact -import Mathlib.Condensed.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Abelian +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.FilteredColimits +public import Mathlib.Algebra.Category.ModuleCat.Adjunctions +public import Mathlib.CategoryTheory.Sites.Abelian +public import Mathlib.CategoryTheory.Sites.Adjunction +public import Mathlib.CategoryTheory.Sites.LeftExact +public import Mathlib.Condensed.Basic /-! # Condensed `R`-modules @@ -25,6 +27,8 @@ This file defines condensed modules over a ring `R`. condensed set to the corresponding *free* condensed `R`-module. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Condensed/Solid.lean b/Mathlib/Condensed/Solid.lean index cb17f4ded37099..4e58f3055c5b55 100644 --- a/Mathlib/Condensed/Solid.lean +++ b/Mathlib/Condensed/Solid.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise -import Mathlib.Condensed.Functors -import Mathlib.Condensed.Limits +module + +public import Mathlib.CategoryTheory.Functor.KanExtension.Pointwise +public import Mathlib.Condensed.Functors +public import Mathlib.Condensed.Limits /-! @@ -23,6 +25,8 @@ TODO (hard): prove that `((profiniteSolid ℤ).obj S).IsSolid` for `S : Profinit TODO (slightly easier): prove that `((profiniteSolid 𝔽ₚ).obj S).IsSolid` for `S : Profinite`. -/ +@[expose] public section + universe u variable (R : Type (u + 1)) [Ring R] diff --git a/Mathlib/Condensed/TopCatAdjunction.lean b/Mathlib/Condensed/TopCatAdjunction.lean index bfd7b2a2e8499e..75ea358f2a70e7 100644 --- a/Mathlib/Condensed/TopCatAdjunction.lean +++ b/Mathlib/Condensed/TopCatAdjunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Condensed.TopComparison -import Mathlib.Topology.Category.CompactlyGenerated +module + +public import Mathlib.Condensed.TopComparison +public import Mathlib.Topology.Category.CompactlyGenerated /-! # The adjunction between condensed sets and topological spaces @@ -17,6 +19,8 @@ The counit is an isomorphism for compactly generated spaces, and we conclude tha `topCatToCondensedSet` is fully faithful when restricted to compactly generated spaces. -/ +@[expose] public section + universe u open Condensed CondensedSet CategoryTheory CompHaus diff --git a/Mathlib/Condensed/TopComparison.lean b/Mathlib/Condensed/TopComparison.lean index 9d10263da7991b..3c64bc02599e25 100644 --- a/Mathlib/Condensed/TopComparison.lean +++ b/Mathlib/Condensed/TopComparison.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Preserves.Opposites -import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison -import Mathlib.Condensed.Basic -import Mathlib.Topology.Category.TopCat.Yoneda +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Opposites +public import Mathlib.CategoryTheory.Sites.Coherent.SheafComparison +public import Mathlib.Condensed.Basic +public import Mathlib.Topology.Category.TopCat.Yoneda /-! @@ -21,6 +23,8 @@ We apply this API to `CompHaus` and define the functor -/ +@[expose] public section + universe w w' v u open CategoryTheory Opposite Limits regularTopology ContinuousMap Topology diff --git a/Mathlib/Control/Applicative.lean b/Mathlib/Control/Applicative.lean index 1f82d1816f5bdd..7b0421b62fe51c 100644 --- a/Mathlib/Control/Applicative.lean +++ b/Mathlib/Control/Applicative.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Control.Functor -import Mathlib.Control.Basic +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Control.Functor +public import Mathlib.Control.Basic /-! # `applicative` instances @@ -17,6 +19,8 @@ This file provides `Applicative` instances for concrete functors: * `Functor.add_const` -/ +@[expose] public section + universe u v w section Lemmas diff --git a/Mathlib/Control/Basic.lean b/Mathlib/Control/Basic.lean index 147af63e06d0a4..2a645a1be791d1 100644 --- a/Mathlib/Control/Basic.lean +++ b/Mathlib/Control/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Control.Combinators -import Mathlib.Logic.Function.Defs -import Mathlib.Tactic.CasesM -import Mathlib.Tactic.Attr.Core +module + +public import Mathlib.Control.Combinators +public import Mathlib.Logic.Function.Defs +public import Mathlib.Tactic.CasesM +public import Mathlib.Tactic.Attr.Core /-! Extends the theory on functors, applicatives and monads. -/ +@[expose] public section + universe u v w variable {α β γ : Type u} diff --git a/Mathlib/Control/Bifunctor.lean b/Mathlib/Control/Bifunctor.lean index f2e2f94a640651..262f8904e167ce 100644 --- a/Mathlib/Control/Bifunctor.lean +++ b/Mathlib/Control/Bifunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Functor -import Mathlib.Tactic.Common +module + +public import Mathlib.Control.Functor +public import Mathlib.Tactic.Common /-! # Functors with two arguments @@ -22,6 +24,8 @@ A bifunctor is a function `F : Type* → Type* → Type*` along with a bimap whi * `LawfulBifunctor`: A typeclass asserting this bimap respects the bifunctor laws. -/ +@[expose] public section + universe u₀ u₁ u₂ v₀ v₁ v₂ diff --git a/Mathlib/Control/Bitraversable/Basic.lean b/Mathlib/Control/Bitraversable/Basic.lean index 3c67682047b572..77e9aad542956d 100644 --- a/Mathlib/Control/Bitraversable/Basic.lean +++ b/Mathlib/Control/Bitraversable/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Bifunctor -import Mathlib.Control.Traversable.Basic +module + +public import Mathlib.Control.Bifunctor +public import Mathlib.Control.Traversable.Basic /-! # Bitraversable type class @@ -37,6 +39,8 @@ The concepts and laws are taken from traversable bitraversable iterator functor bifunctor applicative -/ +@[expose] public section + universe u diff --git a/Mathlib/Control/Bitraversable/Instances.lean b/Mathlib/Control/Bitraversable/Instances.lean index 37b6de2935cf13..2289e3015200c3 100644 --- a/Mathlib/Control/Bitraversable/Instances.lean +++ b/Mathlib/Control/Bitraversable/Instances.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Bitraversable.Lemmas -import Mathlib.Control.Traversable.Lemmas +module + +public import Mathlib.Control.Bitraversable.Lemmas +public import Mathlib.Control.Traversable.Lemmas /-! # Bitraversable instances @@ -26,6 +28,8 @@ This file provides `Bitraversable` instances for concrete bifunctors: traversable bitraversable functor bifunctor applicative -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Control/Bitraversable/Lemmas.lean b/Mathlib/Control/Bitraversable/Lemmas.lean index 8ae1bc21e1a60e..896d17ffd1814a 100644 --- a/Mathlib/Control/Bitraversable/Lemmas.lean +++ b/Mathlib/Control/Bitraversable/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Bitraversable.Basic +module + +public import Mathlib.Control.Bitraversable.Basic /-! # Bitraversable Lemmas @@ -32,6 +34,8 @@ traversable bitraversable functor bifunctor applicative -/ +@[expose] public section + universe u diff --git a/Mathlib/Control/Combinators.lean b/Mathlib/Control/Combinators.lean index 49c582b2f0fff1..1655b41153a414 100644 --- a/Mathlib/Control/Combinators.lean +++ b/Mathlib/Control/Combinators.lean @@ -3,12 +3,15 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Monad combinators, as in Haskell's Control.Monad. -/ +@[expose] public section + universe u v w /-- Collapses two layers of monadic structure into one, diff --git a/Mathlib/Control/EquivFunctor.lean b/Mathlib/Control/EquivFunctor.lean index f04f4dfa367fb5..9330cfa6896c78 100644 --- a/Mathlib/Control/EquivFunctor.lean +++ b/Mathlib/Control/EquivFunctor.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Convert +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Convert /-! # Functions functorial with respect to equivalences @@ -15,6 +17,8 @@ coherently mapping equivalences to equivalences. In categorical language, it is an endofunctor of the "core" of the category `Type`. -/ +@[expose] public section + universe u₀ u₁ u₂ v₀ v₁ v₂ diff --git a/Mathlib/Control/EquivFunctor/Instances.lean b/Mathlib/Control/EquivFunctor/Instances.lean index 6b98d0ef997718..e94d2d9049c66d 100644 --- a/Mathlib/Control/EquivFunctor/Instances.lean +++ b/Mathlib/Control/EquivFunctor/Instances.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Control.EquivFunctor -import Mathlib.Data.Fintype.OfMap +module + +public import Mathlib.Control.EquivFunctor +public import Mathlib.Data.Fintype.OfMap /-! # `EquivFunctor` instances @@ -12,6 +14,8 @@ import Mathlib.Data.Fintype.OfMap We derive some `EquivFunctor` instances, to enable `equiv_rw` to rewrite under these functions. -/ +@[expose] public section + open Equiv diff --git a/Mathlib/Control/Fix.lean b/Mathlib/Control/Fix.lean index 1119c70c71359d..2fac3609394b1a 100644 --- a/Mathlib/Control/Fix.lean +++ b/Mathlib/Control/Fix.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.Part -import Mathlib.Data.Nat.Find -import Mathlib.Data.Nat.Upto -import Mathlib.Data.Stream.Defs -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Part +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.Nat.Upto +public import Mathlib.Data.Stream.Defs +public import Mathlib.Tactic.Common /-! # Fixed point @@ -22,6 +24,8 @@ An instance is defined for `Part`. * `Part.fix` -/ +@[expose] public section + universe u v diff --git a/Mathlib/Control/Fold.lean b/Mathlib/Control/Fold.lean index 7e62d81d2b26d6..6bd0093409e375 100644 --- a/Mathlib/Control/Fold.lean +++ b/Mathlib/Control/Fold.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Sean Leather -/ -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.CategoryTheory.Category.KleisliCat -import Mathlib.CategoryTheory.Endomorphism -import Mathlib.CategoryTheory.Types.Basic -import Mathlib.Control.Traversable.Instances -import Mathlib.Control.Traversable.Lemmas -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.CategoryTheory.Category.KleisliCat +public import Mathlib.CategoryTheory.Endomorphism +public import Mathlib.CategoryTheory.Types.Basic +public import Mathlib.Control.Traversable.Instances +public import Mathlib.Control.Traversable.Lemmas +public import Mathlib.Tactic.AdaptationNote /-! @@ -52,6 +54,8 @@ but the author cannot think of instances of `foldable` that are not also `Traversable`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Control/Functor.lean b/Mathlib/Control/Functor.lean index 0e27ac9f6e0d77..5eda9ddc64d80b 100644 --- a/Mathlib/Control/Functor.lean +++ b/Mathlib/Control/Functor.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Tactic.Attr.Register -import Mathlib.Data.Set.Defs -import Mathlib.Tactic.TypeStar -import Batteries.Tactic.Lint +module + +public import Mathlib.Tactic.Attr.Register +public import Mathlib.Data.Set.Defs +public import Mathlib.Tactic.TypeStar +public import Batteries.Tactic.Lint /-! # Functors @@ -26,6 +28,8 @@ This module provides additional lemmas, definitions, and instances for `Functor` functor, applicative -/ +@[expose] public section + universe u v w section Functor diff --git a/Mathlib/Control/Functor/Multivariate.lean b/Mathlib/Control/Functor/Multivariate.lean index c760bf63b9fa61..25ea77536d27f7 100644 --- a/Mathlib/Control/Functor/Multivariate.lean +++ b/Mathlib/Control/Functor/Multivariate.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Simon Hudon -/ -import Mathlib.Data.Fin.Fin2 -import Mathlib.Data.TypeVec -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Data.Fin.Fin2 +public import Mathlib.Data.TypeVec +public import Mathlib.Logic.Equiv.Defs /-! @@ -18,6 +20,8 @@ Features: -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Control/Lawful.lean b/Mathlib/Control/Lawful.lean index 5064ce464f3d38..107e3a8de8eec8 100644 --- a/Mathlib/Control/Lawful.lean +++ b/Mathlib/Control/Lawful.lean @@ -3,13 +3,16 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ +module -import Mathlib.Tactic.Basic +public import Mathlib.Tactic.Basic /-! # Functor Laws, applicative laws, and monad Laws -/ +@[expose] public section + universe u v namespace StateT diff --git a/Mathlib/Control/LawfulFix.lean b/Mathlib/Control/LawfulFix.lean index 2a9f5873b0f57a..5b96caf4f6334c 100644 --- a/Mathlib/Control/LawfulFix.lean +++ b/Mathlib/Control/LawfulFix.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.Stream.Init -import Mathlib.Tactic.ApplyFun -import Mathlib.Control.Fix -import Mathlib.Order.OmegaCompletePartialOrder +module + +public import Mathlib.Data.Stream.Init +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Control.Fix +public import Mathlib.Order.OmegaCompletePartialOrder /-! # Lawful fixed point operators @@ -20,6 +22,8 @@ omega complete partial orders (ωCPO). Proofs of the lawfulness of all `Fix` ins * class `LawfulFix` -/ +@[expose] public section + universe u v variable {α : Type*} {β : α → Type*} diff --git a/Mathlib/Control/Monad/Basic.lean b/Mathlib/Control/Monad/Basic.lean index 97e5d34ad646d5..8d226fa00a85e2 100644 --- a/Mathlib/Control/Monad/Basic.lean +++ b/Mathlib/Control/Monad/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Logic.Equiv.Defs /-! # Monad @@ -34,6 +36,8 @@ functor, applicative, monad, simp -/ +@[expose] public section + universe u v variable {α β σ : Type u} diff --git a/Mathlib/Control/Monad/Cont.lean b/Mathlib/Control/Monad/Cont.lean index 304f443e0af161..1491e0e8300173 100644 --- a/Mathlib/Control/Monad/Cont.lean +++ b/Mathlib/Control/Monad/Cont.lean @@ -3,11 +3,14 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Monad.Basic -import Mathlib.Control.Monad.Writer -import Mathlib.Control.Lawful -import Batteries.Tactic.Congr -import Batteries.Lean.Except +module + +public import Mathlib.Control.Monad.Basic +public import Mathlib.Control.Monad.Writer +public import Mathlib.Control.Lawful +public import Batteries.Tactic.Congr +public import Batteries.Lean.Except +import all Init.Control.Option -- for unfolding `Option.lift` /-! # Continuation Monad @@ -18,6 +21,8 @@ Haskell's `Cont`, `ContT` and `MonadCont`: -/ +@[expose] public section + universe u v w u₀ u₁ v₀ v₁ structure MonadCont.Label (α : Type w) (m : Type u → Type v) (β : Type u) where @@ -157,7 +162,7 @@ def OptionT.mkLabel {α β} : Label (Option.{u} α) m β → Label α (OptionT m theorem OptionT.goto_mkLabel {α β : Type _} (x : Label (Option.{u} α) m β) (i : α) : goto (OptionT.mkLabel x) i = OptionT.mk (goto x (some i) >>= fun a => pure (some a)) := - rfl + (rfl) nonrec def OptionT.callCC [MonadCont m] {α β : Type _} (f : Label α (OptionT m) β → OptionT m α) : OptionT m α := @@ -165,7 +170,7 @@ nonrec def OptionT.callCC [MonadCont m] {α β : Type _} (f : Label α (OptionT @[simp] lemma run_callCC [MonadCont m] {α β : Type _} (f : Label α (OptionT m) β → OptionT m α) : - (OptionT.callCC f).run = (callCC fun x => OptionT.run <| f (OptionT.mkLabel x)) := rfl + (OptionT.callCC f).run = (callCC fun x => OptionT.run <| f (OptionT.mkLabel x)) := (rfl) instance [MonadCont m] : MonadCont (OptionT m) where callCC := OptionT.callCC diff --git a/Mathlib/Control/Monad/Writer.lean b/Mathlib/Control/Monad/Writer.lean index 0f4c23db89034f..7737e72a949124 100644 --- a/Mathlib/Control/Monad/Writer.lean +++ b/Mathlib/Control/Monad/Writer.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Edward Ayers -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Logic.Equiv.Defs /-! # Writer monads @@ -19,6 +21,8 @@ computation progresses. -/ +@[expose] public section + universe u v /-- Adds a writable output of type `ω` to a monad. diff --git a/Mathlib/Control/Random.lean b/Mathlib/Control/Random.lean index 03ff1d7b703abe..0b3a36e4a859b4 100644 --- a/Mathlib/Control/Random.lean +++ b/Mathlib/Control/Random.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Henrik Böving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henrik Böving -/ -import Mathlib.Control.ULiftable -import Mathlib.Order.Fin.Basic +module + +public import Mathlib.Control.ULiftable +public import Mathlib.Order.Fin.Basic /-! # Rand Monad and Random Class @@ -28,6 +30,8 @@ defining objects that can be created randomly. -/ +@[expose] public section + set_option autoImplicit true -- Note: this file uses `autoImplicit` pervasively /-- A monad transformer to generate random objects using the generic generator type `g` -/ diff --git a/Mathlib/Control/Traversable/Basic.lean b/Mathlib/Control/Traversable/Basic.lean index 7f63c540a9f0b1..17675ef8551e27 100644 --- a/Mathlib/Control/Traversable/Basic.lean +++ b/Mathlib/Control/Traversable/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.Option.Defs -import Mathlib.Control.Functor -import Batteries.Data.List.Basic -import Mathlib.Control.Basic +module + +public import Mathlib.Data.Option.Defs +public import Mathlib.Control.Functor +public import Batteries.Data.List.Basic +public import Mathlib.Control.Basic /-! # Traversable type class @@ -55,6 +57,8 @@ traversable iterator functor applicative online at -/ +@[expose] public section + open Function hiding comp universe u v w diff --git a/Mathlib/Control/Traversable/Equiv.lean b/Mathlib/Control/Traversable/Equiv.lean index 3233b938b20ccb..a17a2e5ac4a139 100644 --- a/Mathlib/Control/Traversable/Equiv.lean +++ b/Mathlib/Control/Traversable/Equiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Traversable.Lemmas -import Mathlib.Logic.Equiv.Defs -import Batteries.Tactic.SeqFocus +module + +public import Mathlib.Control.Traversable.Lemmas +public import Mathlib.Logic.Equiv.Defs +public import Batteries.Tactic.SeqFocus /-! # Transferring `Traversable` instances along isomorphisms @@ -23,6 +25,8 @@ This file allows to transfer `Traversable` instances along isomorphisms. * `Equiv.isLawfulTraversable`: `Equiv.traverse` as a lawful traversable functor. -/ +@[expose] public section + universe u diff --git a/Mathlib/Control/Traversable/Instances.lean b/Mathlib/Control/Traversable/Instances.lean index 4e5eae68ca2ebd..33ec34fa4f7d9a 100644 --- a/Mathlib/Control/Traversable/Instances.lean +++ b/Mathlib/Control/Traversable/Instances.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Applicative -import Mathlib.Control.Traversable.Basic -import Mathlib.Data.List.Forall2 -import Mathlib.Data.Set.Functor +module + +public import Mathlib.Control.Applicative +public import Mathlib.Control.Traversable.Basic +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.Set.Functor /-! # LawfulTraversable instances @@ -15,6 +17,8 @@ This file provides instances of `LawfulTraversable` for types from the core libr `List` and `Sum`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Control/Traversable/Lemmas.lean b/Mathlib/Control/Traversable/Lemmas.lean index 4dcebf63bf5b5f..5bc058138c0083 100644 --- a/Mathlib/Control/Traversable/Lemmas.lean +++ b/Mathlib/Control/Traversable/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Applicative -import Mathlib.Control.Traversable.Basic +module + +public import Mathlib.Control.Applicative +public import Mathlib.Control.Traversable.Basic /-! # Traversing collections @@ -17,6 +19,8 @@ This file proves basic properties of traversable and applicative functors and de Inspired by [The Essence of the Iterator Pattern][gibbons2009]. -/ +@[expose] public section + universe u diff --git a/Mathlib/Control/ULift.lean b/Mathlib/Control/ULift.lean index 2482e0095fe06c..919754542da087 100644 --- a/Mathlib/Control/ULift.lean +++ b/Mathlib/Control/ULift.lean @@ -3,13 +3,16 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Jannis Limperg -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Monadic instances for `ULift` and `PLift` In this file we define `Monad` and `IsLawfulMonad` instances on `PLift` and `ULift`. -/ +@[expose] public section + universe u v u' v' namespace PLift diff --git a/Mathlib/Control/ULiftable.lean b/Mathlib/Control/ULiftable.lean index 22b5c1d9b46d94..6b5ebae7a61705 100644 --- a/Mathlib/Control/ULiftable.lean +++ b/Mathlib/Control/ULiftable.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Monad.Basic -import Mathlib.Control.Monad.Cont -import Mathlib.Control.Monad.Writer -import Mathlib.Logic.Equiv.Basic -import Mathlib.Logic.Equiv.Functor -import Mathlib.Control.Lawful +module + +public import Mathlib.Control.Monad.Basic +public import Mathlib.Control.Monad.Cont +public import Mathlib.Control.Monad.Writer +public import Mathlib.Logic.Equiv.Basic +public import Mathlib.Logic.Equiv.Functor +public import Mathlib.Control.Lawful /-! # Universe lifting for type families @@ -34,6 +36,8 @@ universe polymorphism functor -/ +@[expose] public section + universe v u₀ u₁ v₀ v₁ v₂ w w₀ w₁ diff --git a/Mathlib/Data/Analysis/Filter.lean b/Mathlib/Data/Analysis/Filter.lean index 27d77411a6e089..d8ccd2d4605e3c 100644 --- a/Mathlib/Data/Analysis/Filter.lean +++ b/Mathlib/Data/Analysis/Filter.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Order.Filter.Cofinite +module + +public import Mathlib.Order.Filter.Cofinite /-! # Computational realization of filters (experimental) @@ -17,6 +19,8 @@ This file provides infrastructure to compute with filters. * `Filter.Realizer`: Realization of a `Filter`. `CFilter` that generates the given filter. -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Data/Analysis/Topology.lean b/Mathlib/Data/Analysis/Topology.lean index 2eeb1e1449bb14..4974976bd07a7b 100644 --- a/Mathlib/Data/Analysis/Topology.lean +++ b/Mathlib/Data/Analysis/Topology.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Analysis.Filter -import Mathlib.Topology.Bases -import Mathlib.Topology.LocallyFinite +module + +public import Mathlib.Data.Analysis.Filter +public import Mathlib.Topology.Bases +public import Mathlib.Topology.LocallyFinite /-! # Computational realization of topological spaces (experimental) @@ -20,6 +22,8 @@ This file provides infrastructure to compute with topological spaces. * `Compact.Realizer`: Realization of the compactness of a set. -/ +@[expose] public section + open Set diff --git a/Mathlib/Data/Array/Defs.lean b/Mathlib/Data/Array/Defs.lean index 0916f57d688ff3..72623030cf4312 100644 --- a/Mathlib/Data/Array/Defs.lean +++ b/Mathlib/Data/Array/Defs.lean @@ -3,8 +3,9 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Floris van Doorn -/ +module -import Mathlib.Init +public import Mathlib.Init /-! ## Definitions on Arrays @@ -12,6 +13,8 @@ This file contains various definitions on `Array`. It does not contain proofs about these definitions, those are contained in other files in `Mathlib/Data/Array.lean`. -/ +@[expose] public section + namespace Array universe u diff --git a/Mathlib/Data/Array/Extract.lean b/Mathlib/Data/Array/Extract.lean index 8f8981ea871d86..02de53f3e5e9f6 100644 --- a/Mathlib/Data/Array/Extract.lean +++ b/Mathlib/Data/Array/Extract.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Jiecheng Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiecheng Zhao -/ -import Mathlib.Init +module + +public import Mathlib.Init /-! # Lemmas about `Array.extract` Some useful lemmas about Array.extract -/ +@[expose] public section + universe u variable {α : Type u} {i : Nat} diff --git a/Mathlib/Data/BitVec.lean b/Mathlib/Data/BitVec.lean index 0b45a62787dc0e..061c5c29dd4b98 100644 --- a/Mathlib/Data/BitVec.lean +++ b/Mathlib/Data/BitVec.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Harun Khan, Alex Keizer -/ -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Data.ZMod.Defs -import Mathlib.Data.Int.Cast.Lemmas +module + +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Data.ZMod.Defs +public import Mathlib.Data.Int.Cast.Lemmas /-! # Basic Theorems About Bitvectors @@ -18,6 +20,8 @@ Please do not extend this file further: material about BitVec needed in downstre can either be PR'd to Lean, or kept downstream if it also relies on Mathlib. -/ +@[expose] public section + namespace BitVec variable {w : Nat} diff --git a/Mathlib/Data/Bool/AllAny.lean b/Mathlib/Data/Bool/AllAny.lean index 1724a9ef0bbaba..ba5844f58c95e5 100644 --- a/Mathlib/Data/Bool/AllAny.lean +++ b/Mathlib/Data/Bool/AllAny.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Tactic.Alias -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Tactic.Alias +public import Mathlib.Tactic.TypeStar /-! # Boolean quantifiers @@ -13,6 +15,8 @@ This proves a few properties about `List.all` and `List.any`, which are the `Boo existential quantifiers. Their definitions are in core Lean. -/ +@[expose] public section + variable {α : Type*} {p : α → Prop} [DecidablePred p] {l : List α} {a : α} diff --git a/Mathlib/Data/Bool/Basic.lean b/Mathlib/Data/Bool/Basic.lean index c67acffba84d85..b7fe9402c5c7c2 100644 --- a/Mathlib/Data/Bool/Basic.lean +++ b/Mathlib/Data/Bool/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad -/ -import Mathlib.Logic.Basic -import Mathlib.Order.Defs.LinearOrder +module + +public import Mathlib.Logic.Basic +public import Mathlib.Order.Defs.LinearOrder /-! # Booleans @@ -17,6 +19,8 @@ bool, boolean, Bool, De Morgan -/ +@[expose] public section + namespace Bool section diff --git a/Mathlib/Data/Bool/Count.lean b/Mathlib/Data/Bool/Count.lean index a00d6555cbf371..96dd8e35155b2c 100644 --- a/Mathlib/Data/Bool/Count.lean +++ b/Mathlib/Data/Bool/Count.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Data.List.Chain +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Data.List.Chain /-! # List of Booleans @@ -15,6 +17,8 @@ we prove that in a list with alternating `true`s and `false`s, the number of `tr the number of `false`s by at most one. We provide several versions of these statements. -/ +@[expose] public section + namespace List diff --git a/Mathlib/Data/Bool/Set.lean b/Mathlib/Data/Bool/Set.lean index a7cfc497029cfd..d349cf7a5a4846 100644 --- a/Mathlib/Data/Bool/Set.lean +++ b/Mathlib/Data/Bool/Set.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Insert +module + +public import Mathlib.Data.Set.Insert /-! # Booleans and set operations @@ -11,6 +13,8 @@ import Mathlib.Data.Set.Insert This file contains three trivial lemmas about `Bool`, `Set.univ`, and `Set.range`. -/ +@[expose] public section + open Set diff --git a/Mathlib/Data/Bracket.lean b/Mathlib/Data/Bracket.lean index 0026f0ec60df5e..e382b6938958b7 100644 --- a/Mathlib/Data/Bracket.lean +++ b/Mathlib/Data/Bracket.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Lutz, Oliver Nash -/ -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Tactic.TypeStar /-! # Bracket Notation @@ -22,6 +24,8 @@ We introduce the notation `⁅x, y⁆` for the `bracket` of any `Bracket` struct these are the Unicode "square with quill" brackets rather than the usual square brackets. -/ +@[expose] public section + /-- The `Bracket` class has three intended uses: 1. for certain binary operations on structures, like the product `⁅x, y⁆` of two elements `x`, `y` in a Lie algebra or the commutator of two elements `x` and `y` in a group. diff --git a/Mathlib/Data/Bundle.lean b/Mathlib/Data/Bundle.lean index f8717299404059..55c2b8f33e0929 100644 --- a/Mathlib/Data/Bundle.lean +++ b/Mathlib/Data/Bundle.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Data.Set.Basic /-! # Bundle @@ -37,6 +39,8 @@ general, the constructions of fiber bundles we will make will be of this form. - https://en.wikipedia.org/wiki/Bundle_(mathematics) -/ +@[expose] public section + assert_not_exists RelIso open Function Set diff --git a/Mathlib/Data/Char.lean b/Mathlib/Data/Char.lean index d7abd6246c55d0..be510a4aae4c14 100644 --- a/Mathlib/Data/Char.lean +++ b/Mathlib/Data/Char.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Basic -import Mathlib.Order.Defs.LinearOrder +module + +public import Mathlib.Data.Nat.Basic +public import Mathlib.Order.Defs.LinearOrder /-! # More `Char` instances @@ -14,6 +16,8 @@ Provides an additional definition to truncate a `Char` to `UInt8` and a theorem `Nat`. -/ +@[expose] public section + /-- Provides a `LinearOrder` instance on `Char`. `Char` is the type of Unicode scalar values. -/ diff --git a/Mathlib/Data/Complex/Basic.lean b/Mathlib/Data/Complex/Basic.lean index 32567a22588ddb..c0300a3c9f9567 100644 --- a/Mathlib/Data/Complex/Basic.lean +++ b/Mathlib/Data/Complex/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Mario Carneiro -/ -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Algebra.Ring.Torsion -import Mathlib.Algebra.Star.Basic -import Mathlib.Data.Real.Basic -import Mathlib.Order.Interval.Set.UnorderedInterval -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Algebra.Ring.Torsion +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Data.Real.Basic +public import Mathlib.Order.Interval.Set.UnorderedInterval +public import Mathlib.Tactic.Ring /-! # The complex numbers @@ -18,6 +20,8 @@ of characteristic zero. For the result that the complex numbers are algebraicall `Complex.isAlgClosed` in `Mathlib.Analysis.Complex.Polynomial.Basic`. -/ +@[expose] public section + assert_not_exists Multiset Algebra open Set Function diff --git a/Mathlib/Data/Complex/BigOperators.lean b/Mathlib/Data/Complex/BigOperators.lean index 02af83a94a767a..27be4d56c4f037 100644 --- a/Mathlib/Data/Complex/BigOperators.lean +++ b/Mathlib/Data/Complex/BigOperators.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Balance -import Mathlib.Data.Complex.Basic +module + +public import Mathlib.Algebra.BigOperators.Balance +public import Mathlib.Data.Complex.Basic /-! # Finite sums and products of complex numbers -/ +@[expose] public section + open Fintype open scoped BigOperators diff --git a/Mathlib/Data/Complex/Cardinality.lean b/Mathlib/Data/Complex/Cardinality.lean index 98e8430c6aa0e5..36493452742518 100644 --- a/Mathlib/Data/Complex/Cardinality.lean +++ b/Mathlib/Data/Complex/Cardinality.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Cardinality +module + +public import Mathlib.Analysis.Complex.Cardinality deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/Exponential.lean b/Mathlib/Data/Complex/Exponential.lean index 5d5479389d9597..78606255c0dc5f 100644 --- a/Mathlib/Data/Complex/Exponential.lean +++ b/Mathlib/Data/Complex/Exponential.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Exponential +module + +public import Mathlib.Analysis.Complex.Exponential deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/ExponentialBounds.lean b/Mathlib/Data/Complex/ExponentialBounds.lean index a229681fa91e44..1a672832723a5e 100644 --- a/Mathlib/Data/Complex/ExponentialBounds.lean +++ b/Mathlib/Data/Complex/ExponentialBounds.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.ExponentialBounds +module + +public import Mathlib.Analysis.Complex.ExponentialBounds deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/FiniteDimensional.lean b/Mathlib/Data/Complex/FiniteDimensional.lean index 6671c2868b31fc..1e3346c2bea7e0 100644 --- a/Mathlib/Data/Complex/FiniteDimensional.lean +++ b/Mathlib/Data/Complex/FiniteDimensional.lean @@ -1,3 +1,5 @@ -import Mathlib.LinearAlgebra.Complex.FiniteDimensional +module + +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/Norm.lean b/Mathlib/Data/Complex/Norm.lean index b3dc14f78a0dc0..9390115e63267d 100644 --- a/Mathlib/Data/Complex/Norm.lean +++ b/Mathlib/Data/Complex/Norm.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Norm +module + +public import Mathlib.Analysis.Complex.Norm deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/Order.lean b/Mathlib/Data/Complex/Order.lean index 16f38dcc3f89df..ee323e950d40d7 100644 --- a/Mathlib/Data/Complex/Order.lean +++ b/Mathlib/Data/Complex/Order.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Order +module + +public import Mathlib.Analysis.Complex.Order deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Complex/Trigonometric.lean b/Mathlib/Data/Complex/Trigonometric.lean index 1c385a93e8e75f..0ba6ed46e90ec5 100644 --- a/Mathlib/Data/Complex/Trigonometric.lean +++ b/Mathlib/Data/Complex/Trigonometric.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Complex.Trigonometric +module + +public import Mathlib.Analysis.Complex.Trigonometric deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Countable/Basic.lean b/Mathlib/Data/Countable/Basic.lean index f4c1d97aa65824..5e7500e2c28a6e 100644 --- a/Mathlib/Data/Countable/Basic.lean +++ b/Mathlib/Data/Countable/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Countable.Defs -import Mathlib.Data.Fin.Tuple.Basic -import Mathlib.Data.ENat.Defs -import Mathlib.Logic.Equiv.Nat +module + +public import Mathlib.Data.Countable.Defs +public import Mathlib.Data.Fin.Tuple.Basic +public import Mathlib.Data.ENat.Defs +public import Mathlib.Logic.Equiv.Nat /-! # Countable types @@ -14,6 +16,8 @@ import Mathlib.Logic.Equiv.Nat In this file we provide basic instances of the `Countable` typeclass defined elsewhere. -/ +@[expose] public section + assert_not_exists Monoid universe u v w diff --git a/Mathlib/Data/Countable/Defs.lean b/Mathlib/Data/Countable/Defs.lean index ed5ecabe6021e1..4504df81231770 100644 --- a/Mathlib/Data/Countable/Defs.lean +++ b/Mathlib/Data/Countable/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finite.Defs -import Mathlib.Data.Bool.Basic -import Mathlib.Data.Subtype -import Mathlib.Tactic.MkIffOfInductiveProp +module + +public import Mathlib.Data.Finite.Defs +public import Mathlib.Data.Bool.Basic +public import Mathlib.Data.Subtype +public import Mathlib.Tactic.MkIffOfInductiveProp /-! # Countable and uncountable types @@ -21,6 +23,8 @@ This file also provides a few instances of these typeclasses. More instances can be found in other files. -/ +@[expose] public section + open Function universe u v diff --git a/Mathlib/Data/Countable/Small.lean b/Mathlib/Data/Countable/Small.lean index 3d293b8d32b1bb..53a408342d6022 100644 --- a/Mathlib/Data/Countable/Small.lean +++ b/Mathlib/Data/Countable/Small.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Small.Basic -import Mathlib.Data.Countable.Defs +module + +public import Mathlib.Logic.Small.Basic +public import Mathlib.Data.Countable.Defs /-! # All countable types are small. @@ -12,6 +14,8 @@ import Mathlib.Data.Countable.Defs That is, any countable type is equivalent to a type in any universe. -/ +@[expose] public section + universe w v instance (priority := 100) Countable.toSmall (α : Type v) [Countable α] : Small.{w} α := diff --git a/Mathlib/Data/DFinsupp/BigOperators.lean b/Mathlib/Data/DFinsupp/BigOperators.lean index 24657f4296c4ad..da123fa9afec46 100644 --- a/Mathlib/Data/DFinsupp/BigOperators.lean +++ b/Mathlib/Data/DFinsupp/BigOperators.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Data.DFinsupp.Ext +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Data.DFinsupp.Ext /-! # Dependent functions with finite support @@ -39,6 +41,8 @@ the `Add` instance as noncomputable. This design difference is independent of th definitions, or introduce two more definitions for the other combinations of decisions. -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l variable {ι : Type u} {γ : Type w} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} diff --git a/Mathlib/Data/DFinsupp/Defs.lean b/Mathlib/Data/DFinsupp/Defs.lean index 5c2960045f6f9f..f205e5bc5e248d 100644 --- a/Mathlib/Data/DFinsupp/Defs.lean +++ b/Mathlib/Data/DFinsupp/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Algebra.Group.InjSurj -import Mathlib.Algebra.Group.Equiv.Defs -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Notation.Prod -import Mathlib.Algebra.Group.Basic +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Algebra.Group.InjSurj +public import Mathlib.Algebra.Group.Equiv.Defs +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Algebra.Group.Basic /-! # Dependent functions with finite support @@ -43,6 +45,8 @@ the `Add` instance as noncomputable. This design difference is independent of th definitions, or introduce two more definitions for the other combinations of decisions. -/ +@[expose] public section + assert_not_exists Finset.prod Submonoid universe u u₁ u₂ v v₁ v₂ v₃ w x y l diff --git a/Mathlib/Data/DFinsupp/Encodable.lean b/Mathlib/Data/DFinsupp/Encodable.lean index 15ec482cb9a866..21c621adfc4fba 100644 --- a/Mathlib/Data/DFinsupp/Encodable.lean +++ b/Mathlib/Data/DFinsupp/Encodable.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.DFinsupp.Defs -import Mathlib.Logic.Encodable.Pi +module + +public import Mathlib.Data.DFinsupp.Defs +public import Mathlib.Logic.Encodable.Pi /-! # `Encodable` and `Countable` instances for `Π₀ i, α i` In this file we provide instances for `Encodable (Π₀ i, α i)` and `Countable (Π₀ i, α i)`. -/ +@[expose] public section + variable {ι : Type*} {α : ι → Type*} [∀ i, Zero (α i)] instance [Encodable ι] [∀ i, Encodable (α i)] [∀ i (x : α i), Decidable (x ≠ 0)] : diff --git a/Mathlib/Data/DFinsupp/Ext.lean b/Mathlib/Data/DFinsupp/Ext.lean index 886ab4bf4ca5eb..ad226c5b0ab419 100644 --- a/Mathlib/Data/DFinsupp/Ext.lean +++ b/Mathlib/Data/DFinsupp/Ext.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Data.DFinsupp.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Data.DFinsupp.Defs /-! # Extensionality principles for `DFinsupp` @@ -15,6 +17,8 @@ import Mathlib.Data.DFinsupp.Defs are equal on each `single a b`, then they are equal. -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l diff --git a/Mathlib/Data/DFinsupp/FiniteInfinite.lean b/Mathlib/Data/DFinsupp/FiniteInfinite.lean index 209edba0f70f80..b9811a81fa7f3b 100644 --- a/Mathlib/Data/DFinsupp/FiniteInfinite.lean +++ b/Mathlib/Data/DFinsupp/FiniteInfinite.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Data.DFinsupp.Defs -import Mathlib.Data.Fintype.Pi +module + +public import Mathlib.Data.DFinsupp.Defs +public import Mathlib.Data.Fintype.Pi /-! # Finiteness and infiniteness of the `DFinsupp` type @@ -17,6 +19,8 @@ import Mathlib.Data.Fintype.Pi then `DFinsupp` is infinite -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l diff --git a/Mathlib/Data/DFinsupp/Interval.lean b/Mathlib/Data/DFinsupp/Interval.lean index fbc687099483a0..be5b5d8656b24b 100644 --- a/Mathlib/Data/DFinsupp/Interval.lean +++ b/Mathlib/Data/DFinsupp/Interval.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.DFinsupp.BigOperators -import Mathlib.Data.DFinsupp.Order -import Mathlib.Order.Interval.Finset.Basic -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.DFinsupp.BigOperators +public import Mathlib.Data.DFinsupp.Order +public import Mathlib.Order.Interval.Finset.Basic +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Finite intervals of finitely supported functions @@ -16,6 +18,8 @@ This file provides the `LocallyFiniteOrder` instance for `Π₀ i, α i` when ` finite and calculates the cardinality of its finite intervals. -/ +@[expose] public section + open DFinsupp Finset diff --git a/Mathlib/Data/DFinsupp/Lex.lean b/Mathlib/Data/DFinsupp/Lex.lean index 82e0e58ed899d4..bbac2829dd524d 100644 --- a/Mathlib/Data/DFinsupp/Lex.lean +++ b/Mathlib/Data/DFinsupp/Lex.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Junyan Xu -/ -import Mathlib.Algebra.Order.Group.PiLex -import Mathlib.Data.DFinsupp.Order -import Mathlib.Data.DFinsupp.NeLocus -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Algebra.Order.Group.PiLex +public import Mathlib.Data.DFinsupp.Order +public import Mathlib.Data.DFinsupp.NeLocus +public import Mathlib.Order.WellFoundedSet /-! # Lexicographic order on finitely supported dependent functions @@ -14,6 +16,8 @@ import Mathlib.Order.WellFoundedSet This file defines the lexicographic order on `DFinsupp`. -/ +@[expose] public section + variable {ι : Type*} {α : ι → Type*} @@ -76,7 +80,7 @@ variable [∀ i, LinearOrder (α i)] /-- Auxiliary helper to case split computably. There is no need for this to be public, as it can be written with `Or.by_cases` on `lt_trichotomy` once the instances below are constructed. -/ -private def lt_trichotomy_rec {P : Lex (Π₀ i, α i) → Lex (Π₀ i, α i) → Sort*} +def lt_trichotomy_rec {P : Lex (Π₀ i, α i) → Lex (Π₀ i, α i) → Sort*} (h_lt : ∀ {f g}, toLex f < toLex g → P (toLex f) (toLex g)) (h_eq : ∀ {f g}, toLex f = toLex g → P (toLex f) (toLex g)) (h_gt : ∀ {f g}, toLex g < toLex f → P (toLex f) (toLex g)) : ∀ f g, P f g := diff --git a/Mathlib/Data/DFinsupp/Module.lean b/Mathlib/Data/DFinsupp/Module.lean index 29d071f07bb05f..908a6114d9e33f 100644 --- a/Mathlib/Data/DFinsupp/Module.lean +++ b/Mathlib/Data/DFinsupp/Module.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Algebra.GroupWithZero.Action.Pi -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.Module.Pi -import Mathlib.Data.DFinsupp.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pi +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Data.DFinsupp.Defs /-! # Group actions on `DFinsupp` @@ -16,6 +18,8 @@ import Mathlib.Data.DFinsupp.Defs * `DFinsupp.module`: pointwise scalar multiplication on `DFinsupp` gives a module structure -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l variable {ι : Type u} {γ : Type w} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} diff --git a/Mathlib/Data/DFinsupp/Multiset.lean b/Mathlib/Data/DFinsupp/Multiset.lean index 9f9538ec8891fd..311952cbde2959 100644 --- a/Mathlib/Data/DFinsupp/Multiset.lean +++ b/Mathlib/Data/DFinsupp/Multiset.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.DFinsupp.BigOperators -import Mathlib.Data.DFinsupp.Order +module + +public import Mathlib.Data.DFinsupp.BigOperators +public import Mathlib.Data.DFinsupp.Order /-! # Equivalence between `Multiset` and `ℕ`-valued finitely supported functions @@ -13,6 +15,8 @@ This defines `DFinsupp.toMultiset` the equivalence between `Π₀ a : α, ℕ` a with `Multiset.toDFinsupp` the reverse equivalence. -/ +@[expose] public section + open Function variable {α : Type*} diff --git a/Mathlib/Data/DFinsupp/NeLocus.lean b/Mathlib/Data/DFinsupp/NeLocus.lean index 39039154fc5116..5e7fe525dae8b9 100644 --- a/Mathlib/Data/DFinsupp/NeLocus.lean +++ b/Mathlib/Data/DFinsupp/NeLocus.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Junyan Xu -/ -import Mathlib.Data.DFinsupp.Defs +module + +public import Mathlib.Data.DFinsupp.Defs /-! # Locus of unequal values of finitely supported dependent functions @@ -18,6 +20,8 @@ Let `N : α → Type*` be a type family, assume that `N a` has a `0` for all `a `DFinsupp.support (f - g)`. -/ +@[expose] public section + variable {α : Type*} {N : α → Type*} diff --git a/Mathlib/Data/DFinsupp/Notation.lean b/Mathlib/Data/DFinsupp/Notation.lean index 06df3f3dfbdc26..8f123dae7e8f2c 100644 --- a/Mathlib/Data/DFinsupp/Notation.lean +++ b/Mathlib/Data/DFinsupp/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.DFinsupp.Defs -import Mathlib.Data.Finsupp.Notation +module + +public import Mathlib.Data.DFinsupp.Defs +public import Mathlib.Data.Finsupp.Notation /-! # Notation for `DFinsupp` @@ -17,6 +19,8 @@ Note that this syntax is for `Finsupp` by default, but works for `DFinsupp` if t is correct. -/ +@[expose] public section + namespace DFinsupp open Lean Parser Term @@ -26,7 +30,7 @@ open Finsupp.Internal /-- `DFinsupp` elaborator for `single₀`. -/ @[term_elab Finsupp.Internal.stxSingle₀] -def elabSingle₀ : Elab.Term.TermElab +meta def elabSingle₀ : Elab.Term.TermElab | `(term| single₀ $i $x) => fun ty? => do Elab.Term.tryPostponeIfNoneOrMVar ty? let some ty := ty? | Elab.throwUnsupportedSyntax @@ -36,7 +40,7 @@ def elabSingle₀ : Elab.Term.TermElab /-- `DFinsupp` elaborator for `update₀`. -/ @[term_elab Finsupp.Internal.stxUpdate₀] -def elabUpdate₀ : Elab.Term.TermElab +meta def elabUpdate₀ : Elab.Term.TermElab | `(term| update₀ $f $i $x) => fun ty? => do Elab.Term.tryPostponeIfNoneOrMVar ty? let some ty := ty? | Elab.throwUnsupportedSyntax @@ -48,13 +52,13 @@ end Internal /-- Unexpander for the `fun₀ | i => x` notation. -/ @[app_unexpander DFinsupp.single] -def singleUnexpander : Lean.PrettyPrinter.Unexpander +meta def singleUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $pat $val) => `(fun₀ | $pat => $val) | _ => throw () /-- Unexpander for the `fun₀ | i => x` notation. -/ @[app_unexpander DFinsupp.update] -def updateUnexpander : Lean.PrettyPrinter.Unexpander +meta def updateUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $f $pat $val) => match f with | `(fun₀ $xs:matchAlt*) => `(fun₀ $xs:matchAlt* | $pat => $val) | _ => throw () diff --git a/Mathlib/Data/DFinsupp/Order.lean b/Mathlib/Data/DFinsupp/Order.lean index 5cad336b4f72fb..5542c2a78d49fa 100644 --- a/Mathlib/Data/DFinsupp/Order.lean +++ b/Mathlib/Data/DFinsupp/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.DFinsupp.Module +module + +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.DFinsupp.Module /-! # Pointwise order on finitely supported dependent functions @@ -19,6 +21,8 @@ This file lifts order structures on the `α i` to `Π₀ i, α i`. -/ +@[expose] public section + open Finset variable {ι : Type*} {α : ι → Type*} diff --git a/Mathlib/Data/DFinsupp/Sigma.lean b/Mathlib/Data/DFinsupp/Sigma.lean index be64d2f2b00cc1..5343fcb8c9fd8f 100644 --- a/Mathlib/Data/DFinsupp/Sigma.lean +++ b/Mathlib/Data/DFinsupp/Sigma.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Data.DFinsupp.Module -import Mathlib.Data.Fintype.Quotient +module + +public import Mathlib.Data.DFinsupp.Module +public import Mathlib.Data.Fintype.Quotient /-! # `DFinsupp` on `Sigma` types @@ -20,6 +22,8 @@ import Mathlib.Data.Fintype.Quotient -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l diff --git a/Mathlib/Data/DFinsupp/Small.lean b/Mathlib/Data/DFinsupp/Small.lean index 0fb07d8ba1fc89..6544866910c46c 100644 --- a/Mathlib/Data/DFinsupp/Small.lean +++ b/Mathlib/Data/DFinsupp/Small.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sophie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel, Antoine Chambert-Loir -/ -import Mathlib.Data.Finsupp.ToDFinsupp -import Mathlib.Data.DFinsupp.Defs -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.Data.Finsupp.ToDFinsupp +public import Mathlib.Data.DFinsupp.Defs +public import Mathlib.Logic.Small.Basic /-! # Smallness of the `DFinsupp` type @@ -16,6 +18,8 @@ instance on `DFinsupp π`. As an application, `σ →₀ R` has a `Small.{v}` instance if `σ` and `R` have one. -/ +@[expose] public section + universe u v w variable {ι : Type u} {π : ι → Type v} [∀ i, Zero (π i)] diff --git a/Mathlib/Data/DFinsupp/Submonoid.lean b/Mathlib/Data/DFinsupp/Submonoid.lean index a28c8be5963c34..b1ae3936e25f8a 100644 --- a/Mathlib/Data/DFinsupp/Submonoid.lean +++ b/Mathlib/Data/DFinsupp/Submonoid.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Data.DFinsupp.BigOperators -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Data.DFinsupp.BigOperators +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # `DFinsupp` and submonoids @@ -21,6 +23,8 @@ This file mainly concerns the interaction between submonoids and products/sums o monoids can be given by taking finite sums of elements of each monoid. -/ +@[expose] public section + universe u u₁ u₂ v v₁ v₂ v₃ w x y l diff --git a/Mathlib/Data/DFinsupp/WellFounded.lean b/Mathlib/Data/DFinsupp/WellFounded.lean index 9b7130538eae95..dd1b6a666c2f3a 100644 --- a/Mathlib/Data/DFinsupp/WellFounded.lean +++ b/Mathlib/Data/DFinsupp/WellFounded.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Data.DFinsupp.Lex -import Mathlib.Order.Antisymmetrization -import Mathlib.Order.GameAdd -import Mathlib.SetTheory.Cardinal.Order -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Data.DFinsupp.Lex +public import Mathlib.Order.Antisymmetrization +public import Mathlib.Order.GameAdd +public import Mathlib.SetTheory.Cardinal.Order +public import Mathlib.Tactic.AdaptationNote /-! # Well-foundedness of the lexicographic and product orders on `DFinsupp` and `Pi` @@ -45,6 +47,8 @@ of a linear order), `¬ r j i ∧ j ≠ i` implies `r i j`, so it suffices to re to be well-founded. -/ +@[expose] public section + variable {ι : Type*} {α : ι → Type*} diff --git a/Mathlib/Data/DList/Instances.lean b/Mathlib/Data/DList/Instances.lean index 5a4d14e1b26f56..22f51fef1884b7 100644 --- a/Mathlib/Data/DList/Instances.lean +++ b/Mathlib/Data/DList/Instances.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Batteries.Data.DList.Lemmas -import Mathlib.Control.Traversable.Equiv -import Mathlib.Control.Traversable.Instances +module + +public import Batteries.Data.DList.Lemmas +public import Mathlib.Control.Traversable.Equiv +public import Mathlib.Control.Traversable.Instances /-! # Traversable instance for DLists @@ -14,6 +16,8 @@ This file provides the equivalence between `List α` and `DList α` and the trav for `DList`. -/ +@[expose] public section + open Function Equiv diff --git a/Mathlib/Data/ENNReal/Action.lean b/Mathlib/Data/ENNReal/Action.lean index 1cc6a64a3e6d19..acbb83e3047f8e 100644 --- a/Mathlib/Data/ENNReal/Action.lean +++ b/Mathlib/Data/ENNReal/Action.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Operations +module + +public import Mathlib.Data.ENNReal.Operations /-! # Scalar multiplication on `ℝ≥0∞`. @@ -12,6 +14,8 @@ This file defines basic scalar actions on extended nonnegative reals, showing th `MulAction`s, `DistribMulAction`s, `Module`s and `Algebra`s restrict from `ℝ≥0∞` to `ℝ≥0`. -/ +@[expose] public section + open Set NNReal ENNReal namespace ENNReal diff --git a/Mathlib/Data/ENNReal/Basic.lean b/Mathlib/Data/ENNReal/Basic.lean index 974297fd8f54d3..1f277f94cef8c7 100644 --- a/Mathlib/Data/ENNReal/Basic.lean +++ b/Mathlib/Data/ENNReal/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.WithTop -import Mathlib.Algebra.Order.Sub.WithTop -import Mathlib.Data.NNReal.Defs -import Mathlib.Order.Interval.Set.WithBotTop -import Mathlib.Tactic.Finiteness +module + +public import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.Order.Sub.WithTop +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Order.Interval.Set.WithBotTop +public import Mathlib.Tactic.Finiteness /-! # Extended non-negative reals @@ -87,6 +89,8 @@ context, or if we have `(f : α → ℝ≥0∞) (hf : ∀ x, f x ≠ ∞)`. -/ +@[expose] public section + assert_not_exists Finset open Function Set NNReal @@ -739,7 +743,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `ENNReal.toReal`. -/ @[positivity ENNReal.toReal _] -def evalENNRealtoReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalENNRealtoReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(ENNReal.toReal $a) => assertInstancesCommute @@ -748,7 +752,7 @@ def evalENNRealtoReal : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `ENNReal.ofNNReal`. -/ @[positivity ENNReal.ofNNReal _] -def evalENNRealOfNNReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalENNRealOfNNReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ≥0∞), ~q(ENNReal.ofNNReal $a) => let ra ← core q(inferInstance) q(inferInstance) a diff --git a/Mathlib/Data/ENNReal/BigOperators.lean b/Mathlib/Data/ENNReal/BigOperators.lean index 7ddcee592f44c1..d130be4b112100 100644 --- a/Mathlib/Data/ENNReal/BigOperators.lean +++ b/Mathlib/Data/ENNReal/BigOperators.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.WithTop -import Mathlib.Data.NNReal.Basic -import Mathlib.Data.ENNReal.Inv +module + +public import Mathlib.Algebra.BigOperators.WithTop +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Data.ENNReal.Inv /-! # Properties of big operators extended non-negative real numbers @@ -14,6 +16,8 @@ In this file we prove elementary properties of sums and products on `ℝ≥0∞` interact with the order structure on `ℝ≥0∞`. -/ +@[expose] public section + open Set NNReal ENNReal namespace ENNReal diff --git a/Mathlib/Data/ENNReal/Holder.lean b/Mathlib/Data/ENNReal/Holder.lean index 8fe405d01edab3..cd785f0cc768bd 100644 --- a/Mathlib/Data/ENNReal/Holder.lean +++ b/Mathlib/Data/ENNReal/Holder.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Data.ENNReal.Inv +module + +public import Mathlib.Data.ENNReal.Inv /-! # Hölder triples @@ -21,6 +23,8 @@ For convenience we also define `ENNReal.HolderConjugate` (with arguments `p q`) abbreviation for `ENNReal.HolderTriple p q 1`. -/ +@[expose] public section + namespace ENNReal /-- A class stating that `p q r : ℝ≥0∞` satisfy `p⁻¹ + q⁻¹ = r⁻¹`. diff --git a/Mathlib/Data/ENNReal/Inv.lean b/Mathlib/Data/ENNReal/Inv.lean index 29394690dd2885..a1c328af5860ac 100644 --- a/Mathlib/Data/ENNReal/Inv.lean +++ b/Mathlib/Data/ENNReal/Inv.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Operations +module + +public import Mathlib.Data.ENNReal.Operations /-! # Results about division in extended non-negative reals @@ -30,6 +32,8 @@ A few order isomorphisms are worthy of mention: composed with the identity order isomorphism between `Iic (1 : ℝ≥0∞)` and `Icc (0 : ℝ) 1`. -/ +@[expose] public section + assert_not_exists Finset open Set NNReal diff --git a/Mathlib/Data/ENNReal/Lemmas.lean b/Mathlib/Data/ENNReal/Lemmas.lean index 2dad884e504a11..f4350f33b720bc 100644 --- a/Mathlib/Data/ENNReal/Lemmas.lean +++ b/Mathlib/Data/ENNReal/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Indicator -import Mathlib.Data.ENNReal.Basic -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Data.ENNReal.Basic +public import Mathlib.Data.Finset.Lattice.Fold /-! # Some lemmas on extended non-negative reals @@ -14,6 +16,8 @@ These are some lemmas split off from `ENNReal.Basic` because they need a lot mor They are probably good targets for further cleanup or moves. -/ +@[expose] public section + open Function Set NNReal diff --git a/Mathlib/Data/ENNReal/Operations.lean b/Mathlib/Data/ENNReal/Operations.lean index a4a52d519c8c70..db6fb1d9381985 100644 --- a/Mathlib/Data/ENNReal/Operations.lean +++ b/Mathlib/Data/ENNReal/Operations.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Real +module + +public import Mathlib.Data.ENNReal.Real /-! # Properties of addition, multiplication and subtraction on extended non-negative real numbers @@ -17,6 +19,8 @@ Note: the definitions of the operations included in this file can be found in `Mathlib/Data/ENNReal/Basic.lean`. -/ +@[expose] public section + assert_not_exists Finset open Set NNReal ENNReal diff --git a/Mathlib/Data/ENNReal/Order.lean b/Mathlib/Data/ENNReal/Order.lean index deebde120da4c0..59ff3665913007 100644 --- a/Mathlib/Data/ENNReal/Order.lean +++ b/Mathlib/Data/ENNReal/Order.lean @@ -3,6 +3,8 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Operations +module + +public import Mathlib.Data.ENNReal.Operations deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Data/ENNReal/Real.lean b/Mathlib/Data/ENNReal/Real.lean index 3521ef303e3f64..e70c1c9a1f7576 100644 --- a/Mathlib/Data/ENNReal/Real.lean +++ b/Mathlib/Data/ENNReal/Real.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Basic +module + +public import Mathlib.Data.ENNReal.Basic /-! # Maps between real and extended non-negative real numbers @@ -24,6 +26,8 @@ This file provides a `positivity` extension for `ENNReal.ofReal`. `ℝ≥0∞` is a complete lattice. -/ +@[expose] public section + assert_not_exists Finset open Set NNReal ENNReal @@ -389,7 +393,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `ENNReal.ofReal`. -/ @[positivity ENNReal.ofReal _] -def evalENNRealOfReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalENNRealOfReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ≥0∞), ~q(ENNReal.ofReal $a) => let ra ← core q(inferInstance) q(inferInstance) a diff --git a/Mathlib/Data/ENat/Basic.lean b/Mathlib/Data/ENat/Basic.lean index b48c611b73ac68..dc88f6412161c9 100644 --- a/Mathlib/Data/ENat/Basic.lean +++ b/Mathlib/Data/ENat/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Nat.Units -import Mathlib.Algebra.Order.AddGroupWithTop -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Algebra.Order.Ring.WithTop -import Mathlib.Algebra.Order.Sub.WithTop -import Mathlib.Data.ENat.Defs -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Nat.SuccPred +module + +public import Mathlib.Algebra.Group.Nat.Units +public import Mathlib.Algebra.Order.AddGroupWithTop +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Algebra.Order.Ring.WithTop +public import Mathlib.Algebra.Order.Sub.WithTop +public import Mathlib.Data.ENat.Defs +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Nat.SuccPred /-! # Definition and basic properties of extended natural numbers @@ -34,6 +36,8 @@ for all `b`), or that it's order-cancellable (`a + b ≤ a + c → b ≤ c` for similarly for multiplication. -/ +@[expose] public section + open Function assert_not_exists Field diff --git a/Mathlib/Data/ENat/BigOperators.lean b/Mathlib/Data/ENat/BigOperators.lean index 21d07bbe0970ef..15b045fc012108 100644 --- a/Mathlib/Data/ENat/BigOperators.lean +++ b/Mathlib/Data/ENat/BigOperators.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Joachim Breitner, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joachim Breitner, Yaël Dillies -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Data.ENat.Lattice /-! # Sum of suprema in `ENat` -/ +@[expose] public section + assert_not_exists Field namespace ENat diff --git a/Mathlib/Data/ENat/Defs.lean b/Mathlib/Data/ENat/Defs.lean index f5848ca876d2b0..eb0306f4c4b004 100644 --- a/Mathlib/Data/ENat/Defs.lean +++ b/Mathlib/Data/ENat/Defs.lean @@ -3,12 +3,15 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Yury Kudryashov -/ +module -import Mathlib.Data.Nat.Notation -import Mathlib.Order.TypeTags +public import Mathlib.Data.Nat.Notation +public import Mathlib.Order.TypeTags /-! # Definition and notation for extended natural numbers -/ +@[expose] public section + /-- Extended natural numbers `ℕ∞ = WithTop ℕ`. -/ def ENat : Type := WithTop ℕ deriving Top, Inhabited diff --git a/Mathlib/Data/ENat/Lattice.lean b/Mathlib/Data/ENat/Lattice.lean index 6b2381811937fe..dd03ff5bce98bc 100644 --- a/Mathlib/Data/ENat/Lattice.lean +++ b/Mathlib/Data/ENat/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Data.Nat.Lattice -import Mathlib.Data.ENat.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Data.ENat.Basic /-! # Extended natural numbers form a complete linear order @@ -17,6 +19,8 @@ of `WithTop.some`. -/ +@[expose] public section + assert_not_exists Field open Set diff --git a/Mathlib/Data/ENat/Pow.lean b/Mathlib/Data/ENat/Pow.lean index 8526ac194ba591..9348be3e3751c8 100644 --- a/Mathlib/Data/ENat/Pow.lean +++ b/Mathlib/Data/ENat/Pow.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Data.ENat.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Data.ENat.Basic /-! # Powers of extended natural numbers @@ -22,6 +24,8 @@ The quantity `x ^ y` for `x`, `y : ℕ∞` is defined as a `Pow` instance. It is lemmas' names. -/ +@[expose] public section + namespace ENat variable {x y z : ℕ∞} diff --git a/Mathlib/Data/EReal/Basic.lean b/Mathlib/Data/EReal/Basic.lean index e7912bd4f52398..40884616436511 100644 --- a/Mathlib/Data/EReal/Basic.lean +++ b/Mathlib/Data/EReal/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.Data.ENNReal.Operations +module + +public import Mathlib.Data.ENNReal.Operations /-! # The extended real numbers @@ -22,6 +24,8 @@ and their basic properties proved. The latter takes up most of the rest of this real, ereal, complete lattice -/ +@[expose] public section + open Function ENNReal NNReal Set noncomputable section @@ -821,7 +825,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: cast from `ℝ` to `EReal`. -/ @[positivity Real.toEReal _] -def evalRealToEReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalRealToEReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(EReal), ~q(Real.toEReal $a) => let ra ← core q(inferInstance) q(inferInstance) a @@ -835,7 +839,7 @@ def evalRealToEReal : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: cast from `ℝ≥0∞` to `EReal`. -/ @[positivity ENNReal.toEReal _] -def evalENNRealToEReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalENNRealToEReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(EReal), ~q(ENNReal.toEReal $a) => let ra ← core q(inferInstance) q(inferInstance) a @@ -852,7 +856,7 @@ We prove that `EReal.toReal x` is nonnegative whenever `x` is nonnegative. Since `EReal.toReal ⊤ = 0`, we cannot prove a stronger statement, at least without relying on a tactic like `finiteness`. -/ @[positivity EReal.toReal _] -def evalERealToReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalERealToReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(Real), ~q(EReal.toReal $a) => assertInstancesCommute @@ -868,7 +872,7 @@ and it is nonnegative otherwise. We cannot deduce any corollaries from `x ≠ 0`, since `EReal.toENNReal x = 0` for `x < 0`. -/ @[positivity EReal.toENNReal _] -def evalERealToENNReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalERealToENNReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ENNReal), ~q(EReal.toENNReal $a) => assertInstancesCommute diff --git a/Mathlib/Data/EReal/Inv.lean b/Mathlib/Data/EReal/Inv.lean index c0e241a56cf213..8210cf6129eff1 100644 --- a/Mathlib/Data/EReal/Inv.lean +++ b/Mathlib/Data/EReal/Inv.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.Data.ENNReal.Inv -import Mathlib.Data.EReal.Operations -import Mathlib.Data.Sign.Basic -import Mathlib.Data.Nat.Cast.Order.Field +module + +public import Mathlib.Data.ENNReal.Inv +public import Mathlib.Data.EReal.Operations +public import Mathlib.Data.Sign.Basic +public import Mathlib.Data.Nat.Cast.Order.Field /-! # Absolute value, sign, inversion and division on extended real numbers @@ -17,6 +19,8 @@ Then it defines the inverse of an `EReal` as `⊤⁻¹ = ⊥⁻¹ = 0`, which le `DivInvMonoid` instance and division. -/ +@[expose] public section + open ENNReal Set SignType noncomputable section @@ -547,7 +551,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: inverse of an `EReal`. -/ @[positivity (_⁻¹ : EReal)] -def evalERealInv : PositivityExt where eval {u α} zα pα e := do +meta def evalERealInv : PositivityExt where eval {u α} zα pα e := do match u, α, e with | 0, ~q(EReal), ~q($a⁻¹) => assertInstancesCommute @@ -558,7 +562,7 @@ def evalERealInv : PositivityExt where eval {u α} zα pα e := do /-- Extension for the `positivity` tactic: ratio of two `EReal`s. -/ @[positivity (_ / _ : EReal)] -def evalERealDiv : PositivityExt where eval {u α} zα pα e := do +meta def evalERealDiv : PositivityExt where eval {u α} zα pα e := do match u, α, e with | 0, ~q(EReal), ~q($a / $b) => assertInstancesCommute diff --git a/Mathlib/Data/EReal/Operations.lean b/Mathlib/Data/EReal/Operations.lean index 61c8b7ad54af7c..45ba43cd6b1027 100644 --- a/Mathlib/Data/EReal/Operations.lean +++ b/Mathlib/Data/EReal/Operations.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.Data.EReal.Basic +module + +public import Mathlib.Data.EReal.Basic /-! # Addition, negation, subtraction and multiplication on extended real numbers @@ -30,6 +32,8 @@ see `EReal.left_distrib_of_nonneg_of_ne_top`, or `0 ≤ y, z`. See `EReal.left_d (similarly for right distributivity). -/ +@[expose] public section + open ENNReal NNReal noncomputable section @@ -831,7 +835,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: sum of two `EReal`s. -/ @[positivity (_ + _ : EReal)] -def evalERealAdd : PositivityExt where eval {u α} zα pα e := do +meta def evalERealAdd : PositivityExt where eval {u α} zα pα e := do match u, α, e with | 0, ~q(EReal), ~q($a + $b) => assertInstancesCommute @@ -850,7 +854,7 @@ def evalERealAdd : PositivityExt where eval {u α} zα pα e := do /-- Extension for the `positivity` tactic: product of two `EReal`s. -/ @[positivity (_ * _ : EReal)] -def evalERealMul : PositivityExt where eval {u α} zα pα e := do +meta def evalERealMul : PositivityExt where eval {u α} zα pα e := do match u, α, e with | 0, ~q(EReal), ~q($a * $b) => assertInstancesCommute diff --git a/Mathlib/Data/Erased.lean b/Mathlib/Data/Erased.lean index 14951431076f2d..f9e2b191e75bf3 100644 --- a/Mathlib/Data/Erased.lean +++ b/Mathlib/Data/Erased.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Logic.Equiv.Defs /-! # A type for VM-erased data @@ -13,6 +15,8 @@ but erased in the VM. That is, at runtime every value of `Erased α` is represented as `0`, just like types and proofs. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/FP/Basic.lean b/Mathlib/Data/FP/Basic.lean index f3394e2a513127..0dcb776d261aa1 100644 --- a/Mathlib/Data/FP/Basic.lean +++ b/Mathlib/Data/FP/Basic.lean @@ -3,17 +3,21 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Semiquot -import Mathlib.Data.Nat.Size -import Mathlib.Data.PNat.Defs -import Mathlib.Data.Rat.Init -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Basic +module + +public import Mathlib.Data.Semiquot +public import Mathlib.Data.Nat.Size +public import Mathlib.Data.PNat.Defs +public import Mathlib.Data.Rat.Init +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic /-! # Implementation of floating-point numbers (experimental). -/ +@[expose] public section + -- TODO add docs and remove `@[nolint docBlame]` @[nolint docBlame] diff --git a/Mathlib/Data/Fin/Basic.lean b/Mathlib/Data/Fin/Basic.lean index b15a98e953da15..0c7941cc32e220 100644 --- a/Mathlib/Data/Fin/Basic.lean +++ b/Mathlib/Data/Fin/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Keeley Hoek -/ -import Mathlib.Data.Int.DivMod -import Mathlib.Order.Lattice -import Mathlib.Tactic.Common -import Batteries.Data.Fin.Basic +module + +public import Mathlib.Data.Int.DivMod +public import Mathlib.Order.Lattice +public import Mathlib.Tactic.Common +public import Batteries.Data.Fin.Basic /-! # The finite type with `n` elements @@ -22,6 +24,8 @@ Further definitions and eliminators can be found in `Init.Data.Fin.Lemmas` -/ +@[expose] public section + assert_not_exists Monoid Finset diff --git a/Mathlib/Data/Fin/Embedding.lean b/Mathlib/Data/Fin/Embedding.lean index 59d26cf18252b4..766008d2cb76a9 100644 --- a/Mathlib/Data/Fin/Embedding.lean +++ b/Mathlib/Data/Fin/Embedding.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Keeley Hoek -/ -import Mathlib.Data.Fin.SuccPred -import Mathlib.Logic.Embedding.Basic +module + +public import Mathlib.Data.Fin.SuccPred +public import Mathlib.Logic.Embedding.Basic /-! # Embeddings of `Fin n` @@ -25,6 +27,8 @@ This file defines embeddings between `Fin n` and other types, -/ +@[expose] public section + assert_not_exists Monoid Finset open Fin Nat Function diff --git a/Mathlib/Data/Fin/Fin2.lean b/Mathlib/Data/Fin/Fin2.lean index 956a63d57b838d..931d73382ef19c 100644 --- a/Mathlib/Data/Fin/Fin2.lean +++ b/Mathlib/Data/Fin/Fin2.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Image -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.Nat.Notation -import Mathlib.Logic.Function.Basic +module + +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.Nat.Notation +public import Mathlib.Logic.Function.Basic /-! # Inductive type variant of `Fin` @@ -29,6 +31,8 @@ equalities. `0, ..., m - 1` and sending `m + i` to `n + i`. -/ +@[expose] public section + open Nat universe u diff --git a/Mathlib/Data/Fin/FlagRange.lean b/Mathlib/Data/Fin/FlagRange.lean index 0562067cd45431..03d1e1e4a47224 100644 --- a/Mathlib/Data/Fin/FlagRange.lean +++ b/Mathlib/Data/Fin/FlagRange.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Fin.Basic -import Mathlib.Order.Preorder.Chain +module + +public import Mathlib.Order.Fin.Basic +public import Mathlib.Order.Preorder.Chain /-! # Range of `f : Fin (n + 1) → α` as a `Flag` @@ -18,6 +20,8 @@ Then the range of `f` is a maximal chain. We formulate this result in terms of `IsMaxChain` and `Flag`. -/ +@[expose] public section + open Set variable {α : Type*} [PartialOrder α] [BoundedOrder α] {n : ℕ} {f : Fin (n + 1) → α} diff --git a/Mathlib/Data/Fin/Parity.lean b/Mathlib/Data/Fin/Parity.lean index f805dcfc9a5441..602fb1ad334063 100644 --- a/Mathlib/Data/Fin/Parity.lean +++ b/Mathlib/Data/Fin/Parity.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Iván Renison -/ -import Mathlib.Algebra.Ring.Parity -import Mathlib.Data.Fin.Basic -import Mathlib.Data.ZMod.Defs +module + +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Data.Fin.Basic +public import Mathlib.Data.ZMod.Defs /-! # Parity in `Fin n` @@ -17,6 +19,8 @@ We also prove a lemma about parity of `Fin.succAbove i j + Fin.predAbove j i` which can be used to prove `d ∘ d = 0` for de Rham cohomologies. -/ +@[expose] public section + open Fin namespace Fin diff --git a/Mathlib/Data/Fin/Pigeonhole.lean b/Mathlib/Data/Fin/Pigeonhole.lean index bcbd15e0d076be..143e0e0aab9495 100644 --- a/Mathlib/Data/Fin/Pigeonhole.lean +++ b/Mathlib/Data/Fin/Pigeonhole.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Martin Dvorak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Dvorak -/ -import Mathlib.Data.Fintype.Card +module + +public import Mathlib.Data.Fintype.Card /-! # Pigeonhole-like results for Fin @@ -12,6 +14,8 @@ This adapts Pigeonhole-like results from `Mathlib.Data.Fintype.Card` to the sett has the type `f : Fin m → Fin n`. -/ +@[expose] public section + namespace Fin variable {m n : ℕ} diff --git a/Mathlib/Data/Fin/Rev.lean b/Mathlib/Data/Fin/Rev.lean index 9bf7b1a5630263..a9a0bb395bc0be 100644 --- a/Mathlib/Data/Fin/Rev.lean +++ b/Mathlib/Data/Fin/Rev.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez, Joel Riou, Yury Kudryashov -/ -import Mathlib.Data.Fin.SuccPred +module + +public import Mathlib.Data.Fin.SuccPred /-! # Reverse on `Fin n` @@ -15,6 +17,8 @@ This file contains lemmas about `Fin.rev : Fin n → Fin n` which maps `i` to `n by `i ↦ n-(i+1)` -/ +@[expose] public section + assert_not_exists Monoid Fintype open Fin Nat Function diff --git a/Mathlib/Data/Fin/SuccPred.lean b/Mathlib/Data/Fin/SuccPred.lean index f5bb02740f20f2..002f5e1993ed2d 100644 --- a/Mathlib/Data/Fin/SuccPred.lean +++ b/Mathlib/Data/Fin/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Data.Fin.Basic -import Mathlib.Logic.Equiv.Set +module + +public import Mathlib.Data.Fin.Basic +public import Mathlib.Logic.Equiv.Set /-! # Successors and predecessor operations of `Fin n` @@ -20,6 +22,8 @@ related to `Fin.succ`, `Fin.pred`, and related operations on `Fin n`. -/ +@[expose] public section + assert_not_exists Monoid Finset open Fin Nat Function diff --git a/Mathlib/Data/Fin/SuccPredOrder.lean b/Mathlib/Data/Fin/SuccPredOrder.lean index e5e9f0eda088fa..0ec2d5c049f9cf 100644 --- a/Mathlib/Data/Fin/SuccPredOrder.lean +++ b/Mathlib/Data/Fin/SuccPredOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Order.Fin.Basic -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Order.Fin.Basic +public import Mathlib.Order.SuccPred.Basic /-! # `SuccOrder` and `PredOrder` of `Fin n` @@ -15,6 +17,8 @@ to a specific `Fin` instance. -/ +@[expose] public section + namespace Fin diff --git a/Mathlib/Data/Fin/Tuple/Basic.lean b/Mathlib/Data/Fin/Tuple/Basic.lean index 92316cb58908c4..f5eeb06dce2b65 100644 --- a/Mathlib/Data/Fin/Tuple/Basic.lean +++ b/Mathlib/Data/Fin/Tuple/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yury Kudryashov, Sébastien Gouëzel, Chris Hughes, Antoine Chambert-Loir -/ -import Mathlib.Data.Fin.Rev -import Mathlib.Data.Nat.Find -import Mathlib.Order.Fin.Basic +module + +public import Mathlib.Data.Fin.Rev +public import Mathlib.Data.Nat.Find +public import Mathlib.Order.Fin.Basic /-! # Operation on tuples @@ -76,6 +78,8 @@ For a **pivot** `p : Fin (n + 1)`, -/ +@[expose] public section + assert_not_exists Monoid universe u v diff --git a/Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean b/Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean index 514e9a2bdf59fd..dfd0b6ab50376c 100644 --- a/Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean +++ b/Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Data.Fin.Tuple.Sort -import Mathlib.Order.WellFounded -import Mathlib.Order.PiLex -import Mathlib.Data.Finite.Prod +module + +public import Mathlib.Data.Fin.Tuple.Sort +public import Mathlib.Order.WellFounded +public import Mathlib.Order.PiLex +public import Mathlib.Data.Finite.Prod /-! # "Bubble sort" induction @@ -25,6 +27,8 @@ The latter is proved by well-founded induction via `WellFounded.induction_bot'` with respect to the lexicographic ordering on the finite set of all permutations of `f`. -/ +@[expose] public section + namespace Tuple diff --git a/Mathlib/Data/Fin/Tuple/Curry.lean b/Mathlib/Data/Fin/Tuple/Curry.lean index b81fa30764bcef..e002ca5f13fe40 100644 --- a/Mathlib/Data/Fin/Tuple/Curry.lean +++ b/Mathlib/Data/Fin/Tuple/Curry.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Brendan Murphy -/ -import Mathlib.Data.Fin.Tuple.Basic -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Logic.Function.OfArity +module + +public import Mathlib.Data.Fin.Tuple.Basic +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Logic.Function.OfArity /-! # Currying and uncurrying of n-ary functions @@ -25,6 +27,8 @@ n-ary generalizations of the binary `curry` and `uncurry`. -/ +@[expose] public section + universe u v w w' namespace Function.FromTypes diff --git a/Mathlib/Data/Fin/Tuple/Embedding.lean b/Mathlib/Data/Fin/Tuple/Embedding.lean index e3d8c5702778e7..ee3ecb1b5924a9 100644 --- a/Mathlib/Data/Fin/Tuple/Embedding.lean +++ b/Mathlib/Data/Fin/Tuple/Embedding.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Data.Fin.Tuple.Basic -import Mathlib.Order.Fin.Basic +module + +public import Mathlib.Data.Fin.Tuple.Basic +public import Mathlib.Order.Fin.Basic /-! # Constructions of embeddings of `Fin n` into a type @@ -24,6 +26,8 @@ import Mathlib.Order.Fin.Basic -/ +@[expose] public section + open Function.Embedding Fin Set Nat namespace Fin.Embedding diff --git a/Mathlib/Data/Fin/Tuple/Finset.lean b/Mathlib/Data/Fin/Tuple/Finset.lean index 214713233e9a31..433fd3755f8a22 100644 --- a/Mathlib/Data/Fin/Tuple/Finset.lean +++ b/Mathlib/Data/Fin/Tuple/Finset.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Fintype.Pi +module + +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Fintype.Pi /-! # Fin-indexed tuples of finsets -/ +@[expose] public section + open Fin Fintype namespace Fin diff --git a/Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean b/Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean index 261ffe416faada..eabafd67723773 100644 --- a/Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean +++ b/Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Group.Fin.Tuple -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.Order.Fin.Tuple +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Group.Fin.Tuple +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.Order.Fin.Tuple /-! # Collections of tuples of naturals with the same sum @@ -39,6 +41,8 @@ support finitely-supported functions, as is done with `cut` in `archive/100-theorems-list/45_partition.lean`. -/ +@[expose] public section + /-! ### Lists -/ diff --git a/Mathlib/Data/Fin/Tuple/Reflection.lean b/Mathlib/Data/Fin/Tuple/Reflection.lean index 4bb6fd4c74eff8..0b5d508e05e0b9 100644 --- a/Mathlib/Data/Fin/Tuple/Reflection.lean +++ b/Mathlib/Data/Fin/Tuple/Reflection.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.Algebra.BigOperators.Fin +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Algebra.BigOperators.Fin /-! # Lemmas for tuples `Fin m → α` @@ -27,6 +29,8 @@ corresponding `*_eq` lemmas to be used in a place where they are definitionally * `FinVec.etaExpand` -/ +@[expose] public section + assert_not_exists Field namespace FinVec @@ -169,7 +173,8 @@ open Lean Meta Qq /-- Produce a term of the form `f 0 * f 1 * ... * f (n - 1)` and an application of `FinVec.prod_eq` that shows it is equal to `∏ i, f i`. -/ -def mkProdEqQ {u : Level} {α : Q(Type u)} (inst : Q(CommMonoid $α)) (n : ℕ) (f : Q(Fin $n → $α)) : +meta def mkProdEqQ {u : Level} {α : Q(Type u)} + (inst : Q(CommMonoid $α)) (n : ℕ) (f : Q(Fin $n → $α)) : MetaM <| (val : Q($α)) × Q(∏ i, $f i = $val) := do match n with | 0 => return ⟨q((1 : $α)), q(Fin.prod_univ_zero $f)⟩ @@ -191,7 +196,8 @@ where /-- Produce a term of the form `f 0 + f 1 + ... + f (n - 1)` and an application of `FinVec.sum_eq` that shows it is equal to `∑ i, f i`. -/ -def mkSumEqQ {u : Level} {α : Q(Type u)} (inst : Q(AddCommMonoid $α)) (n : ℕ) (f : Q(Fin $n → $α)) : +meta def mkSumEqQ {u : Level} {α : Q(Type u)} + (inst : Q(AddCommMonoid $α)) (n : ℕ) (f : Q(Fin $n → $α)) : MetaM <| (val : Q($α)) × Q(∑ i, $f i = $val) := do match n with | 0 => return ⟨q((0 : $α)), q(Fin.sum_univ_zero $f)⟩ diff --git a/Mathlib/Data/Fin/Tuple/Sort.lean b/Mathlib/Data/Fin/Tuple/Sort.lean index 9823961a6b7307..3d2870017bd53a 100644 --- a/Mathlib/Data/Fin/Tuple/Sort.lean +++ b/Mathlib/Data/Fin/Tuple/Sort.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Algebra.Group.End -import Mathlib.Data.Finset.Sort -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Prod.Lex -import Mathlib.Order.Interval.Finset.Fin +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Data.Finset.Sort +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Prod.Lex +public import Mathlib.Order.Interval.Finset.Fin /-! @@ -25,6 +27,8 @@ This file provides an API for doing so, with the sorted `n`-tuple given by -/ +@[expose] public section + namespace Tuple diff --git a/Mathlib/Data/Fin/Tuple/Take.lean b/Mathlib/Data/Fin/Tuple/Take.lean index ae39994657dd7f..d58fa90a0f0f18 100644 --- a/Mathlib/Data/Fin/Tuple/Take.lean +++ b/Mathlib/Data/Fin/Tuple/Take.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Quang Dao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Quang Dao -/ -import Mathlib.Data.Fin.Tuple.Basic +module + +public import Mathlib.Data.Fin.Tuple.Basic /-! # Take operations on tuples @@ -14,6 +16,8 @@ We define the `take` operation on `n`-tuples, which restricts a tuple to its fir `m`-tuple `(v 0, ..., v (m - 1))`. -/ +@[expose] public section + namespace Fin open Function diff --git a/Mathlib/Data/Fin/VecNotation.lean b/Mathlib/Data/Fin/VecNotation.lean index df0856c3e757d9..5068799f717938 100644 --- a/Mathlib/Data/Fin/VecNotation.lean +++ b/Mathlib/Data/Fin/VecNotation.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Eric Wieser -/ -import Mathlib.Data.Fin.Tuple.Basic +module + +public import Mathlib.Data.Fin.Tuple.Basic /-! # Matrix and vector notation @@ -34,6 +36,8 @@ The main new notation is `![a, b]`, which gets expanded to `vecCons a (vecCons b Examples of usage can be found in the `MathlibTest/matrix.lean` file. -/ +@[expose] public section + namespace Matrix @@ -72,7 +76,7 @@ macro_rules /-- Unexpander for the `![x, y, ...]` notation. -/ @[app_unexpander vecCons] -def vecConsUnexpander : Lean.PrettyPrinter.Unexpander +meta def vecConsUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $term ![$term2, $terms,*]) => `(![$term, $term2, $terms,*]) | `($_ $term ![$term2]) => `(![$term, $term2]) | `($_ $term ![]) => `(![$term]) @@ -80,7 +84,7 @@ def vecConsUnexpander : Lean.PrettyPrinter.Unexpander /-- Unexpander for the `![]` notation. -/ @[app_unexpander vecEmpty] -def vecEmptyUnexpander : Lean.PrettyPrinter.Unexpander +meta def vecEmptyUnexpander : Lean.PrettyPrinter.Unexpander | `($_:ident) => `(![]) | _ => throw () @@ -141,7 +145,7 @@ open Lean Qq `let ⟨xs, tailn, tail⟩ ← matchVecConsPrefix n e` decomposes `e : Fin n → _` in the form `vecCons x₀ <| ... <| vecCons xₙ <| tail` where `tail : Fin tailn → _`. -/ -partial def matchVecConsPrefix (n : Q(Nat)) (e : Expr) : MetaM <| List Expr × Q(Nat) × Expr := do +meta def matchVecConsPrefix (n : Q(Nat)) (e : Expr) : MetaM <| List Expr × Q(Nat) × Expr := do match_expr ← Meta.whnfR e with | Matrix.vecCons _ n x xs => do let (elems, n', tail) ← matchVecConsPrefix n xs @@ -258,7 +262,7 @@ theorem vecCons_inj {x y : α} {u v : Fin n → α} : vecCons x u = vecCons y v open Lean Qq in /-- `mkVecLiteralQ ![x, y, z]` produces the term `q(![$x, $y, $z])`. -/ -def _root_.PiFin.mkLiteralQ {u : Level} {α : Q(Type u)} {n : ℕ} (elems : Fin n → Q($α)) : +meta def _root_.PiFin.mkLiteralQ {u : Level} {α : Q(Type u)} {n : ℕ} (elems : Fin n → Q($α)) : Q(Fin $n → $α) := loop 0 q(vecEmpty) where @@ -273,7 +277,7 @@ where rest open Lean Qq in -protected instance _root_.PiFin.toExpr [ToLevel.{u}] [ToExpr α] (n : ℕ) : ToExpr (Fin n → α) := +protected meta instance _root_.PiFin.toExpr [ToLevel.{u}] [ToExpr α] (n : ℕ) : ToExpr (Fin n → α) := have lu := toLevel.{u} have eα : Q(Type $lu) := toTypeExpr α let toTypeExpr := q(Fin $n → $eα) diff --git a/Mathlib/Data/FinEnum.lean b/Mathlib/Data/FinEnum.lean index 80eee482d882f7..8de882ad593621 100644 --- a/Mathlib/Data/FinEnum.lean +++ b/Mathlib/Data/FinEnum.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.List.ProdSigma -import Mathlib.Data.List.Pi +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.List.ProdSigma +public import Mathlib.Data.List.Pi /-! Type class for finitely enumerable types. The property is stronger @@ -14,6 +16,8 @@ than `Fintype` in that it assigns each element a rank in a finite enumeration. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/FinEnum/Option.lean b/Mathlib/Data/FinEnum/Option.lean index a1b60fc3a5cf21..73f3f05c54613e 100644 --- a/Mathlib/Data/FinEnum/Option.lean +++ b/Mathlib/Data/FinEnum/Option.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Tom Kranz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tom Kranz -/ -import Mathlib.Data.FinEnum -import Mathlib.Logic.Equiv.Fin.Basic +module + +public import Mathlib.Data.FinEnum +public import Mathlib.Logic.Equiv.Fin.Basic /-! # FinEnum instance for Option @@ -16,6 +18,8 @@ non-truncated data. * recreate rest of `Mathlib/Data/Fintype/Option.lean` -/ +@[expose] public section + namespace FinEnum universe u v diff --git a/Mathlib/Data/Finite/Card.lean b/Mathlib/Data/Finite/Card.lean index 95192d44a5a246..3cf9cec55ae581 100644 --- a/Mathlib/Data/Finite/Card.lean +++ b/Mathlib/Data/Finite/Card.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.SetTheory.Cardinal.Finite /-! @@ -25,6 +27,8 @@ it. We generally put such theorems into the `SetTheory.Cardinal.Finite` module. -/ +@[expose] public section + assert_not_exists Field noncomputable section diff --git a/Mathlib/Data/Finite/Defs.lean b/Mathlib/Data/Finite/Defs.lean index 6452de452728b7..279e393618b889 100644 --- a/Mathlib/Data/Finite/Defs.lean +++ b/Mathlib/Data/Finite/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Set.CoeSort -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Set -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.Set.CoeSort +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Set +public import Mathlib.Util.AssertExists /-! # Definition of the `Finite` typeclass @@ -58,6 +60,8 @@ instances since they do not compute anything. finite, fintype, finite sets -/ +@[expose] public section + assert_not_exists Finset MonoidWithZero OrderedRing universe u v diff --git a/Mathlib/Data/Finite/Perm.lean b/Mathlib/Data/Finite/Perm.lean index 8eb40461c6e561..0e3890e5ec7b11 100644 --- a/Mathlib/Data/Finite/Perm.lean +++ b/Mathlib/Data/Finite/Perm.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Data.Fintype.Perm -import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Data.Fintype.Perm +public import Mathlib.SetTheory.Cardinal.Finite /-! # Properties of `Equiv.Perm` on `Finite` types -/ +@[expose] public section + assert_not_exists Field namespace Nat diff --git a/Mathlib/Data/Finite/Prod.lean b/Mathlib/Data/Finite/Prod.lean index ed7b763b03b159..d2701a01c08964 100644 --- a/Mathlib/Data/Finite/Prod.lean +++ b/Mathlib/Data/Finite/Prod.lean @@ -3,19 +3,23 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Pi -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Data.Vector.Basic -import Mathlib.Tactic.ApplyFun -import Mathlib.Data.ULift -import Mathlib.Data.Set.NAry +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Data.Vector.Basic +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Data.ULift +public import Mathlib.Data.Set.NAry /-! # Finiteness of products -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero variable {α β : Type*} diff --git a/Mathlib/Data/Finite/Set.lean b/Mathlib/Data/Finite/Set.lean index 633df5c02ef1ec..f107489107c817 100644 --- a/Mathlib/Data/Finite/Set.lean +++ b/Mathlib/Data/Finite/Set.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Data.Fintype.EquivFin /-! # Lemmas about `Finite` and `Set`s @@ -15,6 +17,8 @@ In this file we prove two lemmas about `Finite` and `Set`s. finiteness, finite sets -/ +@[expose] public section + open Set diff --git a/Mathlib/Data/Finite/Sigma.lean b/Mathlib/Data/Finite/Sigma.lean index c3be07253027e5..1beca1c1ab1c3b 100644 --- a/Mathlib/Data/Finite/Sigma.lean +++ b/Mathlib/Data/Finite/Sigma.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Fintype.Sigma +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Fintype.Sigma /-! # Finiteness of sigma types -/ +@[expose] public section + variable {α : Type*} namespace Finite diff --git a/Mathlib/Data/Finite/Sum.lean b/Mathlib/Data/Finite/Sum.lean index 4c3ecc2999ef54..de92dd81a50dba 100644 --- a/Mathlib/Data/Finite/Sum.lean +++ b/Mathlib/Data/Finite/Sum.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Fintype.Sum +module + +public import Mathlib.Data.Fintype.Sum /-! # Finiteness of sum types -/ +@[expose] public section + variable {α β : Type*} namespace Finite diff --git a/Mathlib/Data/Finite/Vector.lean b/Mathlib/Data/Finite/Vector.lean index b58c4d1f53a75e..f8d16dcd4b5d23 100644 --- a/Mathlib/Data/Finite/Vector.lean +++ b/Mathlib/Data/Finite/Vector.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Fintype.Vector +module + +public import Mathlib.Data.Fintype.Vector /-! # Finiteness of vector types -/ +@[expose] public section + variable {α : Type*} instance List.Vector.finite [Finite α] {n : ℕ} : Finite (Vector α n) := by diff --git a/Mathlib/Data/Finmap.lean b/Mathlib/Data/Finmap.lean index f4d808cad8b6c7..c83b9c6f970009 100644 --- a/Mathlib/Data/Finmap.lean +++ b/Mathlib/Data/Finmap.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Sean Leather. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sean Leather, Mario Carneiro -/ -import Mathlib.Data.List.AList -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Part +module + +public import Mathlib.Data.List.AList +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Part /-! # Finite maps over `Multiset` -/ +@[expose] public section + universe u v w open List diff --git a/Mathlib/Data/Finset/Attach.lean b/Mathlib/Data/Finset/Attach.lean index d60c30a705cab4..5db811dec46da5 100644 --- a/Mathlib/Data/Finset/Attach.lean +++ b/Mathlib/Data/Finset/Attach.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.MapFold +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.MapFold /-! # Attaching a proof of membership to a finite set @@ -20,6 +22,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/Attr.lean b/Mathlib/Data/Finset/Attr.lean index 43bc734336e24a..517401defcfbb8 100644 --- a/Mathlib/Data/Finset/Attr.lean +++ b/Mathlib/Data/Finset/Attr.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Init -import Aesop -import Qq +module + +public import Mathlib.Init +public import Aesop +public import Qq /-! # Aesop rule set for finsets @@ -13,6 +15,8 @@ import Qq This file defines `finsetNonempty`, an aesop rule set to prove that a given finset is nonempty. -/ +@[expose] public section + -- `finsetNonempty` rules try to prove that a given finset is nonempty, -- for use in positivity extensions. declare_aesop_rule_sets [finsetNonempty] (default := true) diff --git a/Mathlib/Data/Finset/Basic.lean b/Mathlib/Data/Finset/Basic.lean index 11ec8ddec83562..dcf88c4c8457fa 100644 --- a/Mathlib/Data/Finset/Basic.lean +++ b/Mathlib/Data/Finset/Basic.lean @@ -3,17 +3,19 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Attach -import Mathlib.Data.Finset.Disjoint -import Mathlib.Data.Finset.Erase -import Mathlib.Data.Finset.Filter -import Mathlib.Data.Finset.Range -import Mathlib.Data.Finset.SDiff -import Mathlib.Data.Multiset.Basic -import Mathlib.Logic.Equiv.Set -import Mathlib.Order.Directed -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Data.Set.SymmDiff +module + +public import Mathlib.Data.Finset.Attach +public import Mathlib.Data.Finset.Disjoint +public import Mathlib.Data.Finset.Erase +public import Mathlib.Data.Finset.Filter +public import Mathlib.Data.Finset.Range +public import Mathlib.Data.Finset.SDiff +public import Mathlib.Data.Multiset.Basic +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Order.Directed +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Data.Set.SymmDiff /-! # Basic lemmas on finite sets @@ -42,6 +44,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice Monoid diff --git a/Mathlib/Data/Finset/BooleanAlgebra.lean b/Mathlib/Data/Finset/BooleanAlgebra.lean index 7d8cb3750abf6a..76541ac556f0e4 100644 --- a/Mathlib/Data/Finset/BooleanAlgebra.lean +++ b/Mathlib/Data/Finset/BooleanAlgebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Basic -import Mathlib.Data.Finset.Image -import Mathlib.Data.Fintype.Defs +module + +public import Mathlib.Data.Finset.Basic +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Fintype.Defs /-! # `Finset`s are a Boolean algebra @@ -19,6 +21,8 @@ This file provides the `BooleanAlgebra (Finset α)` instance, under the assumpti * `Finset.booleanAlgebra`: `Finset α` is a Boolean algebra if `α` is finite -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Data/Finset/Card.lean b/Mathlib/Data/Finset/Card.lean index ba4c0e7a19bd29..05c07e0c59730d 100644 --- a/Mathlib/Data/Finset/Card.lean +++ b/Mathlib/Data/Finset/Card.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad -/ -import Mathlib.Data.Finset.Basic -import Mathlib.Data.Finset.Image -import Mathlib.Data.Finset.Lattice.Lemmas +module + +public import Mathlib.Data.Finset.Basic +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Finset.Lattice.Lemmas /-! # Cardinality of a finite set @@ -27,6 +29,8 @@ This defines the cardinality of a `Finset` and provides induction principles for * `Finset.eraseInduction` -/ +@[expose] public section + assert_not_exists Monoid open Function Multiset Nat diff --git a/Mathlib/Data/Finset/CastCard.lean b/Mathlib/Data/Finset/CastCard.lean index e44c6cc84a81ea..65480e122cdecb 100644 --- a/Mathlib/Data/Finset/CastCard.lean +++ b/Mathlib/Data/Finset/CastCard.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Int.Cast.Basic +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Int.Cast.Basic /-! # Cardinality of a finite set and subtraction @@ -20,6 +22,8 @@ cardinality as element of an `AddGroupWithOne`. * `Finset.cast_card_sdiff`: cardinality of `t \ s` is the difference of cardinalities if `s ⊆ t`. -/ +@[expose] public section + assert_not_exists MonoidWithZero OrderedCommMonoid open Nat diff --git a/Mathlib/Data/Finset/Dedup.lean b/Mathlib/Data/Finset/Dedup.lean index e0fced8d0ee59b..9b520f1164fbbd 100644 --- a/Mathlib/Data/Finset/Dedup.lean +++ b/Mathlib/Data/Finset/Dedup.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.Dedup -import Mathlib.Data.Multiset.Basic +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.Dedup +public import Mathlib.Data.Multiset.Basic /-! # Deduplicating Multisets to make Finsets @@ -18,6 +20,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/Defs.lean b/Mathlib/Data/Finset/Defs.lean index 7c38e3bfd91315..148e0428b210a0 100644 --- a/Mathlib/Data/Finset/Defs.lean +++ b/Mathlib/Data/Finset/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Aesop -import Mathlib.Data.Multiset.Defs -import Mathlib.Data.Set.Pairwise.Basic -import Mathlib.Order.Hom.Basic +module + +public import Aesop +public import Mathlib.Data.Multiset.Defs +public import Mathlib.Data.Set.Pairwise.Basic +public import Mathlib.Order.Hom.Basic /-! # Finite sets @@ -57,6 +59,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset DirectedSystem CompleteLattice Monoid diff --git a/Mathlib/Data/Finset/Density.lean b/Mathlib/Data/Finset/Density.lean index ebdc2937d829a5..b21a64f3e6ba07 100644 --- a/Mathlib/Data/Finset/Density.lean +++ b/Mathlib/Data/Finset/Density.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Field.Rat -import Mathlib.Data.Fintype.Card -import Mathlib.Data.NNRat.Order -import Mathlib.Data.Rat.Cast.CharZero -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.Order.Field.Rat +public import Mathlib.Data.Fintype.Card +public import Mathlib.Data.NNRat.Order +public import Mathlib.Data.Rat.Cast.CharZero +public import Mathlib.Tactic.Positivity.Basic /-! # Density of a finite set @@ -45,6 +47,8 @@ These considerations more generally apply to `Finset.card` and `Finset.sum` and overengineering basic definitions is likely to hinder user experience. -/ +@[expose] public section + -- TODO -- assert_not_exists Ring diff --git a/Mathlib/Data/Finset/Disjoint.lean b/Mathlib/Data/Finset/Disjoint.lean index e4fcbc0362172e..0fe4beccd8d129 100644 --- a/Mathlib/Data/Finset/Disjoint.lean +++ b/Mathlib/Data/Finset/Disjoint.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Insert +module + +public import Mathlib.Data.Finset.Insert /-! # Disjoint finite sets @@ -20,6 +22,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice Monoid diff --git a/Mathlib/Data/Finset/Empty.lean b/Mathlib/Data/Finset/Empty.lean index 9b444baeb317ba..063f12ccb65e6d 100644 --- a/Mathlib/Data/Finset/Empty.lean +++ b/Mathlib/Data/Finset/Empty.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.ZeroCons +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.ZeroCons /-! # Empty and nonempty finite sets @@ -21,6 +23,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid @@ -203,7 +207,7 @@ You can add lemmas to the rule-set by tagging them with either: TODO: should some of the lemmas be `aesop safe simp` instead? -/ -def proveFinsetNonempty {u : Level} {α : Q(Type u)} (s : Q(Finset $α)) : +meta def proveFinsetNonempty {u : Level} {α : Q(Type u)} (s : Q(Finset $α)) : MetaM (Option Q(Finset.Nonempty $s)) := do -- Aesop expects to operate on goals, so we're going to make a new goal. let goal ← Lean.Meta.mkFreshExprMVar q(Finset.Nonempty $s) diff --git a/Mathlib/Data/Finset/Erase.lean b/Mathlib/Data/Finset/Erase.lean index fbe3889ec1d055..e0a017fdd9950f 100644 --- a/Mathlib/Data/Finset/Erase.lean +++ b/Mathlib/Data/Finset/Erase.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.Filter +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.Filter /-! # Erasing an element from a finite set @@ -19,6 +21,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/Filter.lean b/Mathlib/Data/Finset/Filter.lean index 2e20dfdcc92da8..c6e194142242a0 100644 --- a/Mathlib/Data/Finset/Filter.lean +++ b/Mathlib/Data/Finset/Filter.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Empty -import Mathlib.Data.Multiset.Filter +module + +public import Mathlib.Data.Finset.Empty +public import Mathlib.Data.Multiset.Filter /-! # Filtering a finite set @@ -20,6 +22,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid @@ -55,7 +59,7 @@ open Lean Elab Term Meta Batteries.ExtendedBinder /-- Return `true` if `expectedType?` is `some (Finset ?α)`, throws `throwUnsupportedSyntax` if it is `some (Set ?α)`, and returns `false` otherwise. -/ -def knownToBeFinsetNotSet (expectedType? : Option Expr) : TermElabM Bool := +meta def knownToBeFinsetNotSet (expectedType? : Option Expr) : TermElabM Bool := -- As we want to reason about the expected type, we would like to wait for it to be available. -- However this means that if we fall back on `elabSetBuilder` we will have postponed. -- This is undesirable as we want set builder notation to quickly elaborate to a `Set` when no @@ -88,7 +92,7 @@ See also TODO: Write a delaborator -/ @[term_elab setBuilder] -def elabFinsetBuilderSep : TermElab +meta def elabFinsetBuilderSep : TermElab | `({ $x:ident ∈ $s:term | $p }), expectedType? => do -- If the expected type is known to be `Set ?α`, give up. If it is not known to be `Set ?α` or -- `Finset ?α`, check the expected type of `s`. diff --git a/Mathlib/Data/Finset/Fin.lean b/Mathlib/Data/Finset/Fin.lean index 63cb52b8e42e9c..cb3539c1f55568 100644 --- a/Mathlib/Data/Finset/Fin.lean +++ b/Mathlib/Data/Finset/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Kim Morrison, Johan Commelin -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Fin.Embedding +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Fin.Embedding /-! # Finsets in `Fin n` @@ -16,6 +18,8 @@ A few constructions for Finsets in `Fin n`. * `Finset.attachFin`: Turns a Finset of naturals strictly less than `n` into a `Finset (Fin n)`. -/ +@[expose] public section + variable {n : ℕ} diff --git a/Mathlib/Data/Finset/Finsupp.lean b/Mathlib/Data/Finset/Finsupp.lean index ff8084cf68c2cb..2e42ead7b538fd 100644 --- a/Mathlib/Data/Finset/Finsupp.lean +++ b/Mathlib/Data/Finset/Finsupp.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Data.Finsupp.Indicator -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Data.Finsupp.Indicator +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Finitely supported product of finsets @@ -26,6 +28,8 @@ We make heavy use of the fact that `0 : Finset α` is `{0}`. This scalar actions to be precisely what we want here too. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finset/Fold.lean b/Mathlib/Data/Finset/Fold.lean index dc3c4af8d70fab..29130f8c9aca33 100644 --- a/Mathlib/Data/Finset/Fold.lean +++ b/Mathlib/Data/Finset/Fold.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Basic -import Mathlib.Data.Finset.Image -import Mathlib.Data.Multiset.Fold -import Mathlib.Data.Finset.Lattice.Lemmas +module + +public import Mathlib.Data.Finset.Basic +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Multiset.Fold +public import Mathlib.Data.Finset.Lattice.Lemmas /-! # The fold operation for a commutative associative operation over a finset. -/ +@[expose] public section + assert_not_exists Monoid namespace Finset diff --git a/Mathlib/Data/Finset/Functor.lean b/Mathlib/Data/Finset/Functor.lean index d820d2bcc1ff80..37378ff5f2df82 100644 --- a/Mathlib/Data/Finset/Functor.lean +++ b/Mathlib/Data/Finset/Functor.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Kim Morrison -/ -import Batteries.Control.AlternativeMonad -import Mathlib.Data.Finset.Lattice.Union -import Mathlib.Data.Finset.NAry -import Mathlib.Data.Multiset.Functor +module + +public import Batteries.Control.AlternativeMonad +public import Mathlib.Data.Finset.Lattice.Union +public import Mathlib.Data.Finset.NAry +public import Mathlib.Data.Multiset.Functor /-! # Functoriality of `Finset` @@ -20,6 +22,8 @@ instead we could state that a functor is lawful/applicative/traversable... betwe then we could provide the instances for types with decidable equality. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/Finset/Grade.lean b/Mathlib/Data/Finset/Grade.lean index 19f1bcb6bd8e15..6b738668d7c9b6 100644 --- a/Mathlib/Data/Finset/Grade.lean +++ b/Mathlib/Data/Finset/Grade.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Order.Atoms -import Mathlib.Order.Grade -import Mathlib.Order.Nat +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Order.Atoms +public import Mathlib.Order.Grade +public import Mathlib.Order.Nat /-! # Finsets and multisets form a graded order @@ -20,6 +22,8 @@ proves that they form a `ℕ`-graded order. * `Finset.instGradeMinOrder_nat`: Finsets are `ℕ`-graded -/ +@[expose] public section + open Order variable {α : Type*} diff --git a/Mathlib/Data/Finset/Image.lean b/Mathlib/Data/Finset/Image.lean index 8615c84722ba11..3553969c8c7d0e 100644 --- a/Mathlib/Data/Finset/Image.lean +++ b/Mathlib/Data/Finset/Image.lean @@ -3,15 +3,17 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Algebra.NeZero -import Mathlib.Data.Finset.Attach -import Mathlib.Data.Finset.Disjoint -import Mathlib.Data.Finset.Erase -import Mathlib.Data.Finset.Filter -import Mathlib.Data.Finset.Range -import Mathlib.Data.Finset.Lattice.Lemmas -import Mathlib.Data.Finset.SDiff -import Mathlib.Data.Fintype.Defs +module + +public import Mathlib.Algebra.NeZero +public import Mathlib.Data.Finset.Attach +public import Mathlib.Data.Finset.Disjoint +public import Mathlib.Data.Finset.Erase +public import Mathlib.Data.Finset.Filter +public import Mathlib.Data.Finset.Range +public import Mathlib.Data.Finset.Lattice.Lemmas +public import Mathlib.Data.Finset.SDiff +public import Mathlib.Data.Fintype.Defs /-! # Image and map operations on finite sets @@ -31,6 +33,8 @@ choosing between `insert` and `Finset.cons`, or between `Finset.union` and `Fins * `Finset.subtype`: `s.subtype p` is the finset of `Subtype p` whose elements belong to `s`. * `Finset.fin`:`s.fin n` is the finset of all elements of `s` less than `n`. -/ + +@[expose] public section assert_not_exists Monoid OrderedCommMonoid variable {α β γ : Type*} diff --git a/Mathlib/Data/Finset/Insert.lean b/Mathlib/Data/Finset/Insert.lean index ba81460f14bdbb..11f577f1e45e6c 100644 --- a/Mathlib/Data/Finset/Insert.lean +++ b/Mathlib/Data/Finset/Insert.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Attr -import Mathlib.Data.Finset.Dedup -import Mathlib.Data.Finset.Empty -import Mathlib.Data.Multiset.FinsetOps +module + +public import Mathlib.Data.Finset.Attr +public import Mathlib.Data.Finset.Dedup +public import Mathlib.Data.Finset.Empty +public import Mathlib.Data.Multiset.FinsetOps /-! # Constructing finite sets by adding one element @@ -30,6 +32,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/Interval.lean b/Mathlib/Data/Finset/Interval.lean index bbb1ffcb2e8f83..0ed1fc059ed98f 100644 --- a/Mathlib/Data/Finset/Interval.lean +++ b/Mathlib/Data/Finset/Interval.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Yury Kudryashov -/ -import Mathlib.Data.Finset.Grade -import Mathlib.Data.Finset.Powerset -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Data.Finset.Grade +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Order.Interval.Finset.Basic /-! # Intervals of finsets as finsets @@ -23,6 +25,8 @@ In addition, this file gives characterizations of monotone and strictly monotone out of `Finset α` in terms of `Finset.insert` -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/Finset/Lattice/Basic.lean b/Mathlib/Data/Finset/Lattice/Basic.lean index a335f64a810049..3c852ed6d37835 100644 --- a/Mathlib/Data/Finset/Lattice/Basic.lean +++ b/Mathlib/Data/Finset/Lattice/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.FinsetOps +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.FinsetOps /-! # Lattice structure on finite sets @@ -37,6 +39,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/Lattice/Fold.lean b/Mathlib/Data/Finset/Lattice/Fold.lean index d7222bba8d9699..bd87c352d36c85 100644 --- a/Mathlib/Data/Finset/Lattice/Fold.lean +++ b/Mathlib/Data/Finset/Lattice/Fold.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Fold -import Mathlib.Data.Finset.Sum -import Mathlib.Data.Multiset.Lattice -import Mathlib.Data.Set.BooleanAlgebra -import Mathlib.Order.Hom.BoundedLattice -import Mathlib.Order.Nat +module + +public import Mathlib.Data.Finset.Fold +public import Mathlib.Data.Finset.Sum +public import Mathlib.Data.Multiset.Lattice +public import Mathlib.Data.Set.BooleanAlgebra +public import Mathlib.Order.Hom.BoundedLattice +public import Mathlib.Order.Nat /-! # Lattice operations on finsets @@ -21,6 +23,8 @@ See also `Mathlib/Order/CompleteLattice/Finset.lean`, which is instead concerned lattice or set operations behave when indexed by a finset. -/ +@[expose] public section + open Function Multiset OrderDual variable {F α β γ ι κ : Type*} diff --git a/Mathlib/Data/Finset/Lattice/Lemmas.lean b/Mathlib/Data/Finset/Lattice/Lemmas.lean index bbafb21caafe81..7c7564b39244a1 100644 --- a/Mathlib/Data/Finset/Lattice/Lemmas.lean +++ b/Mathlib/Data/Finset/Lattice/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Insert -import Mathlib.Data.Finset.Lattice.Basic +module + +public import Mathlib.Data.Finset.Insert +public import Mathlib.Data.Finset.Lattice.Basic /-! # Lemmas about the lattice structure of finite sets @@ -18,6 +20,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice Monoid diff --git a/Mathlib/Data/Finset/Lattice/Pi.lean b/Mathlib/Data/Finset/Lattice/Pi.lean index 56061d2b21e12f..293d6d4e1a80c7 100644 --- a/Mathlib/Data/Finset/Lattice/Pi.lean +++ b/Mathlib/Data/Finset/Lattice/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Lattice.Prod -import Mathlib.Data.Finset.Pi +module + +public import Mathlib.Data.Finset.Lattice.Prod +public import Mathlib.Data.Finset.Pi /-! # Lattice operations on finsets of functions @@ -12,6 +14,8 @@ import Mathlib.Data.Finset.Pi This file is concerned with folding binary lattice operations over finsets. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero variable {α ι : Type*} diff --git a/Mathlib/Data/Finset/Lattice/Prod.lean b/Mathlib/Data/Finset/Lattice/Prod.lean index 36e132700e5f2a..718a5a43db4464 100644 --- a/Mathlib/Data/Finset/Lattice/Prod.lean +++ b/Mathlib/Data/Finset/Lattice/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Finset.Prod +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Finset.Prod /-! # Lattice operations on finsets of products @@ -12,6 +14,8 @@ import Mathlib.Data.Finset.Prod This file is concerned with folding binary lattice operations over finsets. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero open Function Multiset OrderDual diff --git a/Mathlib/Data/Finset/Lattice/Union.lean b/Mathlib/Data/Finset/Lattice/Union.lean index 6461f69444eb85..20a46d800b71b2 100644 --- a/Mathlib/Data/Finset/Lattice/Union.lean +++ b/Mathlib/Data/Finset/Lattice/Union.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Finset.Union +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Finset.Union /-! # Relating `Finset.biUnion` with lattice operations @@ -16,6 +18,8 @@ This file shows `Finset.biUnion` could alternatively be defined in terms of `Fin Remove `Finset.biUnion` in favour of `Finset.sup`. -/ +@[expose] public section + open Function Multiset OrderDual variable {F α β γ ι κ : Type*} diff --git a/Mathlib/Data/Finset/Max.lean b/Mathlib/Data/Finset/Max.lean index e806f84c4bc18e..f5c90c0238b06a 100644 --- a/Mathlib/Data/Finset/Max.lean +++ b/Mathlib/Data/Finset/Max.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Lattice.Fold /-! # Maximum and minimum of finite sets -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero open Function Multiset OrderDual diff --git a/Mathlib/Data/Finset/MulAntidiagonal.lean b/Mathlib/Data/Finset/MulAntidiagonal.lean index 0b390aa491c5a6..fa4eb269136fa5 100644 --- a/Mathlib/Data/Finset/MulAntidiagonal.lean +++ b/Mathlib/Data/Finset/MulAntidiagonal.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Data.Set.MulAntidiagonal -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Data.Set.MulAntidiagonal +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Multiplication antidiagonal as a `Finset`. @@ -13,6 +15,8 @@ We construct the `Finset` of all pairs of an element in `s` and an element in `t` that multiply to `a`, given that `s` and `t` are well-ordered. -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Data/Finset/NAry.lean b/Mathlib/Data/Finset/NAry.lean index 369a286b0bd98f..bb94ff35f69918 100644 --- a/Mathlib/Data/Finset/NAry.lean +++ b/Mathlib/Data/Finset/NAry.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Lattice.Prod -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Data.Finset.Lattice.Prod +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Set.Lattice.Image /-! # N-ary images of finsets @@ -22,6 +24,8 @@ We do not define `Finset.image₃` as its only purpose would be to prove propert and `Set.image2` already fulfills this task. -/ +@[expose] public section + open Function Set variable {α α' β β' γ γ' δ δ' ε ε' ζ ζ' ν : Type*} diff --git a/Mathlib/Data/Finset/NatAntidiagonal.lean b/Mathlib/Data/Finset/NatAntidiagonal.lean index 8282411550b744..a9bc329d17e3ee 100644 --- a/Mathlib/Data/Finset/NatAntidiagonal.lean +++ b/Mathlib/Data/Finset/NatAntidiagonal.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Order.Antidiag.Prod -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.Multiset.NatAntidiagonal +module + +public import Mathlib.Algebra.Order.Antidiag.Prod +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.Multiset.NatAntidiagonal /-! # Antidiagonals in ℕ × ℕ as finsets @@ -20,6 +22,8 @@ This refines files `Data.List.NatAntidiagonal` and `Data.Multiset.NatAntidiagona instance enabling `Finset.antidiagonal` on `Nat`. -/ +@[expose] public section + assert_not_exists Field open Function diff --git a/Mathlib/Data/Finset/NatDivisors.lean b/Mathlib/Data/Finset/NatDivisors.lean index f056a055f3a3d1..fe81ae153ff9e7 100644 --- a/Mathlib/Data/Finset/NatDivisors.lean +++ b/Mathlib/Data/Finset/NatDivisors.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Yury Kudryashov -/ -import Mathlib.NumberTheory.Divisors -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.NumberTheory.Divisors +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # `Nat.divisors` as a multiplicative homomorpism @@ -13,6 +15,8 @@ The main definition of this file is `Nat.divisorsHom : ℕ →* Finset ℕ`, exhibiting `Nat.divisors` as a multiplicative homomorphism from `ℕ` to `Finset ℕ`. -/ +@[expose] public section + open Nat Finset open scoped Pointwise diff --git a/Mathlib/Data/Finset/NoncommProd.lean b/Mathlib/Data/Finset/NoncommProd.lean index bca005afa428ce..613b76118d6365 100644 --- a/Mathlib/Data/Finset/NoncommProd.lean +++ b/Mathlib/Data/Finset/NoncommProd.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Commute.Hom -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Commute.Hom +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Data.Fintype.Basic /-! # Products (respectively, sums) over a finset or a multiset. @@ -32,6 +34,8 @@ elements is commutative and using the `Finset.prod` versions of lemmas to prove version. -/ +@[expose] public section + variable {F ι α β γ : Type*} (f : α → β → β) (op : α → α → α) namespace Multiset diff --git a/Mathlib/Data/Finset/Option.lean b/Mathlib/Data/Finset/Option.lean index febde1817134c1..ff7204bf7f3a39 100644 --- a/Mathlib/Data/Finset/Option.lean +++ b/Mathlib/Data/Finset/Option.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Mario Carneiro, Sean Leather -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Union +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Union /-! # Finite sets in `Option α` @@ -24,6 +26,8 @@ Then we prove some basic lemmas about these definitions. finset, option -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/Finset/Order.lean b/Mathlib/Data/Finset/Order.lean index 68d4055ec8a08f..b17c0ed0f4be70 100644 --- a/Mathlib/Data/Finset/Order.lean +++ b/Mathlib/Data/Finset/Order.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau -/ -import Mathlib.Data.Finset.Defs -import Mathlib.Data.Multiset.ZeroCons -import Mathlib.Order.Directed +module + +public import Mathlib.Data.Finset.Defs +public import Mathlib.Data.Multiset.ZeroCons +public import Mathlib.Order.Directed /-! # Finsets of ordered types -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Data/Finset/PImage.lean b/Mathlib/Data/Finset/PImage.lean index 54b7e64db79b91..168e1da9280c43 100644 --- a/Mathlib/Data/Finset/PImage.lean +++ b/Mathlib/Data/Finset/PImage.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finset.Option -import Mathlib.Data.PFun -import Mathlib.Data.Part +module + +public import Mathlib.Data.Finset.Option +public import Mathlib.Data.PFun +public import Mathlib.Data.Part /-! # Image of a `Finset α` under a partially defined function @@ -18,6 +20,8 @@ these definitions. finite set, image, partial function -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/Finset/Pairwise.lean b/Mathlib/Data/Finset/Pairwise.lean index 9779fb38776316..3bad2fc1055980 100644 --- a/Mathlib/Data/Finset/Pairwise.lean +++ b/Mathlib/Data/Finset/Pairwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Set.Pairwise.List +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Set.Pairwise.List /-! # Relations holding pairwise on finite sets @@ -14,6 +16,8 @@ as well as the interaction of `List.Pairwise Disjoint` and the condition of `Disjoint` on `List.toFinset`, in `Set` form. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Data/Finset/Pi.lean b/Mathlib/Data/Finset/Pi.lean index d9b6603fd99aaa..3f8e603be310ca 100644 --- a/Mathlib/Data/Finset/Pi.lean +++ b/Mathlib/Data/Finset/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Union -import Mathlib.Data.Multiset.Pi -import Mathlib.Logic.Function.DependsOn +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Union +public import Mathlib.Data.Multiset.Pi +public import Mathlib.Logic.Function.DependsOn /-! # The Cartesian product of finsets @@ -16,6 +18,8 @@ import Mathlib.Logic.Function.DependsOn * `Finset.pi`: Cartesian product of finsets indexed by a finset. -/ +@[expose] public section + open Function namespace Finset diff --git a/Mathlib/Data/Finset/PiInduction.lean b/Mathlib/Data/Finset/PiInduction.lean index 474564109a966c..9e41f2dddb9e41 100644 --- a/Mathlib/Data/Finset/PiInduction.lean +++ b/Mathlib/Data/Finset/PiInduction.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finset.Max -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Fintype.Basic /-! # Induction principles for `∀ i, Finset (α i)` @@ -25,6 +27,8 @@ finite type. finite set, finite type, induction, function -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Finset/Piecewise.lean b/Mathlib/Data/Finset/Piecewise.lean index c24bf122cac1f7..82e2dc7ae14532 100644 --- a/Mathlib/Data/Finset/Piecewise.lean +++ b/Mathlib/Data/Finset/Piecewise.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Finset.BooleanAlgebra -import Mathlib.Data.Set.Piecewise -import Mathlib.Order.Interval.Set.Basic +module + +public import Mathlib.Data.Finset.BooleanAlgebra +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Order.Interval.Set.Basic /-! # Functions defined piecewise on a finset @@ -18,6 +20,8 @@ which is equal to `f` on `s` and `g` on the complement. Should we deduplicate this from `Set.piecewise`? -/ +@[expose] public section + open Function namespace Finset diff --git a/Mathlib/Data/Finset/Powerset.lean b/Mathlib/Data/Finset/Powerset.lean index 360948612eb41a..2758e151d35278 100644 --- a/Mathlib/Data/Finset/Powerset.lean +++ b/Mathlib/Data/Finset/Powerset.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Lattice.Union -import Mathlib.Data.Multiset.Powerset -import Mathlib.Data.Set.Pairwise.Lattice +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Lattice.Union +public import Mathlib.Data.Multiset.Powerset +public import Mathlib.Data.Set.Pairwise.Lattice /-! # The powerset of a finset -/ +@[expose] public section + namespace Finset diff --git a/Mathlib/Data/Finset/Preimage.lean b/Mathlib/Data/Finset/Preimage.lean index 011a9e1808ca87..1787a1efd398cf 100644 --- a/Mathlib/Data/Finset/Preimage.lean +++ b/Mathlib/Data/Finset/Preimage.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Finset.Pi -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Finset.Sum -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Data.Finset.Pi +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Finset.Sum +public import Mathlib.Data.Set.Finite.Basic /-! # Preimage of a `Finset` under an injective map. -/ +@[expose] public section + assert_not_exists Finset.sum open Set Function diff --git a/Mathlib/Data/Finset/Prod.lean b/Mathlib/Data/Finset/Prod.lean index 58c9b7afa42a9f..92f8dd04e744ef 100644 --- a/Mathlib/Data/Finset/Prod.lean +++ b/Mathlib/Data/Finset/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Oliver Nash -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Union +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Union /-! # Finsets in product types @@ -21,6 +23,8 @@ This file defines finset constructions on the product type `α × β`. Beware no `a, b ∈ s` and `a ≠ b`. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Multiset diff --git a/Mathlib/Data/Finset/Range.lean b/Mathlib/Data/Finset/Range.lean index b02c2e441a1e29..190ab4163b3aac 100644 --- a/Mathlib/Data/Finset/Range.lean +++ b/Mathlib/Data/Finset/Range.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Insert -import Mathlib.Data.Multiset.Range -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Data.Finset.Insert +public import Mathlib.Data.Multiset.Range +public import Mathlib.Order.Interval.Set.Defs /-! # Finite sets made of a range of elements. @@ -24,6 +26,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/SDiff.lean b/Mathlib/Data/Finset/SDiff.lean index 73e272662ba618..b811858de236bc 100644 --- a/Mathlib/Data/Finset/SDiff.lean +++ b/Mathlib/Data/Finset/SDiff.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Insert -import Mathlib.Data.Finset.Lattice.Basic +module + +public import Mathlib.Data.Finset.Insert +public import Mathlib.Data.Finset.Lattice.Basic /-! # Difference of finite sets @@ -20,6 +22,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice OrderedCommMonoid diff --git a/Mathlib/Data/Finset/SMulAntidiagonal.lean b/Mathlib/Data/Finset/SMulAntidiagonal.lean index 503fb320309e4e..b2f1f8e0de1dc8 100644 --- a/Mathlib/Data/Finset/SMulAntidiagonal.lean +++ b/Mathlib/Data/Finset/SMulAntidiagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Data.Set.SMulAntidiagonal +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Data.Set.SMulAntidiagonal /-! # Antidiagonal for scalar multiplication as a `Finset`. @@ -20,6 +22,8 @@ scalar-multiply to `a`. -/ +@[expose] public section + variable {G P : Type*} open Pointwise diff --git a/Mathlib/Data/Finset/Sigma.lean b/Mathlib/Data/Finset/Sigma.lean index ff233932c09135..771ac0fafd57c2 100644 --- a/Mathlib/Data/Finset/Sigma.lean +++ b/Mathlib/Data/Finset/Sigma.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Set.Sigma -import Mathlib.Order.CompleteLattice.Finset +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Set.Sigma +public import Mathlib.Order.CompleteLattice.Finset /-! # Finite sets in a sigma type @@ -26,6 +28,8 @@ worth it, we must first refactor the functor library so that the `alternative` i is computable and universe-polymorphic. -/ +@[expose] public section + open Function Multiset diff --git a/Mathlib/Data/Finset/Slice.lean b/Mathlib/Data/Finset/Slice.lean index a702b508168a43..dde15f0a00d4a6 100644 --- a/Mathlib/Data/Finset/Slice.lean +++ b/Mathlib/Data/Finset/Slice.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Bhavik Mehta, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Alena Gusakov, Yaël Dillies -/ -import Mathlib.Data.Fintype.Powerset -import Mathlib.Order.Antichain -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Order.Antichain +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # `r`-sets and slice @@ -27,6 +29,8 @@ the set family made of its `r`-sets. `A # r` is notation for `A.slice r` in scope `finset_family`. -/ +@[expose] public section + open Finset Nat diff --git a/Mathlib/Data/Finset/Sort.lean b/Mathlib/Data/Finset/Sort.lean index 3ccb9d01415cfa..1345cc7cc7a807 100644 --- a/Mathlib/Data/Finset/Sort.lean +++ b/Mathlib/Data/Finset/Sort.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Max -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Multiset.Sort -import Mathlib.Order.RelIso.Set +module + +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Multiset.Sort +public import Mathlib.Order.RelIso.Set /-! # Construct a sorted list from a finset. -/ +@[expose] public section + namespace Finset open Multiset Nat diff --git a/Mathlib/Data/Finset/Sum.lean b/Mathlib/Data/Finset/Sum.lean index 7a461441b2613e..f12f58796c0d64 100644 --- a/Mathlib/Data/Finset/Sum.lean +++ b/Mathlib/Data/Finset/Sum.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Finset.Fold -import Mathlib.Data.Multiset.Sum +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Finset.Fold +public import Mathlib.Data.Multiset.Sum /-! # Disjoint sum of finsets @@ -20,6 +22,8 @@ the `Finset.sum` operation which computes the additive sum. * `Finset.toRight`: Given a finset of elements `α ⊕ β`, extracts all the elements of the form `β`. -/ +@[expose] public section + open Function Multiset Sum diff --git a/Mathlib/Data/Finset/Sups.lean b/Mathlib/Data/Finset/Sups.lean index c3ff3c825992b2..07c3b12daa64fa 100644 --- a/Mathlib/Data/Finset/Sups.lean +++ b/Mathlib/Data/Finset/Sups.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.NAry -import Mathlib.Data.Finset.Slice -import Mathlib.Data.Set.Sups +module + +public import Mathlib.Data.Finset.NAry +public import Mathlib.Data.Finset.Slice +public import Mathlib.Data.Set.Sups /-! # Set family operations @@ -35,6 +37,8 @@ We define the following notation in scope `FinsetFamily`: [B. Bollobás, *Combinatorics*][bollobas1986] -/ +@[expose] public section + open Function open SetFamily diff --git a/Mathlib/Data/Finset/Sym.lean b/Mathlib/Data/Finset/Sym.lean index b3b700483b240a..7f10ab98b477bf 100644 --- a/Mathlib/Data/Finset/Sym.lean +++ b/Mathlib/Data/Finset/Sym.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Fintype.Vector -import Mathlib.Data.Multiset.Sym +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Fintype.Vector +public import Mathlib.Data.Multiset.Sym /-! # Symmetric powers of a finset @@ -26,6 +28,8 @@ This file defines the symmetric powers of a finset as `Finset (Sym α n)` and `F `Finset.sym2`. -/ +@[expose] public section + namespace Finset variable {α β : Type*} diff --git a/Mathlib/Data/Finset/SymmDiff.lean b/Mathlib/Data/Finset/SymmDiff.lean index 977f6584f83616..42a4b3a393fb86 100644 --- a/Mathlib/Data/Finset/SymmDiff.lean +++ b/Mathlib/Data/Finset/SymmDiff.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Minchao Wu, Mario Carneiro -/ -import Mathlib.Data.Finset.Image -import Mathlib.Data.Set.SymmDiff +module + +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Set.SymmDiff /-! # Symmetric difference of finite sets @@ -17,6 +19,8 @@ finite sets, finset -/ +@[expose] public section + -- Assert that we define `Finset` without the material on `List.sublists`. -- Note that we cannot use `List.sublists` itself as that is defined very early. assert_not_exists List.sublistsLen Multiset.powerset CompleteLattice Monoid diff --git a/Mathlib/Data/Finset/Union.lean b/Mathlib/Data/Finset/Union.lean index 3960999f50c051..606a6392610426 100644 --- a/Mathlib/Data/Finset/Union.lean +++ b/Mathlib/Data/Finset/Union.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Fold -import Mathlib.Data.Multiset.Bind -import Mathlib.Order.SetNotation +module + +public import Mathlib.Data.Finset.Fold +public import Mathlib.Data.Multiset.Bind +public import Mathlib.Order.SetNotation /-! # Unions of finite sets @@ -26,6 +28,8 @@ This file defines the union of a family `t : α → Finset β` of finsets bounde Remove `Finset.biUnion` in favour of `Finset.sup`. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction variable {α β γ : Type*} {s s₁ s₂ : Finset α} {t t₁ t₂ : α → Finset β} @@ -97,12 +101,12 @@ private lemma pairwiseDisjoint_fibers : Set.PairwiseDisjoint ↑t fun a ↦ s.fi simp_rw [disjoint_left, mem_filter]; rintro i ⟨_, rfl⟩ ⟨_, rfl⟩; exact hne rfl @[simp] lemma disjiUnion_filter_eq (s : Finset α) (t : Finset β) (f : α → β) : - t.disjiUnion (fun a ↦ s.filter (f · = a)) pairwiseDisjoint_fibers = + t.disjiUnion (fun a ↦ s.filter (f · = a)) (by exact pairwiseDisjoint_fibers) = s.filter fun c ↦ f c ∈ t := ext fun b => by simpa using and_comm lemma disjiUnion_filter_eq_of_maps_to (h : ∀ x ∈ s, f x ∈ t) : - t.disjiUnion (fun a ↦ s.filter (f · = a)) pairwiseDisjoint_fibers = s := by + t.disjiUnion (fun a ↦ s.filter (f · = a)) (by exact pairwiseDisjoint_fibers) = s := by simpa [filter_eq_self] end DecidableEq diff --git a/Mathlib/Data/Finset/Update.lean b/Mathlib/Data/Finset/Update.lean index 392b995578e6ea..a840f9b78bea9e 100644 --- a/Mathlib/Data/Finset/Update.lean +++ b/Mathlib/Data/Finset/Update.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Data.Finset.Pi -import Mathlib.Logic.Function.DependsOn +module + +public import Mathlib.Data.Finset.Pi +public import Mathlib.Logic.Function.DependsOn /-! # Update a function on a set of values @@ -15,6 +17,8 @@ This file defines `Function.updateFinset`, the operation that updates a function This is a very specific function used for `MeasureTheory.marginal`, and possibly not that useful for other purposes. -/ + +@[expose] public section variable {ι : Sort _} {π : ι → Sort _} {x : ∀ i, π i} [DecidableEq ι] namespace Function diff --git a/Mathlib/Data/Finsupp/AList.lean b/Mathlib/Data/Finsupp/AList.lean index 6f72f7a78aa38f..a62ceb7745bfcf 100644 --- a/Mathlib/Data/Finsupp/AList.lean +++ b/Mathlib/Data/Finsupp/AList.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.List.AList +module + +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.List.AList /-! # Connections between `Finsupp` and `AList` @@ -17,6 +19,8 @@ import Mathlib.Data.List.AList -/ +@[expose] public section + namespace Finsupp diff --git a/Mathlib/Data/Finsupp/Antidiagonal.lean b/Mathlib/Data/Finsupp/Antidiagonal.lean index d3cc6f813d245a..5d8ca5489249f9 100644 --- a/Mathlib/Data/Finsupp/Antidiagonal.lean +++ b/Mathlib/Data/Finsupp/Antidiagonal.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.Data.Finsupp.Multiset -import Mathlib.Data.Multiset.Antidiagonal +module + +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.Data.Multiset.Antidiagonal /-! # The `Finsupp` counterpart of `Multiset.antidiagonal`. @@ -14,6 +16,8 @@ The antidiagonal of `s : α →₀ ℕ` consists of all pairs `(t₁, t₂) : (α →₀ ℕ) × (α →₀ ℕ)` such that `t₁ + t₂ = s`. -/ +@[expose] public section + namespace Finsupp open Finset diff --git a/Mathlib/Data/Finsupp/Basic.lean b/Mathlib/Data/Finsupp/Basic.lean index 12456411a3ddf5..fd9f568f52579e 100644 --- a/Mathlib/Data/Finsupp/Basic.lean +++ b/Mathlib/Data/Finsupp/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.BigOperators.Finsupp.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Preimage -import Mathlib.Algebra.Group.Indicator -import Mathlib.Data.Rat.BigOperators +module + +public import Mathlib.Algebra.BigOperators.Finsupp.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Preimage +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Data.Rat.BigOperators /-! # Miscellaneous definitions, lemmas, and constructions using finsupp @@ -33,6 +35,8 @@ This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finsupp/BigOperators.lean b/Mathlib/Data/Finsupp/BigOperators.lean index 218703b6f549f9..c64044b500de0c 100644 --- a/Mathlib/Data/Finsupp/BigOperators.lean +++ b/Mathlib/Data/Finsupp/BigOperators.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Data.Finset.Pairwise +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Data.Finset.Pairwise /-! @@ -31,6 +33,8 @@ it is a member of the support of a member of the collection: -/ +@[expose] public section + variable {ι M : Type*} [DecidableEq ι] diff --git a/Mathlib/Data/Finsupp/Defs.lean b/Mathlib/Data/Finsupp/Defs.lean index 95333ed9a0bab8..30fc5b063c98ee 100644 --- a/Mathlib/Data/Finsupp/Defs.lean +++ b/Mathlib/Data/Finsupp/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Data.Set.Finite.Basic /-! # Type of functions with finite support @@ -74,6 +76,8 @@ This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + assert_not_exists CompleteLattice Monoid noncomputable section @@ -215,7 +219,7 @@ section OnFinset variable [Zero M] -private irreducible_def onFinset_support (s : Finset α) (f : α → M) : Finset α := +irreducible_def onFinset_support (s : Finset α) (f : α → M) : Finset α := haveI := Classical.decEq M {a ∈ s | f a ≠ 0} diff --git a/Mathlib/Data/Finsupp/Encodable.lean b/Mathlib/Data/Finsupp/Encodable.lean index 2d0d433cbf6aa7..c96077f77ca991 100644 --- a/Mathlib/Data/Finsupp/Encodable.lean +++ b/Mathlib/Data/Finsupp/Encodable.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Finsupp.ToDFinsupp -import Mathlib.Data.DFinsupp.Encodable +module + +public import Mathlib.Data.Finsupp.ToDFinsupp +public import Mathlib.Data.DFinsupp.Encodable /-! # `Encodable` and `Countable` instances for `α →₀ β` In this file we provide instances for `Encodable (α →₀ β)` and `Countable (α →₀ β)`. -/ +@[expose] public section + instance {α β : Type*} [Encodable α] [Encodable β] [Zero β] [∀ x : β, Decidable (x ≠ 0)] : Encodable (α →₀ β) := letI : DecidableEq α := Encodable.decidableEqOfEncodable _ diff --git a/Mathlib/Data/Finsupp/Ext.lean b/Mathlib/Data/Finsupp/Ext.lean index 449367eb48c855..33ec921bf3fb36 100644 --- a/Mathlib/Data/Finsupp/Ext.lean +++ b/Mathlib/Data/Finsupp/Ext.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Group.TypeTags.Hom +module + +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Group.TypeTags.Hom /-! # Extensionality for maps on `Finsupp` @@ -19,6 +21,8 @@ These have been moved to their own file to avoid depending on submonoids when de * `Finsupp.addHom_ext`: additive homomorphisms that are equal on each `single` are equal everywhere -/ +@[expose] public section + variable {α M N : Type*} namespace Finsupp diff --git a/Mathlib/Data/Finsupp/Fin.lean b/Mathlib/Data/Finsupp/Fin.lean index 027350c69ca700..fb4224e0123f3b 100644 --- a/Mathlib/Data/Finsupp/Fin.lean +++ b/Mathlib/Data/Finsupp/Fin.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Ivan Sadofschi Costa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ivan Sadofschi Costa -/ -import Mathlib.Data.Finsupp.Single +module + +public import Mathlib.Data.Finsupp.Single /-! # `cons` and `tail` for maps `Fin n →₀ M` @@ -17,6 +19,8 @@ In this context, we prove some usual properties of `tail` and `cons`, analogous `Data.Fin.Tuple.Basic`. -/ +@[expose] public section + open Function noncomputable section diff --git a/Mathlib/Data/Finsupp/Fintype.lean b/Mathlib/Data/Finsupp/Fintype.lean index 1af258ead54dd8..1ea187a1500ae7 100644 --- a/Mathlib/Data/Finsupp/Fintype.lean +++ b/Mathlib/Data/Finsupp/Fintype.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.Data.Finsupp.Single -import Mathlib.Data.Fintype.BigOperators +module + +public import Mathlib.Data.Finsupp.Single +public import Mathlib.Data.Fintype.BigOperators /-! @@ -14,6 +16,8 @@ Some lemmas on the combination of `Finsupp`, `Fintype` and `Infinite`. -/ +@[expose] public section + variable {ι α : Type*} [DecidableEq ι] [Fintype ι] [Zero α] [Fintype α] noncomputable instance Finsupp.fintype : Fintype (ι →₀ α) := diff --git a/Mathlib/Data/Finsupp/Indicator.lean b/Mathlib/Data/Finsupp/Indicator.lean index 61ce2a7abdfb61..f7a82314220667 100644 --- a/Mathlib/Data/Finsupp/Indicator.lean +++ b/Mathlib/Data/Finsupp/Indicator.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finsupp.Single +module + +public import Mathlib.Data.Finsupp.Single /-! # Building finitely supported functions off finsets @@ -15,6 +17,8 @@ This file defines `Finsupp.indicator` to help create finsupps from finsets. * `Finsupp.indicator`: Turns a map from a `Finset` into a `Finsupp` from the entire type. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finsupp/Interval.lean b/Mathlib/Data/Finsupp/Interval.lean index 81ad1732365511..7670830afe652a 100644 --- a/Mathlib/Data/Finsupp/Interval.lean +++ b/Mathlib/Data/Finsupp/Interval.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Finsupp -import Mathlib.Data.Finsupp.Order -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Data.Finset.Finsupp +public import Mathlib.Data.Finsupp.Order +public import Mathlib.Order.Interval.Finset.Basic /-! # Finite intervals of finitely supported functions @@ -23,6 +25,8 @@ Both these definitions use the fact that `0 = {0}` to ensure that the resulting supported. -/ +@[expose] public section + noncomputable section open Finset Finsupp Function Pointwise diff --git a/Mathlib/Data/Finsupp/Lex.lean b/Mathlib/Data/Finsupp/Lex.lean index 18512f0aeca16a..24efb0a70f2356 100644 --- a/Mathlib/Data/Finsupp/Lex.lean +++ b/Mathlib/Data/Finsupp/Lex.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Data.Finsupp.Order -import Mathlib.Data.DFinsupp.Lex -import Mathlib.Data.Finsupp.ToDFinsupp +module + +public import Mathlib.Data.Finsupp.Order +public import Mathlib.Data.DFinsupp.Lex +public import Mathlib.Data.Finsupp.ToDFinsupp /-! # Lexicographic order on finitely supported functions @@ -13,6 +15,8 @@ import Mathlib.Data.Finsupp.ToDFinsupp This file defines the lexicographic order on `Finsupp`. -/ +@[expose] public section + variable {α N : Type*} diff --git a/Mathlib/Data/Finsupp/MonomialOrder.lean b/Mathlib/Data/Finsupp/MonomialOrder.lean index f299b8c733e30d..4ff051b53b285d 100644 --- a/Mathlib/Data/Finsupp/MonomialOrder.lean +++ b/Mathlib/Data/Finsupp/MonomialOrder.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Data.Finsupp.Lex -import Mathlib.Data.Finsupp.WellFounded -import Mathlib.Data.List.TFAE +module + +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.Data.List.TFAE /-! # Monomial orders @@ -53,6 +55,8 @@ it is customary to order them using the opposite order : `MvPolynomial.X 0 > MvP -/ +@[expose] public section + /-- Monomial orders : equivalence of `σ →₀ ℕ` with a well-ordered type -/ structure MonomialOrder (σ : Type*) where /-- The synonym type -/ diff --git a/Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean b/Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean index f8c9c55f492f68..5369413b2671b0 100644 --- a/Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean +++ b/Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.Data.Finsupp.MonomialOrder -import Mathlib.Data.Finsupp.Weight +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.Data.Finsupp.MonomialOrder +public import Mathlib.Data.Finsupp.Weight /-! Homogeneous lexicographic monomial ordering @@ -24,6 +25,8 @@ and `MonomialOrder.degLex_lt_iff` rewrite the ordering as comparisons in the typ -/ +@[expose] public section + /-- A type synonym to equip a type with its lexicographic order sorted by degrees. -/ def DegLex (α : Type*) := α diff --git a/Mathlib/Data/Finsupp/Multiset.lean b/Mathlib/Data/Finsupp/Multiset.lean index ab820d1aed3aef..a4803b2cae5849 100644 --- a/Mathlib/Data/Finsupp/Multiset.lean +++ b/Mathlib/Data/Finsupp/Multiset.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Order.Group.Finset -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Sym.Basic -import Mathlib.Order.Preorder.Finsupp +module + +public import Mathlib.Algebra.Order.Group.Finset +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Sym.Basic +public import Mathlib.Order.Preorder.Finsupp /-! # Equivalence between `Multiset` and `ℕ`-valued finitely supported functions @@ -17,6 +19,8 @@ promoted to an order isomorphism). -/ +@[expose] public section + open Finset variable {α β ι : Type*} diff --git a/Mathlib/Data/Finsupp/NeLocus.lean b/Mathlib/Data/Finsupp/NeLocus.lean index fd238dd1885911..d999d1f9c1854c 100644 --- a/Mathlib/Data/Finsupp/NeLocus.lean +++ b/Mathlib/Data/Finsupp/NeLocus.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Group.Finsupp +module + +public import Mathlib.Algebra.Group.Finsupp /-! # Locus of unequal values of finitely supported functions @@ -19,6 +21,8 @@ In the case in which `N` is an additive group, `Finsupp.neLocus f g` coincides w `Finsupp.support (f - g)`. -/ +@[expose] public section + variable {α M N P : Type*} diff --git a/Mathlib/Data/Finsupp/Notation.lean b/Mathlib/Data/Finsupp/Notation.lean index 6490a5a5890ffc..704f4850297ef5 100644 --- a/Mathlib/Data/Finsupp/Notation.lean +++ b/Mathlib/Data/Finsupp/Notation.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Finsupp.Single +module + +public import Mathlib.Data.Finsupp.Single /-! # Notation for `Finsupp` @@ -13,13 +15,15 @@ This file provides `fun₀ | 3 => a | 7 => b` notation for `Finsupp`, which desu `singleton`. -/ +@[expose] public section + namespace Finsupp open Lean Parser Term -- A variant of `Lean.Parser.Term.matchAlts` with less line wrapping. @[nolint docBlame] -- we do not want any doc hover on this notation. -def fun₀.matchAlts : Parser := +meta def fun₀.matchAlts : Parser := leading_parser withPosition <| ppRealGroup <| many1Indent (ppSpace >> ppGroup matchAlt) /-- `fun₀ | i => a` is notation for `Finsupp.single i a`, and with multiple match arms, @@ -27,7 +31,7 @@ def fun₀.matchAlts : Parser := As a result, if multiple match arms coincide, the last one takes precedence. -/ @[term_parser] -def fun₀ := leading_parser:maxPrec +meta def fun₀ := leading_parser:maxPrec -- Prefer `fun₀` over `λ₀` when pretty printing. ppAllowUngrouped >> unicodeSymbol "λ₀" "fun₀" (preserveForPP := true) >> fun₀.matchAlts @@ -40,13 +44,13 @@ scoped syntax:lead (name := stxUpdate₀) "update₀" term:arg term:arg term:arg /-- `Finsupp` elaborator for `single₀`. -/ @[term_elab stxSingle₀] -def elabSingle₀ : Elab.Term.TermElab +meta def elabSingle₀ : Elab.Term.TermElab | `(term| single₀ $i $x) => fun ty => do Elab.Term.elabTerm (← `(Finsupp.single $i $x)) ty | _ => fun _ => Elab.throwUnsupportedSyntax /-- `Finsupp` elaborator for `update₀`. -/ @[term_elab stxUpdate₀] -def elabUpdate₀ : Elab.Term.TermElab +meta def elabUpdate₀ : Elab.Term.TermElab | `(term| update₀ $f $i $x) => fun ty => do Elab.Term.elabTerm (← `(Finsupp.update $f $i $x)) ty | _ => fun _ => Elab.throwUnsupportedSyntax @@ -70,13 +74,13 @@ end Internal /-- Unexpander for the `fun₀ | i => x` notation. -/ @[app_unexpander Finsupp.single] -def singleUnexpander : Lean.PrettyPrinter.Unexpander +meta def singleUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $pat $val) => `(fun₀ | $pat => $val) | _ => throw () /-- Unexpander for the `fun₀ | i => x` notation. -/ @[app_unexpander Finsupp.update] -def updateUnexpander : Lean.PrettyPrinter.Unexpander +meta def updateUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $f $pat $val) => match f with | `(fun₀ $xs:matchAlt*) => `(fun₀ $xs:matchAlt* | $pat => $val) | _ => throw () diff --git a/Mathlib/Data/Finsupp/Option.lean b/Mathlib/Data/Finsupp/Option.lean index 698d594fbe1f53..0be9bdba57e42f 100644 --- a/Mathlib/Data/Finsupp/Option.lean +++ b/Mathlib/Data/Finsupp/Option.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Finsupp.Basic -import Mathlib.Algebra.Module.Defs +module + +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Algebra.Module.Defs /-! # Declarations about finitely supported functions whose support is an `Option` type p @@ -20,6 +22,8 @@ This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finsupp/Order.lean b/Mathlib/Data/Finsupp/Order.lean index b4a8bf7aeae100..b79ec47a9769b7 100644 --- a/Mathlib/Data/Finsupp/Order.lean +++ b/Mathlib/Data/Finsupp/Order.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Aaron Anderson -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Algebra.Order.Pi -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.SMulWithZero -import Mathlib.Order.Preorder.Finsupp +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.SMulWithZero +public import Mathlib.Order.Preorder.Finsupp /-! # Pointwise order on finitely supported functions @@ -22,6 +24,8 @@ This file lifts order structures on `α` to `ι →₀ α`. functions. -/ +@[expose] public section + noncomputable section open Finset diff --git a/Mathlib/Data/Finsupp/PWO.lean b/Mathlib/Data/Finsupp/PWO.lean index f72253cb861c98..9114a2bde51c31 100644 --- a/Mathlib/Data/Finsupp/PWO.lean +++ b/Mathlib/Data/Finsupp/PWO.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Order.Preorder.Finsupp -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Order.Preorder.Finsupp +public import Mathlib.Order.WellFoundedSet /-! # Partial well ordering on finsupps @@ -23,6 +25,8 @@ It is in a separate file for now so as to not add imports to the file `Order.Wel Dickson, order, partial well order -/ +@[expose] public section + /-- A version of **Dickson's lemma** any subset of functions `σ →₀ α` is partially well ordered, when `σ` is `Finite` and `α` is a linear well order. diff --git a/Mathlib/Data/Finsupp/Pointwise.lean b/Mathlib/Data/Finsupp/Pointwise.lean index 6d9616eb9de1ab..b442d98d293def 100644 --- a/Mathlib/Data/Finsupp/Pointwise.lean +++ b/Mathlib/Data/Finsupp/Pointwise.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Ring.Pi +module + +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Ring.Pi /-! # The pointwise product on `Finsupp`. @@ -17,6 +19,8 @@ see the type synonyms `AddMonoidAlgebra` and `MonoidAlgebra`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finsupp/SMul.lean b/Mathlib/Data/Finsupp/SMul.lean index dffada9376f8c5..3ef4505a33be25 100644 --- a/Mathlib/Data/Finsupp/SMul.lean +++ b/Mathlib/Data/Finsupp/SMul.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Regular.SMul -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.SMulWithZero -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Regular.SMul +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.SMulWithZero +public import Mathlib.GroupTheory.GroupAction.Hom /-! # Declarations about scalar multiplication on `Finsupp` @@ -19,6 +21,8 @@ This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Data/Finsupp/SMulWithZero.lean b/Mathlib/Data/Finsupp/SMulWithZero.lean index 797858fe0fc278..b1619d035f6634 100644 --- a/Mathlib/Data/Finsupp/SMulWithZero.lean +++ b/Mathlib/Data/Finsupp/SMulWithZero.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.GroupWithZero.Action.Defs +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.GroupWithZero.Action.Defs /-! # Scalar multiplication on `Finsupp` @@ -27,6 +29,8 @@ reasonably light. This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + assert_not_exists Module noncomputable section diff --git a/Mathlib/Data/Finsupp/Single.lean b/Mathlib/Data/Finsupp/Single.lean index 4b9b0c3098fe86..ccd3671b55ec27 100644 --- a/Mathlib/Data/Finsupp/Single.lean +++ b/Mathlib/Data/Finsupp/Single.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Data.Finsupp.Defs +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Data.Finsupp.Defs /-! # Finitely supported functions on exactly one point @@ -23,6 +25,8 @@ using one point of the domain. This file is a `noncomputable theory` and uses classical logic throughout. -/ +@[expose] public section + assert_not_exists CompleteLattice noncomputable section diff --git a/Mathlib/Data/Finsupp/ToDFinsupp.lean b/Mathlib/Data/Finsupp/ToDFinsupp.lean index 7a3adefd2e9be2..9241f486d17237 100644 --- a/Mathlib/Data/Finsupp/ToDFinsupp.lean +++ b/Mathlib/Data/Finsupp/ToDFinsupp.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Data.DFinsupp.Module -import Mathlib.Data.Finsupp.SMul +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Data.DFinsupp.Module +public import Mathlib.Data.Finsupp.SMul /-! # Conversion between `Finsupp` and homogeneous `DFinsupp` @@ -57,6 +59,8 @@ We provide `DFinsupp.toFinsupp` and `finsuppEquivDFinsupp` computably by adding these arguments are also present on the `noncomputable` equivs. -/ +@[expose] public section + variable {ι : Type*} {R : Type*} {M : Type*} diff --git a/Mathlib/Data/Finsupp/Weight.lean b/Mathlib/Data/Finsupp/Weight.lean index e8987b0645252b..173e86dc9aa720 100644 --- a/Mathlib/Data/Finsupp/Weight.lean +++ b/Mathlib/Data/Finsupp/Weight.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Data.Finsupp.Antidiagonal -import Mathlib.Data.Finsupp.Order -import Mathlib.LinearAlgebra.Finsupp.LinearCombination +module + +public import Mathlib.Data.Finsupp.Antidiagonal +public import Mathlib.Data.Finsupp.Order +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination /-! # weights of Finsupp functions @@ -62,6 +64,8 @@ as well as a function `w : σ → M`. (The important case is `R = ℕ`.) -/ +@[expose] public section + variable {σ M R : Type*} [Semiring R] (w : σ → M) namespace Finsupp diff --git a/Mathlib/Data/Finsupp/WellFounded.lean b/Mathlib/Data/Finsupp/WellFounded.lean index 873fc62b4eb204..1b27fad367a46e 100644 --- a/Mathlib/Data/Finsupp/WellFounded.lean +++ b/Mathlib/Data/Finsupp/WellFounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Data.DFinsupp.WellFounded -import Mathlib.Data.Finsupp.Lex +module + +public import Mathlib.Data.DFinsupp.WellFounded +public import Mathlib.Data.Finsupp.Lex /-! # Well-foundedness of the lexicographic and product orders on `Finsupp` @@ -22,6 +24,8 @@ order `(· < ·)`, but without the ordering conditions on `α`. All results are transferred from `DFinsupp` via `Finsupp.toDFinsupp`. -/ +@[expose] public section + variable {α N : Type*} diff --git a/Mathlib/Data/Fintype/Basic.lean b/Mathlib/Data/Fintype/Basic.lean index e6297b13482bb5..947236b4792127 100644 --- a/Mathlib/Data/Fintype/Basic.lean +++ b/Mathlib/Data/Fintype/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finite.Defs -import Mathlib.Data.Finset.BooleanAlgebra -import Mathlib.Data.Finset.Image -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.Fintype.OfMap -import Mathlib.Data.Fintype.Sets -import Mathlib.Data.List.FinRange +module + +public import Mathlib.Data.Finite.Defs +public import Mathlib.Data.Finset.BooleanAlgebra +public import Mathlib.Data.Finset.Image +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.Fintype.OfMap +public import Mathlib.Data.Fintype.Sets +public import Mathlib.Data.List.FinRange /-! # Instances for finite types @@ -17,6 +19,8 @@ import Mathlib.Data.List.FinRange This file is a collection of basic `Fintype` instances for types such as `Fin`, `Prod` and pi types. -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Data/Fintype/BigOperators.lean b/Mathlib/Data/Fintype/BigOperators.lean index 70050e034b3db2..fab5a35acd8bd3 100644 --- a/Mathlib/Data/Fintype/BigOperators.lean +++ b/Mathlib/Data/Fintype/BigOperators.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise -import Mathlib.Algebra.BigOperators.Group.Finset.Sigma -import Mathlib.Algebra.BigOperators.Option -import Mathlib.Data.Fintype.Option -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Sigma -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Fintype.Vector +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Piecewise +public import Mathlib.Algebra.BigOperators.Group.Finset.Sigma +public import Mathlib.Algebra.BigOperators.Option +public import Mathlib.Data.Fintype.Option +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Sigma +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Fintype.Vector /-! Results about "big operations" over a `Fintype`, and consequent @@ -25,6 +27,8 @@ However many of the results here really belong in `Algebra.BigOperators.Group.Fi and should be moved at some point. -/ +@[expose] public section + assert_not_exists MulAction open Mathlib diff --git a/Mathlib/Data/Fintype/Card.lean b/Mathlib/Data/Fintype/Card.lean index 24cfcc2b7081a3..f8ce1d1d354c43 100644 --- a/Mathlib/Data/Fintype/Card.lean +++ b/Mathlib/Data/Fintype/Card.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Card -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Data.Finset.Card +public import Mathlib.Data.Fintype.Basic /-! # Cardinalities of finite types @@ -20,6 +22,8 @@ We also include some elementary results on the values of `Fintype.card` on speci -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Data/Fintype/CardEmbedding.lean b/Mathlib/Data/Fintype/CardEmbedding.lean index 59eaaa17ce8e80..ae538494344780 100644 --- a/Mathlib/Data/Fintype/CardEmbedding.lean +++ b/Mathlib/Data/Fintype/CardEmbedding.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Set.Finite.Range -import Mathlib.Logic.Equiv.Embedding +module + +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Logic.Equiv.Embedding /-! # Number of embeddings @@ -14,6 +16,8 @@ import Mathlib.Logic.Equiv.Embedding This file establishes the cardinality of `α ↪ β` in full generality. -/ +@[expose] public section + local notation "|" x "|" => Finset.card x diff --git a/Mathlib/Data/Fintype/Defs.lean b/Mathlib/Data/Fintype/Defs.lean index 53df1ab71cfb44..0b810508bfcf92 100644 --- a/Mathlib/Data/Fintype/Defs.lean +++ b/Mathlib/Data/Fintype/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Filter -import Mathlib.Data.Finite.Defs +module + +public import Mathlib.Data.Finset.Filter +public import Mathlib.Data.Finite.Defs /-! # Finite types @@ -35,6 +37,8 @@ These files also contain appropriate `Infinite` instances for these types. `Infinite` instances for `ℕ`, `ℤ`, `Multiset α`, and `List α` are in `Data.Fintype.Lattice`. -/ +@[expose] public section + assert_not_exists Monoid open Function @@ -135,7 +139,7 @@ See also form `{x ≤ a | p x}`, `{x ≥ a | p x}`, `{x < a | p x}`, `{x > a | p x}`. -/ @[term_elab setBuilder] -def elabFinsetBuilderSetOf : TermElab +meta def elabFinsetBuilderSetOf : TermElab | `({ $x:ident | $p }), expectedType? => do -- If the expected type is not known to be `Finset ?α`, give up. unless ← knownToBeFinsetNotSet expectedType? do throwUnsupportedSyntax @@ -164,7 +168,7 @@ def elabFinsetBuilderSetOf : TermElab /-- Delaborator for `Finset.filter`. The `pp.funBinderTypes` option controls whether to show the domain type when the filter is over `Finset.univ`. -/ -@[app_delab Finset.filter] def delabFinsetFilter : Delab := +@[app_delab Finset.filter] meta def delabFinsetFilter : Delab := whenPPOption getPPNotation do let #[_, p, _, t] := (← getExpr).getAppArgs | failure guard p.isLambda diff --git a/Mathlib/Data/Fintype/EquivFin.lean b/Mathlib/Data/Fintype/EquivFin.lean index 0b500427ac67d3..6ed8766ed62e45 100644 --- a/Mathlib/Data/Fintype/EquivFin.lean +++ b/Mathlib/Data/Fintype/EquivFin.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Data.List.NodupEquivFin +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Data.List.NodupEquivFin /-! # Equivalences between `Fintype`, `Fin` and `Finite` @@ -33,6 +35,8 @@ We provide `Infinite` instances for -/ +@[expose] public section + assert_not_exists Monoid open Function @@ -527,7 +531,7 @@ private theorem natEmbeddingAux_injective (α : Type*) [Infinite α] : rw [h, natEmbeddingAux] /-- Embedding of `ℕ` into an infinite type. -/ -noncomputable def natEmbedding (α : Type*) [Infinite α] : ℕ ↪ α := +@[no_expose] noncomputable def natEmbedding (α : Type*) [Infinite α] : ℕ ↪ α := ⟨_, natEmbeddingAux_injective α⟩ /-- See `Infinite.exists_superset_card_eq` for a version that, for an `s : Finset α`, diff --git a/Mathlib/Data/Fintype/Fin.lean b/Mathlib/Data/Fintype/Fin.lean index 3b634fc7fbbc5c..6fd8d3897bbc9c 100644 --- a/Mathlib/Data/Fintype/Fin.lean +++ b/Mathlib/Data/Fintype/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Order.Interval.Finset.Fin -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Order.Interval.Finset.Fin +public import Mathlib.Data.Vector.Basic /-! # The structure of `Fintype (Fin n)` @@ -13,6 +15,8 @@ This file contains some basic results about the `Fintype` instance for `Fin`, especially properties of `Finset.univ : Finset (Fin n)`. -/ +@[expose] public section + open List (Vector) open Finset diff --git a/Mathlib/Data/Fintype/Inv.lean b/Mathlib/Data/Fintype/Inv.lean index ab480b86cb1cb7..721acc048bcf87 100644 --- a/Mathlib/Data/Fintype/Inv.lean +++ b/Mathlib/Data/Fintype/Inv.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Basic -import Mathlib.Data.Fintype.Defs +module + +public import Mathlib.Data.Finset.Basic +public import Mathlib.Data.Fintype.Defs /-! # Computable inverses for injective/surjective functions on finite types @@ -16,6 +18,8 @@ import Mathlib.Data.Fintype.Defs * `Fintype.choose`: computably obtain a witness for `ExistsUnique`. -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Data/Fintype/Lattice.lean b/Mathlib/Data/Fintype/Lattice.lean index ec44e8f7b3c4b9..048e9497874bb3 100644 --- a/Mathlib/Data/Fintype/Lattice.lean +++ b/Mathlib/Data/Fintype/Lattice.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Max -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Fintype.Basic /-! # Lemmas relating fintypes and order/lattice structure. -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Fintype/List.lean b/Mathlib/Data/Fintype/List.lean index e54833f2cc91c2..a59450ca0f556b 100644 --- a/Mathlib/Data/Fintype/List.lean +++ b/Mathlib/Data/Fintype/List.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.List.Permutation +module + +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.List.Permutation /-! @@ -21,6 +23,8 @@ This function is applied to the `Finset.powerset` of `Finset.univ`. -/ +@[expose] public section + variable {α : Type*} open List diff --git a/Mathlib/Data/Fintype/OfMap.lean b/Mathlib/Data/Fintype/OfMap.lean index aa8c7bde44ce42..dd881d1a1a910e 100644 --- a/Mathlib/Data/Fintype/OfMap.lean +++ b/Mathlib/Data/Fintype/OfMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.Finset.Image +module + +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.Finset.Image /-! # Constructors for `Fintype` @@ -18,6 +20,8 @@ given maps from/to finite types. a type is finite if there is a bi/in/surjection from/to a finite type. -/ +@[expose] public section + assert_not_exists Monoid open Function diff --git a/Mathlib/Data/Fintype/Option.lean b/Mathlib/Data/Fintype/Option.lean index 86a2efd8a501a9..7c357825d65c5f 100644 --- a/Mathlib/Data/Fintype/Option.lean +++ b/Mathlib/Data/Fintype/Option.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Finset.Option +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Finset.Option /-! # fintype instances for option -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction open Function diff --git a/Mathlib/Data/Fintype/Order.lean b/Mathlib/Data/Fintype/Order.lean index 1b84c13b8db4d7..7069955fc3990d 100644 --- a/Mathlib/Data/Fintype/Order.lean +++ b/Mathlib/Data/Fintype/Order.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson, Yaël Dillies -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Finset.Order -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Finite.Range -import Mathlib.Order.Atoms +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Finset.Order +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Order.Atoms /-! # Order structures on finite types @@ -44,6 +46,8 @@ We provide a few instances for concrete types: * `Bool.completeBooleanAlgebra` -/ +@[expose] public section + open Finset diff --git a/Mathlib/Data/Fintype/Parity.lean b/Mathlib/Data/Fintype/Parity.lean index 33677801f51cac..4f1690c3b00135 100644 --- a/Mathlib/Data/Fintype/Parity.lean +++ b/Mathlib/Data/Fintype/Parity.lean @@ -3,13 +3,18 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Algebra.Group.Even +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Algebra.Group.Even +import all Init.Data.Fin.Fold -- for exposing `Fin.foldr` /-! # The cardinality of `Fin 2` is even. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Data/Fintype/Perm.lean b/Mathlib/Data/Fintype/Perm.lean index fdcd03379ea327..23b175aa35a997 100644 --- a/Mathlib/Data/Fintype/Perm.lean +++ b/Mathlib/Data/Fintype/Perm.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Group.List.Defs -import Mathlib.Algebra.Group.End -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Nat.Factorial.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.List.Defs +public import Mathlib.Algebra.Group.End +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Nat.Factorial.Basic /-! # `Fintype` instances for `Equiv` and `Perm` @@ -17,6 +19,8 @@ Main declarations: -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function diff --git a/Mathlib/Data/Fintype/Pi.lean b/Mathlib/Data/Fintype/Pi.lean index 9977d5752cf54d..b8655534594c37 100644 --- a/Mathlib/Data/Fintype/Pi.lean +++ b/Mathlib/Data/Fintype/Pi.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Pi -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Data.Finset.Pi +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Set.Finite.Basic /-! # Fintype instances for pi types -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Finset Function diff --git a/Mathlib/Data/Fintype/Pigeonhole.lean b/Mathlib/Data/Fintype/Pigeonhole.lean index b5475ec98a5806..1354ed9c5ede85 100644 --- a/Mathlib/Data/Fintype/Pigeonhole.lean +++ b/Mathlib/Data/Fintype/Pigeonhole.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Union -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Data.Finset.Union +public import Mathlib.Data.Fintype.EquivFin /-! # Pigeonhole principles in finite types @@ -22,6 +24,8 @@ We provide the following versions of the pigeonholes principle. Some more pigeonhole-like statements can be found in `Data.Fintype.CardEmbedding`. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction open Function diff --git a/Mathlib/Data/Fintype/Powerset.lean b/Mathlib/Data/Fintype/Powerset.lean index e940536869703e..257936312640d8 100644 --- a/Mathlib/Data/Fintype/Powerset.lean +++ b/Mathlib/Data/Fintype/Powerset.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Fintype.EquivFin /-! # fintype instance for `Set α`, when `α` is a fintype -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Data/Fintype/Prod.lean b/Mathlib/Data/Fintype/Prod.lean index 701e9f50cb2a14..d8661ef04700b6 100644 --- a/Mathlib/Data/Fintype/Prod.lean +++ b/Mathlib/Data/Fintype/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Fintype.EquivFin /-! # fintype instance for the product of two fintypes. -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Fintype/Quotient.lean b/Mathlib/Data/Fintype/Quotient.lean index d6c80619ecf752..e38dd4404b4fe4 100644 --- a/Mathlib/Data/Fintype/Quotient.lean +++ b/Mathlib/Data/Fintype/Quotient.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yuyang Zhao -/ -import Mathlib.Data.List.Pi -import Mathlib.Data.Fintype.Defs +module + +public import Mathlib.Data.List.Pi +public import Mathlib.Data.Fintype.Defs /-! # Quotients of families indexed by a finite type @@ -25,6 +27,8 @@ by a finite type. -/ +@[expose] public section + namespace Quotient diff --git a/Mathlib/Data/Fintype/Sets.lean b/Mathlib/Data/Fintype/Sets.lean index 090211e6ac6462..927d9ba2c0f385 100644 --- a/Mathlib/Data/Fintype/Sets.lean +++ b/Mathlib/Data/Fintype/Sets.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.BooleanAlgebra -import Mathlib.Data.Finset.SymmDiff -import Mathlib.Data.Fintype.OfMap +module + +public import Mathlib.Data.Finset.BooleanAlgebra +public import Mathlib.Data.Finset.SymmDiff +public import Mathlib.Data.Fintype.OfMap /-! # Subsets of finite types @@ -19,6 +21,8 @@ In a `Fintype`, all `Set`s are automatically `Finset`s, and there are only finit * `Fintype.finsetEquivSet`: `Finset α` and `Set α` are equivalent if `α` is a `Fintype` -/ +@[expose] public section + assert_not_exists Monoid open Function @@ -318,6 +322,6 @@ elab (name := finsetStx) "finset% " t:term : term => do open Lean.Elab.Term.Quotation in /-- `quot_precheck` for the `finset%` syntax. -/ -@[quot_precheck finsetStx] def precheckFinsetStx : Precheck +@[quot_precheck finsetStx] meta def precheckFinsetStx : Precheck | `(finset% $t) => precheck t | _ => Elab.throwUnsupportedSyntax diff --git a/Mathlib/Data/Fintype/Shrink.lean b/Mathlib/Data/Fintype/Shrink.lean index a9f27e0cece22c..5e22bb59bf4c1d 100644 --- a/Mathlib/Data/Fintype/Shrink.lean +++ b/Mathlib/Data/Fintype/Shrink.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Countable.Small -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Data.Countable.Small +public import Mathlib.Data.Fintype.EquivFin /-! # Fintype instance for `Shrink` -/ +@[expose] public section + universe u v variable {α : Type u} [Fintype α] diff --git a/Mathlib/Data/Fintype/Sigma.lean b/Mathlib/Data/Fintype/Sigma.lean index 7a2c326361620e..03861bcdd9a78b 100644 --- a/Mathlib/Data/Fintype/Sigma.lean +++ b/Mathlib/Data/Fintype/Sigma.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Fintype.OfMap +module + +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Fintype.OfMap /-! # fintype instances for sigma types -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Fintype/Sort.lean b/Mathlib/Data/Fintype/Sort.lean index 060770f42c850e..4441e339a8d2cf 100644 --- a/Mathlib/Data/Fintype/Sort.lean +++ b/Mathlib/Data/Fintype/Sort.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Sort -import Mathlib.Data.Fintype.Basic +module + +public import Mathlib.Data.Finset.Sort +public import Mathlib.Data.Fintype.Basic /-! # Sorting a finite type @@ -15,6 +17,8 @@ This file provides two equivalences for linearly ordered fintypes: respectively the cardinalities of some `Finset α` and its complement. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Data/Fintype/Sum.lean b/Mathlib/Data/Fintype/Sum.lean index bb3ed71f363f75..a053a4fadb1efa 100644 --- a/Mathlib/Data/Fintype/Sum.lean +++ b/Mathlib/Data/Fintype/Sum.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Sum -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Logic.Embedding.Set +module + +public import Mathlib.Data.Finset.Sum +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Logic.Embedding.Set /-! ## Instances @@ -13,6 +15,8 @@ import Mathlib.Logic.Embedding.Set We provide the `Fintype` instance for the sum of two fintypes. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/Fintype/Units.lean b/Mathlib/Data/Fintype/Units.lean index 3d7b637da0a041..769f87960b5eed 100644 --- a/Mathlib/Data/Fintype/Units.lean +++ b/Mathlib/Data/Fintype/Units.lean @@ -3,16 +3,20 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Sum -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.Algebra.GroupWithZero.Units.Equiv +module + +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Sum +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Algebra.GroupWithZero.Units.Equiv /-! # fintype instances relating to units -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/Data/Fintype/Vector.lean b/Mathlib/Data/Fintype/Vector.lean index 02d32ff27967cd..6d88a7b1132075 100644 --- a/Mathlib/Data/Fintype/Vector.lean +++ b/Mathlib/Data/Fintype/Vector.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.Pi -import Mathlib.Data.Sym.Basic +module + +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Data.Sym.Basic /-! # `Vector α n` and `Sym α n` are fintypes when `α` is. -/ +@[expose] public section + open List (Vector) variable {α : Type*} diff --git a/Mathlib/Data/Fintype/WithTopBot.lean b/Mathlib/Data/Fintype/WithTopBot.lean index df4099e382ac4d..d0cb9d1ec14064 100644 --- a/Mathlib/Data/Fintype/WithTopBot.lean +++ b/Mathlib/Data/Fintype/WithTopBot.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Fintype.Option -import Mathlib.Order.TypeTags +module + +public import Mathlib.Data.Fintype.Option +public import Mathlib.Order.TypeTags /-! # Fintype instances for `WithTop α` and `WithBot α` -/ +@[expose] public section + variable {α : Type*} instance [Fintype α] : Fintype (WithTop α) := diff --git a/Mathlib/Data/FunLike/Basic.lean b/Mathlib/Data/FunLike/Basic.lean index 429105a297ae4f..aee8fdb9ea9670 100644 --- a/Mathlib/Data/FunLike/Basic.lean +++ b/Mathlib/Data/FunLike/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Logic.Function.Basic -import Mathlib.Logic.Unique -import Mathlib.Util.CompileInductive -import Mathlib.Tactic.Simps.NotationClass +module + +public import Mathlib.Logic.Function.Basic +public import Mathlib.Logic.Unique +public import Mathlib.Util.CompileInductive +public import Mathlib.Tactic.Simps.NotationClass /-! # Typeclass for a type `F` with an injective map to `A → B` @@ -127,6 +129,8 @@ does **not** have a `FunLike` instance by checking the discrimination tree once the entire `extends` hierarchy. -/ +@[expose] public section + /-- The class `DFunLike F α β` expresses that terms of type `F` have an injective coercion to (dependent) functions from `α` to `β`. diff --git a/Mathlib/Data/FunLike/Embedding.lean b/Mathlib/Data/FunLike/Embedding.lean index a8551af72e0792..7256d6501d95b6 100644 --- a/Mathlib/Data/FunLike/Embedding.lean +++ b/Mathlib/Data/FunLike/Embedding.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.FunLike.Basic +module + +public import Mathlib.Data.FunLike.Basic /-! # Typeclass for a type `F` with an injective map to `A ↪ B` @@ -124,6 +126,8 @@ and defining `CoolerEmbeddingClass` only takes a constant amount of effort, instead of linearly increasing the work per `MyEmbedding`-related declaration. -/ +@[expose] public section + /-- The class `EmbeddingLike F α β` expresses that terms of type `F` have an injective coercion to injective functions `α ↪ β`. diff --git a/Mathlib/Data/FunLike/Equiv.lean b/Mathlib/Data/FunLike/Equiv.lean index 9af544a9b287da..1b22aef78aee5f 100644 --- a/Mathlib/Data/FunLike/Equiv.lean +++ b/Mathlib/Data/FunLike/Equiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.FunLike.Embedding +module + +public import Mathlib.Data.FunLike.Embedding /-! # Typeclass for a type `F` with an injective map to `A ≃ B` @@ -123,6 +125,8 @@ instead of linearly increasing the work per `MyIso`-related declaration. -/ +@[expose] public section + /-- The class `EquivLike E α β` expresses that terms of type `E` have an injective coercion to bijections between `α` and `β`. diff --git a/Mathlib/Data/FunLike/Fintype.lean b/Mathlib/Data/FunLike/Fintype.lean index 679865a0f04b90..72e51ea818a297 100644 --- a/Mathlib/Data/FunLike/Fintype.lean +++ b/Mathlib/Data/FunLike/Fintype.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.FunLike.Basic -import Mathlib.Data.Finite.Prod +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Data.Finite.Prod /-! # Finiteness of `DFunLike` types @@ -26,6 +28,8 @@ You can use these to produce instances for specific `DFunLike` types. They can't be instances themselves since they can cause loops. -/ +@[expose] public section + -- `Type` is a reserved word, switched to `Type'` section Type' diff --git a/Mathlib/Data/Holor.lean b/Mathlib/Data/Holor.lean index 921bbc1d3bfdb4..637db90f0045ee 100644 --- a/Mathlib/Data/Holor.lean +++ b/Mathlib/Data/Holor.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Data.Nat.Find -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Nat.Find +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Basic properties of holors @@ -31,6 +33,8 @@ Based on the tensor library found in -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/Ineq.lean b/Mathlib/Data/Ineq.lean index e74f585ee33e61..8e735f5b2ffde1 100644 --- a/Mathlib/Data/Ineq.lean +++ b/Mathlib/Data/Ineq.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Lean.Expr.Basic +module + +public import Mathlib.Lean.Expr.Basic /-! # `Ineq` datatype @@ -13,6 +15,8 @@ involving it. The type `Ineq` is one of the fundamental objects manipulated by t `linear_combination` tactics. -/ +@[expose] public section + open Lean Meta namespace Mathlib diff --git a/Mathlib/Data/Int/AbsoluteValue.lean b/Mathlib/Data/Int/AbsoluteValue.lean index 35c8464256d8bd..5385011d46a969 100644 --- a/Mathlib/Data/Int/AbsoluteValue.lean +++ b/Mathlib/Data/Int/AbsoluteValue.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Order.AbsoluteValue.Basic +module + +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Order.AbsoluteValue.Basic /-! # Absolute values and the integers @@ -16,6 +18,8 @@ This file contains some results on absolute values applied to integers. * `AbsoluteValue.map_units_int`: an absolute value sends all units of `ℤ` to `1` -/ +@[expose] public section + variable {R S : Type*} [Ring R] [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] @[simp] diff --git a/Mathlib/Data/Int/Associated.lean b/Mathlib/Data/Int/Associated.lean index ab2905c2338d71..f2c5c8d1273f52 100644 --- a/Mathlib/Data/Int/Associated.lean +++ b/Mathlib/Data/Int/Associated.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Ring.Int.Units +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Ring.Int.Units /-! # Associated elements and the integers @@ -15,6 +17,8 @@ This file contains some results on equality up to units in the integers. * `Int.natAbs_eq_iff_associated`: the absolute value is equal iff integers are associated -/ +@[expose] public section + theorem Int.natAbs_eq_iff_associated {a b : ℤ} : a.natAbs = b.natAbs ↔ Associated a b := by refine Int.natAbs_eq_natAbs_iff.trans ?_ diff --git a/Mathlib/Data/Int/Basic.lean b/Mathlib/Data/Int/Basic.lean index f67834dea761d2..1827a3b22f12ae 100644 --- a/Mathlib/Data/Int/Basic.lean +++ b/Mathlib/Data/Int/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.Int.Init -import Mathlib.Data.Nat.Basic -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Lift -import Mathlib.Tactic.OfNat +module + +public import Mathlib.Data.Int.Init +public import Mathlib.Data.Nat.Basic +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.OfNat /-! # Basic operations on the integers @@ -17,6 +19,8 @@ This file builds on `Data.Int.Init` by adding basic lemmas on integers. depending on Mathlib definitions. -/ +@[expose] public section + open Nat namespace Int diff --git a/Mathlib/Data/Int/Bitwise.lean b/Mathlib/Data/Int/Bitwise.lean index ec0512a469bc8b..f79fb55b17b681 100644 --- a/Mathlib/Data/Int/Bitwise.lean +++ b/Mathlib/Data/Int/Bitwise.lean @@ -3,10 +3,14 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Bitwise -import Mathlib.Data.Nat.Size -import Batteries.Data.Int +module + +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.Bitwise +public import Mathlib.Data.Nat.Size +public import Batteries.Data.Int +import all Init.Data.Nat.Bitwise.Basic -- for unfolding `Nat.bitwise` +import all Init.Data.Int.Bitwise.Basic -- for unfolding `Int.bitwise` /-! # Bitwise operations on integers @@ -18,6 +22,8 @@ Possibly only of archaeological significance. even and for odd values. -/ +@[expose] public section + namespace Int /-- `div2 n = n/2` -/ diff --git a/Mathlib/Data/Int/CardIntervalMod.lean b/Mathlib/Data/Int/CardIntervalMod.lean index a226571335c8e8..f8d86922f40479 100644 --- a/Mathlib/Data/Int/CardIntervalMod.lean +++ b/Mathlib/Data/Int/CardIntervalMod.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Data.Int.Interval -import Mathlib.Data.Int.ModEq -import Mathlib.Data.Nat.Count -import Mathlib.Data.Rat.Floor -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Data.Int.Interval +public import Mathlib.Data.Int.ModEq +public import Mathlib.Data.Nat.Count +public import Mathlib.Data.Rat.Floor +public import Mathlib.Order.Interval.Finset.Nat /-! # Counting elements in an interval with given residue @@ -17,6 +19,8 @@ The theorems in this file generalise `Nat.card_multiples` in zero, which reduces to the multiples). Theorems are given for `Ico` and `Ioc` intervals. -/ +@[expose] public section + open Finset Int diff --git a/Mathlib/Data/Int/Cast/Basic.lean b/Mathlib/Data/Int/Cast/Basic.lean index ba337f77c47009..ce4ff3f9661462 100644 --- a/Mathlib/Data/Int/Cast/Basic.lean +++ b/Mathlib/Data/Int/Cast/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Gabriel Ebner -/ -import Mathlib.Data.Int.Cast.Defs -import Mathlib.Algebra.Group.Basic -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Data.Int.Cast.Defs +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Data.Nat.Basic /-! # Cast of integers (additional theorems) @@ -21,6 +23,8 @@ By contrast, this file's only import beyond `Mathlib.Data.Int.Cast.Defs` is `Mathlib.Algebra.Group.Basic`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/Int/Cast/Defs.lean b/Mathlib/Data/Int/Cast/Defs.lean index 76c80036ddf1e5..884f545d931da8 100644 --- a/Mathlib/Data/Int/Cast/Defs.lean +++ b/Mathlib/Data/Int/Cast/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Gabriel Ebner -/ -import Mathlib.Data.Nat.Cast.Defs +module + +public import Mathlib.Data.Nat.Cast.Defs /-! # Cast of integers @@ -21,6 +23,8 @@ Preferentially, the homomorphism is written as a coercion. * `AddGroupWithOne`: Type class for `Int.cast`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/Int/Cast/Field.lean b/Mathlib/Data/Int/Cast/Field.lean index 5ec97dd55362ee..b0145608b93c70 100644 --- a/Mathlib/Data/Int/Cast/Field.lean +++ b/Mathlib/Data/Int/Cast/Field.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Ring.Int.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Ring.Int.Defs /-! # Cast of integers into fields @@ -16,6 +18,8 @@ This file concerns the canonical homomorphism `ℤ → F`, where `F` is a field. * `Int.cast_div`: if `n` divides `m`, then `↑(m / n) = ↑m / ↑n` -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Data/Int/Cast/Lemmas.lean b/Mathlib/Data/Int/Cast/Lemmas.lean index 2d346ccd4af786..0ae2838de1574b 100644 --- a/Mathlib/Data/Int/Cast/Lemmas.lean +++ b/Mathlib/Data/Int/Cast/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.TypeTags.Hom -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Ring.Parity +module + +public import Mathlib.Algebra.Group.TypeTags.Hom +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Ring.Parity /-! # Cast of integers (additional theorems) @@ -21,6 +23,8 @@ which were not available in the import dependencies of `Data.Int.Cast.Basic`. * `castRingHom`: `cast` bundled as a `RingHom`. -/ +@[expose] public section + assert_not_exists RelIso OrderedCommMonoid Field open Additive Function Multiplicative Nat diff --git a/Mathlib/Data/Int/Cast/Pi.lean b/Mathlib/Data/Int/Cast/Pi.lean index 8f69b314308669..081b72e12ec4e5 100644 --- a/Mathlib/Data/Int/Cast/Pi.lean +++ b/Mathlib/Data/Int/Cast/Pi.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Tactic.Alias -import Mathlib.Data.Int.Notation -import Mathlib.Tactic.TypeStar -import Mathlib.Util.AssertExists -import Mathlib.Tactic.Push.Attr +module + +public import Batteries.Tactic.Alias +public import Mathlib.Data.Int.Notation +public import Mathlib.Tactic.TypeStar +public import Mathlib.Util.AssertExists +public import Mathlib.Tactic.Push.Attr /-! # Cast of integers to function types @@ -19,6 +21,8 @@ This file provides a (pointwise) cast from `ℤ` to function types. * `Pi.instIntCast`: map `n : ℤ` to the constant function `n : ∀ i, π i` -/ +@[expose] public section + assert_not_exists OrderedCommMonoid RingHom namespace Pi diff --git a/Mathlib/Data/Int/Cast/Prod.lean b/Mathlib/Data/Int/Cast/Prod.lean index cd7c553332f9d6..a3473f657d8617 100644 --- a/Mathlib/Data/Int/Cast/Prod.lean +++ b/Mathlib/Data/Int/Cast/Prod.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Data.Nat.Cast.Prod +module + +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Data.Nat.Cast.Prod /-! # The product of two `AddGroupWithOne`s. -/ +@[expose] public section + namespace Prod diff --git a/Mathlib/Data/Int/CharZero.lean b/Mathlib/Data/Int/CharZero.lean index 03a24069e73ed3..6baa600ba2c7ab 100644 --- a/Mathlib/Data/Int/CharZero.lean +++ b/Mathlib/Data/Int/CharZero.lean @@ -3,16 +3,20 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Data.Int.Cast.Field -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.Int.Cast.Pi +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Data.Int.Cast.Field +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.Int.Cast.Pi /-! # Injectivity of `Int.Cast` into characteristic zero rings and fields. -/ +@[expose] public section + open Nat Set variable {α β : Type*} diff --git a/Mathlib/Data/Int/ConditionallyCompleteOrder.lean b/Mathlib/Data/Int/ConditionallyCompleteOrder.lean index 5fc5c589969ef5..46eee950624d2e 100644 --- a/Mathlib/Data/Int/ConditionallyCompleteOrder.lean +++ b/Mathlib/Data/Int/ConditionallyCompleteOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Data.Int.LeastGreatest +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Data.Int.LeastGreatest /-! ## `ℤ` forms a conditionally complete linear order @@ -12,6 +14,8 @@ import Mathlib.Data.Int.LeastGreatest The integers form a conditionally complete linear order. -/ +@[expose] public section + open Int diff --git a/Mathlib/Data/Int/DivMod.lean b/Mathlib/Data/Int/DivMod.lean index 9ec7ebc0f32b1d..edb216d9ca2750 100644 --- a/Mathlib/Data/Int/DivMod.lean +++ b/Mathlib/Data/Int/DivMod.lean @@ -3,15 +3,18 @@ Copyright (c) 2024 Lean FRO. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ +module -import Batteries.Tactic.Alias -import Mathlib.Init +public import Batteries.Tactic.Alias +public import Mathlib.Init /-! # Basic lemmas about division and modulo for integers -/ +@[expose] public section + namespace Int /-! ### `ediv` and `fdiv` -/ diff --git a/Mathlib/Data/Int/GCD.lean b/Mathlib/Data/Int/GCD.lean index 68116d97c9bdf3..31fdb8f4a23952 100644 --- a/Mathlib/Data/Int/GCD.lean +++ b/Mathlib/Data/Int/GCD.lean @@ -3,15 +3,17 @@ Copyright (c) 2018 Guy Leroy. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sangwoo Jo (aka Jason), Guy Leroy, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Semiconj -import Mathlib.Algebra.Group.Commute.Units -import Mathlib.Data.Set.Operations -import Mathlib.Order.Basic -import Mathlib.Order.Bounds.Defs -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Data.Int.Basic -import Mathlib.Algebra.Divisibility.Basic -import Mathlib.Algebra.Group.Nat.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Semiconj +public import Mathlib.Algebra.Group.Commute.Units +public import Mathlib.Data.Set.Operations +public import Mathlib.Order.Basic +public import Mathlib.Order.Bounds.Defs +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Data.Int.Basic +public import Mathlib.Algebra.Divisibility.Basic +public import Mathlib.Algebra.Group.Nat.Defs /-! # Extended GCD and divisibility over ℤ @@ -31,6 +33,8 @@ import Mathlib.Algebra.Group.Nat.Defs Bézout's lemma, Bezout's lemma -/ +@[expose] public section + /-! ### Extended Euclidean algorithm -/ @@ -109,7 +113,7 @@ variable (x y : ℕ) private def P : ℕ × ℤ × ℤ → Prop | (r, s, t) => (r : ℤ) = x * s + y * t -theorem xgcdAux_P {r r'} : +private theorem xgcdAux_P {r r'} : ∀ {s t s' t'}, P x y (r, s, t) → P x y (r', s', t') → P x y (xgcdAux r s t r' s' t') := by induction r, r' using gcd.induction with | H0 => simp diff --git a/Mathlib/Data/Int/Init.lean b/Mathlib/Data/Int/Init.lean index c497592307db75..3099c6baea14d5 100644 --- a/Mathlib/Data/Int/Init.lean +++ b/Mathlib/Data/Int/Init.lean @@ -3,12 +3,14 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Batteries.Logic -import Batteries.Tactic.Init -import Mathlib.Data.Int.Notation -import Mathlib.Data.Nat.Notation -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Logic +public import Batteries.Tactic.Init +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Nat.Notation +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar /-! # Basic operations on the integers @@ -21,6 +23,8 @@ This file should not depend on anything defined in Mathlib (except for notation) upstreamed to Batteries easily. -/ +@[expose] public section + open Nat namespace Int diff --git a/Mathlib/Data/Int/Interval.lean b/Mathlib/Data/Int/Interval.lean index 1ec3cf873c935d..20411072907758 100644 --- a/Mathlib/Data/Int/Interval.lean +++ b/Mathlib/Data/Int/Interval.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Order.Interval.Finset.Basic /-! # Finite intervals of integers @@ -16,6 +18,8 @@ This file proves that `ℤ` is a `LocallyFiniteOrder` and calculates the cardina intervals as finsets and fintypes. -/ +@[expose] public section + assert_not_exists Field open Finset Int diff --git a/Mathlib/Data/Int/LeastGreatest.lean b/Mathlib/Data/Int/LeastGreatest.lean index c3024d849eafdb..ce16ccb13a6770 100644 --- a/Mathlib/Data/Int/LeastGreatest.lean +++ b/Mathlib/Data/Int/LeastGreatest.lean @@ -3,10 +3,12 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Find -import Mathlib.Order.Bounds.Defs +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.Find +public import Mathlib.Order.Bounds.Defs /-! # Least upper bound and greatest lower bound properties for integers @@ -37,6 +39,8 @@ counterpart of this statement for the least element. integer numbers, least element, greatest element -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Data/Int/Lemmas.lean b/Mathlib/Data/Int/Lemmas.lean index d6f8fae285519e..27f9b1cae2983f 100644 --- a/Mathlib/Data/Int/Lemmas.lean +++ b/Mathlib/Data/Int/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.Int.Bitwise -import Mathlib.Data.Int.Order.Lemmas -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Data.Int.Bitwise +public import Mathlib.Data.Int.Order.Lemmas +public import Mathlib.Order.Interval.Set.Defs /-! # Miscellaneous lemmas about the integers @@ -15,6 +17,8 @@ This file contains lemmas about integers, which require further imports than -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/Int/Log.lean b/Mathlib/Data/Int/Log.lean index bad26e0a1394ca..d849c94b3dbc3a 100644 --- a/Mathlib/Data/Int/Log.lean +++ b/Mathlib/Data/Int/Log.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Data.Nat.Log +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Data.Nat.Log /-! # Integer logarithms in a field with respect to a natural base @@ -47,6 +49,8 @@ def digits (b : ℕ) (q : ℚ) (n : ℕ) : ℕ := * `Int.neg_log_inv_eq_clog`, `Int.neg_clog_inv_eq_log`: the link between the two definitions. -/ +@[expose] public section + assert_not_exists Finset variable {R : Type*} [Semifield R] [LinearOrder R] [IsStrictOrderedRing R] [FloorSemiring R] diff --git a/Mathlib/Data/Int/ModEq.lean b/Mathlib/Data/Int/ModEq.lean index 5488816e7c035d..9e19875baebd1a 100644 --- a/Mathlib/Data/Int/ModEq.lean +++ b/Mathlib/Data/Int/ModEq.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Nat.ModEq +module + +public import Mathlib.Data.Nat.ModEq /-! @@ -19,6 +21,8 @@ modeq, congruence, mod, MOD, modulo, integers -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Data/Int/NatAbs.lean b/Mathlib/Data/Int/NatAbs.lean index e31d44fdac1d5d..5783b8039262fc 100644 --- a/Mathlib/Data/Int/NatAbs.lean +++ b/Mathlib/Data/Int/NatAbs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Jeremy Tan -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.Nat -import Mathlib.Algebra.Ring.Int.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.Nat +public import Mathlib.Algebra.Ring.Int.Defs /-! # Lemmas about `Int.natAbs` @@ -18,6 +20,8 @@ natural number. * `Int.natAbsHom`: `Int.natAbs` bundled as a `MonoidWithZeroHom`. -/ +@[expose] public section + namespace Int /-- `Int.natAbs` as a bundled `MonoidWithZeroHom`. -/ diff --git a/Mathlib/Data/Int/NatPrime.lean b/Mathlib/Data/Int/NatPrime.lean index 1d0252c8e7dd40..cc7a8a9dbd6c3d 100644 --- a/Mathlib/Data/Int/NatPrime.lean +++ b/Mathlib/Data/Int/NatPrime.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Bryan Gin-ge Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Lacker, Bryan Gin-ge Chen -/ -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Data.Int.Basic +module + +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Data.Int.Basic /-! # Lemmas about `Nat.Prime` using `Int`s -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/Int/Notation.lean b/Mathlib/Data/Int/Notation.lean index 57ac150fcbfe1c..85d29698c08558 100644 --- a/Mathlib/Data/Int/Notation.lean +++ b/Mathlib/Data/Int/Notation.lean @@ -3,10 +3,13 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Notation `ℤ` for the integers. -/ +@[expose] public section + @[inherit_doc] notation "ℤ" => Int diff --git a/Mathlib/Data/Int/Order/Basic.lean b/Mathlib/Data/Int/Order/Basic.lean index 1272c6775af836..7dafd9817c69d2 100644 --- a/Mathlib/Data/Int/Order/Basic.lean +++ b/Mathlib/Data/Int/Order/Basic.lean @@ -3,15 +3,18 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ +module -import Mathlib.Data.Int.Notation -import Mathlib.Data.Nat.Notation -import Mathlib.Order.Defs.LinearOrder +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Nat.Notation +public import Mathlib.Order.Defs.LinearOrder /-! # The order relation on the integers -/ +@[expose] public section + open Nat namespace Int diff --git a/Mathlib/Data/Int/Order/Lemmas.lean b/Mathlib/Data/Int/Order/Lemmas.lean index 68d11542df1277..ad3399a52d8180 100644 --- a/Mathlib/Data/Int/Order/Lemmas.lean +++ b/Mathlib/Data/Int/Order/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Order.Ring.Abs +module + +public import Mathlib.Algebra.Order.Ring.Abs /-! # Further lemmas about the integers @@ -13,6 +15,8 @@ They are separated by now to minimize the porting requirements for tactics durin mathlib4. Please feel free to reorganize these two files. -/ +@[expose] public section + open Function Nat namespace Int diff --git a/Mathlib/Data/Int/Order/Units.lean b/Mathlib/Data/Int/Order/Units.lean index 034b2cb5388104..807fc272b1245a 100644 --- a/Mathlib/Data/Int/Order/Units.lean +++ b/Mathlib/Data/Int/Order/Units.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Algebra.Order.Ring.Abs +module + +public import Mathlib.Algebra.Order.Ring.Abs /-! # Lemmas about units in `ℤ`, which interact with the order structure. -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Data/Int/Range.lean b/Mathlib/Data/Int/Range.lean index a01181072cf83c..29ea2048adda54 100644 --- a/Mathlib/Data/Int/Range.lean +++ b/Mathlib/Data/Int/Range.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau -/ -import Mathlib.Algebra.Group.Int.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Basic +module + +public import Mathlib.Algebra.Group.Int.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Basic /-! # Intervals in ℤ @@ -17,6 +19,8 @@ less than `n`. This could be unified with `Data.List.Intervals`. See the TODOs there. -/ +@[expose] public section + namespace Int /-- List enumerating `[m, n)`. This is the ℤ variant of `List.Ico`. -/ diff --git a/Mathlib/Data/Int/Sqrt.lean b/Mathlib/Data/Int/Sqrt.lean index 085727bc7de506..f0651346418c8d 100644 --- a/Mathlib/Data/Int/Sqrt.lean +++ b/Mathlib/Data/Int/Sqrt.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Data.Nat.Sqrt -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Nat.Sqrt +public import Mathlib.Tactic.Common /-! # Square root of integers @@ -13,6 +15,8 @@ This file defines the square root function on integers. `Int.sqrt z` is the grea such that `r * r ≤ z`. If `z ≤ 0`, then `Int.sqrt z = 0`. -/ +@[expose] public section + namespace Int diff --git a/Mathlib/Data/Int/Star.lean b/Mathlib/Data/Int/Star.lean index b4e7290794d364..52bae5e5203d9e 100644 --- a/Mathlib/Data/Int/Star.lean +++ b/Mathlib/Data/Int/Star.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Monoid.Submonoid -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.Order.Star.Basic +module + +public import Mathlib.Algebra.Order.Group.Abs +public import Mathlib.Algebra.Order.Monoid.Submonoid +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.Order.Star.Basic /-! # Star ordered ring structure on `ℤ` @@ -15,6 +17,8 @@ import Mathlib.Algebra.Order.Star.Basic This file shows that `ℤ` is a `StarOrderedRing`. -/ +@[expose] public section + open AddSubmonoid Set namespace Int diff --git a/Mathlib/Data/Int/SuccPred.lean b/Mathlib/Data/Int/SuccPred.lean index 549d3242b60008..dec0f891fbdbe7 100644 --- a/Mathlib/Data/Int/SuccPred.lean +++ b/Mathlib/Data/Int/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Data.Nat.SuccPred +module + +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Data.Nat.SuccPred /-! # Successors and predecessors of integers @@ -12,6 +14,8 @@ import Mathlib.Data.Nat.SuccPred In this file, we show that `ℤ` is both an archimedean `SuccOrder` and an archimedean `PredOrder`. -/ +@[expose] public section + open Function Order diff --git a/Mathlib/Data/Int/WithZero.lean b/Mathlib/Data/Int/WithZero.lean index ffb4c313406add..2898225f15aebb 100644 --- a/Mathlib/Data/Int/WithZero.lean +++ b/Mathlib/Data/Int/WithZero.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Data.NNReal.Defs +module + +public import Mathlib.Data.NNReal.Defs /-! # WithZero @@ -26,6 +28,8 @@ the morphism `WithZeroMultInt.toNNReal`. WithZero, multiplicative, nnreal -/ +@[expose] public section + assert_not_exists Finset noncomputable section diff --git a/Mathlib/Data/List/AList.lean b/Mathlib/Data/List/AList.lean index 06f4774b482920..9000ca9d68fb39 100644 --- a/Mathlib/Data/List/AList.lean +++ b/Mathlib/Data/List/AList.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Sean Leather. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sean Leather, Mario Carneiro -/ -import Mathlib.Data.List.Sigma +module + +public import Mathlib.Data.List.Sigma /-! # Association Lists @@ -32,6 +34,8 @@ provides ways to access, modify, and combine `AList`s. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Data/List/Basic.lean b/Mathlib/Data/List/Basic.lean index 4ffd3e08a8dcc5..761310a79ae824 100644 --- a/Mathlib/Data/List/Basic.lean +++ b/Mathlib/Data/List/Basic.lean @@ -3,18 +3,22 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Control.Basic -import Mathlib.Data.Option.Basic -import Mathlib.Data.List.Defs -import Mathlib.Data.List.Monad -import Mathlib.Logic.OpClass -import Mathlib.Logic.Unique -import Mathlib.Tactic.Common +module + +public import Mathlib.Control.Basic +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.List.Defs +public import Mathlib.Data.List.Monad +public import Mathlib.Logic.OpClass +public import Mathlib.Logic.Unique +public import Mathlib.Tactic.Common /-! # Basic properties of lists -/ +@[expose] public section + assert_not_exists Lattice assert_not_exists Monoid assert_not_exists Preorder diff --git a/Mathlib/Data/List/Chain.lean b/Mathlib/Data/List/Chain.lean index 5e3661e9621712..fd52df8ecbaa8f 100644 --- a/Mathlib/Data/List/Chain.lean +++ b/Mathlib/Data/List/Chain.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau, Yury Kudryashov -/ -import Mathlib.Data.List.Forall2 -import Mathlib.Data.List.Induction -import Mathlib.Data.List.Lex -import Mathlib.Logic.Function.Iterate -import Mathlib.Logic.Relation +module + +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.List.Induction +public import Mathlib.Data.List.Lex +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Logic.Relation /-! # Relation chain @@ -19,6 +21,8 @@ A graph-specialized version is in development and will hopefully be added under sometime soon. -/ +@[expose] public section + assert_not_imported Mathlib.Algebra.Order.Group.Nat universe u v diff --git a/Mathlib/Data/List/ChainOfFn.lean b/Mathlib/Data/List/ChainOfFn.lean index b231fcde83f143..b007fa70c50ae4 100644 --- a/Mathlib/Data/List/ChainOfFn.lean +++ b/Mathlib/Data/List/ChainOfFn.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Data.List.Chain -import Mathlib.Data.List.OfFn +module + +public import Mathlib.Data.List.Chain +public import Mathlib.Data.List.OfFn /-! # Lemmas about `IsChain` and `ofFn` @@ -12,6 +14,8 @@ import Mathlib.Data.List.OfFn This file provides lemmas involving both `List.IsChain` and `List.ofFn`. -/ +@[expose] public section + open Nat namespace List diff --git a/Mathlib/Data/List/Count.lean b/Mathlib/Data/List/Count.lean index df2f02113e15e4..edb04a2092446b 100644 --- a/Mathlib/Data/List/Count.lean +++ b/Mathlib/Data/List/Count.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Batteries.Data.List.Perm -import Mathlib.Tactic.Common +module + +public import Batteries.Data.List.Perm +public import Mathlib.Tactic.Common /-! # Counting in lists @@ -13,6 +15,8 @@ This file proves basic properties of `List.countP` and `List.count`, which count elements of a list satisfying a predicate and equal to a given element respectively. -/ +@[expose] public section + assert_not_exists Monoid Set.range open Nat diff --git a/Mathlib/Data/List/Cycle.lean b/Mathlib/Data/List/Cycle.lean index 308bfdaf22d4d7..475183fa34bf0f 100644 --- a/Mathlib/Data/List/Cycle.lean +++ b/Mathlib/Data/List/Cycle.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.Fintype.List -import Mathlib.Data.Fintype.OfMap +module + +public import Mathlib.Data.Fintype.List +public import Mathlib.Data.Fintype.OfMap /-! # Cycles of a list @@ -21,6 +23,8 @@ is different. -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace List diff --git a/Mathlib/Data/List/Dedup.lean b/Mathlib/Data/List/Dedup.lean index eb223f805033e5..2ce1249173a1c7 100644 --- a/Mathlib/Data/List/Dedup.lean +++ b/Mathlib/Data/List/Dedup.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.Lattice -import Batteries.Data.List.Pairwise +module + +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.Lattice +public import Batteries.Data.List.Pairwise /-! # Erasure of duplicates in a list @@ -19,6 +21,8 @@ occurrence of each. duplicate, multiplicity, nodup, `nub` -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/List/Defs.lean b/Mathlib/Data/List/Defs.lean index 22e9b9a26a1457..06634a18061859 100644 --- a/Mathlib/Data/List/Defs.lean +++ b/Mathlib/Data/List/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.Nat.Notation -import Mathlib.Control.Functor -import Mathlib.Data.SProd -import Mathlib.Util.CompileInductive -import Batteries.Tactic.Lint.Basic -import Batteries.Data.List.Basic -import Batteries.Logic +module + +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.Data.List.Basic +public import Batteries.Logic /-! ## Definitions on lists @@ -18,6 +20,8 @@ This file contains various definitions on lists. It does not contain proofs about these definitions, those are contained in other files in `Data.List` -/ +@[expose] public section + namespace List open Function Nat diff --git a/Mathlib/Data/List/Destutter.lean b/Mathlib/Data/List/Destutter.lean index 46f687a5a09e52..6a545c8ee4c7eb 100644 --- a/Mathlib/Data/List/Destutter.lean +++ b/Mathlib/Data/List/Destutter.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez, Eric Wieser -/ -import Mathlib.Data.List.Chain -import Mathlib.Data.List.Dedup +module + +public import Mathlib.Data.List.Chain +public import Mathlib.Data.List.Dedup /-! # Destuttering of Lists @@ -26,6 +28,8 @@ Note that we make no guarantees of being the longest sublist with this property; adjacent, chain, duplicates, remove, list, stutter, destutter -/ +@[expose] public section + open Function variable {α β : Type*} (l l₁ l₂ : List α) (R : α → α → Prop) [DecidableRel R] {a b : α} diff --git a/Mathlib/Data/List/DropRight.lean b/Mathlib/Data/List/DropRight.lean index 2083cc4426fdd4..f830f52d0ff84a 100644 --- a/Mathlib/Data/List/DropRight.lean +++ b/Mathlib/Data/List/DropRight.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.List.Induction -import Mathlib.Data.List.TakeWhile +module + +public import Mathlib.Data.List.Induction +public import Mathlib.Data.List.TakeWhile /-! @@ -31,6 +33,8 @@ another function that takes a `L : ℕ` and use `L - n`. Under a proof condition -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/List/Duplicate.lean b/Mathlib/Data/List/Duplicate.lean index 277d6c0462f3b9..1249d4efcb36bf 100644 --- a/Mathlib/Data/List/Duplicate.lean +++ b/Mathlib/Data/List/Duplicate.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, Chris Hughes -/ -import Mathlib.Data.List.Nodup +module + +public import Mathlib.Data.List.Nodup /-! # List duplicates @@ -18,6 +20,8 @@ In this file, `x ∈+ l` notation is shorthand for `List.Duplicate x l`. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Data/List/Enum.lean b/Mathlib/Data/List/Enum.lean index 6b8b345de99e04..5741492d07415b 100644 --- a/Mathlib/Data/List/Enum.lean +++ b/Mathlib/Data/List/Enum.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yakov Pechersky, Eric Wieser -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! # Properties of `List.enum` -/ +@[expose] public section + namespace List variable {α : Type*} diff --git a/Mathlib/Data/List/FinRange.lean b/Mathlib/Data/List/FinRange.lean index 0d1867a3821fa1..a0c7613800e6c3 100644 --- a/Mathlib/Data/List/FinRange.lean +++ b/Mathlib/Data/List/FinRange.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau, Kim Morrison, Alex Keizer -/ -import Mathlib.Data.List.OfFn -import Batteries.Data.List.Perm -import Mathlib.Data.List.Nodup +module + +public import Mathlib.Data.List.OfFn +public import Batteries.Data.List.Perm +public import Mathlib.Data.List.Nodup /-! # Lists of elements of `Fin n` @@ -13,6 +15,8 @@ import Mathlib.Data.List.Nodup This file develops some results on `finRange n`. -/ +@[expose] public section + assert_not_exists Monoid universe u @@ -81,7 +85,7 @@ theorem ofFn_eq_pmap {n} {f : Fin n → α} : exact ext_getElem (by simp) fun i hi1 hi2 => by simp [List.getElem_ofFn hi1] theorem ofFn_id (n) : ofFn id = finRange n := - rfl + (rfl) theorem ofFn_eq_map {n} {f : Fin n → α} : ofFn f = (finRange n).map f := by rw [← ofFn_id, map_ofFn, Function.comp_id] diff --git a/Mathlib/Data/List/Flatten.lean b/Mathlib/Data/List/Flatten.lean index cc198aca4ec9be..9f11ff1a2d1c13 100644 --- a/Mathlib/Data/List/Flatten.lean +++ b/Mathlib/Data/List/Flatten.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn, Mario Carneiro, Martin Dvorak -/ -import Mathlib.Tactic.GCongr.Core -import Mathlib.Util.AssertExists +module + +public import Mathlib.Tactic.GCongr.Core +public import Mathlib.Util.AssertExists /-! # Join of a list of lists @@ -13,6 +15,8 @@ This file proves basic properties of `List.flatten`, which concatenates a list o defined in `Init.Prelude`. -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/List/Forall2.lean b/Mathlib/Data/List/Forall2.lean index 31ed0a420d18e8..8744d292b4d538 100644 --- a/Mathlib/Data/List/Forall2.lean +++ b/Mathlib/Data/List/Forall2.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! # Double universal quantification on a list @@ -13,6 +15,8 @@ This file provides an API for `List.Forall₂` (definition in `Data.List.Defs`). of `l₁`, and `b` is the nth element of `l₂`, then `R a b` is satisfied. -/ +@[expose] public section + open Nat Function diff --git a/Mathlib/Data/List/GetD.lean b/Mathlib/Data/List/GetD.lean index f2ea422ba12783..896d9be121d210 100644 --- a/Mathlib/Data/List/GetD.lean +++ b/Mathlib/Data/List/GetD.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey, Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Defs -import Mathlib.Data.Option.Basic -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.List.Defs +public import Mathlib.Data.Option.Basic +public import Mathlib.Util.AssertExists /-! # getD and getI @@ -15,6 +17,8 @@ access an element of a list by numerical index, with a default value as a fallba is out of range. -/ +@[expose] public section + assert_not_imported Mathlib.Algebra.Order.Group.Nat namespace List diff --git a/Mathlib/Data/List/Indexes.lean b/Mathlib/Data/List/Indexes.lean index 085b058adabf90..c823497b058912 100644 --- a/Mathlib/Data/List/Indexes.lean +++ b/Mathlib/Data/List/Indexes.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Jannis Limperg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jannis Limperg -/ -import Mathlib.Util.AssertExists -import Mathlib.Data.List.Defs +module + +public import Mathlib.Util.AssertExists +public import Mathlib.Data.List.Defs /-! # Lemmas about List.*Idx functions. @@ -20,6 +22,8 @@ Anyone wanting to restore this material is welcome to do so, but will need to up However, note that this material will later be implemented in the Lean standard library. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u v diff --git a/Mathlib/Data/List/Induction.lean b/Mathlib/Data/List/Induction.lean index dddcf1bfdd2c3f..d943b902e084a8 100644 --- a/Mathlib/Data/List/Induction.lean +++ b/Mathlib/Data/List/Induction.lean @@ -3,10 +3,14 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! ### Induction principles for lists -/ +@[expose] public section + variable {α : Type*} namespace List diff --git a/Mathlib/Data/List/Infix.lean b/Mathlib/Data/List/Infix.lean index 9b60a9c3ab5ea4..4079db9a8087a8 100644 --- a/Mathlib/Data/List/Infix.lean +++ b/Mathlib/Data/List/Infix.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.TakeDrop -import Mathlib.Data.List.Induction -import Mathlib.Data.Nat.Basic -import Mathlib.Order.Basic +module + +public import Mathlib.Data.List.TakeDrop +public import Mathlib.Data.List.Induction +public import Mathlib.Data.Nat.Basic +public import Mathlib.Order.Basic /-! # Prefixes, suffixes, infixes @@ -28,6 +30,8 @@ All those (except `insert`) are defined in `Mathlib/Data/List/Defs.lean`. * `l₁ <:+: l₂`: `l₁` is an infix of `l₂`. -/ +@[expose] public section + variable {α β : Type*} namespace List diff --git a/Mathlib/Data/List/InsertIdx.lean b/Mathlib/Data/List/InsertIdx.lean index b90a16262ed8de..a7129c6c49011b 100644 --- a/Mathlib/Data/List/InsertIdx.lean +++ b/Mathlib/Data/List/InsertIdx.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Order.Basic +module + +public import Mathlib.Data.List.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Order.Basic /-! # insertIdx @@ -13,6 +15,8 @@ import Mathlib.Order.Basic Proves various lemmas about `List.insertIdx`. -/ +@[expose] public section + assert_not_exists Set.range open Function diff --git a/Mathlib/Data/List/InsertNth.lean b/Mathlib/Data/List/InsertNth.lean index 6e07a0f4691b7a..6855f507bd960e 100644 --- a/Mathlib/Data/List/InsertNth.lean +++ b/Mathlib/Data/List/InsertNth.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Lean FRO. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.List.InsertIdx +module + +public import Mathlib.Data.List.InsertIdx /-! This is a stub file for importing `Mathlib/Data/List/InsertNth.lean`, @@ -11,3 +13,5 @@ which has been renamed to `Mathlib/Data/List/InsertIdx.lean`. This file can be removed once the deprecation for `List.insertNth` is removed. -/ + +@[expose] public section diff --git a/Mathlib/Data/List/Intervals.lean b/Mathlib/Data/List/Intervals.lean index ad8990de357c85..177d8b4e41cb1b 100644 --- a/Mathlib/Data/List/Intervals.lean +++ b/Mathlib/Data/List/Intervals.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.List.Lattice -import Mathlib.Data.Bool.Basic -import Mathlib.Order.Lattice +module + +public import Mathlib.Data.List.Lattice +public import Mathlib.Data.Bool.Basic +public import Mathlib.Order.Lattice /-! # Intervals in ℕ @@ -21,6 +23,8 @@ and strictly less than `n`. - Once the above is done, get rid of `Int.range` (and maybe `List.range'`?). -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/List/Iterate.lean b/Mathlib/Data/List/Iterate.lean index 46d8b7665571fa..5ae7004083d4d1 100644 --- a/Mathlib/Data/List/Iterate.lean +++ b/Mathlib/Data/List/Iterate.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.List.Defs -import Mathlib.Data.Set.Function +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.List.Defs +public import Mathlib.Data.Set.Function /-! # iterate @@ -13,6 +15,8 @@ import Mathlib.Data.Set.Function Proves various lemmas about `List.iterate`. -/ +@[expose] public section + variable {α : Type*} namespace List diff --git a/Mathlib/Data/List/Lattice.lean b/Mathlib/Data/List/Lattice.lean index d56026e0b283fa..7ec4e800374379 100644 --- a/Mathlib/Data/List/Lattice.lean +++ b/Mathlib/Data/List/Lattice.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro, Kim Morrison -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! # Lattice structure of lists @@ -24,6 +26,8 @@ As opposed to `List.inter`, `List.bagInter` copes well with multiplicity. For ex `bagInter [0, 1, 2, 3, 2, 1, 0] [1, 0, 1, 4, 3] = [0, 1, 3, 1]`. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/List/Lemmas.lean b/Mathlib/Data/List/Lemmas.lean index 0b629c0baffd91..f0e5c1d3601657 100644 --- a/Mathlib/Data/List/Lemmas.lean +++ b/Mathlib/Data/List/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, Yury Kudryashov -/ -import Mathlib.Data.Set.Image -import Mathlib.Data.List.InsertIdx +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Data.List.InsertIdx /-! # Some lemmas about lists involving sets Split out from `Data.List.Basic` to reduce its dependencies. -/ +@[expose] public section + variable {α β γ : Type*} namespace List diff --git a/Mathlib/Data/List/Lex.lean b/Mathlib/Data/List/Lex.lean index b6087faff018b0..5e1a5a8daac1e3 100644 --- a/Mathlib/Data/List/Lex.lean +++ b/Mathlib/Data/List/Lex.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Order.RelClasses +module + +public import Mathlib.Data.List.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Order.RelClasses /-! # Lexicographic ordering of lists. @@ -25,6 +27,8 @@ Related files are: * `Mathlib/Data/Prod/Lex.lean`: Lexicographic order on `α × β`. -/ +@[expose] public section + namespace List diff --git a/Mathlib/Data/List/Lookmap.lean b/Mathlib/Data/List/Lookmap.lean index 834343743ce399..81fa8b9d81ded4 100644 --- a/Mathlib/Data/List/Lookmap.lean +++ b/Mathlib/Data/List/Lookmap.lean @@ -3,12 +3,17 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Batteries.Logic -import Batteries.Data.List.Basic -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Logic +public import Batteries.Data.List.Basic +public import Mathlib.Tactic.TypeStar +import all Init.Data.Array.Basic /-! ### lookmap -/ +@[expose] public section + variable {α β : Type*} namespace List diff --git a/Mathlib/Data/List/Map2.lean b/Mathlib/Data/List/Map2.lean index 96001750987ae6..c2e21ef6838ec4 100644 --- a/Mathlib/Data/List/Map2.lean +++ b/Mathlib/Data/List/Map2.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Defs -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.List.Defs +public import Mathlib.Tactic.Common /-! # Map₂ Lemmas @@ -20,6 +22,8 @@ Lists together. In particular, we include lemmas about: -/ +@[expose] public section + assert_not_exists GroupWithZero assert_not_exists Lattice assert_not_exists Prod.swap_eq_iff_eq_swap diff --git a/Mathlib/Data/List/MinMax.lean b/Mathlib/Data/List/MinMax.lean index 641317f4f0b3cc..c8e803f05cf621 100644 --- a/Mathlib/Data/List/MinMax.lean +++ b/Mathlib/Data/List/MinMax.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Minchao Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Minchao Wu, Chris Hughes, Mantas Bakšys -/ -import Mathlib.Data.List.Basic -import Mathlib.Order.BoundedOrder.Lattice -import Mathlib.Data.List.Induction -import Mathlib.Order.MinMax -import Mathlib.Order.WithBot +module + +public import Mathlib.Data.List.Basic +public import Mathlib.Order.BoundedOrder.Lattice +public import Mathlib.Data.List.Induction +public import Mathlib.Order.MinMax +public import Mathlib.Order.WithBot /-! # Minimum and maximum of lists @@ -24,6 +26,8 @@ The main definitions are `argmax`, `argmin`, `minimum` and `maximum` for lists. `[]` -/ +@[expose] public section + namespace List variable {α β : Type*} diff --git a/Mathlib/Data/List/ModifyLast.lean b/Mathlib/Data/List/ModifyLast.lean index a6ab6ec91ec1bc..1be4012a1921ed 100644 --- a/Mathlib/Data/List/ModifyLast.lean +++ b/Mathlib/Data/List/ModifyLast.lean @@ -3,12 +3,17 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Batteries.Data.List.Basic -import Batteries.Tactic.Alias -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Data.List.Basic +public import Batteries.Tactic.Alias +public import Mathlib.Tactic.TypeStar +import all Init.Data.Array.Basic /-! ### List.modifyLast -/ +@[expose] public section + variable {α : Type*} namespace List diff --git a/Mathlib/Data/List/Monad.lean b/Mathlib/Data/List/Monad.lean index 69528b2dcee1d7..b413ff3c1b2fa9 100644 --- a/Mathlib/Data/List/Monad.lean +++ b/Mathlib/Data/List/Monad.lean @@ -3,13 +3,16 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +module -import Mathlib.Init -import Batteries.Control.AlternativeMonad +public import Mathlib.Init +public import Batteries.Control.AlternativeMonad /-! # Monad instances for `List` -/ +@[expose] public section + universe u namespace List diff --git a/Mathlib/Data/List/NatAntidiagonal.lean b/Mathlib/Data/List/NatAntidiagonal.lean index 4052b7a5e78625..2bbc4b12f5e59e 100644 --- a/Mathlib/Data/List/NatAntidiagonal.lean +++ b/Mathlib/Data/List/NatAntidiagonal.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.List.Nodup +module + +public import Mathlib.Data.List.Nodup /-! # Antidiagonals in ℕ × ℕ as lists @@ -18,6 +20,8 @@ Files `Data.Multiset.NatAntidiagonal` and `Data.Finset.NatAntidiagonal` successi `List` definition we have here into `Multiset` and `Finset`. -/ +@[expose] public section + open Function namespace List diff --git a/Mathlib/Data/List/Nodup.lean b/Mathlib/Data/List/Nodup.lean index f44c32fa0c866b..da11bc20fe86f6 100644 --- a/Mathlib/Data/List/Nodup.lean +++ b/Mathlib/Data/List/Nodup.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau -/ -import Mathlib.Data.List.Forall2 -import Mathlib.Data.Nat.Basic -import Mathlib.Order.Basic +module + +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.Nat.Basic +public import Mathlib.Order.Basic /-! # Lists with no duplicates @@ -14,6 +16,8 @@ import Mathlib.Order.Basic predicate. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/List/NodupEquivFin.lean b/Mathlib/Data/List/NodupEquivFin.lean index af90d813304930..f5e9a92e741324 100644 --- a/Mathlib/Data/List/NodupEquivFin.lean +++ b/Mathlib/Data/List/NodupEquivFin.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.List.Duplicate -import Mathlib.Data.List.Sort +module + +public import Mathlib.Data.List.Duplicate +public import Mathlib.Data.List.Sort /-! # Equivalence between `Fin (length l)` and elements of a list @@ -25,6 +27,8 @@ Given a list `l`, -/ +@[expose] public section + namespace List diff --git a/Mathlib/Data/List/OfFn.lean b/Mathlib/Data/List/OfFn.lean index 63f263415d524b..78b6b082a074c2 100644 --- a/Mathlib/Data/List/OfFn.lean +++ b/Mathlib/Data/List/OfFn.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fin.Tuple.Basic +module + +public import Mathlib.Data.Fin.Tuple.Basic /-! # Lists from functions @@ -20,6 +22,8 @@ The main statements pertain to lists generated using `List.ofFn` via `List.ofFn`. -/ +@[expose] public section + assert_not_exists Monoid universe u diff --git a/Mathlib/Data/List/Pairwise.lean b/Mathlib/Data/List/Pairwise.lean index b29968d0498df4..97f8dae1759110 100644 --- a/Mathlib/Data/List/Pairwise.lean +++ b/Mathlib/Data/List/Pairwise.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Data.List.Pairwise -import Mathlib.Logic.Pairwise -import Mathlib.Logic.Relation +module + +public import Batteries.Data.List.Pairwise +public import Mathlib.Logic.Pairwise +public import Mathlib.Logic.Relation /-! # Pairwise relations on a list @@ -24,6 +26,8 @@ the pairwiseness of the list we have so far. It thus yields `l'` a maximal subli sorted, nodup -/ +@[expose] public section + open Nat Function diff --git a/Mathlib/Data/List/Palindrome.lean b/Mathlib/Data/List/Palindrome.lean index 599d40cab0d6e5..6526e7b869f6e0 100644 --- a/Mathlib/Data/List/Palindrome.lean +++ b/Mathlib/Data/List/Palindrome.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Google LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Wong -/ -import Mathlib.Data.List.Induction +module + +public import Mathlib.Data.List.Induction /-! # Palindromes @@ -24,6 +26,8 @@ principle. Also provided are conversions to and from other equivalent definition palindrome, reverse, induction -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/List/Perm/Basic.lean b/Mathlib/Data/List/Perm/Basic.lean index db6ca5472e581b..217f57ddaeb91e 100644 --- a/Mathlib/Data/List/Perm/Basic.lean +++ b/Mathlib/Data/List/Perm/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Batteries.Data.List.Perm -import Mathlib.Logic.Relation -import Mathlib.Order.RelClasses -import Mathlib.Data.List.Forall2 -import Mathlib.Data.List.InsertIdx +module + +public import Batteries.Data.List.Perm +public import Mathlib.Logic.Relation +public import Mathlib.Order.RelClasses +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.List.InsertIdx /-! # List Permutations @@ -19,6 +21,8 @@ This file develops theory about the `List.Perm` relation. The notation `~` is used for permutation equivalence. -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/List/Perm/Lattice.lean b/Mathlib/Data/List/Perm/Lattice.lean index 96c0389c29a4b7..8b1733272425c6 100644 --- a/Mathlib/Data/List/Perm/Lattice.lean +++ b/Mathlib/Data/List/Perm/Lattice.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.List.Forall2 -import Mathlib.Data.List.TakeDrop -import Mathlib.Data.List.Lattice -import Mathlib.Data.List.Nodup +module + +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.List.TakeDrop +public import Mathlib.Data.List.Lattice +public import Mathlib.Data.List.Nodup /-! # List Permutations and list lattice operations. @@ -14,6 +16,8 @@ import Mathlib.Data.List.Nodup This file develops theory about the `List.Perm` relation and the lattice structure on lists. -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/List/Perm/Subperm.lean b/Mathlib/Data/List/Perm/Subperm.lean index 428b6af2da32d5..ff74767badb9ef 100644 --- a/Mathlib/Data/List/Perm/Subperm.lean +++ b/Mathlib/Data/List/Perm/Subperm.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Batteries.Data.List.Perm -import Mathlib.Data.List.Basic +module + +public import Batteries.Data.List.Perm +public import Mathlib.Data.List.Basic /-! # List Sub-permutations @@ -16,6 +18,8 @@ This file develops theory about the `List.Subperm` relation. The notation `<+~` is used for sub-permutations. -/ +@[expose] public section + open Nat namespace List diff --git a/Mathlib/Data/List/Permutation.lean b/Mathlib/Data/List/Permutation.lean index d78c288a2417cd..12045f0c28c53b 100644 --- a/Mathlib/Data/List/Permutation.lean +++ b/Mathlib/Data/List/Permutation.lean @@ -3,14 +3,16 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Lemmas -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.List.Count -import Mathlib.Data.List.Duplicate -import Mathlib.Data.List.InsertIdx -import Mathlib.Data.List.Induction -import Batteries.Data.List.Perm -import Mathlib.Data.List.Perm.Basic +module + +public import Mathlib.Data.List.Lemmas +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.List.Count +public import Mathlib.Data.List.Duplicate +public import Mathlib.Data.List.InsertIdx +public import Mathlib.Data.List.Induction +public import Batteries.Data.List.Perm +public import Mathlib.Data.List.Perm.Basic /-! # Permutations of a list @@ -45,6 +47,8 @@ all positions. Hence, to build `[0, 1, 2, 3].permutations'`, it does `[0, 3, 2, 1], [3, 0, 2, 1], [3, 2, 0, 1], [3, 2, 1, 0]]` -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/List/Pi.lean b/Mathlib/Data/List/Pi.lean index a84efa15764922..a72eaf67ecc219 100644 --- a/Mathlib/Data/List/Pi.lean +++ b/Mathlib/Data/List/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Data.Multiset.Pi +module + +public import Mathlib.Data.Multiset.Pi /-! # The Cartesian product of lists @@ -13,6 +15,8 @@ import Mathlib.Data.Multiset.Pi * `List.pi`: Cartesian product of lists indexed by a list. -/ +@[expose] public section + namespace List namespace Pi diff --git a/Mathlib/Data/List/Prime.lean b/Mathlib/Data/List/Prime.lean index f0c8764a0553ef..fbb6e4889860b2 100644 --- a/Mathlib/Data/List/Prime.lean +++ b/Mathlib/Data/List/Prime.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Anne Baanen -/ -import Mathlib.Algebra.BigOperators.Group.List.Lemmas -import Mathlib.Algebra.GroupWithZero.Associated +module + +public import Mathlib.Algebra.BigOperators.Group.List.Lemmas +public import Mathlib.Algebra.GroupWithZero.Associated /-! # Products of lists of prime elements. @@ -13,6 +15,8 @@ This file contains some theorems relating `Prime` and products of `List`s. -/ +@[expose] public section + open List diff --git a/Mathlib/Data/List/ProdSigma.lean b/Mathlib/Data/List/ProdSigma.lean index bc2b8d766d27a9..aaeded97263c4d 100644 --- a/Mathlib/Data/List/ProdSigma.lean +++ b/Mathlib/Data/List/ProdSigma.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Leonardo de Moura. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! # Lists in product and sigma types @@ -13,6 +15,8 @@ living in `Prod` and `Sigma` types respectively. Their definitions can be found [`Data.List.Defs`](./defs). Beware, this is not about `List.prod`, the multiplicative product. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/List/Range.lean b/Mathlib/Data/List/Range.lean index 6141435a796ce0..ad4b345e0e8bd5 100644 --- a/Mathlib/Data/List/Range.lean +++ b/Mathlib/Data/List/Range.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau, Kim Morrison -/ -import Mathlib.Data.List.Chain +module + +public import Mathlib.Data.List.Chain /-! # Ranges of naturals as lists @@ -16,6 +18,8 @@ tactics. `range' a b = [a, ..., a + b - 1]` is there to help prove properties ab Actual maths should use `List.Ico` instead. -/ +@[expose] public section + universe u open Nat diff --git a/Mathlib/Data/List/ReduceOption.lean b/Mathlib/Data/List/ReduceOption.lean index 4b2736bc8cf941..621fa3a1c8e806 100644 --- a/Mathlib/Data/List/ReduceOption.lean +++ b/Mathlib/Data/List/ReduceOption.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, Anthony DeRossi -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! # Properties of `List.reduceOption` @@ -11,6 +13,8 @@ import Mathlib.Data.List.Basic In this file we prove basic lemmas about `List.reduceOption`. -/ +@[expose] public section + namespace List variable {α β : Type*} diff --git a/Mathlib/Data/List/Rotate.lean b/Mathlib/Data/List/Rotate.lean index e4aeadfdc9a2f4..ae290eb6ec5fe3 100644 --- a/Mathlib/Data/List/Rotate.lean +++ b/Mathlib/Data/List/Rotate.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yakov Pechersky -/ -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.Infix -import Mathlib.Data.Quot +module + +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.Infix +public import Mathlib.Data.Quot /-! # List rotation @@ -22,6 +24,8 @@ This file proves basic results about `List.rotate`, the list rotation. rotated, rotation, permutation, cycle -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/List/Scan.lean b/Mathlib/Data/List/Scan.lean index 032f9d70a4161f..64d1b8a944d581 100644 --- a/Mathlib/Data/List/Scan.lean +++ b/Mathlib/Data/List/Scan.lean @@ -3,10 +3,12 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Batteries.Data.List.Basic -import Mathlib.Order.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Data.Option.Basic +module + +public import Batteries.Data.List.Basic +public import Mathlib.Order.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Data.Option.Basic /-! # List scan @@ -14,6 +16,8 @@ import Mathlib.Data.Option.Basic Prove basic results about `List.scanl` and `List.scanr`. -/ +@[expose] public section + open Nat namespace List diff --git a/Mathlib/Data/List/Sections.lean b/Mathlib/Data/List/Sections.lean index afd8bdee6f5742..fdcb0adee0529a 100644 --- a/Mathlib/Data/List/Sections.lean +++ b/Mathlib/Data/List/Sections.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Forall2 +module + +public import Mathlib.Data.List.Forall2 /-! # List sections @@ -11,6 +13,8 @@ This file proves some stuff about `List.sections` (definition in `Data.List.Defs list of lists `[l₁, ..., lₙ]` is a list whose `i`-th element comes from the `i`-th list. -/ +@[expose] public section + open Nat Function diff --git a/Mathlib/Data/List/Shortlex.lean b/Mathlib/Data/List/Shortlex.lean index 44056ffb35c784..54623f528bb919 100644 --- a/Mathlib/Data/List/Shortlex.lean +++ b/Mathlib/Data/List/Shortlex.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Hannah Fechtner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hannah Fechtner -/ +module -import Mathlib.Data.List.Lex -import Mathlib.Tactic.Linarith -import Mathlib.Order.RelClasses +public import Mathlib.Data.List.Lex +public import Mathlib.Tactic.Linarith +public import Mathlib.Order.RelClasses /-! # Shortlex ordering of lists. @@ -27,6 +28,8 @@ Related files are: and `Pi`. -/ +@[expose] public section + /-! ### shortlex ordering -/ namespace List diff --git a/Mathlib/Data/List/Sigma.lean b/Mathlib/Data/List/Sigma.lean index 11f13defd3d989..5a823817958bca 100644 --- a/Mathlib/Data/List/Sigma.lean +++ b/Mathlib/Data/List/Sigma.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Sean Leather -/ -import Batteries.Data.List.Perm -import Mathlib.Data.List.Pairwise -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.Lookmap -import Mathlib.Data.Sigma.Basic +module + +public import Batteries.Data.List.Perm +public import Mathlib.Data.List.Pairwise +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.Lookmap +public import Mathlib.Data.Sigma.Basic /-! # Utilities for lists of sigmas @@ -29,6 +31,8 @@ If `α : Type*` and `β : α → Type*`, then we regard `s : Sigma β` as having - `List.kextract` returns a value with a given key and the rest of the values. -/ +@[expose] public section + universe u u' v v' namespace List diff --git a/Mathlib/Data/List/Sort.lean b/Mathlib/Data/List/Sort.lean index ebd95024a024ba..e82da2e497033b 100644 --- a/Mathlib/Data/List/Sort.lean +++ b/Mathlib/Data/List/Sort.lean @@ -3,12 +3,15 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Batteries.Data.List.Pairwise -import Batteries.Data.List.Perm -import Mathlib.Data.List.OfFn -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.TakeWhile -import Mathlib.Order.Fin.Basic +module + +public import Batteries.Data.List.Pairwise +public import Batteries.Data.List.Perm +public import Mathlib.Data.List.OfFn +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.TakeWhile +public import Mathlib.Order.Fin.Basic +import all Init.Data.List.Sort.Basic -- for exposing `mergeSort` /-! # Sorting algorithms on lists @@ -19,6 +22,8 @@ Then we define the sorting algorithm `List.insertionSort` and prove its correctness. -/ +@[expose] public section + open List.Perm universe u v diff --git a/Mathlib/Data/List/SplitBy.lean b/Mathlib/Data/List/SplitBy.lean index 4fd9b890b622c4..e4298f5b828aca 100644 --- a/Mathlib/Data/List/SplitBy.lean +++ b/Mathlib/Data/List/SplitBy.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Data.List.Chain +module + +public import Mathlib.Data.List.Chain /-! # Split a list into contiguous runs of elements which pairwise satisfy a relation. @@ -19,6 +21,8 @@ The main results are the following: related to the first element of the next list. -/ +@[expose] public section + namespace List variable {α : Type*} {m : List α} diff --git a/Mathlib/Data/List/SplitLengths.lean b/Mathlib/Data/List/SplitLengths.lean index 7e20264322542a..241871ad812329 100644 --- a/Mathlib/Data/List/SplitLengths.lean +++ b/Mathlib/Data/List/SplitLengths.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Order.MinMax +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Order.MinMax /-! # Splitting a list to chunks of specified lengths @@ -12,6 +14,8 @@ import Mathlib.Order.MinMax This file defines splitting a list to chunks of given lengths, and some proofs about that. -/ +@[expose] public section + variable {α : Type*} (l : List α) (sz : List ℕ) namespace List diff --git a/Mathlib/Data/List/SplitOn.lean b/Mathlib/Data/List/SplitOn.lean index ac141b2c697cd7..8691376afef9bb 100644 --- a/Mathlib/Data/List/SplitOn.lean +++ b/Mathlib/Data/List/SplitOn.lean @@ -3,10 +3,14 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Basic +module + +public import Mathlib.Data.List.Basic /-! ### List.splitOn -/ +@[expose] public section + namespace List variable {α : Type*} (p : α → Bool) (xs : List α) (ls : List (List α)) diff --git a/Mathlib/Data/List/Sublists.lean b/Mathlib/Data/List/Sublists.lean index f831b0e3fc4323..e470c17ac4fc5f 100644 --- a/Mathlib/Data/List/Sublists.lean +++ b/Mathlib/Data/List/Sublists.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.List.FinRange -import Mathlib.Data.List.Perm.Basic -import Mathlib.Data.List.Lex -import Mathlib.Data.List.Induction +module + +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.List.FinRange +public import Mathlib.Data.List.Perm.Basic +public import Mathlib.Data.List.Lex +public import Mathlib.Data.List.Induction /-! # sublists @@ -16,6 +18,8 @@ import Mathlib.Data.List.Induction This file contains basic results on this function. -/ +@[expose] public section + universe u v w variable {α : Type u} {β : Type v} {γ : Type w} diff --git a/Mathlib/Data/List/Sym.lean b/Mathlib/Data/List/Sym.lean index 091be443c2a29f..98e6fb610f16d4 100644 --- a/Mathlib/Data/List/Sym.lean +++ b/Mathlib/Data/List/Sym.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.Sym.Sym2 +module + +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.Sym.Sym2 /-! # Unordered tuples of elements of a list @@ -25,6 +27,8 @@ from a given list. These are list versions of `Nat.multichoose`. -/ +@[expose] public section + namespace List variable {α β : Type*} diff --git a/Mathlib/Data/List/TFAE.lean b/Mathlib/Data/List/TFAE.lean index c92f426eec0a23..6c900bfd25be7c 100644 --- a/Mathlib/Data/List/TFAE.lean +++ b/Mathlib/Data/List/TFAE.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Simon Hudon -/ -import Batteries.Tactic.Alias -import Batteries.Data.List.Basic -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Tactic.Alias +public import Batteries.Data.List.Basic +public import Mathlib.Tactic.TypeStar /-! # The Following Are Equivalent @@ -15,6 +17,8 @@ This file allows to state that all propositions in a list are equivalent. It is `TFAE l` means `∀ x ∈ l, ∀ y ∈ l, x ↔ y`. This is equivalent to `Pairwise (↔) l`. -/ +@[expose] public section + namespace List diff --git a/Mathlib/Data/List/TakeDrop.lean b/Mathlib/Data/List/TakeDrop.lean index 7598f409358357..ba3b83eb704f95 100644 --- a/Mathlib/Data/List/TakeDrop.lean +++ b/Mathlib/Data/List/TakeDrop.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Data.List.Defs -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.List.Defs +public import Mathlib.Tactic.Common /-! # `Take` and `Drop` lemmas for lists @@ -12,6 +14,8 @@ import Mathlib.Tactic.Common This file provides lemmas about `List.take` and `List.drop` and related functions. -/ +@[expose] public section + assert_not_exists GroupWithZero assert_not_exists Lattice assert_not_exists Prod.swap_eq_iff_eq_swap diff --git a/Mathlib/Data/List/TakeWhile.lean b/Mathlib/Data/List/TakeWhile.lean index 9b8c231f7c258f..34ea55858b595c 100644 --- a/Mathlib/Data/List/TakeWhile.lean +++ b/Mathlib/Data/List/TakeWhile.lean @@ -3,12 +3,16 @@ Copyright (c) 2014 Parikshit Khanna. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parikshit Khanna, Jeremy Avigad, Leonardo de Moura, Floris van Doorn, Mario Carneiro -/ -import Mathlib.Order.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Tactic.Set +module + +public import Mathlib.Order.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Tactic.Set /-! ### List.takeWhile and List.dropWhile -/ +@[expose] public section + namespace List variable {α : Type*} (p : α → Bool) diff --git a/Mathlib/Data/List/ToFinsupp.lean b/Mathlib/Data/List/ToFinsupp.lean index 2a9f120c32b1cc..16e8f1473ca364 100644 --- a/Mathlib/Data/List/ToFinsupp.lean +++ b/Mathlib/Data/List/ToFinsupp.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.Group.Embedding -import Mathlib.Algebra.Group.Finsupp -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Data.List.GetD +module + +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Algebra.Group.Finsupp +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Data.List.GetD /-! @@ -34,6 +36,8 @@ this holds. More work will be needed to support lists over non-dec-eq types like elements are beyond the dec-eq terms of casted values from `ℕ, ℤ, ℚ`. -/ +@[expose] public section + namespace List variable {M : Type*} [Zero M] (l : List M) [DecidablePred (getD l · 0 ≠ 0)] (n : ℕ) diff --git a/Mathlib/Data/List/Triplewise.lean b/Mathlib/Data/List/Triplewise.lean index 8010e369f3cd79..d078a06228128d 100644 --- a/Mathlib/Data/List/Triplewise.lean +++ b/Mathlib/Data/List/Triplewise.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joseph Myers, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Yaël Dillies -/ -import Aesop -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.MkIffOfInductiveProp +module + +public import Aesop +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.MkIffOfInductiveProp /-! # Triplewise predicates on list. @@ -16,6 +18,8 @@ import Mathlib.Tactic.MkIffOfInductiveProp -/ +@[expose] public section + namespace List diff --git a/Mathlib/Data/List/Zip.lean b/Mathlib/Data/List/Zip.lean index 9c0981ff60f416..67c9f0e8769484 100644 --- a/Mathlib/Data/List/Zip.lean +++ b/Mathlib/Data/List/Zip.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau -/ -import Mathlib.Data.List.Forall2 -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Data.List.Forall2 +public import Mathlib.Data.Nat.Basic /-! # zip & unzip @@ -19,6 +21,8 @@ applies, until one of the lists is exhausted. For example, `unzip` undoes `zip`. For example, `unzip [(a₁, b₁), (a₂, b₂)] = ([a₁, a₂], [b₁, b₂])`. -/ +@[expose] public section + -- Make sure we don't import algebra assert_not_exists Monoid diff --git a/Mathlib/Data/Matrix/Action.lean b/Mathlib/Data/Matrix/Action.lean index b1f9d1144ff117..e852a00989baed 100644 --- a/Mathlib/Data/Matrix/Action.lean +++ b/Mathlib/Data/Matrix/Action.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ +module -import Mathlib.Data.Matrix.Mul -import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Data.Matrix.Mul +public import Mathlib.Algebra.Ring.Opposite /-! # Actions by matrices on vectors through `*ᵥ` and `ᵥ*`, cast as `Module`s @@ -14,6 +15,8 @@ This file provides the left- and right- module structures of square matrices on `Matrix.mulVec` and `Matrix.vecMul`. -/ +@[expose] public section + variable {n R S : Type*} namespace Matrix diff --git a/Mathlib/Data/Matrix/Auto.lean b/Mathlib/Data/Matrix/Auto.lean index b5c2e6228ed916..69f28291ec3c52 100644 --- a/Mathlib/Data/Matrix/Auto.lean +++ b/Mathlib/Data/Matrix/Auto.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Expr -import Mathlib.Data.Matrix.Reflection +module + +public import Mathlib.Algebra.Expr +public import Mathlib.Data.Matrix.Reflection /-! # Automatically generated lemmas for working with concrete matrices @@ -23,3 +25,5 @@ TODO: These magic lemmas have been skipped for now, though the plumbing lemmas i `Mathlib/Data/Matrix/Reflection.lean` are still available. They should probably be implemented as simprocs. -/ + +@[expose] public section diff --git a/Mathlib/Data/Matrix/Basic.lean b/Mathlib/Data/Matrix/Basic.lean index dbe317484c00f1..6727300be5dcc6 100644 --- a/Mathlib/Data/Matrix/Basic.lean +++ b/Mathlib/Data/Matrix/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin, Lu-Ming Zhang -/ -import Mathlib.Algebra.Algebra.Opposite -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.BigOperators.RingEquiv -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Matrix.Mul -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.Algebra.Algebra.Opposite +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.BigOperators.RingEquiv +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Matrix.Mul +public import Mathlib.LinearAlgebra.Pi /-! # Matrices @@ -28,6 +30,8 @@ Under various conditions, multiplication of infinite matrices makes sense. These have not yet been implemented. -/ +@[expose] public section + assert_not_exists TrivialStar universe u u' v w diff --git a/Mathlib/Data/Matrix/Basis.lean b/Mathlib/Data/Matrix/Basis.lean index 2021486646344c..477343f3357c26 100644 --- a/Mathlib/Data/Matrix/Basis.lean +++ b/Mathlib/Data/Matrix/Basis.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Jalex Stark. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jalex Stark, Kim Morrison, Eric Wieser, Oliver Nash, Wen Yang -/ -import Mathlib.Data.Matrix.Basic +module + +public import Mathlib.Data.Matrix.Basic /-! # Matrices with a single non-zero element. @@ -12,6 +14,8 @@ This file provides `Matrix.single`. The matrix `Matrix.single i j c` has `c` at position `(i, j)`, and zeroes elsewhere. -/ +@[expose] public section + assert_not_exists Matrix.trace variable {l m n o : Type*} diff --git a/Mathlib/Data/Matrix/Bilinear.lean b/Mathlib/Data/Matrix/Bilinear.lean index 923c5be9edf0ef..34da6cc0c24c61 100644 --- a/Mathlib/Data/Matrix/Bilinear.lean +++ b/Mathlib/Data/Matrix/Bilinear.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Module.LinearMap.End -import Mathlib.Data.Matrix.Mul -import Mathlib.Data.Matrix.Basis -import Mathlib.Algebra.Algebra.Bilinear +module + +public import Mathlib.Algebra.Module.LinearMap.End +public import Mathlib.Data.Matrix.Mul +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Algebra.Algebra.Bilinear /-! # Bundled versions of multiplication for matrices @@ -15,6 +17,8 @@ This file provides versions of `LinearMap.mulLeft` and `LinearMap.mulRight` whic heterogeneous multiplication of matrices. -/ +@[expose] public section + variable {l m n o : Type*} {R A : Type*} section NonUnitalNonAssocSemiring diff --git a/Mathlib/Data/Matrix/Block.lean b/Mathlib/Data/Matrix/Block.lean index 3a7970197b5e91..6b9a81d797763e 100644 --- a/Mathlib/Data/Matrix/Block.lean +++ b/Mathlib/Data/Matrix/Block.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Composition -import Mathlib.LinearAlgebra.Matrix.ConjTranspose +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Composition +public import Mathlib.LinearAlgebra.Matrix.ConjTranspose /-! # Block Matrices @@ -23,6 +25,8 @@ import Mathlib.LinearAlgebra.Matrix.ConjTranspose * `Matrix.blockDiag'`: extract the blocks from the diagonal of a block diagonal matrix. -/ +@[expose] public section + variable {l m n o p q : Type*} {m' n' p' : o → Type*} variable {R : Type*} {S : Type*} {α : Type*} {β : Type*} diff --git a/Mathlib/Data/Matrix/ColumnRowPartitioned.lean b/Mathlib/Data/Matrix/ColumnRowPartitioned.lean index dd0326886e1e8e..f9b38288c671d8 100644 --- a/Mathlib/Data/Matrix/ColumnRowPartitioned.lean +++ b/Mathlib/Data/Matrix/ColumnRowPartitioned.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Mohanad ahmed. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mohanad Ahmed -/ +module -import Mathlib.Data.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.SemiringInverse +public import Mathlib.Data.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.SemiringInverse /-! # Block Matrices from Rows and Columns @@ -21,6 +22,8 @@ with block matrices column matrices, row matrices, column row block matrices -/ +@[expose] public section + namespace Matrix variable {R : Type*} diff --git a/Mathlib/Data/Matrix/Composition.lean b/Mathlib/Data/Matrix/Composition.lean index 385e4820b9e065..478a2ca270bbce 100644 --- a/Mathlib/Data/Matrix/Composition.lean +++ b/Mathlib/Data/Matrix/Composition.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Yunzhou Xie, Eric Wieser -/ +module -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Basis /-! # Composition of matrices @@ -23,6 +24,8 @@ Semiring, and Algebra over a CommSemiring K. -/ +@[expose] public section + namespace Matrix variable (I J K L R R' : Type*) diff --git a/Mathlib/Data/Matrix/DMatrix.lean b/Mathlib/Data/Matrix/DMatrix.lean index 8137a0d5902fa0..cdb6c6fe4522a2 100644 --- a/Mathlib/Data/Matrix/DMatrix.lean +++ b/Mathlib/Data/Matrix/DMatrix.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.Algebra.Group.Pi.Basic +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.Algebra.Group.Pi.Basic /-! # Dependent-typed matrices -/ +@[expose] public section + universe u u' v w z diff --git a/Mathlib/Data/Matrix/Diagonal.lean b/Mathlib/Data/Matrix/Diagonal.lean index c721d40e3d2042..fa900199d251c2 100644 --- a/Mathlib/Data/Matrix/Diagonal.lean +++ b/Mathlib/Data/Matrix/Diagonal.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin, Lu-Ming Zhang -/ -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Data.Int.Cast.Pi -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.LinearAlgebra.Matrix.Defs -import Mathlib.Logic.Embedding.Basic +module + +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Data.Int.Cast.Pi +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.LinearAlgebra.Matrix.Defs +public import Mathlib.Logic.Embedding.Basic /-! # Diagonal matrices @@ -21,6 +23,8 @@ This file defines diagonal matrices and the `AddCommMonoidWithOne` structure on * `Matrix.instAddCommMonoidWithOne`: matrices are an additive commutative monoid with one -/ +@[expose] public section + assert_not_exists Algebra TrivialStar universe u u' v w diff --git a/Mathlib/Data/Matrix/DualNumber.lean b/Mathlib/Data/Matrix/DualNumber.lean index 730e46fb94493a..38cf082d72fc1e 100644 --- a/Mathlib/Data/Matrix/DualNumber.lean +++ b/Mathlib/Data/Matrix/DualNumber.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DualNumber -import Mathlib.Data.Matrix.Basic +module + +public import Mathlib.Algebra.DualNumber +public import Mathlib.Data.Matrix.Basic /-! # Matrices of dual numbers are isomorphic to dual numbers over matrices @@ -13,6 +15,8 @@ Showing this for the more general case of `TrivSqZeroExt R M` would require an a `Matrix n n R` and `Matrix n n M`, which would risk causing diamonds. -/ +@[expose] public section + variable {R n : Type} [CommSemiring R] [Fintype n] [DecidableEq n] diff --git a/Mathlib/Data/Matrix/Invertible.lean b/Mathlib/Data/Matrix/Invertible.lean index 4651ebf7f169f1..c24a2976cdb3e3 100644 --- a/Mathlib/Data/Matrix/Invertible.lean +++ b/Mathlib/Data/Matrix/Invertible.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Ahmad Alkhalawi -/ -import Mathlib.LinearAlgebra.Matrix.ConjTranspose -import Mathlib.Tactic.Abel +module + +public import Mathlib.LinearAlgebra.Matrix.ConjTranspose +public import Mathlib.Tactic.Abel /-! # Extra lemmas about invertible matrices @@ -21,6 +23,8 @@ in `LinearAlgebra/Matrix/NonsingularInverse.lean`. * `Matrix.isUnit_transpose` -/ +@[expose] public section + open scoped Matrix diff --git a/Mathlib/Data/Matrix/Mul.lean b/Mathlib/Data/Matrix/Mul.lean index 7f9a3781e45ecf..34edd611b8f0dc 100644 --- a/Mathlib/Data/Matrix/Mul.lean +++ b/Mathlib/Data/Matrix/Mul.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin, Lu-Ming Zhang -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Regular.Basic -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Matrix.Diagonal +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Matrix.Diagonal /-! # Matrix multiplication @@ -47,6 +49,8 @@ Under various conditions, multiplication of infinite matrices makes sense. These have not yet been implemented. -/ +@[expose] public section + assert_not_exists Algebra Field TrivialStar universe u u' v w diff --git a/Mathlib/Data/Matrix/PEquiv.lean b/Mathlib/Data/Matrix/PEquiv.lean index 18060a9fe533a0..5b8c4a2166fa5a 100644 --- a/Mathlib/Data/Matrix/PEquiv.lean +++ b/Mathlib/Data/Matrix/PEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Matrix.Mul -import Mathlib.Data.PEquiv +module + +public import Mathlib.Data.Matrix.Mul +public import Mathlib.Data.PEquiv /-! # partial equivalences for matrices @@ -32,6 +34,8 @@ inverse of this map, sending anything not in the image to zero. This file uses `ᵀ` for `Matrix.transpose`. -/ +@[expose] public section + assert_not_exists Field namespace PEquiv diff --git a/Mathlib/Data/Matrix/Reflection.lean b/Mathlib/Data/Matrix/Reflection.lean index 9adfb4a328927b..e60b1a4b0d6f5a 100644 --- a/Mathlib/Data/Matrix/Reflection.lean +++ b/Mathlib/Data/Matrix/Reflection.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.LinearAlgebra.Matrix.Notation +module + +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.LinearAlgebra.Matrix.Notation /-! # Lemmas for concrete matrices `Matrix (Fin m) (Fin n) α` @@ -30,6 +32,8 @@ corresponding `*_eq` lemmas to be used in a place where they are definitionally -/ +@[expose] public section + open Matrix diff --git a/Mathlib/Data/Multiset/AddSub.lean b/Mathlib/Data/Multiset/AddSub.lean index 1d63e8b6aa1e8b..d7ea0eb5b6d97f 100644 --- a/Mathlib/Data/Multiset/AddSub.lean +++ b/Mathlib/Data/Multiset/AddSub.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Count -import Mathlib.Data.List.Count +module + +public import Mathlib.Data.Multiset.Count +public import Mathlib.Data.List.Count /-! # Sum and difference of multisets @@ -24,6 +26,8 @@ This file defines the following operations on multisets: -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/Antidiagonal.lean b/Mathlib/Data/Multiset/Antidiagonal.lean index a2cadae7c3cc72..1988c703dca59b 100644 --- a/Mathlib/Data/Multiset/Antidiagonal.lean +++ b/Mathlib/Data/Multiset/Antidiagonal.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Powerset +module + +public import Mathlib.Data.Multiset.Powerset /-! # The antidiagonal on a multiset. @@ -12,6 +14,8 @@ The antidiagonal of a multiset `s` consists of all pairs `(t₁, t₂)` such that `t₁ + t₂ = s`. These pairs are counted with multiplicities. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid Ring universe u diff --git a/Mathlib/Data/Multiset/Basic.lean b/Mathlib/Data/Multiset/Basic.lean index a3e3b59a40c602..baccadfdd032ac 100644 --- a/Mathlib/Data/Multiset/Basic.lean +++ b/Mathlib/Data/Multiset/Basic.lean @@ -3,13 +3,17 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.ZeroCons +module + +public import Mathlib.Data.Multiset.ZeroCons /-! # Basic results on multisets -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/Bind.lean b/Mathlib/Data/Multiset/Bind.lean index a60800c441b5bf..67448c9a38e5f4 100644 --- a/Mathlib/Data/Multiset/Bind.lean +++ b/Mathlib/Data/Multiset/Bind.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Basic /-! # Bind operation for multisets @@ -18,6 +20,8 @@ This file defines a few basic operations on `Multiset`, notably the monadic bind * `Multiset.sigma`: Disjoint sum of multisets in a sigma type. -/ +@[expose] public section + assert_not_exists MonoidWithZero MulAction universe v diff --git a/Mathlib/Data/Multiset/Count.lean b/Mathlib/Data/Multiset/Count.lean index 282709203ad582..af9edebb1ef700 100644 --- a/Mathlib/Data/Multiset/Count.lean +++ b/Mathlib/Data/Multiset/Count.lean @@ -3,14 +3,18 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Nodup -import Mathlib.Data.Multiset.ZeroCons +module + +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.Multiset.ZeroCons /-! # Counting multiplicity in a multiset -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/Dedup.lean b/Mathlib/Data/Multiset/Dedup.lean index 7c74a8a90c0051..81c731f4f82094 100644 --- a/Mathlib/Data/Multiset/Dedup.lean +++ b/Mathlib/Data/Multiset/Dedup.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Dedup -import Mathlib.Data.Multiset.UnionInter +module + +public import Mathlib.Data.List.Dedup +public import Mathlib.Data.Multiset.UnionInter /-! # Erasing duplicates in a multiset. -/ +@[expose] public section + assert_not_exists Monoid namespace Multiset diff --git a/Mathlib/Data/Multiset/Defs.lean b/Mathlib/Data/Multiset/Defs.lean index 96494626e50ca8..bb9e46e3a80812 100644 --- a/Mathlib/Data/Multiset/Defs.lean +++ b/Mathlib/Data/Multiset/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Perm.Subperm -import Mathlib.Data.Nat.Basic -import Mathlib.Data.Quot -import Mathlib.Order.Monotone.Defs -import Mathlib.Order.RelClasses -import Mathlib.Tactic.Monotonicity.Attr -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.List.Perm.Subperm +public import Mathlib.Data.Nat.Basic +public import Mathlib.Data.Quot +public import Mathlib.Order.Monotone.Defs +public import Mathlib.Order.RelClasses +public import Mathlib.Tactic.Monotonicity.Attr +public import Mathlib.Util.AssertExists /-! # Multisets @@ -53,6 +55,8 @@ importing `Multiset.Defs`. occurrences of `a` in `s` and `t`. -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid OrderHom diff --git a/Mathlib/Data/Multiset/DershowitzManna.lean b/Mathlib/Data/Multiset/DershowitzManna.lean index 56ac72b53f0a07..bf024b80fde13d 100644 --- a/Mathlib/Data/Multiset/DershowitzManna.lean +++ b/Mathlib/Data/Multiset/DershowitzManna.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Haitian Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Haitian Wang, Malvin Gattinger -/ -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Data.Multiset.OrderedMonoid +module + +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public import Mathlib.Data.Multiset.OrderedMonoid /-! # Dershowitz-Manna ordering @@ -32,6 +34,8 @@ the Dershowitz-Manna ordering defined over multisets is also well-founded. -/ +@[expose] public section + open Relation namespace Multiset diff --git a/Mathlib/Data/Multiset/Filter.lean b/Mathlib/Data/Multiset/Filter.lean index 2cfd9fe147a0af..e9b435db5edf67 100644 --- a/Mathlib/Data/Multiset/Filter.lean +++ b/Mathlib/Data/Multiset/Filter.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.MapFold -import Mathlib.Data.Set.Function -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Data.Multiset.MapFold +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Hom.Basic /-! # Filtering multisets by a predicate @@ -16,6 +18,8 @@ import Mathlib.Order.Hom.Basic * `Multiset.filterMap`: `filterMap f s` is the multiset of `b`s where `some b ∈ map f s`. -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/FinsetOps.lean b/Mathlib/Data/Multiset/FinsetOps.lean index 25a57926f789b7..cc8d84905789f0 100644 --- a/Mathlib/Data/Multiset/FinsetOps.lean +++ b/Mathlib/Data/Multiset/FinsetOps.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Dedup -import Mathlib.Data.List.Infix +module + +public import Mathlib.Data.Multiset.Dedup +public import Mathlib.Data.List.Infix /-! # Preparations for defining operations on `Finset`. @@ -13,6 +15,8 @@ The operations here ignore multiplicities, and prepare for defining the corresponding operations on `Finset`. -/ +@[expose] public section + -- Assert that we define `Finset` without the material on the set lattice. -- Note that we cannot put this in `Data.Finset.Basic` because we proved relevant lemmas there. diff --git a/Mathlib/Data/Multiset/Fintype.lean b/Mathlib/Data/Multiset/Fintype.lean index 9f049e034fad9b..04242e145192c3 100644 --- a/Mathlib/Data/Multiset/Fintype.lean +++ b/Mathlib/Data/Multiset/Fintype.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Multiset coercion to type @@ -32,6 +34,8 @@ a multiset. These coercions and definitions make it easier to sum over multisets multiset enumeration -/ +@[expose] public section + variable {α β : Type*} [DecidableEq α] [DecidableEq β] {m : Multiset α} diff --git a/Mathlib/Data/Multiset/Fold.lean b/Mathlib/Data/Multiset/Fold.lean index acee1d990e97e0..ddd456fcc8ebb4 100644 --- a/Mathlib/Data/Multiset/Fold.lean +++ b/Mathlib/Data/Multiset/Fold.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Dedup +module + +public import Mathlib.Data.Multiset.Dedup /-! # The fold operation for a commutative associative operation over a multiset. -/ +@[expose] public section + namespace Multiset variable {α β : Type*} diff --git a/Mathlib/Data/Multiset/Functor.lean b/Mathlib/Data/Multiset/Functor.lean index 8afc798ab7a399..679a4ecdc4b58d 100644 --- a/Mathlib/Data/Multiset/Functor.lean +++ b/Mathlib/Data/Multiset/Functor.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Simon Hudon, Kenny Lau -/ -import Mathlib.Data.Multiset.Bind -import Mathlib.Control.Traversable.Lemmas -import Mathlib.Control.Traversable.Instances +module + +public import Mathlib.Data.Multiset.Bind +public import Mathlib.Control.Traversable.Lemmas +public import Mathlib.Control.Traversable.Instances /-! # Functoriality of `Multiset`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/Multiset/Interval.lean b/Mathlib/Data/Multiset/Interval.lean index 6602425bbde827..2959b2a9d69741 100644 --- a/Mathlib/Data/Multiset/Interval.lean +++ b/Mathlib/Data/Multiset/Interval.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.DFinsupp.Interval -import Mathlib.Data.DFinsupp.Multiset -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Data.Nat.Lattice +module + +public import Mathlib.Data.DFinsupp.Interval +public import Mathlib.Data.DFinsupp.Multiset +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Data.Nat.Lattice /-! # Finite intervals of multisets @@ -23,6 +25,8 @@ multisets are typically used computationally. -/ +@[expose] public section + open Finset DFinsupp Function diff --git a/Mathlib/Data/Multiset/Lattice.lean b/Mathlib/Data/Multiset/Lattice.lean index 3cb541d3977bbc..dd5789076a06dc 100644 --- a/Mathlib/Data/Multiset/Lattice.lean +++ b/Mathlib/Data/Multiset/Lattice.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.FinsetOps -import Mathlib.Data.Multiset.Fold +module + +public import Mathlib.Data.Multiset.FinsetOps +public import Mathlib.Data.Multiset.Fold /-! # Lattice operations on multisets -/ +@[expose] public section + namespace Multiset diff --git a/Mathlib/Data/Multiset/MapFold.lean b/Mathlib/Data/Multiset/MapFold.lean index 91945d823b64d8..0a912155e3cf0c 100644 --- a/Mathlib/Data/Multiset/MapFold.lean +++ b/Mathlib/Data/Multiset/MapFold.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Perm.Basic -import Mathlib.Data.Multiset.Replicate -import Mathlib.Data.Set.List +module + +public import Mathlib.Data.List.Perm.Basic +public import Mathlib.Data.Multiset.Replicate +public import Mathlib.Data.Set.List /-! # Mapping and folding multisets @@ -23,6 +25,8 @@ should we switch the import direction? -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/NatAntidiagonal.lean b/Mathlib/Data/Multiset/NatAntidiagonal.lean index 0bd91d85ac7dfe..62a3a3fc804de4 100644 --- a/Mathlib/Data/Multiset/NatAntidiagonal.lean +++ b/Mathlib/Data/Multiset/NatAntidiagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.List.NatAntidiagonal -import Mathlib.Data.Multiset.MapFold +module + +public import Mathlib.Data.List.NatAntidiagonal +public import Mathlib.Data.Multiset.MapFold /-! # Antidiagonals in ℕ × ℕ as multisets @@ -19,6 +21,8 @@ This refines file `Data.List.NatAntidiagonal` and is further refined by file `Data.Finset.NatAntidiagonal`. -/ +@[expose] public section + assert_not_exists Monoid namespace Multiset diff --git a/Mathlib/Data/Multiset/OrderedMonoid.lean b/Mathlib/Data/Multiset/OrderedMonoid.lean index 02355bc182506e..dd0ccaeaa77492 100644 --- a/Mathlib/Data/Multiset/OrderedMonoid.lean +++ b/Mathlib/Data/Multiset/OrderedMonoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Algebra.Order.Monoid.Canonical.Defs +module + +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs /-! # Multisets as ordered monoids @@ -13,6 +15,8 @@ The `IsOrderedCancelAddMonoid` and `CanonicallyOrderedAdd` instances on `Multise -/ +@[expose] public section + variable {α : Type*} namespace Multiset diff --git a/Mathlib/Data/Multiset/Pairwise.lean b/Mathlib/Data/Multiset/Pairwise.lean index 7c647a8e4b59cc..952f7cbad48f3a 100644 --- a/Mathlib/Data/Multiset/Pairwise.lean +++ b/Mathlib/Data/Multiset/Pairwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.List.Pairwise -import Mathlib.Data.Multiset.Defs +module + +public import Mathlib.Data.List.Pairwise +public import Mathlib.Data.Multiset.Defs /-! # Pairwise relations on a multiset @@ -13,6 +15,8 @@ This file provides basic results about `Multiset.Pairwise` (definitions are in `Mathlib/Data/Multiset/Defs.lean`). -/ +@[expose] public section + namespace Multiset variable {α : Type*} {r : α → α → Prop} {s : Multiset α} diff --git a/Mathlib/Data/Multiset/Pi.lean b/Mathlib/Data/Multiset/Pi.lean index ac95a61ad7a785..1ed1102254ef6c 100644 --- a/Mathlib/Data/Multiset/Pi.lean +++ b/Mathlib/Data/Multiset/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Multiset.Bind +module + +public import Mathlib.Data.Multiset.Bind /-! # The Cartesian product of multisets @@ -13,6 +15,8 @@ import Mathlib.Data.Multiset.Bind * `Multiset.pi`: Cartesian product of multisets indexed by a multiset. -/ +@[expose] public section + namespace Multiset diff --git a/Mathlib/Data/Multiset/Powerset.lean b/Mathlib/Data/Multiset/Powerset.lean index f6b0f597cf86a5..ac6fdf2196bc33 100644 --- a/Mathlib/Data/Multiset/Powerset.lean +++ b/Mathlib/Data/Multiset/Powerset.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Sublists -import Mathlib.Data.List.Zip -import Mathlib.Data.Multiset.Bind -import Mathlib.Data.Multiset.Range +module + +public import Mathlib.Data.List.Sublists +public import Mathlib.Data.List.Zip +public import Mathlib.Data.Multiset.Bind +public import Mathlib.Data.Multiset.Range /-! # The powerset of a multiset -/ +@[expose] public section + namespace Multiset open List diff --git a/Mathlib/Data/Multiset/Range.lean b/Mathlib/Data/Multiset/Range.lean index 1149531c99f101..a23901230bafe6 100644 --- a/Mathlib/Data/Multiset/Range.lean +++ b/Mathlib/Data/Multiset/Range.lean @@ -3,10 +3,14 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.UnionInter +module + +public import Mathlib.Data.Multiset.UnionInter /-! # `Multiset.range n` gives `{0, 1, ..., n-1}` as a multiset. -/ +@[expose] public section + assert_not_exists Monoid open List Nat diff --git a/Mathlib/Data/Multiset/Replicate.lean b/Mathlib/Data/Multiset/Replicate.lean index df327d6c71dd8a..50e521eb2bea8f 100644 --- a/Mathlib/Data/Multiset/Replicate.lean +++ b/Mathlib/Data/Multiset/Replicate.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.AddSub +module + +public import Mathlib.Data.Multiset.AddSub /-! # Repeating elements in multisets @@ -14,6 +16,8 @@ import Mathlib.Data.Multiset.AddSub -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/Sections.lean b/Mathlib/Data/Multiset/Sections.lean index 17b552594c33bd..bc02b9c24d6801 100644 --- a/Mathlib/Data/Multiset/Sections.lean +++ b/Mathlib/Data/Multiset/Sections.lean @@ -3,12 +3,16 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Multiset.Bind +module + +public import Mathlib.Data.Multiset.Bind /-! # Sections of a multiset -/ +@[expose] public section + assert_not_exists Ring namespace Multiset diff --git a/Mathlib/Data/Multiset/Sort.lean b/Mathlib/Data/Multiset/Sort.lean index ac9e7310505e59..f12c54029d8270 100644 --- a/Mathlib/Data/Multiset/Sort.lean +++ b/Mathlib/Data/Multiset/Sort.lean @@ -3,14 +3,19 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Sort -import Mathlib.Data.Multiset.Range -import Mathlib.Util.Qq +module + +public import Mathlib.Data.List.Sort +public import Mathlib.Data.Multiset.Range +public import Mathlib.Util.Qq +meta import Mathlib.Data.Multiset.Defs /-! # Construct a sorted list from a multiset. -/ +@[expose] public section + variable {α β : Type*} namespace Multiset @@ -78,7 +83,7 @@ end sort open Qq in universe u in -unsafe instance {α : Type u} [Lean.ToLevel.{u}] [Lean.ToExpr α] : +meta unsafe instance {α : Type u} [Lean.ToLevel.{u}] [Lean.ToExpr α] : Lean.ToExpr (Multiset α) := haveI u' := Lean.toLevel.{u} haveI α' : Q(Type u') := Lean.toTypeExpr α diff --git a/Mathlib/Data/Multiset/Sum.lean b/Mathlib/Data/Multiset/Sum.lean index b745c24c4db638..a12b0e2346c2c3 100644 --- a/Mathlib/Data/Multiset/Sum.lean +++ b/Mathlib/Data/Multiset/Sum.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Multiset +module + +public import Mathlib.Algebra.Order.Group.Multiset /-! # Disjoint sum of multisets @@ -16,6 +18,8 @@ with the `Multiset.sum` operation which computes the additive sum. * `Multiset.disjSum`: `s.disjSum t` is the disjoint sum of `s` and `t`. -/ +@[expose] public section + open Sum diff --git a/Mathlib/Data/Multiset/Sym.lean b/Mathlib/Data/Multiset/Sym.lean index f1af8af4b34fb6..92e5dca884ecab 100644 --- a/Mathlib/Data/Multiset/Sym.lean +++ b/Mathlib/Data/Multiset/Sym.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.List.Sym +module + +public import Mathlib.Data.List.Sym /-! # Unordered tuples of elements of a multiset @@ -30,6 +32,8 @@ unordered n-tuples from a given multiset. These are multiset versions of `Nat.mu -/ +@[expose] public section + namespace Multiset variable {α β : Type*} diff --git a/Mathlib/Data/Multiset/UnionInter.lean b/Mathlib/Data/Multiset/UnionInter.lean index e12d2a5e86d92c..d46a148678b62a 100644 --- a/Mathlib/Data/Multiset/UnionInter.lean +++ b/Mathlib/Data/Multiset/UnionInter.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.List.Perm.Lattice -import Mathlib.Data.Multiset.Filter -import Mathlib.Order.MinMax -import Mathlib.Logic.Pairwise +module + +public import Mathlib.Data.List.Perm.Lattice +public import Mathlib.Data.Multiset.Filter +public import Mathlib.Order.MinMax +public import Mathlib.Logic.Pairwise /-! # Distributive lattice structure on multisets @@ -20,6 +22,8 @@ operators: occurrences of `a` in `s` and `t`. -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid diff --git a/Mathlib/Data/Multiset/ZeroCons.lean b/Mathlib/Data/Multiset/ZeroCons.lean index 0916173464491c..5d820f7e16dcf8 100644 --- a/Mathlib/Data/Multiset/ZeroCons.lean +++ b/Mathlib/Data/Multiset/ZeroCons.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Defs -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Data.Multiset.Defs +public import Mathlib.Order.BoundedOrder.Basic /-! # Definition of `0` and `::ₘ` @@ -31,6 +33,8 @@ It also defines the following predicates on multisets: * `Multiset.rec`: recursion on adding one element to a multiset at a time. -/ +@[expose] public section + -- No algebra should be required assert_not_exists Monoid OrderHom diff --git a/Mathlib/Data/NNRat/BigOperators.lean b/Mathlib/Data/NNRat/BigOperators.lean index 24cc4ad7b35500..60a4c77f37e372 100644 --- a/Mathlib/Data/NNRat/BigOperators.lean +++ b/Mathlib/Data/NNRat/BigOperators.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Data.NNRat.Defs +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Data.NNRat.Defs /-! # Casting lemmas for non-negative rational numbers involving sums and products -/ +@[expose] public section + variable {α : Type*} namespace NNRat diff --git a/Mathlib/Data/NNRat/Defs.lean b/Mathlib/Data/NNRat/Defs.lean index 5fd8a66e004707..f03c5943e6e690 100644 --- a/Mathlib/Data/NNRat/Defs.lean +++ b/Mathlib/Data/NNRat/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Order.Nonneg.Basic -import Mathlib.Algebra.Order.Ring.Unbundled.Rat -import Mathlib.Algebra.Ring.Rat -import Mathlib.Data.Set.Operations -import Mathlib.Order.Bounds.Defs -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Order.Nonneg.Basic +public import Mathlib.Algebra.Order.Ring.Unbundled.Rat +public import Mathlib.Algebra.Ring.Rat +public import Mathlib.Data.Set.Operations +public import Mathlib.Order.Bounds.Defs +public import Mathlib.Order.GaloisConnection.Defs /-! # Nonnegative rationals @@ -35,6 +37,8 @@ Whenever you state a lemma about the coercion `ℚ≥0 → ℚ`, check that Lean `Subtype.val`. Else your lemma will never apply. -/ +@[expose] public section + assert_not_exists CompleteLattice OrderedCommMonoid library_note2 «specialised high priority simp lemma» /-- diff --git a/Mathlib/Data/NNRat/Floor.lean b/Mathlib/Data/NNRat/Floor.lean index ab9c0a9323a466..487da5c46b56b2 100644 --- a/Mathlib/Data/NNRat/Floor.lean +++ b/Mathlib/Data/NNRat/Floor.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Data.NNRat.Order -import Mathlib.Data.Rat.Floor +module + +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Data.NNRat.Order +public import Mathlib.Data.Rat.Floor /-! # Floor Function for Non-negative Rational Numbers @@ -21,6 +23,8 @@ Note that we cannot talk about `Int.fract`, which currently only works for rings nnrat, rationals, ℚ≥0, floor -/ +@[expose] public section + assert_not_exists Finset namespace NNRat diff --git a/Mathlib/Data/NNRat/Lemmas.lean b/Mathlib/Data/NNRat/Lemmas.lean index 8415b6d5c477ff..a40cad73cd46b3 100644 --- a/Mathlib/Data/NNRat/Lemmas.lean +++ b/Mathlib/Data/NNRat/Lemmas.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Field.Rat -import Mathlib.Algebra.Group.Indicator -import Mathlib.Algebra.GroupWithZero.Action.End -import Mathlib.Algebra.Order.Field.Rat -import Mathlib.Data.Rat.Lemmas -import Mathlib.Tactic.Zify +module + +public import Mathlib.Algebra.Field.Rat +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Algebra.GroupWithZero.Action.End +public import Mathlib.Algebra.Order.Field.Rat +public import Mathlib.Data.Rat.Lemmas +public import Mathlib.Tactic.Zify /-! # Field and action structures on the nonnegative rationals @@ -17,6 +19,8 @@ This file provides additional results about `NNRat` that cannot live in earlier cycles. -/ +@[expose] public section + open Function open scoped NNRat diff --git a/Mathlib/Data/NNRat/Order.lean b/Mathlib/Data/NNRat/Order.lean index efcdd24ca24bc3..174aded84cd8b5 100644 --- a/Mathlib/Data/NNRat/Order.lean +++ b/Mathlib/Data/NNRat/Order.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Data.NNRat.Defs -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.Algebra.Order.Nonneg.Ring +module + +public import Mathlib.Data.NNRat.Defs +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.Algebra.Order.Nonneg.Ring /-! # Bundled ordered algebra structures on `ℚ≥0` -/ +@[expose] public section + instance : IsStrictOrderedRing ℚ≥0 := Nonneg.isStrictOrderedRing -- TODO: `deriving instance OrderedSub for NNRat` doesn't work yet, so we add the instance manually diff --git a/Mathlib/Data/NNReal/Basic.lean b/Mathlib/Data/NNReal/Basic.lean index 8b9c32f3dbdec7..fdd3c4fcf4b6d4 100644 --- a/Mathlib/Data/NNReal/Basic.lean +++ b/Mathlib/Data/NNReal/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.BigOperators.Expect -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.Field.Canonical -import Mathlib.Algebra.Order.Nonneg.Floor -import Mathlib.Data.Real.Pointwise -import Mathlib.Data.NNReal.Defs -import Mathlib.Order.ConditionallyCompleteLattice.Group +module + +public import Mathlib.Algebra.BigOperators.Expect +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.Field.Canonical +public import Mathlib.Algebra.Order.Nonneg.Floor +public import Mathlib.Data.Real.Pointwise +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Order.ConditionallyCompleteLattice.Group /-! # Basic results on nonnegative real numbers @@ -22,6 +24,8 @@ As a consequence, it is a bit of a random collection of results, and is a good t This file uses `ℝ≥0` as a localized notation for `NNReal`. -/ +@[expose] public section + assert_not_exists TrivialStar open Function diff --git a/Mathlib/Data/NNReal/Defs.lean b/Mathlib/Data/NNReal/Defs.lean index 6c8f6fa7057d1b..9367b611b0e20c 100644 --- a/Mathlib/Data/NNReal/Defs.lean +++ b/Mathlib/Data/NNReal/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Order.Nonneg.Module -import Mathlib.Data.Real.Archimedean +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Order.Nonneg.Module +public import Mathlib.Data.Real.Archimedean /-! # Nonnegative real numbers @@ -45,6 +47,8 @@ of `x` with `↑x`. This tactic also works for a function `f : α → ℝ` with This file defines `ℝ≥0` as a localized notation for `NNReal`. -/ +@[expose] public section + assert_not_exists TrivialStar open Function @@ -984,7 +988,7 @@ private alias ⟨_, nnreal_coe_pos⟩ := coe_pos /-- Extension for the `positivity` tactic: cast from `ℝ≥0` to `ℝ`. -/ @[positivity NNReal.toReal _] -def evalNNRealtoReal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNNRealtoReal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(NNReal.toReal $a) => let ra ← core q(inferInstance) q(inferInstance) a diff --git a/Mathlib/Data/NNReal/Star.lean b/Mathlib/Data/NNReal/Star.lean index d0ec78404e22a2..0296293e28a6d4 100644 --- a/Mathlib/Data/NNReal/Star.lean +++ b/Mathlib/Data/NNReal/Star.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Data.NNReal.Defs -import Mathlib.Data.Real.Star +module + +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Data.Real.Star /-! # The non-negative real numbers are a `*`-ring, with the trivial `*`-structure -/ +@[expose] public section + assert_not_exists Finset open scoped NNReal diff --git a/Mathlib/Data/Nat/Basic.lean b/Mathlib/Data/Nat/Basic.lean index 54c0b996b1ca7e..e97cbd9a977473 100644 --- a/Mathlib/Data/Nat/Basic.lean +++ b/Mathlib/Data/Nat/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Init -import Mathlib.Data.Set.Defs -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Order.Defs.LinearOrder -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.GCongr.Core -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.Nat.Init +public import Mathlib.Data.Set.Defs +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Order.Defs.LinearOrder +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.GCongr.Core +public import Mathlib.Util.AssertExists /-! # Basic operations on the natural numbers @@ -20,6 +22,8 @@ depending on Mathlib definitions. See note [foundational algebra order theory]. -/ +@[expose] public section + /- We don't want to import the algebraic hierarchy in this file. -/ assert_not_exists Monoid diff --git a/Mathlib/Data/Nat/BinaryRec.lean b/Mathlib/Data/Nat/BinaryRec.lean index 0b78757465f07d..58b09dd53366e5 100644 --- a/Mathlib/Data/Nat/BinaryRec.lean +++ b/Mathlib/Data/Nat/BinaryRec.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Praneeth Kolichala, Yuyang Zhao -/ -import Batteries.Tactic.Alias -import Mathlib.Init +module + +public import Batteries.Tactic.Alias +public import Mathlib.Init /-! # Binary recursion on `Nat` @@ -18,6 +20,8 @@ This file defines binary recursion on `Nat`. * `Nat.binaryRecFromOne`: The same as `binaryRec`, but special casing both 0 and 1 as base cases. -/ +@[expose] public section + universe u namespace Nat diff --git a/Mathlib/Data/Nat/BitIndices.lean b/Mathlib/Data/Nat/BitIndices.lean index 65d72f508b539d..3b262c1da8ef6a 100644 --- a/Mathlib/Data/Nat/BitIndices.lean +++ b/Mathlib/Data/Nat/BitIndices.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Algebra.Order.BigOperators.Group.List -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.List.Sort -import Mathlib.Data.Nat.Bitwise +module + +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Algebra.Order.BigOperators.Group.List +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.List.Sort +public import Mathlib.Data.Nat.Bitwise /-! # Bit Indices @@ -25,6 +27,8 @@ This is used in `Combinatorics.colex` to construct a bijection `equivBitIndices Relate the material in this file to `Nat.digits` and `Nat.bits`. -/ +@[expose] public section + open List namespace Nat diff --git a/Mathlib/Data/Nat/Bits.lean b/Mathlib/Data/Nat/Bits.lean index 43447af040b8ce..1f082a87c13f27 100644 --- a/Mathlib/Data/Nat/Bits.lean +++ b/Mathlib/Data/Nat/Bits.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Data.List.Defs -import Mathlib.Tactic.Convert -import Mathlib.Tactic.GeneralizeProofs -import Mathlib.Tactic.Says -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Data.List.Defs +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.GeneralizeProofs +public import Mathlib.Tactic.Says +public import Mathlib.Util.AssertExists /-! # Additional properties of binary recursion on `Nat` @@ -22,6 +24,8 @@ See also: `Nat.bitwise`, `Nat.pow` (for various lemmas about `size` and `shiftLe and `Nat.digits`. -/ +@[expose] public section + assert_not_exists Monoid -- Once we're in the `Nat` namespace, `xor` will inconveniently resolve to `Nat.xor`. diff --git a/Mathlib/Data/Nat/Bitwise.lean b/Mathlib/Data/Nat/Bitwise.lean index eaacbbedf3f132..dc55fa8032a40b 100644 --- a/Mathlib/Data/Nat/Bitwise.lean +++ b/Mathlib/Data/Nat/Bitwise.lean @@ -3,15 +3,18 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Alex Keizer -/ -import Mathlib.Algebra.Group.Nat.Even -import Mathlib.Algebra.NeZero -import Mathlib.Algebra.Ring.Nat -import Mathlib.Data.Bool.Basic -import Mathlib.Data.List.GetD -import Mathlib.Data.Nat.Bits -import Mathlib.Order.Basic -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Nat.Even +public import Mathlib.Algebra.NeZero +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Data.Bool.Basic +public import Mathlib.Data.List.GetD +public import Mathlib.Data.Nat.Bits +public import Mathlib.Order.Basic +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Common +import all Init.Data.Nat.Bitwise.Basic -- for unfolding `bitwise` /-! # Bitwise operations on natural numbers @@ -38,6 +41,8 @@ should be connected. bitwise, and, or, xor -/ +@[expose] public section + open Function namespace Nat diff --git a/Mathlib/Data/Nat/Cast/Basic.lean b/Mathlib/Data/Nat/Cast/Basic.lean index 4efe882bbc6390..5e9a30c08d24e3 100644 --- a/Mathlib/Data/Nat/Cast/Basic.lean +++ b/Mathlib/Data/Nat/Cast/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Divisibility.Hom -import Mathlib.Algebra.Group.Even -import Mathlib.Algebra.Group.Nat.Hom -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Algebra.Ring.Nat +module + +public import Mathlib.Algebra.Divisibility.Hom +public import Mathlib.Algebra.Group.Even +public import Mathlib.Algebra.Group.Nat.Hom +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Algebra.Ring.Nat /-! # Cast of natural numbers (additional theorems) @@ -21,6 +23,8 @@ the natural numbers into an additive monoid with a one (`Nat.cast`). * `castRingHom`: `cast` bundled as a `RingHom`. -/ +@[expose] public section + assert_not_exists OrderedCommGroup Commute.zero_right Commute.add_right abs_eq_max_neg NeZero.natCast_ne -- TODO: `MulOpposite.op_natCast` was not intended to be imported diff --git a/Mathlib/Data/Nat/Cast/Commute.lean b/Mathlib/Data/Nat/Cast/Commute.lean index a0cc842c8b496d..6891435582148d 100644 --- a/Mathlib/Data/Nat/Cast/Commute.lean +++ b/Mathlib/Data/Nat/Cast/Commute.lean @@ -3,14 +3,18 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.Ring.Commute +module + +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.Ring.Commute /-! # Cast of natural numbers: lemmas about `Commute` -/ +@[expose] public section + variable {α : Type*} namespace Nat diff --git a/Mathlib/Data/Nat/Cast/Defs.lean b/Mathlib/Data/Nat/Cast/Defs.lean index 93d27fb8b4a341..32555f165f9719 100644 --- a/Mathlib/Data/Nat/Cast/Defs.lean +++ b/Mathlib/Data/Nat/Cast/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Gabriel Ebner -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Data.Nat.Init -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.OfNat +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Data.Nat.Init +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.OfNat /-! # Cast of natural numbers @@ -24,6 +26,8 @@ Preferentially, the homomorphism is written as the coercion `Nat.cast`. * `Nat.cast`: Canonical homomorphism `ℕ → R`. -/ +@[expose] public section + variable {R : Type*} /-- The numeral `((0+1)+⋯)+1`. -/ diff --git a/Mathlib/Data/Nat/Cast/Field.lean b/Mathlib/Data/Nat/Cast/Field.lean index e1538e812a2ce4..16209c4e705a17 100644 --- a/Mathlib/Data/Nat/Cast/Field.lean +++ b/Mathlib/Data/Nat/Cast/Field.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yaël Dillies, Patrick Stevens -/ -import Mathlib.Algebra.CharZero.Defs -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Tactic.Common -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Units.Basic +module + +public import Mathlib.Algebra.CharZero.Defs +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Tactic.Common +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Basic /-! # Cast of naturals into fields @@ -19,6 +21,8 @@ This file concerns the canonical homomorphism `ℕ → F`, where `F` is a field. * `Nat.cast_div`: if `n` divides `m`, then `↑(m / n) = ↑m / ↑n` -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Cast/NeZero.lean b/Mathlib/Data/Nat/Cast/NeZero.lean index e3fbc25aab9460..a35c41207eebf3 100644 --- a/Mathlib/Data/Nat/Cast/NeZero.lean +++ b/Mathlib/Data/Nat/Cast/NeZero.lean @@ -3,12 +3,16 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Gabriel Ebner -/ -import Mathlib.Data.Nat.Cast.Defs +module + +public import Mathlib.Data.Nat.Cast.Defs /-! # Lemmas about nonzero elements of an `AddMonoidWithOne` -/ +@[expose] public section + open Nat namespace NeZero diff --git a/Mathlib/Data/Nat/Cast/Order/Basic.lean b/Mathlib/Data/Nat/Cast/Order/Basic.lean index 9b434345351fa7..a46cf6b4818a8c 100644 --- a/Mathlib/Data/Nat/Cast/Order/Basic.lean +++ b/Mathlib/Data/Nat/Cast/Order/Basic.lean @@ -3,17 +3,21 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Data.Nat.Cast.NeZero -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Data.Nat.Cast.NeZero +public import Mathlib.Order.Hom.Basic /-! # Cast of natural numbers: lemmas about order -/ +@[expose] public section + assert_not_exists OrderedCommMonoid variable {α : Type*} diff --git a/Mathlib/Data/Nat/Cast/Order/Field.lean b/Mathlib/Data/Nat/Cast/Order/Field.lean index 57f2dccc12595f..22357a45426fb4 100644 --- a/Mathlib/Data/Nat/Cast/Order/Field.lean +++ b/Mathlib/Data/Nat/Cast/Order/Field.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yaël Dillies, Patrick Stevens -/ -import Mathlib.Algebra.Order.Field.Basic +module + +public import Mathlib.Algebra.Order.Field.Basic /-! # Cast of naturals into ordered fields @@ -15,6 +17,8 @@ This file concerns the canonical homomorphism `ℕ → F`, where `F` is a `Linea * `Nat.cast_div_le`: in all cases, `↑(m / n) ≤ ↑m / ↑ n` -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Cast/Order/Ring.lean b/Mathlib/Data/Nat/Cast/Order/Ring.lean index fbc62125a71774..34b327c9845c63 100644 --- a/Mathlib/Data/Nat/Cast/Order/Ring.lean +++ b/Mathlib/Data/Nat/Cast/Order/Ring.lean @@ -3,16 +3,20 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.Nat.Cast.Order.Basic +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.Nat.Cast.Order.Basic /-! # Cast of natural numbers: lemmas about bundled ordered semirings -/ +@[expose] public section + variable {R α : Type*} namespace Nat diff --git a/Mathlib/Data/Nat/Cast/Prod.lean b/Mathlib/Data/Nat/Cast/Prod.lean index 19f4997ff20fab..8850134e8a6450 100644 --- a/Mathlib/Data/Nat/Cast/Prod.lean +++ b/Mathlib/Data/Nat/Cast/Prod.lean @@ -3,13 +3,17 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Prod -import Mathlib.Data.Nat.Cast.Defs +module + +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Data.Nat.Cast.Defs /-! # The product of two `AddMonoidWithOne`s. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {α β : Type*} diff --git a/Mathlib/Data/Nat/Cast/SetInterval.lean b/Mathlib/Data/Nat/Cast/SetInterval.lean index 92192f67a86953..1e32bfca2d8903 100644 --- a/Mathlib/Data/Nat/Cast/SetInterval.lean +++ b/Mathlib/Data/Nat/Cast/SetInterval.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Order.Nat -import Mathlib.Order.UpperLower.Basic +module + +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Order.Nat +public import Mathlib.Order.UpperLower.Basic /-! # Images of intervals under `Nat.cast : ℕ → ℤ` @@ -16,6 +18,8 @@ In this file we prove that the image of each `Set.Ixx` interval under `Nat.cast is the corresponding interval in `ℤ`. -/ +@[expose] public section + open Set namespace Nat diff --git a/Mathlib/Data/Nat/Cast/Synonym.lean b/Mathlib/Data/Nat/Cast/Synonym.lean index 134b313775e2de..58ccc8e6967bdc 100644 --- a/Mathlib/Data/Nat/Cast/Synonym.lean +++ b/Mathlib/Data/Nat/Cast/Synonym.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Cast.Defs -import Mathlib.Order.Synonym +module + +public import Mathlib.Data.Nat.Cast.Defs +public import Mathlib.Order.Synonym /-! # Cast of natural numbers (additional theorems) @@ -13,6 +15,8 @@ This file proves additional properties about the *canonical* homomorphism from the natural numbers into an additive monoid with a one (`Nat.cast`). -/ +@[expose] public section + variable {α : Type*} /-! ### Order dual -/ diff --git a/Mathlib/Data/Nat/Cast/WithTop.lean b/Mathlib/Data/Nat/Cast/WithTop.lean index 87ebd68826b993..8f66b62d0fe62e 100644 --- a/Mathlib/Data/Nat/Cast/WithTop.lean +++ b/Mathlib/Data/Nat/Cast/WithTop.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Ring.Nat -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +module + +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop /-! # Lemma about the coercion `ℕ → WithBot ℕ`. @@ -13,6 +15,8 @@ An orphaned lemma about casting from `ℕ` to `WithBot ℕ`, exiled here during the port to minimize imports of `Algebra.Order.Ring.Rat`. -/ +@[expose] public section + instance : WellFoundedRelation (WithTop ℕ) where rel := (· < ·) wf := IsWellFounded.wf diff --git a/Mathlib/Data/Nat/ChineseRemainder.lean b/Mathlib/Data/Nat/ChineseRemainder.lean index 6d1eb514640153..479c214ab6dd10 100644 --- a/Mathlib/Data/Nat/ChineseRemainder.lean +++ b/Mathlib/Data/Nat/ChineseRemainder.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Shogo Saito. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shogo Saito. Adapted for mathlib by Hunter Monroe -/ -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Data.Nat.ModEq -import Mathlib.Data.Nat.GCD.BigOperators +module + +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Data.Nat.GCD.BigOperators /-! # Chinese Remainder Theorem @@ -22,6 +24,8 @@ Gödel's Beta function, which is used in proving Gödel's incompleteness theorem Chinese Remainder Theorem, Gödel, beta function -/ +@[expose] public section + open scoped Function -- required for scoped `on` notation namespace Nat diff --git a/Mathlib/Data/Nat/Choose/Basic.lean b/Mathlib/Data/Nat/Choose/Basic.lean index b68fbae59ea432..b22049af6952b6 100644 --- a/Mathlib/Data/Nat/Choose/Basic.lean +++ b/Mathlib/Data/Nat/Choose/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Bhavik Mehta, Stuart Presnell -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Order.Monotone.Defs +module + +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Order.Monotone.Defs /-! # Binomial coefficients @@ -37,6 +39,8 @@ see `Fintype.card_powersetCard` in `Mathlib/Data/Finset/Powerset.lean`. binomial coefficient, combination, multicombination, stars and bars -/ +@[expose] public section + namespace Nat /-- `choose n k` is the number of `k`-element subsets in an `n`-element set. Also known as binomial diff --git a/Mathlib/Data/Nat/Choose/Bounds.lean b/Mathlib/Data/Nat/Choose/Bounds.lean index 3298c6091b8c06..67c882bc7da593 100644 --- a/Mathlib/Data/Nat/Choose/Bounds.lean +++ b/Mathlib/Data/Nat/Choose/Bounds.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Eric Rodriguez -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Nat.Choose.Basic +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Nat.Choose.Basic /-! # Inequalities for binomial coefficients @@ -20,6 +22,8 @@ bounds `n^r/r^r ≤ n.choose r ≤ e^r n^r/r^r` in the future. * `Nat.pow_le_choose`: `(n + 1 - r)^r / r! ≤ n.choose r`. Beware of the fishy ℕ-subtraction. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/Nat/Choose/Cast.lean b/Mathlib/Data/Nat/Choose/Cast.lean index f2334974dff4d8..e50502e12b78fb 100644 --- a/Mathlib/Data/Nat/Choose/Cast.lean +++ b/Mathlib/Data/Nat/Choose/Cast.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.Nat.Factorial.Cast +module + +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.Nat.Factorial.Cast /-! # Cast of binomial coefficients @@ -13,6 +15,8 @@ This file allows calculating the binomial coefficient `a.choose b` as an element of characteristic `0`. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/Nat/Choose/Central.lean b/Mathlib/Data/Nat/Choose/Central.lean index bd9de22543f405..cac8f32617153c 100644 --- a/Mathlib/Data/Nat/Choose/Central.lean +++ b/Mathlib/Data/Nat/Choose/Central.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Stevens. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Stevens, Thomas Browning -/ -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.Nat.GCD.Basic -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.Nat.GCD.Basic +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Linarith /-! # Central binomial coefficients @@ -24,6 +26,8 @@ This file proves properties of the central binomial coefficients (that is, `Nat. definition of the Catalan numbers is integer-valued. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Choose/Dvd.lean b/Mathlib/Data/Nat/Choose/Dvd.lean index f33a86fad7a8a1..ccaaf4514cef50 100644 --- a/Mathlib/Data/Nat/Choose/Dvd.lean +++ b/Mathlib/Data/Nat/Choose/Dvd.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Patrick Stevens -/ -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Data.Nat.Prime.Factorial +module + +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Data.Nat.Prime.Factorial /-! # Divisibility properties of binomial coefficients -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Choose/Factorization.lean b/Mathlib/Data/Nat/Choose/Factorization.lean index 979c0ae0fb687d..c810b9e4ae8530 100644 --- a/Mathlib/Data/Nat/Choose/Factorization.lean +++ b/Mathlib/Data/Nat/Choose/Factorization.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey, Patrick Stevens, Thomas Browning -/ -import Mathlib.Algebra.Order.Ring.GeomSum -import Mathlib.Data.Nat.Choose.Central -import Mathlib.Data.Nat.Digits.Lemmas -import Mathlib.Data.Nat.Factorization.Basic +module + +public import Mathlib.Algebra.Order.Ring.GeomSum +public import Mathlib.Data.Nat.Choose.Central +public import Mathlib.Data.Nat.Digits.Lemmas +public import Mathlib.Data.Nat.Factorization.Basic /-! # Factorization of Binomial Coefficients @@ -26,6 +28,8 @@ bounds in binomial coefficients. These include: These results appear in the [Erdős proof of Bertrand's postulate](aigner1999proofs). -/ +@[expose] public section + open Finset List Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Choose/Lucas.lean b/Mathlib/Data/Nat/Choose/Lucas.lean index 048839985caa90..9b57dd75ba62dd 100644 --- a/Mathlib/Data/Nat/Choose/Lucas.lean +++ b/Mathlib/Data/Nat/Choose/Lucas.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Gareth Ma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gareth Ma -/ -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Polynomial.Basic +module + +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.Polynomial.Basic /-! # Lucas's theorem @@ -21,6 +23,8 @@ respectively. k_i` modulo `p`, where `n_i` and `k_i` are the base-`p` digits of `n` and `k`, respectively. -/ +@[expose] public section + open Finset hiding choose open Nat Polynomial diff --git a/Mathlib/Data/Nat/Choose/Mul.lean b/Mathlib/Data/Nat/Choose/Mul.lean index b898db0e282750..18758e9b4bf69c 100644 --- a/Mathlib/Data/Nat/Choose/Mul.lean +++ b/Mathlib/Data/Nat/Choose/Mul.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir & María-Inés de Frutos—Fernández. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María-Inés de Frutos—Fernández -/ +module -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Tactic.Ring.RingNF +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Tactic.Ring.RingNF /-! # Two lemmas on choose @@ -14,6 +15,8 @@ and can't be given in `Mathlib/Data/Nat/Choose/Basic.lean` -/ +@[expose] public section + namespace Nat theorem choose_mul_add {m n : ℕ} (hn : n ≠ 0) : diff --git a/Mathlib/Data/Nat/Choose/Multinomial.lean b/Mathlib/Data/Nat/Choose/Multinomial.lean index f10927d4a10c1f..3926a859707c20 100644 --- a/Mathlib/Data/Nat/Choose/Multinomial.lean +++ b/Mathlib/Data/Nat/Choose/Multinomial.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Pim Otte -/ -import Mathlib.Algebra.Order.Antidiag.Pi -import Mathlib.Data.Finsupp.Multiset -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Data.Nat.Factorial.BigOperators -import Mathlib.Data.Nat.Factorial.DoubleFactorial +module + +public import Mathlib.Algebra.Order.Antidiag.Pi +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Data.Nat.Factorial.BigOperators +public import Mathlib.Data.Nat.Factorial.DoubleFactorial /-! # Multinomial @@ -24,6 +26,8 @@ This file defines the multinomial coefficient and several small lemma's for mani -/ +@[expose] public section + open Finset open scoped Nat diff --git a/Mathlib/Data/Nat/Choose/Sum.lean b/Mathlib/Data/Nat/Choose/Sum.lean index 72cbd4b0e31c43..12d59e01eb60a0 100644 --- a/Mathlib/Data/Nat/Choose/Sum.lean +++ b/Mathlib/Data/Nat/Choose/Sum.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Patrick Stevens -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Algebra.BigOperators.NatAntidiagonal -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Algebra.BigOperators.NatAntidiagonal +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Ring /-! # Sums of binomial coefficients @@ -18,6 +20,8 @@ coefficients. Theorems whose proofs depend on such sums may also go in this file reasons. -/ +@[expose] public section + open Nat Finset variable {R : Type*} diff --git a/Mathlib/Data/Nat/Choose/Vandermonde.lean b/Mathlib/Data/Nat/Choose/Vandermonde.lean index 02470cdffaec84..d77b3c4bac527c 100644 --- a/Mathlib/Data/Nat/Choose/Vandermonde.lean +++ b/Mathlib/Data/Nat/Choose/Vandermonde.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.Coeff -import Mathlib.Data.Nat.Choose.Basic +module + +public import Mathlib.Algebra.Polynomial.Coeff +public import Mathlib.Data.Nat.Choose.Basic /-! @@ -18,6 +20,8 @@ https://en.wikipedia.org/wiki/Vandermonde%27s_identity#Algebraic_proof . -/ +@[expose] public section + open Polynomial Finset Finset.Nat diff --git a/Mathlib/Data/Nat/Count.lean b/Mathlib/Data/Nat/Count.lean index 50ae44d3e2ce0c..2036368fc98e94 100644 --- a/Mathlib/Data/Nat/Count.lean +++ b/Mathlib/Data/Nat/Count.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Vladimir Goryachev. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Vladimir Goryachev, Kyle Miller, Kim Morrison, Eric Rodriguez -/ -import Mathlib.Algebra.Group.Nat.Range -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Group.Nat.Range +public import Mathlib.Data.Set.Finite.Basic /-! # Counting on ℕ @@ -16,6 +18,8 @@ objects, and helping to evaluate it for specific `k`. -/ +@[expose] public section + assert_not_imported Mathlib.Dynamics.FixedPoints.Basic assert_not_exists Ring diff --git a/Mathlib/Data/Nat/Digits/Defs.lean b/Mathlib/Data/Nat/Digits/Defs.lean index f2dbc0aa60f7eb..179cef773da579 100644 --- a/Mathlib/Data/Nat/Digits/Defs.lean +++ b/Mathlib/Data/Nat/Digits/Defs.lean @@ -3,10 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Shing Tak Lam, Mario Carneiro -/ -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Linarith -import Mathlib.Algebra.Order.Group.Nat +module + +public import Mathlib.Tactic.NormNum +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Linarith +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Ring.Defs +import all Init.Data.Repr -- for exposing `toDigitsCore` /-! # Digits of a natural number @@ -25,6 +29,8 @@ A basic `norm_digits` tactic for proving goals of the form `Nat.digits a b = l` are numerals is not yet ported. -/ +@[expose] public section + assert_not_exists Finset namespace Nat diff --git a/Mathlib/Data/Nat/Digits/Div.lean b/Mathlib/Data/Nat/Digits/Div.lean index 1eedc5f60c1cfe..fa37cfd08fc598 100644 --- a/Mathlib/Data/Nat/Digits/Div.lean +++ b/Mathlib/Data/Nat/Digits/Div.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Shing Tak Lam, Mario Carneiro -/ -import Mathlib.Data.List.Palindrome -import Mathlib.Data.Nat.Digits.Lemmas +module + +public import Mathlib.Data.List.Palindrome +public import Mathlib.Data.Nat.Digits.Lemmas /-! # Divisibility tests for natural numbers in terms of digits. @@ -14,6 +16,8 @@ Theorem #85 from https://www.cs.ru.nl/~freek/100/. -/ +@[expose] public section + namespace Nat variable {n : ℕ} diff --git a/Mathlib/Data/Nat/Digits/Lemmas.lean b/Mathlib/Data/Nat/Digits/Lemmas.lean index 199a0fa38806e6..b9a6f90c162772 100644 --- a/Mathlib/Data/Nat/Digits/Lemmas.lean +++ b/Mathlib/Data/Nat/Digits/Lemmas.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Shing Tak Lam, Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Data.Int.ModEq -import Mathlib.Data.Nat.Bits -import Mathlib.Data.Nat.Log -import Mathlib.Tactic.IntervalCases -import Mathlib.Data.Nat.Digits.Defs +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Data.Int.ModEq +public import Mathlib.Data.Nat.Bits +public import Mathlib.Data.Nat.Log +public import Mathlib.Tactic.IntervalCases +public import Mathlib.Data.Nat.Digits.Defs /-! # Digits of a natural number @@ -17,6 +19,8 @@ import Mathlib.Data.Nat.Digits.Defs This provides lemma about the digits of natural numbers. -/ +@[expose] public section + namespace Nat variable {n : ℕ} diff --git a/Mathlib/Data/Nat/Dist.lean b/Mathlib/Data/Nat/Dist.lean index 095f541c6c23c5..ed98e2295d5bf4 100644 --- a/Mathlib/Data/Nat/Dist.lean +++ b/Mathlib/Data/Nat/Dist.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Jeremy Avigad -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Ring.Canonical +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Ring.Canonical /-! # Distance function on ℕ @@ -12,6 +14,8 @@ import Mathlib.Algebra.Order.Ring.Canonical This file defines a simple distance function on naturals from truncated subtraction. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/EvenOddRec.lean b/Mathlib/Data/Nat/EvenOddRec.lean index 679a7ff57f0977..a3e2db9fcc9d6b 100644 --- a/Mathlib/Data/Nat/EvenOddRec.lean +++ b/Mathlib/Data/Nat/EvenOddRec.lean @@ -3,11 +3,15 @@ Copyright (c) 2022 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell -/ -import Mathlib.Algebra.Ring.Parity -import Mathlib.Data.Nat.BinaryRec +module + +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Data.Nat.BinaryRec /-! # A recursion principle based on even and odd numbers. -/ +@[expose] public section + namespace Nat /-- Recursion principle on even and odd numbers: if we have `P 0`, and for all `i : ℕ` we can diff --git a/Mathlib/Data/Nat/Factorial/Basic.lean b/Mathlib/Data/Nat/Factorial/Basic.lean index b33a2989d6f930..0d3a850906f561 100644 --- a/Mathlib/Data/Nat/Factorial/Basic.lean +++ b/Mathlib/Data/Nat/Factorial/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Chris Hughes, Floris van Doorn, Yaël Dillies -/ -import Mathlib.Data.Nat.Basic -import Mathlib.Tactic.Common -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Data.Nat.Basic +public import Mathlib.Tactic.Common +public import Mathlib.Tactic.Monotonicity.Attr /-! # Factorial and variants @@ -23,6 +25,8 @@ see `Fintype.card_perm`. `n - k + 1` to `n`. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Factorial/BigOperators.lean b/Mathlib/Data/Nat/Factorial/BigOperators.lean index 6d970006af9125..16b40543404fd4 100644 --- a/Mathlib/Data/Nat/Factorial/BigOperators.lean +++ b/Mathlib/Data/Nat/Factorial/BigOperators.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Pim Otte -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Tactic.Zify +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Tactic.Zify /-! # Factorial with big operators @@ -16,6 +18,8 @@ While in terms of semantics they could be in the `Basic.lean` file, importing -/ +@[expose] public section + open Finset Nat diff --git a/Mathlib/Data/Nat/Factorial/Cast.lean b/Mathlib/Data/Nat/Factorial/Cast.lean index 31972af6d0f0db..dbf391111843df 100644 --- a/Mathlib/Data/Nat/Factorial/Cast.lean +++ b/Mathlib/Data/Nat/Factorial/Cast.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.RingTheory.Polynomial.Pochhammer +module + +public import Mathlib.RingTheory.Polynomial.Pochhammer /-! # Cast of factorials @@ -17,6 +19,8 @@ to subtraction on a general semiring. For example, we can't rely on existing cas to `↑a - 1`, the other factor is `0` anyway. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/Nat/Factorial/DoubleFactorial.lean b/Mathlib/Data/Nat/Factorial/DoubleFactorial.lean index 54db24579e0d66..40d3bb7a8ca3f2 100644 --- a/Mathlib/Data/Nat/Factorial/DoubleFactorial.lean +++ b/Mathlib/Data/Nat/Factorial/DoubleFactorial.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Jake Levinson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jake Levinson -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Positivity.Core -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Positivity.Core +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Double factorials @@ -19,6 +21,8 @@ This file defines the double factorial, * `Nat.doubleFactorial`: The double factorial. -/ +@[expose] public section + open Nat @@ -83,7 +87,7 @@ open Lean Meta Qq /-- Extension for `Nat.doubleFactorial`. -/ @[positivity Nat.doubleFactorial _] -def evalDoubleFactorial : PositivityExt where eval {u α} _ _ e := do +meta def evalDoubleFactorial : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.doubleFactorial $n) => assumeInstancesCommute diff --git a/Mathlib/Data/Nat/Factorial/NatCast.lean b/Mathlib/Data/Nat/Factorial/NatCast.lean index 449206883e66c3..a9c8f66acfe90d 100644 --- a/Mathlib/Data/Nat/Factorial/NatCast.lean +++ b/Mathlib/Data/Nat/Factorial/NatCast.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Invertibility of factorials @@ -17,6 +18,8 @@ to be a unit. -/ +@[expose] public section + namespace IsUnit open Nat diff --git a/Mathlib/Data/Nat/Factorial/SuperFactorial.lean b/Mathlib/Data/Nat/Factorial/SuperFactorial.lean index 6d376e04113115..6dcb7e033fe99e 100644 --- a/Mathlib/Data/Nat/Factorial/SuperFactorial.lean +++ b/Mathlib/Data/Nat/Factorial/SuperFactorial.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Tactic.Ring /-! # Superfactorial @@ -17,6 +19,8 @@ This file defines the [superfactorial](https://en.wikipedia.org/wiki/Superfactor * `Nat.superFactorial`: The superfactorial, denoted by `sf`. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Factorization/Basic.lean b/Mathlib/Data/Nat/Factorization/Basic.lean index 83677032fb614d..fe68740503035e 100644 --- a/Mathlib/Data/Nat/Factorization/Basic.lean +++ b/Mathlib/Data/Nat/Factorization/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell -/ -import Mathlib.Algebra.Order.Interval.Finset.SuccPred -import Mathlib.Data.Nat.Factorization.Defs -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Algebra.Order.Interval.Finset.SuccPred +public import Mathlib.Data.Nat.Factorization.Defs +public import Mathlib.Order.Interval.Finset.Nat /-! # Basic lemmas on prime factorizations -/ +@[expose] public section + open Finset List Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Factorization/Defs.lean b/Mathlib/Data/Nat/Factorization/Defs.lean index 36b4c1e00332ac..a11d7bd59de43b 100644 --- a/Mathlib/Data/Nat/Factorization/Defs.lean +++ b/Mathlib/Data/Nat/Factorization/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell -/ -import Batteries.Data.List.Count -import Mathlib.Data.Finsupp.Multiset -import Mathlib.Data.Finsupp.Order -import Mathlib.Data.Nat.PrimeFin -import Mathlib.NumberTheory.Padics.PadicVal.Defs +module + +public import Batteries.Data.List.Count +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.Data.Finsupp.Order +public import Mathlib.Data.Nat.PrimeFin +public import Mathlib.NumberTheory.Padics.PadicVal.Defs /-! # Prime factorizations @@ -36,6 +38,8 @@ mapping each prime factor of `n` to its multiplicity in `n`. For example, since -/ +@[expose] public section + open Nat Finset List Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Factorization/Induction.lean b/Mathlib/Data/Nat/Factorization/Induction.lean index 74ac465ccda3e7..b4d7f97e8d9be3 100644 --- a/Mathlib/Data/Nat/Factorization/Induction.lean +++ b/Mathlib/Data/Nat/Factorization/Induction.lean @@ -3,12 +3,16 @@ Copyright (c) 2021 Stuart Presnell. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stuart Presnell -/ -import Mathlib.Data.Nat.Factorization.Defs +module + +public import Mathlib.Data.Nat.Factorization.Defs /-! # Induction principles involving factorizations -/ +@[expose] public section + open Nat Finset List Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Factorization/LCM.lean b/Mathlib/Data/Nat/Factorization/LCM.lean index 590e63b5ab2885..0adecb4b1bf64f 100644 --- a/Mathlib/Data/Nat/Factorization/LCM.lean +++ b/Mathlib/Data/Nat/Factorization/LCM.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau -/ -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.Data.Nat.GCD.BigOperators +module + +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.Data.Nat.GCD.BigOperators /-! # Lemmas about `factorizationLCMLeft` @@ -13,6 +15,8 @@ This file contains some lemmas about `factorizationLCMLeft`. These were split from `Mathlib.Data.Nat.Factorization.Basic` to reduce transitive imports. -/ +@[expose] public section + open Finset List Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Factorization/PrimePow.lean b/Mathlib/Data/Nat/Factorization/PrimePow.lean index 81d49d1815f9ab..cc4a2ceaf530d5 100644 --- a/Mathlib/Data/Nat/Factorization/PrimePow.lean +++ b/Mathlib/Data/Nat/Factorization/PrimePow.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Algebra.IsPrimePow -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.Data.Nat.Prime.Pow -import Mathlib.NumberTheory.Divisors +module + +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.Data.Nat.Prime.Pow +public import Mathlib.NumberTheory.Divisors /-! # Prime powers and factorizations @@ -14,6 +16,8 @@ import Mathlib.NumberTheory.Divisors This file deals with factorizations of prime powers. -/ +@[expose] public section + theorem IsPrimePow.minFac_pow_factorization_eq {n : ℕ} (hn : IsPrimePow n) : n.minFac ^ n.factorization n.minFac = n := by diff --git a/Mathlib/Data/Nat/Factorization/Root.lean b/Mathlib/Data/Nat/Factorization/Root.lean index d08ad18355a43f..ab18a93653fa60 100644 --- a/Mathlib/Data/Nat/Factorization/Root.lean +++ b/Mathlib/Data/Nat/Factorization/Root.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Floor.Div -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Data.Nat.Factorization.Defs +module + +public import Mathlib.Algebra.Order.Floor.Div +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Data.Nat.Factorization.Defs /-! # Roots of natural numbers, rounded up and down @@ -29,6 +31,8 @@ multiple of `a` as the multiples of some fixed number (aka `ceilRoot n a`). See * `norm_num` extension -/ +@[expose] public section + open Finsupp namespace Nat diff --git a/Mathlib/Data/Nat/Factors.lean b/Mathlib/Data/Nat/Factors.lean index 5f7de23f4cba0a..7adcc91143f0fb 100644 --- a/Mathlib/Data/Nat/Factors.lean +++ b/Mathlib/Data/Nat/Factors.lean @@ -3,12 +3,14 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.BigOperators.Ring.List -import Mathlib.Data.Nat.GCD.Basic -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.List.Prime -import Mathlib.Data.List.Sort -import Mathlib.Data.List.Perm.Subperm +module + +public import Mathlib.Algebra.BigOperators.Ring.List +public import Mathlib.Data.Nat.GCD.Basic +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.List.Prime +public import Mathlib.Data.List.Sort +public import Mathlib.Data.List.Perm.Subperm /-! # Prime numbers @@ -22,6 +24,8 @@ This file deals with the factors of natural numbers. -/ +@[expose] public section + assert_not_exists Multiset open Bool Subtype diff --git a/Mathlib/Data/Nat/Fib/Basic.lean b/Mathlib/Data/Nat/Fib/Basic.lean index e243f7e2573eae..07e5b8b9d7bf79 100644 --- a/Mathlib/Data/Nat/Fib/Basic.lean +++ b/Mathlib/Data/Nat/Fib/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2019 Kevin Kappelmann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Kappelmann, Kyle Miller, Mario Carneiro -/ -import Mathlib.Data.Finset.NatAntidiagonal -import Mathlib.Data.Nat.GCD.Basic -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Logic.Function.Iterate -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Zify -import Mathlib.Data.Nat.Choose.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.NatAntidiagonal +public import Mathlib.Data.Nat.GCD.Basic +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Zify +public import Mathlib.Data.Nat.Choose.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Fibonacci Numbers @@ -19,6 +21,8 @@ This file defines the fibonacci series, proves results about it and introduces methods to compute it quickly. -/ +@[expose] public section + /-! # The Fibonacci Sequence diff --git a/Mathlib/Data/Nat/Fib/Zeckendorf.lean b/Mathlib/Data/Nat/Fib/Zeckendorf.lean index 13914eae95960b..3400990f399450 100644 --- a/Mathlib/Data/Nat/Fib/Zeckendorf.lean +++ b/Mathlib/Data/Nat/Fib/Zeckendorf.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Nat.Fib.Basic +module + +public import Mathlib.Data.Nat.Fib.Basic /-! # Zeckendorf's Theorem @@ -30,6 +32,8 @@ the lexicographic order. fibonacci, zeckendorf, digit -/ +@[expose] public section + open List Nat -- TODO: The `local` attribute makes this not considered as an instance by linters diff --git a/Mathlib/Data/Nat/Find.lean b/Mathlib/Data/Nat/Find.lean index 4ac5779f75bd0e..626074e3d2690c 100644 --- a/Mathlib/Data/Nat/Find.lean +++ b/Mathlib/Data/Nat/Find.lean @@ -3,14 +3,17 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ +module -import Mathlib.Data.Nat.Basic -import Batteries.WF +public import Mathlib.Data.Nat.Basic +public import Batteries.WF /-! # `Nat.find` and `Nat.findGreatest` -/ +@[expose] public section + variable {m n k : ℕ} {p q : ℕ → Prop} namespace Nat @@ -163,10 +166,10 @@ def findGreatest (P : ℕ → Prop) [DecidablePred P] : ℕ → ℕ variable {P Q : ℕ → Prop} [DecidablePred P] {n : ℕ} -@[simp] lemma findGreatest_zero : Nat.findGreatest P 0 = 0 := rfl +@[simp] lemma findGreatest_zero : Nat.findGreatest P 0 = 0 := (rfl) lemma findGreatest_succ (n : ℕ) : - Nat.findGreatest P (n + 1) = if P (n + 1) then n + 1 else Nat.findGreatest P n := rfl + Nat.findGreatest P (n + 1) = if P (n + 1) then n + 1 else Nat.findGreatest P n := (rfl) @[simp] lemma findGreatest_eq : ∀ {n}, P n → Nat.findGreatest P n = n | 0, _ => rfl diff --git a/Mathlib/Data/Nat/GCD/Basic.lean b/Mathlib/Data/Nat/GCD/Basic.lean index cd37c66d219ab9..0c18e995ad8f46 100644 --- a/Mathlib/Data/Nat/GCD/Basic.lean +++ b/Mathlib/Data/Nat/GCD/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Algebra.Group.Nat.Units -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.GroupWithZero.Nat +module + +public import Mathlib.Algebra.Group.Nat.Units +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.GroupWithZero.Nat /-! # Properties of `Nat.gcd`, `Nat.lcm`, and `Nat.Coprime` @@ -21,6 +23,8 @@ Note that the global `IsCoprime` is not a straightforward generalization of `Nat Most of this file could be moved to batteries as well. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid namespace Nat diff --git a/Mathlib/Data/Nat/GCD/BigOperators.lean b/Mathlib/Data/Nat/GCD/BigOperators.lean index 7537108cc2eae5..4d2dbe52482b2f 100644 --- a/Mathlib/Data/Nat/GCD/BigOperators.lean +++ b/Mathlib/Data/Nat/GCD/BigOperators.lean @@ -3,13 +3,17 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! # Lemmas about coprimality with big products. These lemmas are kept separate from `Data.Nat.GCD.Basic` in order to minimize imports. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/GCD/Prime.lean b/Mathlib/Data/Nat/GCD/Prime.lean index fc51e20c309aad..3fc7a15653e612 100644 --- a/Mathlib/Data/Nat/GCD/Prime.lean +++ b/Mathlib/Data/Nat/GCD/Prime.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yongshun Ye. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongshun Ye -/ -import Mathlib.Data.Nat.GCD.Basic -import Mathlib.Data.Nat.Prime.Defs +module + +public import Mathlib.Data.Nat.GCD.Basic +public import Mathlib.Data.Nat.Prime.Defs /-! # Lemmas related to `Nat.Prime` and `lcm` @@ -20,6 +22,8 @@ These lemmas are kept separate from `Mathlib/Data/Nat/GCD/Basic.lean` in order t -/ +@[expose] public section + namespace Nat namespace Prime diff --git a/Mathlib/Data/Nat/Hyperoperation.lean b/Mathlib/Data/Nat/Hyperoperation.lean index 8976d4de2de4bd..75a1f5a268ff42 100644 --- a/Mathlib/Data/Nat/Hyperoperation.lean +++ b/Mathlib/Data/Nat/Hyperoperation.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Mark Andrew Gerads. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mark Andrew Gerads, Junyan Xu, Eric Wieser -/ -import Mathlib.Tactic.Ring +module + +public import Mathlib.Tactic.Ring /-! # Hyperoperation sequence @@ -25,6 +27,8 @@ This file defines the Hyperoperation sequence. hyperoperation -/ +@[expose] public section + /-- Implementation of the hyperoperation sequence where `hyperoperation n m k` is the `n`th hyperoperation between `m` and `k`. diff --git a/Mathlib/Data/Nat/Init.lean b/Mathlib/Data/Nat/Init.lean index 98ec39a1a0ab4d..2c19825f2dc3c6 100644 --- a/Mathlib/Data/Nat/Init.lean +++ b/Mathlib/Data/Nat/Init.lean @@ -3,15 +3,17 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Batteries.Tactic.Alias -import Batteries.Tactic.Init -import Mathlib.Init -import Mathlib.Data.Int.Notation -import Mathlib.Data.Nat.Notation -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Mathlib.Util.AssertExists +module + +public import Batteries.Tactic.Alias +public import Batteries.Tactic.Init +public import Mathlib.Init +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Nat.Notation +public import Mathlib.Tactic.Basic +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar +public import Mathlib.Util.AssertExists /-! # Basic operations on the natural numbers @@ -31,6 +33,8 @@ upstreamed to Batteries or the Lean standard library easily. See note [foundational algebra order theory]. -/ +@[expose] public section + library_note2 «foundational algebra order theory» /-- Batteries has a home-baked development of the algebraic and order-theoretic theory of `ℕ` and `ℤ which, in particular, is not typeclass-mediated. This is useful to set up the algebra and finiteness diff --git a/Mathlib/Data/Nat/Lattice.lean b/Mathlib/Data/Nat/Lattice.lean index 315e70e04c1b5f..1b7e5e926f9c76 100644 --- a/Mathlib/Data/Nat/Lattice.lean +++ b/Mathlib/Data/Nat/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Gabriel Ebner, Yury Kudryashov -/ -import Mathlib.Data.Set.Accumulate -import Mathlib.Order.ConditionallyCompleteLattice.Finset -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Data.Set.Accumulate +public import Mathlib.Order.ConditionallyCompleteLattice.Finset +public import Mathlib.Order.Interval.Finset.Nat /-! # Conditionally complete linear order structure on `ℕ` @@ -16,6 +18,8 @@ In this file we * prove a few lemmas about `iSup`/`iInf`/`Set.iUnion`/`Set.iInter` and natural numbers. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Set diff --git a/Mathlib/Data/Nat/Log.lean b/Mathlib/Data/Nat/Log.lean index fdaaf22cf8f0c0..1afe07c276f61f 100644 --- a/Mathlib/Data/Nat/Log.lean +++ b/Mathlib/Data/Nat/Log.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Yaël Dillies -/ -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Order.Monotone.Basic -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Order.Monotone.Basic +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Monotonicity.Attr /-! # Natural number logarithms @@ -21,6 +23,8 @@ These are interesting because, for `1 < b`, `Nat.log b` and `Nat.clog b` are res left adjoints of `Nat.pow b`. See `pow_le_iff_le_log` and `le_pow_iff_clog_le`. -/ +@[expose] public section + assert_not_exists OrderTop namespace Nat diff --git a/Mathlib/Data/Nat/MaxPowDiv.lean b/Mathlib/Data/Nat/MaxPowDiv.lean index 49e66f23efbdfa..0f19c057f050bb 100644 --- a/Mathlib/Data/Nat/MaxPowDiv.lean +++ b/Mathlib/Data/Nat/MaxPowDiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Matthew Robert Ballard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Matthew Robert Ballard -/ -import Mathlib.Algebra.Divisibility.Units -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Divisibility.Units +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Tactic.Common /-! # The maximal power of one natural number dividing another @@ -19,6 +21,8 @@ We prove enough about `maxPowDiv` in this file to show equality with `Nat.padicV The implementation of `maxPowDiv` improves on the speed of `padicValNat`. -/ +@[expose] public section + namespace Nat /-- diff --git a/Mathlib/Data/Nat/ModEq.lean b/Mathlib/Data/Nat/ModEq.lean index 391398eafe798a..4d8d97e3668e2f 100644 --- a/Mathlib/Data/Nat/ModEq.lean +++ b/Mathlib/Data/Nat/ModEq.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Unbundled.Int -import Mathlib.Algebra.Ring.Nat -import Mathlib.Data.Int.GCD -import Mathlib.Data.Nat.GCD.Basic +module + +public import Mathlib.Algebra.Order.Group.Unbundled.Int +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Data.Int.GCD +public import Mathlib.Data.Nat.GCD.Basic /-! # Congruences modulo a natural number @@ -24,6 +26,8 @@ and proves basic properties about it such as the Chinese Remainder Theorem ModEq, congruence, mod, MOD, modulo -/ +@[expose] public section + assert_not_exists OrderedAddCommMonoid Function.support namespace Nat diff --git a/Mathlib/Data/Nat/Multiplicity.lean b/Mathlib/Data/Nat/Multiplicity.lean index 48b4eede1565af..3e7c1c9900ee3a 100644 --- a/Mathlib/Data/Nat/Multiplicity.lean +++ b/Mathlib/Data/Nat/Multiplicity.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Nat.Choose.Factorization +module + +public import Mathlib.Data.Nat.Choose.Factorization /-! # Natural number multiplicity @@ -43,6 +45,8 @@ Derive results from the corresponding ones `Mathlib.Data.Nat.Factorization.Multi Legendre, p-adic -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/Data/Nat/Notation.lean b/Mathlib/Data/Nat/Notation.lean index c23a8c794808b8..ef7810998c571d 100644 --- a/Mathlib/Data/Nat/Notation.lean +++ b/Mathlib/Data/Nat/Notation.lean @@ -3,11 +3,14 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Notation `ℕ` for the natural numbers. -/ +@[expose] public section + @[inherit_doc] notation "ℕ" => Nat diff --git a/Mathlib/Data/Nat/Nth.lean b/Mathlib/Data/Nat/Nth.lean index b280b3b3e62e29..01df49478974d6 100644 --- a/Mathlib/Data/Nat/Nth.lean +++ b/Mathlib/Data/Nat/Nth.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Vladimir Goryachev. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Vladimir Goryachev, Kyle Miller, Kim Morrison, Eric Rodriguez -/ -import Mathlib.Data.List.GetD -import Mathlib.Data.Nat.Count -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.Interval.Set.Monotone -import Mathlib.Order.OrderIsoNat -import Mathlib.Order.WellFounded -import Mathlib.Data.Finset.Sort +module + +public import Mathlib.Data.List.GetD +public import Mathlib.Data.Nat.Count +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.Interval.Set.Monotone +public import Mathlib.Order.OrderIsoNat +public import Mathlib.Order.WellFounded +public import Mathlib.Data.Finset.Sort /-! # The `n`th Number Satisfying a Predicate @@ -37,6 +39,8 @@ Future work should address how lemmas that use these should be written. -/ +@[expose] public section + open Finset diff --git a/Mathlib/Data/Nat/NthRoot/Defs.lean b/Mathlib/Data/Nat/NthRoot/Defs.lean index 47ac390314699e..83a40059e89ac5 100644 --- a/Mathlib/Data/Nat/NthRoot/Defs.lean +++ b/Mathlib/Data/Nat/NthRoot/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Concordance Inc. dba Harmonic. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Init +module + +public import Mathlib.Init /-! # Definition of `Nat.nthRoot` @@ -12,6 +14,8 @@ In this file we define `Nat.nthRoot n a` to be the floor of the `n`th root of `a The function is defined in terms of natural numbers with no dependencies outside of prelude. -/ +@[expose] public section + /-- `Nat.nthRoot n a = ⌊(a : ℝ) ^ (1 / n : ℝ)⌋₊` defined in terms of natural numbers. We use Newton's method to find a root of $x^n = a$, diff --git a/Mathlib/Data/Nat/Order/Lemmas.lean b/Mathlib/Data/Nat/Order/Lemmas.lean index bb58ae8d4f943d..3777f45c76a0c8 100644 --- a/Mathlib/Data/Nat/Order/Lemmas.lean +++ b/Mathlib/Data/Nat/Order/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Find -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.Set.Basic /-! # Further lemmas about the natural numbers @@ -14,6 +16,8 @@ clear. They were separated for now to minimize the porting requirements for tact during the transition to mathlib4. Please feel free to reorganize these two files. -/ +@[expose] public section + assert_not_exists RelIso namespace Nat diff --git a/Mathlib/Data/Nat/PSub.lean b/Mathlib/Data/Nat/PSub.lean index e3b06032edaff2..9ec95f5d419e78 100644 --- a/Mathlib/Data/Nat/PSub.lean +++ b/Mathlib/Data/Nat/PSub.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Data.Nat.Basic /-! # Partial predecessor and partial subtraction on the natural numbers @@ -21,6 +23,8 @@ wrap the result in an `Option` type instead: -/ +@[expose] public section + namespace Nat /-- Partial predecessor operation. Returns `ppred n = some m` diff --git a/Mathlib/Data/Nat/Pairing.lean b/Mathlib/Data/Nat/Pairing.lean index ef232fd6857d95..e93a08050fb187 100644 --- a/Mathlib/Data/Nat/Pairing.lean +++ b/Mathlib/Data/Nat/Pairing.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Notation.Prod -import Mathlib.Data.Nat.Sqrt -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Data.Nat.Sqrt +public import Mathlib.Data.Set.Lattice.Image /-! # Naturals pairing function @@ -23,6 +25,8 @@ It has the advantage of being monotone in both directions and sending `⟦0, n^2 `⟦0, n - 1⟧²`. -/ +@[expose] public section + assert_not_exists Monoid open Prod Decidable Function diff --git a/Mathlib/Data/Nat/PartENat.lean b/Mathlib/Data/Nat/PartENat.lean index 9ef5bbcfd8d3f7..b5f9fce79a2ed3 100644 --- a/Mathlib/Data/Nat/PartENat.lean +++ b/Mathlib/Data/Nat/PartENat.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Data.ENat.Lattice -import Mathlib.Data.Part -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Data.Part +public import Mathlib.Tactic.NormNum /-! # Natural numbers with infinity @@ -53,6 +55,8 @@ If `ENat` does not serve your purposes, please raise this on the community Zulip PartENat, ℕ∞ -/ +@[expose] public section + open Part hiding some diff --git a/Mathlib/Data/Nat/Periodic.lean b/Mathlib/Data/Nat/Periodic.lean index cdaea2ad6e2334..309c88bb990dee 100644 --- a/Mathlib/Data/Nat/Periodic.lean +++ b/Mathlib/Data/Nat/Periodic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Algebra.Ring.Periodic -import Mathlib.Data.Nat.Count +module + +public import Mathlib.Algebra.Ring.Periodic +public import Mathlib.Data.Nat.Count /-! # Periodic Functions on ℕ @@ -13,6 +15,8 @@ This file identifies a few functions on `ℕ` which are periodic, and also prove periodic predicates which helps determine their cardinality when filtering intervals over them. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace Nat diff --git a/Mathlib/Data/Nat/PowModTotient.lean b/Mathlib/Data/Nat/PowModTotient.lean index af6dec599e1820..fb9fcde67753db 100644 --- a/Mathlib/Data/Nat/PowModTotient.lean +++ b/Mathlib/Data/Nat/PowModTotient.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.PowModTotient +module + +public import Mathlib.NumberTheory.PowModTotient deprecated_module (since := "2025-09-19") diff --git a/Mathlib/Data/Nat/Prime/Basic.lean b/Mathlib/Data/Nat/Prime/Basic.lean index 400d216d7222e3..bdbdb33a31f845 100644 --- a/Mathlib/Data/Nat/Prime/Basic.lean +++ b/Mathlib/Data/Nat/Prime/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Ring.Parity -import Mathlib.Data.Nat.Prime.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Ring.Parity +public import Mathlib.Data.Nat.Prime.Defs /-! # Prime numbers @@ -15,6 +17,8 @@ This file develops the theory of prime numbers: natural numbers `p ≥ 2` whose -/ +@[expose] public section + namespace Nat variable {n : ℕ} diff --git a/Mathlib/Data/Nat/Prime/Defs.lean b/Mathlib/Data/Nat/Prime/Defs.lean index 7cb7bb9350ec42..664175526ae4a8 100644 --- a/Mathlib/Data/Nat/Prime/Defs.lean +++ b/Mathlib/Data/Nat/Prime/Defs.lean @@ -3,11 +3,14 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Units -import Mathlib.Algebra.GroupWithZero.Nat -import Mathlib.Algebra.Prime.Defs -import Mathlib.Data.Nat.Sqrt -import Mathlib.Order.Basic +module + +public import Mathlib.Algebra.Group.Nat.Units +public import Mathlib.Algebra.GroupWithZero.Nat +public import Mathlib.Algebra.Prime.Defs +public import Mathlib.Data.Nat.Sqrt +public import Mathlib.Order.Basic +import all Init.WF -- HACK: for exposing `invImage._proof_1` /-! # Prime numbers @@ -25,6 +28,8 @@ This file deals with prime numbers: natural numbers `p ≥ 2` whose only divisor -/ +@[expose] public section + assert_not_exists Ring namespace Nat @@ -222,7 +227,7 @@ theorem minFac_two : minFac 2 = 2 := by theorem minFac_eq (n : ℕ) : minFac n = if 2 ∣ n then 2 else minFacAux n 3 := rfl -private def minFacProp (n k : ℕ) := +def minFacProp (n k : ℕ) := 2 ≤ k ∧ k ∣ n ∧ ∀ m, 2 ≤ m → m ∣ n → k ≤ m theorem minFacAux_has_prop {n : ℕ} (n2 : 2 ≤ n) : diff --git a/Mathlib/Data/Nat/Prime/Factorial.lean b/Mathlib/Data/Nat/Prime/Factorial.lean index e74974d580215a..47eee5f558dee7 100644 --- a/Mathlib/Data/Nat/Prime/Factorial.lean +++ b/Mathlib/Data/Nat/Prime/Factorial.lean @@ -3,13 +3,17 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.Nat.Prime.Basic +module + +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Nat.Prime.Basic /-! # Prime natural numbers and the factorial operator -/ +@[expose] public section + open Bool Subtype open Nat diff --git a/Mathlib/Data/Nat/Prime/Infinite.lean b/Mathlib/Data/Nat/Prime/Infinite.lean index f67b58631e7690..3f7a8b1f043f99 100644 --- a/Mathlib/Data/Nat/Prime/Infinite.lean +++ b/Mathlib/Data/Nat/Prime/Infinite.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Order.Bounds.Basic +module + +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Order.Bounds.Basic /-! ## Notable Theorems @@ -16,6 +18,8 @@ import Mathlib.Order.Bounds.Basic -/ +@[expose] public section + open Bool Subtype open Nat diff --git a/Mathlib/Data/Nat/Prime/Int.lean b/Mathlib/Data/Nat/Prime/Int.lean index ba1b0d847e7db0..ec5f2f2affe804 100644 --- a/Mathlib/Data/Nat/Prime/Int.lean +++ b/Mathlib/Data/Nat/Prime/Int.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Algebra.Group.Int.Units -import Mathlib.Data.Int.Basic +module + +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Algebra.Group.Int.Units +public import Mathlib.Data.Int.Basic /-! # Prime numbers in the naturals and the integers @@ -14,6 +16,8 @@ import Mathlib.Data.Int.Basic TODO: This file can probably be merged with `Mathlib/Data/Int/NatPrime.lean`. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Prime/Nth.lean b/Mathlib/Data/Nat/Prime/Nth.lean index f9d09d963c17e3..f51ff2701f4bb2 100644 --- a/Mathlib/Data/Nat/Prime/Nth.lean +++ b/Mathlib/Data/Nat/Prime/Nth.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Ralf Stephan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ralf Stephan -/ -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.Nat.Nth +module + +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.Nat.Nth /-! # The Nth primes -/ +@[expose] public section + namespace Nat @[simp] diff --git a/Mathlib/Data/Nat/Prime/Pow.lean b/Mathlib/Data/Nat/Prime/Pow.lean index a103a434d4ff6f..e73da7ca221299 100644 --- a/Mathlib/Data/Nat/Prime/Pow.lean +++ b/Mathlib/Data/Nat/Prime/Pow.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Data.Nat.Prime.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Data.Nat.Prime.Basic /-! # Prime numbers @@ -14,6 +16,8 @@ This file develops the theory of prime numbers: natural numbers `p ≥ 2` whose -/ +@[expose] public section + namespace Nat theorem pow_minFac {n k : ℕ} (hk : k ≠ 0) : (n ^ k).minFac = n.minFac := by diff --git a/Mathlib/Data/Nat/PrimeFin.lean b/Mathlib/Data/Nat/PrimeFin.lean index ebaca0692cd82e..068ca826e47863 100644 --- a/Mathlib/Data/Nat/PrimeFin.lean +++ b/Mathlib/Data/Nat/PrimeFin.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Countable.Defs -import Mathlib.Data.Nat.Factors -import Mathlib.Data.Nat.Prime.Infinite -import Mathlib.Data.Set.Finite.Lattice +module + +public import Mathlib.Data.Countable.Defs +public import Mathlib.Data.Nat.Factors +public import Mathlib.Data.Nat.Prime.Infinite +public import Mathlib.Data.Set.Finite.Lattice /-! # Prime numbers @@ -14,6 +16,8 @@ import Mathlib.Data.Set.Finite.Lattice This file contains some results about prime numbers which depend on finiteness of sets. -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/Data/Nat/Set.lean b/Mathlib/Data/Nat/Set.lean index 416415053788b7..02ca1a684c9111 100644 --- a/Mathlib/Data/Nat/Set.lean +++ b/Mathlib/Data/Nat/Set.lean @@ -3,12 +3,16 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Image +module + +public import Mathlib.Data.Set.Image /-! ### Recursion on the natural numbers and `Set.range` -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/Size.lean b/Mathlib/Data/Nat/Size.lean index dfe9ad32d3a4cf..a7163f984daa5f 100644 --- a/Mathlib/Data/Nat/Size.lean +++ b/Mathlib/Data/Nat/Size.lean @@ -3,13 +3,17 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Algebra.Group.Basic -import Mathlib.Data.Nat.Bits -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Algebra.Group.Basic +public import Mathlib.Data.Nat.Bits +public import Mathlib.Data.Nat.Basic /-! Lemmas about `size`. -/ +@[expose] public section + namespace Nat /-! ### `shiftLeft` and `shiftRight` -/ diff --git a/Mathlib/Data/Nat/Sqrt.lean b/Mathlib/Data/Nat/Sqrt.lean index 772fdf97840d61..993fe3177166a7 100644 --- a/Mathlib/Data/Nat/Sqrt.lean +++ b/Mathlib/Data/Nat/Sqrt.lean @@ -3,13 +3,17 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Basic -import Batteries.Data.Nat.Basic +module + +public import Mathlib.Data.Nat.Basic +public import Batteries.Data.Nat.Basic /-! # Properties of the natural number square root function. -/ +@[expose] public section + namespace Nat /- We don't want to import the algebraic hierarchy in this file. -/ @@ -173,7 +177,7 @@ lemma sqrt_succ_le_succ_sqrt (n : ℕ) : sqrt n.succ ≤ n.sqrt.succ := le_of_lt_succ <| sqrt_lt.2 <| (have := sqrt_le_add n; by grind) @[simp] -lemma log2_two : (2 : ℕ).log2 = 1 := rfl +lemma log2_two : (2 : ℕ).log2 = 1 := by simp [log2_def] @[simp] lemma sqrt_two : sqrt 2 = 1 := by simp [sqrt, sqrt.iter] diff --git a/Mathlib/Data/Nat/Squarefree.lean b/Mathlib/Data/Nat/Squarefree.lean index c15cc7ae913515..56679cde06ff71 100644 --- a/Mathlib/Data/Nat/Squarefree.lean +++ b/Mathlib/Data/Nat/Squarefree.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Squarefree.Basic -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.NumberTheory.Divisors -import Mathlib.RingTheory.UniqueFactorizationDomain.Nat +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Squarefree.Basic +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.NumberTheory.Divisors +public import Mathlib.RingTheory.UniqueFactorizationDomain.Nat /-! # Lemmas about squarefreeness of natural numbers @@ -22,6 +24,8 @@ squarefree, multiplicity -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/Data/Nat/SuccPred.lean b/Mathlib/Data/Nat/SuccPred.lean index f3d3cef17f2181..2f521e28adb1cf 100644 --- a/Mathlib/Data/Nat/SuccPred.lean +++ b/Mathlib/Data/Nat/SuccPred.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Ring.Nat -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Data.Fin.Basic -import Mathlib.Order.Nat -import Mathlib.Order.SuccPred.Archimedean -import Mathlib.Order.SuccPred.WithBot +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Data.Fin.Basic +public import Mathlib.Order.Nat +public import Mathlib.Order.SuccPred.Archimedean +public import Mathlib.Order.SuccPred.WithBot /-! # Successors and predecessors of naturals @@ -19,6 +21,8 @@ import Mathlib.Order.SuccPred.WithBot In this file, we show that `ℕ` is both an archimedean `succOrder` and an archimedean `predOrder`. -/ +@[expose] public section + open Function Order diff --git a/Mathlib/Data/Nat/Totient.lean b/Mathlib/Data/Nat/Totient.lean index a306bdb3f4a7ac..53f2a7974ed651 100644 --- a/Mathlib/Data/Nat/Totient.lean +++ b/Mathlib/Data/Nat/Totient.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.CharP.Two -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Data.Nat.Cast.Field -import Mathlib.Data.Nat.Factorization.Basic -import Mathlib.Data.Nat.Factorization.Induction -import Mathlib.Data.Nat.Periodic +module + +public import Mathlib.Algebra.CharP.Two +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Data.Nat.Cast.Field +public import Mathlib.Data.Nat.Factorization.Basic +public import Mathlib.Data.Nat.Factorization.Induction +public import Mathlib.Data.Nat.Periodic /-! # Euler's totient function @@ -20,6 +22,8 @@ We prove the divisor sum formula, namely that `n` equals `φ` summed over the di `totient_prime_pow`. -/ +@[expose] public section + assert_not_exists Algebra LinearMap open Finset @@ -377,7 +381,7 @@ open Lean Meta Qq /-- Extension for `Nat.totient`. -/ @[positivity Nat.totient _] -def evalNatTotient : PositivityExt where eval {u α} z p e := do +meta def evalNatTotient : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.totient $n) => assumeInstancesCommute diff --git a/Mathlib/Data/Nat/Upto.lean b/Mathlib/Data/Nat/Upto.lean index b55880fccd1369..d2126b3e5d098f 100644 --- a/Mathlib/Data/Nat/Upto.lean +++ b/Mathlib/Data/Nat/Upto.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Sub.Basic +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Sub.Basic /-! # `Nat.Upto` @@ -21,6 +23,8 @@ the difference that, in `Nat.Upto p`, `p` does not need to be decidable. In fact well-founded relation and would then fulfill the same purpose as this file. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Nat/WithBot.lean b/Mathlib/Data/Nat/WithBot.lean index 10d0105b34de02..c5a4bd8b999106 100644 --- a/Mathlib/Data/Nat/WithBot.lean +++ b/Mathlib/Data/Nat/WithBot.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Data.Nat.Cast.WithTop -import Mathlib.Order.Nat +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Data.Nat.Cast.WithTop +public import Mathlib.Order.Nat /-! # `WithBot ℕ` @@ -14,6 +16,8 @@ import Mathlib.Order.Nat Lemmas about the type of natural numbers with a bottom element adjoined. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/Data/Num/Basic.lean b/Mathlib/Data/Num/Basic.lean index b8a9e3b1d0f485..c8a50d5ff9dc90 100644 --- a/Mathlib/Data/Num/Basic.lean +++ b/Mathlib/Data/Num/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Lean.Linter.Deprecated -import Mathlib.Data.Nat.Notation -import Mathlib.Data.Int.Notation -import Mathlib.Data.Nat.BinaryRec -import Mathlib.Tactic.TypeStar +module + +public import Lean.Linter.Deprecated +public import Mathlib.Data.Nat.Notation +public import Mathlib.Data.Int.Notation +public import Mathlib.Data.Nat.BinaryRec +public import Mathlib.Tactic.TypeStar /-! # Binary representation of integers using inductive types @@ -18,6 +20,8 @@ in favor of the "Peano" natural numbers `Nat`, and the purpose of this collection of theorems is to show the equivalence of the different approaches. -/ +@[expose] public section + /-- The type of positive binary numbers. 13 = 1101(base 2) = bit1 (bit0 (bit1 one)) -/ diff --git a/Mathlib/Data/Num/Bitwise.lean b/Mathlib/Data/Num/Bitwise.lean index db600eede9abb4..0870d8e9c41287 100644 --- a/Mathlib/Data/Num/Bitwise.lean +++ b/Mathlib/Data/Num/Bitwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Num.Basic -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Data.Num.Basic +public import Mathlib.Data.Vector.Basic /-! # Bitwise operations using binary representation of integers @@ -16,6 +18,8 @@ import Mathlib.Data.Vector.Basic * arithmetic operations for `SNum`. -/ +@[expose] public section + open List (Vector) namespace PosNum diff --git a/Mathlib/Data/Num/Lemmas.lean b/Mathlib/Data/Num/Lemmas.lean index c457d6c1d93984..9389ef195130a0 100644 --- a/Mathlib/Data/Num/Lemmas.lean +++ b/Mathlib/Data/Num/Lemmas.lean @@ -3,18 +3,23 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Bitwise -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Nat.PSub -import Mathlib.Data.Nat.Size -import Mathlib.Data.Num.Bitwise +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.Bitwise +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Nat.PSub +public import Mathlib.Data.Nat.Size +public import Mathlib.Data.Num.Bitwise +import all Init.Data.Nat.Bitwise.Basic -- for unfolding `bitwise` /-! # Properties of the binary representation of integers -/ +@[expose] public section + open Int attribute [local simp] add_assoc diff --git a/Mathlib/Data/Num/Prime.lean b/Mathlib/Data/Num/Prime.lean index 7421081fe4d071..81ca14d2a70988 100644 --- a/Mathlib/Data/Num/Prime.lean +++ b/Mathlib/Data/Num/Prime.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.Num.ZNum -import Mathlib.Tactic.Ring +module + +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.Num.ZNum +public import Mathlib.Tactic.Ring /-! # Primality for binary natural numbers @@ -23,6 +25,8 @@ Nevertheless, sometimes proof by computational reflection requires natural numbe `Num` implements algorithms directly on binary natural numbers for this purpose. -/ +@[expose] public section + namespace PosNum diff --git a/Mathlib/Data/Num/ZNum.lean b/Mathlib/Data/Num/ZNum.lean index ae668a84d9a56e..c9c7c4b4c41ea8 100644 --- a/Mathlib/Data/Num/ZNum.lean +++ b/Mathlib/Data/Num/ZNum.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.Num.Lemmas +module + +public import Mathlib.Algebra.Order.Ring.Cast +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.Num.Lemmas /-! # Properties of the `ZNum` representation of integers @@ -13,6 +15,8 @@ import Mathlib.Data.Num.Lemmas This file was split from `Mathlib/Data/Num/Lemmas.lean` to keep the former under 1500 lines. -/ +@[expose] public section + open Int attribute [local simp] add_assoc diff --git a/Mathlib/Data/Opposite.lean b/Mathlib/Data/Opposite.lean index 90c3570ed54155..ec62c34d5e3ba6 100644 --- a/Mathlib/Data/Opposite.lean +++ b/Mathlib/Data/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Reid Barton, Simon Hudon, Kenny Lau -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Logic.Small.Defs +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Logic.Small.Defs /-! # Opposites @@ -15,6 +17,8 @@ opposite category, with all arrows reversed. -/ +@[expose] public section + universe v u @@ -37,7 +41,7 @@ attribute [pp_nodot] Opposite.unop /-- Make sure that `Opposite.op a` is pretty-printed as `op a` instead of `{ unop := a }` or `⟨a⟩`. -/ @[app_unexpander Opposite.op] -protected def Opposite.unexpander_op : Lean.PrettyPrinter.Unexpander +protected meta def Opposite.unexpander_op : Lean.PrettyPrinter.Unexpander | s => pure s @[inherit_doc] diff --git a/Mathlib/Data/Option/Basic.lean b/Mathlib/Data/Option/Basic.lean index 0ec0604f7bd7d8..9decc8c0a6c4d9 100644 --- a/Mathlib/Data/Option/Basic.lean +++ b/Mathlib/Data/Option/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Control.Combinators -import Mathlib.Data.Option.Defs -import Mathlib.Logic.IsEmpty -import Mathlib.Logic.Relator -import Mathlib.Util.CompileInductive -import Aesop +module + +public import Mathlib.Control.Combinators +public import Mathlib.Data.Option.Defs +public import Mathlib.Logic.IsEmpty +public import Mathlib.Logic.Relator +public import Mathlib.Util.CompileInductive +public import Aesop /-! # Option of a type @@ -31,6 +33,8 @@ along with a term `a : α` if the value is `True`. -/ +@[expose] public section + universe u namespace Option @@ -232,7 +236,7 @@ theorem orElse_eq_none (o o' : Option α) : (o <|> o') = none ↔ o = none ∧ o section theorem choice_eq_none (α : Type*) [IsEmpty α] : choice α = none := - dif_neg (not_nonempty_iff_imp_false.mpr isEmptyElim) + choice_eq_none_iff_not_nonempty.mpr (not_nonempty_iff_imp_false.mpr isEmptyElim) end diff --git a/Mathlib/Data/Option/Defs.lean b/Mathlib/Data/Option/Defs.lean index d7da560740b8ce..0cb048e7bf141e 100644 --- a/Mathlib/Data/Option/Defs.lean +++ b/Mathlib/Data/Option/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Batteries.Tactic.Alias +module + +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar +public import Batteries.Tactic.Alias /-! # Extra definitions on `Option` @@ -15,6 +17,8 @@ files under `Mathlib/Data/Option.lean`. Other basic operations on `Option` are defined in the core library. -/ +@[expose] public section + namespace Option /-- Traverse an object of `Option α` with a function `f : α → F β` for an applicative `F`. -/ diff --git a/Mathlib/Data/Option/NAry.lean b/Mathlib/Data/Option/NAry.lean index d0042fcfd644bd..85d8d980d9ecea 100644 --- a/Mathlib/Data/Option/NAry.lean +++ b/Mathlib/Data/Option/NAry.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Batteries.Tactic.Init -import Mathlib.Logic.Function.Defs +module + +public import Batteries.Tactic.Init +public import Mathlib.Logic.Function.Defs /-! # Binary map of options @@ -25,6 +27,8 @@ We do not define `Option.map₃` as its only purpose so far would be to prove pr `Option.map₂` and casing already fulfills this task. -/ +@[expose] public section + universe u open Function diff --git a/Mathlib/Data/Ordering/Basic.lean b/Mathlib/Data/Ordering/Basic.lean index dcd1fc43362006..2c5a431b121934 100644 --- a/Mathlib/Data/Ordering/Basic.lean +++ b/Mathlib/Data/Ordering/Basic.lean @@ -3,14 +3,18 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Batteries.Tactic.Alias -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Tactic.Alias +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar /-! # Helper definitions and instances for `Ordering` -/ +@[expose] public section + universe u namespace Ordering diff --git a/Mathlib/Data/Ordering/Lemmas.lean b/Mathlib/Data/Ordering/Lemmas.lean index a5027ef17ad7cd..7c1eb95270da25 100644 --- a/Mathlib/Data/Ordering/Lemmas.lean +++ b/Mathlib/Data/Ordering/Lemmas.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Data.Ordering.Basic -import Mathlib.Order.Defs.Unbundled +module + +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Order.Defs.Unbundled /-! # Some `Ordering` lemmas -/ +@[expose] public section + universe u namespace Ordering diff --git a/Mathlib/Data/Ordmap/Invariants.lean b/Mathlib/Data/Ordmap/Invariants.lean index 6fd3ed304b6c3f..0ac2399471b388 100644 --- a/Mathlib/Data/Ordmap/Invariants.lean +++ b/Mathlib/Data/Ordmap/Invariants.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Data.Nat.Dist -import Mathlib.Data.Ordmap.Ordnode -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Data.Nat.Dist +public import Mathlib.Data.Ordmap.Ordnode +public import Mathlib.Tactic.Abel /-! # Invariants for the verification of `Ordnode` @@ -44,6 +46,8 @@ Contributors are encouraged to pick this up and finish the job, if it appeals to ordered map, ordered set, data structure, verified programming -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Data/Ordmap/Ordnode.lean b/Mathlib/Data/Ordmap/Ordnode.lean index e453d33346aa9b..92d956b109bd1e 100644 --- a/Mathlib/Data/Ordmap/Ordnode.lean +++ b/Mathlib/Data/Ordmap/Ordnode.lean @@ -3,9 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Order.Compare -import Mathlib.Data.Nat.PSub -import Mathlib.Data.Option.Basic +module + +public import Mathlib.Order.Compare +public import Mathlib.Data.Nat.PSub +public import Mathlib.Data.Option.Basic +import Batteries.Data.List.Basic /-! # Ordered sets @@ -60,6 +63,8 @@ ordered map, ordered set, data structure -/ +@[expose] public section + universe u /-- An `Ordnode α` is a finite set of values, represented as a tree. diff --git a/Mathlib/Data/Ordmap/Ordset.lean b/Mathlib/Data/Ordmap/Ordset.lean index 343e70116c46b5..9b9a65fdc98f60 100644 --- a/Mathlib/Data/Ordmap/Ordset.lean +++ b/Mathlib/Data/Ordmap/Ordset.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Ordmap.Invariants +module + +public import Mathlib.Data.Ordmap.Invariants /-! # Verification of `Ordnode` @@ -32,6 +34,8 @@ because there is a decent amount of slop in the actual data structure invariants theorem will go through with multiple choices of assumption. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Data/PEquiv.lean b/Mathlib/Data/PEquiv.lean index d8830370fdd5b0..aeed59ba82ac52 100644 --- a/Mathlib/Data/PEquiv.lean +++ b/Mathlib/Data/PEquiv.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Option.Basic -import Batteries.Tactic.Congr -import Mathlib.Data.Set.Basic -import Mathlib.Tactic.Contrapose +module + +public import Mathlib.Data.Option.Basic +public import Batteries.Tactic.Congr +public import Mathlib.Data.Set.Basic +public import Mathlib.Tactic.Contrapose /-! @@ -40,6 +42,8 @@ pequiv, partial equivalence -/ +@[expose] public section + assert_not_exists RelIso universe u v w x diff --git a/Mathlib/Data/PFun.lean b/Mathlib/Data/PFun.lean index e57db5d0ba9bcf..a83493d41a70d5 100644 --- a/Mathlib/Data/PFun.lean +++ b/Mathlib/Data/PFun.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Jeremy Avigad, Simon Hudon -/ -import Batteries.WF -import Mathlib.Data.Part -import Mathlib.Data.Rel -import Mathlib.Tactic.GeneralizeProofs +module + +public import Batteries.WF +public import Mathlib.Data.Part +public import Mathlib.Data.Rel +public import Mathlib.Tactic.GeneralizeProofs /-! # Partial functions @@ -51,6 +53,8 @@ Monad operations: * `PFun.map`: The monad `map` function, pointwise `Part.map`. -/ +@[expose] public section + open Function /-- `PFun α β`, or `α →. β`, is the type of partial functions from diff --git a/Mathlib/Data/PFunctor/Multivariate/Basic.lean b/Mathlib/Data/PFunctor/Multivariate/Basic.lean index 70a2703dfcc67b..f18d38e1e2916a 100644 --- a/Mathlib/Data/PFunctor/Multivariate/Basic.lean +++ b/Mathlib/Data/PFunctor/Multivariate/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Control.Functor.Multivariate -import Mathlib.Data.PFunctor.Univariate.Basic +module + +public import Mathlib.Control.Functor.Multivariate +public import Mathlib.Data.PFunctor.Univariate.Basic /-! # Multivariate polynomial functors. @@ -15,6 +17,8 @@ They map a type vector `α` to the type `Σ a : A, B a ⟹ α`, with `A : Type` they guarantee that occurrences of `α` are positive. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/PFunctor/Multivariate/M.lean b/Mathlib/Data/PFunctor/Multivariate/M.lean index 836ea29933ba6a..a2f62cb464d796 100644 --- a/Mathlib/Data/PFunctor/Multivariate/M.lean +++ b/Mathlib/Data/PFunctor/Multivariate/M.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.Basic -import Mathlib.Data.PFunctor.Univariate.M +module + +public import Mathlib.Data.PFunctor.Multivariate.Basic +public import Mathlib.Data.PFunctor.Univariate.M /-! # The M construction as a multivariate polynomial functor. @@ -44,6 +46,8 @@ that `A` is a possibly infinite tree. [*Data Types as Quotients of Polynomial Functors*][avigad-carneiro-hudon2019] -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/PFunctor/Multivariate/W.lean b/Mathlib/Data/PFunctor/Multivariate/W.lean index f416244cdc66c8..383ebb67de7d6f 100644 --- a/Mathlib/Data/PFunctor/Multivariate/W.lean +++ b/Mathlib/Data/PFunctor/Multivariate/W.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.Basic +module + +public import Mathlib.Data.PFunctor.Multivariate.Basic /-! # The W construction as a multivariate polynomial functor. @@ -43,6 +45,8 @@ its valid paths to values of `α` [*Data Types as Quotients of Polynomial Functors*][avigad-carneiro-hudon2019] -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/PFunctor/Univariate/Basic.lean b/Mathlib/Data/PFunctor/Univariate/Basic.lean index 3a8e8234d101e1..67c4d834ceec8b 100644 --- a/Mathlib/Data/PFunctor/Univariate/Basic.lean +++ b/Mathlib/Data/PFunctor/Univariate/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.W.Basic +module + +public import Mathlib.Data.W.Basic /-! # Polynomial Functors @@ -12,6 +14,8 @@ This file defines polynomial functors and the W-type construction as a polynomia (For the M-type construction, see `Mathlib/Data/PFunctor/Univariate/M.lean`.) -/ +@[expose] public section + universe u v uA uB uA₁ uB₁ uA₂ uB₂ v₁ v₂ v₃ /-- A polynomial functor `P` is given by a type `A` and a family `B` of types over `A`. `P` maps diff --git a/Mathlib/Data/PFunctor/Univariate/M.lean b/Mathlib/Data/PFunctor/Univariate/M.lean index ccf4a2b0602705..fba728a99e5406 100644 --- a/Mathlib/Data/PFunctor/Univariate/M.lean +++ b/Mathlib/Data/PFunctor/Univariate/M.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.PFunctor.Univariate.Basic +module + +public import Mathlib.Data.PFunctor.Univariate.Basic /-! # M-types @@ -12,6 +14,8 @@ M types are potentially infinite tree-like structures. They are defined as the greatest fixpoint of a polynomial functor. -/ +@[expose] public section + universe u uA uB v w diff --git a/Mathlib/Data/PNat/Basic.lean b/Mathlib/Data/PNat/Basic.lean index 25837ad23b002e..4e4b1e910dac01 100644 --- a/Mathlib/Data/PNat/Basic.lean +++ b/Mathlib/Data/PNat/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Ralf Stephan, Neil Strickland, Ruben Van de Velde -/ -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Order.Positive.Ring -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.PNat.Equiv +module + +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Order.Positive.Ring +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.PNat.Equiv /-! # The positive natural numbers @@ -17,6 +19,8 @@ It is defined in `Data.PNat.Defs`, but most of the development is deferred to he that `Data.PNat.Defs` can have very few imports. -/ +@[expose] public section + deriving instance AddLeftCancelSemigroup, AddRightCancelSemigroup, AddCommSemigroup, Add, Mul, Distrib for PNat diff --git a/Mathlib/Data/PNat/Defs.lean b/Mathlib/Data/PNat/Defs.lean index e5d08780e76e82..b6c5dcaa4635e8 100644 --- a/Mathlib/Data/PNat/Defs.lean +++ b/Mathlib/Data/PNat/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Neil Strickland -/ -import Mathlib.Data.Int.Order.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Data.PNat.Notation -import Mathlib.Order.Basic -import Mathlib.Tactic.Coe -import Mathlib.Tactic.Lift +module + +public import Mathlib.Data.Int.Order.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Data.PNat.Notation +public import Mathlib.Order.Basic +public import Mathlib.Tactic.Coe +public import Mathlib.Tactic.Lift /-! # The positive natural numbers @@ -17,6 +19,8 @@ This file contains the definitions, and basic results. Most algebraic facts are deferred to `Data.PNat.Basic`, as they need more imports. -/ +@[expose] public section + deriving instance LinearOrder for PNat instance : One ℕ+ := diff --git a/Mathlib/Data/PNat/Equiv.lean b/Mathlib/Data/PNat/Equiv.lean index 0a31fe21546234..2cc1455b778ebc 100644 --- a/Mathlib/Data/PNat/Equiv.lean +++ b/Mathlib/Data/PNat/Equiv.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Ralf Stephan, Neil Strickland, Ruben Van de Velde -/ -import Mathlib.Data.PNat.Defs -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Data.PNat.Defs +public import Mathlib.Logic.Equiv.Defs /-! # The equivalence between `ℕ+` and `ℕ` -/ +@[expose] public section + /-- An equivalence between `ℕ+` and `ℕ` given by `PNat.natPred` and `Nat.succPNat`. -/ @[simps -fullyApplied] def _root_.Equiv.pnatEquivNat : ℕ+ ≃ ℕ where diff --git a/Mathlib/Data/PNat/Factors.lean b/Mathlib/Data/PNat/Factors.lean index 348f506bc8c144..d7ea1123f0df5c 100644 --- a/Mathlib/Data/PNat/Factors.lean +++ b/Mathlib/Data/PNat/Factors.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Basic -import Mathlib.Data.PNat.Prime -import Mathlib.Data.Nat.Factors -import Mathlib.Data.Multiset.OrderedMonoid -import Mathlib.Data.Multiset.Sort +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Basic +public import Mathlib.Data.PNat.Prime +public import Mathlib.Data.Nat.Factors +public import Mathlib.Data.Multiset.OrderedMonoid +public import Mathlib.Data.Multiset.Sort /-! # Prime factors of nonzero naturals @@ -21,6 +23,8 @@ the multiplicity of `p` in this factors multiset being the p-adic valuation of ` * `FactorMultiset n`: Multiset of prime factors of `n`. -/ +@[expose] public section + /-- The type of multisets of prime numbers. Unique factorization gives an equivalence between this set and ℕ+, as we will formalize below. -/ diff --git a/Mathlib/Data/PNat/Find.lean b/Mathlib/Data/PNat/Find.lean index be017ee9184952..1b7b891681bd1c 100644 --- a/Mathlib/Data/PNat/Find.lean +++ b/Mathlib/Data/PNat/Find.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, Floris van Doorn -/ -import Mathlib.Data.Nat.Find -import Mathlib.Data.PNat.Basic +module + +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.PNat.Basic /-! # Explicit least witnesses to existentials on positive natural numbers @@ -13,6 +15,8 @@ Implemented via calling out to `Nat.find`. -/ +@[expose] public section + namespace PNat diff --git a/Mathlib/Data/PNat/Interval.lean b/Mathlib/Data/PNat/Interval.lean index 769d2bd842c627..20332dadf58d53 100644 --- a/Mathlib/Data/PNat/Interval.lean +++ b/Mathlib/Data/PNat/Interval.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Data.PNat.Defs +module + +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Data.PNat.Defs /-! # Finite intervals of positive naturals @@ -13,6 +15,8 @@ This file proves that `ℕ+` is a `LocallyFiniteOrder` and calculates the cardin intervals as finsets and fintypes. -/ +@[expose] public section + open Finset Function PNat diff --git a/Mathlib/Data/PNat/Notation.lean b/Mathlib/Data/PNat/Notation.lean index be4a3da696f59c..430c87fddb35f6 100644 --- a/Mathlib/Data/PNat/Notation.lean +++ b/Mathlib/Data/PNat/Notation.lean @@ -3,11 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Yury Kudryashov -/ +module -import Mathlib.Data.Nat.Notation +public import Mathlib.Data.Nat.Notation /-! # Definition and notation for positive natural numbers -/ +@[expose] public section + /-- `ℕ+` is the type of positive natural numbers. It is defined as a subtype, and the VM representation of `ℕ+` is the same as `ℕ` because the proof is not stored. -/ diff --git a/Mathlib/Data/PNat/Prime.lean b/Mathlib/Data/PNat/Prime.lean index d05de6e4ca8f17..4cc009aa20f4fd 100644 --- a/Mathlib/Data/PNat/Prime.lean +++ b/Mathlib/Data/PNat/Prime.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Neil Strickland -/ -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.PNat.Basic +module + +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.PNat.Basic /-! # Primality and GCD on pnat @@ -13,6 +15,8 @@ This file extends the theory of `ℕ+` with `gcd`, `lcm` and `Prime` functions, `Nat`. -/ +@[expose] public section + namespace Nat.Primes diff --git a/Mathlib/Data/PNat/Xgcd.lean b/Mathlib/Data/PNat/Xgcd.lean index 639d3a9fb94175..c672bc73085b09 100644 --- a/Mathlib/Data/PNat/Xgcd.lean +++ b/Mathlib/Data/PNat/Xgcd.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Neil Strickland. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Neil Strickland -/ -import Mathlib.Tactic.Ring -import Mathlib.Data.PNat.Prime +module + +public import Mathlib.Tactic.Ring +public import Mathlib.Data.PNat.Prime /-! # Euclidean algorithm for ℕ @@ -31,6 +33,8 @@ the theory of continued fractions. See `Nat.Xgcd` for a very similar algorithm allowing values in `ℤ`. -/ +@[expose] public section + open Nat diff --git a/Mathlib/Data/PSigma/Order.lean b/Mathlib/Data/PSigma/Order.lean index 0037d3b6fbd47d..eaeadf365c417c 100644 --- a/Mathlib/Data/PSigma/Order.lean +++ b/Mathlib/Data/PSigma/Order.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Minchao Wu -/ -import Mathlib.Data.Sigma.Lex -import Mathlib.Util.Notation3 -import Init.NotationExtra -import Mathlib.Data.Sigma.Basic -import Mathlib.Order.Lattice -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Data.Sigma.Lex +public import Mathlib.Util.Notation3 +public import Init.NotationExtra +public import Mathlib.Data.Sigma.Basic +public import Mathlib.Order.Lattice +public import Mathlib.Order.BoundedOrder.Basic /-! # Lexicographic order on a sigma type @@ -30,6 +32,8 @@ Prove that a sigma type is a `NoMaxOrder`, `NoMinOrder`, `DenselyOrdered` when i are. -/ +@[expose] public section + variable {ι : Type*} {α : ι → Type*} diff --git a/Mathlib/Data/Part.lean b/Mathlib/Data/Part.lean index 9f773c0f848b64..53738f85f1d6fa 100644 --- a/Mathlib/Data/Part.lean +++ b/Mathlib/Data/Part.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Jeremy Avigad, Simon Hudon -/ -import Mathlib.Algebra.Notation.Defs -import Mathlib.Data.Set.Subsingleton -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Algebra.Notation.Defs +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Logic.Equiv.Defs /-! # Partial values of a type @@ -42,6 +44,8 @@ For `a : α`, `o : Part α`, `a ∈ o` means that `o` is defined and equal to `a `o.Dom` and `o.get _ = a`. -/ +@[expose] public section + assert_not_exists RelIso open Function diff --git a/Mathlib/Data/Pi/Interval.lean b/Mathlib/Data/Pi/Interval.lean index 4db37234636e66..1e2911c70daae3 100644 --- a/Mathlib/Data/Pi/Interval.lean +++ b/Mathlib/Data/Pi/Interval.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Finset.Basic -import Mathlib.Data.Fintype.BigOperators +module + +public import Mathlib.Order.Interval.Finset.Basic +public import Mathlib.Data.Fintype.BigOperators /-! # Intervals in a pi type @@ -13,6 +15,8 @@ This file shows that (dependent) functions to locally finite orders equipped wit order are locally finite and calculates the cardinality of their intervals. -/ +@[expose] public section + open Finset Fintype diff --git a/Mathlib/Data/Prod/Basic.lean b/Mathlib/Data/Prod/Basic.lean index dea2e1c3797760..02c89291f071dd 100644 --- a/Mathlib/Data/Prod/Basic.lean +++ b/Mathlib/Data/Prod/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Function.Defs -import Mathlib.Logic.Function.Iterate -import Aesop -import Mathlib.Tactic.Inhabit +module + +public import Mathlib.Logic.Function.Defs +public import Mathlib.Logic.Function.Iterate +public import Aesop +public import Mathlib.Tactic.Inhabit /-! # Extra facts about `Prod` @@ -15,6 +17,8 @@ This file proves various simple lemmas about `Prod`. It also defines better delaborators for product projections. -/ +@[expose] public section + variable {α : Type*} {β : Type*} {γ : Type*} {δ : Type*} namespace Prod @@ -308,19 +312,19 @@ open Lean PrettyPrinter Delaborator When true, then `Prod.fst x` and `Prod.snd x` pretty print as `x.1` and `x.2` rather than as `x.fst` and `x.snd`. -/ -register_option pp.numericProj.prod : Bool := { +meta register_option pp.numericProj.prod : Bool := { defValue := true descr := "enable pretty printing `Prod.fst x` as `x.1` and `Prod.snd x` as `x.2`." } /-- Tell whether pretty-printing should use numeric projection notations `.1` and `.2` for `Prod.fst` and `Prod.snd`. -/ -def getPPNumericProjProd (o : Options) : Bool := +meta def getPPNumericProjProd (o : Options) : Bool := o.get pp.numericProj.prod.name pp.numericProj.prod.defValue /-- Delaborator for `Prod.fst x` as `x.1`. -/ @[app_delab Prod.fst] -def delabProdFst : Delab := +meta def delabProdFst : Delab := whenPPOption getPPNumericProjProd <| whenPPOption getPPFieldNotation <| whenNotPPOption getPPExplicit <| @@ -330,7 +334,7 @@ def delabProdFst : Delab := /-- Delaborator for `Prod.snd x` as `x.2`. -/ @[app_delab Prod.snd] -def delabProdSnd : Delab := +meta def delabProdSnd : Delab := whenPPOption getPPNumericProjProd <| whenPPOption getPPFieldNotation <| whenNotPPOption getPPExplicit <| diff --git a/Mathlib/Data/Prod/Lex.lean b/Mathlib/Data/Prod/Lex.lean index d0af456db93f6b..8445f49f2962be 100644 --- a/Mathlib/Data/Prod/Lex.lean +++ b/Mathlib/Data/Prod/Lex.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Minchao Wu -/ -import Mathlib.Data.Prod.Basic -import Mathlib.Order.Lattice -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Tactic.Tauto +module + +public import Mathlib.Data.Prod.Basic +public import Mathlib.Order.Lattice +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Tactic.Tauto /-! # Lexicographic order @@ -31,6 +33,8 @@ Related files are: * `Data.Sigma.Order`: Lexicographic order on `Σ i, α i`. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/Prod/PProd.lean b/Mathlib/Data/Prod/PProd.lean index b5a93641550352..8fc7f66254abde 100644 --- a/Mathlib/Data/Prod/PProd.lean +++ b/Mathlib/Data/Prod/PProd.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Batteries.Logic -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Logic +public import Mathlib.Tactic.TypeStar /-! # Extra facts about `PProd` -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Prod/TProd.lean b/Mathlib/Data/Prod/TProd.lean index dd6710614c64ac..63a3935cfa2725 100644 --- a/Mathlib/Data/Prod/TProd.lean +++ b/Mathlib/Data/Prod/TProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Data.List.Nodup -import Mathlib.Data.Set.Prod +module + +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.Set.Prod /-! # Finite products of types @@ -34,6 +36,8 @@ construction/theorem that is easier to define/prove on binary products than on f * The product of sets is `Set.tprod : (∀ i, Set (α i)) → Set (TProd α l)`. -/ +@[expose] public section + open List Function universe u v diff --git a/Mathlib/Data/QPF/Multivariate/Basic.lean b/Mathlib/Data/QPF/Multivariate/Basic.lean index 5fb34835e31441..910540e98537b2 100644 --- a/Mathlib/Data/QPF/Multivariate/Basic.lean +++ b/Mathlib/Data/QPF/Multivariate/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.Basic +module + +public import Mathlib.Data.PFunctor.Multivariate.Basic /-! # Multivariate quotients of polynomial functors. @@ -69,6 +71,8 @@ matched because they preserve the properties of QPF. The latter example, each proves that some operations on functors preserves the QPF structure -/ +@[expose] public section + set_option linter.style.longLine false in /-! ## Reference diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean index 736ae52e6189d8..c59d1ae3abebaa 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Control.Functor.Multivariate -import Mathlib.Data.PFunctor.Multivariate.Basic -import Mathlib.Data.PFunctor.Multivariate.M -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Control.Functor.Multivariate +public import Mathlib.Data.PFunctor.Multivariate.Basic +public import Mathlib.Data.PFunctor.Multivariate.M +public import Mathlib.Data.QPF.Multivariate.Basic /-! # The final co-algebra of a multivariate qpf is again a qpf. @@ -38,6 +40,8 @@ We define the relation `Mcongr` and take its quotient as the definition of `Cofi [*Data Types as Quotients of Polynomial Functors*][avigad-carneiro-hudon2019] -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Comp.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Comp.lean index 9b031b70c5d991..94e05c04a5c13e 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Comp.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Comp.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.Basic -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Data.PFunctor.Multivariate.Basic +public import Mathlib.Data.QPF.Multivariate.Basic /-! # The composition of QPFs is itself a QPF @@ -13,6 +15,8 @@ We define composition between one `n`-ary functor and `n` `m`-ary functors and show that it preserves the QPF structure -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Const.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Const.lean index 35705012f978f6..aa363ae1affc06 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Const.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Const.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Functor.Multivariate -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Control.Functor.Multivariate +public import Mathlib.Data.QPF.Multivariate.Basic /-! # Constant functors are QPFs @@ -16,6 +18,8 @@ that are not actually functorial. For instance `Const n Nat` makes specification. -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean index 6b99bc5fc449ee..e1cc1ac034406d 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.W -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Data.PFunctor.Multivariate.W +public import Mathlib.Data.QPF.Multivariate.Basic /-! # The initial algebra of a multivariate qpf is again a qpf. @@ -37,6 +39,8 @@ See [avigad-carneiro-hudon2019] for more details. [*Data Types as Quotients of Polynomial Functors*][avigad-carneiro-hudon2019] -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Prj.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Prj.lean index cd4157b140d29f..5a6178fae9ac89 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Prj.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Prj.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Functor.Multivariate -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Control.Functor.Multivariate +public import Mathlib.Data.QPF.Multivariate.Basic /-! Projection functors are QPFs. The `n`-ary projection functors on `i` is an `n`-ary functor `F` such that `F (α₀..αᵢ₋₁, αᵢ, αᵢ₊₁..αₙ₋₁) = αᵢ` -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Quot.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Quot.lean index eb57ad0cd8a904..3a63aa05ba70c5 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Quot.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Quot.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Simon Hudon -/ -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Data.QPF.Multivariate.Basic /-! # The quotient of QPF is itself a QPF @@ -13,6 +15,8 @@ its right inverse. They are very similar to the `abs` and `repr` functions found in the definition of `MvQPF` -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/QPF/Multivariate/Constructions/Sigma.lean b/Mathlib/Data/QPF/Multivariate/Constructions/Sigma.lean index 3e1a619ccae078..b86c4b7e92e294 100644 --- a/Mathlib/Data/QPF/Multivariate/Constructions/Sigma.lean +++ b/Mathlib/Data/QPF/Multivariate/Constructions/Sigma.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.PFunctor.Multivariate.Basic -import Mathlib.Data.QPF.Multivariate.Basic +module + +public import Mathlib.Data.PFunctor.Multivariate.Basic +public import Mathlib.Data.QPF.Multivariate.Basic /-! # Dependent product and sum of QPFs are QPFs -/ +@[expose] public section + universe u diff --git a/Mathlib/Data/QPF/Univariate/Basic.lean b/Mathlib/Data/QPF/Univariate/Basic.lean index 7e57edbcc1c9c6..aace5df0227b57 100644 --- a/Mathlib/Data/QPF/Univariate/Basic.lean +++ b/Mathlib/Data/QPF/Univariate/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.PFunctor.Univariate.M +module + +public import Mathlib.Data.PFunctor.Univariate.M /-! @@ -37,6 +39,8 @@ The present theory focuses on the univariate case for qpfs -/ +@[expose] public section + universe u u' v diff --git a/Mathlib/Data/Quot.lean b/Mathlib/Data/Quot.lean index 97d6adff91aab7..6dee7b9f59c343 100644 --- a/Mathlib/Data/Quot.lean +++ b/Mathlib/Data/Quot.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Relation -import Mathlib.Logic.Unique -import Mathlib.Util.Notation3 +module + +public import Mathlib.Logic.Relation +public import Mathlib.Logic.Unique +public import Mathlib.Util.Notation3 /-! # Quotient types @@ -17,6 +19,8 @@ This module extends the core library's treatment of quotient types (`Init.Core`) quotient -/ +@[expose] public section + variable {α : Sort*} {β : Sort*} namespace Setoid diff --git a/Mathlib/Data/Rat/BigOperators.lean b/Mathlib/Data/Rat/BigOperators.lean index 81e5b4f7129bf7..afd57a43d44f83 100644 --- a/Mathlib/Data/Rat/BigOperators.lean +++ b/Mathlib/Data/Rat/BigOperators.lean @@ -3,12 +3,16 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Rat.Cast.CharZero -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +module + +public import Mathlib.Data.Rat.Cast.CharZero +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! # Casting lemmas for rational numbers involving sums and products -/ +@[expose] public section + variable {ι α : Type*} namespace Rat diff --git a/Mathlib/Data/Rat/Cardinal.lean b/Mathlib/Data/Rat/Cardinal.lean index b31cb4038ca5a5..901b0d78d41727 100644 --- a/Mathlib/Data/Rat/Cardinal.lean +++ b/Mathlib/Data/Rat/Cardinal.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Floris Van Doorn -/ -import Mathlib.Algebra.CharZero.Infinite -import Mathlib.Algebra.Ring.Rat -import Mathlib.Data.Rat.Encodable -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.Algebra.CharZero.Infinite +public import Mathlib.Algebra.Ring.Rat +public import Mathlib.Data.Rat.Encodable +public import Mathlib.SetTheory.Cardinal.Basic /-! # Cardinality of ℚ @@ -14,6 +16,8 @@ import Mathlib.SetTheory.Cardinal.Basic This file proves that the Cardinality of ℚ is ℵ₀ -/ +@[expose] public section + assert_not_exists Module Field open Cardinal diff --git a/Mathlib/Data/Rat/Cast/CharZero.lean b/Mathlib/Data/Rat/Cast/CharZero.lean index 611b5042cc12af..deb52bddca636a 100644 --- a/Mathlib/Data/Rat/Cast/CharZero.lean +++ b/Mathlib/Data/Rat/Cast/CharZero.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Data.Rat.Cast.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Data.Rat.Cast.Defs /-! # Casts of rational numbers into characteristic zero fields (or division rings). -/ +@[expose] public section + open Function variable {F ι α β : Type*} diff --git a/Mathlib/Data/Rat/Cast/Defs.lean b/Mathlib/Data/Rat/Cast/Defs.lean index 5628a05dd88aae..a04dc0117f5260 100644 --- a/Mathlib/Data/Rat/Cast/Defs.lean +++ b/Mathlib/Data/Rat/Cast/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Field.Rat -import Mathlib.Algebra.Group.Commute.Basic -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.Rat.Lemmas -import Mathlib.Order.Nat +module + +public import Mathlib.Algebra.Field.Basic +public import Mathlib.Algebra.Field.Rat +public import Mathlib.Algebra.Group.Commute.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.Data.Rat.Lemmas +public import Mathlib.Order.Nat /-! # Casts for Rational Numbers @@ -24,6 +26,8 @@ casting lemmas showing the well-behavedness of this injection. rat, rationals, field, ℚ, numerator, denominator, num, denom, cast, coercion, casting -/ +@[expose] public section + assert_not_exists MulAction OrderedAddCommMonoid variable {F ι α β : Type*} diff --git a/Mathlib/Data/Rat/Cast/Lemmas.lean b/Mathlib/Data/Rat/Cast/Lemmas.lean index e57f0499be783e..f1b3546311e697 100644 --- a/Mathlib/Data/Rat/Cast/Lemmas.lean +++ b/Mathlib/Data/Rat/Cast/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Nonneg.Field -import Mathlib.Data.Rat.Cast.Defs -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.Order.Nonneg.Field +public import Mathlib.Data.Rat.Cast.Defs +public import Mathlib.Tactic.Positivity.Basic /-! # Some exiled lemmas about casting @@ -17,6 +19,8 @@ In fact, these lemmas don't appear to be used anywhere in Mathlib, so perhaps this file can simply be deleted. -/ +@[expose] public section + namespace Rat variable {α : Type*} [DivisionRing α] diff --git a/Mathlib/Data/Rat/Cast/Order.lean b/Mathlib/Data/Rat/Cast/Order.lean index 10951d5e3ded2f..6334a9fa3ec4f4 100644 --- a/Mathlib/Data/Rat/Cast/Order.lean +++ b/Mathlib/Data/Rat/Cast/Order.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Field.Rat -import Mathlib.Data.Rat.Cast.CharZero -import Mathlib.Tactic.Positivity.Core +module + +public import Mathlib.Algebra.Order.Field.Rat +public import Mathlib.Data.Rat.Cast.CharZero +public import Mathlib.Tactic.Positivity.Core /-! # Casts of rational numbers into linear ordered fields. -/ +@[expose] public section + variable {F ι α β : Type*} namespace Rat @@ -259,7 +263,7 @@ open Lean Meta Qq Function /-- Extension for Rat.cast. -/ @[positivity Rat.cast _] -def evalRatCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalRatCast : PositivityExt where eval {u α} _zα _pα e := do let ~q(@Rat.cast _ (_) ($a : ℚ)) := e | throwError "not Rat.cast" match ← core q(inferInstance) q(inferInstance) a with | .positive pa => @@ -283,7 +287,7 @@ def evalRatCast : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for NNRat.cast. -/ @[positivity NNRat.cast _] -def evalNNRatCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNNRatCast : PositivityExt where eval {u α} _zα _pα e := do let ~q(@NNRat.cast _ (_) ($a : ℚ≥0)) := e | throwError "not NNRat.cast" match ← core q(inferInstance) q(inferInstance) a with | .positive pa => diff --git a/Mathlib/Data/Rat/Defs.lean b/Mathlib/Data/Rat/Defs.lean index 927be9fb6d0876..5fdc612f5c5775 100644 --- a/Mathlib/Data/Rat/Defs.lean +++ b/Mathlib/Data/Rat/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Data.Rat.Init -import Mathlib.Order.Basic -import Mathlib.Tactic.Common -import Mathlib.Data.Nat.Basic +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Data.Rat.Init +public import Mathlib.Order.Basic +public import Mathlib.Tactic.Common +public import Mathlib.Data.Nat.Basic /-! # Basics for the Rational Numbers @@ -28,6 +30,8 @@ once the `Field` class has been defined. -/ +@[expose] public section + -- TODO: If `Inv` was defined earlier than `Algebra.Group.Defs`, we could have -- assert_not_exists Monoid assert_not_exists MonoidWithZero Lattice PNat Nat.gcd_greatest diff --git a/Mathlib/Data/Rat/Denumerable.lean b/Mathlib/Data/Rat/Denumerable.lean index fb99bd80001294..32b8c157ce2093 100644 --- a/Mathlib/Data/Rat/Denumerable.lean +++ b/Mathlib/Data/Rat/Denumerable.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Ring.Rat -import Mathlib.Data.Rat.Encodable -import Mathlib.Algebra.CharZero.Infinite -import Mathlib.Logic.Denumerable +module + +public import Mathlib.Algebra.Ring.Rat +public import Mathlib.Data.Rat.Encodable +public import Mathlib.Algebra.CharZero.Infinite +public import Mathlib.Logic.Denumerable /-! # Denumerability of ℚ @@ -16,6 +18,8 @@ This file proves that ℚ is denumerable. The fact that ℚ has cardinality ℵ₀ is proved in `Mathlib/Data/Rat/Cardinal.lean` -/ +@[expose] public section + assert_not_exists Module Field namespace Rat diff --git a/Mathlib/Data/Rat/Encodable.lean b/Mathlib/Data/Rat/Encodable.lean index de610fbb6c0e37..f576ebd8ddda96 100644 --- a/Mathlib/Data/Rat/Encodable.lean +++ b/Mathlib/Data/Rat/Encodable.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Logic.Encodable.Basic -import Mathlib.Data.Rat.Init +module + +public import Mathlib.Logic.Encodable.Basic +public import Mathlib.Data.Rat.Init /-! # The rationals are `Encodable`. @@ -13,6 +15,8 @@ As a consequence we also get the instance `Countable ℚ`. This is kept separate from `Data.Rat.Defs` in order to minimize imports. -/ +@[expose] public section + namespace Rat diff --git a/Mathlib/Data/Rat/Floor.lean b/Mathlib/Data/Rat/Floor.lean index 0fa150bb10f907..7da6a0a5cd043e 100644 --- a/Mathlib/Data/Rat/Floor.lean +++ b/Mathlib/Data/Rat/Floor.lean @@ -3,10 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Kappelmann -/ -import Mathlib.Algebra.Order.Round -import Mathlib.Data.Rat.Cast.Order -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Order.Round +public import Mathlib.Data.Rat.Cast.Order +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Ring +meta import Mathlib.Algebra.Order.Floor.Defs /-! # Floor Function for Rational Numbers @@ -21,6 +24,8 @@ division and modulo arithmetic are derived as well as some simple inequalities. rat, rationals, ℚ, floor -/ +@[expose] public section + assert_not_exists Finset open Int @@ -140,7 +145,7 @@ theorem isInt_intFloor_ofIsRat_neg (r : α) (n : ℕ) (d : ℕ) : /-- `norm_num` extension for `Int.floor` -/ @[norm_num ⌊_⌋] -def evalIntFloor : NormNumExt where eval {u αZ} e := do +meta def evalIntFloor : NormNumExt where eval {u αZ} e := do match u, αZ, e with | 0, ~q(ℤ), ~q(@Int.floor $α $instR $instO $instF $x) => match ← derive x with @@ -158,14 +163,14 @@ def evalIntFloor : NormNumExt where eval {u αZ} e := do let _i ← synthInstanceQ q(Field $α) let _i ← synthInstanceQ q(IsStrictOrderedRing $α) assertInstancesCommute - have z : Q(ℕ) := Lean.mkRawNatLit ⌊q⌋₊ + have z : Q(ℕ) := Lean.mkRawNatLit q.floor.toNat letI : $z =Q $n / $d := ⟨⟩ return .isNat q(inferInstance) z q(isNat_intFloor_ofIsNNRat $x $n $d $h) | .isNegNNRat _ q n d h => do let _i ← synthInstanceQ q(Field $α) let _i ← synthInstanceQ q(IsStrictOrderedRing $α) assertInstancesCommute - have z : Q(ℕ) := Lean.mkRawNatLit (-⌊q⌋).toNat + have z : Q(ℕ) := Lean.mkRawNatLit (-q.floor).toNat letI : $z =Q (-(-$n / $d) : ℤ).toNat := ⟨⟩ return .isNegNat q(inferInstance) z q(isInt_intFloor_ofIsRat_neg $x $n $d $h) | _, _, _ => failure @@ -199,7 +204,7 @@ theorem isInt_intCeil_ofIsRat_neg (r : α) (n : ℕ) (d : ℕ) : /-- `norm_num` extension for `Int.ceil` -/ @[norm_num ⌈_⌉] -def evalIntCeil : NormNumExt where eval {u αZ} e := do +meta def evalIntCeil : NormNumExt where eval {u αZ} e := do match u, αZ, e with | 0, ~q(ℤ), ~q(@Int.ceil $α $instR $instO $instF $x) => match ← derive x with @@ -217,14 +222,14 @@ def evalIntCeil : NormNumExt where eval {u αZ} e := do let _i ← synthInstanceQ q(Field $α) let _i ← synthInstanceQ q(IsStrictOrderedRing $α) assertInstancesCommute - have z : Q(ℕ) := Lean.mkRawNatLit ⌈q⌉₊ + have z : Q(ℕ) := Lean.mkRawNatLit q.ceil.toNat letI : $z =Q (-(-$n / $d) : ℤ).toNat := ⟨⟩ return .isNat q(inferInstance) z q(isNat_intCeil_ofIsNNRat $x $n $d $h) | .isNegNNRat _ q n d h => do let _i ← synthInstanceQ q(Field $α) let _i ← synthInstanceQ q(IsStrictOrderedRing $α) assertInstancesCommute - have z : Q(ℕ) := Lean.mkRawNatLit (-⌈q⌉).toNat + have z : Q(ℕ) := Lean.mkRawNatLit (-q.ceil).toNat letI : $z =Q $n / $d := ⟨⟩ return .isNegNat q(inferInstance) z q(isInt_intCeil_ofIsRat_neg $x $n $d $h) | _, _, _ => failure @@ -250,7 +255,7 @@ theorem isRat_intFract_of_isRat_negOfNat (r : α) (n d : ℕ) : /-- `norm_num` extension for `Int.fract` -/ @[norm_num (Int.fract _)] -def evalIntFract : NormNumExt where eval {u α} e := do +meta def evalIntFract : NormNumExt where eval {u α} e := do match e with | ~q(@Int.fract _ $instR $instO $instF $x) => match ← derive x with @@ -273,14 +278,14 @@ def evalIntFract : NormNumExt where eval {u α} e := do assertInstancesCommute have n' : Q(ℕ) := Lean.mkRawNatLit (q.num.natAbs % q.den) letI : $n' =Q $n % $d := ⟨⟩ - return .isNNRat _ (Int.fract q) n' d q(isNNRat_intFract_of_isNNRat _ $n $d $h) + return .isNNRat _ (q - Rat.floor q) n' d q(isNNRat_intFract_of_isNNRat _ $n $d $h) | .isNegNNRat _ q n d h => do let _i ← synthInstanceQ q(Field $α) let _i ← synthInstanceQ q(IsStrictOrderedRing $α) assertInstancesCommute have n' : Q(ℤ) := mkRawIntLit (q.num % q.den) letI : $n' =Q -$n % $d := ⟨⟩ - return .isRat _ (Int.fract q) n' d q(isRat_intFract_of_isRat_negOfNat _ $n $d $h) + return .isRat _ (q - Rat.floor q) n' d q(isRat_intFract_of_isRat_negOfNat _ $n $d $h) | _, _, _ => failure end NormNum diff --git a/Mathlib/Data/Rat/Init.lean b/Mathlib/Data/Rat/Init.lean index 4ac6014d1e04fe..3f6f68d4038e3a 100644 --- a/Mathlib/Data/Rat/Init.lean +++ b/Mathlib/Data/Rat/Init.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yaël Dillies -/ -import Mathlib.Data.Nat.Notation -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Batteries.Classes.RatCast +module + +public import Mathlib.Data.Nat.Notation +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.TypeStar +public import Batteries.Classes.RatCast /-! # Basic definitions around the rational numbers @@ -16,6 +18,8 @@ This file declares `ℚ` notation for the rationals and defines the nonnegative This file is eligible to upstreaming to Batteries. -/ +@[expose] public section + @[inherit_doc] notation "ℚ" => Rat /-- Nonnegative rational numbers. -/ diff --git a/Mathlib/Data/Rat/Lemmas.lean b/Mathlib/Data/Rat/Lemmas.lean index 937cda97319b39..8f843612ccd648 100644 --- a/Mathlib/Data/Rat/Lemmas.lean +++ b/Mathlib/Data/Rat/Lemmas.lean @@ -3,16 +3,20 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Ring.Rat -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Data.PNat.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Ring.Rat +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Data.PNat.Defs /-! # Further lemmas for the Rational Numbers -/ +@[expose] public section + namespace Rat diff --git a/Mathlib/Data/Rat/NatSqrt/Defs.lean b/Mathlib/Data/Rat/NatSqrt/Defs.lean index bdc35c95159dca..a51893da0be1fc 100644 --- a/Mathlib/Data/Rat/NatSqrt/Defs.lean +++ b/Mathlib/Data/Rat/NatSqrt/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Tactic.Positivity -import Mathlib.Algebra.Order.Field.Basic +module + +public import Mathlib.Tactic.Positivity +public import Mathlib.Algebra.Order.Field.Basic /-! Rational approximation of the square root of a natural number. @@ -12,6 +14,8 @@ Rational approximation of the square root of a natural number. See also `Mathlib.Data.Rat.NatSqrt.Real` for comparisons with the real square root. -/ +@[expose] public section + namespace Nat /-- diff --git a/Mathlib/Data/Rat/NatSqrt/Real.lean b/Mathlib/Data/Rat/NatSqrt/Real.lean index 00fa9ea20c9365..1aaf2bc7492d94 100644 --- a/Mathlib/Data/Rat/NatSqrt/Real.lean +++ b/Mathlib/Data/Rat/NatSqrt/Real.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Rat.NatSqrt.Defs -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Data.Rat.NatSqrt.Defs +public import Mathlib.Data.Real.Sqrt /-! Comparisons between rational approximations to the square root of a natural number and the real square root. -/ +@[expose] public section + namespace Nat theorem ratSqrt_le_realSqrt (x : ℕ) {prec : ℕ} (h : 0 < prec) : ratSqrt x prec ≤ √x := by diff --git a/Mathlib/Data/Rat/Sqrt.lean b/Mathlib/Data/Rat/Sqrt.lean index 4a1bdf302268a8..35ec895d959a94 100644 --- a/Mathlib/Data/Rat/Sqrt.lean +++ b/Mathlib/Data/Rat/Sqrt.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Algebra.Order.Ring.Unbundled.Rat -import Mathlib.Data.Rat.Lemmas -import Mathlib.Data.Int.Sqrt +module + +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Algebra.Order.Ring.Unbundled.Rat +public import Mathlib.Data.Rat.Lemmas +public import Mathlib.Data.Int.Sqrt /-! # Square root on rational numbers @@ -16,6 +18,8 @@ and proves several theorems about it. -/ +@[expose] public section + namespace Rat diff --git a/Mathlib/Data/Rat/Star.lean b/Mathlib/Data/Rat/Star.lean index a4762d8ced664e..35b65f78f3e5bc 100644 --- a/Mathlib/Data/Rat/Star.lean +++ b/Mathlib/Data/Rat/Star.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux, Yaël Dillies -/ -import Mathlib.Algebra.GroupWithZero.Commute -import Mathlib.Algebra.Order.Monoid.Submonoid -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Data.NNRat.Order -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.GroupWithZero.Commute +public import Mathlib.Algebra.Order.Monoid.Submonoid +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Data.NNRat.Order +public import Mathlib.Tactic.FieldSimp /-! # Star ordered ring structures on `ℚ` and `ℚ≥0` @@ -17,6 +19,8 @@ This file shows that `ℚ` and `ℚ≥0` are `StarOrderedRing`s. In particular, nonnegative rational number is a sum of squares. -/ +@[expose] public section + open AddSubmonoid Set open scoped NNRat diff --git a/Mathlib/Data/Real/Archimedean.lean b/Mathlib/Data/Real/Archimedean.lean index 0700194b8cc72e..6c435a7bbd67a0 100644 --- a/Mathlib/Data/Real/Archimedean.lean +++ b/Mathlib/Data/Real/Archimedean.lean @@ -3,17 +3,21 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.Group.Pointwise.Bounds -import Mathlib.Data.Real.Basic -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.Interval.Set.Disjoint +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.Group.Pointwise.Bounds +public import Mathlib.Data.Real.Basic +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.Interval.Set.Disjoint /-! # The real numbers are an Archimedean floor ring, and a conditionally complete linear order. -/ +@[expose] public section + assert_not_exists Finset open Pointwise CauSeq diff --git a/Mathlib/Data/Real/Basic.lean b/Mathlib/Data/Real/Basic.lean index a402bf9c017ff6..88ce7fe46df4bf 100644 --- a/Mathlib/Data/Real/Basic.lean +++ b/Mathlib/Data/Real/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.CauSeq.Completion -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.Data.Rat.Cast.Defs +module + +public import Mathlib.Algebra.Order.CauSeq.Completion +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.Data.Rat.Cast.Defs /-! # Real numbers from Cauchy sequences @@ -23,6 +25,8 @@ The fact that the real numbers are a (trivial) *-ring has similarly been deferre `Mathlib/Data/Real/Star.lean`. -/ +@[expose] public section + assert_not_exists Finset Module Submonoid FloorRing @@ -81,25 +85,25 @@ private noncomputable irreducible_def inv' : ℝ → ℝ | ⟨a⟩ => ⟨a⁻¹⟩ instance : Zero ℝ := - ⟨zero⟩ + ⟨private_decl% zero⟩ instance : One ℝ := - ⟨one⟩ + ⟨private_decl% one⟩ instance : Add ℝ := - ⟨add⟩ + ⟨private_decl% add⟩ instance : Neg ℝ := - ⟨neg⟩ + ⟨private_decl% neg⟩ instance : Mul ℝ := - ⟨mul⟩ + ⟨private_decl% mul⟩ instance : Sub ℝ := ⟨fun a b => a + -b⟩ noncomputable instance : Inv ℝ := - ⟨inv'⟩ + ⟨private_decl% inv'⟩ theorem ofCauchy_zero : (⟨0⟩ : ℝ) = 0 := zero_def.symm @@ -251,7 +255,7 @@ private irreducible_def lt : ℝ → ℝ → Prop lt_of_eq_of_lt hf (lt_of_lt_of_eq h (Setoid.symm hg))⟩ instance : LT ℝ := - ⟨lt⟩ + ⟨private_decl% lt⟩ theorem lt_cauchy {f g} : (⟨⟦f⟧⟩ : ℝ) < ⟨⟦g⟧⟩ ↔ f < g := show lt _ _ ↔ _ by rw [lt_def]; rfl @@ -281,7 +285,7 @@ private irreducible_def le (x y : ℝ) : Prop := x < y ∨ x = y instance : LE ℝ := - ⟨le⟩ + ⟨private_decl% le⟩ private theorem le_def' {x y : ℝ} : x ≤ y ↔ x < y ∨ x = y := iff_of_eq <| le_def _ _ @@ -367,7 +371,7 @@ private irreducible_def sup : ℝ → ℝ → ℝ | ⟨x⟩, ⟨y⟩ => ⟨Quotient.map₂ (· ⊔ ·) (fun _ _ hx _ _ hy => sup_equiv_sup hx hy) x y⟩ instance : Max ℝ := - ⟨sup⟩ + ⟨private_decl% sup⟩ theorem ofCauchy_sup (a b) : (⟨⟦a ⊔ b⟧⟩ : ℝ) = ⟨⟦a⟧⟩ ⊔ ⟨⟦b⟧⟩ := show _ = sup _ _ by @@ -382,7 +386,7 @@ private irreducible_def inf : ℝ → ℝ → ℝ | ⟨x⟩, ⟨y⟩ => ⟨Quotient.map₂ (· ⊓ ·) (fun _ _ hx _ _ hy => inf_equiv_inf hx hy) x y⟩ instance : Min ℝ := - ⟨inf⟩ + ⟨private_decl% inf⟩ theorem ofCauchy_inf (a b) : (⟨⟦a ⊓ b⟧⟩ : ℝ) = ⟨⟦a⟧⟩ ⊓ ⟨⟦b⟧⟩ := show _ = inf _ _ by diff --git a/Mathlib/Data/Real/Cardinality.lean b/Mathlib/Data/Real/Cardinality.lean index b041e70d975354..aacd5665cf0dea 100644 --- a/Mathlib/Data/Real/Cardinality.lean +++ b/Mathlib/Data/Real/Cardinality.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Cardinality +module + +public import Mathlib.Analysis.Real.Cardinality deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/CompleteField.lean b/Mathlib/Data/Real/CompleteField.lean index 496296a8c053ff..0f2a44474d1193 100644 --- a/Mathlib/Data/Real/CompleteField.lean +++ b/Mathlib/Data/Real/CompleteField.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Algebra.Order.CompleteField -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Algebra.Order.CompleteField +public import Mathlib.Data.Real.Sqrt /-! # The reals are a conditionally complete linearly ordered field -/ +@[expose] public section + /-- The reals are a conditionally complete linearly ordered field. -/ noncomputable instance : ConditionallyCompleteLinearOrderedField ℝ := { } diff --git a/Mathlib/Data/Real/ConjExponents.lean b/Mathlib/Data/Real/ConjExponents.lean index dc2dd00aef9a4d..92920f354d602f 100644 --- a/Mathlib/Data/Real/ConjExponents.lean +++ b/Mathlib/Data/Real/ConjExponents.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Data.ENNReal.Holder -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Data.ENNReal.Holder +public import Mathlib.Tactic.LinearCombination /-! # Real conjugate exponents @@ -33,6 +35,8 @@ to take the values `0` and `∞`. * Eradicate the `1 / p` spelling in lemmas. -/ +@[expose] public section + noncomputable section open scoped ENNReal NNReal diff --git a/Mathlib/Data/Real/ENatENNReal.lean b/Mathlib/Data/Real/ENatENNReal.lean index 77fef685a49a7f..dbb4deea753600 100644 --- a/Mathlib/Data/Real/ENatENNReal.lean +++ b/Mathlib/Data/Real/ENatENNReal.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.ENat.Basic -import Mathlib.Data.ENNReal.Basic +module + +public import Mathlib.Data.ENat.Basic +public import Mathlib.Data.ENNReal.Basic /-! # Coercion from `ℕ∞` to `ℝ≥0∞` @@ -12,6 +14,8 @@ import Mathlib.Data.ENNReal.Basic In this file we define a coercion from `ℕ∞` to `ℝ≥0∞` and prove some basic lemmas about this map. -/ +@[expose] public section + assert_not_exists Finset open NNReal ENNReal diff --git a/Mathlib/Data/Real/EReal.lean b/Mathlib/Data/Real/EReal.lean index bfe3421ecdb4bd..97197a82f4708a 100644 --- a/Mathlib/Data/Real/EReal.lean +++ b/Mathlib/Data/Real/EReal.lean @@ -3,6 +3,8 @@ Copyright (c) 2019 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.Data.EReal.Basic +module + +public import Mathlib.Data.EReal.Basic deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Data/Real/Embedding.lean b/Mathlib/Data/Real/Embedding.lean index f13f9018efb6d9..1defaa344f8869 100644 --- a/Mathlib/Data/Real/Embedding.lean +++ b/Mathlib/Data/Real/Embedding.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Data.Real.Archimedean +module + +public import Mathlib.Algebra.Order.Group.Pointwise.CompleteLattice +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.Data.Real.Archimedean /-! # Embedding of archimedean groups into reals @@ -20,6 +22,8 @@ This file provides embedding of any archimedean groups into reals. for any archimedean group `M` without specifying the `1` element in `M`. -/ +@[expose] public section + variable {M : Type*} variable [AddCommGroup M] [LinearOrder M] [IsOrderedAddMonoid M] [One M] diff --git a/Mathlib/Data/Real/Hyperreal.lean b/Mathlib/Data/Real/Hyperreal.lean index b74898e1aa841b..a4bcda3e7ecd15 100644 --- a/Mathlib/Data/Real/Hyperreal.lean +++ b/Mathlib/Data/Real/Hyperreal.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Hyperreal +module + +public import Mathlib.Analysis.Real.Hyperreal deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/Irrational.lean b/Mathlib/Data/Real/Irrational.lean index e706456d253479..aba64ec3830341 100644 --- a/Mathlib/Data/Real/Irrational.lean +++ b/Mathlib/Data/Real/Irrational.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.Real.Irrational +module + +public import Mathlib.NumberTheory.Real.Irrational deprecated_module (since := "2025-10-13") diff --git a/Mathlib/Data/Real/Pi/Bounds.lean b/Mathlib/Data/Real/Pi/Bounds.lean index f7bf5761e300da..497d4a7a07fcb2 100644 --- a/Mathlib/Data/Real/Pi/Bounds.lean +++ b/Mathlib/Data/Real/Pi/Bounds.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Pi.Bounds +module + +public import Mathlib.Analysis.Real.Pi.Bounds deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/Pi/Irrational.lean b/Mathlib/Data/Real/Pi/Irrational.lean index 50731dc04dfddd..969ba5d29d684b 100644 --- a/Mathlib/Data/Real/Pi/Irrational.lean +++ b/Mathlib/Data/Real/Pi/Irrational.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Pi.Irrational +module + +public import Mathlib.Analysis.Real.Pi.Irrational deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/Pi/Leibniz.lean b/Mathlib/Data/Real/Pi/Leibniz.lean index 34f04fd6bff4f2..c75ba4f4090012 100644 --- a/Mathlib/Data/Real/Pi/Leibniz.lean +++ b/Mathlib/Data/Real/Pi/Leibniz.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Pi.Leibniz +module + +public import Mathlib.Analysis.Real.Pi.Leibniz deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/Pi/Wallis.lean b/Mathlib/Data/Real/Pi/Wallis.lean index c0f0e9b8c7fce4..2cfad4465c4c68 100644 --- a/Mathlib/Data/Real/Pi/Wallis.lean +++ b/Mathlib/Data/Real/Pi/Wallis.lean @@ -1,3 +1,5 @@ -import Mathlib.Analysis.Real.Pi.Wallis +module + +public import Mathlib.Analysis.Real.Pi.Wallis deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Real/Pointwise.lean b/Mathlib/Data/Real/Pointwise.lean index 49bc59bbcb8dc5..b28c26237a2643 100644 --- a/Mathlib/Data/Real/Pointwise.lean +++ b/Mathlib/Data/Real/Pointwise.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.Order.Module.Pointwise -import Mathlib.Data.Real.Archimedean +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.Order.Module.Pointwise +public import Mathlib.Data.Real.Archimedean /-! # Pointwise operations on sets of reals @@ -21,6 +23,8 @@ This is true more generally for conditionally complete linear order whose defaul don't have those yet. -/ +@[expose] public section + assert_not_exists Finset open Set diff --git a/Mathlib/Data/Real/Sign.lean b/Mathlib/Data/Real/Sign.lean index 2f2d9f2a6a4d50..6dda69b6a8fb9c 100644 --- a/Mathlib/Data/Real/Sign.lean +++ b/Mathlib/Data/Real/Sign.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Eric Wieser -/ -import Mathlib.Data.Real.Basic +module + +public import Mathlib.Data.Real.Basic /-! # Real sign function @@ -22,6 +24,8 @@ real numbers to -1, positive real numbers to 1, and 0 to 0. sign function -/ +@[expose] public section + namespace Real diff --git a/Mathlib/Data/Real/Sqrt.lean b/Mathlib/Data/Real/Sqrt.lean index 4c5997e728d6b8..0a40c18f4c8226 100644 --- a/Mathlib/Data/Real/Sqrt.lean +++ b/Mathlib/Data/Real/Sqrt.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Yury Kudryashov -/ -import Mathlib.Topology.Instances.NNReal.Lemmas -import Mathlib.Topology.Order.MonotoneContinuity +module + +public import Mathlib.Topology.Instances.NNReal.Lemmas +public import Mathlib.Topology.Order.MonotoneContinuity /-! # Square root of a real number @@ -30,6 +32,8 @@ Then we define `Real.sqrt x` to be `NNReal.sqrt (Real.toNNReal x)`. square root -/ +@[expose] public section + open Set Filter open scoped Filter NNReal Topology @@ -287,7 +291,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: a square root of a strictly positive nonnegative real is positive. -/ @[positivity NNReal.sqrt _] -def evalNNRealSqrt : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNNRealSqrt : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(NNReal), ~q(NNReal.sqrt $a) => let ra ← core q(inferInstance) q(inferInstance) a @@ -300,7 +304,7 @@ def evalNNRealSqrt : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: a square root is nonnegative, and is strictly positive if its input is. -/ @[positivity √_] -def evalSqrt : PositivityExt where eval {u α} _zα _pα e := do +meta def evalSqrt : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(√$a) => let ra ← catchNone <| core q(inferInstance) q(inferInstance) a diff --git a/Mathlib/Data/Real/Star.lean b/Mathlib/Data/Real/Star.lean index 11c4680d41fb43..e36077f7c171b1 100644 --- a/Mathlib/Data/Real/Star.lean +++ b/Mathlib/Data/Real/Star.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Yury Kudryashov -/ -import Mathlib.Algebra.Star.Basic -import Mathlib.Data.Real.Basic +module + +public import Mathlib.Algebra.Star.Basic +public import Mathlib.Data.Real.Basic /-! # The real numbers are a `*`-ring, with the trivial `*`-structure -/ +@[expose] public section + /-- The real numbers are a `*`-ring, with the trivial `*`-structure. -/ instance : StarRing ℝ := starRingOfComm diff --git a/Mathlib/Data/Real/StarOrdered.lean b/Mathlib/Data/Real/StarOrdered.lean index cdfa41b3958e45..c33d336f01e3c9 100644 --- a/Mathlib/Data/Real/StarOrdered.lean +++ b/Mathlib/Data/Real/StarOrdered.lean @@ -3,12 +3,16 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Data.NNReal.Star -import Mathlib.Data.Real.Sqrt +module + +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Data.NNReal.Star +public import Mathlib.Data.Real.Sqrt /-! # `ℝ` and `ℝ≥0` are *-ordered rings. -/ +@[expose] public section + open scoped NNReal /-- Although the instance `RCLike.toStarOrderedRing` exists, it is locked behind the diff --git a/Mathlib/Data/Rel.lean b/Mathlib/Data/Rel.lean index 57d3628bc67f27..779d70f7b4807f 100644 --- a/Mathlib/Data/Rel.lean +++ b/Mathlib/Data/Rel.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.Set.Prod -import Mathlib.Order.RelIso.Basic -import Mathlib.Order.SetNotation +module + +public import Mathlib.Data.Set.Prod +public import Mathlib.Order.RelIso.Basic +public import Mathlib.Order.SetNotation /-! # Relations as sets of pairs @@ -68,6 +70,8 @@ Simultaneously, uniform spaces need a theory of relations on a type `α` as elem `Set (α × α)`, and the new definition of `SetRel` fulfills this role quite well. -/ +@[expose] public section + variable {α β γ δ : Type*} {ι : Sort*} /-- A relation on `α` and `β`, aka a set-valued function, aka a partial multifunction. diff --git a/Mathlib/Data/SProd.lean b/Mathlib/Data/SProd.lean index d9289154b90772..b98ccc05fe6f0b 100644 --- a/Mathlib/Data/SProd.lean +++ b/Mathlib/Data/SProd.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.Tactic.FBinop +public import Mathlib.Tactic.FBinop /-! # Set Product Notation @@ -21,6 +22,8 @@ notation is desirable but this notation is defined in core for `Prod` so replaci `x × y` seems difficult. -/ +@[expose] public section + universe u v w /-- Notation type class for the set product `×ˢ`. -/ diff --git a/Mathlib/Data/Semiquot.lean b/Mathlib/Data/Semiquot.lean index 57a4725511e167..07d61d20f55aa5 100644 --- a/Mathlib/Data/Semiquot.lean +++ b/Mathlib/Data/Semiquot.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Data.Set.Lattice /-! # Semiquotients @@ -15,6 +17,8 @@ which return something in a range of values (represented by the predicate `S`) but are not completely determined. -/ +@[expose] public section + /-- A member of `Semiquot α` is classically a nonempty `Set α`, and in the VM is represented by an element of `α`; the relation diff --git a/Mathlib/Data/Seq/Basic.lean b/Mathlib/Data/Seq/Basic.lean index 4bdad1547925f1..03e5ad7e11a6d4 100644 --- a/Mathlib/Data/Seq/Basic.lean +++ b/Mathlib/Data/Seq/Basic.lean @@ -3,10 +3,13 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Vasilii Nesterov -/ -import Mathlib.Data.Seq.Defs -import Mathlib.Data.ENat.Basic -import Mathlib.Tactic.ENatToNat -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Data.Seq.Defs +public import Mathlib.Data.ENat.Basic +public import Mathlib.Tactic.ENatToNat +public import Mathlib.Tactic.ApplyFun +import all Init.WF /-! # Basic properties of sequences (possibly infinite lists) @@ -15,6 +18,8 @@ This file provides some basic lemmas about possibly infinite lists represented b type `Stream'.Seq`. -/ +@[expose] public section + universe u v w namespace Stream' @@ -34,7 +39,7 @@ theorem length'_of_not_terminates {s : Seq α} (h : ¬ s.Terminates) : simp [length', h] @[simp] -theorem length_nil : length (nil : Seq α) terminates_nil = 0 := rfl +theorem length_nil : length (nil : Seq α) terminates_nil = 0 := by simp [length]; exact rfl @[simp] theorem length'_nil : length' (nil : Seq α) = 0 := by diff --git a/Mathlib/Data/Seq/Computation.lean b/Mathlib/Data/Seq/Computation.lean index 1e38b734fade0c..3f5b369fa146e8 100644 --- a/Mathlib/Data/Seq/Computation.lean +++ b/Mathlib/Data/Seq/Computation.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Find -import Mathlib.Data.Stream.Init -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.Stream.Init +public import Mathlib.Tactic.Common /-! # Coinductive formalization of unbounded computations. @@ -14,6 +16,8 @@ This file provides a `Computation` type where `Computation α` is the type of unbounded computations returning `α`. -/ +@[expose] public section + open Function universe u v w diff --git a/Mathlib/Data/Seq/Defs.lean b/Mathlib/Data/Seq/Defs.lean index 4dfe1b83e698a6..fa83d903237a80 100644 --- a/Mathlib/Data/Seq/Defs.lean +++ b/Mathlib/Data/Seq/Defs.lean @@ -3,9 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Option.NAry -import Mathlib.Data.Seq.Computation -import Mathlib.Data.ENat.Defs +module + +public import Mathlib.Data.Option.NAry +public import Mathlib.Data.Seq.Computation +public import Mathlib.Data.ENat.Defs +import Batteries.Data.MLList.Basic /-! # Possibly infinite lists @@ -38,6 +41,8 @@ sequences by cases (`nil` and `cons`). * `eq_of_bisim`: Bisimulation principle for sequences. -/ +@[expose] public section + namespace Stream' universe u v w diff --git a/Mathlib/Data/Seq/Parallel.lean b/Mathlib/Data/Seq/Parallel.lean index c21a8d4aa4ea7d..048b1d9c8f3b69 100644 --- a/Mathlib/Data/Seq/Parallel.lean +++ b/Mathlib/Data/Seq/Parallel.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.WSeq.Relation +module + +public import Mathlib.Data.WSeq.Relation /-! # Parallel computation @@ -16,6 +18,8 @@ terminates_parallel and exists_of_mem_parallel. honor sequence equivalence (irrelevance of computation time).) -/ +@[expose] public section + universe u v namespace Computation diff --git a/Mathlib/Data/Seq/Seq.lean b/Mathlib/Data/Seq/Seq.lean index ca23e2dcce198f..e40834fa4a149d 100644 --- a/Mathlib/Data/Seq/Seq.lean +++ b/Mathlib/Data/Seq/Seq.lean @@ -1,3 +1,5 @@ -import Mathlib.Data.Seq.Basic +module + +public import Mathlib.Data.Seq.Basic deprecated_module (since := "2025-08-26") diff --git a/Mathlib/Data/Seq/WSeq.lean b/Mathlib/Data/Seq/WSeq.lean index 8eb554727c61d3..61ee8c47f7baaf 100644 --- a/Mathlib/Data/Seq/WSeq.lean +++ b/Mathlib/Data/Seq/WSeq.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.WSeq.Basic -import Mathlib.Data.WSeq.Defs -import Mathlib.Data.WSeq.Productive -import Mathlib.Data.WSeq.Relation +module + +public import Mathlib.Data.WSeq.Basic +public import Mathlib.Data.WSeq.Defs +public import Mathlib.Data.WSeq.Productive +public import Mathlib.Data.WSeq.Relation deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Data/Set/Accumulate.lean b/Mathlib/Data/Set/Accumulate.lean index 64d874f0e99e64..a835b46ce416f1 100644 --- a/Mathlib/Data/Set/Accumulate.lean +++ b/Mathlib/Data/Set/Accumulate.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Data.Set.Lattice /-! # Accumulate @@ -11,6 +13,8 @@ import Mathlib.Data.Set.Lattice The function `Accumulate` takes a set `s` and returns `⋃ y ≤ x, s y`. -/ +@[expose] public section + variable {α β : Type*} {s : α → Set β} diff --git a/Mathlib/Data/Set/Basic.lean b/Mathlib/Data/Set/Basic.lean index c4012f1e7e6f21..be0fb072aafc83 100644 --- a/Mathlib/Data/Set/Basic.lean +++ b/Mathlib/Data/Set/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Order.PropInstances -import Mathlib.Tactic.ByContra -import Mathlib.Tactic.Lift -import Mathlib.Tactic.Tauto -import Mathlib.Util.Delaborators +module + +public import Mathlib.Order.PropInstances +public import Mathlib.Tactic.ByContra +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.Tauto +public import Mathlib.Util.Delaborators /-! # Basic properties of sets @@ -55,6 +57,8 @@ Definitions in the file: set, sets, subset, subsets, union, intersection, insert, singleton, powerset -/ +@[expose] public section + assert_not_exists HeytingAlgebra RelIso /-! ### Set coercion to a type -/ diff --git a/Mathlib/Data/Set/BoolIndicator.lean b/Mathlib/Data/Set/BoolIndicator.lean index 4dc9bf48b9a017..a70adc1367d0d5 100644 --- a/Mathlib/Data/Set/BoolIndicator.lean +++ b/Mathlib/Data/Set/BoolIndicator.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Leonardo de Moura -/ -import Mathlib.Order.BooleanAlgebra.Set +module + +public import Mathlib.Order.BooleanAlgebra.Set /-! # Indicator function valued in bool @@ -11,6 +13,8 @@ import Mathlib.Order.BooleanAlgebra.Set See also `Set.indicator` and `Set.piecewise`. -/ +@[expose] public section + assert_not_exists RelIso open Bool diff --git a/Mathlib/Data/Set/BooleanAlgebra.lean b/Mathlib/Data/Set/BooleanAlgebra.lean index 7a5f7a4696b28a..a9b0c7dc863d4f 100644 --- a/Mathlib/Data/Set/BooleanAlgebra.lean +++ b/Mathlib/Data/Set/BooleanAlgebra.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Order.CompleteBooleanAlgebra +module + +public import Mathlib.Order.CompleteBooleanAlgebra /-! # Sets are a complete atomic Boolean algebra. @@ -19,6 +21,8 @@ Indexed union/intersection are defined in `Mathlib.Order.SetNotation`; lemmas ar See `Set.instBooleanAlgebra`. -/ +@[expose] public section + variable {α : Type*} namespace Set diff --git a/Mathlib/Data/Set/Card.lean b/Mathlib/Data/Set/Card.lean index b7439bc67daeda..d5999740ce6db6 100644 --- a/Mathlib/Data/Set/Card.lean +++ b/Mathlib/Data/Set/Card.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.Data.Set.Finite.Powerset +module + +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Data.Set.Finite.Powerset /-! # Noncomputable Set Cardinality @@ -55,6 +57,8 @@ the other inside the proof. A few of the theorems, such as `ncard_union_le` do n finiteness arguments; they are true by coincidence due to junk values. -/ +@[expose] public section + namespace Set variable {α β : Type*} {s t : Set α} diff --git a/Mathlib/Data/Set/Card/Arithmetic.lean b/Mathlib/Data/Set/Card/Arithmetic.lean index ec533c57fb5351..a5d7e7cb53b5d4 100644 --- a/Mathlib/Data/Set/Card/Arithmetic.lean +++ b/Mathlib/Data/Set/Card/Arithmetic.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Pim Otte. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pim Otte -/ +module -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Data.Set.Card -import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Data.Set.Card +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # Results using cardinal arithmetic @@ -21,6 +22,8 @@ It has been separated out to not burden `Mathlib/Data/Set/Card.lean` with extra - `exists_union_disjoint_cardinal_eq_iff` is the same, except using cardinal notation. -/ +@[expose] public section + variable {α ι : Type*} open scoped Finset diff --git a/Mathlib/Data/Set/CoeSort.lean b/Mathlib/Data/Set/CoeSort.lean index bb37e8e8197093..c416beaaf89671 100644 --- a/Mathlib/Data/Set/CoeSort.lean +++ b/Mathlib/Data/Set/CoeSort.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Johannes Hölzl, Reid Barton, Kim Morrison, Patrick Massot, Kyle Miller, Minchao Wu, Yury Kudryashov, Floris van Doorn -/ -import Mathlib.Data.Set.Defs +module + +public import Mathlib.Data.Set.Defs /-! # Coercing sets to types. @@ -17,6 +19,8 @@ More advanced theorems about these definitions are located in other files in `Ma - `Set.Elem`: coercion of a set to a type; it is reducibly equal to `{x // x ∈ s}`; -/ +@[expose] public section + namespace Set universe u v w diff --git a/Mathlib/Data/Set/Constructions.lean b/Mathlib/Data/Set/Constructions.lean index 013b5d61aaed29..037ebe4ac4cbd8 100644 --- a/Mathlib/Data/Set/Constructions.lean +++ b/Mathlib/Data/Set/Constructions.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.Data.Finset.Insert -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Data.Finset.Insert +public import Mathlib.Data.Set.Lattice /-! # Constructions involving sets of sets. @@ -22,6 +24,8 @@ set of subsets of `α` which is closed under finite intersections. -/ +@[expose] public section + variable {α : Type*} (S : Set (Set α)) diff --git a/Mathlib/Data/Set/Countable.lean b/Mathlib/Data/Set/Countable.lean index a5f8bad7b05180..dc67bd3d57dc86 100644 --- a/Mathlib/Data/Set/Countable.lean +++ b/Mathlib/Data/Set/Countable.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Countable.Basic -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Subsingleton -import Mathlib.Logic.Equiv.List -import Mathlib.Order.Preorder.Finite +module + +public import Mathlib.Data.Countable.Basic +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Logic.Equiv.List +public import Mathlib.Order.Preorder.Finite /-! # Countable sets @@ -23,6 +25,8 @@ For a noncomputable conversion to `Encodable s`, use `Set.Countable.nonempty_enc sets, countable set -/ +@[expose] public section + assert_not_exists Monoid Multiset.sort noncomputable section diff --git a/Mathlib/Data/Set/Defs.lean b/Mathlib/Data/Set/Defs.lean index 221311cb7d7b80..d1496145b14f8d 100644 --- a/Mathlib/Data/Set/Defs.lean +++ b/Mathlib/Data/Set/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Init -import Batteries.Util.ExtendedBinder +module + +public import Mathlib.Init +public import Batteries.Util.ExtendedBinder /-! # Sets @@ -29,6 +31,8 @@ This file is a port of the core Lean 3 file `lib/lean/library/init/data/set.lean -/ +@[expose] public section + open Lean Elab Term Meta Batteries.ExtendedBinder universe u @@ -119,7 +123,7 @@ See also one for syntax of the form `{x ≤ a | p x}`, `{x ≥ a | p x}`, `{x < a | p x}`, `{x > a | p x}`. -/ @[term_elab setBuilder] -def elabSetBuilder : TermElab +meta def elabSetBuilder : TermElab | `({ $x:ident | $p }), expectedType? => do elabTerm (← `(setOf fun $x:ident ↦ $p)) expectedType? | `({ $x:ident : $t | $p }), expectedType? => do @@ -130,7 +134,7 @@ def elabSetBuilder : TermElab /-- Unexpander for set builder notation. -/ @[app_unexpander setOf] -def setOf.unexpander : Lean.PrettyPrinter.Unexpander +meta def setOf.unexpander : Lean.PrettyPrinter.Unexpander | `($_ fun $x:ident ↦ $p) => `({ $x:ident | $p }) | `($_ fun ($x:ident : $ty:term) ↦ $p) => `({ $x:ident : $ty:term | $p }) | _ => throw () @@ -171,7 +175,7 @@ macro (priority := low - 1) "{" pat:term " | " p:term "}" : term => /-- Pretty printing for set-builder notation with pattern matching. -/ @[app_unexpander setOf] -def setOfPatternMatchUnexpander : Lean.PrettyPrinter.Unexpander +meta def setOfPatternMatchUnexpander : Lean.PrettyPrinter.Unexpander | `($_ fun $x:ident ↦ match $y:ident with | $pat => $p) => if x == y then `({ $pat:term | $p:term }) diff --git a/Mathlib/Data/Set/Disjoint.lean b/Mathlib/Data/Set/Disjoint.lean index ec68b5ea9d82bb..22d479eaaaa3c5 100644 --- a/Mathlib/Data/Set/Disjoint.lean +++ b/Mathlib/Data/Set/Disjoint.lean @@ -3,12 +3,16 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Data.Set.Basic /-! # Theorems about the `Disjoint` relation on `Set`. -/ +@[expose] public section + assert_not_exists HeytingAlgebra RelIso /-! ### Set coercion to a type -/ diff --git a/Mathlib/Data/Set/Enumerate.lean b/Mathlib/Data/Set/Enumerate.lean index 13a18ccc8eb44e..a8caeee69e3795 100644 --- a/Mathlib/Data/Set/Enumerate.lean +++ b/Mathlib/Data/Set/Enumerate.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Tactic.Common -import Mathlib.Data.Set.Insert +module + +public import Mathlib.Algebra.Group.Nat.Defs +public import Mathlib.Tactic.Common +public import Mathlib.Data.Set.Insert /-! # Set enumeration @@ -14,6 +16,8 @@ The definition does not assume `sel` actually is a choice function, i.e. `sel s `sel s = none ↔ s = ∅`. These assumptions are added to the lemmas needing them. -/ +@[expose] public section + assert_not_exists RelIso noncomputable section diff --git a/Mathlib/Data/Set/Equitable.lean b/Mathlib/Data/Set/Equitable.lean index 934d52b64c7bb8..d386640e59eb17 100644 --- a/Mathlib/Data/Set/Equitable.lean +++ b/Mathlib/Data/Set/Equitable.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Defs +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Defs /-! # Equitable functions @@ -20,6 +22,8 @@ useful when the codomain of `f` is `ℕ` or `ℤ` (or more generally a successor latter yet. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Data/Set/Finite/Basic.lean b/Mathlib/Data/Set/Finite/Basic.lean index 8c88eb2c6790df..dcea18b34d740a 100644 --- a/Mathlib/Data/Set/Finite/Basic.lean +++ b/Mathlib/Data/Set/Finite/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Tactic.Nontriviality +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Tactic.Nontriviality /-! # Finite sets @@ -38,6 +40,8 @@ instances since they do not compute anything. finite sets -/ +@[expose] public section + assert_not_exists Monoid open Set Function diff --git a/Mathlib/Data/Set/Finite/Lattice.lean b/Mathlib/Data/Set/Finite/Lattice.lean index 60e885cdf7006f..86c4eb58dfef61 100644 --- a/Mathlib/Data/Set/Finite/Lattice.lean +++ b/Mathlib/Data/Set/Finite/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Set.Finite.Powerset -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Data.Set.Finite.Powerset +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Set.Lattice.Image /-! # Finiteness of unions and intersections @@ -20,6 +22,8 @@ and a `Set.Finite` constructor. finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Set Function diff --git a/Mathlib/Data/Set/Finite/Lemmas.lean b/Mathlib/Data/Set/Finite/Lemmas.lean index 577316048870a0..4f19df3baf7030 100644 --- a/Mathlib/Data/Set/Finite/Lemmas.lean +++ b/Mathlib/Data/Set/Finite/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Finset.Max -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Lattice -import Mathlib.Data.Fintype.Powerset -import Mathlib.Logic.Embedding.Set +module + +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Lattice +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Logic.Embedding.Set /-! # Lemmas on finiteness of sets @@ -20,6 +22,8 @@ If your proof has as *result* `Set.Finite`, then it should go to a more specific finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Set Function diff --git a/Mathlib/Data/Set/Finite/List.lean b/Mathlib/Data/Set/Finite/List.lean index f3709a65f4d04a..4e8a00f273a863 100644 --- a/Mathlib/Data/Set/Finite/List.lean +++ b/Mathlib/Data/Set/Finite/List.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Set.Lattice -import Mathlib.Data.Finite.Vector +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Set.Lattice +public import Mathlib.Data.Finite.Vector /-! # Finiteness of sets of lists @@ -17,6 +19,8 @@ import Mathlib.Data.Finite.Vector finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero namespace List diff --git a/Mathlib/Data/Set/Finite/Monad.lean b/Mathlib/Data/Set/Finite/Monad.lean index b1b50cf7dcc71b..12860e1f7783fd 100644 --- a/Mathlib/Data/Set/Finite/Monad.lean +++ b/Mathlib/Data/Set/Finite/Monad.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Data.Set.Functor +module + +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Data.Set.Functor /-! # Finiteness of the Set monad operations @@ -15,6 +17,8 @@ import Mathlib.Data.Set.Functor finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Set Function diff --git a/Mathlib/Data/Set/Finite/Powerset.lean b/Mathlib/Data/Set/Finite/Powerset.lean index 39f7df8b2704d5..b7326100615fae 100644 --- a/Mathlib/Data/Set/Finite/Powerset.lean +++ b/Mathlib/Data/Set/Finite/Powerset.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Set.Finite.Basic /-! # Finiteness of the powerset of a finite set @@ -19,6 +21,8 @@ and a `Set.Finite` constructor. finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Set Function diff --git a/Mathlib/Data/Set/Finite/Range.lean b/Mathlib/Data/Set/Finite/Range.lean index 9afc713aea7ea1..b77800492d774a 100644 --- a/Mathlib/Data/Set/Finite/Range.lean +++ b/Mathlib/Data/Set/Finite/Range.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kyle Miller -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.ULift +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.ULift /-! # Finiteness of `Set.range` @@ -19,6 +21,8 @@ and a `Set.Finite` constructor. finite sets -/ +@[expose] public section + assert_not_exists OrderedRing MonoidWithZero open Set Function diff --git a/Mathlib/Data/Set/Function.lean b/Mathlib/Data/Set/Function.lean index 9ac099990d9029..1ba7615f55137f 100644 --- a/Mathlib/Data/Set/Function.lean +++ b/Mathlib/Data/Set/Function.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Andrew Zipperer, Haitao Zhang, Minchao Wu, Yury Kudryashov -/ -import Mathlib.Data.Set.Prod -import Mathlib.Data.Set.Restrict +module + +public import Mathlib.Data.Set.Prod +public import Mathlib.Data.Set.Restrict /-! # Functions over sets @@ -22,6 +24,8 @@ This file contains basic results on the following predicates of functions and se we have `Set.LeftInvOn f' f s` and `Set.RightInvOn f' f t`. -/ +@[expose] public section + variable {α β γ δ : Type*} {ι : Sort*} {π : α → Type*} open Equiv Equiv.Perm Function diff --git a/Mathlib/Data/Set/Functor.lean b/Mathlib/Data/Set/Functor.lean index 553872aa5fa50c..3e4f963de5d8ac 100644 --- a/Mathlib/Data/Set/Functor.lean +++ b/Mathlib/Data/Set/Functor.lean @@ -3,11 +3,13 @@ Copyright (c) 2016 Leonardo de Moura. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Batteries.Control.AlternativeMonad -import Mathlib.Control.Basic -import Mathlib.Data.Set.Defs -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Data.Set.Notation +module + +public import Batteries.Control.AlternativeMonad +public import Mathlib.Control.Basic +public import Mathlib.Data.Set.Defs +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Data.Set.Notation /-! # Functoriality of `Set` @@ -15,6 +17,8 @@ import Mathlib.Data.Set.Notation This file defines the functor structure of `Set`. -/ +@[expose] public section + universe u open Function Set.Notation diff --git a/Mathlib/Data/Set/Image.lean b/Mathlib/Data/Set/Image.lean index 2e8ed798018e08..183bd0984ab58e 100644 --- a/Mathlib/Data/Set/Image.lean +++ b/Mathlib/Data/Set/Image.lean @@ -3,12 +3,14 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Batteries.Tactic.Congr -import Mathlib.Data.Option.Basic -import Mathlib.Data.Prod.Basic -import Mathlib.Data.Set.Subsingleton -import Mathlib.Data.Set.SymmDiff -import Mathlib.Data.Set.Inclusion +module + +public import Batteries.Tactic.Congr +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.Prod.Basic +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Data.Set.SymmDiff +public import Mathlib.Data.Set.Inclusion /-! # Images and preimages of sets @@ -32,6 +34,8 @@ set, sets, image, preimage, pre-image, range -/ +@[expose] public section + assert_not_exists WithTop OrderIso universe u v diff --git a/Mathlib/Data/Set/Inclusion.lean b/Mathlib/Data/Set/Inclusion.lean index 25152197c867cf..8967e70164386c 100644 --- a/Mathlib/Data/Set/Inclusion.lean +++ b/Mathlib/Data/Set/Inclusion.lean @@ -3,10 +3,14 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Data.Set.Basic /-! # Lemmas about `inclusion`, the injection of subtypes induced by `⊆` -/ +@[expose] public section + open Function namespace Set diff --git a/Mathlib/Data/Set/Insert.lean b/Mathlib/Data/Set/Insert.lean index 0482524b7b3a99..58de9d70afee23 100644 --- a/Mathlib/Data/Set/Insert.lean +++ b/Mathlib/Data/Set/Insert.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Disjoint +module + +public import Mathlib.Data.Set.Disjoint /-! # Lemmas about insertion, singleton, and pairs @@ -16,6 +18,8 @@ insert, singleton -/ +@[expose] public section + assert_not_exists HeytingAlgebra /-! ### Set coercion to a type -/ diff --git a/Mathlib/Data/Set/Lattice.lean b/Mathlib/Data/Set/Lattice.lean index 5b45e881818488..2a233071d139aa 100644 --- a/Mathlib/Data/Set/Lattice.lean +++ b/Mathlib/Data/Set/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Logic.Pairwise -import Mathlib.Data.Set.BooleanAlgebra +module + +public import Mathlib.Logic.Pairwise +public import Mathlib.Data.Set.BooleanAlgebra /-! # The set lattice @@ -41,6 +43,8 @@ In lemma names, * `⋂₀`: `Set.sInter` -/ +@[expose] public section + open Function Set universe u diff --git a/Mathlib/Data/Set/Lattice/Image.lean b/Mathlib/Data/Set/Lattice/Image.lean index b78ff7dfb137b0..7cca8d1904dcb9 100644 --- a/Mathlib/Data/Set/Lattice/Image.lean +++ b/Mathlib/Data/Set/Lattice/Image.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura, Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Tactic.Monotonicity.Attr /-! # The set lattice and (pre)images of functions @@ -35,6 +37,8 @@ In lemma names, * `⋂₀`: `Set.sInter` -/ +@[expose] public section + open Function Set universe u diff --git a/Mathlib/Data/Set/List.lean b/Mathlib/Data/Set/List.lean index cbbf158eafbade..1006c2ae3a57c2 100644 --- a/Mathlib/Data/Set/List.lean +++ b/Mathlib/Data/Set/List.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Image -import Mathlib.Data.List.Defs +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Data.List.Defs /-! # Lemmas about `List`s and `Set.range` @@ -12,6 +14,8 @@ import Mathlib.Data.List.Defs In this file we prove lemmas about range of some operations on lists. -/ +@[expose] public section + open List diff --git a/Mathlib/Data/Set/MemPartition.lean b/Mathlib/Data/Set/MemPartition.lean index 7544f55fd5687f..4a075a0ff579c4 100644 --- a/Mathlib/Data/Set/MemPartition.lean +++ b/Mathlib/Data/Set/MemPartition.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Data.Set.Finite.Lattice +module + +public import Mathlib.Data.Set.Finite.Lattice /-! # Partitions based on membership of a sequence of sets @@ -30,6 +32,8 @@ The partition `memPartition f (n + 1)` is finer than `memPartition f n`. -/ +@[expose] public section + open Set variable {α : Type*} diff --git a/Mathlib/Data/Set/Monotone.lean b/Mathlib/Data/Set/Monotone.lean index fdc607b74b1cb4..60ec1cc5a166d4 100644 --- a/Mathlib/Data/Set/Monotone.lean +++ b/Mathlib/Data/Set/Monotone.lean @@ -3,12 +3,16 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Andrew Zipperer, Haitao Zhang, Minchao Wu, Yury Kudryashov -/ -import Mathlib.Data.Set.Function +module + +public import Mathlib.Data.Set.Function /-! # Monotone functions over sets -/ +@[expose] public section + variable {α β γ : Type*} open Equiv Equiv.Perm Function diff --git a/Mathlib/Data/Set/MulAntidiagonal.lean b/Mathlib/Data/Set/MulAntidiagonal.lean index fee6ac9d21fb94..db7a3ec0cf4eec 100644 --- a/Mathlib/Data/Set/MulAntidiagonal.lean +++ b/Mathlib/Data/Set/MulAntidiagonal.lean @@ -3,10 +3,14 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Floris van Doorn -/ -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Order.WellFoundedSet /-! # Multiplication antidiagonal -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Data/Set/NAry.lean b/Mathlib/Data/Set/NAry.lean index 5e8891974cbf36..0eda56697e456e 100644 --- a/Mathlib/Data/Set/NAry.lean +++ b/Mathlib/Data/Set/NAry.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Data.Set.Prod +module + +public import Mathlib.Data.Set.Prod /-! # N-ary images of sets @@ -17,6 +19,8 @@ This file is very similar to `Data.Finset.NAry`, to `Order.Filter.NAry`, and to `Data.Option.NAry`. Please keep them in sync. -/ +@[expose] public section + open Function namespace Set diff --git a/Mathlib/Data/Set/Notation.lean b/Mathlib/Data/Set/Notation.lean index fd312c88c90a23..cfcd3d786655b2 100644 --- a/Mathlib/Data/Set/Notation.lean +++ b/Mathlib/Data/Set/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Util.Notation3 -import Mathlib.Lean.Expr.ExtraRecognizers +module + +public import Mathlib.Util.Notation3 +public meta import Mathlib.Lean.Expr.ExtraRecognizers /-! # Set Notation @@ -22,6 +24,8 @@ They are defined here separately so that this file can be added as an exception and can thus be imported without a linting false positive when only the notation is desired. -/ +@[expose] public section + namespace Set.Notation /-- Given two sets `A` and `B`, `A ↓∩ B` denotes the intersection of `A` and `B` as a set in `Set A`. @@ -41,7 +45,7 @@ If the `Set.Notation` namespace is open, sets of a subtype coerced to the ambien represented with `↑`. -/ @[scoped delab app.Set.image] -def delab_set_image_subtype : Delab := whenPPOption getPPCoercions do +meta def delab_set_image_subtype : Delab := whenPPOption getPPCoercions do let #[α, _, f, _] := (← getExpr).getAppArgs | failure guard <| f.isAppOfArity ``Subtype.val 2 let some _ := α.coeTypeSet? | failure diff --git a/Mathlib/Data/Set/Operations.lean b/Mathlib/Data/Set/Operations.lean index e5644298e82561..4bfb3affa121a8 100644 --- a/Mathlib/Data/Set/Operations.lean +++ b/Mathlib/Data/Set/Operations.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Johannes Hölzl, Reid Barton, Kim Morrison, Patrick Massot, Kyle Miller, Minchao Wu, Yury Kudryashov, Floris van Doorn -/ -import Mathlib.Data.Set.CoeSort -import Mathlib.Data.SProd -import Mathlib.Data.Subtype -import Mathlib.Order.Notation +module + +public import Mathlib.Data.Set.CoeSort +public import Mathlib.Data.SProd +public import Mathlib.Data.Subtype +public import Mathlib.Order.Notation /-! # Basic definitions about sets @@ -57,6 +59,8 @@ More advanced theorems about these definitions are located in other files in `Ma set, image, preimage -/ +@[expose] public section + attribute [ext] Set.ext universe u v w diff --git a/Mathlib/Data/Set/Opposite.lean b/Mathlib/Data/Set/Opposite.lean index b513d07864d91f..40ce9b27613908 100644 --- a/Mathlib/Data/Set/Opposite.lean +++ b/Mathlib/Data/Set/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Data.Opposite -import Mathlib.Data.Set.Operations +module + +public import Mathlib.Data.Opposite +public import Mathlib.Data.Set.Operations /-! # The opposite of a set @@ -12,6 +14,8 @@ import Mathlib.Data.Set.Operations The opposite of a set `s` is simply the set obtained by taking the opposite of each member of `s`. -/ +@[expose] public section + variable {α : Type*} open Opposite diff --git a/Mathlib/Data/Set/Order.lean b/Mathlib/Data/Set/Order.lean index b981c9b122b4ef..3b7d197548763f 100644 --- a/Mathlib/Data/Set/Order.lean +++ b/Mathlib/Data/Set/Order.lean @@ -3,12 +3,16 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Data.Set.Basic /-! # Order structures and monotonicity lemmas for `Set` -/ +@[expose] public section + open Function universe u v diff --git a/Mathlib/Data/Set/Pairwise/Basic.lean b/Mathlib/Data/Set/Pairwise/Basic.lean index 4c127a911fb795..880021bcb2b4f2 100644 --- a/Mathlib/Data/Set/Pairwise/Basic.lean +++ b/Mathlib/Data/Set/Pairwise/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.Function -import Mathlib.Logic.Pairwise -import Mathlib.Logic.Relation +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Logic.Pairwise +public import Mathlib.Logic.Relation /-! # Relations holding pairwise @@ -27,6 +29,8 @@ The spelling `s.PairwiseDisjoint id` is preferred over `s.Pairwise Disjoint` to on `Set.PairwiseDisjoint`, even though the latter unfolds to something nicer. -/ +@[expose] public section + open Function Order Set diff --git a/Mathlib/Data/Set/Pairwise/Lattice.lean b/Mathlib/Data/Set/Pairwise/Lattice.lean index 437b98d229c939..a58442ab55b6f1 100644 --- a/Mathlib/Data/Set/Pairwise/Lattice.lean +++ b/Mathlib/Data/Set/Pairwise/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Data.Set.Pairwise.Basic +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Data.Set.Pairwise.Basic /-! # Relations holding pairwise @@ -12,6 +14,8 @@ import Mathlib.Data.Set.Pairwise.Basic In this file we prove many facts about `Pairwise` and the set lattice. -/ +@[expose] public section + open Function Set Order diff --git a/Mathlib/Data/Set/Pairwise/List.lean b/Mathlib/Data/Set/Pairwise/List.lean index 8b03044f4c6698..37c3c89eb3eaf8 100644 --- a/Mathlib/Data/Set/Pairwise/List.lean +++ b/Mathlib/Data/Set/Pairwise/List.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kenny Lau -/ -import Mathlib.Data.List.Nodup -import Mathlib.Data.Set.Pairwise.Basic +module + +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.Set.Pairwise.Basic /-! # Translating pairwise relations on sets to lists @@ -12,6 +14,8 @@ import Mathlib.Data.Set.Pairwise.Basic On a list with no duplicates, the condition of `Set.Pairwise` and `List.Pairwise` are equivalent. -/ +@[expose] public section + variable {α : Type*} {r : α → α → Prop} diff --git a/Mathlib/Data/Set/Piecewise.lean b/Mathlib/Data/Set/Piecewise.lean index e03e404b233107..f60c3c128b9da3 100644 --- a/Mathlib/Data/Set/Piecewise.lean +++ b/Mathlib/Data/Set/Piecewise.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Andrew Zipperer, Haitao Zhang, Minchao Wu, Yury Kudryashov -/ -import Mathlib.Data.Set.Function +module + +public import Mathlib.Data.Set.Function /-! # Piecewise functions @@ -11,6 +13,8 @@ import Mathlib.Data.Set.Function This file contains basic results on piecewise defined functions. -/ +@[expose] public section + variable {α β γ δ : Type*} {ι : Sort*} {π : α → Type*} open Equiv Equiv.Perm Function diff --git a/Mathlib/Data/Set/Pointwise/Support.lean b/Mathlib/Data/Set/Pointwise/Support.lean index c49d01498544de..983e3ce89aed37 100644 --- a/Mathlib/Data/Set/Pointwise/Support.lean +++ b/Mathlib/Data/Set/Pointwise/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.Notation.Support +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.Notation.Support /-! # Support of a function composed with a scalar action @@ -12,6 +14,8 @@ import Mathlib.Algebra.Notation.Support We show that the support of `x ↦ f (c⁻¹ • x)` is equal to `c • support f`. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/Data/Set/Prod.lean b/Mathlib/Data/Set/Prod.lean index ac9251d048a1ba..4f3bc7a2ff87b5 100644 --- a/Mathlib/Data/Set/Prod.lean +++ b/Mathlib/Data/Set/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Patrick Massot -/ -import Mathlib.Data.Set.Image -import Mathlib.Data.SProd +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Data.SProd /-! # Sets in product and pi types @@ -23,6 +25,8 @@ This file contains basic results on the following notions, which are defined in * `Set.pi`: Arbitrary product of sets. -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Set/Restrict.lean b/Mathlib/Data/Set/Restrict.lean index 353f914f69960b..8120d4de09d518 100644 --- a/Mathlib/Data/Set/Restrict.lean +++ b/Mathlib/Data/Set/Restrict.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Andrew Zipperer, Haitao Zhang, Minchao Wu, Yury Kudryashov -/ -import Mathlib.Data.Set.Image +module + +public import Mathlib.Data.Set.Image /-! # Restrict the domain of a function to a set @@ -14,6 +16,8 @@ import Mathlib.Data.Set.Image * `Set.codRestrict f s h` : given `h : ∀ x, f x ∈ s`, restrict the codomain of `f` to the set `s`; -/ +@[expose] public section + variable {α β γ δ : Type*} {ι : Sort*} {π : α → Type*} open Equiv Equiv.Perm Function diff --git a/Mathlib/Data/Set/SMulAntidiagonal.lean b/Mathlib/Data/Set/SMulAntidiagonal.lean index 5de630d9ff5bcf..18c8f50b8b0c02 100644 --- a/Mathlib/Data/Set/SMulAntidiagonal.lean +++ b/Mathlib/Data/Set/SMulAntidiagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Order.AddTorsor -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Algebra.Order.AddTorsor +public import Mathlib.Order.WellFoundedSet /-! # Antidiagonal for scalar multiplication @@ -18,6 +20,8 @@ and an element in `t` that scalar-multiply to `a`. * VAdd.antidiagonal : Set-valued antidiagonal for VAdd. -/ +@[expose] public section + variable {G P : Type*} namespace Set diff --git a/Mathlib/Data/Set/Semiring.lean b/Mathlib/Data/Set/Semiring.lean index 029e3bbe13da22..c6740bdd8b3902 100644 --- a/Mathlib/Data/Set/Semiring.lean +++ b/Mathlib/Data/Set/Semiring.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Order.Kleene -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Data.Set.BooleanAlgebra -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Order.Kleene +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Data.Set.BooleanAlgebra +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Sets as a semiring under union @@ -16,6 +18,8 @@ pointwise `*` as multiplication. If `α` is a (commutative) monoid, `SetSemiring (commutative) semiring. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Data/Set/Sigma.lean b/Mathlib/Data/Set/Sigma.lean index 1101feab579d89..efb4472e56d349 100644 --- a/Mathlib/Data/Set/Sigma.lean +++ b/Mathlib/Data/Set/Sigma.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Image -import Mathlib.Data.Set.BooleanAlgebra +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Data.Set.BooleanAlgebra /-! # Sets in sigma types @@ -12,6 +14,8 @@ import Mathlib.Data.Set.BooleanAlgebra This file defines `Set.sigma`, the indexed sum of sets. -/ +@[expose] public section + namespace Set variable {ι ι' : Type*} {α : ι → Type*} {s s₁ s₂ : Set ι} {t t₁ t₂ : ∀ i, Set (α i)} diff --git a/Mathlib/Data/Set/Subset.lean b/Mathlib/Data/Set/Subset.lean index eee2d255cf27e7..0d3c7338c444e5 100644 --- a/Mathlib/Data/Set/Subset.lean +++ b/Mathlib/Data/Set/Subset.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Miguel Marco. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miguel Marco -/ -import Mathlib.Data.Set.Function -import Mathlib.Data.Set.Functor +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Data.Set.Functor /-! # Sets in subtypes @@ -37,6 +39,8 @@ Theorem names refer to `↓∩` as `preimage_val`. subsets -/ +@[expose] public section + open Set variable {ι : Sort*} {α : Type*} {A B C : Set α} {D E : Set A} diff --git a/Mathlib/Data/Set/Subsingleton.lean b/Mathlib/Data/Set/Subsingleton.lean index e636850ea51bf6..35c7f558a51495 100644 --- a/Mathlib/Data/Set/Subsingleton.lean +++ b/Mathlib/Data/Set/Subsingleton.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Insert -import Mathlib.Tactic.ByContra +module + +public import Mathlib.Data.Set.Insert +public import Mathlib.Tactic.ByContra /-! # Subsingleton @@ -16,6 +18,8 @@ elements. -/ +@[expose] public section + assert_not_exists HeytingAlgebra RelIso open Function diff --git a/Mathlib/Data/Set/Sups.lean b/Mathlib/Data/Set/Sups.lean index ea9a6638ee6066..b7eaf98f220f56 100644 --- a/Mathlib/Data/Set/Sups.lean +++ b/Mathlib/Data/Set/Sups.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.NAry -import Mathlib.Order.SupClosed -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Data.Set.NAry +public import Mathlib.Order.SupClosed +public import Mathlib.Order.UpperLower.Closure /-! # Set family operations @@ -28,6 +30,8 @@ We define the following notation in scope `SetFamily`: [B. Bollobás, *Combinatorics*][bollobas1986] -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Set/SymmDiff.lean b/Mathlib/Data/Set/SymmDiff.lean index 70aa571a8066c8..3cfab62131c380 100644 --- a/Mathlib/Data/Set/SymmDiff.lean +++ b/Mathlib/Data/Set/SymmDiff.lean @@ -3,11 +3,15 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Order.BooleanAlgebra.Set -import Mathlib.Order.SymmDiff +module + +public import Mathlib.Order.BooleanAlgebra.Set +public import Mathlib.Order.SymmDiff /-! # Symmetric differences of sets -/ +@[expose] public section + assert_not_exists RelIso namespace Set diff --git a/Mathlib/Data/Set/UnionLift.lean b/Mathlib/Data/Set/UnionLift.lean index 7db0431687fcac..3cb2259d3d4f16 100644 --- a/Mathlib/Data/Set/UnionLift.lean +++ b/Mathlib/Data/Set/UnionLift.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Order.Directed +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.Directed /-! # Union lift @@ -36,6 +38,8 @@ constants, unary functions, or binary functions are preserved. These lemmas are: directed union, directed supremum, glue, gluing -/ +@[expose] public section + variable {α : Type*} {ι β : Sort _} namespace Set diff --git a/Mathlib/Data/SetLike/Basic.lean b/Mathlib/Data/SetLike/Basic.lean index b1d9d52a007211..0e859e86d45106 100644 --- a/Mathlib/Data/SetLike/Basic.lean +++ b/Mathlib/Data/SetLike/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Tactic.Monotonicity.Attr -import Mathlib.Tactic.SetLike -import Mathlib.Data.Set.Basic +module + +public import Mathlib.Tactic.Monotonicity.Attr +public import Mathlib.Tactic.SetLike +public import Mathlib.Data.Set.Basic /-! # Typeclass for types with a set-like extensionality property @@ -70,6 +72,8 @@ While this is equivalent, `SetLike` conveniently uses a carrier set projection d subobjects -/ +@[expose] public section + assert_not_exists RelIso /-- A class to indicate that there is a canonical injection between `A` and `Set B`. @@ -119,7 +123,7 @@ open Lean PrettyPrinter.Delaborator SubExpr rather than as `{ x // x ∈ S }`. The discriminating feature is that membership uses the `SetLike.instMembership` instance. -/ @[app_delab Subtype] -def delabSubtypeSetLike : Delab := whenPPOption getPPNotation do +meta def delabSubtypeSetLike : Delab := whenPPOption getPPNotation do let #[_, .lam n _ body _] := (← getExpr).getAppArgs | failure guard <| body.isAppOf ``Membership.mem let #[_, _, inst, _, .bvar 0] := body.getAppArgs | failure diff --git a/Mathlib/Data/SetLike/Fintype.lean b/Mathlib/Data/SetLike/Fintype.lean index b983a6e56f06b2..884fdc1d83f5a3 100644 --- a/Mathlib/Data/SetLike/Fintype.lean +++ b/Mathlib/Data/SetLike/Fintype.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 . All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.SetLike.Basic -import Mathlib.Data.Fintype.Powerset +module + +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Data.Fintype.Powerset /-! # Set-like fintype @@ -13,6 +15,8 @@ This file contains a fintype instance for set-like objects such as subgroups. If and `Fintype B` then `Fintype A`. -/ +@[expose] public section + namespace SetLike diff --git a/Mathlib/Data/Setoid/Basic.lean b/Mathlib/Data/Setoid/Basic.lean index fceaa70ac2396d..6d5d04fcce4870 100644 --- a/Mathlib/Data/Setoid/Basic.lean +++ b/Mathlib/Data/Setoid/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Bryan Gin-ge Chen -/ -import Mathlib.Logic.Relation -import Mathlib.Order.CompleteLattice.Basic -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.Logic.Relation +public import Mathlib.Order.CompleteLattice.Basic +public import Mathlib.Order.GaloisConnection.Defs /-! # Equivalence relations @@ -30,6 +32,8 @@ reason about them using the existing `Setoid` and its infrastructure. setoid, equivalence, iseqv, relation, equivalence relation -/ +@[expose] public section + attribute [refl, simp] Setoid.refl attribute [symm] Setoid.symm attribute [trans] Setoid.trans diff --git a/Mathlib/Data/Setoid/Partition.lean b/Mathlib/Data/Setoid/Partition.lean index 44d1e230d78bc6..3aea2b47fa6ec1 100644 --- a/Mathlib/Data/Setoid/Partition.lean +++ b/Mathlib/Data/Setoid/Partition.lean @@ -3,9 +3,10 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Bryan Gin-ge Chen, Patrick Massot, Wen Yang, Johan Commelin -/ +module -import Mathlib.Data.Set.Finite.Range -import Mathlib.Order.Partition.Finpartition +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Order.Partition.Finpartition /-! # Equivalence relations: partitions @@ -33,6 +34,8 @@ usable. setoid, equivalence, iseqv, relation, equivalence relation, partition, equivalence class -/ +@[expose] public section + namespace Setoid diff --git a/Mathlib/Data/Setoid/Partition/Card.lean b/Mathlib/Data/Setoid/Partition/Card.lean index efd21d22b86d91..06579370da55f7 100644 --- a/Mathlib/Data/Setoid/Partition/Card.lean +++ b/Mathlib/Data/Setoid/Partition/Card.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Data.Set.Card -import Mathlib.Data.Setoid.Partition +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Data.Set.Card +public import Mathlib.Data.Setoid.Partition /-! # Cardinality of parts of partitions @@ -15,6 +16,8 @@ import Mathlib.Data.Setoid.Partition -/ +@[expose] public section + section Finite open scoped BigOperators diff --git a/Mathlib/Data/Sigma/Basic.lean b/Mathlib/Data/Sigma/Basic.lean index d9916410167520..919f24d19b1adc 100644 --- a/Mathlib/Data/Sigma/Basic.lean +++ b/Mathlib/Data/Sigma/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Function.Defs -import Mathlib.Logic.Function.Basic +module + +public import Mathlib.Logic.Function.Defs +public import Mathlib.Logic.Function.Basic /-! # Sigma types @@ -29,6 +31,8 @@ types. To that effect, we have `PSigma`, which takes value in `Sort*` and carrie complicated universe signature as a consequence. -/ +@[expose] public section + open Function section Sigma diff --git a/Mathlib/Data/Sigma/Interval.lean b/Mathlib/Data/Sigma/Interval.lean index e3ecfb12cbfb1e..5fd7ac23f009ab 100644 --- a/Mathlib/Data/Sigma/Interval.lean +++ b/Mathlib/Data/Sigma/Interval.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Sigma.Order -import Mathlib.Order.Interval.Finset.Defs +module + +public import Mathlib.Data.Sigma.Order +public import Mathlib.Order.Interval.Finset.Defs /-! # Finite intervals in a sigma type @@ -17,6 +19,8 @@ calculates the cardinality of its finite intervals. Do the same for the lexicographical order -/ +@[expose] public section + open Finset Function diff --git a/Mathlib/Data/Sigma/Lex.lean b/Mathlib/Data/Sigma/Lex.lean index 59e56218a2481e..5bd89740070403 100644 --- a/Mathlib/Data/Sigma/Lex.lean +++ b/Mathlib/Data/Sigma/Lex.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Logic.Function.Defs -import Mathlib.Order.Defs.Unbundled -import Batteries.Logic +module + +public import Mathlib.Logic.Function.Defs +public import Mathlib.Order.Defs.Unbundled +public import Batteries.Logic /-! # Lexicographic order on a sigma type @@ -28,6 +30,8 @@ Related files are: `Sigma.Lex` where all summands are the same -/ +@[expose] public section + namespace Sigma diff --git a/Mathlib/Data/Sigma/Order.lean b/Mathlib/Data/Sigma/Order.lean index 7255d85d3ed75b..84c6fd4d51838a 100644 --- a/Mathlib/Data/Sigma/Order.lean +++ b/Mathlib/Data/Sigma/Order.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Sigma.Lex -import Mathlib.Util.Notation3 -import Mathlib.Data.Sigma.Basic -import Mathlib.Order.Lattice -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Data.Sigma.Lex +public import Mathlib.Util.Notation3 +public import Mathlib.Data.Sigma.Basic +public import Mathlib.Order.Lattice +public import Mathlib.Order.BoundedOrder.Basic /-! # Orders on a sigma type @@ -41,6 +43,8 @@ Upgrade `Equiv.sigma_congr_left`, `Equiv.sigma_congr`, `Equiv.sigma_assoc`, `Equiv.sigma_prod_of_equiv`, `Equiv.sigma_equiv_prod`, ... to order isomorphisms. -/ +@[expose] public section + namespace Sigma diff --git a/Mathlib/Data/Sign.lean b/Mathlib/Data/Sign.lean index 6c4497f730b99a..e0980864402686 100644 --- a/Mathlib/Data/Sign.lean +++ b/Mathlib/Data/Sign.lean @@ -3,6 +3,8 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Data.Sign.Defs +module + +public import Mathlib.Data.Sign.Defs deprecated_module (since := "2025-05-11") diff --git a/Mathlib/Data/Sign/Basic.lean b/Mathlib/Data/Sign/Basic.lean index c5cedec1aa7f8c..ecf95c807bab21 100644 --- a/Mathlib/Data/Sign/Basic.lean +++ b/Mathlib/Data/Sign/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Algebra.GroupWithZero.Units.Lemmas -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Sign.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Units.Lemmas +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Ring.Cast +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Sign.Defs /-! # Sign function @@ -16,6 +18,8 @@ This file defines the sign function for types with zero and a decidable less-tha proves some basic theorems about it. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/Data/Sign/Defs.lean b/Mathlib/Data/Sign/Defs.lean index ef592f8b933cd3..ed8f1573ed02b3 100644 --- a/Mathlib/Data/Sign/Defs.lean +++ b/Mathlib/Data/Sign/Defs.lean @@ -3,10 +3,15 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.Algebra.Ring.Defs -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Tactic.DeriveFintype +public import Mathlib.Data.Multiset.Defs +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Algebra.Group.Equiv.Defs /-! # Sign type @@ -14,6 +19,8 @@ import Mathlib.Tactic.DeriveFintype This file defines the type of signs $\{-1, 0, 1\}$ and its basic arithmetic instances. -/ +@[expose] public section + -- Don't generate unnecessary `sizeOf_spec` lemmas which the `simpNF` linter will complain about. set_option genSizeOfSpec false in /-- The type of signs. -/ @@ -85,8 +92,8 @@ instance : CommGroupWithZero SignType where mul_one a := by cases a <;> rfl one_mul a := by cases a <;> rfl mul_inv_cancel a ha := by cases a <;> trivial - mul_comm := mul_comm - mul_assoc := mul_assoc + mul_comm := private mul_comm + mul_assoc := private mul_assoc exists_pair_ne := ⟨0, 1, by rintro ⟨_⟩⟩ inv_zero := rfl @@ -100,8 +107,8 @@ instance : LinearOrder SignType where le := (· ≤ ·) le_refl a := by cases a <;> constructor le_total a b := by cases a <;> cases b <;> first | left; constructor | right; constructor - le_antisymm := le_antisymm - le_trans := le_trans + le_antisymm := private le_antisymm + le_trans := private le_trans toDecidableLE := LE.decidableRel instance : BoundedOrder SignType where diff --git a/Mathlib/Data/Stream/Defs.lean b/Mathlib/Data/Stream/Defs.lean index 1486283df5cbf1..a67b8f673d27fc 100644 --- a/Mathlib/Data/Stream/Defs.lean +++ b/Mathlib/Data/Stream/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Data.Nat.Notation +module + +public import Mathlib.Data.Nat.Notation /-! # Definition of `Stream'` and functions on streams @@ -13,6 +15,8 @@ infinite list. In this file we define `Stream'` and some functions that take and Note that we already have `Stream` to represent a similar object, hence the awkward naming. -/ +@[expose] public section + universe u v w variable {α : Type u} {β : Type v} {δ : Type w} diff --git a/Mathlib/Data/Stream/Init.lean b/Mathlib/Data/Stream/Init.lean index a6e16369deafb1..2abc4a427690c6 100644 --- a/Mathlib/Data/Stream/Init.lean +++ b/Mathlib/Data/Stream/Init.lean @@ -3,15 +3,19 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Data.Stream.Defs -import Mathlib.Logic.Function.Basic -import Mathlib.Data.Nat.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Stream.Defs +public import Mathlib.Logic.Function.Basic +public import Mathlib.Data.Nat.Basic +public import Mathlib.Tactic.Common /-! # Streams a.k.a. infinite lists a.k.a. infinite sequences -/ +@[expose] public section + open Nat Function Option namespace Stream' diff --git a/Mathlib/Data/String/Basic.lean b/Mathlib/Data/String/Basic.lean index 2a658a2dcef2be..ba3121aedc8262 100644 --- a/Mathlib/Data/String/Basic.lean +++ b/Mathlib/Data/String/Basic.lean @@ -3,10 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Data.String.Lemmas -import Mathlib.Data.List.Lex -import Mathlib.Data.Char -import Mathlib.Algebra.Order.Group.Nat +module + +public import Batteries.Data.String.Lemmas +public import Mathlib.Data.List.Lex +public import Mathlib.Data.Char +public import Mathlib.Algebra.Order.Group.Nat +import all Init.Data.String.Basic -- for unfolding `Iterator.curr` /-! # Strings @@ -14,6 +17,8 @@ import Mathlib.Algebra.Order.Group.Nat Supplementary theorems about the `String` type. -/ +@[expose] public section + namespace String /-- `<` on string iterators. This coincides with `<` on strings as lists. -/ @@ -36,7 +41,7 @@ instance decidableLT' : DecidableLT String := by infer_instance -- short-circuit type class inference /-- Induction on `String.ltb`. -/ -def ltb.inductionOn.{u} {motive : Iterator → Iterator → Sort u} (it₁ it₂ : Iterator) +@[no_expose] def ltb.inductionOn.{u} {motive : Iterator → Iterator → Sort u} (it₁ it₂ : Iterator) (ind : ∀ s₁ s₂ i₁ i₂, Iterator.hasNext ⟨s₂, i₂⟩ → Iterator.hasNext ⟨s₁, i₁⟩ → i₁.get s₁ = i₂.get s₂ → motive (Iterator.next ⟨s₁, i₁⟩) (Iterator.next ⟨s₂, i₂⟩) → motive ⟨s₁, i₁⟩ ⟨s₂, i₂⟩) diff --git a/Mathlib/Data/String/Defs.lean b/Mathlib/Data/String/Defs.lean index e725edd3bfb2bc..cc5d800de33698 100644 --- a/Mathlib/Data/String/Defs.lean +++ b/Mathlib/Data/String/Defs.lean @@ -3,14 +3,17 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Keeley Hoek, Floris van Doorn, Chris Bailey -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Definitions for `String` This file defines a bunch of functions for the `String` datatype. -/ +@[expose] public section + namespace String /-- Pad `s : String` with repeated occurrences of `c : Char` until it's of length `n`. diff --git a/Mathlib/Data/String/Lemmas.lean b/Mathlib/Data/String/Lemmas.lean index 59f9b57bc0be9a..1d893fd3b5addb 100644 --- a/Mathlib/Data/String/Lemmas.lean +++ b/Mathlib/Data/String/Lemmas.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Chris Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Bailey -/ -import Mathlib.Data.Nat.Notation -import Mathlib.Data.String.Defs -import Mathlib.Tactic.Basic -import Batteries.Tactic.Alias +module + +public import Mathlib.Data.Nat.Notation +public import Mathlib.Data.String.Defs +public import Mathlib.Tactic.Basic +public import Batteries.Tactic.Alias /-! # Miscellaneous lemmas about strings -/ +@[expose] public section + namespace String lemma congr_append (a b : String) : a ++ b = String.mk (a.data ++ b.data) := by simp diff --git a/Mathlib/Data/Subtype.lean b/Mathlib/Data/Subtype.lean index 86481697764426..08e1411adf22f7 100644 --- a/Mathlib/Data/Subtype.lean +++ b/Mathlib/Data/Subtype.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Function.Basic -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Simps.Basic +module + +public import Mathlib.Logic.Function.Basic +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Simps.Basic /-! # Subtypes @@ -22,6 +24,8 @@ such, subtypes can be thought of as bundled sets, the difference being that elem still of type `α` while elements of a subtype aren't. -/ +@[expose] public section + open Function diff --git a/Mathlib/Data/Sum/Basic.lean b/Mathlib/Data/Sum/Basic.lean index 4e0f63551ab259..56d03fa2b3d037 100644 --- a/Mathlib/Data/Sum/Basic.lean +++ b/Mathlib/Data/Sum/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Logic.Function.Basic -import Mathlib.Tactic.MkIffOfInductiveProp +module + +public import Mathlib.Logic.Function.Basic +public import Mathlib.Tactic.MkIffOfInductiveProp /-! # Additional lemmas about sum types @@ -12,6 +14,8 @@ import Mathlib.Tactic.MkIffOfInductiveProp Most of the former contents of this file have been moved to Batteries. -/ +@[expose] public section + universe u v w x diff --git a/Mathlib/Data/Sum/Interval.lean b/Mathlib/Data/Sum/Interval.lean index 6d3bbf6656d12b..15357ec8e5a117 100644 --- a/Mathlib/Data/Sum/Interval.lean +++ b/Mathlib/Data/Sum/Interval.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Sum -import Mathlib.Data.Sum.Order -import Mathlib.Order.Interval.Finset.Defs +module + +public import Mathlib.Data.Finset.Sum +public import Mathlib.Data.Sum.Order +public import Mathlib.Order.Interval.Finset.Defs /-! # Finite intervals in a disjoint union @@ -14,6 +16,8 @@ This file provides the `LocallyFiniteOrder` instance for the disjoint sum and li orders and calculates the cardinality of their finite intervals. -/ +@[expose] public section + open Function Sum diff --git a/Mathlib/Data/Sum/Lattice.lean b/Mathlib/Data/Sum/Lattice.lean index 22dad4e7526c99..a77ae52e745223 100644 --- a/Mathlib/Data/Sum/Lattice.lean +++ b/Mathlib/Data/Sum/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Sum.Order -import Mathlib.Order.Hom.Lattice +module + +public import Mathlib.Data.Sum.Order +public import Mathlib.Order.Hom.Lattice /-! # Lexicographic sum of lattices @@ -13,6 +15,8 @@ This file proves that we can combine two lattices `α` and `β` into a lattice ` everything in `α` is declared smaller than everything in `β`. -/ +@[expose] public section + open OrderDual namespace Sum.Lex diff --git a/Mathlib/Data/Sum/Order.lean b/Mathlib/Data/Sum/Order.lean index e7c395368510ba..97959964a3dfc1 100644 --- a/Mathlib/Data/Sum/Order.lean +++ b/Mathlib/Data/Sum/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Heyting.Basic -import Mathlib.Order.Hom.Basic -import Mathlib.Order.WithBot +module + +public import Mathlib.Order.Heyting.Basic +public import Mathlib.Order.Hom.Basic +public import Mathlib.Order.WithBot /-! # Orders on a sum type @@ -26,6 +28,8 @@ type synonym. * `α ⊕ₗ β`: The linear sum of `α` and `β`. -/ +@[expose] public section + variable {α β γ : Type*} diff --git a/Mathlib/Data/Sym/Basic.lean b/Mathlib/Data/Sym/Basic.lean index c33645ed0b37d3..f3dd2680d94fd5 100644 --- a/Mathlib/Data/Sym/Basic.lean +++ b/Mathlib/Data/Sym/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Algebra.Order.Group.Multiset -import Mathlib.Data.Setoid.Basic -import Mathlib.Data.Vector.Basic -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.Order.Group.Multiset +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Data.Vector.Basic +public import Mathlib.Logic.Nontrivial.Basic +public import Mathlib.Tactic.ApplyFun /-! # Symmetric powers @@ -28,6 +30,8 @@ symmetric powers -/ +@[expose] public section + assert_not_exists MonoidWithZero open List (Vector) open Function @@ -477,7 +481,7 @@ def oneEquiv : α ≃ Sym α 1 where (fun l ↦ l.1.head <| List.length_pos_iff.mp <| by simp) fun ⟨_, _⟩ ⟨_, h⟩ ↦ fun perm ↦ by obtain ⟨a, rfl⟩ := List.length_eq_one_iff.mp h - exact List.eq_of_mem_singleton (perm.mem_iff.mp <| List.head_mem _) + exact List.eq_of_mem_singleton (List.Perm.mem_iff perm |>.mp <| List.head_mem _) right_inv := by rintro ⟨⟨l⟩, h⟩; obtain ⟨a, rfl⟩ := List.length_eq_one_iff.mp h; rfl /-- Fill a term `m : Sym α (n - i)` with `i` copies of `a` to obtain a term of `Sym α n`. diff --git a/Mathlib/Data/Sym/Card.lean b/Mathlib/Data/Sym/Card.lean index 983e299b3eb549..4f4113a2a5c6bb 100644 --- a/Mathlib/Data/Sym/Card.lean +++ b/Mathlib/Data/Sym/Card.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta, Huỳnh Trần Khanh, Stuart Presnell -/ -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Fintype.Prod -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Stars and bars @@ -51,6 +53,8 @@ while the "stars and bars" technique gives stars and bars, multichoose -/ +@[expose] public section + open Finset Fintype Function Sum Nat diff --git a/Mathlib/Data/Sym/Sym2.lean b/Mathlib/Data/Sym/Sym2.lean index 68f95baec78490..b715a29d948902 100644 --- a/Mathlib/Data/Sym/Sym2.lean +++ b/Mathlib/Data/Sym/Sym2.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Data.Finset.Prod -import Mathlib.Data.SetLike.Basic -import Mathlib.Data.Sym.Basic -import Mathlib.Data.Sym.Sym2.Init +module + +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Data.Sym.Basic +public import Mathlib.Data.Sym.Sym2.Init /-! # The symmetric square @@ -43,6 +45,8 @@ The element `Sym2.mk (a, b)` can be written as `s(a, b)` for short. symmetric square, unordered pairs, symmetric powers -/ +@[expose] public section + assert_not_exists MonoidWithZero open List (Vector) diff --git a/Mathlib/Data/Sym/Sym2/Finsupp.lean b/Mathlib/Data/Sym/Sym2/Finsupp.lean index afde5e76367b82..16fcd010fa5d33 100644 --- a/Mathlib/Data/Sym/Sym2/Finsupp.lean +++ b/Mathlib/Data/Sym/Sym2/Finsupp.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Data.Finset.Sym -import Mathlib.Data.Finsupp.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Data.Finset.Sym +public import Mathlib.Data.Finsupp.Defs /-! # Finitely supported functions from the symmetric square @@ -13,6 +15,8 @@ import Mathlib.Data.Finsupp.Defs This file lifts functions `α →₀ M₀` to functions `Sym2 α →₀ M₀` by precomposing with multiplication. -/ +@[expose] public section + open Sym2 variable {α M₀ : Type*} [CommMonoidWithZero M₀] {f : α →₀ M₀} diff --git a/Mathlib/Data/Sym/Sym2/Init.lean b/Mathlib/Data/Sym/Sym2/Init.lean index 9c7fdd617d0177..6f12ec2fd2b731 100644 --- a/Mathlib/Data/Sym/Sym2/Init.lean +++ b/Mathlib/Data/Sym/Sym2/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jannis Limperg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jannis Limperg -/ +module -import Mathlib.Init -import Aesop +public import Mathlib.Init +public import Aesop /-! # Sym2 Rule Set @@ -15,4 +16,6 @@ visible once the file in which they're declared is imported, so we must put this declaration into its own file. -/ +@[expose] public section + declare_aesop_rule_sets [Sym2] diff --git a/Mathlib/Data/Sym/Sym2/Order.lean b/Mathlib/Data/Sym/Sym2/Order.lean index 87f390352c1136..3df497c8e92599 100644 --- a/Mathlib/Data/Sym/Sym2/Order.lean +++ b/Mathlib/Data/Sym/Sym2/Order.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Sym.Sym2 -import Mathlib.Order.Lattice +module + +public import Mathlib.Data.Sym.Sym2 +public import Mathlib.Order.Lattice /-! # Sorting the elements of `Sym2` @@ -13,6 +15,8 @@ This file provides `Sym2.sortEquiv`, the forward direction of which is somewhat `Multiset.sort`. -/ +@[expose] public section + namespace Sym2 variable {α} diff --git a/Mathlib/Data/Tree/Basic.lean b/Mathlib/Data/Tree/Basic.lean index 5e4c82b5535552..215a3cbf8909aa 100644 --- a/Mathlib/Data/Tree/Basic.lean +++ b/Mathlib/Data/Tree/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 mathlib community. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Wojciech Nawrocki -/ -import Mathlib.Data.Nat.Notation -import Mathlib.Tactic.TypeStar -import Mathlib.Util.CompileInductive +module + +public import Mathlib.Data.Nat.Notation +public import Mathlib.Tactic.TypeStar +public import Mathlib.Util.CompileInductive /-! # Binary tree @@ -23,6 +25,8 @@ additional data. We provide the notation `a △ b` for making a `Tree Unit` with -/ +@[expose] public section + /-- A binary tree with values stored in non-leaf nodes. -/ inductive Tree.{u} (α : Type u) : Type u diff --git a/Mathlib/Data/Tree/Get.lean b/Mathlib/Data/Tree/Get.lean index b374b675b07ba0..c18cc3823ff6b2 100644 --- a/Mathlib/Data/Tree/Get.lean +++ b/Mathlib/Data/Tree/Get.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 mathlib community. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Wojciech Nawrocki -/ -import Mathlib.Data.Num.Basic -import Mathlib.Data.Ordering.Basic -import Mathlib.Data.Tree.Basic +module + +public import Mathlib.Data.Num.Basic +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Data.Tree.Basic /-! # Binary tree get operation @@ -18,6 +20,8 @@ These definitions were moved from the main file to avoid a dependency on `Num`. -/ +@[expose] public section + namespace Tree variable {α : Type*} diff --git a/Mathlib/Data/Tree/RBMap.lean b/Mathlib/Data/Tree/RBMap.lean index 945f83c4478abf..738f035adf1e37 100644 --- a/Mathlib/Data/Tree/RBMap.lean +++ b/Mathlib/Data/Tree/RBMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 mathlib community. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Wojciech Nawrocki -/ -import Batteries.Data.RBMap.Basic -import Mathlib.Data.Tree.Basic +module + +public import Batteries.Data.RBMap.Basic +public import Mathlib.Data.Tree.Basic /-! # Binary tree and RBMaps @@ -21,6 +23,8 @@ Implement a `Traversable` instance for `Tree`. -/ +@[expose] public section + namespace Tree universe u diff --git a/Mathlib/Data/Tree/Traversable.lean b/Mathlib/Data/Tree/Traversable.lean index a0e5a9a179d227..e65ea8ac2ebbac 100644 --- a/Mathlib/Data/Tree/Traversable.lean +++ b/Mathlib/Data/Tree/Traversable.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Edward van de Meent. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Edward van de Meent -/ +module -import Mathlib.Data.Tree.Basic -import Mathlib.Control.Applicative -import Mathlib.Control.Traversable.Basic +public import Mathlib.Data.Tree.Basic +public import Mathlib.Control.Applicative +public import Mathlib.Control.Traversable.Basic /-! # Traversable Binary Tree @@ -14,6 +15,8 @@ import Mathlib.Control.Traversable.Basic Provides a `Traversable` instance for the `Tree` type. -/ +@[expose] public section + universe u v w namespace Tree diff --git a/Mathlib/Data/TwoPointing.lean b/Mathlib/Data/TwoPointing.lean index 12de92fb04f475..53a3240d04a9f9 100644 --- a/Mathlib/Data/TwoPointing.lean +++ b/Mathlib/Data/TwoPointing.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Logic.Nonempty -import Mathlib.Tactic.Simps.Basic -import Batteries.Logic +module + +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Logic.Nonempty +public import Mathlib.Tactic.Simps.Basic +public import Batteries.Logic /-! # Two-pointings @@ -24,6 +26,8 @@ bipointed types. Two-pointed types form a full subcategory of those. (https://ncatlab.org/nlab/show/coalgebra+of+the+real+interval) -/ +@[expose] public section + open Function variable {α β : Type*} diff --git a/Mathlib/Data/TypeVec.lean b/Mathlib/Data/TypeVec.lean index f2fc23855c4f42..dd95ddb51bc073 100644 --- a/Mathlib/Data/TypeVec.lean +++ b/Mathlib/Data/TypeVec.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Simon Hudon -/ -import Mathlib.Data.Fin.Fin2 -import Mathlib.Logic.Function.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Fin.Fin2 +public import Mathlib.Logic.Function.Basic +public import Mathlib.Tactic.Common /-! @@ -30,6 +32,8 @@ Since e.g. `append1 α.drop α.last` is propositionally equal to `α` but not de to it, we need support functions and lemmas to mediate between constructions. -/ +@[expose] public section + universe u v w /-- n-tuples of types, as a category -/ diff --git a/Mathlib/Data/UInt.lean b/Mathlib/Data/UInt.lean index 1fdf19aaa1031f..38e41f43f71c80 100644 --- a/Mathlib/Data/UInt.lean +++ b/Mathlib/Data/UInt.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Data.ZMod.Defs -import Mathlib.Data.BitVec +module + +public import Mathlib.Init +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Data.ZMod.Defs +public import Mathlib.Data.BitVec /-! @@ -24,6 +26,8 @@ version also interferes more with software-verification use-cases, which is reas cautious here. -/ +@[expose] public section + -- these theorems are fragile, so do them first set_option hygiene false in run_cmd @@ -102,7 +106,8 @@ run_cmd toBitVec_zero toBitVec_one toBitVec_add toBitVec_mul toBitVec_neg toBitVec_sub toBitVec_nsmul toBitVec_zsmul toBitVec_pow toBitVec_natCast toBitVec_intCast) in - local instance instCommRing : CommRing $typeName := + -- `noncomputable` should not be necessary but triggers some codegen assertion + noncomputable local instance instCommRing : CommRing $typeName := Function.Injective.commRing toBitVec toBitVec_injective toBitVec_zero toBitVec_one (fun _ _ => toBitVec_add) (fun _ _ => toBitVec_mul) (fun _ => toBitVec_neg) (fun _ _ => toBitVec_sub) diff --git a/Mathlib/Data/ULift.lean b/Mathlib/Data/ULift.lean index 91d3fd0af7b893..07e05d4e947707 100644 --- a/Mathlib/Data/ULift.lean +++ b/Mathlib/Data/ULift.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Control.ULift -import Mathlib.Logic.Equiv.Basic +module + +public import Mathlib.Control.ULift +public import Mathlib.Logic.Equiv.Basic /-! # Extra lemmas about `ULift` and `PLift` @@ -14,6 +16,8 @@ In this file we provide `Subsingleton`, `Unique`, `DecidableEq`, and `isEmpty` i `PLift.exists`. -/ +@[expose] public section + universe u v u' v' open Function diff --git a/Mathlib/Data/Vector/Basic.lean b/Mathlib/Data/Vector/Basic.lean index 9fc7ade4f4aee4..94647bea355e82 100644 --- a/Mathlib/Data/Vector/Basic.lean +++ b/Mathlib/Data/Vector/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Vector.Defs -import Mathlib.Data.List.Nodup -import Mathlib.Data.List.OfFn -import Mathlib.Data.List.Scan -import Mathlib.Control.Applicative -import Mathlib.Control.Traversable.Basic -import Mathlib.Algebra.BigOperators.Group.List.Basic +module + +public import Mathlib.Data.Vector.Defs +public import Mathlib.Data.List.Nodup +public import Mathlib.Data.List.OfFn +public import Mathlib.Data.List.Scan +public import Mathlib.Control.Applicative +public import Mathlib.Control.Traversable.Basic +public import Mathlib.Algebra.BigOperators.Group.List.Basic /-! # Additional theorems and definitions about the `Vector` type @@ -17,6 +19,8 @@ import Mathlib.Algebra.BigOperators.Group.List.Basic This file introduces the infix notation `::ᵥ` for `Vector.cons`. -/ +@[expose] public section + universe u variable {α β γ σ φ : Type*} {m n : ℕ} @@ -638,7 +642,7 @@ private def traverseAux {α β : Type u} (f : α → F β) : ∀ x : List α, F | x :: xs => Vector.cons <$> f x <*> traverseAux f xs /-- Apply an applicative function to each component of a vector. -/ -protected def traverse {α β : Type u} (f : α → F β) : Vector α n → F (Vector β n) +@[no_expose] protected def traverse {α β : Type u} (f : α → F β) : Vector α n → F (Vector β n) | ⟨v, Hv⟩ => cast (by rw [Hv]) <| traverseAux f v section diff --git a/Mathlib/Data/Vector/Defs.lean b/Mathlib/Data/Vector/Defs.lean index 9d6fba595b1fd3..de80185024512a 100644 --- a/Mathlib/Data/Vector/Defs.lean +++ b/Mathlib/Data/Vector/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Data.List.Defs -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.List.Defs +public import Mathlib.Tactic.Common /-! The type `List.Vector` represents lists with fixed length. @@ -15,6 +17,8 @@ Any combination of reducing the use of `List.Vector` in Mathlib, or modernising would be welcome. -/ +@[expose] public section + assert_not_exists Monoid universe u v w diff --git a/Mathlib/Data/Vector/MapLemmas.lean b/Mathlib/Data/Vector/MapLemmas.lean index 4653423e774d84..095f6dcc981a9e 100644 --- a/Mathlib/Data/Vector/MapLemmas.lean +++ b/Mathlib/Data/Vector/MapLemmas.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Alex Keizer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Keizer -/ -import Mathlib.Data.Vector.Basic -import Mathlib.Data.Vector.Snoc +module + +public import Mathlib.Data.Vector.Basic +public import Mathlib.Data.Vector.Snoc /-! This file establishes a set of normalization lemmas for `map`/`mapAccumr` operations on vectors -/ +@[expose] public section + variable {α β γ ζ σ σ₁ σ₂ φ : Type*} {n : ℕ} {s : σ} {s₁ : σ₁} {s₂ : σ₂} namespace List diff --git a/Mathlib/Data/Vector/Mem.lean b/Mathlib/Data/Vector/Mem.lean index d234e65a60df2b..536c08c72e1fef 100644 --- a/Mathlib/Data/Vector/Mem.lean +++ b/Mathlib/Data/Vector/Mem.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Devon Tuma -/ -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Data.Vector.Basic /-! # Theorems about membership of elements in vectors @@ -15,6 +17,8 @@ In particular we can avoid some assumptions about types being `Inhabited`, and make more general statements about `head` and `tail`. -/ +@[expose] public section + namespace List namespace Vector diff --git a/Mathlib/Data/Vector/Snoc.lean b/Mathlib/Data/Vector/Snoc.lean index 602e63ef04f539..22014d34bad5d4 100644 --- a/Mathlib/Data/Vector/Snoc.lean +++ b/Mathlib/Data/Vector/Snoc.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Alex Keizer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Keizer -/ -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Data.Vector.Basic /-! This file establishes a `snoc : Vector α n → α → Vector α (n+1)` operation, that appends a single @@ -16,6 +18,8 @@ import Mathlib.Data.Vector.Basic `snoc xs x` for its inductive case. Effectively doing induction from right-to-left -/ +@[expose] public section + namespace List namespace Vector diff --git a/Mathlib/Data/Vector/Zip.lean b/Mathlib/Data/Vector/Zip.lean index 9df0f622a85043..23afb51c70b30a 100644 --- a/Mathlib/Data/Vector/Zip.lean +++ b/Mathlib/Data/Vector/Zip.lean @@ -3,12 +3,16 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Data.Vector.Basic /-! # The `zipWith` operation on vectors. -/ +@[expose] public section + namespace List namespace Vector diff --git a/Mathlib/Data/Vector3.lean b/Mathlib/Data/Vector3.lean index 1c24af3cd34080..b5dead48c71bca 100644 --- a/Mathlib/Data/Vector3.lean +++ b/Mathlib/Data/Vector3.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fin.Fin2 -import Mathlib.Util.Notation3 -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Data.Fin.Fin2 +public import Mathlib.Util.Notation3 +public import Mathlib.Tactic.TypeStar /-! # Alternate definition of `Vector` in terms of `Fin2` @@ -16,6 +18,8 @@ instead of a `List`. The `::` notation is also overloaded by this file to mean `Vector3.cons`. -/ +@[expose] public section + open Fin2 Nat universe u @@ -50,12 +54,12 @@ scoped macro_rules | `([$l,*]) => `(expand_foldr% (h t => cons h t) nil [$(.ofEl -- this is copied from `src/Init/NotationExtra.lean` /-- Unexpander for `Vector3.nil` -/ -@[app_unexpander Vector3.nil] def unexpandNil : Lean.PrettyPrinter.Unexpander +@[app_unexpander Vector3.nil] meta def unexpandNil : Lean.PrettyPrinter.Unexpander | `($(_)) => `([]) -- this is copied from `src/Init/NotationExtra.lean` /-- Unexpander for `Vector3.cons` -/ -@[app_unexpander Vector3.cons] def unexpandCons : Lean.PrettyPrinter.Unexpander +@[app_unexpander Vector3.cons] meta def unexpandCons : Lean.PrettyPrinter.Unexpander | `($(_) $x []) => `([$x]) | `($(_) $x [$xs,*]) => `([$x, $xs,*]) | _ => throw () diff --git a/Mathlib/Data/W/Basic.lean b/Mathlib/Data/W/Basic.lean index 6016950b8d0a81..e8208a3bfea3de 100644 --- a/Mathlib/Data/W/Basic.lean +++ b/Mathlib/Data/W/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Logic.Encodable.Pi +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Logic.Encodable.Pi /-! # W types @@ -26,6 +28,8 @@ While the name `WType` is somewhat verbose, it is preferable to putting a single identifier `W` in the root namespace. -/ +@[expose] public section + -- For "W_type" /-- @@ -161,11 +165,11 @@ private def encodable_succ (n : Nat) (_ : Encodable (WType' β n)) : Encodable ( /-- `WType` is encodable when `α` is an encodable fintype and for every `a : α`, `β a` is encodable. -/ -instance : Encodable (WType β) := by +instance : Encodable (WType β) := private_decl% (by haveI h' : ∀ n, Encodable (WType' β n) := fun n => Nat.rec encodable_zero encodable_succ n let f : WType β → Σ n, WType' β n := fun t => ⟨t.depth, ⟨t, le_rfl⟩⟩ let finv : (Σ n, WType' β n) → WType β := fun p => p.2.1 have : ∀ t, finv (f t) = t := fun t => rfl - exact Encodable.ofLeftInverse f finv this + exact Encodable.ofLeftInverse f finv this) end WType diff --git a/Mathlib/Data/W/Cardinal.lean b/Mathlib/Data/W/Cardinal.lean index eb92b9e64eeed2..1a4efe063fdd1e 100644 --- a/Mathlib/Data/W/Cardinal.lean +++ b/Mathlib/Data/W/Cardinal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.W.Basic -import Mathlib.SetTheory.Cardinal.Arithmetic +module + +public import Mathlib.Data.W.Basic +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # Cardinality of W-types @@ -22,6 +24,8 @@ this surjection can be used to put an upper bound on the cardinality of `MvPolyn W, W type, cardinal, first order -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/W/Constructions.lean b/Mathlib/Data/W/Constructions.lean index 940f86a200b28e..8dc05293a2f845 100644 --- a/Mathlib/Data/W/Constructions.lean +++ b/Mathlib/Data/W/Constructions.lean @@ -3,7 +3,9 @@ Copyright (c) 2015 Joseph Hua. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Hua -/ -import Mathlib.Data.W.Basic +module + +public import Mathlib.Data.W.Basic /-! # Examples of W-types @@ -19,6 +21,8 @@ This file contains `Nat` and `List` as examples of W types. * `WType.equivList`: the construction of lists on a type `γ` as a W-type is equivalent to `List γ` -/ +@[expose] public section + universe u v diff --git a/Mathlib/Data/WSeq/Basic.lean b/Mathlib/Data/WSeq/Basic.lean index 7f0e2c259fb0e4..e60c64de05c5a4 100644 --- a/Mathlib/Data/WSeq/Basic.lean +++ b/Mathlib/Data/WSeq/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Seq.Basic -import Mathlib.Util.CompileInductive +module + +public import Mathlib.Data.Seq.Basic +public import Mathlib.Util.CompileInductive /-! # Partially defined possibly infinite lists @@ -13,6 +15,8 @@ This file provides a `WSeq α` type representing partially defined possibly infi (referred here as weak sequences). -/ +@[expose] public section + namespace Stream' open Function diff --git a/Mathlib/Data/WSeq/Defs.lean b/Mathlib/Data/WSeq/Defs.lean index d5734483326203..ad1172a9f4ad46 100644 --- a/Mathlib/Data/WSeq/Defs.lean +++ b/Mathlib/Data/WSeq/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Data.DList.Basic -import Mathlib.Data.WSeq.Basic +module + +public import Batteries.Data.DList.Basic +public import Mathlib.Data.WSeq.Basic /-! # Miscellaneous definitions concerning weak sequences @@ -13,6 +15,8 @@ These definitions, as well as those in `Mathlib/Data/WSeq/Productive.lean`, are development of `Mathlib/Data/Seq/Parallel.lean`. -/ +@[expose] public section + universe u v w namespace Stream'.WSeq diff --git a/Mathlib/Data/WSeq/Productive.lean b/Mathlib/Data/WSeq/Productive.lean index 6667c66a8d99cc..9c0f976baa97db 100644 --- a/Mathlib/Data/WSeq/Productive.lean +++ b/Mathlib/Data/WSeq/Productive.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.WSeq.Relation +module + +public import Mathlib.Data.WSeq.Relation /-! # Productive weak sequences @@ -13,6 +15,8 @@ output always comes after a finite time. Given a productive weak sequence, a reg (`Seq`) can be derived from it using `toSeq`. -/ +@[expose] public section + universe u namespace Stream'.WSeq diff --git a/Mathlib/Data/WSeq/Relation.lean b/Mathlib/Data/WSeq/Relation.lean index d2b59e190fddac..c7d1b92c73d863 100644 --- a/Mathlib/Data/WSeq/Relation.lean +++ b/Mathlib/Data/WSeq/Relation.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.WSeq.Basic -import Mathlib.Logic.Relation +module + +public import Mathlib.Data.WSeq.Basic +public import Mathlib.Logic.Relation /-! # Relations between and equivalence of weak sequences @@ -20,6 +22,8 @@ ignoring computation time (`none` elements). Equivalence is then defined in the * `Stream'.WSeq.Equiv`: Two sequences are equivalent if they are `LiftRel (· = ·)`-related. -/ +@[expose] public section + universe u v w namespace Stream'.WSeq diff --git a/Mathlib/Data/ZMod/Aut.lean b/Mathlib/Data/ZMod/Aut.lean index 13d5333aa183c4..e85a2bdee84e45 100644 --- a/Mathlib/Data/ZMod/Aut.lean +++ b/Mathlib/Data/ZMod/Aut.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Ring.AddAut -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Algebra.Ring.AddAut +public import Mathlib.Data.ZMod.Basic /-! # Automorphism Group of `ZMod`. -/ +@[expose] public section + assert_not_exists Field TwoSidedIdeal namespace ZMod diff --git a/Mathlib/Data/ZMod/Basic.lean b/Mathlib/Data/ZMod/Basic.lean index 154b4f6d370cb3..4b3fbfb9f3b78b 100644 --- a/Mathlib/Data/ZMod/Basic.lean +++ b/Mathlib/Data/ZMod/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.Ring.Prod -import Mathlib.Data.Fintype.Units -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Data.Fintype.Units +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.Tactic.FinCases /-! # Integers mod `n` @@ -29,6 +31,8 @@ Definition of the integers mod n, and the field structure on the integers mod p. -/ +@[expose] public section + assert_not_exists Field Submodule TwoSidedIdeal open Function ZMod diff --git a/Mathlib/Data/ZMod/Coprime.lean b/Mathlib/Data/ZMod/Coprime.lean index d9a80f8b0510d0..49bdd1986e65f5 100644 --- a/Mathlib/Data/ZMod/Coprime.lean +++ b/Mathlib/Data/ZMod/Coprime.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Data.Nat.Prime.Int -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Int.Basic -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Coprimality and vanishing @@ -16,6 +18,8 @@ We show that for prime `p`, the image of an integer `a` in `ZMod p` vanishes if `a` and `p` are not coprime. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace ZMod diff --git a/Mathlib/Data/ZMod/Defs.lean b/Mathlib/Data/ZMod/Defs.lean index 288cea535eeec7..f6db94eae70c34 100644 --- a/Mathlib/Data/ZMod/Defs.lean +++ b/Mathlib/Data/ZMod/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Algebra.Group.Fin.Basic -import Mathlib.Algebra.NeZero -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Algebra.Ring.GrindInstances -import Mathlib.Data.Nat.ModEq -import Mathlib.Data.Fintype.EquivFin +module + +public import Mathlib.Algebra.Group.Fin.Basic +public import Mathlib.Algebra.NeZero +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Algebra.Ring.GrindInstances +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Data.Fintype.EquivFin /-! # Definition of `ZMod n` + basic results. @@ -29,6 +31,8 @@ able to import some part of `ZMod`. -/ +@[expose] public section + namespace Fin @@ -81,7 +85,7 @@ private theorem left_distrib_aux (n : ℕ) : ∀ a b c : Fin n, a * (b + c) = a /-- Distributive structure on `Fin n`. -/ instance instDistrib (n : ℕ) : Distrib (Fin n) := { Fin.addCommSemigroup n, Fin.instCommSemigroup n with - left_distrib := left_distrib_aux n + left_distrib := private left_distrib_aux n right_distrib := fun a b c => by rw [mul_comm, left_distrib_aux, mul_comm _ b, mul_comm] } diff --git a/Mathlib/Data/ZMod/Factorial.lean b/Mathlib/Data/ZMod/Factorial.lean index c33e5b8eaef1c9..3e8eac47019690 100644 --- a/Mathlib/Data/ZMod/Factorial.lean +++ b/Mathlib/Data/ZMod/Factorial.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching -/ -import Mathlib.Data.Nat.Factorial.BigOperators -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Data.Nat.Factorial.BigOperators +public import Mathlib.Data.ZMod.Basic /-! # Facts about factorials in ZMod @@ -23,6 +25,8 @@ For the prime case and involving `factorial` rather than `descFactorial`, see Wi -/ +@[expose] public section + assert_not_exists TwoSidedIdeal open Finset Nat diff --git a/Mathlib/Data/ZMod/IntUnitsPower.lean b/Mathlib/Data/ZMod/IntUnitsPower.lean index c5750873ab34c9..a8d94e3c71afe9 100644 --- a/Mathlib/Data/ZMod/IntUnitsPower.lean +++ b/Mathlib/Data/ZMod/IntUnitsPower.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Data.Int.Order.Units -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Data.Int.Order.Units +public import Mathlib.Data.ZMod.Basic /-! # The power operator on `ℤˣ` by `ZMod 2`, `ℕ`, and `ℤ` @@ -23,6 +25,8 @@ by using `Module R (Additive M)` in its place, especially since this already has `R = ℕ` and `R = ℤ`. -/ +@[expose] public section + assert_not_exists Ideal TwoSidedIdeal instance : SMul (ZMod 2) (Additive ℤˣ) where diff --git a/Mathlib/Data/ZMod/QuotientGroup.lean b/Mathlib/Data/ZMod/QuotientGroup.lean index 467f29737a6057..64e1e37121b9a4 100644 --- a/Mathlib/Data/ZMod/QuotientGroup.lean +++ b/Mathlib/Data/ZMod/QuotientGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Data.ZMod.Basic /-! # `ZMod n` and quotient groups / rings @@ -22,6 +24,8 @@ This file relates `ZMod n` to the quotient group `ℤ / AddSubgroup.zmultiples ( zmod, quotient group -/ +@[expose] public section + assert_not_exists Ideal TwoSidedIdeal open QuotientAddGroup Set ZMod diff --git a/Mathlib/Data/ZMod/QuotientRing.lean b/Mathlib/Data/ZMod/QuotientRing.lean index 265415eddf4e14..d136907d03fbe0 100644 --- a/Mathlib/Data/ZMod/QuotientRing.lean +++ b/Mathlib/Data/ZMod/QuotientRing.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Int.Basic -import Mathlib.RingTheory.ZMod +module + +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.RingTheory.ZMod /-! # `ZMod n` and quotient groups / rings @@ -23,6 +25,8 @@ This file relates `ZMod n` to the quotient ring `ℤ ⧸ Ideal.span {(n : ℤ)}` zmod, quotient ring, ideal quotient -/ +@[expose] public section + open QuotientAddGroup Set ZMod variable (n : ℕ) {A R : Type*} [AddGroup A] [Ring R] diff --git a/Mathlib/Data/ZMod/Units.lean b/Mathlib/Data/ZMod/Units.lean index ec27df70389121..4e02151b4afdb3 100644 --- a/Mathlib/Data/ZMod/Units.lean +++ b/Mathlib/Data/ZMod/Units.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching, Ashvni Narayanan, Michael Stoll -/ -import Mathlib.Algebra.BigOperators.Associated -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Coprime.Lemmas +module + +public import Mathlib.Algebra.BigOperators.Associated +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.Coprime.Lemmas /-! # Lemmas about units in `ZMod`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace ZMod diff --git a/Mathlib/Data/ZMod/ValMinAbs.lean b/Mathlib/Data/ZMod/ValMinAbs.lean index 6c8cdce6c6b696..ddb53eee09b080 100644 --- a/Mathlib/Data/ZMod/ValMinAbs.lean +++ b/Mathlib/Data/ZMod/ValMinAbs.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.ZMod.Basic -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Data.ZMod.Basic +public import Mathlib.Tactic.Linarith /-! # Absolute value in `ZMod n` -/ +@[expose] public section + namespace ZMod variable {n : ℕ} {a : ZMod n} diff --git a/Mathlib/Deprecated/Aliases.lean b/Mathlib/Deprecated/Aliases.lean index 458f6a85b1f4aa..7bf9fca22e4162 100644 --- a/Mathlib/Deprecated/Aliases.lean +++ b/Mathlib/Deprecated/Aliases.lean @@ -3,9 +3,13 @@ Copyright (c) 2024 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init +module + +public import Mathlib.Init /-! Deprecated aliases can be dumped here if they are no longer used in Mathlib, to avoid needing their imports if they are otherwise unnecessary. -/ + +@[expose] public section diff --git a/Mathlib/Deprecated/AnalyticManifold.lean b/Mathlib/Deprecated/AnalyticManifold.lean index a18ae99f2199ab..953720bd1e4d50 100644 --- a/Mathlib/Deprecated/AnalyticManifold.lean +++ b/Mathlib/Deprecated/AnalyticManifold.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Michael Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Lee, Geoffrey Irving -/ -import Mathlib.Analysis.Analytic.Constructions -import Mathlib.Geometry.Manifold.IsManifold.Basic +module + +public import Mathlib.Analysis.Analytic.Constructions +public import Mathlib.Geometry.Manifold.IsManifold.Basic /-! # Analytic manifolds (possibly with boundary or corners) @@ -17,6 +19,8 @@ place of `contDiffGroupoid`. All analytic manifolds are smooth manifolds. This file is deprecated: one should use `IsManifold I ω M` instead -/ +@[expose] public section + noncomputable section /- Deactivate the linter as we don't want to change the statements inside the file, only warn diff --git a/Mathlib/Deprecated/Estimator.lean b/Mathlib/Deprecated/Estimator.lean index 83a85fef8cc35a..357f14bc0a605f 100644 --- a/Mathlib/Deprecated/Estimator.lean +++ b/Mathlib/Deprecated/Estimator.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Set.Operations -import Mathlib.Order.Heyting.Basic -import Mathlib.Order.RelClasses -import Mathlib.Order.Hom.Basic -import Mathlib.Lean.Thunk +module + +public import Mathlib.Data.Set.Operations +public import Mathlib.Order.Heyting.Basic +public import Mathlib.Order.RelClasses +public import Mathlib.Order.Hom.Basic +public import Mathlib.Lean.Thunk /-! # Improvable lower bounds. @@ -34,6 +36,8 @@ An appropriate well-foundedness condition would then ensure that repeated improv the exact value. -/ +@[expose] public section + variable {α ε : Type*} /-- diff --git a/Mathlib/Deprecated/MLList/BestFirst.lean b/Mathlib/Deprecated/MLList/BestFirst.lean index b526c9bf677b5a..2e9a731cd79b74 100644 --- a/Mathlib/Deprecated/MLList/BestFirst.lean +++ b/Mathlib/Deprecated/MLList/BestFirst.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Batteries.Data.MLList.Basic -import Mathlib.Data.Prod.Lex -import Mathlib.Data.Set.Finite.Range -import Mathlib.Deprecated.Estimator +module + +public import Batteries.Data.MLList.Basic +public import Mathlib.Data.Prod.Lex +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Deprecated.Estimator /-! # Best first search @@ -31,6 +33,8 @@ Options: otherwise if the graph is not a tree nodes may be visited multiple times. -/ +@[expose] public section + open Batteries EstimatorData Estimator Set /-! diff --git a/Mathlib/Deprecated/Order.lean b/Mathlib/Deprecated/Order.lean index 5d54f3e5a4c9be..750f2578a38f5b 100644 --- a/Mathlib/Deprecated/Order.lean +++ b/Mathlib/Deprecated/Order.lean @@ -1,5 +1,7 @@ -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Order.RelClasses -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Order.RelClasses +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-09-02") diff --git a/Mathlib/Deprecated/RingHom.lean b/Mathlib/Deprecated/RingHom.lean index c4e182987b0e1b..b1c06252925c83 100644 --- a/Mathlib/Deprecated/RingHom.lean +++ b/Mathlib/Deprecated/RingHom.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Jireh Loreaux -/ -import Mathlib.Algebra.Divisibility.Hom -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Data.Set.Insert +module + +public import Mathlib.Algebra.Divisibility.Hom +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Data.Set.Insert /-! # Additional lemmas about homomorphisms of semirings and rings @@ -13,6 +15,8 @@ import Mathlib.Data.Set.Insert These lemmas were in `Mathlib/Algebra/Hom/Ring/Defs.lean` and have now been deprecated. -/ +@[expose] public section + assert_not_exists RelIso Field open Function diff --git a/Mathlib/Dynamics/BirkhoffSum/Average.lean b/Mathlib/Dynamics/BirkhoffSum/Average.lean index 474cf2cc84dc47..f528d12f308500 100644 --- a/Mathlib/Dynamics/BirkhoffSum/Average.lean +++ b/Mathlib/Dynamics/BirkhoffSum/Average.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Lua Viana Reis, Oliver Butterley -/ -import Mathlib.Dynamics.BirkhoffSum.Basic -import Mathlib.Algebra.Module.Basic +module + +public import Mathlib.Dynamics.BirkhoffSum.Basic +public import Mathlib.Algebra.Module.Basic /-! # Birkhoff average @@ -23,6 +25,8 @@ see `birkhoffAverage_congr_ring`. -/ +@[expose] public section + open Finset section birkhoffAverage diff --git a/Mathlib/Dynamics/BirkhoffSum/Basic.lean b/Mathlib/Dynamics/BirkhoffSum/Basic.lean index 5d5a1c5d366494..890301d4647b11 100644 --- a/Mathlib/Dynamics/BirkhoffSum/Basic.lean +++ b/Mathlib/Dynamics/BirkhoffSum/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Birkhoff sums @@ -17,6 +19,8 @@ saying that these averages converge to the "space average" `⨍ x, g x ∂μ` in See also `birkhoffAverage` defined in `Dynamics/BirkhoffSum/Average`. -/ +@[expose] public section + open Finset Function section AddCommMonoid diff --git a/Mathlib/Dynamics/BirkhoffSum/NormedSpace.lean b/Mathlib/Dynamics/BirkhoffSum/NormedSpace.lean index 0174add50aa2ed..a43ca5a3f29636 100644 --- a/Mathlib/Dynamics/BirkhoffSum/NormedSpace.lean +++ b/Mathlib/Dynamics/BirkhoffSum/NormedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Dynamics.BirkhoffSum.Average +module + +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Dynamics.BirkhoffSum.Average /-! # Birkhoff average in a normed space @@ -17,6 +19,8 @@ are motivated by the proof of the von Neumann Mean Ergodic Theorem, see `LinearIsometry.tendsto_birkhoffAverage_orthogonalProjection`. -/ +@[expose] public section + open Function Set Filter open scoped Topology ENNReal Uniformity diff --git a/Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean b/Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean index 925623f3ae2ec4..6987b3f9d56ce7 100644 --- a/Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean +++ b/Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Oliver Butterley. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Butterley, Lua Viana Reis -/ -import Mathlib.Dynamics.BirkhoffSum.Average -import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving +module + +public import Mathlib.Dynamics.BirkhoffSum.Average +public import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving /-! # Birkhoff sum and average for quasi-measure-preserving maps @@ -19,6 +21,8 @@ Given a map `f` and measure `μ`, under the assumption of `QuasiMeasurePreservin -/ +@[expose] public section + namespace MeasureTheory.Measure.QuasiMeasurePreserving open Filter diff --git a/Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean b/Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean index d12fc40f74e86d..0530c293a33fba 100644 --- a/Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean +++ b/Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Order.Iterate -import Mathlib.Order.SemiconjSup -import Mathlib.Topology.Order.MonotoneContinuity -import Mathlib.Algebra.CharP.Defs +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Order.Iterate +public import Mathlib.Order.SemiconjSup +public import Mathlib.Topology.Order.MonotoneContinuity +public import Mathlib.Algebra.CharP.Defs /-! # Translation number of a monotone real map that commutes with `x ↦ x + 1` @@ -115,6 +117,8 @@ Here are some short-term goals. circle homeomorphism, rotation number -/ +@[expose] public section + open Filter Set Int Topology open Function hiding Commute diff --git a/Mathlib/Dynamics/Ergodic/Action/Basic.lean b/Mathlib/Dynamics/Ergodic/Action/Basic.lean index f6a6915cc25dde..d9f73e674cbe47 100644 --- a/Mathlib/Dynamics/Ergodic/Action/Basic.lean +++ b/Mathlib/Dynamics/Ergodic/Action/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Group.AEStabilizer -import Mathlib.Dynamics.Ergodic.Ergodic +module + +public import Mathlib.MeasureTheory.Group.AEStabilizer +public import Mathlib.Dynamics.Ergodic.Ergodic /-! # Ergodic group actions @@ -15,6 +17,8 @@ if it is a.e.-invariant under each scalar multiplication `(g • ·)`, `g : G`, then it is either null or conull. -/ +@[expose] public section + open Set Filter MeasureTheory MulAction open scoped Pointwise diff --git a/Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean b/Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean index 3b2a71584d0d73..89eae9f03f462e 100644 --- a/Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean +++ b/Mathlib/Dynamics/Ergodic/Action/OfMinimal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.Action.Regular -import Mathlib.MeasureTheory.Measure.ContinuousPreimage -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Dynamics.Ergodic.Action.Regular +public import Mathlib.MeasureTheory.Measure.ContinuousPreimage +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Ergodicity from minimality @@ -28,6 +30,8 @@ if it is surjective and the preimages of `1` under iterations of `f` are dense i This theorem applies, e.g., to the map `z ↦ n • z` on the additive circle or a torus. -/ +@[expose] public section + open MeasureTheory Filter Set Function open scoped Pointwise Topology diff --git a/Mathlib/Dynamics/Ergodic/Action/Regular.lean b/Mathlib/Dynamics/Ergodic/Action/Regular.lean index 7abce701f315e6..619195eea8c4dd 100644 --- a/Mathlib/Dynamics/Ergodic/Action/Regular.lean +++ b/Mathlib/Dynamics/Ergodic/Action/Regular.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.Action.Basic -import Mathlib.MeasureTheory.Group.Prod +module + +public import Mathlib.Dynamics.Ergodic.Action.Basic +public import Mathlib.MeasureTheory.Group.Prod /-! # Regular action of a group on itself is ergodic @@ -12,6 +14,8 @@ import Mathlib.MeasureTheory.Group.Prod In this file we prove that the left and right actions of a group on itself are ergodic. -/ +@[expose] public section + open MeasureTheory Measure Filter Set open scoped Pointwise diff --git a/Mathlib/Dynamics/Ergodic/AddCircle.lean b/Mathlib/Dynamics/Ergodic/AddCircle.lean index e0a4e43a8188fb..6f82bc930b327f 100644 --- a/Mathlib/Dynamics/Ergodic/AddCircle.lean +++ b/Mathlib/Dynamics/Ergodic/AddCircle.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Dynamics.FixedPoints.Prufer -import Mathlib.Dynamics.Ergodic.Ergodic -import Mathlib.MeasureTheory.Covering.DensityTheorem -import Mathlib.MeasureTheory.Group.AddCircle -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Dynamics.FixedPoints.Prufer +public import Mathlib.Dynamics.Ergodic.Ergodic +public import Mathlib.MeasureTheory.Covering.DensityTheorem +public import Mathlib.MeasureTheory.Group.AddCircle +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Ergodic maps of the additive circle @@ -28,6 +30,8 @@ This file contains proofs of ergodicity for maps of the additive circle. -/ +@[expose] public section + open Set Function MeasureTheory MeasureTheory.Measure Filter Metric diff --git a/Mathlib/Dynamics/Ergodic/AddCircleAdd.lean b/Mathlib/Dynamics/Ergodic/AddCircleAdd.lean index 3cce2d6cf79eb5..c1c6bb75f269ca 100644 --- a/Mathlib/Dynamics/Ergodic/AddCircleAdd.lean +++ b/Mathlib/Dynamics/Ergodic/AddCircleAdd.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.Action.OfMinimal -import Mathlib.Topology.Instances.AddCircle.DenseSubgroup -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +module + +public import Mathlib.Dynamics.Ergodic.Action.OfMinimal +public import Mathlib.Topology.Instances.AddCircle.DenseSubgroup +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic /-! # Ergodicity of an irrational rotation @@ -14,6 +16,8 @@ In this file we prove that rotation of `AddCircle p` by `a` is ergodic if and only if `a` has infinite order (in other words, if `a / p` is irrational). -/ +@[expose] public section + open Metric MeasureTheory AddSubgroup open scoped Pointwise diff --git a/Mathlib/Dynamics/Ergodic/Conservative.lean b/Mathlib/Dynamics/Ergodic/Conservative.lean index abdc20f6823204..6624a93c540b6b 100644 --- a/Mathlib/Dynamics/Ergodic/Conservative.lean +++ b/Mathlib/Dynamics/Ergodic/Conservative.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.Combinatorics.Pigeonhole +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.Combinatorics.Pigeonhole /-! # Conservative systems @@ -35,6 +37,8 @@ infinitely many times. conservative dynamical system, Poincare recurrence theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Dynamics/Ergodic/Ergodic.lean b/Mathlib/Dynamics/Ergodic/Ergodic.lean index 5ae415461ce7c4..f2d39ff27fce76 100644 --- a/Mathlib/Dynamics/Ergodic/Ergodic.lean +++ b/Mathlib/Dynamics/Ergodic/Ergodic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability /-! # Ergodic maps and measures @@ -29,6 +31,8 @@ preserving condition is relaxed to quasi-measure-preserving. -/ +@[expose] public section + open Set Function Filter MeasureTheory MeasureTheory.Measure diff --git a/Mathlib/Dynamics/Ergodic/Extreme.lean b/Mathlib/Dynamics/Ergodic/Extreme.lean index 42d4a37bd7f463..a58da1538f0658 100644 --- a/Mathlib/Dynamics/Ergodic/Extreme.lean +++ b/Mathlib/Dynamics/Ergodic/Extreme.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Extreme -import Mathlib.Dynamics.Ergodic.Function -import Mathlib.Dynamics.Ergodic.RadonNikodym -import Mathlib.Probability.ConditionalProbability +module + +public import Mathlib.Analysis.Convex.Extreme +public import Mathlib.Dynamics.Ergodic.Function +public import Mathlib.Dynamics.Ergodic.RadonNikodym +public import Mathlib.Probability.ConditionalProbability /-! # Ergodic measures as extreme points @@ -16,6 +18,8 @@ iff it is an extreme point of the set of invariant measures of `f` with the same We also specialize this result to probability measures. -/ +@[expose] public section + open Filter Set Function MeasureTheory Measure ProbabilityTheory open scoped NNReal ENNReal Topology diff --git a/Mathlib/Dynamics/Ergodic/Function.lean b/Mathlib/Dynamics/Ergodic/Function.lean index c6cdb1fcb0b9ce..ac868610362552 100644 --- a/Mathlib/Dynamics/Ergodic/Function.lean +++ b/Mathlib/Dynamics/Ergodic/Function.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.Ergodic -import Mathlib.MeasureTheory.Function.AEEqFun +module + +public import Mathlib.Dynamics.Ergodic.Ergodic +public import Mathlib.MeasureTheory.Function.AEEqFun /-! # Functions invariant under (quasi)ergodic map @@ -16,6 +18,8 @@ We also formulate a version for `MeasureTheory.AEEqFun` functions with all a.e. equalities replaced with equalities in the quotient space. -/ +@[expose] public section + open Function Set Filter MeasureTheory Topology TopologicalSpace variable {α X : Type*} [MeasurableSpace α] {μ : MeasureTheory.Measure α} diff --git a/Mathlib/Dynamics/Ergodic/MeasurePreserving.lean b/Mathlib/Dynamics/Ergodic/MeasurePreserving.lean index 56ff1a15c3df63..6ca7060c0f40c1 100644 --- a/Mathlib/Dynamics/Ergodic/MeasurePreserving.lean +++ b/Mathlib/Dynamics/Ergodic/MeasurePreserving.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.AEMeasurable -import Mathlib.Order.Filter.EventuallyConst +module + +public import Mathlib.MeasureTheory.Measure.AEMeasurable +public import Mathlib.Order.Filter.EventuallyConst /-! # Measure-preserving maps @@ -26,6 +28,8 @@ Isabelle formalization. measure-preserving map, measure -/ +@[expose] public section + open MeasureTheory.Measure Function Set open scoped ENNReal diff --git a/Mathlib/Dynamics/Ergodic/RadonNikodym.lean b/Mathlib/Dynamics/Ergodic/RadonNikodym.lean index ccfeaaf21f4404..a68d0b6e51e9bd 100644 --- a/Mathlib/Dynamics/Ergodic/RadonNikodym.lean +++ b/Mathlib/Dynamics/Ergodic/RadonNikodym.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -import Mathlib.Topology.Order.CountableSeparating +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +public import Mathlib.Topology.Order.CountableSeparating /-! # Radon-Nikodym derivative of invariant measures @@ -23,6 +25,8 @@ It isn't clear if the finiteness assumptions are optimal in this file. We should either weaken them, or describe an example showing that it's impossible. -/ +@[expose] public section + open MeasureTheory Measure Set variable {X : Type*} {m : MeasurableSpace X} {μ ν : Measure X} [IsFiniteMeasure μ] diff --git a/Mathlib/Dynamics/FixedPoints/Basic.lean b/Mathlib/Dynamics/FixedPoints/Basic.lean index ef4dbb2c5dbfb7..f390bef33f2fe3 100644 --- a/Mathlib/Dynamics/FixedPoints/Basic.lean +++ b/Mathlib/Dynamics/FixedPoints/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.End -import Mathlib.Data.Set.Function +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Data.Set.Function /-! # Fixed points of a self-map @@ -21,6 +23,8 @@ We also prove some simple lemmas about `IsFixedPt` and `∘`, `iterate`, and `Se fixed point -/ +@[expose] public section + open Equiv diff --git a/Mathlib/Dynamics/FixedPoints/Prufer.lean b/Mathlib/Dynamics/FixedPoints/Prufer.lean index 519bf0fd1bcdc0..f3b1627934ccbc 100644 --- a/Mathlib/Dynamics/FixedPoints/Prufer.lean +++ b/Mathlib/Dynamics/FixedPoints/Prufer.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Dynamics.FixedPoints.Basic +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Dynamics.FixedPoints.Basic /-! # Results about pointwise operations on sets with iteration. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/Dynamics/FixedPoints/Topology.lean b/Mathlib/Dynamics/FixedPoints/Topology.lean index 9c65e154462427..3b57ac9370d002 100644 --- a/Mathlib/Dynamics/FixedPoints/Topology.lean +++ b/Mathlib/Dynamics/FixedPoints/Topology.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Johannes Hölzl -/ -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.Topology.Separation.Hausdorff /-! # Topological properties of fixed points @@ -19,6 +21,8 @@ Currently this file contains two lemmas: fixed points, iterates -/ +@[expose] public section + variable {α : Type*} [TopologicalSpace α] [T2Space α] {f : α → α} diff --git a/Mathlib/Dynamics/Flow.lean b/Mathlib/Dynamics/Flow.lean index 1a73464e2bdb69..7ae09ed4988da8 100644 --- a/Mathlib/Dynamics/Flow.lean +++ b/Mathlib/Dynamics/Flow.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Jean Lo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo -/ -import Mathlib.Logic.Function.Iterate -import Mathlib.Topology.Algebra.Monoid -import Mathlib.Topology.Algebra.Group.Defs -import Mathlib.Algebra.Order.Monoid.Submonoid +module + +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Topology.Algebra.Monoid +public import Mathlib.Topology.Algebra.Group.Defs +public import Mathlib.Algebra.Order.Monoid.Submonoid /-! # Flows and invariant sets @@ -28,6 +30,8 @@ semiconjugacy between flows, a factor of a flow, the restriction of a flow onto an invariant subset, and the time-reversal of a flow by a group. -/ +@[expose] public section + open Set Function Filter diff --git a/Mathlib/Dynamics/Minimal.lean b/Mathlib/Dynamics/Minimal.lean index 234a027eebc380..b5971ed8d39122 100644 --- a/Mathlib/Dynamics/Minimal.lean +++ b/Mathlib/Dynamics/Minimal.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.ConstMulAction +module + +public import Mathlib.Topology.Algebra.ConstMulAction /-! # Minimal action of a group @@ -21,6 +23,8 @@ and prove some basic facts about minimal actions. group action, minimal -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/Dynamics/Newton.lean b/Mathlib/Dynamics/Newton.lean index 2c048abc643a49..99b143cba80bb0 100644 --- a/Mathlib/Dynamics/Newton.lean +++ b/Mathlib/Dynamics/Newton.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, Oliver Nash -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Identities -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.Polynomial.Nilpotent +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Identities +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.Polynomial.Nilpotent /-! # Newton-Raphson method @@ -30,6 +32,8 @@ such as Hensel's lemma and Jordan-Chevalley decomposition. -/ +@[expose] public section + open Set Function noncomputable section diff --git a/Mathlib/Dynamics/OmegaLimit.lean b/Mathlib/Dynamics/OmegaLimit.lean index e65525c3aa0024..02027845d1b13b 100644 --- a/Mathlib/Dynamics/OmegaLimit.lean +++ b/Mathlib/Dynamics/OmegaLimit.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Jean Lo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo -/ -import Mathlib.Dynamics.Flow -import Mathlib.Tactic.Monotonicity +module + +public import Mathlib.Dynamics.Flow +public import Mathlib.Tactic.Monotonicity /-! # ω-limits @@ -30,6 +32,8 @@ The `omegaLimit` scope provides the localised notation `ω` for endowed with an order. -/ +@[expose] public section + open Set Function Filter Topology diff --git a/Mathlib/Dynamics/PeriodicPts/Defs.lean b/Mathlib/Dynamics/PeriodicPts/Defs.lean index a2ce9784696a79..daa2ac387bd186 100644 --- a/Mathlib/Dynamics/PeriodicPts/Defs.lean +++ b/Mathlib/Dynamics/PeriodicPts/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.Data.List.Cycle -import Mathlib.Data.PNat.Notation -import Mathlib.Dynamics.FixedPoints.Basic +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.Data.List.Cycle +public import Mathlib.Data.PNat.Notation +public import Mathlib.Dynamics.FixedPoints.Basic /-! # Periodic points @@ -41,6 +43,8 @@ is a periodic point of `f` of period `n` if and only if `minimalPeriod f x | n`. -/ +@[expose] public section + assert_not_exists MonoidWithZero diff --git a/Mathlib/Dynamics/PeriodicPts/Lemmas.lean b/Mathlib/Dynamics/PeriodicPts/Lemmas.lean index c28f8ba93c5b1d..b25b55ade2da8f 100644 --- a/Mathlib/Dynamics/PeriodicPts/Lemmas.lean +++ b/Mathlib/Dynamics/PeriodicPts/Lemmas.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.PNat.Basic -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Dynamics.PeriodicPts.Defs +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.PNat.Basic +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Dynamics.PeriodicPts.Defs /-! # Extra lemmas about periodic points -/ +@[expose] public section + open Nat Set namespace Function diff --git a/Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean b/Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean index 1b6d70c13bf117..e9b7ae06bed42c 100644 --- a/Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean +++ b/Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone -/ -import Mathlib.Analysis.Asymptotics.ExpGrowth -import Mathlib.Data.ENat.Lattice -import Mathlib.Data.Real.ENatENNReal -import Mathlib.Dynamics.TopologicalEntropy.DynamicalEntourage +module + +public import Mathlib.Analysis.Asymptotics.ExpGrowth +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Data.Real.ENatENNReal +public import Mathlib.Dynamics.TopologicalEntropy.DynamicalEntourage /-! # Topological entropy via covers @@ -59,6 +61,8 @@ cover, entropy Get versions of the topological entropy on (pseudo-e)metric spaces. -/ +@[expose] public section + namespace Dynamics open Set Uniformity UniformSpace diff --git a/Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean b/Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean index 07891fd43c49d8..a5f950a88d2bfa 100644 --- a/Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean +++ b/Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone -/ -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Topology.Constructions.SumProd -import Mathlib.Topology.UniformSpace.Basic +module + +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Topology.Constructions.SumProd +public import Mathlib.Topology.UniformSpace.Basic /-! # Dynamical entourages @@ -35,6 +37,8 @@ In the context of (pseudo-e)metric spaces, relate the usual definition of dynami these dynamical entourages. -/ +@[expose] public section + namespace Dynamics open Prod Set UniformSpace diff --git a/Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean b/Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean index a06c9d7e43f5e1..6611f619a8241c 100644 --- a/Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean +++ b/Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone -/ -import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy +module + +public import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy /-! # Topological entropy via nets @@ -49,6 +51,8 @@ net, entropy Get versions of the topological entropy on (pseudo-e)metric spaces. -/ +@[expose] public section + namespace Dynamics open Set Uniformity UniformSpace diff --git a/Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean b/Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean index 4ef94afa7d2deb..908d4b898a71cf 100644 --- a/Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean +++ b/Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine, Pietro Monticone -/ -import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy +module + +public import Mathlib.Dynamics.TopologicalEntropy.CoverEntropy /-! # Topological entropy of the image of a set under a semiconjugacy @@ -51,6 +53,8 @@ the entropy of `φ '' F` is lower than the entropy of `F` if `φ` is uniformly c entropy, semiconjugacy -/ +@[expose] public section + namespace Dynamics open Function Prod Set Uniformity UniformSpace diff --git a/Mathlib/Dynamics/TopologicalEntropy/Subset.lean b/Mathlib/Dynamics/TopologicalEntropy/Subset.lean index 285d102db10d37..52f6a005d039d1 100644 --- a/Mathlib/Dynamics/TopologicalEntropy/Subset.lean +++ b/Mathlib/Dynamics/TopologicalEntropy/Subset.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Dynamics.TopologicalEntropy.NetEntropy +module + +public import Mathlib.Dynamics.TopologicalEntropy.NetEntropy /-! # Topological entropy of subsets: monotonicity, closure, union @@ -32,6 +34,8 @@ generalization of the lemmas on closures. closure, entropy, subset, union -/ +@[expose] public section + namespace Dynamics open ExpGrowth Set UniformSpace diff --git a/Mathlib/FieldTheory/AbelRuffini.lean b/Mathlib/FieldTheory/AbelRuffini.lean index 6004e501235f36..bfc34826a04659 100644 --- a/Mathlib/FieldTheory/AbelRuffini.lean +++ b/Mathlib/FieldTheory/AbelRuffini.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Thomas Browning and Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.GroupTheory.Solvable -import Mathlib.FieldTheory.PolynomialGaloisGroup -import Mathlib.RingTheory.RootsOfUnity.Basic +module + +public import Mathlib.GroupTheory.Solvable +public import Mathlib.FieldTheory.PolynomialGaloisGroup +public import Mathlib.RingTheory.RootsOfUnity.Basic /-! # The Abel-Ruffini Theorem @@ -23,6 +25,8 @@ by radicals, then its minimal polynomial has solvable Galois group. that is solvable by radicals has a solvable Galois group. -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/FieldTheory/AbsoluteGaloisGroup.lean b/Mathlib/FieldTheory/AbsoluteGaloisGroup.lean index 16992537a9e46f..6f66c5f3ea2347 100644 --- a/Mathlib/FieldTheory/AbsoluteGaloisGroup.lean +++ b/Mathlib/FieldTheory/AbsoluteGaloisGroup.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.FieldTheory.KrullTopology -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.Topology.Algebra.Group.TopologicalAbelianization +module + +public import Mathlib.FieldTheory.KrullTopology +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.Topology.Algebra.Group.TopologicalAbelianization /-! # The topological abelianization of the absolute Galois group. @@ -28,6 +30,8 @@ field, algebraic closure, galois group, abelianization -/ +@[expose] public section + namespace Field variable (K : Type*) [Field K] diff --git a/Mathlib/FieldTheory/AlgebraicClosure.lean b/Mathlib/FieldTheory/AlgebraicClosure.lean index cf737102acfc2c..5d14eb4827012d 100644 --- a/Mathlib/FieldTheory/AlgebraicClosure.lean +++ b/Mathlib/FieldTheory/AlgebraicClosure.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu, Jiedong Jiang -/ -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.FieldTheory.IntermediateField.Algebraic +module + +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.FieldTheory.IntermediateField.Algebraic /-! # Relative Algebraic Closure @@ -18,6 +20,8 @@ In this file we construct the relative algebraic closure of a field extension. of the field extension `E / F`, which is defined to be the integral closure of `F` in `E`. -/ + +@[expose] public section noncomputable section open Polynomial FiniteDimensional IntermediateField Field diff --git a/Mathlib/FieldTheory/AxGrothendieck.lean b/Mathlib/FieldTheory/AxGrothendieck.lean index df3d66219cbf6b..3cfb7c05561951 100644 --- a/Mathlib/FieldTheory/AxGrothendieck.lean +++ b/Mathlib/FieldTheory/AxGrothendieck.lean @@ -3,12 +3,13 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.RingTheory.Algebraic.Basic -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.ModelTheory.Algebra.Field.IsAlgClosed -import Mathlib.ModelTheory.Algebra.Ring.Definability -import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.Algebraic.Basic +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.ModelTheory.Algebra.Field.IsAlgClosed +public import Mathlib.ModelTheory.Algebra.Ring.Definability +public import Mathlib.RingTheory.Polynomial.Basic /-! # Ax-Grothendieck @@ -37,6 +38,8 @@ the Ax-Grothendieck Theorem were first formalized in Lean 3 by Joseph Hua -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/FieldTheory/CardinalEmb.lean b/Mathlib/FieldTheory/CardinalEmb.lean index a6cee42dbf1a24..dea423af54f73e 100644 --- a/Mathlib/FieldTheory/CardinalEmb.lean +++ b/Mathlib/FieldTheory/CardinalEmb.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.FieldTheory.SeparableClosure -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.LinearAlgebra.FreeAlgebra -import Mathlib.Order.Interval.Set.WithBotTop -import Mathlib.Order.DirectedInverseSystem +module + +public import Mathlib.FieldTheory.SeparableClosure +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.LinearAlgebra.FreeAlgebra +public import Mathlib.Order.Interval.Set.WithBotTop +public import Mathlib.Order.DirectedInverseSystem /-! # Number of embeddings of an algebraic extension of infinite separable degree @@ -64,6 +66,8 @@ between `E⟮ Fintype.card x diff --git a/Mathlib/FieldTheory/ChevalleyWarning.lean b/Mathlib/FieldTheory/ChevalleyWarning.lean index 3bc0af339dc311..8aa0b889f54b90 100644 --- a/Mathlib/FieldTheory/ChevalleyWarning.lean +++ b/Mathlib/FieldTheory/ChevalleyWarning.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.FieldTheory.Finite.Basic /-! # The Chevalley–Warning theorem @@ -33,6 +35,8 @@ and `q` is notation for the cardinality of `K`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/FieldTheory/Differential/Basic.lean b/Mathlib/FieldTheory/Differential/Basic.lean index 50a723faed4bd3..0f963cf5728b1a 100644 --- a/Mathlib/FieldTheory/Differential/Basic.lean +++ b/Mathlib/FieldTheory/Differential/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.RingTheory.Derivation.MapCoeffs -import Mathlib.FieldTheory.PrimitiveElement +module + +public import Mathlib.RingTheory.Derivation.MapCoeffs +public import Mathlib.FieldTheory.PrimitiveElement /-! # Differential Fields @@ -13,6 +15,8 @@ This file defines the logarithmic derivative `Differential.logDeriv` and proves This is defined algebraically, compared to `logDeriv` which is analytical. -/ +@[expose] public section + namespace Differential open algebraMap Polynomial IntermediateField diff --git a/Mathlib/FieldTheory/Differential/Liouville.lean b/Mathlib/FieldTheory/Differential/Liouville.lean index cd8b81f3ac8247..d86067025cfd7c 100644 --- a/Mathlib/FieldTheory/Differential/Liouville.lean +++ b/Mathlib/FieldTheory/Differential/Liouville.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.Algebra.Algebra.Field -import Mathlib.Algebra.BigOperators.Field -import Mathlib.FieldTheory.Differential.Basic -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +module + +public import Mathlib.Algebra.Algebra.Field +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.FieldTheory.Differential.Basic +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure /-! # Liouville's theorem @@ -28,6 +30,8 @@ literature, and we introduce it as part of the formalization of Liouville's theo -/ +@[expose] public section + open Differential algebraMap IntermediateField Finset Polynomial variable (F : Type*) (K : Type*) [Field F] [Field K] [Differential F] [Differential K] diff --git a/Mathlib/FieldTheory/Extension.lean b/Mathlib/FieldTheory/Extension.lean index 1b87f1be171a84..5383dd2a7f8491 100644 --- a/Mathlib/FieldTheory/Extension.lean +++ b/Mathlib/FieldTheory/Extension.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Junyan Xu -/ -import Mathlib.Data.Fintype.Order -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +module + +public import Mathlib.Data.Fintype.Order +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic /-! # Extension of field embeddings @@ -21,6 +23,8 @@ The American Mathematical Monthly -/ +@[expose] public section + open Polynomial namespace IntermediateField diff --git a/Mathlib/FieldTheory/Finite/Basic.lean b/Mathlib/FieldTheory/Finite/Basic.lean index 46ba5a31712b14..92b49c31797eea 100644 --- a/Mathlib/FieldTheory/Finite/Basic.lean +++ b/Mathlib/FieldTheory/Finite/Basic.lean @@ -3,17 +3,19 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Joey van Langen, Casper Putz -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.Algebra.CharP.Reduced -import Mathlib.Algebra.Field.ZMod -import Mathlib.Data.Nat.Prime.Int -import Mathlib.Data.ZMod.ValMinAbs -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix -import Mathlib.FieldTheory.Finiteness -import Mathlib.FieldTheory.Galois.Notation -import Mathlib.FieldTheory.Perfect -import Mathlib.FieldTheory.Separable -import Mathlib.RingTheory.IntegralDomain +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.Algebra.CharP.Reduced +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.Data.ZMod.ValMinAbs +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.FieldTheory.Galois.Notation +public import Mathlib.FieldTheory.Perfect +public import Mathlib.FieldTheory.Separable +public import Mathlib.RingTheory.IntegralDomain /-! # Finite fields @@ -48,6 +50,8 @@ diamonds, as `Fintype` carries data. -/ +@[expose] public section + variable {K : Type*} {R : Type*} diff --git a/Mathlib/FieldTheory/Finite/GaloisField.lean b/Mathlib/FieldTheory/Finite/GaloisField.lean index 283d9c381a6e95..6e648559dc3962 100644 --- a/Mathlib/FieldTheory/Finite/GaloisField.lean +++ b/Mathlib/FieldTheory/Finite/GaloisField.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Alex J. Best, Johan Commelin, Eric Rodriguez, Ruben Van de Velde -/ -import Mathlib.Algebra.Algebra.ZMod -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.RingTheory.Norm.Transitivity +module + +public import Mathlib.Algebra.Algebra.ZMod +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.RingTheory.Norm.Transitivity /-! # Galois fields @@ -27,6 +29,8 @@ It is a finite field with `p ^ n` elements. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/FieldTheory/Finite/Polynomial.lean b/Mathlib/FieldTheory/Finite/Polynomial.lean index dbd95225f9335f..394908f86021e9 100644 --- a/Mathlib/FieldTheory/Finite/Polynomial.lean +++ b/Mathlib/FieldTheory/Finite/Polynomial.lean @@ -3,16 +3,20 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Expand -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.RingTheory.MvPolynomial.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Expand +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.RingTheory.MvPolynomial.Basic /-! ## Polynomials over finite fields -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/FieldTheory/Finite/Trace.lean b/Mathlib/FieldTheory/Finite/Trace.lean index b97fede0e4c818..116309a4e23912 100644 --- a/Mathlib/FieldTheory/Finite/Trace.lean +++ b/Mathlib/FieldTheory/Finite/Trace.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.RingTheory.Trace.Basic -import Mathlib.FieldTheory.Finite.GaloisField +module + +public import Mathlib.RingTheory.Trace.Basic +public import Mathlib.FieldTheory.Finite.GaloisField /-! # The trace and norm maps for finite fields @@ -24,6 +26,8 @@ We state several lemmas about the trace and norm maps for finite fields. finite field, trace, norm -/ +@[expose] public section + namespace FiniteField diff --git a/Mathlib/FieldTheory/Finiteness.lean b/Mathlib/FieldTheory/Finiteness.lean index e0022c359f4a07..963c0424cdc7d7 100644 --- a/Mathlib/FieldTheory/Finiteness.lean +++ b/Mathlib/FieldTheory/Finiteness.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.Finite +module + +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.Finite /-! # A module over a division ring is Noetherian if and only if it is finite. -/ +@[expose] public section + universe u v diff --git a/Mathlib/FieldTheory/Fixed.lean b/Mathlib/FieldTheory/Fixed.lean index 9781e2305cdcb6..b9e71a79828a0e 100644 --- a/Mathlib/FieldTheory/Fixed.lean +++ b/Mathlib/FieldTheory/Fixed.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.GroupRingAction -import Mathlib.Algebra.Ring.Action.Field -import Mathlib.Algebra.Ring.Action.Invariant -import Mathlib.FieldTheory.Finiteness -import Mathlib.FieldTheory.Normal.Defs -import Mathlib.FieldTheory.Separable -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.Algebra.Polynomial.GroupRingAction +public import Mathlib.Algebra.Ring.Action.Field +public import Mathlib.Algebra.Ring.Action.Invariant +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.FieldTheory.Normal.Defs +public import Mathlib.FieldTheory.Separable +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # Fixed field under a group action. @@ -29,6 +31,8 @@ element of `G`, where `G` is a group that acts on `F`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/FieldTheory/Galois/Abelian.lean b/Mathlib/FieldTheory/Galois/Abelian.lean index 09f4cd6f53cce6..2e20d30b2b2f7d 100644 --- a/Mathlib/FieldTheory/Galois/Abelian.lean +++ b/Mathlib/FieldTheory/Galois/Abelian.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.FieldTheory.Galois.Infinite +module + +public import Mathlib.FieldTheory.Galois.Infinite /-! @@ -13,6 +15,8 @@ In this file, we define the typeclass of abelian extensions and provide some bas -/ +@[expose] public section + variable (K L M : Type*) [Field K] [Field L] [Algebra K L] variable [Field M] [Algebra K M] [Algebra L M] [IsScalarTower K L M] diff --git a/Mathlib/FieldTheory/Galois/Basic.lean b/Mathlib/FieldTheory/Galois/Basic.lean index b1fc1d1154eb8c..bfe01ff5fef676 100644 --- a/Mathlib/FieldTheory/Galois/Basic.lean +++ b/Mathlib/FieldTheory/Galois/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz, Yongle Hu, Jingting Wang -/ -import Mathlib.FieldTheory.Fixed -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.FieldTheory.PrimitiveElement -import Mathlib.GroupTheory.GroupAction.FixingSubgroup +module + +public import Mathlib.FieldTheory.Fixed +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.FieldTheory.PrimitiveElement +public import Mathlib.GroupTheory.GroupAction.FixingSubgroup /-! # Galois Extensions @@ -38,6 +40,8 @@ Together, these two results prove the Galois correspondence. -/ +@[expose] public section + open scoped Polynomial IntermediateField diff --git a/Mathlib/FieldTheory/Galois/GaloisClosure.lean b/Mathlib/FieldTheory/Galois/GaloisClosure.lean index 2acdc2df319203..57915d77ceeaf1 100644 --- a/Mathlib/FieldTheory/Galois/GaloisClosure.lean +++ b/Mathlib/FieldTheory/Galois/GaloisClosure.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Yuyang Zhao -/ +module -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.FieldTheory.SeparableClosure +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.FieldTheory.SeparableClosure /-! @@ -25,6 +26,8 @@ In a field extension `K/k` -/ +@[expose] public section + open IntermediateField variable (k K : Type*) [Field k] [Field K] [Algebra k K] diff --git a/Mathlib/FieldTheory/Galois/Infinite.lean b/Mathlib/FieldTheory/Galois/Infinite.lean index 47f97b65978e7e..428f14d984bfe3 100644 --- a/Mathlib/FieldTheory/Galois/Infinite.lean +++ b/Mathlib/FieldTheory/Galois/Infinite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ -import Mathlib.FieldTheory.KrullTopology -import Mathlib.FieldTheory.Galois.GaloisClosure -import Mathlib.Topology.Algebra.Group.ClosedSubgroup +module + +public import Mathlib.FieldTheory.KrullTopology +public import Mathlib.FieldTheory.Galois.GaloisClosure +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup /-! # The Fundamental Theorem of Infinite Galois Theory @@ -48,6 +50,8 @@ Special cases : -/ +@[expose] public section + variable {k K : Type*} [Field k] [Field K] [Algebra k K] namespace InfiniteGalois diff --git a/Mathlib/FieldTheory/Galois/IsGaloisGroup.lean b/Mathlib/FieldTheory/Galois/IsGaloisGroup.lean index 05e8df14b9afcf..b98ece7362eedc 100644 --- a/Mathlib/FieldTheory/Galois/IsGaloisGroup.lean +++ b/Mathlib/FieldTheory/Galois/IsGaloisGroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.RingTheory.Invariant.Defs +module + +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.RingTheory.Invariant.Defs /-! # Predicate for Galois Groups @@ -14,6 +16,8 @@ Given an action of a group `G` on an extension of fields `L/K`, we introduce a p we do not assume that `L` is an algebraic extension of `K`. -/ +@[expose] public section + variable (G H K L : Type*) [Group G] [Group H] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [MulSemiringAction H L] diff --git a/Mathlib/FieldTheory/Galois/NormalBasis.lean b/Mathlib/FieldTheory/Galois/NormalBasis.lean index 67755d2457bc78..584d20734e802d 100644 --- a/Mathlib/FieldTheory/Galois/NormalBasis.lean +++ b/Mathlib/FieldTheory/Galois/NormalBasis.lean @@ -3,13 +3,15 @@ Copyright (c) 2025 Madison Crim, Aaron Liu, Justus Springer, Junyan Xu. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Madison Crim, Aaron Liu, Justus Springer, Junyan Xu -/ -import Mathlib.Algebra.Module.PID -import Mathlib.Algebra.MvPolynomial.Funext -import Mathlib.Algebra.Polynomial.Module.AEval -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.LinearAlgebra.AnnihilatingPolynomial -import Mathlib.LinearAlgebra.Matrix.Nondegenerate +module + +public import Mathlib.Algebra.Module.PID +public import Mathlib.Algebra.MvPolynomial.Funext +public import Mathlib.Algebra.Polynomial.Module.AEval +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.LinearAlgebra.AnnihilatingPolynomial +public import Mathlib.LinearAlgebra.Matrix.Nondegenerate /-! # The normal basis theorem @@ -21,6 +23,8 @@ The proof follows [ConradLinearChar] Keith Conrad, *Linear Independence of Chara -/ +@[expose] public section + variable (K L : Type*) [Field K] [Field L] [Algebra K L] open Polynomial FiniteField Module Submodule LinearMap in diff --git a/Mathlib/FieldTheory/Galois/Notation.lean b/Mathlib/FieldTheory/Galois/Notation.lean index 00f454259cc715..f001b378c0ed24 100644 --- a/Mathlib/FieldTheory/Galois/Notation.lean +++ b/Mathlib/FieldTheory/Galois/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Algebra.Equiv -import Lean.PrettyPrinter.Delaborator.Basic +module + +public import Mathlib.Algebra.Algebra.Equiv +public import Lean.PrettyPrinter.Delaborator.Basic /-! # Notation for Galois group @@ -16,6 +18,8 @@ Although this notation works for all automorphism groups of algebras, we should notation when `L/K` is an extension of fields. -/ +@[expose] public section + section Notation /-- @@ -33,7 +37,7 @@ macro "Gal(" L:term:100 "/" K:term ")" : term => `($L ≃ₐ[$K] $L) open Lean PrettyPrinter.Delaborator SubExpr in /-- Pretty printer for the `Gal(L/K)` notation. -/ @[app_delab AlgEquiv] -partial def delabGal : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do +meta def delabGal : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do -- After Lean 4.19 the pretty printer clears local instances, so we re-add them here. -- TODO: remove this once the behavior changes. -- See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Bug.3F.20Local.20instances.20not.20populated.20during.20delaboration/with/544850819). diff --git a/Mathlib/FieldTheory/Galois/Profinite.lean b/Mathlib/FieldTheory/Galois/Profinite.lean index 64f7c045efb48b..863330712f135f 100644 --- a/Mathlib/FieldTheory/Galois/Profinite.lean +++ b/Mathlib/FieldTheory/Galois/Profinite.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Yuyang Zhao, Jujian Zhang -/ +module -import Mathlib.FieldTheory.KrullTopology -import Mathlib.FieldTheory.Galois.GaloisClosure -import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic +public import Mathlib.FieldTheory.KrullTopology +public import Mathlib.FieldTheory.Galois.GaloisClosure +public import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic /-! @@ -52,6 +53,8 @@ In a field extension `K/k` -/ +@[expose] public section + open CategoryTheory Opposite variable {k K : Type*} [Field k] [Field K] [Algebra k K] diff --git a/Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean b/Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean index 01b03eaa9a13ea..f66d68b4a63f50 100644 --- a/Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean +++ b/Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.FieldTheory.Finiteness -import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs -import Mathlib.FieldTheory.IntermediateField.Algebraic +module + +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs +public import Mathlib.FieldTheory.IntermediateField.Algebraic /-! # Adjoining Elements to Fields @@ -13,6 +15,8 @@ import Mathlib.FieldTheory.IntermediateField.Algebraic This file relates `IntermediateField.adjoin` to `Algebra.adjoin`. -/ +@[expose] public section + open Module Polynomial namespace IntermediateField diff --git a/Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean b/Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean index 269c097ed74818..a7bbf2eb10858d 100644 --- a/Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean +++ b/Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.Algebra.Algebra.Subalgebra.Directed -import Mathlib.Algebra.Algebra.Subalgebra.IsSimpleOrder -import Mathlib.FieldTheory.Separable -import Mathlib.FieldTheory.SplittingField.IsSplittingField -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.RingTheory.Adjoin.Dimension -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Directed +public import Mathlib.Algebra.Algebra.Subalgebra.IsSimpleOrder +public import Mathlib.FieldTheory.Separable +public import Mathlib.FieldTheory.SplittingField.IsSplittingField +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.RingTheory.Adjoin.Dimension +public import Mathlib.RingTheory.TensorProduct.Finite /-! # Adjoining Elements to Fields @@ -17,6 +19,8 @@ import Mathlib.RingTheory.TensorProduct.Finite This file contains many results about adjoining elements to fields. -/ +@[expose] public section + open Module Polynomial namespace IntermediateField diff --git a/Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean b/Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean index ae966c7386f5e9..184b2614577694 100644 --- a/Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean +++ b/Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.FieldTheory.IntermediateField.Basic +module + +public import Mathlib.FieldTheory.IntermediateField.Basic /-! # Adjoining Elements to Fields @@ -17,6 +19,8 @@ For example, `Algebra.adjoin K {x}` might not include `x⁻¹`. - `F⟮α⟯`: adjoin a single element `α` to `F` (in scope `IntermediateField`). -/ +@[expose] public section + open Module Polynomial namespace IntermediateField @@ -497,7 +501,7 @@ end open Lean in /-- Supporting function for the `F⟮x₁,x₂,...,xₙ⟯` adjunction notation. -/ -private partial def mkInsertTerm {m : Type → Type} [Monad m] [MonadQuotation m] +private meta def mkInsertTerm {m : Type → Type} [Monad m] [MonadQuotation m] (xs : TSyntaxArray `term) : m Term := run 0 where run (i : Nat) : m Term := do if h : i + 1 = xs.size then @@ -513,7 +517,7 @@ scoped macro:max K:term "⟮" xs:term,* "⟯" : term => do ``(adjoin $K $(← mk open Lean PrettyPrinter.Delaborator SubExpr in @[app_delab IntermediateField.adjoin] -partial def delabAdjoinNotation : Delab := whenPPOption getPPNotation do +meta def delabAdjoinNotation : Delab := whenPPOption getPPNotation do let e ← getExpr guard <| e.isAppOfArity ``adjoin 6 let F ← withNaryArg 0 delab diff --git a/Mathlib/FieldTheory/IntermediateField/Algebraic.lean b/Mathlib/FieldTheory/IntermediateField/Algebraic.lean index 930597bd85cf48..b91cb341f7b8fa 100644 --- a/Mathlib/FieldTheory/IntermediateField/Algebraic.lean +++ b/Mathlib/FieldTheory/IntermediateField/Algebraic.lean @@ -3,16 +3,20 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.FieldTheory.IntermediateField.Basic -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.FieldTheory.Tower -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.RingTheory.Algebraic.Integral +module + +public import Mathlib.FieldTheory.IntermediateField.Basic +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.FieldTheory.Tower +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.RingTheory.Algebraic.Integral /-! # Results on finite dimensionality and algebraicity of intermediate fields. -/ +@[expose] public section + open Module variable {K L : Type*} [Field K] [Field L] [Algebra K L] diff --git a/Mathlib/FieldTheory/IntermediateField/Basic.lean b/Mathlib/FieldTheory/IntermediateField/Basic.lean index 2ff7efcb7fdef1..687faa0c33e837 100644 --- a/Mathlib/FieldTheory/IntermediateField/Basic.lean +++ b/Mathlib/FieldTheory/IntermediateField/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.Field.Subfield.Basic -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.RingTheory.LocalRing.Basic +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.Field.Subfield.Basic +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.RingTheory.LocalRing.Basic /-! # Intermediate fields @@ -37,6 +39,8 @@ A `Subalgebra` is closed under all operations except `⁻¹`, intermediate field, field extension -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean b/Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean index 1205fd25f10772..9468d3d1bdd7ab 100644 --- a/Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean +++ b/Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.Data.Multiset.Fintype -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.FieldTheory.SplittingField.Construction +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.Data.Multiset.Fintype +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.FieldTheory.SplittingField.Construction /-! # Algebraic Closure @@ -27,6 +29,8 @@ In this file we construct the algebraic closure of a field algebraic closure, algebraically closed -/ +@[expose] public section + universe u v w noncomputable section diff --git a/Mathlib/FieldTheory/IsAlgClosed/Basic.lean b/Mathlib/FieldTheory/IsAlgClosed/Basic.lean index e327ea186293d5..7ac79753ec04bb 100644 --- a/Mathlib/FieldTheory/IsAlgClosed/Basic.lean +++ b/Mathlib/FieldTheory/IsAlgClosed/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.FieldTheory.Extension -import Mathlib.FieldTheory.Normal.Defs -import Mathlib.FieldTheory.Perfect -import Mathlib.RingTheory.Localization.Integral +module + +public import Mathlib.FieldTheory.Extension +public import Mathlib.FieldTheory.Normal.Defs +public import Mathlib.FieldTheory.Perfect +public import Mathlib.RingTheory.Localization.Integral /-! # Algebraically Closed Field @@ -44,6 +46,8 @@ algebraic closure, algebraically closed -/ +@[expose] public section + universe u v w open Polynomial diff --git a/Mathlib/FieldTheory/IsAlgClosed/Classification.lean b/Mathlib/FieldTheory/IsAlgClosed/Classification.lean index da0f5e894670d1..f68f24028abb3f 100644 --- a/Mathlib/FieldTheory/IsAlgClosed/Classification.lean +++ b/Mathlib/FieldTheory/IsAlgClosed/Classification.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Algebra.ZMod -import Mathlib.Algebra.Field.ZMod -import Mathlib.Algebra.MvPolynomial.Cardinal -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.RingTheory.Algebraic.Cardinality -import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis +module + +public import Mathlib.Algebra.Algebra.ZMod +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.Algebra.MvPolynomial.Cardinal +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.RingTheory.Algebraic.Cardinality +public import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis /-! # Classification of Algebraically closed fields @@ -23,6 +25,8 @@ This file contains results related to classifying algebraically closed fields. are isomorphic if they have the same characteristic and the same cardinality. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean b/Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean index 7f55a12bb9690c..035153d2f61387 100644 --- a/Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean +++ b/Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum -import Mathlib.FieldTheory.IsAlgClosed.Basic +module + +public import Mathlib.Algebra.Algebra.Spectrum.Quasispectrum +public import Mathlib.FieldTheory.IsAlgClosed.Basic /-! # Spectrum mapping theorem @@ -33,6 +35,8 @@ eigenvalue. * `σ a` : `spectrum R a` of `a : A` -/ +@[expose] public section + namespace spectrum open Set Polynomial diff --git a/Mathlib/FieldTheory/IsPerfectClosure.lean b/Mathlib/FieldTheory/IsPerfectClosure.lean index d30a9c43625757..c6693c2de56a75 100644 --- a/Mathlib/FieldTheory/IsPerfectClosure.lean +++ b/Mathlib/FieldTheory/IsPerfectClosure.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.FieldTheory.PerfectClosure +module + +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.FieldTheory.PerfectClosure /-! @@ -60,6 +62,8 @@ perfect ring, perfect closure, purely inseparable -/ +@[expose] public section + open Module Polynomial IntermediateField Field noncomputable section diff --git a/Mathlib/FieldTheory/IsSepClosed.lean b/Mathlib/FieldTheory/IsSepClosed.lean index ec1df51d9dcef3..66d47ad19d3b7f 100644 --- a/Mathlib/FieldTheory/IsSepClosed.lean +++ b/Mathlib/FieldTheory/IsSepClosed.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.Galois.Basic +module + +public import Mathlib.FieldTheory.Galois.Basic /-! # Separably Closed Field @@ -47,6 +49,8 @@ separable closure, separably closed -/ +@[expose] public section + universe u v w open Polynomial diff --git a/Mathlib/FieldTheory/Isaacs.lean b/Mathlib/FieldTheory/Isaacs.lean index a5f3fdb5637b15..a7d5aeacec17d5 100644 --- a/Mathlib/FieldTheory/Isaacs.lean +++ b/Mathlib/FieldTheory/Isaacs.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.FieldTheory.Normal.Basic -import Mathlib.FieldTheory.PrimitiveElement -import Mathlib.GroupTheory.CosetCover +module + +public import Mathlib.FieldTheory.Normal.Basic +public import Mathlib.FieldTheory.PrimitiveElement +public import Mathlib.GroupTheory.CosetCover /-! # Algebraic extensions are determined by their sets of minimal polynomials up to isomorphism @@ -27,6 +29,8 @@ The American Mathematical Monthly -/ +@[expose] public section + namespace Field open Polynomial IntermediateField diff --git a/Mathlib/FieldTheory/JacobsonNoether.lean b/Mathlib/FieldTheory/JacobsonNoether.lean index 4b696fec09af28..a148b1a90ab8f9 100644 --- a/Mathlib/FieldTheory/JacobsonNoether.lean +++ b/Mathlib/FieldTheory/JacobsonNoether.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 F. Nuccio, H. Zheng, W. He, S. Wu, Y. Yuan, W. Jiao. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Filippo A. E. Nuccio, Huanyu Zheng, Sihan Wu, Wanyi He, Weichen Jiao, Yi Yuan -/ -import Mathlib.Algebra.Central.Defs -import Mathlib.Algebra.CharP.LinearMaps -import Mathlib.Algebra.CharP.Subring -import Mathlib.Algebra.GroupWithZero.Conj -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.FieldTheory.PurelyInseparable.Basic +module + +public import Mathlib.Algebra.Central.Defs +public import Mathlib.Algebra.CharP.LinearMaps +public import Mathlib.Algebra.CharP.Subring +public import Mathlib.Algebra.GroupWithZero.Conj +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.FieldTheory.PurelyInseparable.Basic /-! # The Jacobson-Noether theorem @@ -46,6 +48,8 @@ separate variables constrained by certain relations. * -/ +@[expose] public section + namespace JacobsonNoether variable {D : Type*} [DivisionRing D] [Algebra.IsAlgebraic (Subring.center D) D] diff --git a/Mathlib/FieldTheory/KrullTopology.lean b/Mathlib/FieldTheory/KrullTopology.lean index 02f861fe73385e..02c9a8036772e4 100644 --- a/Mathlib/FieldTheory/KrullTopology.lean +++ b/Mathlib/FieldTheory/KrullTopology.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Sebastian Monnet. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Monnet -/ -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.OpenSubgroup +module + +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.OpenSubgroup /-! # Krull topology @@ -55,6 +57,8 @@ all intermediate fields `E` with `E/K` finite dimensional. - `krullTopology K L` is defined as an instance for type class inference. -/ +@[expose] public section + open scoped Pointwise /-- Given a field extension `L/K`, `finiteExts K L` is the set of diff --git a/Mathlib/FieldTheory/KummerExtension.lean b/Mathlib/FieldTheory/KummerExtension.lean index 33a08e6e1ca52b..8d3b71dd3d9c5f 100644 --- a/Mathlib/FieldTheory/KummerExtension.lean +++ b/Mathlib/FieldTheory/KummerExtension.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Andrew Yang, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.FieldTheory.KummerPolynomial -import Mathlib.LinearAlgebra.Eigenspace.Minpoly -import Mathlib.RingTheory.Norm.Basic +module + +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.FieldTheory.KummerPolynomial +public import Mathlib.LinearAlgebra.Eigenspace.Minpoly +public import Mathlib.RingTheory.Norm.Basic /-! # Kummer Extensions @@ -42,6 +44,8 @@ TODO: criteria for even `n`. See [serge_lang_algebra] VI,§9. TODO: relate Kummer extensions of degree 2 with the class `Algebra.IsQuadraticExtension`. -/ + +@[expose] public section universe u variable {K : Type u} [Field K] diff --git a/Mathlib/FieldTheory/KummerPolynomial.lean b/Mathlib/FieldTheory/KummerPolynomial.lean index 90bc67706fe48c..30f9b324bc6e8c 100644 --- a/Mathlib/FieldTheory/KummerPolynomial.lean +++ b/Mathlib/FieldTheory/KummerPolynomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Andrew Yang, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.RingTheory.Norm.Defs +module + +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.RingTheory.Norm.Defs /-! # Irreducibility of X ^ p - a @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Norm.Defs `-4` is not a 4th power. -/ + +@[expose] public section universe u variable {K : Type u} [Field K] diff --git a/Mathlib/FieldTheory/Laurent.lean b/Mathlib/FieldTheory/Laurent.lean index 5aa467b32d5025..f1b9411c0aa56e 100644 --- a/Mathlib/FieldTheory/Laurent.lean +++ b/Mathlib/FieldTheory/Laurent.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Polynomial.Taylor -import Mathlib.FieldTheory.RatFunc.AsPolynomial +module + +public import Mathlib.Algebra.Polynomial.Taylor +public import Mathlib.FieldTheory.RatFunc.AsPolynomial /-! # Laurent expansions of rational functions @@ -21,6 +23,8 @@ An auxiliary definition is provided first to make the construction of the `AlgHo which works on `CommRing` which are not necessarily domains. -/ +@[expose] public section + universe u diff --git a/Mathlib/FieldTheory/LinearDisjoint.lean b/Mathlib/FieldTheory/LinearDisjoint.lean index ac9de803f11dfc..ecc0bf62cdef1b 100644 --- a/Mathlib/FieldTheory/LinearDisjoint.lean +++ b/Mathlib/FieldTheory/LinearDisjoint.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.RingTheory.AlgebraicIndependent.RankAndCardinality -import Mathlib.RingTheory.LinearDisjoint +module + +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.RingTheory.AlgebraicIndependent.RankAndCardinality +public import Mathlib.RingTheory.LinearDisjoint /-! @@ -131,6 +133,8 @@ linearly disjoint, linearly independent, tensor product -/ +@[expose] public section + open scoped TensorProduct open Module IntermediateField diff --git a/Mathlib/FieldTheory/Minpoly/Basic.lean b/Mathlib/FieldTheory/Minpoly/Basic.lean index d389e77d67306e..575c9e262250c5 100644 --- a/Mathlib/FieldTheory/Minpoly/Basic.lean +++ b/Mathlib/FieldTheory/Minpoly/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johan Commelin -/ -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +module + +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic /-! # Minimal polynomials @@ -14,6 +16,8 @@ such as irreducibility under the assumption `B` is a domain. -/ +@[expose] public section + open Polynomial Set Function diff --git a/Mathlib/FieldTheory/Minpoly/ConjRootClass.lean b/Mathlib/FieldTheory/Minpoly/ConjRootClass.lean index a1f5665fa11d99..9f033535a59ad5 100644 --- a/Mathlib/FieldTheory/Minpoly/ConjRootClass.lean +++ b/Mathlib/FieldTheory/Minpoly/ConjRootClass.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.FieldTheory.Minpoly.IsConjRoot +module + +public import Mathlib.FieldTheory.Minpoly.IsConjRoot /-! # Conjugate root classes @@ -12,6 +14,8 @@ In this file, we define the `ConjRootClass` of a field extension `L / K` as the the relation `IsConjRoot K`. -/ +@[expose] public section + variable (K L S : Type*) [Field K] [Field L] [Field S] variable [Algebra K L] [Algebra K S] [Algebra L S] [IsScalarTower K L S] diff --git a/Mathlib/FieldTheory/Minpoly/Field.lean b/Mathlib/FieldTheory/Minpoly/Field.lean index 99beba40d749a3..b45016456c628a 100644 --- a/Mathlib/FieldTheory/Minpoly/Field.lean +++ b/Mathlib/FieldTheory/Minpoly/Field.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Johan Commelin -/ -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.Algebra.Polynomial.Lifts -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.RingTheory.Algebraic.Integral -import Mathlib.RingTheory.LocalRing.Basic +module + +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.Algebra.Polynomial.Lifts +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.RingTheory.Algebraic.Integral +public import Mathlib.RingTheory.LocalRing.Basic /-! # Minimal polynomials on an algebra over a field @@ -18,6 +20,8 @@ are irreducible, and uniquely determined by their defining property. -/ +@[expose] public section + open Polynomial Set Function minpoly diff --git a/Mathlib/FieldTheory/Minpoly/IsConjRoot.lean b/Mathlib/FieldTheory/Minpoly/IsConjRoot.lean index 1968e6f54a55ad..82dd0bdb02532d 100644 --- a/Mathlib/FieldTheory/Minpoly/IsConjRoot.lean +++ b/Mathlib/FieldTheory/Minpoly/IsConjRoot.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang -/ -import Mathlib.FieldTheory.Extension -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.FieldTheory.Normal.Defs +module + +public import Mathlib.FieldTheory.Extension +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.FieldTheory.Normal.Defs /-! # Conjugate roots @@ -36,6 +38,8 @@ over `K` if they have the same minimal polynomial over `K`. conjugate root, minimal polynomial -/ +@[expose] public section + open Polynomial minpoly IntermediateField diff --git a/Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean b/Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean index 5127d9da999afe..012f286acbcce4 100644 --- a/Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean +++ b/Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Paul Lezeau, Junyan Xu -/ -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.RingTheory.Polynomial.GaussLemma +module + +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.RingTheory.Polynomial.GaussLemma /-! # Minimal polynomials over a GCD monoid @@ -26,6 +28,8 @@ This file specializes the theory of minpoly to the case of an algebra over a GCD -/ +@[expose] public section + open Polynomial Set Function minpoly namespace minpoly diff --git a/Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean b/Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean index faeeabafc24281..c43a97839ee988 100644 --- a/Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean +++ b/Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed -import Mathlib.FieldTheory.PrimitiveElement -import Mathlib.FieldTheory.IsAlgClosed.Basic +module + +public import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed +public import Mathlib.FieldTheory.PrimitiveElement +public import Mathlib.FieldTheory.IsAlgClosed.Basic /-! # Results about `minpoly R x / (X - C x)` @@ -20,6 +22,8 @@ See `traceForm_dualBasis_powerBasis_eq`. - `span_coeff_minpolyDiv`: The coefficients of `minpolyDiv` spans `R`. -/ +@[expose] public section + open Polynomial Module variable (R K) {L S} [CommRing R] [Field K] [Field L] [CommRing S] [Algebra R S] [Algebra K L] diff --git a/Mathlib/FieldTheory/MvRatFunc/Rank.lean b/Mathlib/FieldTheory/MvRatFunc/Rank.lean index 8843b5d78d6fc2..feec2dec7566d4 100644 --- a/Mathlib/FieldTheory/MvRatFunc/Rank.lean +++ b/Mathlib/FieldTheory/MvRatFunc/Rank.lean @@ -3,16 +3,20 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.MvPolynomial.Cardinal -import Mathlib.RingTheory.Algebraic.LinearIndependent -import Mathlib.RingTheory.Algebraic.MvPolynomial -import Mathlib.RingTheory.Localization.Cardinality -import Mathlib.RingTheory.MvPolynomial +module + +public import Mathlib.Algebra.MvPolynomial.Cardinal +public import Mathlib.RingTheory.Algebraic.LinearIndependent +public import Mathlib.RingTheory.Algebraic.MvPolynomial +public import Mathlib.RingTheory.Localization.Cardinality +public import Mathlib.RingTheory.MvPolynomial /-! # Rank of multivariate rational function field -/ +@[expose] public section + noncomputable section universe u v diff --git a/Mathlib/FieldTheory/Normal/Basic.lean b/Mathlib/FieldTheory/Normal/Basic.lean index 430110ef46e197..4086957cc34942 100644 --- a/Mathlib/FieldTheory/Normal/Basic.lean +++ b/Mathlib/FieldTheory/Normal/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Thomas Browning, Patrick Lutz -/ -import Mathlib.FieldTheory.Extension -import Mathlib.FieldTheory.Normal.Defs -import Mathlib.GroupTheory.Solvable -import Mathlib.FieldTheory.SplittingField.Construction +module + +public import Mathlib.FieldTheory.Extension +public import Mathlib.FieldTheory.Normal.Defs +public import Mathlib.GroupTheory.Solvable +public import Mathlib.FieldTheory.SplittingField.Construction /-! # Normal field extensions @@ -22,6 +24,8 @@ is the same as being a splitting field (`Normal.of_isSplittingField` and -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/FieldTheory/Normal/Closure.lean b/Mathlib/FieldTheory/Normal/Closure.lean index 1f0b94154fb43f..203e9e69bfa49f 100644 --- a/Mathlib/FieldTheory/Normal/Closure.lean +++ b/Mathlib/FieldTheory/Normal/Closure.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ +module -import Mathlib.RingTheory.SimpleRing.Basic -import Mathlib.FieldTheory.Normal.Basic -import Mathlib.Order.Closure -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +public import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.FieldTheory.Normal.Basic +public import Mathlib.Order.Closure +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # Normal closures @@ -26,6 +27,8 @@ abovementioned splitting condition, in particular if `L/K/F` form a tower and `L/F` is normal. -/ +@[expose] public section + open IntermediateField IsScalarTower Polynomial variable (F K L : Type*) [Field F] [Field K] [Field L] [Algebra F K] [Algebra F L] diff --git a/Mathlib/FieldTheory/Normal/Defs.lean b/Mathlib/FieldTheory/Normal/Defs.lean index c051e69d393213..9e5c53dfaa69a0 100644 --- a/Mathlib/FieldTheory/Normal/Defs.lean +++ b/Mathlib/FieldTheory/Normal/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Thomas Browning, Patrick Lutz -/ -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.FieldTheory.Galois.Notation -import Mathlib.FieldTheory.IntermediateField.Basic -import Mathlib.FieldTheory.Minpoly.Field +module + +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.FieldTheory.Galois.Notation +public import Mathlib.FieldTheory.IntermediateField.Basic +public import Mathlib.FieldTheory.Minpoly.Field /-! # Normal field extensions @@ -18,6 +20,8 @@ In this file we define normal field extensions. - `Normal F K` where `K` is a field extension of `F`. -/ +@[expose] public section + noncomputable section open Polynomial IsScalarTower diff --git a/Mathlib/FieldTheory/NormalizedTrace.lean b/Mathlib/FieldTheory/NormalizedTrace.lean index 4c428b266a2f92..499b508488d30f 100644 --- a/Mathlib/FieldTheory/NormalizedTrace.lean +++ b/Mathlib/FieldTheory/NormalizedTrace.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Michal Staromiejski. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michal Staromiejski -/ -import Mathlib.RingTheory.Trace.Basic +module + +public import Mathlib.RingTheory.Trace.Basic /-! @@ -31,6 +33,8 @@ integral) extension of `F`. -/ +@[expose] public section + namespace Algebra variable (F K : Type*) [Field F] [Field K] [Algebra F K] diff --git a/Mathlib/FieldTheory/Perfect.lean b/Mathlib/FieldTheory/Perfect.lean index 4dc90a653ce074..196973f00a5fef 100644 --- a/Mathlib/FieldTheory/Perfect.lean +++ b/Mathlib/FieldTheory/Perfect.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.CharP.Reduced -import Mathlib.FieldTheory.KummerPolynomial -import Mathlib.FieldTheory.Separable +module + +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.CharP.Reduced +public import Mathlib.FieldTheory.KummerPolynomial +public import Mathlib.FieldTheory.Separable /-! @@ -33,6 +35,8 @@ prime characteristic. -/ +@[expose] public section + open Function Polynomial /-- A perfect ring of characteristic `p` (prime) in the sense of Serre. diff --git a/Mathlib/FieldTheory/PerfectClosure.lean b/Mathlib/FieldTheory/PerfectClosure.lean index 582654a21599c9..cc53591cacb5d4 100644 --- a/Mathlib/FieldTheory/PerfectClosure.lean +++ b/Mathlib/FieldTheory/PerfectClosure.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov -/ -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.FieldTheory.Perfect +module + +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.FieldTheory.Perfect /-! @@ -47,6 +49,8 @@ perfect ring, perfect closure -/ +@[expose] public section + universe u v open Function diff --git a/Mathlib/FieldTheory/PolynomialGaloisGroup.lean b/Mathlib/FieldTheory/PolynomialGaloisGroup.lean index bc7e94f885a5ef..d55cc59cca5606 100644 --- a/Mathlib/FieldTheory/PolynomialGaloisGroup.lean +++ b/Mathlib/FieldTheory/PolynomialGaloisGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.FieldTheory.Galois.Basic +module + +public import Mathlib.FieldTheory.Galois.Basic /-! # Galois Groups of Polynomials @@ -35,6 +37,8 @@ equals the number of real roots plus the number of roots not fixed by complex co -/ +@[expose] public section + assert_not_exists Real noncomputable section diff --git a/Mathlib/FieldTheory/PrimitiveElement.lean b/Mathlib/FieldTheory/PrimitiveElement.lean index 3bc63d3a3a580a..b8e6d1a75fde8f 100644 --- a/Mathlib/FieldTheory/PrimitiveElement.lean +++ b/Mathlib/FieldTheory/PrimitiveElement.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Thomas Browning, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Lutz -/ -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.FieldTheory.SplittingField.Construction -import Mathlib.RingTheory.IntegralDomain -import Mathlib.RingTheory.Polynomial.UniqueFactorization +module + +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.FieldTheory.SplittingField.Construction +public import Mathlib.RingTheory.IntegralDomain +public import Mathlib.RingTheory.Polynomial.UniqueFactorization /-! # Primitive Element Theorem @@ -37,6 +39,8 @@ exists_adjoin_simple_eq_top -/ +@[expose] public section + noncomputable section open Module Polynomial IntermediateField diff --git a/Mathlib/FieldTheory/PurelyInseparable/Basic.lean b/Mathlib/FieldTheory/PurelyInseparable/Basic.lean index d2f11c9f45a121..a758a0496e6521 100644 --- a/Mathlib/FieldTheory/PurelyInseparable/Basic.lean +++ b/Mathlib/FieldTheory/PurelyInseparable/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.CharP.IntermediateField -import Mathlib.FieldTheory.SeparableClosure +module + +public import Mathlib.Algebra.CharP.IntermediateField +public import Mathlib.FieldTheory.SeparableClosure /-! @@ -84,6 +86,8 @@ separable degree, degree, separable closure, purely inseparable -/ +@[expose] public section + open Module Polynomial IntermediateField Field noncomputable section diff --git a/Mathlib/FieldTheory/PurelyInseparable/Exponent.lean b/Mathlib/FieldTheory/PurelyInseparable/Exponent.lean index b363b51e6d46c4..56a83a22e7cd4c 100644 --- a/Mathlib/FieldTheory/PurelyInseparable/Exponent.lean +++ b/Mathlib/FieldTheory/PurelyInseparable/Exponent.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Michal Staromiejski. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michal Staromiejski -/ -import Mathlib.FieldTheory.PurelyInseparable.Basic +module + +public import Mathlib.FieldTheory.PurelyInseparable.Basic /-! @@ -36,6 +38,8 @@ purely inseparable -/ +@[expose] public section + namespace IsPurelyInseparable variable (F K L : Type*) diff --git a/Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean b/Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean index ab7a189d2f3664..0003d69e528d09 100644 --- a/Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean +++ b/Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.Algebra.CharP.IntermediateField -import Mathlib.FieldTheory.PurelyInseparable.Basic +module + +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.Algebra.CharP.IntermediateField +public import Mathlib.FieldTheory.PurelyInseparable.Basic /-! @@ -38,6 +40,8 @@ separable degree, degree, separable closure, purely inseparable -/ +@[expose] public section + open IntermediateField Module noncomputable section diff --git a/Mathlib/FieldTheory/PurelyInseparable/Tower.lean b/Mathlib/FieldTheory/PurelyInseparable/Tower.lean index 7c48323cae3aed..33947f2d96416b 100644 --- a/Mathlib/FieldTheory/PurelyInseparable/Tower.lean +++ b/Mathlib/FieldTheory/PurelyInseparable/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.LinearDisjoint -import Mathlib.FieldTheory.PurelyInseparable.PerfectClosure +module + +public import Mathlib.FieldTheory.LinearDisjoint +public import Mathlib.FieldTheory.PurelyInseparable.PerfectClosure /-! @@ -41,6 +43,8 @@ separable degree, degree, separable closure, purely inseparable -/ +@[expose] public section + open Polynomial IntermediateField Field noncomputable section diff --git a/Mathlib/FieldTheory/RatFunc/AsPolynomial.lean b/Mathlib/FieldTheory/RatFunc/AsPolynomial.lean index 64035d070c132b..5c26f244a3cd53 100644 --- a/Mathlib/FieldTheory/RatFunc/AsPolynomial.lean +++ b/Mathlib/FieldTheory/RatFunc/AsPolynomial.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.FieldTheory.RatFunc.Basic -import Mathlib.RingTheory.EuclideanDomain -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Polynomial.Content +module + +public import Mathlib.FieldTheory.RatFunc.Basic +public import Mathlib.RingTheory.EuclideanDomain +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Polynomial.Content /-! @@ -23,6 +25,8 @@ import Mathlib.RingTheory.Polynomial.Content regarded as an element of the height-one-spectrum. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/FieldTheory/RatFunc/Basic.lean b/Mathlib/FieldTheory/RatFunc/Basic.lean index 26a4b1a48d3d8c..a3d7b0b5f1cb04 100644 --- a/Mathlib/FieldTheory/RatFunc/Basic.lean +++ b/Mathlib/FieldTheory/RatFunc/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.FieldTheory.RatFunc.Defs -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.Algebraic.Integral +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.FieldTheory.RatFunc.Defs +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.Algebraic.Integral /-! # The field structure of rational functions @@ -45,6 +47,8 @@ with the same condition on retaining the non-zero-divisor property across the ma `[CommRing K] [IsDomain K] [CommRing R] [IsDomain R]` -/ +@[expose] public section + universe u v noncomputable section diff --git a/Mathlib/FieldTheory/RatFunc/Defs.lean b/Mathlib/FieldTheory/RatFunc/Defs.lean index 52f4a9e76a012a..e17728dfd63ab9 100644 --- a/Mathlib/FieldTheory/RatFunc/Defs.lean +++ b/Mathlib/FieldTheory/RatFunc/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Algebra.Ring.NonZeroDivisors -import Mathlib.RingTheory.Localization.FractionRing +module + +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Algebra.Ring.NonZeroDivisors +public import Mathlib.RingTheory.Localization.FractionRing /-! # The field of rational functions @@ -47,6 +49,8 @@ the codomain is not a field or even an integral domain. -/ +@[expose] public section + noncomputable section open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/FieldTheory/RatFunc/Degree.lean b/Mathlib/FieldTheory/RatFunc/Degree.lean index 363d9658f2f3f8..0dc47eae366099 100644 --- a/Mathlib/FieldTheory/RatFunc/Degree.lean +++ b/Mathlib/FieldTheory/RatFunc/Degree.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.FieldTheory.RatFunc.AsPolynomial -import Mathlib.RingTheory.EuclideanDomain -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Polynomial.Content +module + +public import Mathlib.FieldTheory.RatFunc.AsPolynomial +public import Mathlib.RingTheory.EuclideanDomain +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Polynomial.Content /-! # The degree of rational functions @@ -18,6 +20,8 @@ We define the degree of a rational function, with values in `ℤ`: `intDegree 0 = 0`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/FieldTheory/Relrank.lean b/Mathlib/FieldTheory/Relrank.lean index 64b48181b46bf9..5876ef15656240 100644 --- a/Mathlib/FieldTheory/Relrank.lean +++ b/Mathlib/FieldTheory/Relrank.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic /-! @@ -25,6 +27,8 @@ This file contains basics about the relative rank of subfields and intermediate -/ +@[expose] public section + open Module Cardinal universe u v w diff --git a/Mathlib/FieldTheory/Separable.lean b/Mathlib/FieldTheory/Separable.lean index 6f50319b058feb..aecece8cefeaa6 100644 --- a/Mathlib/FieldTheory/Separable.lean +++ b/Mathlib/FieldTheory/Separable.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.Algebra.Squarefree.Basic -import Mathlib.FieldTheory.IntermediateField.Basic -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.PowerBasis -import Mathlib.Data.ENat.Lattice +module + +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.Algebra.Squarefree.Basic +public import Mathlib.FieldTheory.IntermediateField.Basic +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.PowerBasis +public import Mathlib.Data.ENat.Lattice /-! @@ -29,6 +31,8 @@ properties about separable polynomials here. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/FieldTheory/SeparableClosure.lean b/Mathlib/FieldTheory/SeparableClosure.lean index 6019bf641d9491..981644594f8228 100644 --- a/Mathlib/FieldTheory/SeparableClosure.lean +++ b/Mathlib/FieldTheory/SeparableClosure.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.SeparableDegree -import Mathlib.FieldTheory.IsSepClosed +module + +public import Mathlib.FieldTheory.SeparableDegree +public import Mathlib.FieldTheory.IsSepClosed /-! @@ -59,6 +61,8 @@ separable degree, degree, separable closure -/ +@[expose] public section + open Module Polynomial IntermediateField Field noncomputable section diff --git a/Mathlib/FieldTheory/SeparableDegree.lean b/Mathlib/FieldTheory/SeparableDegree.lean index f673586f3f6706..b94a0e866a8d61 100644 --- a/Mathlib/FieldTheory/SeparableDegree.lean +++ b/Mathlib/FieldTheory/SeparableDegree.lean @@ -3,14 +3,16 @@ Copyright (c) 2023 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.FieldTheory.SplittingField.Construction -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.FieldTheory.Separable -import Mathlib.FieldTheory.Normal.Closure -import Mathlib.RingTheory.AlgebraicIndependent.Adjoin -import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis -import Mathlib.RingTheory.Polynomial.SeparableDegree -import Mathlib.RingTheory.Polynomial.UniqueFactorization +module + +public import Mathlib.FieldTheory.SplittingField.Construction +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.FieldTheory.Separable +public import Mathlib.FieldTheory.Normal.Closure +public import Mathlib.RingTheory.AlgebraicIndependent.Adjoin +public import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis +public import Mathlib.RingTheory.Polynomial.SeparableDegree +public import Mathlib.RingTheory.Polynomial.UniqueFactorization /-! @@ -118,6 +120,8 @@ separable degree, degree, polynomial -/ +@[expose] public section + open Module Polynomial IntermediateField Field noncomputable section diff --git a/Mathlib/FieldTheory/SplittingField/Construction.lean b/Mathlib/FieldTheory/SplittingField/Construction.lean index e9f9230d00a148..4e90e52c8cab5c 100644 --- a/Mathlib/FieldTheory/SplittingField/Construction.lean +++ b/Mathlib/FieldTheory/SplittingField/Construction.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.FieldTheory.SplittingField.IsSplittingField -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.RingTheory.Algebraic.Basic +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.FieldTheory.SplittingField.IsSplittingField +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.RingTheory.Algebraic.Basic /-! # Splitting fields @@ -30,6 +32,8 @@ actual `SplittingField` will be a quotient of a `MvPolynomial`, it has nice inst -/ +@[expose] public section + noncomputable section universe u v w diff --git a/Mathlib/FieldTheory/SplittingField/IsSplittingField.lean b/Mathlib/FieldTheory/SplittingField/IsSplittingField.lean index ead1c7c9666551..c4fd5b8710be1b 100644 --- a/Mathlib/FieldTheory/SplittingField/IsSplittingField.lean +++ b/Mathlib/FieldTheory/SplittingField/IsSplittingField.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.RingTheory.Adjoin.Field +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.RingTheory.Adjoin.Field /-! # Splitting fields @@ -28,6 +30,8 @@ if it is the smallest field extension of `K` such that `f` splits. -/ +@[expose] public section + noncomputable section universe u v w diff --git a/Mathlib/FieldTheory/Tower.lean b/Mathlib/FieldTheory/Tower.lean index 59cdb775f2ec47..ef66e6893ef5d6 100644 --- a/Mathlib/FieldTheory/Tower.lean +++ b/Mathlib/FieldTheory/Tower.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.RingTheory.Noetherian.Basic /-! # Finiteness of `IsScalarTower` @@ -22,6 +24,8 @@ tower law -/ +@[expose] public section + universe u v w u₁ v₁ w₁ diff --git a/Mathlib/Geometry/Convex/Cone/Basic.lean b/Mathlib/Geometry/Convex/Cone/Basic.lean index 0229367b048801..264a1dbe3adb26 100644 --- a/Mathlib/Geometry/Convex/Cone/Basic.lean +++ b/Mathlib/Geometry/Convex/Cone/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Frédéric Dupuis -/ -import Mathlib.Analysis.Convex.Hull +module + +public import Mathlib.Analysis.Convex.Hull /-! # Convex cones @@ -36,6 +38,8 @@ While `Convex R` is a predicate on sets, `ConvexCone R M` is a bundled convex co * [Emo Welzl and Bernd Gärtner, *Cone Programming*][welzl_garter] -/ +@[expose] public section + assert_not_exists TopologicalSpace Real Cardinal open Set LinearMap Pointwise diff --git a/Mathlib/Geometry/Convex/Cone/Dual.lean b/Mathlib/Geometry/Convex/Cone/Dual.lean index 66c902bf2ddf33..2bcbd743acbd8e 100644 --- a/Mathlib/Geometry/Convex/Cone/Dual.lean +++ b/Mathlib/Geometry/Convex/Cone/Dual.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Module.Submodule.Pointwise -import Mathlib.Geometry.Convex.Cone.Pointed +module + +public import Mathlib.Algebra.Module.Submodule.Pointwise +public import Mathlib.Geometry.Convex.Cone.Pointed /-! # The algebraic dual of a cone @@ -29,6 +31,8 @@ Furthermore, the strict version `{y | ∀ x ∈ s, 0 < p x y}` is a candidate to Deduce from `dual_flip_dual_dual_flip` that polyhedral cones are invariant under taking double duals -/ +@[expose] public section + assert_not_exists TopologicalSpace Real Cardinal open Function LinearMap Pointwise Set diff --git a/Mathlib/Geometry/Convex/Cone/Pointed.lean b/Mathlib/Geometry/Convex/Cone/Pointed.lean index d078d7bbd4291a..c690654ede0c6e 100644 --- a/Mathlib/Geometry/Convex/Cone/Pointed.lean +++ b/Mathlib/Geometry/Convex/Cone/Pointed.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Apurva Nakade. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Apurva Nakade -/ -import Mathlib.Algebra.Order.Nonneg.Module -import Mathlib.Geometry.Convex.Cone.Basic +module + +public import Mathlib.Algebra.Order.Nonneg.Module +public import Mathlib.Geometry.Convex.Cone.Basic /-! # Pointed cones @@ -16,6 +18,8 @@ as it allows us to use the `Module` API to work with convex cones. -/ +@[expose] public section + assert_not_exists TopologicalSpace Real Cardinal variable {R E F G : Type*} diff --git a/Mathlib/Geometry/Euclidean/Altitude.lean b/Mathlib/Geometry/Euclidean/Altitude.lean index f956bc20c1b227..72ee532a348113 100644 --- a/Mathlib/Geometry/Euclidean/Altitude.lean +++ b/Mathlib/Geometry/Euclidean/Altitude.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Projection -import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional -import Mathlib.Analysis.InnerProductSpace.Affine +module + +public import Mathlib.Geometry.Euclidean.Projection +public import Mathlib.Analysis.InnerProductSpace.Projection.FiniteDimensional +public import Mathlib.Analysis.InnerProductSpace.Affine /-! # Altitudes of a simplex @@ -27,6 +29,8 @@ This file defines the altitudes of a simplex and their feet. -/ +@[expose] public section + noncomputable section namespace Affine @@ -182,7 +186,7 @@ lemma height_pos {n : ℕ} [NeZero n] (s : Simplex ℝ P n) (i : Fin (n + 1)) : open Qq Mathlib.Meta.Positivity in /-- Extension for the `positivity` tactic: the height of a simplex is always positive. -/ @[positivity height _ _] -def evalHeight : PositivityExt where eval {u α} _ _ e := do +meta def evalHeight : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℝ), ~q(@height $V $P $i1 $i2 $i3 $i4 $n $hn $s $i) => assertInstancesCommute diff --git a/Mathlib/Geometry/Euclidean/Angle/Bisector.lean b/Mathlib/Geometry/Euclidean/Angle/Bisector.lean index 65d6d8633fb1e0..c8bf3d2033bfab 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Bisector.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Bisector.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle -import Mathlib.Geometry.Euclidean.Projection +module + +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle +public import Mathlib.Geometry.Euclidean.Projection /-! # Angle bisectors. @@ -13,6 +15,8 @@ This file proves lemmas relating to bisecting angles. -/ +@[expose] public section + namespace EuclideanGeometry diff --git a/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean b/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean index 76600345461e42..cc79abdbe9c6e1 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Convex.Side -import Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +module + +public import Mathlib.Analysis.Convex.Side +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Rotation +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine /-! # Oriented angles. @@ -19,6 +21,8 @@ This file defines oriented angles in Euclidean affine spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean b/Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean index 53b453b598ea4b..268946e2f30a9e 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Heather Macbeth -/ -import Mathlib.Analysis.InnerProductSpace.TwoDim -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +module + +public import Mathlib.Analysis.InnerProductSpace.TwoDim +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic /-! # Oriented angles. @@ -28,6 +30,8 @@ modulo `2 * π` as equalities of `(2 : ℤ) • θ`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean b/Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean index 0f417176726ef7..18892332d6f6a2 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine -import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle +module + +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.RightAngle /-! # Oriented angles in right-angled triangles. @@ -14,6 +16,8 @@ degenerate) right-angled triangles in real inner product spaces and Euclidean af -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean b/Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean index e565d9a8b43622..b579ef9d9bf39f 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Heather Macbeth -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.Geometry.Euclidean.Angle.Oriented.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Basic /-! # Rotations by oriented angles. @@ -17,6 +19,8 @@ This file defines rotations by oriented angles in real inner product spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Sphere.lean b/Mathlib/Geometry/Euclidean/Angle/Sphere.lean index 40de312aaacf9c..5f14a474ebe359 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Sphere.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Sphere.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle -import Mathlib.Geometry.Euclidean.Circumcenter -import Mathlib.Geometry.Euclidean.Sphere.Tangent +module + +public import Mathlib.Geometry.Euclidean.Angle.Oriented.RightAngle +public import Mathlib.Geometry.Euclidean.Circumcenter +public import Mathlib.Geometry.Euclidean.Sphere.Tangent /-! # Angles in circles and sphere. @@ -14,6 +16,8 @@ This file proves results about angles in circles and spheres. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean index aa5adf8a00b5b1..b2781d266562ff 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Manuel Candales -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic -import Mathlib.Analysis.Normed.Affine.Isometry +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +public import Mathlib.Analysis.Normed.Affine.Isometry /-! # Angles between points @@ -23,6 +25,8 @@ This file defines unoriented angles in Euclidean affine spaces. Prove the triangle inequality for the angle. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean index 490955dec28b3f..40870516da0cdd 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Manuel Candales -/ -import Mathlib.Analysis.InnerProductSpace.Subspace -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse +module + +public import Mathlib.Analysis.InnerProductSpace.Subspace +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Inverse /-! # Angles between vectors @@ -20,6 +22,8 @@ This file defines unoriented angles in real inner product spaces. Prove the triangle inequality for the angle. -/ +@[expose] public section + assert_not_exists HasFDerivAt ConformalAt diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Conformal.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Conformal.lean index f6a0db3a627312..f11c0e78c9b84a 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Conformal.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Conformal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Calculus.Conformal.NormedSpace -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +module + +public import Mathlib.Analysis.Calculus.Conformal.NormedSpace +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic /-! # Angles and conformal maps @@ -13,6 +15,8 @@ This file proves that conformal maps preserve angles. -/ +@[expose] public section + namespace InnerProductGeometry diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean index d854eb68181599..eedcb4700d2446 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Vedant Gupta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vedant Gupta, Thomas Browning, Eric Wieser -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic -import Mathlib.LinearAlgebra.CrossProduct +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Basic +public import Mathlib.LinearAlgebra.CrossProduct /-! # Norm of cross-products @@ -14,6 +16,8 @@ This file proves `InnerProductGeometry.norm_withLpEquiv_crossProduct`, relating cross-product of two real vectors with their individual norms. -/ +@[expose] public section + open Matrix Real WithLp namespace InnerProductGeometry diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean index 4e7cf0cda75e60..21a29f3654b0ec 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine /-! # Right-angled triangles @@ -24,6 +26,8 @@ triangle unnecessarily. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Basic.lean b/Mathlib/Geometry/Euclidean/Basic.lean index d44c6de0e2a040..eeb81f44fca97a 100644 --- a/Mathlib/Geometry/Euclidean/Basic.lean +++ b/Mathlib/Geometry/Euclidean/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Manuel Candales -/ -import Mathlib.Geometry.Euclidean.PerpBisector -import Mathlib.Algebra.QuadraticDiscriminant +module + +public import Mathlib.Geometry.Euclidean.PerpBisector +public import Mathlib.Algebra.QuadraticDiscriminant /-! # Euclidean spaces @@ -35,6 +37,8 @@ theorems that need it. -/ +@[expose] public section + noncomputable section open RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Circumcenter.lean b/Mathlib/Geometry/Euclidean/Circumcenter.lean index 4e1c4363802f02..2aee43bb2223b6 100644 --- a/Mathlib/Geometry/Euclidean/Circumcenter.lean +++ b/Mathlib/Geometry/Euclidean/Circumcenter.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Projection -import Mathlib.Geometry.Euclidean.Sphere.Basic -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Centroid -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional -import Mathlib.Tactic.DeriveFintype +module + +public import Mathlib.Geometry.Euclidean.Projection +public import Mathlib.Geometry.Euclidean.Sphere.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Centroid +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +public import Mathlib.Tactic.DeriveFintype /-! # Circumcenter and circumradius @@ -29,6 +31,8 @@ the circumcenter. -/ +@[expose] public section + noncomputable section open RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Congruence.lean b/Mathlib/Geometry/Euclidean/Congruence.lean index ba8d808894cb0b..ac9eb30079a7fd 100644 --- a/Mathlib/Geometry/Euclidean/Congruence.lean +++ b/Mathlib/Geometry/Euclidean/Congruence.lean @@ -3,12 +3,13 @@ Copyright (c) 2023 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid, Chu Zheng -/ +module -import Mathlib.Topology.MetricSpace.Congruence -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine -import Mathlib.Geometry.Euclidean.Triangle +public import Mathlib.Topology.MetricSpace.Congruence +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +public import Mathlib.Geometry.Euclidean.Triangle /-! # Triangle congruence @@ -31,6 +32,8 @@ then reduces to ASA. -/ +@[expose] public section + open scoped Congruent namespace EuclideanGeometry diff --git a/Mathlib/Geometry/Euclidean/Incenter.lean b/Mathlib/Geometry/Euclidean/Incenter.lean index 0e7690ea73d2f7..ec56c5f79ec7c1 100644 --- a/Mathlib/Geometry/Euclidean/Incenter.lean +++ b/Mathlib/Geometry/Euclidean/Incenter.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Altitude -import Mathlib.Geometry.Euclidean.SignedDist -import Mathlib.Geometry.Euclidean.Sphere.Tangent -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Topology.Instances.Sign +module + +public import Mathlib.Geometry.Euclidean.Altitude +public import Mathlib.Geometry.Euclidean.SignedDist +public import Mathlib.Geometry.Euclidean.Sphere.Tangent +public import Mathlib.Tactic.Positivity.Finset +public import Mathlib.Topology.Instances.Sign /-! # Incenters and excenters of simplices. @@ -37,6 +39,8 @@ and the center and radius of such spheres. -/ +@[expose] public section + open EuclideanGeometry open scoped Finset RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Inversion/Basic.lean b/Mathlib/Geometry/Euclidean/Inversion/Basic.lean index 711a3ebf310cb3..c44c218de16b08 100644 --- a/Mathlib/Geometry/Euclidean/Inversion/Basic.lean +++ b/Mathlib/Geometry/Euclidean/Inversion/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.InnerProductSpace.Basic -import Mathlib.Analysis.Normed.Group.AddTorsor -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Analysis.InnerProductSpace.Basic +public import Mathlib.Analysis.Normed.Group.AddTorsor +public import Mathlib.Tactic.AdaptationNote /-! # Inversion in an affine space @@ -22,6 +24,8 @@ Currently, we prove only a few basic lemmas needed to prove Ptolemy's inequality `EuclideanGeometry.mul_dist_le_mul_dist_add_mul_dist`. -/ +@[expose] public section + noncomputable section open Metric Function AffineMap Set AffineSubspace diff --git a/Mathlib/Geometry/Euclidean/Inversion/Calculus.lean b/Mathlib/Geometry/Euclidean/Inversion/Calculus.lean index 9bfcdd1fd70562..7aa0adf6901d94 100644 --- a/Mathlib/Geometry/Euclidean/Inversion/Calculus.lean +++ b/Mathlib/Geometry/Euclidean/Inversion/Calculus.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Geometry.Euclidean.Inversion.Basic -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Geometry.Euclidean.Inversion.Basic +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Tactic.AdaptationNote /-! # Derivative of the inversion @@ -23,6 +25,8 @@ space in this file. inversion, derivative -/ +@[expose] public section + open Metric Function AffineMap Set AffineSubspace open scoped Topology RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean b/Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean index bb9b706fc3900d..96618e01033790 100644 --- a/Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean +++ b/Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Geometry.Euclidean.Inversion.Basic -import Mathlib.Geometry.Euclidean.PerpBisector +module + +public import Mathlib.Geometry.Euclidean.Inversion.Basic +public import Mathlib.Geometry.Euclidean.PerpBisector /-! # Image of a hyperplane under inversion @@ -24,6 +26,8 @@ We also prove that the inversion sends an affine subspace passing through the ce inversion -/ +@[expose] public section + open Metric Function AffineMap Set AffineSubspace open scoped Topology diff --git a/Mathlib/Geometry/Euclidean/MongePoint.lean b/Mathlib/Geometry/Euclidean/MongePoint.lean index 6537509aa1bc73..d351e5f9470d97 100644 --- a/Mathlib/Geometry/Euclidean/MongePoint.lean +++ b/Mathlib/Geometry/Euclidean/MongePoint.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Altitude -import Mathlib.Geometry.Euclidean.Circumcenter +module + +public import Mathlib.Geometry.Euclidean.Altitude +public import Mathlib.Geometry.Euclidean.Circumcenter /-! # Monge point and orthocenter @@ -43,6 +45,8 @@ generalization, the Monge point of a simplex. -/ +@[expose] public section + noncomputable section open scoped RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/PerpBisector.lean b/Mathlib/Geometry/Euclidean/PerpBisector.lean index a6a3ebd6a9ea43..6fc868f335e797 100644 --- a/Mathlib/Geometry/Euclidean/PerpBisector.lean +++ b/Mathlib/Geometry/Euclidean/PerpBisector.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Joseph Myers -/ -import Mathlib.Analysis.InnerProductSpace.Orthogonal -import Mathlib.Analysis.Normed.Group.AddTorsor +module + +public import Mathlib.Analysis.InnerProductSpace.Orthogonal +public import Mathlib.Analysis.Normed.Group.AddTorsor /-! # Perpendicular bisector of a segment @@ -19,6 +21,8 @@ define this subspace. euclidean geometry, perpendicular, perpendicular bisector, line segment bisector, equidistant -/ +@[expose] public section + open Set open scoped RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Projection.lean b/Mathlib/Geometry/Euclidean/Projection.lean index 510b163cb5b479..6faee624a88064 100644 --- a/Mathlib/Geometry/Euclidean/Projection.lean +++ b/Mathlib/Geometry/Euclidean/Projection.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Manuel Candales -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Submodule -import Mathlib.Analysis.InnerProductSpace.Projection.Reflection -import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional -import Mathlib.Topology.Algebra.ContinuousAffineMap +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Submodule +public import Mathlib.Analysis.InnerProductSpace.Projection.Reflection +public import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional +public import Mathlib.Topology.Algebra.ContinuousAffineMap /-! # Orthogonal projection in Euclidean affine spaces @@ -24,6 +26,8 @@ and reflection of a point in an affine subspace. -/ +@[expose] public section + noncomputable section open RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/SignedDist.lean b/Mathlib/Geometry/Euclidean/SignedDist.lean index 0570b72794fcfc..7a359ca51ee7ca 100644 --- a/Mathlib/Geometry/Euclidean/SignedDist.lean +++ b/Mathlib/Geometry/Euclidean/SignedDist.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Projection -import Mathlib.Analysis.NormedSpace.Normalize +module + +public import Mathlib.Geometry.Euclidean.Projection +public import Mathlib.Analysis.NormedSpace.Normalize /-! # Signed distance to an affine subspace in a Euclidean space. @@ -26,6 +28,8 @@ reference point. -/ +@[expose] public section + open EuclideanGeometry NormedSpace open scoped RealInnerProductSpace diff --git a/Mathlib/Geometry/Euclidean/Simplex.lean b/Mathlib/Geometry/Euclidean/Simplex.lean index d2caa2cb9cabde..f7c0fdc3bbf1c9 100644 --- a/Mathlib/Geometry/Euclidean/Simplex.lean +++ b/Mathlib/Geometry/Euclidean/Simplex.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Normed.Affine.Simplex -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +module + +public import Mathlib.Analysis.Normed.Affine.Simplex +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine /-! # Simplices in Euclidean spaces. @@ -17,6 +19,8 @@ This file defines properties of simplices in a Euclidean space. -/ +@[expose] public section + namespace Affine diff --git a/Mathlib/Geometry/Euclidean/Sphere/Basic.lean b/Mathlib/Geometry/Euclidean/Sphere/Basic.lean index 865ac556f673f7..16df777651882d 100644 --- a/Mathlib/Geometry/Euclidean/Sphere/Basic.lean +++ b/Mathlib/Geometry/Euclidean/Sphere/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Analysis.Convex.StrictConvexBetween -import Mathlib.Analysis.InnerProductSpace.Convex -import Mathlib.Analysis.Normed.Affine.Convex -import Mathlib.Geometry.Euclidean.Basic +module + +public import Mathlib.Analysis.Convex.StrictConvexBetween +public import Mathlib.Analysis.InnerProductSpace.Convex +public import Mathlib.Analysis.Normed.Affine.Convex +public import Mathlib.Geometry.Euclidean.Basic /-! # Spheres @@ -31,6 +33,8 @@ Euclidean affine spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Sphere/Power.lean b/Mathlib/Geometry/Euclidean/Sphere/Power.lean index f23ee038952cb4..e3b68c1fd781d2 100644 --- a/Mathlib/Geometry/Euclidean/Sphere/Power.lean +++ b/Mathlib/Geometry/Euclidean/Sphere/Power.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Manuel Candales. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Manuel Candales, Benjamin Davidson -/ -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine -import Mathlib.Geometry.Euclidean.Sphere.Basic -import Mathlib.Geometry.Euclidean.Sphere.Tangent +module + +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +public import Mathlib.Geometry.Euclidean.Sphere.Basic +public import Mathlib.Geometry.Euclidean.Sphere.Tangent /-! # Power of a point (intersecting chords and secants) @@ -25,6 +27,8 @@ secants) in spheres in real inner product spaces and Euclidean affine spaces. * `Sphere.dist_sq_eq_mul_dist_of_tangent_and_secant`: Tangent-Secant Theorem. -/ +@[expose] public section + open Real diff --git a/Mathlib/Geometry/Euclidean/Sphere/Ptolemy.lean b/Mathlib/Geometry/Euclidean/Sphere/Ptolemy.lean index d458ecf303863b..f066f44149574f 100644 --- a/Mathlib/Geometry/Euclidean/Sphere/Ptolemy.lean +++ b/Mathlib/Geometry/Euclidean/Sphere/Ptolemy.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Manuel Candales. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Manuel Candales, Benjamin Davidson -/ -import Mathlib.Geometry.Euclidean.Sphere.Power -import Mathlib.Geometry.Euclidean.Triangle +module + +public import Mathlib.Geometry.Euclidean.Sphere.Power +public import Mathlib.Geometry.Euclidean.Triangle /-! # Ptolemy's theorem @@ -37,6 +39,8 @@ An API needs to be built around that concept, which would include: and so on. -/ +@[expose] public section + open Real diff --git a/Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean b/Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean index 784a8e8e9837fe..b27f841c532009 100644 --- a/Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean +++ b/Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Sphere.Basic +module + +public import Mathlib.Geometry.Euclidean.Sphere.Basic /-! # Second intersection of a sphere and a line @@ -18,6 +20,8 @@ through a point on that sphere. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Euclidean/Sphere/Tangent.lean b/Mathlib/Geometry/Euclidean/Sphere/Tangent.lean index 27bace73fd27ff..8a30ad71dbc6e1 100644 --- a/Mathlib/Geometry/Euclidean/Sphere/Tangent.lean +++ b/Mathlib/Geometry/Euclidean/Sphere/Tangent.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Geometry.Euclidean.Projection -import Mathlib.Geometry.Euclidean.Sphere.Basic +module + +public import Mathlib.Geometry.Euclidean.Projection +public import Mathlib.Geometry.Euclidean.Sphere.Basic /-! # Tangency for spheres. @@ -48,6 +50,8 @@ This file defines notions of spheres being tangent to affine subspaces and other -/ +@[expose] public section + namespace EuclideanGeometry diff --git a/Mathlib/Geometry/Euclidean/Triangle.lean b/Mathlib/Geometry/Euclidean/Triangle.lean index ec343e3a40276a..802bbb050a5880 100644 --- a/Mathlib/Geometry/Euclidean/Triangle.lean +++ b/Mathlib/Geometry/Euclidean/Triangle.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers, Manuel Candales -/ -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine -import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Geometry.Euclidean.Angle.Oriented.Affine +public import Mathlib.Geometry.Euclidean.Angle.Unoriented.Affine +public import Mathlib.Tactic.IntervalCases /-! # Triangles @@ -35,6 +37,8 @@ unnecessarily. -/ +@[expose] public section + noncomputable section open scoped CharZero Real RealInnerProductSpace diff --git a/Mathlib/Geometry/Group/Growth/LinearLowerBound.lean b/Mathlib/Geometry/Group/Growth/LinearLowerBound.lean index 320e217551a55d..ec0e06b4a2d964 100644 --- a/Mathlib/Geometry/Group/Growth/LinearLowerBound.lean +++ b/Mathlib/Geometry/Group/Growth/LinearLowerBound.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies, Patrick Luo, Eric Rodriguez. All rights reserv Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Patrick Luo, Eric Rodriguez -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Data.Nat.SuccPred +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Data.Nat.SuccPred /-! # Linear lower bound on the growth of a generating set @@ -13,6 +15,8 @@ import Mathlib.Data.Nat.SuccPred This file proves that the growth of a set generating an infinite group is at least linear. -/ +@[expose] public section + open Subgroup open scoped Pointwise diff --git a/Mathlib/Geometry/Group/Growth/QuotientInter.lean b/Mathlib/Geometry/Group/Growth/QuotientInter.lean index 8b1ceda26b1ece..afb46577e27304 100644 --- a/Mathlib/Geometry/Group/Growth/QuotientInter.lean +++ b/Mathlib/Geometry/Group/Growth/QuotientInter.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Algebra.Group.Pointwise.Finset.Basic +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic /-! # Growth in the quotient and intersection with a subgroup @@ -14,6 +16,8 @@ For a group `G` and a subgroup `H ≤ G`, this file gives upper and lower bounds finset by its growth in `H` and `G ⧸ H`. -/ +@[expose] public section + open Finset Function open scoped Pointwise diff --git a/Mathlib/Geometry/Manifold/Algebra/LeftInvariantDerivation.lean b/Mathlib/Geometry/Manifold/Algebra/LeftInvariantDerivation.lean index 538d84ddefaa45..e80e0779bcc4df 100644 --- a/Mathlib/Geometry/Manifold/Algebra/LeftInvariantDerivation.lean +++ b/Mathlib/Geometry/Manifold/Algebra/LeftInvariantDerivation.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.RingTheory.Derivation.Lie -import Mathlib.Geometry.Manifold.DerivationBundle +module + +public import Mathlib.RingTheory.Derivation.Lie +public import Mathlib.Geometry.Manifold.DerivationBundle /-! @@ -26,6 +28,8 @@ work in these settings. The left-invariant vector fields should therefore be favored to construct a theory of Lie groups in suitable generality. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Manifold/Algebra/LieGroup.lean b/Mathlib/Geometry/Manifold/Algebra/LieGroup.lean index c8c755cab85d47..dc0734498d54bf 100644 --- a/Mathlib/Geometry/Manifold/Algebra/LieGroup.lean +++ b/Mathlib/Geometry/Manifold/Algebra/LieGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.Algebra.Monoid +module + +public import Mathlib.Geometry.Manifold.Algebra.Monoid /-! # Lie groups @@ -47,6 +49,8 @@ so the definition does not apply. Hence the definition should be more general, a `I : ModelWithCorners 𝕜 E H`. -/ +@[expose] public section + noncomputable section open scoped Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/Algebra/Monoid.lean b/Mathlib/Geometry/Manifold/Algebra/Monoid.lean index ab50e46bfdb6d6..8e4ee820a20c36 100644 --- a/Mathlib/Geometry/Manifold/Algebra/Monoid.lean +++ b/Mathlib/Geometry/Manifold/Algebra/Monoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.ContMDiffMap -import Mathlib.Geometry.Manifold.MFDeriv.Basic +module + +public import Mathlib.Geometry.Manifold.ContMDiffMap +public import Mathlib.Geometry.Manifold.MFDeriv.Basic /-! # `C^n` monoid @@ -16,6 +18,8 @@ additive counterpart `ContMDiffAdd`. These structures are general enough to also semigroups. -/ +@[expose] public section + open scoped Manifold ContDiff library_note2 «Design choices about smooth algebraic structures» /-- diff --git a/Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean b/Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean index cf4411a4f88f9c..edbb02e217d9b8 100644 --- a/Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean +++ b/Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.Algebra.Structures +module + +public import Mathlib.Geometry.Manifold.Algebra.Structures /-! # Algebraic structures over `C^n` functions @@ -11,6 +13,8 @@ import Mathlib.Geometry.Manifold.Algebra.Structures In this file, we define instances of algebraic structures over `C^n` functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Manifold/Algebra/Structures.lean b/Mathlib/Geometry/Manifold/Algebra/Structures.lean index 6951fdab05df86..ee9719c748bf64 100644 --- a/Mathlib/Geometry/Manifold/Algebra/Structures.lean +++ b/Mathlib/Geometry/Manifold/Algebra/Structures.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.Algebra.LieGroup +module + +public import Mathlib.Geometry.Manifold.Algebra.LieGroup /-! # `C^n` structures @@ -13,6 +15,8 @@ term `ContMDiffRing` instead of Lie mainly because Lie ring has currently anothe in mathematics. -/ +@[expose] public section + open scoped Manifold ContDiff section ContMDiffRing diff --git a/Mathlib/Geometry/Manifold/AnalyticManifold.lean b/Mathlib/Geometry/Manifold/AnalyticManifold.lean index 5b831a99827bcc..ab264f3695aa77 100644 --- a/Mathlib/Geometry/Manifold/AnalyticManifold.lean +++ b/Mathlib/Geometry/Manifold/AnalyticManifold.lean @@ -3,7 +3,11 @@ Copyright (c) 2023 Michael Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Lee, Geoffrey Irving -/ -import Mathlib.Deprecated.AnalyticManifold +module + +public import Mathlib.Deprecated.AnalyticManifold + +@[expose] public section deprecated_module "Analytic manifolds are deprecated, use `IsManifold I ω M`" (since := "2025-04-13") diff --git a/Mathlib/Geometry/Manifold/Bordism.lean b/Mathlib/Geometry/Manifold/Bordism.lean index eb184692ff9f14..749fe5d1c359df 100644 --- a/Mathlib/Geometry/Manifold/Bordism.lean +++ b/Mathlib/Geometry/Manifold/Bordism.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ -import Mathlib.Geometry.Manifold.Instances.Real +module + +public import Mathlib.Geometry.Manifold.Instances.Real /-! ## (Unoriented) bordism theory @@ -89,6 +91,8 @@ topological pair `(X, A)`; in fact, these define an extra-ordinary homology theo singular manifold, bordism, bordism group -/ +@[expose] public section + open scoped Manifold open Module Set diff --git a/Mathlib/Geometry/Manifold/BumpFunction.lean b/Mathlib/Geometry/Manifold/BumpFunction.lean index 2cd94c7ed5b7a3..c54a98b34f0b59 100644 --- a/Mathlib/Geometry/Manifold/BumpFunction.lean +++ b/Mathlib/Geometry/Manifold/BumpFunction.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension -import Mathlib.Geometry.Manifold.ContMDiff.Atlas -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace -import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas +module + +public import Mathlib.Analysis.Calculus.BumpFunction.FiniteDimension +public import Mathlib.Geometry.Manifold.ContMDiff.Atlas +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas /-! # Smooth bump functions on a smooth manifold @@ -28,6 +30,8 @@ The actual statements involve (pre)images under `extChartAt I f` and are given a manifold, smooth bump function -/ +@[expose] public section + universe uE uF uH uM variable {E : Type uE} [NormedAddCommGroup E] [NormedSpace ℝ E] diff --git a/Mathlib/Geometry/Manifold/ChartedSpace.lean b/Mathlib/Geometry/Manifold/ChartedSpace.lean index d6c28b36196777..a98d19f79f2949 100644 --- a/Mathlib/Geometry/Manifold/ChartedSpace.lean +++ b/Mathlib/Geometry/Manifold/ChartedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.OpenPartialHomeomorph -import Mathlib.Topology.Connected.LocPathConnected +module + +public import Mathlib.Topology.OpenPartialHomeomorph +public import Mathlib.Topology.Connected.LocPathConnected /-! # Charted spaces @@ -108,6 +110,8 @@ In the scope `Manifold`, we denote the composition of open partial homeomorphism composition of partial equivs with `≫`. -/ +@[expose] public section + noncomputable section open TopologicalSpace Topology diff --git a/Mathlib/Geometry/Manifold/Complex.lean b/Mathlib/Geometry/Manifold/Complex.lean index eda4cbd7c1299c..a06a28881b77e7 100644 --- a/Mathlib/Geometry/Manifold/Complex.lean +++ b/Mathlib/Geometry/Manifold/Complex.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.Analysis.LocallyConvex.WithSeminorms -import Mathlib.Geometry.Manifold.MFDeriv.Basic -import Mathlib.Topology.LocallyConstant.Basic +module + +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.Analysis.LocallyConvex.WithSeminorms +public import Mathlib.Geometry.Manifold.MFDeriv.Basic +public import Mathlib.Topology.LocallyConstant.Basic /-! # Holomorphic functions on complex manifolds @@ -36,6 +38,8 @@ stalks, such as the Weierstrass preparation theorem. -/ +@[expose] public section + open scoped Manifold Topology Filter open Function Set Filter Complex diff --git a/Mathlib/Geometry/Manifold/ConformalGroupoid.lean b/Mathlib/Geometry/Manifold/ConformalGroupoid.lean index 2f02d7e531c782..166d05fe4a90ed 100644 --- a/Mathlib/Geometry/Manifold/ConformalGroupoid.lean +++ b/Mathlib/Geometry/Manifold/ConformalGroupoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang -/ -import Mathlib.Analysis.Calculus.Conformal.NormedSpace -import Mathlib.Geometry.Manifold.ChartedSpace +module + +public import Mathlib.Analysis.Calculus.Conformal.NormedSpace +public import Mathlib.Geometry.Manifold.ChartedSpace /-! # Conformal Groupoid @@ -20,6 +22,8 @@ In this file we define the groupoid of conformal maps on normed spaces. conformal, groupoid -/ +@[expose] public section + variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X] diff --git a/Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean b/Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean index b62d200f4924a3..d7a1af646a5e55 100644 --- a/Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean +++ b/Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.ContMDiff.Basic +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Basic /-! ## Smoothness of charts and local structomorphisms @@ -12,6 +14,8 @@ We show that the model with corners, charts, extended charts and their inverses and that local structomorphisms are `C^n` with `C^n` inverses. -/ +@[expose] public section + open Set ChartedSpace IsManifold open scoped Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/ContMDiff/Basic.lean b/Mathlib/Geometry/Manifold/ContMDiff/Basic.lean index 891e32d21dd345..6eaf20a1a81c16 100644 --- a/Mathlib/Geometry/Manifold/ContMDiff/Basic.lean +++ b/Mathlib/Geometry/Manifold/ContMDiff/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.ContMDiff.Defs +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Defs /-! ## Basic properties of `C^n` functions between manifolds @@ -21,6 +23,8 @@ chain rule, manifolds, higher derivative -/ +@[expose] public section + open Filter Function Set Topology open scoped Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean b/Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean index dc297ebece2485..1391a0f02d2639 100644 --- a/Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean +++ b/Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn, Michael Rothgang -/ -import Mathlib.Geometry.Manifold.ContMDiff.Basic +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Basic /-! ## Smoothness of standard maps associated to the product of manifolds @@ -18,6 +20,8 @@ This file contains results about smoothness of standard maps associated to produ -/ +@[expose] public section + open Set Function Filter ChartedSpace open scoped Topology Manifold diff --git a/Mathlib/Geometry/Manifold/ContMDiff/Defs.lean b/Mathlib/Geometry/Manifold/ContMDiff/Defs.lean index 654aff986baad0..1f503509921d8b 100644 --- a/Mathlib/Geometry/Manifold/ContMDiff/Defs.lean +++ b/Mathlib/Geometry/Manifold/ContMDiff/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt -import Mathlib.Geometry.Manifold.LocalInvariantProperties +module + +public import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt +public import Mathlib.Geometry.Manifold.LocalInvariantProperties /-! # `C^n` functions between manifolds @@ -43,6 +45,8 @@ follow definitionally the setup of local invariant properties. Still, we recast in terms of extended charts in `contMDiffOn_iff` and `contMDiff_iff`. -/ +@[expose] public section + open Set Function Filter ChartedSpace IsManifold diff --git a/Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean b/Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean index 823ab7be963ff1..ce459ead8e99d4 100644 --- a/Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean +++ b/Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.ContMDiff.Constructions -import Mathlib.Analysis.Normed.Operator.Prod +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Constructions +public import Mathlib.Analysis.Normed.Operator.Prod /-! ## Equivalence of smoothness with the basic definition for functions between vector spaces @@ -15,6 +17,8 @@ import Mathlib.Analysis.Normed.Operator.Prod -/ +@[expose] public section + open Set ChartedSpace open scoped Topology Manifold diff --git a/Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean b/Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean index b67713babf9828..8d8a44798632a1 100644 --- a/Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean +++ b/Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.Tangent -import Mathlib.Geometry.Manifold.ContMDiffMap -import Mathlib.Geometry.Manifold.VectorBundle.Hom +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Tangent +public import Mathlib.Geometry.Manifold.ContMDiffMap +public import Mathlib.Geometry.Manifold.VectorBundle.Hom /-! ### Interactions between differentiability, smoothness and manifold derivatives @@ -21,6 +23,8 @@ and related notions. of a `Cⁿ` function is `Cᵐ` when `m + 1 ≤ n`. -/ +@[expose] public section + open Set Function Filter ChartedSpace IsManifold Bundle open scoped Topology Manifold Bundle diff --git a/Mathlib/Geometry/Manifold/ContMDiffMap.lean b/Mathlib/Geometry/Manifold/ContMDiffMap.lean index c403ad9648e5e6..c157c16a83f2be 100644 --- a/Mathlib/Geometry/Manifold/ContMDiffMap.lean +++ b/Mathlib/Geometry/Manifold/ContMDiffMap.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +module + +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace /-! # `C^n` bundled maps @@ -12,6 +14,8 @@ In this file we define the type `ContMDiffMap` of `n` times continuously differe bundled maps. -/ +@[expose] public section + variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type*} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {H : Type*} [TopologicalSpace H] {H' : Type*} [TopologicalSpace H'] {I : ModelWithCorners 𝕜 E H} diff --git a/Mathlib/Geometry/Manifold/DerivationBundle.lean b/Mathlib/Geometry/Manifold/DerivationBundle.lean index bd1af85d522a47..ad657bb54cc5c2 100644 --- a/Mathlib/Geometry/Manifold/DerivationBundle.lean +++ b/Mathlib/Geometry/Manifold/DerivationBundle.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions +public import Mathlib.RingTheory.Derivation.Basic /-! @@ -19,6 +21,8 @@ of the Lie algebra for a Lie group. This theory coincides with the usual tangent case of finite-dimensional `C^∞` real manifolds, but not in the general case. -/ +@[expose] public section + variable (𝕜 : Type*) [NontriviallyNormedField 𝕜] {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {H : Type*} [TopologicalSpace H] (I : ModelWithCorners 𝕜 E H) (M : Type*) diff --git a/Mathlib/Geometry/Manifold/Diffeomorph.lean b/Mathlib/Geometry/Manifold/Diffeomorph.lean index cf67e6495faf9c..d09b3bcaefced7 100644 --- a/Mathlib/Geometry/Manifold/Diffeomorph.lean +++ b/Mathlib/Geometry/Manifold/Diffeomorph.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Yury Kudryashov -/ -import Mathlib.Geometry.Manifold.ContMDiffMap -import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential +module + +public import Mathlib.Geometry.Manifold.ContMDiffMap +public import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential /-! # Diffeomorphisms @@ -52,6 +54,8 @@ practice. diffeomorphism, manifold -/ +@[expose] public section + open scoped Manifold Topology ContDiff diff --git a/Mathlib/Geometry/Manifold/GroupLieAlgebra.lean b/Mathlib/Geometry/Manifold/GroupLieAlgebra.lean index e202483060bb56..8349c68224b273 100644 --- a/Mathlib/Geometry/Manifold/GroupLieAlgebra.lean +++ b/Mathlib/Geometry/Manifold/GroupLieAlgebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.Lie.Basic -import Mathlib.Geometry.Manifold.Algebra.LieGroup -import Mathlib.Geometry.Manifold.VectorField.LieBracket +module + +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.Geometry.Manifold.Algebra.LieGroup +public import Mathlib.Geometry.Manifold.VectorField.LieBracket /-! # The Lie algebra of a Lie group @@ -32,6 +34,8 @@ The standing assumption in this file is that the group is `C^n` for `n = minSmoo it is `C^3` over `ℝ` or `ℂ`, and analytic otherwise. -/ +@[expose] public section + noncomputable section section LieGroup diff --git a/Mathlib/Geometry/Manifold/Instances/Icc.lean b/Mathlib/Geometry/Manifold/Instances/Icc.lean index 88b9d4c909ec89..edf44cd601bb92 100644 --- a/Mathlib/Geometry/Manifold/Instances/Icc.lean +++ b/Mathlib/Geometry/Manifold/Instances/Icc.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Geometry.Manifold.ContMDiff.Basic -import Mathlib.Geometry.Manifold.Instances.Real -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +module + +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Geometry.Manifold.ContMDiff.Basic +public import Mathlib.Geometry.Manifold.Instances.Real +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv /-! # Manifold structure on real intervals @@ -30,6 +32,8 @@ embeddings. Once this is done, with the projection `ℝ → Icc x y` is -/ +@[expose] public section + open Set open scoped Manifold Topology diff --git a/Mathlib/Geometry/Manifold/Instances/Real.lean b/Mathlib/Geometry/Manifold/Instances/Real.lean index 9b32ce87f07c18..236ee6446f170c 100644 --- a/Mathlib/Geometry/Manifold/Instances/Real.lean +++ b/Mathlib/Geometry/Manifold/Instances/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Geometry.Manifold.IsManifold.Basic -import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.Geometry.Manifold.IsManifold.Basic +public import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Constructing examples of manifolds over ℝ @@ -42,6 +44,8 @@ The manifold structure on the interval `[x, y] = Icc x y` requires the assumptio typeclass. We provide it as `[Fact (x < y)]`. -/ +@[expose] public section + noncomputable section open Set Function diff --git a/Mathlib/Geometry/Manifold/Instances/Sphere.lean b/Mathlib/Geometry/Manifold/Instances/Sphere.lean index 41dd7288198bf2..7b4667634c301c 100644 --- a/Mathlib/Geometry/Manifold/Instances/Sphere.lean +++ b/Mathlib/Geometry/Manifold/Instances/Sphere.lean @@ -3,17 +3,19 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.Complex.Circle -import Mathlib.Analysis.Normed.Module.Ball.Action -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Geometry.Manifold.Algebra.LieGroup -import Mathlib.Geometry.Manifold.Instances.Real -import Mathlib.Geometry.Manifold.MFDeriv.Basic -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.Tactic.Module +module + +public import Mathlib.Analysis.Calculus.Deriv.Inv +public import Mathlib.Analysis.Complex.Circle +public import Mathlib.Analysis.Normed.Module.Ball.Action +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Geometry.Manifold.Algebra.LieGroup +public import Mathlib.Geometry.Manifold.Instances.Real +public import Mathlib.Geometry.Manifold.MFDeriv.Basic +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.Tactic.Module /-! # Manifold structure on the sphere @@ -64,6 +66,8 @@ naive expression `EuclideanSpace ℝ (Fin (finrank ℝ E - 1))` for the model sp Relate the stereographic projection to the inversion of the space. -/ +@[expose] public section + variable {E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E] diff --git a/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean b/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean index c96eac9822d9fa..ed71fd0d4b7906 100644 --- a/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean +++ b/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Heather Macbeth, Winston Yin -/ -import Mathlib.Geometry.Manifold.Algebra.LieGroup +module + +public import Mathlib.Geometry.Manifold.Algebra.LieGroup /-! # Units of a normed algebra @@ -23,6 +25,8 @@ example {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] [CompleteSpace V ``` -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean b/Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean index d1fba703482703..6a389de6293b2b 100644 --- a/Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean +++ b/Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Winston Yin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Winston Yin -/ -import Mathlib.Geometry.Manifold.MFDeriv.Tangent +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Tangent /-! # Integral curves of vector fields on a manifold @@ -46,6 +48,8 @@ junk. integral curve, vector field -/ +@[expose] public section + open scoped Manifold Topology open Set diff --git a/Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean b/Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean index 618e19a97826e1..67a90912a4107b 100644 --- a/Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean +++ b/Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Winston Yin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Winston Yin -/ -import Mathlib.Analysis.ODE.Gronwall -import Mathlib.Analysis.ODE.PicardLindelof -import Mathlib.Geometry.Manifold.IntegralCurve.Transform -import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary +module + +public import Mathlib.Analysis.ODE.Gronwall +public import Mathlib.Analysis.ODE.PicardLindelof +public import Mathlib.Geometry.Manifold.IntegralCurve.Transform +public import Mathlib.Geometry.Manifold.IsManifold.InteriorBoundary /-! # Existence and uniqueness of integral curves @@ -42,6 +44,8 @@ We state simpler versions of the theorem for boundaryless manifolds as corollari integral curve, vector field, local existence, uniqueness -/ +@[expose] public section + open scoped Topology open Function Set diff --git a/Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean b/Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean index fdcc1e6cec7f16..4cb3a6d6ed560c 100644 --- a/Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean +++ b/Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Winston Yin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Winston Yin -/ -import Mathlib.Geometry.Manifold.IntegralCurve.Basic +module + +public import Mathlib.Geometry.Manifold.IntegralCurve.Basic /-! # Translation and scaling of integral curves @@ -22,6 +24,8 @@ This file mirrors `Mathlib/Analysis/ODE/Transform`. integral curve, vector field -/ +@[expose] public section + open Function Set variable diff --git a/Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean b/Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean index e814473d2e7a63..5116186c70fd5c 100644 --- a/Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean +++ b/Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Winston Yin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Winston Yin -/ -import Mathlib.Geometry.Manifold.IntegralCurve.ExistUnique +module + +public import Mathlib.Geometry.Manifold.IntegralCurve.ExistUnique /-! # Uniform time lemma for the global existence of integral curves @@ -23,6 +25,8 @@ import Mathlib.Geometry.Manifold.IntegralCurve.ExistUnique integral curve, vector field, global existence -/ +@[expose] public section + open scoped Topology open Function Set diff --git a/Mathlib/Geometry/Manifold/IsManifold/Basic.lean b/Mathlib/Geometry/Manifold/IsManifold/Basic.lean index 84a6e3690cd62b..2737758181789d 100644 --- a/Mathlib/Geometry/Manifold/IsManifold/Basic.lean +++ b/Mathlib/Geometry/Manifold/IsManifold/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.ContDiff.Operations -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.Analysis.RCLike.TangentCone -import Mathlib.Data.Bundle -import Mathlib.Geometry.Manifold.ChartedSpace +module + +public import Mathlib.Analysis.Calculus.ContDiff.Operations +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.Analysis.RCLike.TangentCone +public import Mathlib.Data.Bundle +public import Mathlib.Geometry.Manifold.ChartedSpace /-! # `C^n` manifolds (possibly with boundary or corners) @@ -126,6 +128,8 @@ derivative will be `mfderiv I I' f`, instead of the more natural notations `Tang real and complex manifolds). -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean b/Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean index 33fdd9d2b0afab..992bed0ec9cf15 100644 --- a/Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean +++ b/Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Geometry.Manifold.IsManifold.Basic +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Geometry.Manifold.IsManifold.Basic /-! # Extended charts in smooth manifolds @@ -39,6 +41,8 @@ in general, but we can still register them as `PartialEquiv`. -/ +@[expose] public section + noncomputable section open Set Filter Function diff --git a/Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean b/Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean index 2f87369c8d6f41..9607443d20f82c 100644 --- a/Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean +++ b/Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ +module -import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt +public import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt /-! # Interior and boundary of a manifold @@ -51,6 +52,8 @@ this requires a definition of submanifolds -/ +@[expose] public section + open Set open scoped Topology diff --git a/Mathlib/Geometry/Manifold/LocalDiffeomorph.lean b/Mathlib/Geometry/Manifold/LocalDiffeomorph.lean index e5e1e876f6fbf9..234b9ea0df3c17 100644 --- a/Mathlib/Geometry/Manifold/LocalDiffeomorph.lean +++ b/Mathlib/Geometry/Manifold/LocalDiffeomorph.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ +module -import Mathlib.Geometry.Manifold.Diffeomorph -import Mathlib.Topology.IsLocalHomeomorph +public import Mathlib.Geometry.Manifold.Diffeomorph +public import Mathlib.Topology.IsLocalHomeomorph /-! # Local diffeomorphisms between manifolds @@ -56,6 +57,8 @@ local diffeomorphism, manifold -/ +@[expose] public section + open Manifold Set TopologicalSpace variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] diff --git a/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean b/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean index c8f4ce2e52233a..6fcac00b3e2586 100644 --- a/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean +++ b/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.ChartedSpace +module + +public import Mathlib.Geometry.Manifold.ChartedSpace /-! # Local properties invariant under a groupoid @@ -42,6 +44,8 @@ coincide on `s`, then `LiftPropWithinAt P g' s x` holds. We can't call it in the one for `LiftPropWithinAt`. -/ +@[expose] public section + noncomputable section open Set Filter TopologicalSpace diff --git a/Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean b/Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean index 2ba1e12464a4ac..1c3715bd30cfca 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions -import Mathlib.Geometry.Manifold.VectorBundle.Tangent +module + +public import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions +public import Mathlib.Geometry.Manifold.VectorBundle.Tangent /-! # Differentiability of models with corners and (extended) charts @@ -26,6 +28,8 @@ In particular, (extended) charts have bijective differential. charts, differentiable, bijective -/ +@[expose] public section + noncomputable section open scoped Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/MFDeriv/Basic.lean b/Mathlib/Geometry/Manifold/MFDeriv/Basic.lean index fd5848be10c60a..38153db15ba6a2 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/Basic.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.Defs -import Mathlib.Geometry.Manifold.ContMDiff.Defs +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Defs +public import Mathlib.Geometry.Manifold.ContMDiff.Defs /-! # Basic properties of the manifold Fréchet derivative @@ -20,6 +22,8 @@ mimicking the API for Fréchet derivatives. -/ +@[expose] public section + noncomputable section assert_not_exists tangentBundleCore diff --git a/Mathlib/Geometry/Manifold/MFDeriv/Defs.lean b/Mathlib/Geometry/Manifold/MFDeriv/Defs.lean index 79f080062c4526..679067ae2bf784 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/Defs.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt -import Mathlib.Geometry.Manifold.LocalInvariantProperties +module + +public import Mathlib.Geometry.Manifold.IsManifold.ExtChartAt +public import Mathlib.Geometry.Manifold.LocalInvariantProperties /-! # The derivative of functions between manifolds @@ -97,6 +99,8 @@ the space of equivalence classes of smooth curves in the manifold. derivative, manifold -/ +@[expose] public section + noncomputable section open scoped Topology ContDiff diff --git a/Mathlib/Geometry/Manifold/MFDeriv/FDeriv.lean b/Mathlib/Geometry/Manifold/MFDeriv/FDeriv.lean index ba97d83d88e352..bdfe10d9723264 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/FDeriv.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/FDeriv.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.Basic +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Basic /-! ### Relations between vector space derivative and manifold derivative @@ -13,6 +15,8 @@ manifold structure, coincides with the usual Fréchet derivative `fderiv`. In th this and related statements. -/ +@[expose] public section + noncomputable section open scoped Manifold diff --git a/Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean b/Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean index c4b1659abeb5ed..a33b961df2a00a 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace -import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions +module + +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +public import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions /-! ## Equivalence of manifold differentiability with the basic definition for functions between vector spaces @@ -15,6 +17,8 @@ differentiability. -/ +@[expose] public section + open Set ChartedSpace IsManifold open scoped Topology Manifold diff --git a/Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean b/Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean index 01da07b84c7c43..579e22ca5f14be 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Analysis.Calculus.FDeriv.Mul -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +module + +public import Mathlib.Analysis.Calculus.FDeriv.Mul +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv /-! # Differentiability of specific functions @@ -18,6 +20,8 @@ In this file, we establish differentiability results for -/ +@[expose] public section + noncomputable section open scoped Manifold diff --git a/Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean b/Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean index 0aa4af48ecd937..622f66329468e2 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.Atlas -import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential -import Mathlib.Geometry.Manifold.VectorBundle.Tangent -import Mathlib.Geometry.Manifold.Diffeomorph +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Atlas +public import Mathlib.Geometry.Manifold.MFDeriv.UniqueDifferential +public import Mathlib.Geometry.Manifold.VectorBundle.Tangent +public import Mathlib.Geometry.Manifold.Diffeomorph /-! # Derivatives of maps in the tangent bundle @@ -16,6 +18,8 @@ bundle. Notably, it includes formulas for the tangent maps to charts, and unique statements for subsets of the tangent bundle. -/ +@[expose] public section + open Bundle Set open scoped Manifold diff --git a/Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean b/Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean index d1b0756ada30ff..f8201d57ef3d2b 100644 --- a/Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean +++ b/Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn -/ -import Mathlib.Geometry.Manifold.MFDeriv.Atlas -import Mathlib.Geometry.Manifold.VectorBundle.Basic +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Atlas +public import Mathlib.Geometry.Manifold.VectorBundle.Basic /-! # Unique derivative sets in manifolds @@ -19,6 +21,8 @@ In this file, we prove various properties of unique derivative sets in manifolds its preimage under the tangent bundle projection also has -/ +@[expose] public section + noncomputable section open scoped Manifold diff --git a/Mathlib/Geometry/Manifold/Metrizable.lean b/Mathlib/Geometry/Manifold/Metrizable.lean index c2899bc47fd8e6..6c05cd48a1e112 100644 --- a/Mathlib/Geometry/Manifold/Metrizable.lean +++ b/Mathlib/Geometry/Manifold/Metrizable.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Geometry.Manifold.IsManifold.Basic -import Mathlib.Topology.Compactness.Paracompact -import Mathlib.Topology.Metrizable.Urysohn +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Geometry.Manifold.IsManifold.Basic +public import Mathlib.Topology.Compactness.Paracompact +public import Mathlib.Topology.Metrizable.Urysohn /-! # Metrizability of a σ-compact manifold @@ -15,6 +17,8 @@ In this file we show that a σ-compact Hausdorff topological manifold over a fin vector space is metrizable. -/ +@[expose] public section + open TopologicalSpace diff --git a/Mathlib/Geometry/Manifold/Notation.lean b/Mathlib/Geometry/Manifold/Notation.lean index 7f5f6c65064348..e9279b45dee239 100644 --- a/Mathlib/Geometry/Manifold/Notation.lean +++ b/Mathlib/Geometry/Manifold/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Michael Rothgang, Thomas Murrills -/ -import Mathlib.Geometry.Manifold.ContMDiff.Defs -import Mathlib.Geometry.Manifold.MFDeriv.Defs +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Defs +public import Mathlib.Geometry.Manifold.MFDeriv.Defs /-! # Elaborators for differential geometry @@ -82,6 +84,8 @@ the following. -/ +public meta section + open scoped Bundle Manifold ContDiff open Lean Meta Elab Tactic diff --git a/Mathlib/Geometry/Manifold/PartitionOfUnity.lean b/Mathlib/Geometry/Manifold/PartitionOfUnity.lean index 98736bcc241719..fd22ddc1e26ea6 100644 --- a/Mathlib/Geometry/Manifold/PartitionOfUnity.lean +++ b/Mathlib/Geometry/Manifold/PartitionOfUnity.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Geometry.Manifold.Algebra.Structures -import Mathlib.Geometry.Manifold.BumpFunction -import Mathlib.Geometry.Manifold.VectorBundle.SmoothSection -import Mathlib.Topology.MetricSpace.PartitionOfUnity -import Mathlib.Topology.ShrinkingLemma +module + +public import Mathlib.Geometry.Manifold.Algebra.Structures +public import Mathlib.Geometry.Manifold.BumpFunction +public import Mathlib.Geometry.Manifold.VectorBundle.SmoothSection +public import Mathlib.Topology.MetricSpace.PartitionOfUnity +public import Mathlib.Topology.ShrinkingLemma /-! # Smooth partition of unity @@ -57,6 +59,8 @@ function from local functions. smooth bump function, partition of unity -/ +@[expose] public section + universe uι uE uH uM uF open Bundle Function Filter Module Set diff --git a/Mathlib/Geometry/Manifold/PoincareConjecture.lean b/Mathlib/Geometry/Manifold/PoincareConjecture.lean index c72165d57ee78d..eb9fdba2962545 100644 --- a/Mathlib/Geometry/Manifold/PoincareConjecture.lean +++ b/Mathlib/Geometry/Manifold/PoincareConjecture.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected -import Mathlib.Geometry.Manifold.Diffeomorph -import Mathlib.Geometry.Manifold.Instances.Sphere -import Mathlib.Topology.Homotopy.Equiv -import Mathlib.Util.Superscript +module + +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected +public import Mathlib.Geometry.Manifold.Diffeomorph +public import Mathlib.Geometry.Manifold.Instances.Sphere +public import Mathlib.Topology.Homotopy.Equiv +public import Mathlib.Util.Superscript /-! # Statement of the generalized Poincaré conjecture @@ -19,6 +21,8 @@ and `≃ₘ⟮𝓡 n, 𝓡 n⟯` stands for a diffeomorphism, where `𝓡 n` is space viewed as a model space. -/ +@[expose] public section + open scoped Manifold ContDiff open Metric (sphere) diff --git a/Mathlib/Geometry/Manifold/Riemannian/Basic.lean b/Mathlib/Geometry/Manifold/Riemannian/Basic.lean index 51ce66e26c7c70..6cfeacf1725ac3 100644 --- a/Mathlib/Geometry/Manifold/Riemannian/Basic.lean +++ b/Mathlib/Geometry/Manifold/Riemannian/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Geometry.Manifold.MFDeriv.Atlas -import Mathlib.Geometry.Manifold.Riemannian.PathELength -import Mathlib.Geometry.Manifold.VectorBundle.Riemannian -import Mathlib.Geometry.Manifold.VectorBundle.Tangent -import Mathlib.MeasureTheory.Integral.IntervalIntegral.ContDiff +module + +public import Mathlib.Geometry.Manifold.MFDeriv.Atlas +public import Mathlib.Geometry.Manifold.Riemannian.PathELength +public import Mathlib.Geometry.Manifold.VectorBundle.Riemannian +public import Mathlib.Geometry.Manifold.VectorBundle.Tangent +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.ContDiff /-! # Riemannian manifolds @@ -47,6 +49,8 @@ automatic instances for these cases). One can require whatever regularity one wa the latter from the former as it cannot guess `n`). -/ +@[expose] public section + open Bundle Bornology Set MeasureTheory Manifold Filter open scoped ENNReal ContDiff Topology diff --git a/Mathlib/Geometry/Manifold/Riemannian/PathELength.lean b/Mathlib/Geometry/Manifold/Riemannian/PathELength.lean index a89bcf3f6ec7e8..856fefaf267dad 100644 --- a/Mathlib/Geometry/Manifold/Riemannian/PathELength.lean +++ b/Mathlib/Geometry/Manifold/Riemannian/PathELength.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.AddTorsor.AffineMap -import Mathlib.Analysis.SpecialFunctions.SmoothTransition -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace -import Mathlib.Geometry.Manifold.Instances.Icc -import Mathlib.MeasureTheory.Constructions.UnitInterval -import Mathlib.MeasureTheory.Function.JacobianOneDim +module + +public import Mathlib.Analysis.Calculus.AddTorsor.AffineMap +public import Mathlib.Analysis.SpecialFunctions.SmoothTransition +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +public import Mathlib.Geometry.Manifold.Instances.Icc +public import Mathlib.MeasureTheory.Constructions.UnitInterval +public import Mathlib.MeasureTheory.Function.JacobianOneDim /-! # Lengths of paths in manifolds @@ -34,6 +36,8 @@ are to Riemannian spaces we stick with the simpler name. This could be changed w manifolds are studied in mathlib. -/ +@[expose] public section + open Set MeasureTheory open scoped Manifold ENNReal ContDiff Topology diff --git a/Mathlib/Geometry/Manifold/Sheaf/Basic.lean b/Mathlib/Geometry/Manifold/Sheaf/Basic.lean index 4a47b4cf1ee64f..a2d583492415da 100644 --- a/Mathlib/Geometry/Manifold/Sheaf/Basic.lean +++ b/Mathlib/Geometry/Manifold/Sheaf/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Geometry.Manifold.LocalInvariantProperties -import Mathlib.Topology.Sheaves.LocalPredicate +module + +public import Mathlib.Geometry.Manifold.LocalInvariantProperties +public import Mathlib.Topology.Sheaves.LocalPredicate /-! # Generic construction of a sheaf from a `LocalInvariantProp` on a manifold @@ -28,6 +30,8 @@ invariant" property is preserved under restriction and gluing. which satisfy the lifted property `LiftProp P`. -/ +@[expose] public section + open scoped Manifold Topology diff --git a/Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean b/Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean index e11447bdc2c5ff..039cb5b7342ebd 100644 --- a/Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean +++ b/Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Geometry.Manifold.Sheaf.Smooth -import Mathlib.Geometry.RingedSpace.LocallyRingedSpace +module + +public import Mathlib.Geometry.Manifold.Sheaf.Smooth +public import Mathlib.Geometry.RingedSpace.LocallyRingedSpace /-! # Smooth manifolds as locally ringed spaces @@ -27,6 +29,8 @@ smooth manifolds. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/Geometry/Manifold/Sheaf/Smooth.lean b/Mathlib/Geometry/Manifold/Sheaf/Smooth.lean index 82e5a7a7728364..67321554842f7e 100644 --- a/Mathlib/Geometry/Manifold/Sheaf/Smooth.lean +++ b/Mathlib/Geometry/Manifold/Sheaf/Smooth.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Adam Topaz -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.FilteredColimits -import Mathlib.Algebra.Category.Ring.Limits -import Mathlib.CategoryTheory.Sites.Whiskering -import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions -import Mathlib.Geometry.Manifold.Sheaf.Basic +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.FilteredColimits +public import Mathlib.Algebra.Category.Ring.Limits +public import Mathlib.CategoryTheory.Sites.Whiskering +public import Mathlib.Geometry.Manifold.Algebra.SmoothFunctions +public import Mathlib.Geometry.Manifold.Sheaf.Basic /-! # The sheaf of smooth functions on a manifold @@ -62,6 +64,8 @@ generalized by this method: see https://github.com/leanprover-community/mathlib4 https://github.com/leanprover-community/mathlib4/pull/5726. -/ +@[expose] public section + noncomputable section open TopologicalSpace Opposite diff --git a/Mathlib/Geometry/Manifold/VectorBundle/Basic.lean b/Mathlib/Geometry/Manifold/VectorBundle/Basic.lean index b050e58ccf9603..615f6c065bd49b 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/Basic.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Floris van Doorn, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Geometry.Manifold.ContMDiff.Atlas -import Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear -import Mathlib.Topology.VectorBundle.Constructions +module + +public import Mathlib.Geometry.Manifold.ContMDiff.Atlas +public import Mathlib.Geometry.Manifold.VectorBundle.FiberwiseLinear +public import Mathlib.Topology.VectorBundle.Constructions /-! # `C^n` vector bundles @@ -57,6 +59,8 @@ fields, etc. vector bundle. -/ +@[expose] public section + assert_not_exists mfderiv open Bundle Set OpenPartialHomeomorph diff --git a/Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean b/Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean index 154f0d8bb9eebb..c6d48aad248a27 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace +module + +public import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace /-! # The groupoid of `C^n`, fiberwise-linear maps @@ -11,6 +13,8 @@ This file contains preliminaries for the definition of a `C^n` vector bundle: an `StructureGroupoid`, the groupoid of `contMDiffFiberwiseLinear` functions. -/ +@[expose] public section + noncomputable section open Set TopologicalSpace diff --git a/Mathlib/Geometry/Manifold/VectorBundle/Hom.lean b/Mathlib/Geometry/Manifold/VectorBundle/Hom.lean index d7ffb0a4d05e79..559ae3f934997a 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/Hom.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/Hom.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Geometry.Manifold.VectorBundle.Basic -import Mathlib.Topology.VectorBundle.Hom -import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable +module + +public import Mathlib.Geometry.Manifold.VectorBundle.Basic +public import Mathlib.Topology.VectorBundle.Hom +public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable /-! # Homs of `C^n` vector bundles over the same base space @@ -18,6 +20,8 @@ Indeed, semilinear maps are typically not smooth. For instance, complex conjugat `ℂ`-differentiable. -/ +@[expose] public section + noncomputable section open Bundle Set OpenPartialHomeomorph ContinuousLinearMap Pretrivialization diff --git a/Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean b/Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean index b692479e992d74..a9d70d6503620c 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean @@ -3,15 +3,19 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Patrick Massot, Michael Rothgang -/ -import Mathlib.Geometry.Manifold.VectorBundle.Basic -import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace -import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions +module + +public import Mathlib.Geometry.Manifold.VectorBundle.Basic +public import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace +public import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions /-! # Differentiability of functions in vector bundles -/ +@[expose] public section + open Bundle Set OpenPartialHomeomorph ContinuousLinearMap Pretrivialization Filter open scoped Manifold Bundle Topology diff --git a/Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean b/Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean index e0842d2b0af217..14394773f2603f 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Floris van Doorn, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Geometry.Manifold.ContMDiffMap -import Mathlib.Geometry.Manifold.VectorBundle.Basic +module + +public import Mathlib.Geometry.Manifold.ContMDiffMap +public import Mathlib.Geometry.Manifold.VectorBundle.Basic /-! # Pullbacks of `C^n` vector bundles @@ -17,6 +19,8 @@ This file defines pullbacks of `C^n` vector bundles over a manifold. -/ +@[expose] public section + open Bundle Set open scoped Manifold diff --git a/Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean b/Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean index 45bbf2ba7608e9..99e31601c44451 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Geometry.Manifold.VectorBundle.Hom -import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable -import Mathlib.Topology.VectorBundle.Riemannian +module + +public import Mathlib.Geometry.Manifold.VectorBundle.Hom +public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable +public import Mathlib.Topology.VectorBundle.Riemannian /-! # Riemannian vector bundles @@ -38,6 +40,8 @@ variable ``` -/ +@[expose] public section + open Manifold Bundle ContinuousLinearMap ENat Bornology open scoped ContDiff Topology diff --git a/Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean b/Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean index c63dee57baa48b..2e0b01bd54033a 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Floris van Doorn, Michael Rothgang -/ -import Mathlib.Geometry.Manifold.Algebra.LieGroup -import Mathlib.Geometry.Manifold.MFDeriv.Basic -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Geometry.Manifold.VectorBundle.Basic +module + +public import Mathlib.Geometry.Manifold.Algebra.LieGroup +public import Mathlib.Geometry.Manifold.MFDeriv.Basic +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Geometry.Manifold.VectorBundle.Basic /-! # `C^n` sections @@ -19,6 +21,8 @@ sections are `C^n`. -/ +@[expose] public section + open Bundle Filter Function diff --git a/Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean b/Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean index ef10f54603fddf..dc7b2e196b0988 100644 --- a/Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean +++ b/Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.Geometry.Manifold.VectorBundle.Basic +module + +public import Mathlib.Geometry.Manifold.VectorBundle.Basic /-! # Tangent bundles @@ -33,6 +35,8 @@ This defines a vector bundle `TangentBundle` with fibers `TangentSpace`. and a `C^n` manifold. -/ +@[expose] public section + open Bundle Set IsManifold OpenPartialHomeomorph ContinuousLinearMap diff --git a/Mathlib/Geometry/Manifold/VectorField/LieBracket.lean b/Mathlib/Geometry/Manifold/VectorField/LieBracket.lean index b4f3946e15c8d1..0c0c3a1750558c 100644 --- a/Mathlib/Geometry/Manifold/VectorField/LieBracket.lean +++ b/Mathlib/Geometry/Manifold/VectorField/LieBracket.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.VectorField -import Mathlib.Geometry.Manifold.ContMDiffMFDeriv -import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace -import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable -import Mathlib.Geometry.Manifold.VectorField.Pullback +module + +public import Mathlib.Analysis.Calculus.VectorField +public import Mathlib.Geometry.Manifold.ContMDiffMFDeriv +public import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace +public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable +public import Mathlib.Geometry.Manifold.VectorField.Pullback /-! # Lie brackets of vector fields on manifolds @@ -24,6 +26,8 @@ The main results are the following: -/ +@[expose] public section + open Set Function Filter open scoped Topology Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/VectorField/Pullback.lean b/Mathlib/Geometry/Manifold/VectorField/Pullback.lean index fd4c92ac4650db..e87a8026cd6609 100644 --- a/Mathlib/Geometry/Manifold/VectorField/Pullback.lean +++ b/Mathlib/Geometry/Manifold/VectorField/Pullback.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.VectorField -import Mathlib.Geometry.Manifold.ContMDiffMFDeriv -import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace -import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable +module + +public import Mathlib.Analysis.Calculus.VectorField +public import Mathlib.Geometry.Manifold.ContMDiffMFDeriv +public import Mathlib.Geometry.Manifold.MFDeriv.NormedSpace +public import Mathlib.Geometry.Manifold.VectorBundle.MDifferentiable /-! # Vector fields in manifolds @@ -36,6 +38,8 @@ a function from `M` to its tangent bundle through a coercion, as in: `MDifferentiableWithinAt I I.tangent (fun y ↦ (V y : TangentBundle I M)) s x`. -/ +@[expose] public section + open Set Function Filter open scoped Topology Manifold ContDiff diff --git a/Mathlib/Geometry/Manifold/WhitneyEmbedding.lean b/Mathlib/Geometry/Manifold/WhitneyEmbedding.lean index afda663d4190bc..cac1eaeba1cde6 100644 --- a/Mathlib/Geometry/Manifold/WhitneyEmbedding.lean +++ b/Mathlib/Geometry/Manifold/WhitneyEmbedding.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.FieldTheory.Finiteness -import Mathlib.Geometry.Manifold.Diffeomorph -import Mathlib.Geometry.Manifold.Instances.Real -import Mathlib.Geometry.Manifold.PartitionOfUnity +module + +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.Geometry.Manifold.Diffeomorph +public import Mathlib.Geometry.Manifold.Instances.Real +public import Mathlib.Geometry.Manifold.PartitionOfUnity /-! # Whitney embedding theorem @@ -26,6 +28,8 @@ for sufficiently large `n` there exists a smooth embedding `M → ℝ^n`. partition of unity, smooth bump function, whitney theorem -/ +@[expose] public section + universe uι uE uH uM open Function Filter Module Set Topology diff --git a/Mathlib/Geometry/RingedSpace/Basic.lean b/Mathlib/Geometry/RingedSpace/Basic.lean index 71f907eff142f2..726a4d32b648ea 100644 --- a/Mathlib/Geometry/RingedSpace/Basic.lean +++ b/Mathlib/Geometry/RingedSpace/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer, Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.FilteredColimits -import Mathlib.Algebra.Category.Ring.Limits -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Geometry.RingedSpace.SheafedSpace -import Mathlib.Topology.Sheaves.Stalks +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.FilteredColimits +public import Mathlib.Algebra.Category.Ring.Limits +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Geometry.RingedSpace.SheafedSpace +public import Mathlib.Topology.Sheaves.Stalks /-! # Ringed spaces @@ -20,6 +22,8 @@ make use of the locality of stalks. See for instance rfl /-- The quotient of a commutative semigroup by a congruence relation is a semigroup. -/ @@ -568,7 +572,7 @@ instance commSemigroup {M : Type*} [CommSemigroup M] (c : Con M) : CommSemigroup /-- The quotient of a monoid by a congruence relation is a monoid. -/ @[to_additive /-- The quotient of an `AddMonoid` by an additive congruence relation is an `AddMonoid`. -/] -instance monoid {M : Type*} [Monoid M] (c : Con M) : Monoid c.Quotient := fast_instance% +instance monoid {M : Type*} [Monoid M] (c : Con M) : Monoid c.Quotient := --fast_instance% Function.Surjective.monoid _ Quotient.mk''_surjective rfl (fun _ _ => rfl) fun _ _ => rfl /-- The quotient of a `CommMonoid` by a congruence relation is a `CommMonoid`. -/ @@ -651,7 +655,7 @@ instance zpowinst : Pow c.Quotient ℤ := /-- The quotient of a group by a congruence relation is a group. -/ @[to_additive /-- The quotient of an `AddGroup` by an additive congruence relation is an `AddGroup`. -/] -instance group : Group c.Quotient := fast_instance% +instance group : Group c.Quotient := --fast_instance% Function.Surjective.group Quotient.mk'' Quotient.mk''_surjective rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl) (fun _ _ => rfl) fun _ _ => rfl diff --git a/Mathlib/GroupTheory/Congruence/Hom.lean b/Mathlib/GroupTheory/Congruence/Hom.lean index 4611308d641d63..cd95f925f59537 100644 --- a/Mathlib/GroupTheory/Congruence/Hom.lean +++ b/Mathlib/GroupTheory/Congruence/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Group.Hom.Defs -import Mathlib.GroupTheory.Congruence.Defs +module + +public import Mathlib.Algebra.Group.Hom.Defs +public import Mathlib.GroupTheory.Congruence.Defs /-! # Congruence relations and homomorphisms @@ -24,6 +26,8 @@ congruence, congruence relation, quotient, quotient by congruence relation, mono quotient monoid -/ +@[expose] public section + variable (M : Type*) {N : Type*} {P : Type*} @@ -134,8 +138,7 @@ def correspondence {c : Con M} : { d // c ≤ d } ≃o Con c.Quotient where ⟨fun ⟨a, b, H, hx, hy⟩ => d.1.trans (d.1.symm <| d.2 <| c.eq.1 hx) <| d.1.trans H <| d.2 <| c.eq.1 hy, fun h => ⟨_, _, h, rfl, rfl⟩⟩ - right_inv d := - ext fun x y => + right_inv d := by exact ext fun x y => ⟨fun ⟨_, _, H, hx, hy⟩ => hx ▸ hy ▸ H, Con.induction_on₂ x y fun w z h => ⟨w, z, h, rfl, rfl⟩⟩ diff --git a/Mathlib/GroupTheory/Congruence/Opposite.lean b/Mathlib/GroupTheory/Congruence/Opposite.lean index 1a0db3b0689348..1bd3fce047f0b1 100644 --- a/Mathlib/GroupTheory/Congruence/Opposite.lean +++ b/Mathlib/GroupTheory/Congruence/Opposite.lean @@ -3,9 +3,10 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ +module -import Mathlib.Algebra.Opposites -import Mathlib.GroupTheory.Congruence.Defs +public import Mathlib.Algebra.Opposites +public import Mathlib.GroupTheory.Congruence.Defs /-! # Congruences on the opposite of a group @@ -14,6 +15,8 @@ This file defines the order isomorphism between the congruences on a group `G` a on the opposite group `Gᵒᵖ`. -/ +@[expose] public section + variable {M : Type*} [Mul M] diff --git a/Mathlib/GroupTheory/Coprod/Basic.lean b/Mathlib/GroupTheory/Coprod/Basic.lean index efd7c04c55f8ae..6eda3e82807175 100644 --- a/Mathlib/GroupTheory/Coprod/Basic.lean +++ b/Mathlib/GroupTheory/Coprod/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.PUnit -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.GroupTheory.Congruence.Basic +module + +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.GroupTheory.Congruence.Basic /-! # Coproduct (free product) of two monoids or groups @@ -117,6 +119,8 @@ There are several reasons to build an API from scratch. group, monoid, coproduct, free product -/ +@[expose] public section + assert_not_exists MonoidWithZero open FreeMonoid Function List Set diff --git a/Mathlib/GroupTheory/CoprodI.lean b/Mathlib/GroupTheory/CoprodI.lean index 12ee35bdae65a2..755d737078cb6b 100644 --- a/Mathlib/GroupTheory/CoprodI.lean +++ b/Mathlib/GroupTheory/CoprodI.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn, Joachim Breitner -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.GroupTheory.Congruence.Basic -import Mathlib.GroupTheory.FreeGroup.IsFreeGroup -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.GroupTheory.Congruence.Basic +public import Mathlib.GroupTheory.FreeGroup.IsFreeGroup +public import Mathlib.SetTheory.Cardinal.Basic /-! # The coproduct (a.k.a. the free product) of groups or monoids @@ -78,6 +80,8 @@ could be obtained by showing that `Monoid.CoprodI.Rel` is confluent. -/ +@[expose] public section + open Set diff --git a/Mathlib/GroupTheory/Coset/Basic.lean b/Mathlib/GroupTheory/Coset/Basic.lean index 4f10e9eccd0a57..a78b8be1a9b1aa 100644 --- a/Mathlib/GroupTheory/Coset/Basic.lean +++ b/Mathlib/GroupTheory/Coset/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mitchell Rowett. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Rowett, Kim Morrison -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Data.Setoid.Basic -import Mathlib.GroupTheory.Coset.Defs +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Data.Setoid.Basic +public import Mathlib.GroupTheory.Coset.Defs /-! # Cosets @@ -35,6 +37,8 @@ If instead `G` is an additive group, we can write (with `open scoped Pointwise` Properly merge with pointwise actions on sets, by renaming and deduplicating lemmas as appropriate. -/ +@[expose] public section + assert_not_exists Cardinal Multiset open Function MulOpposite Set diff --git a/Mathlib/GroupTheory/Coset/Card.lean b/Mathlib/GroupTheory/Coset/Card.lean index 2a7be3aacc4b9b..4419736cb7b115 100644 --- a/Mathlib/GroupTheory/Coset/Card.lean +++ b/Mathlib/GroupTheory/Coset/Card.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mitchell Rowett. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Rowett, Kim Morrison -/ -import Mathlib.GroupTheory.Coset.Basic -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.GroupTheory.Coset.Basic +public import Mathlib.SetTheory.Cardinal.Finite /-! # Lagrange's theorem: the order of a subgroup divides the order of the group. @@ -14,6 +16,8 @@ import Mathlib.SetTheory.Cardinal.Finite -/ +@[expose] public section + assert_not_exists Field open scoped Pointwise diff --git a/Mathlib/GroupTheory/Coset/Defs.lean b/Mathlib/GroupTheory/Coset/Defs.lean index 8e3a9fa24f2fef..7b6805649edb79 100644 --- a/Mathlib/GroupTheory/Coset/Defs.lean +++ b/Mathlib/GroupTheory/Coset/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mitchell Rowett. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Rowett, Kim Morrison -/ -import Mathlib.Algebra.Quotient -import Mathlib.Algebra.Group.Action.Opposite -import Mathlib.Algebra.Group.Subgroup.MulOpposite -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Quotient +public import Mathlib.Algebra.Group.Action.Opposite +public import Mathlib.Algebra.Group.Subgroup.MulOpposite +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Cosets @@ -38,6 +40,8 @@ If instead `G` is an additive group, we can write (with `open scoped Pointwise` Properly merge with pointwise actions on sets, by renaming and deduplicating lemmas as appropriate. -/ +@[expose] public section + assert_not_exists Cardinal open Function Set diff --git a/Mathlib/GroupTheory/CosetCover.lean b/Mathlib/GroupTheory/CosetCover.lean index 868da40c2354b0..3dd56e1a515bdf 100644 --- a/Mathlib/GroupTheory/CosetCover.lean +++ b/Mathlib/GroupTheory/CosetCover.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, Richard Copley. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, Richard Copley -/ -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.GroupTheory.Complement -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.GroupTheory.Complement +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Lemma of B. H. Neumann on coverings of a group by cosets. @@ -42,6 +44,8 @@ set of all minimal polynomials (not proved here). -/ +@[expose] public section + open scoped Pointwise namespace Subgroup diff --git a/Mathlib/GroupTheory/Coxeter/Basic.lean b/Mathlib/GroupTheory/Coxeter/Basic.lean index f5a7162b17e2af..e0a3e74d6443e1 100644 --- a/Mathlib/GroupTheory/Coxeter/Basic.lean +++ b/Mathlib/GroupTheory/Coxeter/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Newell Jensen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Newell Jensen, Mitchell Lee, Óscar Álvarez -/ -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.GroupTheory.Coxeter.Matrix -import Mathlib.GroupTheory.PresentedGroup -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Use +module + +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.GroupTheory.Coxeter.Matrix +public import Mathlib.GroupTheory.PresentedGroup +public import Mathlib.Tactic.NormNum.DivMod +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Use /-! # Coxeter groups and Coxeter systems @@ -84,6 +86,8 @@ coxeter system, coxeter group -/ +@[expose] public section + open Function Set List /-! ### Coxeter groups -/ diff --git a/Mathlib/GroupTheory/Coxeter/Inversion.lean b/Mathlib/GroupTheory/Coxeter/Inversion.lean index 49f3f7afcb289d..51d83196581147 100644 --- a/Mathlib/GroupTheory/Coxeter/Inversion.lean +++ b/Mathlib/GroupTheory/Coxeter/Inversion.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee, Óscar Álvarez -/ -import Mathlib.GroupTheory.Coxeter.Length -import Mathlib.Data.List.GetD -import Mathlib.Tactic.Group +module + +public import Mathlib.GroupTheory.Coxeter.Length +public import Mathlib.Data.List.GetD +public import Mathlib.Tactic.Group /-! # Reflections, inversions, and inversion sequences @@ -43,6 +45,8 @@ inversions of $w$ in some order, but we do not prove that in this file. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CoxeterSystem diff --git a/Mathlib/GroupTheory/Coxeter/Length.lean b/Mathlib/GroupTheory/Coxeter/Length.lean index be9f6233d3e6cb..facdc6980cb7b3 100644 --- a/Mathlib/GroupTheory/Coxeter/Length.lean +++ b/Mathlib/GroupTheory/Coxeter/Length.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee -/ -import Mathlib.Data.ZMod.Basic -import Mathlib.GroupTheory.Coxeter.Basic -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Zify +module + +public import Mathlib.Data.ZMod.Basic +public import Mathlib.GroupTheory.Coxeter.Basic +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Zify /-! # The length function, reduced words, and descents @@ -47,6 +49,8 @@ prove analogous results. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace CoxeterSystem diff --git a/Mathlib/GroupTheory/Coxeter/Matrix.lean b/Mathlib/GroupTheory/Coxeter/Matrix.lean index 2c20c46a416383..5fea2067f6de8d 100644 --- a/Mathlib/GroupTheory/Coxeter/Matrix.lean +++ b/Mathlib/GroupTheory/Coxeter/Matrix.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Newell Jensen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Newell Jensen, Mitchell Lee -/ -import Mathlib.LinearAlgebra.Matrix.Notation -import Mathlib.LinearAlgebra.Matrix.Symmetric +module + +public import Mathlib.LinearAlgebra.Matrix.Notation +public import Mathlib.LinearAlgebra.Matrix.Symmetric /-! # Coxeter matrices @@ -59,6 +61,8 @@ a Coxeter matrix and the standard geometric representation of a Coxeter group. -/ +@[expose] public section + /-- A *Coxeter matrix* is a symmetric matrix of natural numbers whose diagonal entries are equal to 1 and whose off-diagonal entries are not equal to 1. -/ @[ext] diff --git a/Mathlib/GroupTheory/Divisible.lean b/Mathlib/GroupTheory/Divisible.lean index 3c216c513a1fbb..f8d1857c788864 100644 --- a/Mathlib/GroupTheory/Divisible.lean +++ b/Mathlib/GroupTheory/Divisible.lean @@ -3,11 +3,14 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Algebra.Group.ULift -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Algebra.Module.NatInt -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Tactic.NormNum.Eq +module + +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Tactic.NormNum.Eq +public import Mathlib.Algebra.Field.Defs /-! # Divisible Group and rootable group @@ -68,6 +71,8 @@ and their multiplicative counterparts: TODO: Show that divisibility implies injectivity in the category of `AddCommGroup`. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/GroupTheory/DivisibleHull.lean b/Mathlib/GroupTheory/DivisibleHull.lean index 9f3b2800b8e6a4..57ee23bc07998f 100644 --- a/Mathlib/GroupTheory/DivisibleHull.lean +++ b/Mathlib/GroupTheory/DivisibleHull.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.Algebra.Order.Module.Archimedean -import Mathlib.Algebra.Order.Monoid.PNat -import Mathlib.Data.Sign.Defs -import Mathlib.RingTheory.Localization.FractionRing +module + +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.Algebra.Order.Module.Archimedean +public import Mathlib.Algebra.Order.Monoid.PNat +public import Mathlib.Data.Sign.Defs +public import Mathlib.RingTheory.Localization.FractionRing /-! # Divisible Hull of an abelian group @@ -36,6 +38,8 @@ it. -/ +@[expose] public section + variable {M : Type*} [AddCommMonoid M] local notation "↑ⁿ" => PNat.equivNonZeroDivisorsNat diff --git a/Mathlib/GroupTheory/DoubleCoset.lean b/Mathlib/GroupTheory/DoubleCoset.lean index 0188f9fa45b205..07d13f5892b6ff 100644 --- a/Mathlib/GroupTheory/DoubleCoset.lean +++ b/Mathlib/GroupTheory/DoubleCoset.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.GroupTheory.Coset.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.GroupTheory.Coset.Basic /-! # Double cosets @@ -20,6 +22,8 @@ this is the usual left or right quotient of a group by a subgroup. * `DoubleCoset.quotient`: The quotient of `G` by the double coset relation, i.e, `H \ G / K`. -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {G : Type*} [Group G] {α : Type*} [Mul α] diff --git a/Mathlib/GroupTheory/EckmannHilton.lean b/Mathlib/GroupTheory/EckmannHilton.lean index f7b56f0f2250d4..8dc97239afcd97 100644 --- a/Mathlib/GroupTheory/EckmannHilton.lean +++ b/Mathlib/GroupTheory/EckmannHilton.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau, Robert Y. Lewis -/ -import Mathlib.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Defs /-! # Eckmann-Hilton argument @@ -21,6 +23,8 @@ The main application lies in proving that higher homotopy groups (`πₙ` for `n -/ +@[expose] public section + universe u namespace EckmannHilton diff --git a/Mathlib/GroupTheory/Exponent.lean b/Mathlib/GroupTheory/Exponent.lean index 7995a18422a244..6a592688d9af52 100644 --- a/Mathlib/GroupTheory/Exponent.lean +++ b/Mathlib/GroupTheory/Exponent.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.GCDMonoid.Finset -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Data.Nat.Factorization.LCM -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.Tactic.Peel +module + +public import Mathlib.Algebra.GCDMonoid.Finset +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Data.Nat.Factorization.LCM +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.Tactic.Peel /-! # Exponent of a group @@ -42,6 +44,8 @@ it is equal to the lowest common multiple of the order of all elements of the gr * Refactor the characteristic of a ring to be the exponent of its underlying additive group. -/ +@[expose] public section + universe u diff --git a/Mathlib/GroupTheory/FiniteAbelian/Basic.lean b/Mathlib/GroupTheory/FiniteAbelian/Basic.lean index ef860136e39ef7..218e060273236c 100644 --- a/Mathlib/GroupTheory/FiniteAbelian/Basic.lean +++ b/Mathlib/GroupTheory/FiniteAbelian/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin -/ -import Mathlib.Algebra.Module.PID -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Data.ZMod.QuotientRing +module + +public import Mathlib.Algebra.Module.PID +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Data.ZMod.QuotientRing /-! # Structure of finite(ly generated) abelian groups @@ -18,6 +20,8 @@ import Mathlib.Data.ZMod.QuotientRing * `CommGroup.equiv_prod_multiplicative_zmod_of_finite` is a version for multiplicative groups. -/ +@[expose] public section + open scoped DirectSum /- diff --git a/Mathlib/GroupTheory/FiniteAbelian/Duality.lean b/Mathlib/GroupTheory/FiniteAbelian/Duality.lean index a70a76d84cd015..e046ad0be5225b 100644 --- a/Mathlib/GroupTheory/FiniteAbelian/Duality.lean +++ b/Mathlib/GroupTheory/FiniteAbelian/Duality.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.GroupTheory.FiniteAbelian.Basic -import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity +module + +public import Mathlib.GroupTheory.FiniteAbelian.Basic +public import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity /-! # Duality for finite abelian groups @@ -16,6 +18,8 @@ of unity, where `n` is the exponent of `G`. The main results in this file are * `CommGroup.monoidHom_mulEquiv_self_of_hasEnoughRootsOfUnity`: `G` is isomorphic to `G →* Mˣ`. -/ +@[expose] public section + namespace CommGroup open MonoidHom diff --git a/Mathlib/GroupTheory/Finiteness.lean b/Mathlib/GroupTheory/Finiteness.lean index f92a617709c962..66904e1fe6b83a 100644 --- a/Mathlib/GroupTheory/Finiteness.lean +++ b/Mathlib/GroupTheory/Finiteness.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Group.Pointwise.Set.Finite -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.GroupTheory.FreeGroup.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Finite +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.GroupTheory.FreeGroup.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Finitely generated monoids and groups @@ -26,6 +28,8 @@ finitely-generated modules. -/ +@[expose] public section + assert_not_exists MonoidWithZero /-! ### Monoids and submonoids -/ diff --git a/Mathlib/GroupTheory/FixedPointFree.lean b/Mathlib/GroupTheory/FixedPointFree.lean index 8540faac982548..89d0759a342cc0 100644 --- a/Mathlib/GroupTheory/FixedPointFree.lean +++ b/Mathlib/GroupTheory/FixedPointFree.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.GroupTheory.Perm.Cycle.Type +module + +public import Mathlib.GroupTheory.Perm.Cycle.Type /-! # Fixed-point-free automorphisms @@ -13,6 +15,8 @@ This file defines fixed-point-free automorphisms and proves some basic propertie An automorphism `φ` of a group `G` is fixed-point-free if `1 : G` is the only fixed point of `φ`. -/ +@[expose] public section + namespace MonoidHom variable {F G : Type*} diff --git a/Mathlib/GroupTheory/Frattini.lean b/Mathlib/GroupTheory/Frattini.lean index ab94bb144f0716..056bcc787956dd 100644 --- a/Mathlib/GroupTheory/Frattini.lean +++ b/Mathlib/GroupTheory/Frattini.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Colva Roney-Dougal. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Colva Roney-Dougal, Inna Capdeboscq, Susanna Fishel, Kim Morrison -/ -import Mathlib.GroupTheory.Nilpotent -import Mathlib.Order.Radical +module + +public import Mathlib.GroupTheory.Nilpotent +public import Mathlib.Order.Radical /-! # The Frattini subgroup @@ -16,6 +18,8 @@ We give the definition of the Frattini subgroup of a group, and three elementary * The Frattini subgroup of a finite group is nilpotent. -/ +@[expose] public section + /-- The Frattini subgroup of a group is the intersection of the maximal subgroups. -/ def frattini (G : Type*) [Group G] : Subgroup G := Order.radical (Subgroup G) diff --git a/Mathlib/GroupTheory/FreeAbelianGroup.lean b/Mathlib/GroupTheory/FreeAbelianGroup.lean index eb9dec378e12c0..93a3b6ca67d462 100644 --- a/Mathlib/GroupTheory/FreeAbelianGroup.lean +++ b/Mathlib/GroupTheory/FreeAbelianGroup.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Module.NatInt -import Mathlib.GroupTheory.Abelianization.Defs -import Mathlib.GroupTheory.FreeGroup.Basic +module + +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.GroupTheory.Abelianization.Defs +public import Mathlib.GroupTheory.FreeGroup.Basic /-! # Free abelian groups @@ -63,6 +65,8 @@ are about `FreeAbelianGroup.map`. -/ +@[expose] public section + assert_not_exists Cardinal Multiset universe u v diff --git a/Mathlib/GroupTheory/FreeGroup/Basic.lean b/Mathlib/GroupTheory/FreeGroup/Basic.lean index 86db850a4bcbe2..05674913e42dee 100644 --- a/Mathlib/GroupTheory/FreeGroup/Basic.lean +++ b/Mathlib/GroupTheory/FreeGroup/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Data.List.Chain +module + +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Data.List.Chain /-! # Free groups @@ -48,6 +50,8 @@ distinguish the quotient types more easily. free group, Newman's diamond lemma, Church-Rosser theorem -/ +@[expose] public section + open Relation open scoped List diff --git a/Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean b/Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean index ed343ea0b04e06..21053ee5423e19 100644 --- a/Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean +++ b/Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Bernhard Reinke. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amir Livne Bar-on, Bernhard Reinke -/ -import Mathlib.Data.List.Induction -import Mathlib.GroupTheory.FreeGroup.Basic +module + +public import Mathlib.Data.List.Induction +public import Mathlib.GroupTheory.FreeGroup.Basic /-! This file defines some extra lemmas for free groups, in particular about cyclically reduced words. @@ -14,6 +16,8 @@ This file defines some extra lemmas for free groups, in particular about cyclica * `FreeGroup.IsCyclicallyReduced`: the predicate for cyclically reduced words -/ + +@[expose] public section open List universe u diff --git a/Mathlib/GroupTheory/FreeGroup/GeneratorEquiv.lean b/Mathlib/GroupTheory/FreeGroup/GeneratorEquiv.lean index 469745872dd5d3..77cf146fd37afc 100644 --- a/Mathlib/GroupTheory/FreeGroup/GeneratorEquiv.lean +++ b/Mathlib/GroupTheory/FreeGroup/GeneratorEquiv.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.GroupTheory.FreeGroup.IsFreeGroup -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +module + +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.GroupTheory.FreeGroup.IsFreeGroup +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition /-! # Isomorphisms between free groups imply equivalences of their generators -/ +@[expose] public section + noncomputable section variable {α β G H : Type*} diff --git a/Mathlib/GroupTheory/FreeGroup/IsFreeGroup.lean b/Mathlib/GroupTheory/FreeGroup/IsFreeGroup.lean index aa2f24611eed81..c0b29d897c1b11 100644 --- a/Mathlib/GroupTheory/FreeGroup/IsFreeGroup.lean +++ b/Mathlib/GroupTheory/FreeGroup/IsFreeGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn, Eric Wieser, Joachim Breitner -/ -import Mathlib.GroupTheory.FreeGroup.Basic +module + +public import Mathlib.GroupTheory.FreeGroup.Basic /-! # Free groups structures on arbitrary types @@ -37,6 +39,8 @@ For the explicit construction of free groups, see `GroupTheory/FreeGroup`. -/ +@[expose] public section + universe u diff --git a/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean b/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean index 01dcec30499c9c..8c8d35fb30d053 100644 --- a/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean +++ b/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.CategoryTheory.Action -import Mathlib.Combinatorics.Quiver.Arborescence -import Mathlib.Combinatorics.Quiver.ConnectedComponent -import Mathlib.GroupTheory.FreeGroup.IsFreeGroup +module + +public import Mathlib.CategoryTheory.Action +public import Mathlib.Combinatorics.Quiver.Arborescence +public import Mathlib.Combinatorics.Quiver.ConnectedComponent +public import Mathlib.GroupTheory.FreeGroup.IsFreeGroup /-! # The Nielsen-Schreier theorem @@ -47,6 +49,8 @@ free group, free groupoid, Nielsen-Schreier -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/GroupTheory/FreeGroup/Reduce.lean b/Mathlib/GroupTheory/FreeGroup/Reduce.lean index 7229db2f510716..06c9230c0fc1df 100644 --- a/Mathlib/GroupTheory/FreeGroup/Reduce.lean +++ b/Mathlib/GroupTheory/FreeGroup/Reduce.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Data.Finset.Dedup -import Mathlib.Data.Fintype.Defs -import Mathlib.Data.List.Sublists -import Mathlib.GroupTheory.FreeGroup.Basic +module + +public import Mathlib.Data.Finset.Dedup +public import Mathlib.Data.Fintype.Defs +public import Mathlib.Data.List.Sublists +public import Mathlib.GroupTheory.FreeGroup.Basic /-! # The maximal reduction of a word in a free group @@ -18,6 +20,8 @@ import Mathlib.GroupTheory.FreeGroup.Basic -/ +@[expose] public section + namespace FreeGroup diff --git a/Mathlib/GroupTheory/Goursat.lean b/Mathlib/GroupTheory/Goursat.lean index b1c91daedf6d31..42bf3ae9057a16 100644 --- a/Mathlib/GroupTheory/Goursat.lean +++ b/Mathlib/GroupTheory/Goursat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Graph -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Group.Graph +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Goursat's lemma for subgroups @@ -20,6 +22,8 @@ the graph of an isomorphism `G ⧸ G' ≃ H ⧸ H'`. respectively. -/ +@[expose] public section + open Function Set namespace Subgroup diff --git a/Mathlib/GroupTheory/GroupAction/Basic.lean b/Mathlib/GroupTheory/GroupAction/Basic.lean index f19ff063dc5d73..ca1db953902059 100644 --- a/Mathlib/GroupTheory/GroupAction/Basic.lean +++ b/Mathlib/GroupTheory/GroupAction/Basic.lean @@ -3,16 +3,18 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Action.Prod -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Data.Finite.Sigma -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Setoid.Basic -import Mathlib.GroupTheory.GroupAction.Defs +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Action.Prod +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Data.Finite.Sigma +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Setoid.Basic +public import Mathlib.GroupTheory.GroupAction.Defs /-! # Basic properties of group actions @@ -30,6 +32,8 @@ of `•` belong elsewhere. -/ +@[expose] public section + universe u v diff --git a/Mathlib/GroupTheory/GroupAction/Blocks.lean b/Mathlib/GroupTheory/GroupAction/Blocks.lean index 707086307d55a8..c124a2f6b37981 100644 --- a/Mathlib/GroupTheory/GroupAction/Blocks.lean +++ b/Mathlib/GroupTheory/GroupAction/Blocks.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.Pointwise.Stabilizer -import Mathlib.Data.Setoid.Partition -import Mathlib.GroupTheory.GroupAction.Pointwise -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.GroupTheory.Index -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Pointwise.Stabilizer +public import Mathlib.Data.Setoid.Partition +public import Mathlib.GroupTheory.GroupAction.Pointwise +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.GroupTheory.Index +public import Mathlib.Tactic.IntervalCases /-! # Blocks @@ -47,6 +49,8 @@ We follow [Wielandt-1964]. -/ +@[expose] public section + open Set open scoped Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/CardCommute.lean b/Mathlib/GroupTheory/GroupAction/CardCommute.lean index 8af2a3d7e9e1ff..6114b95fa837e3 100644 --- a/Mathlib/GroupTheory/GroupAction/CardCommute.lean +++ b/Mathlib/GroupTheory/GroupAction/CardCommute.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Thomas Browning -/ -import Mathlib.Algebra.Group.ConjFinite -import Mathlib.GroupTheory.Coset.Card -import Mathlib.GroupTheory.GroupAction.Quotient +module + +public import Mathlib.Algebra.Group.ConjFinite +public import Mathlib.GroupTheory.Coset.Card +public import Mathlib.GroupTheory.GroupAction.Quotient /-! # Properties of group actions involving quotient groups @@ -22,6 +24,8 @@ prove these cardinality properties. These lemmas are separate because they require the development of cardinals. -/ +@[expose] public section + variable {α β : Type*} open Function diff --git a/Mathlib/GroupTheory/GroupAction/ConjAct.lean b/Mathlib/GroupTheory/GroupAction/ConjAct.lean index c4045285cc20d5..df1963ae7583a5 100644 --- a/Mathlib/GroupTheory/GroupAction/ConjAct.lean +++ b/Mathlib/GroupTheory/GroupAction/ConjAct.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic -import Mathlib.Data.Fintype.Card -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.GroupTheory.Subgroup.Centralizer +module + +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +public import Mathlib.Data.Fintype.Card +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.GroupTheory.Subgroup.Centralizer /-! # Conjugation action of a group on itself @@ -32,6 +34,8 @@ is that some theorems about the group actions will not apply when since this -/ +@[expose] public section + assert_not_exists MonoidWithZero variable (α M G : Type*) diff --git a/Mathlib/GroupTheory/GroupAction/Defs.lean b/Mathlib/GroupTheory/GroupAction/Defs.lean index 590bbff29a77d6..a9abfd8fcbd07f 100644 --- a/Mathlib/GroupTheory/GroupAction/Defs.lean +++ b/Mathlib/GroupTheory/GroupAction/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Submonoid.MulAction -import Mathlib.Data.Set.BooleanAlgebra +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Submonoid.MulAction +public import Mathlib.Data.Set.BooleanAlgebra /-! # Definition of `orbit`, `fixedPoints` and `stabilizer` @@ -23,6 +25,8 @@ This file defines orbits, stabilizers, and other objects defined in terms of act -/ +@[expose] public section + assert_not_exists MonoidWithZero DistribMulAction universe u v diff --git a/Mathlib/GroupTheory/GroupAction/DomAct/ActionHom.lean b/Mathlib/GroupTheory/GroupAction/DomAct/ActionHom.lean index 1aa51fe52f189d..d3707948a66012 100644 --- a/Mathlib/GroupTheory/GroupAction/DomAct/ActionHom.lean +++ b/Mathlib/GroupTheory/GroupAction/DomAct/ActionHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.GroupTheory.GroupAction.DomAct.Basic -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic +public import Mathlib.GroupTheory.GroupAction.Hom /-! # Action of `Mᵈᵐᵃ` on `α →[N] β` and `A →+[N] B` @@ -18,6 +20,8 @@ Add left actions of, e.g., `M` on `α →[N] β` to `Mathlib/Algebra/Hom/GroupAc `SMulCommClass` instances saying that left and right actions commute. -/ +@[expose] public section + namespace DomMulAct section MulActionSemiHom diff --git a/Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean b/Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean index e4841a971c22a1..e0b4826645e7bd 100644 --- a/Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean +++ b/Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Opposite -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.GroupWithZero.Action.Hom -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.GroupWithZero.Action.Hom +public import Mathlib.Algebra.Ring.Defs /-! # Type tags for right action on the domain of a function @@ -81,6 +83,8 @@ right action, so lemmas can be formulated in terms of `DomMulAct`. group action, function, domain -/ +@[expose] public section + open Function /-- If `M` multiplicatively acts on `α`, then `DomMulAct M` acts on `α → β` as well as some diff --git a/Mathlib/GroupTheory/GroupAction/Embedding.lean b/Mathlib/GroupTheory/GroupAction/Embedding.lean index 49a3fa5c1ac744..65999da1759678 100644 --- a/Mathlib/GroupTheory/GroupAction/Embedding.lean +++ b/Mathlib/GroupTheory/GroupAction/Embedding.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Action.Pi -import Mathlib.Algebra.Group.Opposite +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Action.Pi +public import Mathlib.Algebra.Group.Opposite /-! # Group actions on embeddings @@ -16,6 +18,8 @@ instances defined by `Pi.mulAction`. Note that unlike the `Pi` instance, this requires `G` to be a group. -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u v w diff --git a/Mathlib/GroupTheory/GroupAction/FixedPoints.lean b/Mathlib/GroupTheory/GroupAction/FixedPoints.lean index 8609e83a1c3677..cea02c41f6eb1d 100644 --- a/Mathlib/GroupTheory/GroupAction/FixedPoints.lean +++ b/Mathlib/GroupTheory/GroupAction/FixedPoints.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Emilie Burgun. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Emilie Burgun -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Group.Commute.Basic -import Mathlib.Dynamics.PeriodicPts.Defs -import Mathlib.GroupTheory.GroupAction.Defs +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Group.Commute.Basic +public import Mathlib.Dynamics.PeriodicPts.Defs +public import Mathlib.GroupTheory.GroupAction.Defs /-! # Properties of `fixedPoints` and `fixedBy` @@ -43,6 +45,8 @@ To properly use theorems using `fixedBy (Set α) g`, you should `open Pointwise` all points in `s` are fixed by `g`, whereas the former only requires that `g • x ∈ s`. -/ +@[expose] public section + namespace MulAction open Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean b/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean index b6c559356f60ab..d91e0dc0e1c45b 100644 --- a/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean +++ b/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.GroupTheory.GroupAction.FixedPoints +module + +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.GroupTheory.GroupAction.FixedPoints /-! @@ -36,6 +38,8 @@ TODO : -/ +@[expose] public section + section Monoid diff --git a/Mathlib/GroupTheory/GroupAction/Hom.lean b/Mathlib/GroupTheory/GroupAction/Hom.lean index 0eee1caae8774a..5e67c575023603 100644 --- a/Mathlib/GroupTheory/GroupAction/Hom.lean +++ b/Mathlib/GroupTheory/GroupAction/Hom.lean @@ -3,12 +3,13 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Group.Hom.CompTypeclasses -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Notation.Prod -import Mathlib.Algebra.Regular.SMul -import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.Algebra.Group.Hom.CompTypeclasses +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Notation.Prod +public import Mathlib.Algebra.Regular.SMul +public import Mathlib.Algebra.Ring.Action.Basic /-! # Equivariant homomorphisms @@ -54,6 +55,8 @@ instances of `Mul M`, `Add M`, `SMul M X` and `VAdd M X`… -/ +@[expose] public section + assert_not_exists Submonoid section MulActionHom diff --git a/Mathlib/GroupTheory/GroupAction/IterateAct.lean b/Mathlib/GroupTheory/GroupAction/IterateAct.lean index 912fcd1b2bd0ff..e9bdbf69524f6a 100644 --- a/Mathlib/GroupTheory/GroupAction/IterateAct.lean +++ b/Mathlib/GroupTheory/GroupAction/IterateAct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Data.Countable.Defs +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Data.Countable.Defs /-! # Monoid action by iterates of a map @@ -15,6 +17,8 @@ that acts on `α` by iterates of `f`, `⟨n⟩ • x = f^[n] x`. It is useful to convert between definitions and theorems about maps and monoid actions. -/ +@[expose] public section + /-- A structure with a single field `val : ℕ` that additively acts on `α` by `⟨n⟩ +ᵥ x = f^[n] x`. -/ structure IterateAddAct {α : Type*} (f : α → α) where diff --git a/Mathlib/GroupTheory/GroupAction/Iwasawa.lean b/Mathlib/GroupTheory/GroupAction/Iwasawa.lean index 3bcdad0f06603a..dce11ba623f5be 100644 --- a/Mathlib/GroupTheory/GroupAction/Iwasawa.lean +++ b/Mathlib/GroupTheory/GroupAction/Iwasawa.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Group.Action.End -import Mathlib.GroupTheory.GroupAction.Primitive -import Mathlib.GroupTheory.Subgroup.Simple +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.GroupTheory.GroupAction.Primitive +public import Mathlib.GroupTheory.Subgroup.Simple /-! # Iwasawa criterion for simplicity @@ -34,6 +35,8 @@ Additivize. The issue is that it requires to additivize `commutator` (which, moreover, lives in the root namespace) -/ +@[expose] public section + namespace MulAction open scoped BigOperators Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/Jordan.lean b/Mathlib/GroupTheory/GroupAction/Jordan.lean index c64c4ef1991a45..94be305d07fd1e 100644 --- a/Mathlib/GroupTheory/GroupAction/Jordan.lean +++ b/Mathlib/GroupTheory/GroupAction/Jordan.lean @@ -3,10 +3,11 @@ Copyright (c) 2025. Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.Data.Set.Card -import Mathlib.GroupTheory.GroupAction.MultiplePrimitivity +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.Data.Set.Card +public import Mathlib.GroupTheory.GroupAction.MultiplePrimitivity /-! # Theorems of Jordan @@ -43,6 +44,8 @@ This mostly follows the book [Wielandt, *Finite permutation groups*][Wielandt-19 -/ +@[expose] public section + open MulAction SubMulAction Subgroup open scoped Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean b/Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean index c16c3da12c9c4e..5c97a2e70c286b 100644 --- a/Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean +++ b/Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.GroupTheory.GroupAction.MultipleTransitivity -import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup +public import Mathlib.GroupTheory.GroupAction.MultipleTransitivity +public import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup /-! # Multiply preprimitive actions @@ -35,6 +36,8 @@ is `m`-primitive. -/ +@[expose] public section + open scoped BigOperators Pointwise Cardinal namespace MulAction diff --git a/Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean b/Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean index 2efcf56b334637..6acbd301fbec02 100644 --- a/Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean +++ b/Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean @@ -3,12 +3,13 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.GroupTheory.GroupAction.Primitive -import Mathlib.GroupTheory.SpecificGroups.Alternating -import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup -import Mathlib.SetTheory.Cardinal.Embedding -import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.GroupTheory.GroupAction.Primitive +public import Mathlib.GroupTheory.SpecificGroups.Alternating +public import Mathlib.GroupTheory.GroupAction.SubMulAction.OfFixingSubgroup +public import Mathlib.SetTheory.Cardinal.Embedding +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # Multiple transitivity @@ -47,6 +48,8 @@ on `α`, and some results are developed in this context. -/ +@[expose] public section + open MulAction MulActionHom Function.Embedding Fin Set Nat section Functoriality diff --git a/Mathlib/GroupTheory/GroupAction/Period.lean b/Mathlib/GroupTheory/GroupAction/Period.lean index 0c5e988fc713ad..85dd483d72f812 100644 --- a/Mathlib/GroupTheory/GroupAction/Period.lean +++ b/Mathlib/GroupTheory/GroupAction/Period.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Emilie Burgun. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Emilie Burgun -/ +module -import Mathlib.Dynamics.PeriodicPts.Lemmas -import Mathlib.GroupTheory.Exponent -import Mathlib.GroupTheory.GroupAction.Basic +public import Mathlib.Dynamics.PeriodicPts.Lemmas +public import Mathlib.GroupTheory.Exponent +public import Mathlib.GroupTheory.GroupAction.Basic /-! # Period of a group action @@ -19,6 +20,8 @@ If such an `m` does not exist, then by convention `MulAction.period` and `AddAction.period` return 0. -/ +@[expose] public section + namespace MulAction universe u v diff --git a/Mathlib/GroupTheory/GroupAction/Pointwise.lean b/Mathlib/GroupTheory/GroupAction/Pointwise.lean index 7abd7651ac670d..a397769e6a61ec 100644 --- a/Mathlib/GroupTheory/GroupAction/Pointwise.lean +++ b/Mathlib/GroupTheory/GroupAction/Pointwise.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen, Frédéric Dupuis, Heather Macbeth, Antoine Chambert-Loir -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Data.Set.Function -import Mathlib.GroupTheory.GroupAction.Hom -import Mathlib.Algebra.Group.Units.Hom +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Data.Set.Function +public import Mathlib.GroupTheory.GroupAction.Hom +public import Mathlib.Algebra.Group.Units.Hom /-! # Pointwise actions of equivariant maps @@ -29,6 +31,8 @@ import Mathlib.Algebra.Group.Units.Hom -/ +@[expose] public section + open Function Set Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/Primitive.lean b/Mathlib/GroupTheory/GroupAction/Primitive.lean index b55b1255c87f27..35066ef79efd52 100644 --- a/Mathlib/GroupTheory/GroupAction/Primitive.lean +++ b/Mathlib/GroupTheory/GroupAction/Primitive.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.Setoid.Partition.Card -import Mathlib.GroupTheory.GroupAction.Blocks -import Mathlib.GroupTheory.GroupAction.Transitive +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.Setoid.Partition.Card +public import Mathlib.GroupTheory.GroupAction.Blocks +public import Mathlib.GroupTheory.GroupAction.Transitive /-! # Primitive actions @@ -66,6 +68,8 @@ import Mathlib.GroupTheory.GroupAction.Transitive -/ +@[expose] public section + open Pointwise namespace MulAction diff --git a/Mathlib/GroupTheory/GroupAction/Quotient.lean b/Mathlib/GroupTheory/GroupAction/Quotient.lean index 4252e211ec9672..078b10c12f0b2a 100644 --- a/Mathlib/GroupTheory/GroupAction/Quotient.lean +++ b/Mathlib/GroupTheory/GroupAction/Quotient.lean @@ -3,15 +3,17 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Thomas Browning -/ -import Mathlib.Algebra.Group.Subgroup.Actions -import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Dynamics.PeriodicPts.Defs -import Mathlib.GroupTheory.Commutator.Basic -import Mathlib.GroupTheory.Coset.Basic -import Mathlib.GroupTheory.GroupAction.Basic -import Mathlib.GroupTheory.GroupAction.ConjAct -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.Algebra.Group.Subgroup.Actions +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Dynamics.PeriodicPts.Defs +public import Mathlib.GroupTheory.Commutator.Basic +public import Mathlib.GroupTheory.Coset.Basic +public import Mathlib.GroupTheory.GroupAction.Basic +public import Mathlib.GroupTheory.GroupAction.ConjAct +public import Mathlib.GroupTheory.GroupAction.Hom /-! # Properties of group actions involving quotient groups @@ -24,6 +26,8 @@ This file proves properties of group actions which use the quotient group constr as well as their analogues for additive groups. -/ +@[expose] public section + assert_not_exists Cardinal universe u v w diff --git a/Mathlib/GroupTheory/GroupAction/Ring.lean b/Mathlib/GroupTheory/GroupAction/Ring.lean index 79effed6fc4fb2..535232af84fab9 100644 --- a/Mathlib/GroupTheory/GroupAction/Ring.lean +++ b/Mathlib/GroupTheory/GroupAction/Ring.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.Ring.Defs /-! # Commutativity and associativity of action of integers on rings @@ -17,6 +19,8 @@ Those instances are in their own file only because they require much less import file they could go to. This is unfortunate and should be fixed by reorganising files. -/ +@[expose] public section + open scoped Int variable {R : Type*} diff --git a/Mathlib/GroupTheory/GroupAction/SubMulAction.lean b/Mathlib/GroupTheory/GroupAction/SubMulAction.lean index 056d95f6301ad3..24c8a04f9107f8 100644 --- a/Mathlib/GroupTheory/GroupAction/SubMulAction.lean +++ b/Mathlib/GroupTheory/GroupAction/SubMulAction.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Data.SetLike.Basic -import Mathlib.Data.Setoid.Basic -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Data.Setoid.Basic +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.GroupTheory.GroupAction.Hom /-! @@ -31,6 +33,8 @@ For most uses, typically `Submodule R M` is more powerful. submodule, mul_action -/ +@[expose] public section + open Function diff --git a/Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean b/Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean index c798dc2712162f..88e7af964eebba 100644 --- a/Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean +++ b/Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean @@ -3,13 +3,14 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ - -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.GroupTheory.GroupAction.FixingSubgroup -import Mathlib.GroupTheory.GroupAction.SubMulAction.OfStabilizer -import Mathlib.GroupTheory.GroupAction.Transitive -import Mathlib.GroupTheory.GroupAction.Primitive -import Mathlib.Tactic.Group +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.GroupTheory.GroupAction.FixingSubgroup +public import Mathlib.GroupTheory.GroupAction.SubMulAction.OfStabilizer +public import Mathlib.GroupTheory.GroupAction.Transitive +public import Mathlib.GroupTheory.GroupAction.Primitive +public import Mathlib.Tactic.Group /-! # SubMulActions on complements of invariant subsets @@ -61,6 +62,8 @@ and permit to manipulate them in a relatively smooth way: -/ +@[expose] public section + open scoped Pointwise open MulAction Function diff --git a/Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean b/Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean index 79487496a4da22..01a66425f64fd7 100644 --- a/Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean +++ b/Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean @@ -3,12 +3,13 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.GroupTheory.GroupAction.Basic -import Mathlib.GroupTheory.GroupAction.Embedding -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.Data.Fin.Tuple.Embedding +public import Mathlib.GroupTheory.GroupAction.Basic +public import Mathlib.GroupTheory.GroupAction.Embedding +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Data.Fin.Tuple.Embedding /-! # The SubMulAction of the stabilizer of a point on the complement of that point @@ -45,6 +46,8 @@ Consider `a b : α` and `g : G` such that `hg : g • b = a`. -/ +@[expose] public section + open scoped Pointwise open MulAction Function.Embedding diff --git a/Mathlib/GroupTheory/GroupAction/SubMulAction/Pointwise.lean b/Mathlib/GroupTheory/GroupAction/SubMulAction/Pointwise.lean index 2ded9f87fca22c..0390b559d60d78 100644 --- a/Mathlib/GroupTheory/GroupAction/SubMulAction/Pointwise.lean +++ b/Mathlib/GroupTheory/GroupAction/SubMulAction/Pointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Pointwise monoid structures on SubMulAction @@ -16,6 +18,8 @@ To match `Submodule.idemSemiring`, we do not put these in the `Pointwise` locale -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/Support.lean b/Mathlib/GroupTheory/GroupAction/Support.lean index 2539e0cf2077f4..d3ff65cc073201 100644 --- a/Mathlib/GroupTheory/GroupAction/Support.lean +++ b/Mathlib/GroupTheory/GroupAction/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Scalar +module + +public import Mathlib.Algebra.Group.Action.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar /-! # Support of an element under an action @@ -15,6 +17,8 @@ Given an action of a group `G` on a type `α`, we say that a set `s : Set α` su This is crucial in Fourier-Motzkin constructions. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Pointwise diff --git a/Mathlib/GroupTheory/GroupAction/Transitive.lean b/Mathlib/GroupTheory/GroupAction/Transitive.lean index 9fbb52c03f5e63..d58086ede2bc6a 100644 --- a/Mathlib/GroupTheory/GroupAction/Transitive.lean +++ b/Mathlib/GroupTheory/GroupAction/Transitive.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.GroupTheory.GroupAction.Hom +module + +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.GroupTheory.GroupAction.Hom /-! # Complements to pretransitive actions @@ -28,6 +30,8 @@ Given `MulAction G X` where `G` is a group, -/ +@[expose] public section + variable {G X : Type*} [Group G] [MulAction G X] namespace MulAction diff --git a/Mathlib/GroupTheory/GroupExtension/Basic.lean b/Mathlib/GroupTheory/GroupExtension/Basic.lean index 4b09c2be17ab28..7ea35beab352ff 100644 --- a/Mathlib/GroupTheory/GroupExtension/Basic.lean +++ b/Mathlib/GroupTheory/GroupExtension/Basic.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Yudai Yamazaki. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yudai Yamazaki -/ +module -import Mathlib.GroupTheory.GroupExtension.Defs -import Mathlib.GroupTheory.SemidirectProduct -import Mathlib.GroupTheory.QuotientGroup.Basic -import Mathlib.Tactic.Group +public import Mathlib.GroupTheory.GroupExtension.Defs +public import Mathlib.GroupTheory.SemidirectProduct +public import Mathlib.GroupTheory.QuotientGroup.Basic +public import Mathlib.Tactic.Group /-! # Basic lemmas about group extensions @@ -17,6 +18,8 @@ This file gives basic lemmas about group extensions. For the main definitions, see `Mathlib/GroupTheory/GroupExtension/Defs.lean`. -/ +@[expose] public section + variable {N G : Type*} [Group N] [Group G] namespace GroupExtension diff --git a/Mathlib/GroupTheory/GroupExtension/Defs.lean b/Mathlib/GroupTheory/GroupExtension/Defs.lean index bead54aa851e47..a86660b577d94d 100644 --- a/Mathlib/GroupTheory/GroupExtension/Defs.lean +++ b/Mathlib/GroupTheory/GroupExtension/Defs.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Yudai Yamazaki. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yudai Yamazaki -/ +module -import Mathlib.GroupTheory.GroupAction.ConjAct -import Mathlib.GroupTheory.SemidirectProduct +public import Mathlib.GroupTheory.GroupAction.ConjAct +public import Mathlib.GroupTheory.SemidirectProduct /-! # Group Extensions @@ -50,6 +51,8 @@ If `N` is abelian, (which is also stated as a TODO in `RepresentationTheory/GroupCohomology/LowDegree.lean`). -/ +@[expose] public section + variable (N E G : Type*) /-- `AddGroupExtension N E G` is a short exact sequence of additive groups `0 → N → E → G → 0`. -/ diff --git a/Mathlib/GroupTheory/HNNExtension.lean b/Mathlib/GroupTheory/HNNExtension.lean index 1324ac014cf55a..01d6e51be925a8 100644 --- a/Mathlib/GroupTheory/HNNExtension.lean +++ b/Mathlib/GroupTheory/HNNExtension.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.GroupTheory.Coprod.Basic -import Mathlib.GroupTheory.Complement +module + +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.GroupTheory.Coprod.Basic +public import Mathlib.GroupTheory.Complement /-! @@ -31,6 +33,8 @@ and Hanna Neumann. -/ +@[expose] public section + assert_not_exists Field open Monoid Coprod Multiplicative Subgroup Function diff --git a/Mathlib/GroupTheory/Index.lean b/Mathlib/GroupTheory/Index.lean index 1c24fe2c160f4d..4cc4b19bb94b9d 100644 --- a/Mathlib/GroupTheory/Index.lean +++ b/Mathlib/GroupTheory/Index.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Finset -import Mathlib.Algebra.GroupWithZero.Subgroup -import Mathlib.Data.Finite.Card -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Set.Card -import Mathlib.GroupTheory.Coset.Card -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.QuotientGroup.Basic +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Finset +public import Mathlib.Algebra.GroupWithZero.Subgroup +public import Mathlib.Data.Finite.Card +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Set.Card +public import Mathlib.GroupTheory.Coset.Card +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.QuotientGroup.Basic /-! # Index of a Subgroup @@ -36,6 +38,8 @@ Several theorems proved in this file are known as Lagrange's theorem. - `MulAction.index_stabilizer`: the index of the stabilizer is the cardinality of the orbit -/ +@[expose] public section + assert_not_exists Field @[to_additive] diff --git a/Mathlib/GroupTheory/IndexNormal.lean b/Mathlib/GroupTheory/IndexNormal.lean index c19d6ad21409ee..22942b245a161e 100644 --- a/Mathlib/GroupTheory/IndexNormal.lean +++ b/Mathlib/GroupTheory/IndexNormal.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Data.Finite.Perm -import Mathlib.Data.Nat.Prime.Factorial -import Mathlib.GroupTheory.Index +module + +public import Mathlib.Data.Finite.Perm +public import Mathlib.Data.Nat.Prime.Factorial +public import Mathlib.GroupTheory.Index /-! # Subgroups of small index are normal @@ -17,6 +19,8 @@ import Mathlib.GroupTheory.Index -/ +@[expose] public section + assert_not_exists Field open MulAction MonoidHom Nat diff --git a/Mathlib/GroupTheory/MonoidLocalization/Away.lean b/Mathlib/GroupTheory/MonoidLocalization/Away.lean index 3d51240fc097f2..d73b05a23ac782 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/Away.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/Away.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.GroupTheory.MonoidLocalization.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.GroupTheory.MonoidLocalization.Basic /-! # Localizing commutative monoids away from an element @@ -17,6 +19,8 @@ localization, monoid localization, quotient monoid, congruence relation, charact commutative monoid, grothendieck group -/ +@[expose] public section + assert_not_exists MonoidWithZero open Function diff --git a/Mathlib/GroupTheory/MonoidLocalization/Basic.lean b/Mathlib/GroupTheory/MonoidLocalization/Basic.lean index 187ae222757049..eb5cda23fd3ca5 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/Basic.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.Algebra.Regular.Basic -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.GroupTheory.OreLocalization.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.GroupTheory.OreLocalization.Basic /-! # Localizations of commutative monoids @@ -72,6 +74,8 @@ localization, monoid localization, quotient monoid, congruence relation, charact commutative monoid, grothendieck group -/ +@[expose] public section + assert_not_exists MonoidWithZero Ring open Function diff --git a/Mathlib/GroupTheory/MonoidLocalization/Cardinality.lean b/Mathlib/GroupTheory/MonoidLocalization/Cardinality.lean index a94d7c377c6228..97a068ebf5d1f7 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/Cardinality.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/Cardinality.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.GroupTheory.MonoidLocalization.Basic -import Mathlib.GroupTheory.OreLocalization.Cardinality +module + +public import Mathlib.GroupTheory.MonoidLocalization.Basic +public import Mathlib.GroupTheory.OreLocalization.Cardinality /-! @@ -14,6 +16,8 @@ This file contains some results on cardinality of localizations. -/ +@[expose] public section + universe u open Cardinal diff --git a/Mathlib/GroupTheory/MonoidLocalization/DivPairs.lean b/Mathlib/GroupTheory/MonoidLocalization/DivPairs.lean index 7ad172cf6aeeb8..eabb5a60d7e1dc 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/DivPairs.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/DivPairs.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yaël Dillies, Michał Mrugała. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Michał Mrugała -/ -import Mathlib.GroupTheory.MonoidLocalization.Basic +module + +public import Mathlib.GroupTheory.MonoidLocalization.Basic /-! # Submonoid of pairs with quotient in a submonoid @@ -11,6 +13,8 @@ import Mathlib.GroupTheory.MonoidLocalization.Basic This file defines the submonoid of pairs whose quotient lies in a submonoid of the localization. -/ +@[expose] public section + variable {M G H : Type*} [CommMonoid M] [CommGroup G] [CommGroup H] {f : (⊤ : Submonoid M).LocalizationMap G} {g : (⊤ : Submonoid M).LocalizationMap H} {s : Submonoid G} {x : M × M} diff --git a/Mathlib/GroupTheory/MonoidLocalization/Finite.lean b/Mathlib/GroupTheory/MonoidLocalization/Finite.lean index 8e0478ea56efae..b4262ddc66daa4 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/Finite.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies, Patrick Luo. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Patrick Luo -/ -import Mathlib.GroupTheory.Finiteness -import Mathlib.GroupTheory.MonoidLocalization.GrothendieckGroup +module + +public import Mathlib.GroupTheory.Finiteness +public import Mathlib.GroupTheory.MonoidLocalization.GrothendieckGroup /-! # Localization of a finitely generated submonoid @@ -14,6 +16,8 @@ import Mathlib.GroupTheory.MonoidLocalization.GrothendieckGroup If `Mathlib/GroupTheory/Finiteness.lean` wasn't so heavy, this could move earlier. -/ +@[expose] public section + open Localization variable {M : Type*} [CommMonoid M] {S : Submonoid M} diff --git a/Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean b/Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean index 6be9880a35ffb8..e9a805c2a5f12d 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Alex J. Best, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Yaël Dillies -/ -import Mathlib.GroupTheory.MonoidLocalization.Basic +module + +public import Mathlib.GroupTheory.MonoidLocalization.Basic /-! # Grothendieck group @@ -20,6 +22,8 @@ obtained by formally making the last term of each short exact sequence invertibl * [*Grothendieck group*, Wikipedia](https://en.wikipedia.org/wiki/Grothendieck_group#Grothendieck_group_of_a_commutative_monoid) -/ +@[expose] public section + open Function Localization namespace Algebra diff --git a/Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean b/Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean index 035ee0401669dc..fa91eaad4808a1 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean @@ -3,17 +3,21 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.GroupTheory.MonoidLocalization.Basic -import Mathlib.RingTheory.OreLocalization.Basic -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.GroupTheory.MonoidLocalization.Basic +public import Mathlib.RingTheory.OreLocalization.Basic +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors /-! # Localizations of commutative monoids with zeroes -/ +@[expose] public section + open Function section CommMonoidWithZero diff --git a/Mathlib/GroupTheory/MonoidLocalization/Order.lean b/Mathlib/GroupTheory/MonoidLocalization/Order.lean index 5bdd908475f8b5..a6673530378bb1 100644 --- a/Mathlib/GroupTheory/MonoidLocalization/Order.lean +++ b/Mathlib/GroupTheory/MonoidLocalization/Order.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.GroupTheory.MonoidLocalization.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.GroupTheory.MonoidLocalization.Basic /-! # Ordered structures on localizations of commutative monoids -/ +@[expose] public section + open Function namespace Localization diff --git a/Mathlib/GroupTheory/Nilpotent.lean b/Mathlib/GroupTheory/Nilpotent.lean index 20d0113e8cc889..8f416378437055 100644 --- a/Mathlib/GroupTheory/Nilpotent.lean +++ b/Mathlib/GroupTheory/Nilpotent.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Ines Wright, Joachim Breitner -/ -import Mathlib.GroupTheory.Solvable -import Mathlib.GroupTheory.Sylow -import Mathlib.Algebra.Group.Subgroup.Order -import Mathlib.GroupTheory.Commutator.Finite +module + +public import Mathlib.GroupTheory.Solvable +public import Mathlib.GroupTheory.Sylow +public import Mathlib.Algebra.Group.Subgroup.Order +public import Mathlib.GroupTheory.Commutator.Finite /-! @@ -74,6 +76,8 @@ are not central series if `G` is not nilpotent is a standard abuse of notation. -/ +@[expose] public section + open Subgroup diff --git a/Mathlib/GroupTheory/NoncommCoprod.lean b/Mathlib/GroupTheory/NoncommCoprod.lean index 06c7d848527565..d4fa5b2178f102 100644 --- a/Mathlib/GroupTheory/NoncommCoprod.lean +++ b/Mathlib/GroupTheory/NoncommCoprod.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.Group.Commute.Hom -import Mathlib.Algebra.Group.Prod -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Order.Disjoint +module + +public import Mathlib.Algebra.Group.Commute.Hom +public import Mathlib.Algebra.Group.Prod +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Order.Disjoint /-! # Canonical homomorphism from a pair of monoids @@ -31,6 +33,8 @@ There is an analogue `MulHom.noncommCoprod` when `f` and `g` are only `MulHom`s. For a product of a family of morphisms of monoids, see `MonoidHom.noncommPiCoprod`. -/ +@[expose] public section + assert_not_exists MonoidWithZero namespace MulHom diff --git a/Mathlib/GroupTheory/NoncommPiCoprod.lean b/Mathlib/GroupTheory/NoncommPiCoprod.lean index 0f4cc359b6eef9..54d36addcd1b4f 100644 --- a/Mathlib/GroupTheory/NoncommPiCoprod.lean +++ b/Mathlib/GroupTheory/NoncommPiCoprod.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Joachim Breitner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joachim Breitner -/ -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.Data.Nat.GCD.BigOperators -import Mathlib.Order.SupIndep +module + +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.Data.Nat.GCD.BigOperators +public import Mathlib.Order.SupIndep /-! # Canonical homomorphism from a finite family of monoids @@ -39,6 +41,8 @@ images of different morphisms commute, we obtain a canonical morphism -/ +@[expose] public section + assert_not_exists Field namespace Subgroup diff --git a/Mathlib/GroupTheory/Order/Min.lean b/Mathlib/GroupTheory/Order/Min.lean index 521e2042beea8f..b2f483516ef591 100644 --- a/Mathlib/GroupTheory/Order/Min.lean +++ b/Mathlib/GroupTheory/Order/Min.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Torsion -import Mathlib.Data.ENat.Lattice -import Mathlib.Data.ZMod.QuotientGroup +module + +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Data.ZMod.QuotientGroup /-! # Minimum order of an element @@ -19,6 +21,8 @@ This file defines the minimum order of an element of a monoid. * `ZMod.minOrder`: The minimum order of $$ℤ/nℤ$$ is the smallest factor of `n`, unless `n = 0, 1`. -/ +@[expose] public section + open Subgroup variable {G α : Type*} diff --git a/Mathlib/GroupTheory/OrderOfElement.lean b/Mathlib/GroupTheory/OrderOfElement.lean index fe9259827d7020..b91dde40e25872 100644 --- a/Mathlib/GroupTheory/OrderOfElement.lean +++ b/Mathlib/GroupTheory/OrderOfElement.lean @@ -3,18 +3,20 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Julian Kuelshammer -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Group.Commute.Basic -import Mathlib.Algebra.Group.Pointwise.Set.Finite -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.Algebra.Module.NatInt -import Mathlib.Algebra.Order.Group.Action -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Data.Int.ModEq -import Mathlib.Dynamics.PeriodicPts.Lemmas -import Mathlib.GroupTheory.Index -import Mathlib.NumberTheory.Divisors -import Mathlib.Order.Interval.Set.Infinite +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Group.Commute.Basic +public import Mathlib.Algebra.Group.Pointwise.Set.Finite +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.Algebra.Module.NatInt +public import Mathlib.Algebra.Order.Group.Action +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Data.Int.ModEq +public import Mathlib.Dynamics.PeriodicPts.Lemmas +public import Mathlib.GroupTheory.Index +public import Mathlib.NumberTheory.Divisors +public import Mathlib.Order.Interval.Set.Infinite /-! # Order of an element @@ -35,6 +37,8 @@ This file defines the order of an element of a finite group. For a finite group order of an element -/ +@[expose] public section + assert_not_exists Field open Function Fintype Nat Pointwise Subgroup Submonoid diff --git a/Mathlib/GroupTheory/OreLocalization/Basic.lean b/Mathlib/GroupTheory/OreLocalization/Basic.lean index e63e4470d0de35..3082437f9b8939 100644 --- a/Mathlib/GroupTheory/OreLocalization/Basic.lean +++ b/Mathlib/GroupTheory/OreLocalization/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge, Andrew Yang -/ -import Mathlib.GroupTheory.OreLocalization.OreSet -import Mathlib.Tactic.Common -import Mathlib.Algebra.Group.Submonoid.MulAction -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.Group.Basic +module + +public import Mathlib.GroupTheory.OreLocalization.OreSet +public import Mathlib.Tactic.Common +public import Mathlib.Algebra.Group.Submonoid.MulAction +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.Group.Basic /-! @@ -33,6 +35,8 @@ localization, Ore, non-commutative -/ +@[expose] public section + assert_not_exists RelIso MonoidWithZero universe u @@ -247,7 +251,7 @@ private def smul'' (r : R) (s : S) : X[S⁻¹] → X[S⁻¹] := rw [mul_assoc (s₄' : R), h₃, ← mul_assoc] /-- The scalar multiplication on the Ore localization of monoids. -/ -@[to_additive (attr := irreducible) +@[no_expose, to_additive (attr := irreducible) /-- the vector addition on the Ore localization of additive monoids. -/] protected def smul : R[S⁻¹] → X[S⁻¹] → X[S⁻¹] := liftExpand smul'' fun r₁ r₂ s hs => by diff --git a/Mathlib/GroupTheory/OreLocalization/Cardinality.lean b/Mathlib/GroupTheory/OreLocalization/Cardinality.lean index bbaeaf47fcf7a1..767af89a795041 100644 --- a/Mathlib/GroupTheory/OreLocalization/Cardinality.lean +++ b/Mathlib/GroupTheory/OreLocalization/Cardinality.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.GroupTheory.OreLocalization.Basic -import Mathlib.SetTheory.Cardinal.Arithmetic +module + +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.GroupTheory.OreLocalization.Basic +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! @@ -20,6 +22,8 @@ This file contains some results on cardinality of Ore localizations. -/ +@[expose] public section + universe u v open Cardinal Function diff --git a/Mathlib/GroupTheory/OreLocalization/OreSet.lean b/Mathlib/GroupTheory/OreLocalization/OreSet.lean index 751e9da69bd9d8..42ca4828ec4aa1 100644 --- a/Mathlib/GroupTheory/OreLocalization/OreSet.lean +++ b/Mathlib/GroupTheory/OreLocalization/OreSet.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge -/ -import Mathlib.Algebra.Group.Submonoid.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Defs /-! @@ -17,6 +19,8 @@ This defines left Ore sets on arbitrary monoids. -/ +@[expose] public section + assert_not_exists RelIso namespace AddOreLocalization diff --git a/Mathlib/GroupTheory/PGroup.lean b/Mathlib/GroupTheory/PGroup.lean index f0fd35115385da..06987382bdc971 100644 --- a/Mathlib/GroupTheory/PGroup.lean +++ b/Mathlib/GroupTheory/PGroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 . All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Thomas Browning -/ -import Mathlib.GroupTheory.Perm.Cycle.Type -import Mathlib.GroupTheory.SpecificGroups.Cyclic +module + +public import Mathlib.GroupTheory.Perm.Cycle.Type +public import Mathlib.GroupTheory.SpecificGroups.Cyclic /-! # p-groups @@ -14,6 +16,8 @@ then the number of fixed points of the action is congruent mod `p` to the cardin It also contains proofs of some corollaries of this lemma about existence of fixed points. -/ +@[expose] public section + open Fintype MulAction variable (p : ℕ) (G : Type*) [Group G] diff --git a/Mathlib/GroupTheory/Perm/Basic.lean b/Mathlib/GroupTheory/Perm/Basic.lean index f8f4a4f1fb2195..be9a814b705bc9 100644 --- a/Mathlib/GroupTheory/Perm/Basic.lean +++ b/Mathlib/GroupTheory/Perm/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Algebra.Group.End -import Mathlib.Logic.Equiv.Set -import Mathlib.Tactic.Common +module + +public import Mathlib.Algebra.Group.Action.Defs +public import Mathlib.Algebra.Group.End +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Tactic.Common /-! # Extra lemmas about permutations @@ -22,6 +24,8 @@ It would be good to merge the remaining lemmas with other files, e.g. the algebra and non-algebra parts). -/ +@[expose] public section + universe u v diff --git a/Mathlib/GroupTheory/Perm/Centralizer.lean b/Mathlib/GroupTheory/Perm/Centralizer.lean index 9b32e55bb6d27b..59121b26b9f572 100644 --- a/Mathlib/GroupTheory/Perm/Centralizer.lean +++ b/Mathlib/GroupTheory/Perm/Centralizer.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.Order.BigOperators.GroupWithZero.Multiset -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.GroupTheory.NoncommCoprod -import Mathlib.GroupTheory.Perm.ConjAct -import Mathlib.GroupTheory.Perm.Cycle.PossibleTypes -import Mathlib.GroupTheory.Perm.DomMulAct -import Mathlib.GroupTheory.Rank +module + +public import Mathlib.Algebra.Order.BigOperators.GroupWithZero.Multiset +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.GroupTheory.NoncommCoprod +public import Mathlib.GroupTheory.Perm.ConjAct +public import Mathlib.GroupTheory.Perm.Cycle.PossibleTypes +public import Mathlib.GroupTheory.Perm.DomMulAct +public import Mathlib.GroupTheory.Rank /-! # Centralizer of a permutation and cardinality of conjugacy classes in the symmetric groups @@ -96,6 +98,8 @@ injectivity `Equiv.Perm.OnCycleFactors.kerParam_injective`, its range -/ +@[expose] public section + open scoped Finset Pointwise namespace Equiv.Perm diff --git a/Mathlib/GroupTheory/Perm/Closure.lean b/Mathlib/GroupTheory/Perm/Closure.lean index 3989df30e8ced0..290aecbb7b6dca 100644 --- a/Mathlib/GroupTheory/Perm/Closure.lean +++ b/Mathlib/GroupTheory/Perm/Closure.lean @@ -3,8 +3,9 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yaël Dillies -/ +module -import Mathlib.GroupTheory.Perm.Cycle.Basic +public import Mathlib.GroupTheory.Perm.Cycle.Basic /-! # Closure results for permutation groups @@ -20,6 +21,8 @@ import Mathlib.GroupTheory.Perm.Cycle.Basic -/ +@[expose] public section + open Equiv Function Finset variable {ι α β : Type*} diff --git a/Mathlib/GroupTheory/Perm/ClosureSwap.lean b/Mathlib/GroupTheory/Perm/ClosureSwap.lean index a8304b756211ed..345f9b1a482eec 100644 --- a/Mathlib/GroupTheory/Perm/ClosureSwap.lean +++ b/Mathlib/GroupTheory/Perm/ClosureSwap.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Thomas Browning, Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Junyan Xu -/ -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.GroupTheory.GroupAction.Basic -import Mathlib.GroupTheory.GroupAction.FixedPoints -import Mathlib.GroupTheory.Perm.Support -import Mathlib.Data.Set.Finite.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.GroupTheory.GroupAction.Basic +public import Mathlib.GroupTheory.GroupAction.FixedPoints +public import Mathlib.GroupTheory.Perm.Support +public import Mathlib.Data.Set.Finite.Basic /-! # Subgroups generated by transpositions @@ -24,6 +26,8 @@ This file studies subgroups generated by transpositions. -/ +@[expose] public section + open Equiv List MulAction Pointwise Set Subgroup variable {G α : Type*} [Group G] [MulAction G α] diff --git a/Mathlib/GroupTheory/Perm/ConjAct.lean b/Mathlib/GroupTheory/Perm/ConjAct.lean index c44596af38e32f..c8d629002b2f2f 100644 --- a/Mathlib/GroupTheory/Perm/ConjAct.lean +++ b/Mathlib/GroupTheory/Perm/ConjAct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Algebra.Group.Action.Pointwise.Finset -import Mathlib.GroupTheory.Perm.Cycle.Factors +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Finset +public import Mathlib.GroupTheory.Perm.Cycle.Factors /-! # Some lemmas pertaining to the action of `ConjAct (Perm α)` on `Perm α` @@ -21,6 +23,8 @@ Let `α` be a decidable fintype. -/ +@[expose] public section + namespace Equiv.Perm open scoped Pointwise diff --git a/Mathlib/GroupTheory/Perm/Cycle/Basic.lean b/Mathlib/GroupTheory/Perm/Cycle/Basic.lean index 218235e190c039..0cae158f3dba07 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/Basic.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/Basic.lean @@ -3,12 +3,13 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yaël Dillies -/ +module -import Mathlib.Algebra.Module.BigOperators -import Mathlib.GroupTheory.Perm.Basic -import Mathlib.GroupTheory.Perm.Finite -import Mathlib.GroupTheory.Perm.List -import Mathlib.GroupTheory.Perm.Sign +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.GroupTheory.Perm.Basic +public import Mathlib.GroupTheory.Perm.Finite +public import Mathlib.GroupTheory.Perm.List +public import Mathlib.GroupTheory.Perm.Sign /-! # Cycles of a permutation @@ -33,6 +34,8 @@ In the following, `f : Equiv.Perm β`. * `IsCycleOn` forbids fixed points on `s` (if `s` is nontrivial), while `IsCycle` allows them. -/ +@[expose] public section + open Equiv Function Finset diff --git a/Mathlib/GroupTheory/Perm/Cycle/Concrete.lean b/Mathlib/GroupTheory/Perm/Cycle/Concrete.lean index 38a8fc9d799f01..2dfd184c750ac6 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/Concrete.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/Concrete.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.List.Cycle -import Mathlib.GroupTheory.Perm.Cycle.Type -import Mathlib.GroupTheory.Perm.List +module + +public import Mathlib.Data.List.Cycle +public import Mathlib.GroupTheory.Perm.Cycle.Type +public import Mathlib.GroupTheory.Perm.List /-! @@ -42,6 +44,8 @@ on recursion over `Finset.univ`. -/ +@[expose] public section + open Equiv Equiv.Perm List diff --git a/Mathlib/GroupTheory/Perm/Cycle/Factors.lean b/Mathlib/GroupTheory/Perm/Cycle/Factors.lean index d894242de820ef..c4d9647fa7e2ed 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/Factors.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/Factors.lean @@ -3,11 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Yaël Dillies -/ +module -import Mathlib.Data.List.Iterate -import Mathlib.GroupTheory.Perm.Cycle.Basic -import Mathlib.GroupTheory.NoncommPiCoprod -import Mathlib.Tactic.Group +public import Mathlib.Data.List.Iterate +public import Mathlib.GroupTheory.Perm.Cycle.Basic +public import Mathlib.GroupTheory.NoncommPiCoprod +public import Mathlib.Tactic.Group /-! # Cycle factors of a permutation @@ -19,6 +20,8 @@ Let `β` be a `Fintype` and `f : Equiv.Perm β`. that multiply to `f`. -/ +@[expose] public section + open Equiv Function Finset variable {ι α β : Type*} diff --git a/Mathlib/GroupTheory/Perm/Cycle/PossibleTypes.lean b/Mathlib/GroupTheory/Perm/Cycle/PossibleTypes.lean index c46f3128a184ce..f664ecaac4e5f1 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/PossibleTypes.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/PossibleTypes.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.GroupTheory.Perm.Cycle.Concrete +public import Mathlib.GroupTheory.Perm.Cycle.Concrete /-! # Possible cycle types of permutations @@ -14,6 +15,8 @@ import Mathlib.GroupTheory.Perm.Cycle.Concrete -/ +@[expose] public section + variable (α : Type*) [DecidableEq α] [Fintype α] section Ranges diff --git a/Mathlib/GroupTheory/Perm/Cycle/Type.lean b/Mathlib/GroupTheory/Perm/Cycle/Type.lean index 8fb97d2ae4bd4b..ee3e16bddc510d 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/Type.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/Type.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.GCDMonoid.Multiset -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Combinatorics.Enumerative.Partition -import Mathlib.Data.List.Rotate -import Mathlib.GroupTheory.Perm.Closure -import Mathlib.GroupTheory.Perm.Cycle.Factors -import Mathlib.Tactic.NormNum.GCD +module + +public import Mathlib.Algebra.GCDMonoid.Multiset +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Combinatorics.Enumerative.Partition +public import Mathlib.Data.List.Rotate +public import Mathlib.GroupTheory.Perm.Closure +public import Mathlib.GroupTheory.Perm.Cycle.Factors +public import Mathlib.Tactic.NormNum.GCD /-! # Cycle Types @@ -32,6 +34,8 @@ In this file we define the cycle type of a permutation. there exists an element of order `p` in `G`. This is known as Cauchy's theorem. -/ +@[expose] public section + open scoped Finset namespace Equiv.Perm diff --git a/Mathlib/GroupTheory/Perm/DomMulAct.lean b/Mathlib/GroupTheory/Perm/DomMulAct.lean index ca29b4e020eb84..04d7bdbf979828 100644 --- a/Mathlib/GroupTheory/Perm/DomMulAct.lean +++ b/Mathlib/GroupTheory/Perm/DomMulAct.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Junyan Xu, Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu, Antoine Chambert-Loir -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Data.Fintype.Perm -import Mathlib.Data.Set.Card -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.GroupTheory.GroupAction.DomAct.Basic +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Data.Fintype.Perm +public import Mathlib.Data.Set.Card +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic /-! # Subgroup of `Equiv.Perm α` preserving a function @@ -32,6 +34,8 @@ Let `α` and `ι` by types and let `f : α → ι` formula, where the product is restricted to `Finset.univ.image f`. -/ +@[expose] public section + assert_not_exists Field open Equiv MulAction diff --git a/Mathlib/GroupTheory/Perm/Fin.lean b/Mathlib/GroupTheory/Perm/Fin.lean index e3a334ec0383ec..e73fc6cb907762 100644 --- a/Mathlib/GroupTheory/Perm/Fin.lean +++ b/Mathlib/GroupTheory/Perm/Fin.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Yi Yuan -/ -import Mathlib.GroupTheory.Perm.Cycle.Type -import Mathlib.GroupTheory.Perm.Option -import Mathlib.Logic.Equiv.Fin.Rotate +module + +public import Mathlib.GroupTheory.Perm.Cycle.Type +public import Mathlib.GroupTheory.Perm.Option +public import Mathlib.Logic.Equiv.Fin.Rotate /-! # Permutations of `Fin n` -/ +@[expose] public section + assert_not_exists LinearMap open Equiv diff --git a/Mathlib/GroupTheory/Perm/Finite.lean b/Mathlib/GroupTheory/Perm/Finite.lean index d5b8f790c84843..aee89dc9769d4a 100644 --- a/Mathlib/GroupTheory/Perm/Finite.lean +++ b/Mathlib/GroupTheory/Perm/Finite.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Finite.Sum -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.GroupTheory.Perm.Support -import Mathlib.Logic.Equiv.Fintype +module + +public import Mathlib.Data.Finite.Sum +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.GroupTheory.Perm.Support +public import Mathlib.Logic.Equiv.Fintype /-! # Permutations on `Fintype`s @@ -15,6 +17,8 @@ This file contains miscellaneous lemmas about `Equiv.Perm` and `Equiv.swap`, bui of those in `Mathlib/Logic/Equiv/Basic.lean` and other files in `Mathlib/GroupTheory/Perm/*`. -/ +@[expose] public section + universe u v open Equiv Function Fintype Finset diff --git a/Mathlib/GroupTheory/Perm/List.lean b/Mathlib/GroupTheory/Perm/List.lean index 868d511ab104f0..08929ff5600447 100644 --- a/Mathlib/GroupTheory/Perm/List.lean +++ b/Mathlib/GroupTheory/Perm/List.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.List.Rotate -import Mathlib.GroupTheory.Perm.Support +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.List.Rotate +public import Mathlib.GroupTheory.Perm.Support /-! # Permutations from a list @@ -27,6 +29,8 @@ The presence of duplicates in a particular placement can lead `List.formPerm` to nontrivial permutation that is noncyclic. -/ +@[expose] public section + namespace List diff --git a/Mathlib/GroupTheory/Perm/Option.lean b/Mathlib/GroupTheory/Perm/Option.lean index 55b10c096e868e..4fe5807c304162 100644 --- a/Mathlib/GroupTheory/Perm/Option.lean +++ b/Mathlib/GroupTheory/Perm/Option.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Fintype.Option -import Mathlib.GroupTheory.Perm.Sign +module + +public import Mathlib.Data.Fintype.Option +public import Mathlib.GroupTheory.Perm.Sign /-! # Permutations of `Option α` -/ +@[expose] public section + open Equiv diff --git a/Mathlib/GroupTheory/Perm/Sign.lean b/Mathlib/GroupTheory/Perm/Sign.lean index f2d3a33944dbef..f410ed2d2b7722 100644 --- a/Mathlib/GroupTheory/Perm/Sign.lean +++ b/Mathlib/GroupTheory/Perm/Sign.lean @@ -3,19 +3,21 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Conj -import Mathlib.Algebra.Group.Subgroup.Lattice -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Data.Finset.Fin -import Mathlib.Data.Finset.Sort -import Mathlib.Data.Fintype.Perm -import Mathlib.Data.Fintype.Prod -import Mathlib.Data.Fintype.Sum -import Mathlib.Data.Int.Order.Units -import Mathlib.GroupTheory.Perm.Support -import Mathlib.Logic.Equiv.Fintype -import Mathlib.Tactic.NormNum.Ineq -import Mathlib.Data.Finset.Sigma +module + +public import Mathlib.Algebra.Group.Conj +public import Mathlib.Algebra.Group.Subgroup.Lattice +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Data.Finset.Fin +public import Mathlib.Data.Finset.Sort +public import Mathlib.Data.Fintype.Perm +public import Mathlib.Data.Fintype.Prod +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Data.Int.Order.Units +public import Mathlib.GroupTheory.Perm.Support +public import Mathlib.Logic.Equiv.Fintype +public import Mathlib.Tactic.NormNum.Ineq +public import Mathlib.Data.Finset.Sigma /-! # Sign of a permutation @@ -27,6 +29,8 @@ Other lemmas have been moved to `Mathlib/GroupTheory/Perm/Fintype.lean` -/ +@[expose] public section + universe u v open Equiv Function Fintype Finset @@ -68,7 +72,7 @@ def swapFactorsAux : swapFactorsAux l f fun {y} hy => List.mem_of_ne_of_mem (fun h : y = x => by simp [h, hfx.symm] at hy) (h hy) else - let m := + have m := swapFactorsAux l (swap x (f x) * f) fun {y} hy => have : f y ≠ y ∧ y ≠ x := ne_and_ne_of_swap_mul_apply_ne_self hy List.mem_of_ne_of_mem this.2 (h this.1) diff --git a/Mathlib/GroupTheory/Perm/Subgroup.lean b/Mathlib/GroupTheory/Perm/Subgroup.lean index 737eb688279731..755f161a8306a3 100644 --- a/Mathlib/GroupTheory/Perm/Subgroup.lean +++ b/Mathlib/GroupTheory/Perm/Subgroup.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.Data.Fintype.Perm +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.Data.Fintype.Perm /-! # Lemmas about subgroups within the permutations (self-equivalences) of a type `α` @@ -20,6 +22,8 @@ The presence of these instances induces a `Fintype` instance on the `QuotientGro these subgroups. -/ +@[expose] public section + assert_not_exists Field namespace Equiv diff --git a/Mathlib/GroupTheory/Perm/Support.lean b/Mathlib/GroupTheory/Perm/Support.lean index 75e8d9e0e85312..d6b91c66825262 100644 --- a/Mathlib/GroupTheory/Perm/Support.lean +++ b/Mathlib/GroupTheory/Perm/Support.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Aaron Anderson, Yakov Pechersky -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Algebra.Group.Commute.Basic -import Mathlib.Algebra.Group.End -import Mathlib.Data.Finset.NoncommProd +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Algebra.Group.Commute.Basic +public import Mathlib.Algebra.Group.End +public import Mathlib.Data.Finset.NoncommProd /-! # support of a permutation @@ -28,6 +30,8 @@ Assume `α` is a Fintype: -/ +@[expose] public section + open Equiv Finset Function diff --git a/Mathlib/GroupTheory/Perm/ViaEmbedding.lean b/Mathlib/GroupTheory/Perm/ViaEmbedding.lean index af68a4dbe45476..21bca3d965beb7 100644 --- a/Mathlib/GroupTheory/Perm/ViaEmbedding.lean +++ b/Mathlib/GroupTheory/Perm/ViaEmbedding.lean @@ -3,14 +3,18 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Algebra.Group.End -import Mathlib.Logic.Embedding.Basic -import Mathlib.Logic.Equiv.Set +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Logic.Equiv.Set /-! # `Equiv.Perm.viaEmbedding`, a noncomputable analogue of `Equiv.Perm.viaFintypeEmbedding`. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/GroupTheory/PresentedGroup.lean b/Mathlib/GroupTheory/PresentedGroup.lean index a7efeee2622868..68fd9484d07dcd 100644 --- a/Mathlib/GroupTheory/PresentedGroup.lean +++ b/Mathlib/GroupTheory/PresentedGroup.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Michael Howes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Howes, Newell Jensen -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.GroupTheory.FreeGroup.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.GroupTheory.FreeGroup.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Defining a group given by generators and relations @@ -26,6 +28,8 @@ given by generators `x : α` and relations `r ∈ rels`. generators, relations, group presentations -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/GroupTheory/PushoutI.lean b/Mathlib/GroupTheory/PushoutI.lean index 690b11c25503e7..a4066b35e77773 100644 --- a/Mathlib/GroupTheory/PushoutI.lean +++ b/Mathlib/GroupTheory/PushoutI.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.GroupTheory.CoprodI -import Mathlib.GroupTheory.Coprod.Basic -import Mathlib.GroupTheory.Complement +public import Mathlib.GroupTheory.CoprodI +public import Mathlib.GroupTheory.Coprod.Basic +public import Mathlib.GroupTheory.Complement /-! @@ -41,6 +42,8 @@ amalgamated product, pushout, group -/ +@[expose] public section + namespace Monoid open CoprodI Subgroup Coprod Function List diff --git a/Mathlib/GroupTheory/QuotientGroup/Basic.lean b/Mathlib/GroupTheory/QuotientGroup/Basic.lean index 02c1c1955601f2..a882ea86709336 100644 --- a/Mathlib/GroupTheory/QuotientGroup/Basic.lean +++ b/Mathlib/GroupTheory/QuotientGroup/Basic.lean @@ -4,13 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Patrick Massot -/ -- This file is to a certain extent based on `quotient_module.lean` by Johannes Hölzl. +module -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.GroupTheory.Coset.Basic -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Data.Int.Cast.Lemmas +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.GroupTheory.Coset.Basic +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs /-! # Quotients of groups by normal subgroups @@ -36,6 +37,8 @@ proves Noether's first and second isomorphism theorems. isomorphism theorems, quotient groups -/ +@[expose] public section + open Function open scoped Pointwise diff --git a/Mathlib/GroupTheory/QuotientGroup/Defs.lean b/Mathlib/GroupTheory/QuotientGroup/Defs.lean index 5742c3746df8bf..651182f35bd446 100644 --- a/Mathlib/GroupTheory/QuotientGroup/Defs.lean +++ b/Mathlib/GroupTheory/QuotientGroup/Defs.lean @@ -4,10 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Patrick Massot -/ -- This file is to a certain extent based on `quotient_module.lean` by Johannes Hölzl. +module -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.GroupTheory.Coset.Defs +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.GroupTheory.Coset.Defs /-! # Quotients of groups by normal subgroups @@ -28,6 +29,8 @@ This file defines the group structure on the quotient by a normal subgroup. quotient groups -/ +@[expose] public section + open Function open scoped Pointwise diff --git a/Mathlib/GroupTheory/QuotientGroup/Finite.lean b/Mathlib/GroupTheory/QuotientGroup/Finite.lean index 4c92b550c2c98a..d49100d02439b6 100644 --- a/Mathlib/GroupTheory/QuotientGroup/Finite.lean +++ b/Mathlib/GroupTheory/QuotientGroup/Finite.lean @@ -4,15 +4,18 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Patrick Massot -/ -- This file is to a certain extent based on `quotient_module.lean` by Johannes Hölzl. +module -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.Data.Finite.Prod -import Mathlib.GroupTheory.QuotientGroup.Basic +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.Data.Finite.Prod +public import Mathlib.GroupTheory.QuotientGroup.Basic /-! # Deducing finiteness of a group. -/ +@[expose] public section + open Function open scoped Pointwise diff --git a/Mathlib/GroupTheory/Rank.lean b/Mathlib/GroupTheory/Rank.lean index 90372d948d4b36..62874dc7ed6698 100644 --- a/Mathlib/GroupTheory/Rank.lean +++ b/Mathlib/GroupTheory/Rank.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.GroupTheory.Finiteness -import Mathlib.SetTheory.Cardinal.Finite +module + +public import Mathlib.GroupTheory.Finiteness +public import Mathlib.SetTheory.Cardinal.Finite /-! # Rank of a group @@ -17,6 +19,8 @@ Should we define `erank G : ℕ∞` the rank of a not necessarily finitely gener then redefine `rank G` as `(erank G).toNat`? Maybe a `Cardinal`-valued version too? -/ +@[expose] public section + open Function Group variable {G H : Type*} [Group G] [Group H] diff --git a/Mathlib/GroupTheory/RegularWreathProduct.lean b/Mathlib/GroupTheory/RegularWreathProduct.lean index ca2c12a7d4f173..48686c19ebf3f0 100644 --- a/Mathlib/GroupTheory/RegularWreathProduct.lean +++ b/Mathlib/GroupTheory/RegularWreathProduct.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Francisco Silva. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Francisco Silva -/ +module -import Mathlib.GroupTheory.Sylow -import Mathlib.Algebra.Group.PUnit -import Mathlib.Data.Finite.Perm -import Mathlib.Algebra.Group.End +public import Mathlib.GroupTheory.Sylow +public import Mathlib.Algebra.Group.PUnit +public import Mathlib.Data.Finite.Perm +public import Mathlib.Algebra.Group.End /-! # Regular wreath product @@ -34,6 +35,8 @@ This file introduces the global notation `D ≀ᵣ Q` for `RegularWreathProduct group, regular wreath product, sylow p-subgroup -/ +@[expose] public section + variable (D Q : Type*) [Group D] [Group Q] /-- The regular wreath product of groups `Q` and `D`. It is the product `(Q → D) × Q` with the group diff --git a/Mathlib/GroupTheory/Schreier.lean b/Mathlib/GroupTheory/Schreier.lean index 038c1b39502843..668ddbf07d7a4e 100644 --- a/Mathlib/GroupTheory/Schreier.lean +++ b/Mathlib/GroupTheory/Schreier.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Group.Pointwise.Finset.Basic -import Mathlib.GroupTheory.Abelianization.Defs -import Mathlib.GroupTheory.Commutator.Finite -import Mathlib.GroupTheory.Transfer +module + +public import Mathlib.Algebra.Group.Pointwise.Finset.Basic +public import Mathlib.GroupTheory.Abelianization.Defs +public import Mathlib.GroupTheory.Commutator.Finite +public import Mathlib.GroupTheory.Transfer /-! # Schreier's Lemma @@ -24,6 +26,8 @@ In this file we prove Schreier's lemma. subgroup is bounded in terms of the number of commutators. -/ +@[expose] public section + open scoped Finset Pointwise diff --git a/Mathlib/GroupTheory/SchurZassenhaus.lean b/Mathlib/GroupTheory/SchurZassenhaus.lean index d5fc5a9eb3a4f2..2d55389280086f 100644 --- a/Mathlib/GroupTheory/SchurZassenhaus.lean +++ b/Mathlib/GroupTheory/SchurZassenhaus.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.GroupTheory.Transfer +module + +public import Mathlib.GroupTheory.Transfer /-! # The Schur-Zassenhaus Theorem @@ -20,6 +22,8 @@ In this file we prove the Schur-Zassenhaus theorem. then there exists a subgroup `K` which is a (left) complement of `H`. -/ +@[expose] public section + namespace Subgroup diff --git a/Mathlib/GroupTheory/SemidirectProduct.lean b/Mathlib/GroupTheory/SemidirectProduct.lean index ddee196e624254..2147811b451d33 100644 --- a/Mathlib/GroupTheory/SemidirectProduct.lean +++ b/Mathlib/GroupTheory/SemidirectProduct.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.GroupTheory.Complement +module + +public import Mathlib.GroupTheory.Complement /-! # Semidirect product @@ -28,6 +30,8 @@ This file introduces the global notation `N ⋊[φ] G` for `SemidirectProduct N group, semidirect product -/ +@[expose] public section + open Subgroup variable (N : Type*) (G : Type*) {H : Type*} [Group N] [Group G] [Group H] diff --git a/Mathlib/GroupTheory/Solvable.lean b/Mathlib/GroupTheory/Solvable.lean index 3cad7cce836f55..fcd128f2cb25e0 100644 --- a/Mathlib/GroupTheory/Solvable.lean +++ b/Mathlib/GroupTheory/Solvable.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Jordan Brown, Thomas Browning, Patrick Lutz. All rights reser Released under Apache 2.0 license as described in the file LICENSE. Authors: Jordan Brown, Thomas Browning, Patrick Lutz -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.GroupTheory.Abelianization.Defs -import Mathlib.GroupTheory.Perm.ViaEmbedding -import Mathlib.GroupTheory.Subgroup.Simple -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.GroupTheory.Abelianization.Defs +public import Mathlib.GroupTheory.Perm.ViaEmbedding +public import Mathlib.GroupTheory.Subgroup.Simple +public import Mathlib.SetTheory.Cardinal.Order /-! # Solvable Groups @@ -23,6 +25,8 @@ the derived series of a group. * `IsSolvable G` : the group `G` is solvable -/ +@[expose] public section + open Subgroup variable {G G' : Type*} [Group G] [Group G'] {f : G →* G'} diff --git a/Mathlib/GroupTheory/SpecificGroups/Alternating.lean b/Mathlib/GroupTheory/SpecificGroups/Alternating.lean index b42d8cccc34d26..533a7ebc16956e 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Alternating.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Alternating.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Antoine Chambert-Loir -/ -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Data.Fintype.Units -import Mathlib.GroupTheory.IndexNormal -import Mathlib.GroupTheory.Perm.Fin -import Mathlib.GroupTheory.Subgroup.Simple -import Mathlib.Logic.Equiv.Fin.Rotate -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Data.Fintype.Units +public import Mathlib.GroupTheory.IndexNormal +public import Mathlib.GroupTheory.Perm.Fin +public import Mathlib.GroupTheory.Subgroup.Simple +public import Mathlib.Logic.Equiv.Fin.Rotate +public import Mathlib.Tactic.IntervalCases /-! # Alternating Groups @@ -56,6 +58,8 @@ alternating group permutation simple characteristic index -/ +@[expose] public section + -- An example on how to determine the order of an element of a finite group. example : orderOf (-1 : ℤˣ) = 2 := orderOf_eq_prime (Int.units_sq _) (by decide) diff --git a/Mathlib/GroupTheory/SpecificGroups/Alternating/Centralizer.lean b/Mathlib/GroupTheory/SpecificGroups/Alternating/Centralizer.lean index 19b70d867d1b0f..c20d1e1aea2520 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Alternating/Centralizer.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Alternating/Centralizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.GroupTheory.Perm.Centralizer -import Mathlib.GroupTheory.SpecificGroups.Alternating +module + +public import Mathlib.GroupTheory.Perm.Centralizer +public import Mathlib.GroupTheory.SpecificGroups.Alternating /-! # Centralizer of an element in the alternating group @@ -33,6 +35,8 @@ Deduce the formula for the cardinality of the centralizers and conjugacy classes in `alternatingGroup α`. -/ +@[expose] public section + open Equiv Finset Function MulAction variable {α : Type*} [Fintype α] [DecidableEq α] {g : Perm α} diff --git a/Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean b/Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean index dda1cc699e877a..60ce120c668969 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer -import Mathlib.GroupTheory.SpecificGroups.KleinFour -import Mathlib.GroupTheory.Sylow +public import Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer +public import Mathlib.GroupTheory.SpecificGroups.KleinFour +public import Mathlib.GroupTheory.Sylow /-! # The Klein Four subgroup of an alternating group on 4 letters @@ -50,6 +51,8 @@ without any assumption on `Nat.card α`. -/ +@[expose] public section + namespace alternatingGroup open Equiv.Perm Equiv diff --git a/Mathlib/GroupTheory/SpecificGroups/Cyclic.lean b/Mathlib/GroupTheory/SpecificGroups/Cyclic.lean index 40f6e7128bc238..f0dffaeac20936 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Cyclic.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Cyclic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Data.Nat.Totient -import Mathlib.Data.ZMod.Aut -import Mathlib.Data.ZMod.QuotientGroup -import Mathlib.GroupTheory.Exponent -import Mathlib.GroupTheory.Subgroup.Simple -import Mathlib.Tactic.Group +module + +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Data.Nat.Totient +public import Mathlib.Data.ZMod.Aut +public import Mathlib.Data.ZMod.QuotientGroup +public import Mathlib.GroupTheory.Exponent +public import Mathlib.GroupTheory.Subgroup.Simple +public import Mathlib.Tactic.Group /-! # Cyclic groups @@ -38,6 +40,8 @@ For the concrete cyclic group of order `n`, see `Data.ZMod.Basic`. cyclic group -/ +@[expose] public section + assert_not_exists Ideal TwoSidedIdeal variable {α G G' : Type*} {a : α} diff --git a/Mathlib/GroupTheory/SpecificGroups/Dihedral.lean b/Mathlib/GroupTheory/SpecificGroups/Dihedral.lean index 8740e658f2ef8e..ffd28365026424 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Dihedral.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Dihedral.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.Data.Finite.Sum -import Mathlib.Data.ZMod.Basic -import Mathlib.GroupTheory.Exponent -import Mathlib.GroupTheory.GroupAction.CardCommute -import Mathlib.GroupTheory.SpecificGroups.Cyclic -import Mathlib.GroupTheory.SpecificGroups.KleinFour +module + +public import Mathlib.Data.Finite.Sum +public import Mathlib.Data.ZMod.Basic +public import Mathlib.GroupTheory.Exponent +public import Mathlib.GroupTheory.GroupAction.CardCommute +public import Mathlib.GroupTheory.SpecificGroups.Cyclic +public import Mathlib.GroupTheory.SpecificGroups.KleinFour /-! # Dihedral Groups @@ -20,6 +22,8 @@ represents the rotations of the `n`-gon by `2πi/n`, and `sr i` represents the r `n`-gon. `DihedralGroup 0` corresponds to the infinite dihedral group. -/ +@[expose] public section + assert_not_exists Ideal TwoSidedIdeal /-- For `n ≠ 0`, `DihedralGroup n` represents the symmetry group of the regular `n`-gon. diff --git a/Mathlib/GroupTheory/SpecificGroups/KleinFour.lean b/Mathlib/GroupTheory/SpecificGroups/KleinFour.lean index e13dfa85dd0665..c076e127a0422a 100644 --- a/Mathlib/GroupTheory/SpecificGroups/KleinFour.lean +++ b/Mathlib/GroupTheory/SpecificGroups/KleinFour.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Newell Jensen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Newell Jensen -/ -import Mathlib.GroupTheory.SpecificGroups.Cyclic +module + +public import Mathlib.GroupTheory.SpecificGroups.Cyclic /-! # Klein Four Group @@ -39,6 +41,8 @@ produces the third one. non-cyclic abelian group -/ +@[expose] public section + /-! # Klein four-groups as a mixin class -/ /-- An (additive) Klein four-group is an (additive) group of cardinality four and exponent two. -/ diff --git a/Mathlib/GroupTheory/SpecificGroups/Quaternion.lean b/Mathlib/GroupTheory/SpecificGroups/Quaternion.lean index 6cdaa50ae74964..e77fae598a497d 100644 --- a/Mathlib/GroupTheory/SpecificGroups/Quaternion.lean +++ b/Mathlib/GroupTheory/SpecificGroups/Quaternion.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.GroupTheory.SpecificGroups.Cyclic -import Mathlib.GroupTheory.SpecificGroups.Dihedral +module + +public import Mathlib.GroupTheory.SpecificGroups.Cyclic +public import Mathlib.GroupTheory.SpecificGroups.Dihedral /-! # Quaternion Groups @@ -40,6 +42,8 @@ Show that `QuaternionGroup 2 ≃* (Quaternion ℤ)ˣ`. -/ +@[expose] public section + /-- The (generalised) quaternion group `QuaternionGroup n` of order `4n`. It can be defined by the presentation $\langle a, x | a^{2n} = 1, x^2 = a^n, x^{-1}ax=a^{-1}\rangle$. We write `a i` for diff --git a/Mathlib/GroupTheory/SpecificGroups/ZGroup.lean b/Mathlib/GroupTheory/SpecificGroups/ZGroup.lean index bb31029d75c5e4..6415303e50f5d0 100644 --- a/Mathlib/GroupTheory/SpecificGroups/ZGroup.lean +++ b/Mathlib/GroupTheory/SpecificGroups/ZGroup.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.GroupTheory.Abelianization.Finite -import Mathlib.GroupTheory.Nilpotent -import Mathlib.GroupTheory.SchurZassenhaus -import Mathlib.GroupTheory.SemidirectProduct +module + +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.GroupTheory.Abelianization.Finite +public import Mathlib.GroupTheory.Nilpotent +public import Mathlib.GroupTheory.SchurZassenhaus +public import Mathlib.GroupTheory.SemidirectProduct /-! # Z-Groups @@ -29,6 +31,8 @@ A Z-group is a group whose Sylow subgroups are all cyclic. -/ +@[expose] public section + variable (G G' G'' : Type*) [Group G] [Group G'] [Group G''] (f : G →* G') (f' : G' →* G'') /-- A Z-group is a group whose Sylow subgroups are all cyclic. -/ diff --git a/Mathlib/GroupTheory/Subgroup/Center.lean b/Mathlib/GroupTheory/Subgroup/Center.lean index 7b57db83e0a1d5..3752e12d4bd6df 100644 --- a/Mathlib/GroupTheory/Subgroup/Center.lean +++ b/Mathlib/GroupTheory/Subgroup/Center.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.GroupTheory.Submonoid.Center +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.GroupTheory.Submonoid.Center /-! # Centers of subgroups -/ +@[expose] public section + assert_not_exists MonoidWithZero Multiset variable {G : Type*} [Group G] diff --git a/Mathlib/GroupTheory/Subgroup/Centralizer.lean b/Mathlib/GroupTheory/Subgroup/Centralizer.lean index e1acd6a506a948..3a931392368da0 100644 --- a/Mathlib/GroupTheory/Subgroup/Centralizer.lean +++ b/Mathlib/GroupTheory/Subgroup/Centralizer.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Group.Action.End -import Mathlib.GroupTheory.Subgroup.Center -import Mathlib.GroupTheory.Submonoid.Centralizer +module + +public import Mathlib.Algebra.Group.Action.End +public import Mathlib.GroupTheory.Subgroup.Center +public import Mathlib.GroupTheory.Submonoid.Centralizer /-! # Centralizers of subgroups -/ +@[expose] public section + assert_not_exists MonoidWithZero variable {G G' : Type*} [Group G] [Group G'] diff --git a/Mathlib/GroupTheory/Subgroup/Saturated.lean b/Mathlib/GroupTheory/Subgroup/Saturated.lean index 267ebf6d390ac7..b8176b63d2d5db 100644 --- a/Mathlib/GroupTheory/Subgroup/Saturated.lean +++ b/Mathlib/GroupTheory/Subgroup/Saturated.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Group.Subgroup.Ker -import Mathlib.Algebra.NoZeroSMulDivisors.Defs +module + +public import Mathlib.Algebra.Group.Subgroup.Ker +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs /-! # Saturated subgroups @@ -14,6 +16,8 @@ subgroup, subgroups -/ +@[expose] public section + namespace Subgroup diff --git a/Mathlib/GroupTheory/Subgroup/Simple.lean b/Mathlib/GroupTheory/Subgroup/Simple.lean index d8966898805304..b93616e5aa6cfa 100644 --- a/Mathlib/GroupTheory/Subgroup/Simple.lean +++ b/Mathlib/GroupTheory/Subgroup/Simple.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Order.Atoms -import Mathlib.Algebra.Group.Subgroup.Basic +module + +public import Mathlib.Order.Atoms +public import Mathlib.Algebra.Group.Subgroup.Basic /-! # Simple groups @@ -21,6 +23,8 @@ subgroup, subgroups -/ +@[expose] public section + variable {G : Type*} [Group G] variable {A : Type*} [AddGroup A] diff --git a/Mathlib/GroupTheory/Submonoid/Center.lean b/Mathlib/GroupTheory/Submonoid/Center.lean index 0ac14d0564d3e8..98dd2e51f50dcf 100644 --- a/Mathlib/GroupTheory/Submonoid/Center.lean +++ b/Mathlib/GroupTheory/Submonoid/Center.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Submonoid.Operations -import Mathlib.GroupTheory.Subsemigroup.Center +module + +public import Mathlib.Algebra.Group.Submonoid.Operations +public import Mathlib.GroupTheory.Subsemigroup.Center /-! # Centers of monoids @@ -18,6 +20,8 @@ We provide `Subgroup.center`, `AddSubgroup.center`, `Subsemiring.center`, and `S other files. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Finset diff --git a/Mathlib/GroupTheory/Submonoid/Centralizer.lean b/Mathlib/GroupTheory/Submonoid/Centralizer.lean index 13e6c68e028740..21061ab09cb5ca 100644 --- a/Mathlib/GroupTheory/Submonoid/Centralizer.lean +++ b/Mathlib/GroupTheory/Submonoid/Centralizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.GroupTheory.Subsemigroup.Centralizer -import Mathlib.GroupTheory.Submonoid.Center +module + +public import Mathlib.GroupTheory.Subsemigroup.Centralizer +public import Mathlib.GroupTheory.Submonoid.Center /-! # Centralizers of magmas and monoids @@ -17,6 +19,8 @@ import Mathlib.GroupTheory.Submonoid.Center We provide `Subgroup.centralizer`, `AddSubgroup.centralizer` in other files. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Finset diff --git a/Mathlib/GroupTheory/Submonoid/Inverses.lean b/Mathlib/GroupTheory/Submonoid/Inverses.lean index 0ec9e7e9bde73d..12d417d470af28 100644 --- a/Mathlib/GroupTheory/Submonoid/Inverses.lean +++ b/Mathlib/GroupTheory/Submonoid/Inverses.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Group.Submonoid.Pointwise +module + +public import Mathlib.Algebra.Group.Submonoid.Pointwise /-! @@ -28,6 +30,8 @@ See the comments of https://github.com/leanprover-community/mathlib4/pull/10679 implementation. -/ +@[expose] public section + variable {M : Type*} diff --git a/Mathlib/GroupTheory/Subsemigroup/Center.lean b/Mathlib/GroupTheory/Subsemigroup/Center.lean index 9528805ae66835..fed5a6bcea1bec 100644 --- a/Mathlib/GroupTheory/Subsemigroup/Center.lean +++ b/Mathlib/GroupTheory/Subsemigroup/Center.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Center -import Mathlib.Algebra.Group.Subsemigroup.Defs +module + +public import Mathlib.Algebra.Group.Center +public import Mathlib.Algebra.Group.Subsemigroup.Defs /-! # Centers of semigroups, as subsemigroups. @@ -23,6 +25,8 @@ We provide `Submonoid.center`, `AddSubmonoid.center`, `Subgroup.center`, `AddSub [cabreragarciarodriguezpalacios2014] -/ +@[expose] public section + assert_not_exists RelIso Finset /-! ### `Set.center` as a `Subsemigroup`. -/ diff --git a/Mathlib/GroupTheory/Subsemigroup/Centralizer.lean b/Mathlib/GroupTheory/Subsemigroup/Centralizer.lean index ad2fcd8423a13f..17f1bc52a87f6b 100644 --- a/Mathlib/GroupTheory/Subsemigroup/Centralizer.lean +++ b/Mathlib/GroupTheory/Subsemigroup/Centralizer.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Jireh Loreaux -/ -import Mathlib.Algebra.Group.Center -import Mathlib.Algebra.Group.Subsemigroup.Basic -import Mathlib.GroupTheory.Subsemigroup.Center +module + +public import Mathlib.Algebra.Group.Center +public import Mathlib.Algebra.Group.Subsemigroup.Basic +public import Mathlib.GroupTheory.Subsemigroup.Center /-! # Centralizers in semigroups, as subsemigroups. @@ -19,6 +21,8 @@ We provide `Monoid.centralizer`, `AddMonoid.centralizer`, `Subgroup.centralizer` `AddSubgroup.centralizer` in other files. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Finset diff --git a/Mathlib/GroupTheory/Sylow.lean b/Mathlib/GroupTheory/Sylow.lean index 2e1288eaa0c9a1..5c31ef32da6024 100644 --- a/Mathlib/GroupTheory/Sylow.lean +++ b/Mathlib/GroupTheory/Sylow.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Thomas Browning -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Data.SetLike.Fintype -import Mathlib.GroupTheory.PGroup -import Mathlib.GroupTheory.NoncommPiCoprod +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Data.SetLike.Fintype +public import Mathlib.GroupTheory.PGroup +public import Mathlib.GroupTheory.NoncommPiCoprod /-! # Sylow theorems @@ -38,6 +40,8 @@ The Sylow theorems are the following results for every finite group `G` and ever If the number of Sylow `p`-subgroups is finite, then it is congruent to `1` modulo `p`. -/ +@[expose] public section + open MulAction Subgroup diff --git a/Mathlib/GroupTheory/Torsion.lean b/Mathlib/GroupTheory/Torsion.lean index e58a3ee713b83e..a29df70e080c29 100644 --- a/Mathlib/GroupTheory/Torsion.lean +++ b/Mathlib/GroupTheory/Torsion.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Julian Berman. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Berman -/ -import Mathlib.GroupTheory.PGroup -import Mathlib.LinearAlgebra.Quotient.Defs +module + +public import Mathlib.GroupTheory.PGroup +public import Mathlib.LinearAlgebra.Quotient.Defs /-! # Torsion groups @@ -38,6 +40,8 @@ periodic group, aperiodic group, torsion subgroup, torsion abelian group * groups which are residually finite p-groups with respect to 2 distinct primes are torsion free -/ +@[expose] public section + variable {G H : Type*} diff --git a/Mathlib/GroupTheory/Transfer.lean b/Mathlib/GroupTheory/Transfer.lean index 87f0fda4636da5..b6b5d548229847 100644 --- a/Mathlib/GroupTheory/Transfer.lean +++ b/Mathlib/GroupTheory/Transfer.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.GroupTheory.Complement -import Mathlib.GroupTheory.Sylow +module + +public import Mathlib.GroupTheory.Complement +public import Mathlib.GroupTheory.Sylow /-! # The Transfer Homomorphism @@ -24,6 +26,8 @@ In this file we construct the transfer homomorphism. If `hP : N(P) ≤ C(P)`, then `(transfer P hP).ker` is a normal `p`-complement. -/ +@[expose] public section + variable {G : Type*} [Group G] {H : Subgroup G} {A : Type*} [CommGroup A] (ϕ : H →* A) diff --git a/Mathlib/InformationTheory/Hamming.lean b/Mathlib/InformationTheory/Hamming.lean index 7bacfc48de7b18..b42abe115ca78c 100644 --- a/Mathlib/InformationTheory/Hamming.lean +++ b/Mathlib/InformationTheory/Hamming.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Wrenna Robson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wrenna Robson -/ -import Mathlib.Analysis.Normed.Group.Basic +module + +public import Mathlib.Analysis.Normed.Group.Basic /-! # Hamming spaces @@ -25,6 +27,8 @@ code. * the Hamming norm forms a normed group on `Hamming β`. -/ +@[expose] public section + section HammingDistNorm diff --git a/Mathlib/InformationTheory/KullbackLeibler/Basic.lean b/Mathlib/InformationTheory/KullbackLeibler/Basic.lean index 0c6b39d6e23e74..4586a40a69c4c4 100644 --- a/Mathlib/InformationTheory/KullbackLeibler/Basic.lean +++ b/Mathlib/InformationTheory/KullbackLeibler/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.InformationTheory.KullbackLeibler.KLFun -import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv +module + +public import Mathlib.InformationTheory.KullbackLeibler.KLFun +public import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv /-! # Kullback-Leibler divergence @@ -40,6 +42,8 @@ measures `μ ≪ ν`. This also makes `klDiv μ ν` equal to an f-divergence: it -/ +@[expose] public section + open Real MeasureTheory Set open scoped ENNReal diff --git a/Mathlib/InformationTheory/KullbackLeibler/KLFun.lean b/Mathlib/InformationTheory/KullbackLeibler/KLFun.lean index 97822309dfe0f2..aa5971941fd83e 100644 --- a/Mathlib/InformationTheory/KullbackLeibler/KLFun.lean +++ b/Mathlib/InformationTheory/KullbackLeibler/KLFun.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog -import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv -import Mathlib.MeasureTheory.Measure.LogLikelihoodRatio +module + +public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog +public import Mathlib.MeasureTheory.Measure.Decomposition.IntegralRNDeriv +public import Mathlib.MeasureTheory.Measure.LogLikelihoodRatio /-! # The real function `fun x ↦ x * log x + 1 - x` @@ -38,6 +40,8 @@ This is a continuous nonnegative, strictly convex function on [0,∞), with mini -/ +@[expose] public section + open Real MeasureTheory Filter Set namespace InformationTheory diff --git a/Mathlib/Init.lean b/Mathlib/Init.lean index 2d3e62f3c3edff..c9ac80b435873d 100644 --- a/Mathlib/Init.lean +++ b/Mathlib/Init.lean @@ -1,26 +1,28 @@ -import Lean.Linter.Sets -- for the definition of linter sets -import Mathlib.Tactic.Linter.CommandStart -import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter -import Mathlib.Tactic.Linter.DirectoryDependency -import Mathlib.Tactic.Linter.DocPrime -import Mathlib.Tactic.Linter.DocString -import Mathlib.Tactic.Linter.GlobalAttributeIn -import Mathlib.Tactic.Linter.HashCommandLinter -import Mathlib.Tactic.Linter.Header +module + +public import Lean.Linter.Sets -- for the definition of linter sets +public import Mathlib.Tactic.Linter.CommandStart +public import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter +public import Mathlib.Tactic.Linter.DirectoryDependency +public import Mathlib.Tactic.Linter.DocPrime +public import Mathlib.Tactic.Linter.DocString +public import Mathlib.Tactic.Linter.GlobalAttributeIn +public import Mathlib.Tactic.Linter.HashCommandLinter +public import Mathlib.Tactic.Linter.Header -- This linter is disabled by default, but downstream projects may want to enable it: -- to facilitate this, we import the linter here. -import Mathlib.Tactic.Linter.FlexibleLinter +public import Mathlib.Tactic.Linter.FlexibleLinter -- This file imports Batteries.Tactic.Lint, where the `env_linter` attribute is defined. -import Mathlib.Tactic.Linter.Lint -import Mathlib.Tactic.Linter.Multigoal -import Mathlib.Tactic.Linter.OldObtain +public import Mathlib.Tactic.Linter.Lint +public import Mathlib.Tactic.Linter.Multigoal +public import Mathlib.Tactic.Linter.OldObtain -- The following import contains the environment extension for the unused tactic linter. -import Mathlib.Tactic.Linter.UnusedTacticExtension -import Mathlib.Tactic.Linter.UnusedTactic -import Mathlib.Tactic.Linter.Style +public import Mathlib.Tactic.Linter.UnusedTacticExtension +public import Mathlib.Tactic.Linter.UnusedTactic +public import Mathlib.Tactic.Linter.Style -- This import makes the `#min_imports` command available globally. -import Mathlib.Tactic.MinImports -import Mathlib.Tactic.TacticAnalysis.Declarations +public import Mathlib.Tactic.MinImports +public import Mathlib.Tactic.TacticAnalysis.Declarations /-! This is the root file in Mathlib: it is imported by virtually *all* Mathlib files. @@ -53,6 +55,8 @@ All linters imported here have no bulk imports; -/ +@[expose] public section + /-- Define a linter set of all mathlib syntax linters which are enabled by default. Projects depending on mathlib can use `set_option linter.allMathlibLinters true` to enable diff --git a/Mathlib/Lean/ContextInfo.lean b/Mathlib/Lean/ContextInfo.lean index 882e8ae622dbab..ead387f3b8556f 100644 --- a/Mathlib/Lean/ContextInfo.lean +++ b/Mathlib/Lean/ContextInfo.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ +module -import Mathlib.Lean.Elab.Tactic.Meta +public meta import Mathlib.Lean.Elab.Tactic.Meta -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public import Mathlib.Tactic.Linter.Header /-! # Executing actions using the infotree @@ -15,6 +16,8 @@ This file contains helper functions for running `CoreM`, `MetaM` and tactic acti in the context of an infotree node. -/ +@[expose] public meta section + open Lean Elab Term Command Linter namespace Lean.Elab.ContextInfo diff --git a/Mathlib/Lean/CoreM.lean b/Mathlib/Lean/CoreM.lean index 0907ce2bf449be..3793fc69a3f6b9 100644 --- a/Mathlib/Lean/CoreM.lean +++ b/Mathlib/Lean/CoreM.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init +module + +public import Mathlib.Init /-! # Additional functions using `CoreM` state. -/ +@[expose] public section + open Lean Core /-- diff --git a/Mathlib/Lean/Elab/InfoTree.lean b/Mathlib/Lean/Elab/InfoTree.lean index 733bec0c827e85..07e0ea0f4c917f 100644 --- a/Mathlib/Lean/Elab/InfoTree.lean +++ b/Mathlib/Lean/Elab/InfoTree.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Marc Huisinga. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Marc Huisinga -/ -import Mathlib.Init -import Lean.Server.InfoUtils -import Lean.Meta.TryThis +module + +public import Mathlib.Init +public import Lean.Server.InfoUtils +public import Lean.Meta.TryThis /-! # Additions to `Lean.Elab.InfoTree.Main` -/ +@[expose] public section + namespace Lean.Elab open Lean.Meta diff --git a/Mathlib/Lean/Elab/Tactic/Basic.lean b/Mathlib/Lean/Elab/Tactic/Basic.lean index c5f0229655d071..ab6ba3d161b689 100644 --- a/Mathlib/Lean/Elab/Tactic/Basic.lean +++ b/Mathlib/Lean/Elab/Tactic/Basic.lean @@ -3,11 +3,15 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Jon Eugster -/ -import Mathlib.Lean.Meta +module + +public import Mathlib.Lean.Meta /-! # Additions to `Lean.Elab.Tactic.Basic` -/ +@[expose] public section + open Lean Elab Tactic namespace Lean.Elab.Tactic diff --git a/Mathlib/Lean/Elab/Tactic/Meta.lean b/Mathlib/Lean/Elab/Tactic/Meta.lean index 3d08c7590b21f1..ba6f1cbd0f2cb4 100644 --- a/Mathlib/Lean/Elab/Tactic/Meta.lean +++ b/Mathlib/Lean/Elab/Tactic/Meta.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Lean.Elab.SyntheticMVars +module + +public import Lean.Elab.SyntheticMVars -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public import Mathlib.Tactic.Linter.Header /-! # Additions to `Lean.Elab.Tactic.Meta` -/ +@[expose] public section + namespace Lean.Elab open Term diff --git a/Mathlib/Lean/Elab/Term.lean b/Mathlib/Lean/Elab/Term.lean index 88069b18f506eb..3425337b1c1b0b 100644 --- a/Mathlib/Lean/Elab/Term.lean +++ b/Mathlib/Lean/Elab/Term.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Lean.Elab.Term +module + +public import Mathlib.Init +public import Lean.Elab.Term /-! # Additions to `Lean.Elab.Term` -/ +public meta section + namespace Lean.Elab.Term /-- Fully elaborates the term `patt`, allowing typeclass inference failure, diff --git a/Mathlib/Lean/EnvExtension.lean b/Mathlib/Lean/EnvExtension.lean index 6ca1adad43b48c..301e6969f9d395 100644 --- a/Mathlib/Lean/EnvExtension.lean +++ b/Mathlib/Lean/EnvExtension.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Init -import Lean.ScopedEnvExtension +module + +public import Mathlib.Init +public import Lean.ScopedEnvExtension /-! # Helper function for environment extensions and attributes. -/ +@[expose] public section + open Lean instance {σ : Type} [Inhabited σ] : Inhabited (ScopedEnvExtension.State σ) := ⟨{state := default}⟩ diff --git a/Mathlib/Lean/Exception.lean b/Mathlib/Lean/Exception.lean index c15fad88d8c233..103a29b56e6e9f 100644 --- a/Mathlib/Lean/Exception.lean +++ b/Mathlib/Lean/Exception.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Edward Ayers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Edward Ayers -/ -import Mathlib.Init -import Lean.Exception +module + +public import Mathlib.Init +public import Lean.Exception /-! # Additional methods for working with `Exception`s @@ -15,6 +17,8 @@ This file contains two additional methods for working with `Exception`s -/ +@[expose] public section + open Lean /-- diff --git a/Mathlib/Lean/Expr.lean b/Mathlib/Lean/Expr.lean index fa0ec85aea5d0d..7dab2ff00cd379 100644 --- a/Mathlib/Lean/Expr.lean +++ b/Mathlib/Lean/Expr.lean @@ -3,5 +3,7 @@ Copyright (c) 2019 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Kim Morrison, Keeley Hoek, Robert Y. Lewis, Floris van Doorn -/ -import Mathlib.Lean.Expr.Basic -import Mathlib.Lean.Expr.ReplaceRec +module + +public import Mathlib.Lean.Expr.Basic +public import Mathlib.Lean.Expr.ReplaceRec diff --git a/Mathlib/Lean/Expr/Basic.lean b/Mathlib/Lean/Expr/Basic.lean index 9e4566f242162b..95ed1a6313d650 100644 --- a/Mathlib/Lean/Expr/Basic.lean +++ b/Mathlib/Lean/Expr/Basic.lean @@ -4,8 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Kim Morrison, Keeley Hoek, Robert Y. Lewis, Floris van Doorn, Edward Ayers, Arthur Paulino -/ -import Mathlib.Init -import Lean.Expr +module + +public import Mathlib.Init +public import Lean.Meta.Tactic.Rewrite +public import Batteries.Tactic.Alias +public import Lean.Elab.Binders /-! # Additional operations on Expr and related types @@ -15,6 +19,8 @@ This file defines basic operations on the types expr, name, declaration, level, This file is mostly for non-tactics. -/ +public section + namespace Lean namespace BinderInfo diff --git a/Mathlib/Lean/Expr/ExtraRecognizers.lean b/Mathlib/Lean/Expr/ExtraRecognizers.lean index b8ca5f661228f6..096e877f6586c7 100644 --- a/Mathlib/Lean/Expr/ExtraRecognizers.lean +++ b/Mathlib/Lean/Expr/ExtraRecognizers.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Data.Set.Operations +module + +public import Mathlib.Data.Set.Operations /-! # Additional Expr recognizers needing theory imports -/ +@[expose] public section + namespace Lean.Expr /-- If `e` is a coercion of a set to a type, return the set. diff --git a/Mathlib/Lean/Expr/Rat.lean b/Mathlib/Lean/Expr/Rat.lean index 78660ddc1f3d6f..cef2945e603ec9 100644 --- a/Mathlib/Lean/Expr/Rat.lean +++ b/Mathlib/Lean/Expr/Rat.lean @@ -3,7 +3,11 @@ Copyright (c) 2019 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison -/ -import Mathlib.Init +module + +public import Mathlib.Init +public import Batteries.Tactic.Alias +public import Lean.ToExpr /-! # Additional operations on Expr and rational numbers @@ -16,6 +20,8 @@ This file defines some operations involving `Expr` and rational numbers. This includes natural numbers, integers and rationals. -/ +public section + open Lean in instance : ToExpr Rat where toExpr q := mkApp2 (.const ``mkRat []) (toExpr q.num) (toExpr q.den) diff --git a/Mathlib/Lean/Expr/ReplaceRec.lean b/Mathlib/Lean/Expr/ReplaceRec.lean index d2959f458d8d6f..42cfe50d5ac977 100644 --- a/Mathlib/Lean/Expr/ReplaceRec.lean +++ b/Mathlib/Lean/Expr/ReplaceRec.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Kim Morrison, Keeley Hoek, Robert Y. Lewis, Floris van Doorn, Edward Ayers -/ -import Lean.Expr -import Mathlib.Util.MemoFix +module + +public import Lean.Expr +public import Mathlib.Util.MemoFix /-! # ReplaceRec @@ -14,6 +16,8 @@ We define a more flexible version of `Expr.replace` where we can use recursive c replacing a subexpression. We completely mimic the implementation of `Expr.replace`. -/ +@[expose] public section + namespace Lean.Expr /-- A version of `Expr.replace` where the replacement function is available to the function `f?`. diff --git a/Mathlib/Lean/GoalsLocation.lean b/Mathlib/Lean/GoalsLocation.lean index 75ee5eb2f8049c..0a9b5029973601 100644 --- a/Mathlib/Lean/GoalsLocation.lean +++ b/Mathlib/Lean/GoalsLocation.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Init -import Lean.Meta.Tactic.Util -import Lean.SubExpr +module + +public import Mathlib.Init +public import Lean.Meta.Tactic.Util +public import Lean.SubExpr /-! This file defines some functions for dealing with `SubExpr.GoalsLocation`. -/ +@[expose] public section + namespace Lean.SubExpr.GoalsLocation /-- The root expression of the position specified by the `GoalsLocation`. -/ def rootExpr : GoalsLocation → MetaM Expr diff --git a/Mathlib/Lean/Json.lean b/Mathlib/Lean/Json.lean index f84d34f5241b49..7903247d29d243 100644 --- a/Mathlib/Lean/Json.lean +++ b/Mathlib/Lean/Json.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ +module -import Mathlib.Init +public import Mathlib.Init +import Lean.Data.Json.FromToJson.Basic /-! # Json serialization typeclass for `PUnit` & `Fin n` & `Subtype p` -/ +@[expose] public section + universe u diff --git a/Mathlib/Lean/LocalContext.lean b/Mathlib/Lean/LocalContext.lean index 3c410ec6b63e69..2023fca2d368f6 100644 --- a/Mathlib/Lean/LocalContext.lean +++ b/Mathlib/Lean/LocalContext.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.LocalContext +module + +public import Mathlib.Init +public import Lean.LocalContext /-! # Additional methods about `LocalContext` -/ +@[expose] public section + namespace Lean.LocalContext universe u v diff --git a/Mathlib/Lean/Message.lean b/Mathlib/Lean/Message.lean index 3df5f164b094dd..8f4ddf531e53d5 100644 --- a/Mathlib/Lean/Message.lean +++ b/Mathlib/Lean/Message.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Lean.Message -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Lean.Message +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-08-18") diff --git a/Mathlib/Lean/Meta.lean b/Mathlib/Lean/Meta.lean index 727a89660d801a..71f79d9ea497ef 100644 --- a/Mathlib/Lean/Meta.lean +++ b/Mathlib/Lean/Meta.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Term -import Lean.Elab.Tactic.Basic -import Lean.Meta.Tactic.Assert -import Lean.Meta.Tactic.Clear -import Batteries.CodeAction -- to enable the hole code action +module + +public import Mathlib.Init +public import Lean.Elab.Term +public import Lean.Elab.Tactic.Basic +public import Lean.Meta.Tactic.Assert +public import Lean.Meta.Tactic.Clear +public import Batteries.CodeAction -- to enable the hole code action /-! ## Additional utilities in `Lean.MVarId` -/ +public section + open Lean Meta namespace Lean.MVarId diff --git a/Mathlib/Lean/Meta/Basic.lean b/Mathlib/Lean/Meta/Basic.lean index 9835a8ca50ace1..5cc5e027a0b883 100644 --- a/Mathlib/Lean/Meta/Basic.lean +++ b/Mathlib/Lean/Meta/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Meta.AppBuilder -import Lean.Meta.Basic +module + +public import Mathlib.Init +public import Lean.Meta.AppBuilder +public import Lean.Meta.Coe /-! # Additions to `Lean.Meta.Basic` @@ -13,6 +15,8 @@ import Lean.Meta.Basic Likely these already exist somewhere. Pointers welcome. -/ +@[expose] public section + /-- Restore the metavariable context after execution. -/ diff --git a/Mathlib/Lean/Meta/CongrTheorems.lean b/Mathlib/Lean/Meta/CongrTheorems.lean index 8f256107c47097..35c755f7ed39b9 100644 --- a/Mathlib/Lean/Meta/CongrTheorems.lean +++ b/Mathlib/Lean/Meta/CongrTheorems.lean @@ -3,14 +3,20 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Lean.Meta.Tactic.Cleanup -import Lean.Meta.Tactic.Refl -import Mathlib.Logic.IsEmpty +module + +public import Lean.Meta.Tactic.Cleanup +public import Lean.Meta.Tactic.Refl +public import Mathlib.Logic.IsEmpty +import Lean.Meta.Tactic.Cases +import Lean.Meta.CongrTheorems /-! # Additions to `Lean.Meta.CongrTheorems` -/ +@[expose] public section + namespace Lean.Meta initialize registerTraceClass `Meta.CongrTheorems diff --git a/Mathlib/Lean/Meta/DiscrTree.lean b/Mathlib/Lean/Meta/DiscrTree.lean index 586b3f28ad8c31..2a7ee03c46a053 100644 --- a/Mathlib/Lean/Meta/DiscrTree.lean +++ b/Mathlib/Lean/Meta/DiscrTree.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Meta.DiscrTree +module + +public import Mathlib.Init +public import Lean.Meta.DiscrTree /-! # Additions to `Lean.Meta.DiscrTree` -/ +@[expose] public section + namespace Lean.Meta.DiscrTree /-- diff --git a/Mathlib/Lean/Meta/KAbstractPositions.lean b/Mathlib/Lean/Meta/KAbstractPositions.lean index 110e0e285bd3dc..19b64b5b5b0e5c 100644 --- a/Mathlib/Lean/Meta/KAbstractPositions.lean +++ b/Mathlib/Lean/Meta/KAbstractPositions.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Init -import Lean.HeadIndex -import Lean.Meta.ExprLens -import Lean.Meta.Check +module + +public import Mathlib.Init +public import Lean.HeadIndex +public import Lean.Meta.ExprLens +public import Lean.Meta.Check /-! @@ -24,6 +26,8 @@ whether this is the case. -/ +@[expose] public section + namespace Lean.Meta /-- Return the positions that `kabstract` would abstract for pattern `p` in expression `e`. diff --git a/Mathlib/Lean/Meta/RefinedDiscrTree.lean b/Mathlib/Lean/Meta/RefinedDiscrTree.lean index 1d626165e799cb..8883644a83e5d9 100644 --- a/Mathlib/Lean/Meta/RefinedDiscrTree.lean +++ b/Mathlib/Lean/Meta/RefinedDiscrTree.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup -import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize +module + +public import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup +public import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize /-! A discrimination tree for the purpose of unifying local expressions with library results. @@ -97,6 +99,8 @@ Improve the unification lookup. -/ +public section + namespace Lean.Meta.RefinedDiscrTree variable {α : Type} diff --git a/Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean b/Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean index 1df59dd61c0743..ebeff5f5cdf209 100644 --- a/Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean +++ b/Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean @@ -3,7 +3,10 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Init +module + +public import Mathlib.Init +public import Lean.Meta /-! # Basic Definitions for `RefinedDiscrTree` @@ -16,6 +19,8 @@ We define * `RefinedDiscrTree`, the discrimination tree itself. -/ +public section + namespace Lean.Meta.RefinedDiscrTree @@ -64,7 +69,8 @@ private nonrec def Key.hash : Key → UInt64 | .«forall» => 4 | .proj name idx nargs => mixHash (hash nargs) <| mixHash (hash name) (hash idx) -instance : Hashable Key := ⟨Key.hash⟩ +instance : Hashable Key where + hash := private Key.hash private def Key.format : Key → Format | .star => f!"*" @@ -80,7 +86,8 @@ private def Key.format : Key → Format | .forall => "∀" | .proj name idx nargs => f!"⟨{name}.{idx}, {nargs}⟩" -instance : ToFormat Key := ⟨Key.format⟩ +instance : ToFormat Key where + format := private Key.format /-- Converts an entry (i.e., `List Key`) to the discrimination tree into @@ -178,7 +185,8 @@ private def StackEntry.format : StackEntry → Format | .star => f!".star" | .expr info => f!".expr {info.expr}" -instance : ToFormat StackEntry := ⟨StackEntry.format⟩ +instance : ToFormat StackEntry where + format := private StackEntry.format /-- A `LazyEntry` represents a snapshot of the computation of encoding an `Expr` as `Array Key`. This is used for computing the keys one by one. -/ @@ -233,7 +241,8 @@ private def LazyEntry.format (entry : LazyEntry) : Format := Id.run do parts := parts.push f!"todo: {info.expr}" return Format.joinSep parts.toList ", " -instance : ToFormat LazyEntry := ⟨LazyEntry.format⟩ +instance : ToFormat LazyEntry where + format := private LazyEntry.format /-- Array index of a `Trie α` in the `tries` of a `RefinedDiscrTree`. -/ abbrev TrieIndex := Nat @@ -310,6 +319,7 @@ where else Format.joinSep lines.toList "\n" -instance [ToFormat α] : ToFormat (RefinedDiscrTree α) := ⟨format⟩ +instance [ToFormat α] : ToFormat (RefinedDiscrTree α) where + format := private format end Lean.Meta.RefinedDiscrTree diff --git a/Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean b/Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean index 4c75d89a7d736e..d297dea5a14270 100644 --- a/Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean +++ b/Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean @@ -3,8 +3,12 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Lean.Meta.RefinedDiscrTree.Basic -import Lean.Meta.DiscrTree +module + +public import Mathlib.Lean.Meta.RefinedDiscrTree.Basic +public import Lean.Meta.DiscrTree +public import Lean.Meta.LazyDiscrTree +import all Lean.Meta.DiscrTree /-! # Encoding an `Expr` as a sequence of `Key`s @@ -27,6 +31,8 @@ To compute all the keys at once, we have -/ +public section + namespace Lean.Meta.RefinedDiscrTree /-- The context for the `LazyM` monad -/ @@ -63,8 +69,6 @@ private def withLams (lambdas : List FVarId) (key : Key) : StateT LazyEntry Meta modify ({ · with computedKeys := tail.foldl (init := [key]) (fun _ => .lam :: ·) }) return .lam -open private toNatLit? from Lean.Meta.DiscrTree in - @[inline] private def encodingStepAux (e : Expr) (lambdas : List FVarId) (root : Bool) : LazyM Key := do withLams lambdas (← go) @@ -82,7 +86,7 @@ where match e.getAppFn with | .const n _ => unless root do - if let some v := toNatLit? e then + if let some v := LazyDiscrTree.MatchClone.toNatLit? e then return .lit v if e.getAppNumArgs != 0 then setEAsPrevious diff --git a/Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean b/Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean index dbb9784ea697ba..d553b8dd5a00c5 100644 --- a/Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean +++ b/Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Lean.Meta.RefinedDiscrTree.Basic -import Lean.Meta.CompletionName +module + +public import Mathlib.Lean.Meta.RefinedDiscrTree.Basic +public import Lean.Meta.CompletionName /-! # Constructing a RefinedDiscrTree @@ -22,6 +24,9 @@ There is also `createModuleDiscrTree` which does the same but with the constants from the current file. -/ + +public section + namespace Lean.Meta.RefinedDiscrTree variable {α : Type} @@ -159,12 +164,12 @@ private structure InitResults (α : Type) where namespace InitResults /-- Combine two initial results. -/ -protected def append (x y : InitResults α) : InitResults α := +private protected def append (x y : InitResults α) : InitResults α := let { tree := xv, errors := xe } := x let { tree := yv, errors := ye } := y { tree := xv ++ yv, errors := xe ++ ye } -instance : Append (InitResults α) where +private instance : Append (InitResults α) where append := InitResults.append end InitResults diff --git a/Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean b/Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean index b9ca85d58b7385..f3ea7a8a97b803 100644 --- a/Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean +++ b/Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Lean.Meta.RefinedDiscrTree.Encode +module + +public import Mathlib.Lean.Meta.RefinedDiscrTree.Encode /-! # Matching with a RefinedDiscrTree @@ -28,6 +30,8 @@ and when it is attempted to be assigned again, we check that it is the same assi -/ +public section + namespace Lean.Meta.RefinedDiscrTree variable {α β : Type} diff --git a/Mathlib/Lean/Meta/Simp.lean b/Mathlib/Lean/Meta/Simp.lean index 8e6222e4b0e4bf..fb965d0d50c044 100644 --- a/Mathlib/Lean/Meta/Simp.lean +++ b/Mathlib/Lean/Meta/Simp.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Gabriel Ebner, Floris van Doorn -/ -import Mathlib.Init -import Lean.Elab.Tactic.Simp +module + +public import Mathlib.Init +public import Lean.Elab.Tactic.Simp /-! # Helper functions for using the simplifier. @@ -12,6 +14,8 @@ import Lean.Elab.Tactic.Simp [TODO] Needs documentation, cleanup, and possibly reunification of `mkSimpContext'` with core. -/ +@[expose] public section + open Lean Elab.Tactic def Lean.PHashSet.toList.{u} {α : Type u} [BEq α] [Hashable α] (s : Lean.PHashSet α) : List α := diff --git a/Mathlib/Lean/Meta/Tactic/Rewrite.lean b/Mathlib/Lean/Meta/Tactic/Rewrite.lean index 2b883c139a1596..31bef06636dce8 100644 --- a/Mathlib/Lean/Meta/Tactic/Rewrite.lean +++ b/Mathlib/Lean/Meta/Tactic/Rewrite.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Patrick Massot, Kyle Miller -/ -import Mathlib.Init -import Lean.Meta.Tactic.Rewrite +module + +public import Mathlib.Init +public import Lean.Meta.Tactic.Rewrite /-! # Additional declarations for `Lean.Meta.Tactic.Rewrite` -/ +@[expose] public section + namespace Lean.Expr open Meta diff --git a/Mathlib/Lean/Name.lean b/Mathlib/Lean/Name.lean index c69d0bdcbd3667..f4b70ee1914fb3 100644 --- a/Mathlib/Lean/Name.lean +++ b/Mathlib/Lean/Name.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Meta.Match.MatcherInfo -import Lean.Meta.Tactic.Delta -import Std.Data.HashMap.Basic +module + +public import Mathlib.Init +public import Lean.Meta.Match.MatcherInfo +public import Lean.Meta.Tactic.Delta +public import Std.Data.HashMap.Basic /-! # Additional functions on `Lean.Name`. @@ -14,6 +16,8 @@ import Std.Data.HashMap.Basic We provide `allNames` and `allNamesByModule`. -/ +public section + open Lean Meta Elab private def isBlackListed (declName : Name) : CoreM Bool := do diff --git a/Mathlib/Lean/PrettyPrinter/Delaborator.lean b/Mathlib/Lean/PrettyPrinter/Delaborator.lean index d4b9484a78e433..3468bd5eb3d0ab 100644 --- a/Mathlib/Lean/PrettyPrinter/Delaborator.lean +++ b/Mathlib/Lean/PrettyPrinter/Delaborator.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Lean.PrettyPrinter.Delaborator.Basic +module + +public import Mathlib.Init +public import Lean.PrettyPrinter.Delaborator.Basic /-! # Additions to the delaborator -/ +@[expose] public section + namespace Lean.PrettyPrinter.Delaborator open SubExpr diff --git a/Mathlib/Lean/Thunk.lean b/Mathlib/Lean/Thunk.lean index 879e16fd6ea380..265a3ad6906cd8 100644 --- a/Mathlib/Lean/Thunk.lean +++ b/Mathlib/Lean/Thunk.lean @@ -3,12 +3,16 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Init +module + +public import Mathlib.Init /-! # Basic facts about `Thunk`. -/ +@[expose] public section + namespace Thunk @[simp] theorem get_pure {α} (x : α) : (Thunk.pure x).get = x := rfl diff --git a/Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean b/Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean index 79c438b9abd778..f8ff709d4055bb 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineMap -import Mathlib.LinearAlgebra.GeneralLinearGroup +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap +public import Mathlib.LinearAlgebra.GeneralLinearGroup /-! # Affine equivalences @@ -31,6 +33,8 @@ composition in `AffineEquiv.group`. affine space, affine equivalence -/ +@[expose] public section + open Function Set open Affine diff --git a/Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean b/Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean index e5ec4473cae219..b93d6cbfb26be8 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Prod -import Mathlib.Tactic.Abel -import Mathlib.Algebra.AddTorsor.Basic -import Mathlib.LinearAlgebra.AffineSpace.Defs +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Algebra.Order.Module.Defs +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.Tactic.Abel +public import Mathlib.Algebra.AddTorsor.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Defs /-! # Affine maps @@ -43,6 +45,8 @@ topology are defined elsewhere; see `Analysis.Normed.Affine.AddTorsor` and * https://en.wikipedia.org/wiki/Principal_homogeneous_space -/ +@[expose] public section + open Affine /-- An `AffineMap k P1 P2` (notation: `P1 →ᵃ[k] P2`) is a map from `P1` to `P2` that diff --git a/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean b/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean index d3fd17480de1d9..29ea3b0b03abf0 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Defs /-! # Affine spaces @@ -19,6 +21,8 @@ and the affine span of a set of points. -/ +@[expose] public section + noncomputable section open Affine diff --git a/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean b/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean index f22313f234c19f..1712cd221a441b 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Order.Atoms -import Mathlib.LinearAlgebra.Span.Defs -import Mathlib.LinearAlgebra.AffineSpace.Defs +module + +public import Mathlib.Order.Atoms +public import Mathlib.LinearAlgebra.Span.Defs +public import Mathlib.LinearAlgebra.AffineSpace.Defs /-! # Affine spaces @@ -43,6 +45,8 @@ topology are defined elsewhere; see `Analysis.Normed.Affine.AddTorsor` and * https://en.wikipedia.org/wiki/Affine_space * https://en.wikipedia.org/wiki/Principal_homogeneous_space -/ + +@[expose] public section noncomputable section open Affine diff --git a/Mathlib/LinearAlgebra/AffineSpace/Basis.lean b/Mathlib/LinearAlgebra/AffineSpace/Basis.lean index 64bd1a5f6e2393..151308c879ae7e 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Basis.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Basis.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.AffineSpace.Centroid -import Mathlib.LinearAlgebra.AffineSpace.Independent -import Mathlib.LinearAlgebra.AffineSpace.Pointwise -import Mathlib.LinearAlgebra.Basis.SMul +module + +public import Mathlib.LinearAlgebra.AffineSpace.Centroid +public import Mathlib.LinearAlgebra.AffineSpace.Independent +public import Mathlib.LinearAlgebra.AffineSpace.Pointwise +public import Mathlib.LinearAlgebra.Basis.SMul /-! # Affine bases and barycentric coordinates @@ -40,6 +42,8 @@ barycentric coordinate of `q : P` is `1 - fᵢ (q -ᵥ p i)`. -/ +@[expose] public section + open Affine Module Set open scoped Pointwise diff --git a/Mathlib/LinearAlgebra/AffineSpace/Centroid.lean b/Mathlib/LinearAlgebra/AffineSpace/Centroid.lean index db65702b60fb0d..181cbf5bcff055 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Centroid.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Centroid.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.AffineSpace.Combination +module + +public import Mathlib.LinearAlgebra.AffineSpace.Combination /-! # Centroid of a Finite Set of Points in Affine Space @@ -21,6 +23,8 @@ ring. -/ +@[expose] public section + assert_not_exists Affine.Simplex noncomputable section diff --git a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean index dbcbffbf97a36e..55a4833446062a 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Combination.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Combination.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Indicator -import Mathlib.Algebra.Module.BigOperators -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Indicator +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.Tactic.FinCases /-! # Affine combinations of points @@ -38,6 +40,8 @@ These definitions are for sums over a `Finset`; versions for a -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean b/Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean index 54615579f5d227..306f8f9e32dc73 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.Algebra.ContinuousAffineEquiv +module + +public import Mathlib.Topology.Algebra.ContinuousAffineEquiv deprecated_module (since := "2025-09-20") diff --git a/Mathlib/LinearAlgebra/AffineSpace/Defs.lean b/Mathlib/LinearAlgebra/AffineSpace/Defs.lean index 43164fc71dca1d..675cdf1ac0daea 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Defs.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.AddTorsor.Defs +module + +public import Mathlib.Algebra.AddTorsor.Defs /-! # Affine space @@ -37,6 +39,8 @@ Some key definitions are not yet present. coordinates, with appropriate proofs of existence when `k` is a field. -/ +@[expose] public section + assert_not_exists MonoidWithZero @[inherit_doc] scoped[Affine] notation "AffineSpace" => AddTorsor diff --git a/Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean b/Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean index 79411c7d7bbf98..49b9555e8eecde 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.FieldTheory.Finiteness -import Mathlib.LinearAlgebra.AffineSpace.Basis -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +module + +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.LinearAlgebra.AffineSpace.Basis +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas /-! # Finite-dimensional subspaces of affine spaces. @@ -21,6 +23,8 @@ subspaces of affine spaces. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean index 3cd575ed4307fb..09f8f815cf22d8 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Independent.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Independent.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Sign.Basic -import Mathlib.LinearAlgebra.AffineSpace.Combination -import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv -import Mathlib.LinearAlgebra.Basis.VectorSpace +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Sign.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Combination +public import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv +public import Mathlib.LinearAlgebra.Basis.VectorSpace /-! # Affine independence @@ -29,6 +31,8 @@ This file defines affinely independent families of points. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/AffineSpace/Matrix.lean b/Mathlib/LinearAlgebra/AffineSpace/Matrix.lean index 284f2ed76dca30..40b806e1e82da0 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Matrix.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Matrix.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.AffineSpace.Basis -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +module + +public import Mathlib.LinearAlgebra.AffineSpace.Basis +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse /-! # Matrix results for barycentric co-ordinates @@ -13,6 +15,8 @@ Results about the matrix of barycentric co-ordinates for a family of points in a respect to some affine basis. -/ +@[expose] public section + open Affine Matrix diff --git a/Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean b/Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean index 710254c9f694ce..d3df9902011ccd 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Module.Basic -import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv +module + +public import Mathlib.Algebra.Module.Basic +public import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv /-! # Midpoint of a segment @@ -31,6 +33,8 @@ We do not mark most lemmas as `@[simp]` because it is hard to tell which side is midpoint, AddMonoidHom -/ +@[expose] public section + open AffineMap AffineEquiv section diff --git a/Mathlib/LinearAlgebra/AffineSpace/MidpointZero.lean b/Mathlib/LinearAlgebra/AffineSpace/MidpointZero.lean index f5c255ec817802..c4800d15530dd8 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/MidpointZero.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/MidpointZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.LinearAlgebra.AffineSpace.Midpoint +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint /-! # Midpoint of a segment for characteristic zero @@ -16,6 +18,8 @@ We collect lemmas that require that the underlying ring has characteristic zero. midpoint -/ +@[expose] public section + open AffineMap AffineEquiv diff --git a/Mathlib/LinearAlgebra/AffineSpace/Ordered.lean b/Mathlib/LinearAlgebra/AffineSpace/Ordered.lean index 8840e8a12e25f5..5c47fd1938de78 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Ordered.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Ordered.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.Order.Module.Synonym -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.LinearAlgebra.AffineSpace.Slope +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.Order.Module.Synonym +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.LinearAlgebra.AffineSpace.Slope /-! # Ordered modules as affine spaces @@ -26,6 +28,8 @@ for an ordered module interpreted as an affine space. affine space, ordered module, slope -/ +@[expose] public section + open AffineMap diff --git a/Mathlib/LinearAlgebra/AffineSpace/Pointwise.lean b/Mathlib/LinearAlgebra/AffineSpace/Pointwise.lean index ec721ba2a7cad4..8b02bcd7e656a9 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Pointwise.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Pointwise.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hanting Zhang -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic /-! # Pointwise instances on `AffineSubspace`s @@ -12,6 +14,8 @@ This file provides the additive action `AffineSubspace.pointwiseAddAction` in th -/ +@[expose] public section + open Affine Pointwise diff --git a/Mathlib/LinearAlgebra/AffineSpace/Restrict.lean b/Mathlib/LinearAlgebra/AffineSpace/Restrict.lean index 406883c43782d2..95f5a7340452e5 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Restrict.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Restrict.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Paul Reichert. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Reichert -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic /-! # Affine map restrictions @@ -23,6 +25,8 @@ This file defines restrictions of affine maps. * The restriction in surjective if the codomain is the image of the domain. -/ +@[expose] public section + variable {k V₁ P₁ V₂ P₂ : Type*} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] diff --git a/Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean b/Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean index c4d6b46c1ecf3e..1c5c6d123a4db3 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Data.Finset.Sort -import Mathlib.LinearAlgebra.AffineSpace.Independent -import Mathlib.LinearAlgebra.AffineSpace.Restrict +module + +public import Mathlib.Data.Finset.Sort +public import Mathlib.LinearAlgebra.AffineSpace.Independent +public import Mathlib.LinearAlgebra.AffineSpace.Restrict /-! # Simplex in affine space @@ -27,6 +29,8 @@ This file defines n-dimensional simplices in affine space. -/ +@[expose] public section + noncomputable section open Finset Function Module diff --git a/Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean b/Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean index eaf41c2f556070..7917e9cbb75c2a 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic -import Mathlib.LinearAlgebra.AffineSpace.Centroid +module + +public import Mathlib.LinearAlgebra.AffineSpace.Simplex.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Centroid /-! # Centroid of a simplex in affine space @@ -13,6 +15,8 @@ This file proves some basic properties of the centroid of a simplex in affine sp -/ +@[expose] public section + noncomputable section open Finset diff --git a/Mathlib/LinearAlgebra/AffineSpace/Slope.lean b/Mathlib/LinearAlgebra/AffineSpace/Slope.lean index 68e43aad3dd747..982b3b6c3013d5 100644 --- a/Mathlib/LinearAlgebra/AffineSpace/Slope.lean +++ b/Mathlib/LinearAlgebra/AffineSpace/Slope.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineMap -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Module +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Module /-! # Slope of a function @@ -20,6 +22,8 @@ interval is convex on this interval. affine space, slope -/ +@[expose] public section + open AffineMap variable {k E PE : Type*} [Field k] [AddCommGroup E] [Module k E] [AddTorsor E PE] diff --git a/Mathlib/LinearAlgebra/Alternating/Basic.lean b/Mathlib/LinearAlgebra/Alternating/Basic.lean index c3432e01353a6b..dc9f13caca61f8 100644 --- a/Mathlib/LinearAlgebra/Alternating/Basic.lean +++ b/Mathlib/LinearAlgebra/Alternating/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Zhangir Azerbayev. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Zhangir Azerbayev -/ -import Mathlib.GroupTheory.Perm.Sign -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.LinearAlgebra.Multilinear.Basis +module + +public import Mathlib.GroupTheory.Perm.Sign +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.LinearAlgebra.Multilinear.Basis /-! # Alternating Maps @@ -39,6 +41,8 @@ using `map_swap` as a definition, and does not require `Neg N`. * `AlternatingMap.coe_smul` -/ +@[expose] public section + -- semiring / add_comm_monoid @@ -818,7 +822,7 @@ def alternatization : MultilinearMap R (fun _ : ι => M) N' →+ M [⋀^ι]→ { ∑ σ : Perm ι, Equiv.Perm.sign σ • m.domDomCongr σ with toFun := ⇑(∑ σ : Perm ι, Equiv.Perm.sign σ • m.domDomCongr σ) map_eq_zero_of_eq' := fun v i j hvij hij => - alternization_map_eq_zero_of_eq_aux m v i j hij hvij } + by exact alternization_map_eq_zero_of_eq_aux m v i j hij hvij } map_add' a b := by ext simp only [mk_coe, AlternatingMap.coe_mk, sum_apply, smul_apply, domDomCongr_apply, add_apply, diff --git a/Mathlib/LinearAlgebra/Alternating/Curry.lean b/Mathlib/LinearAlgebra/Alternating/Curry.lean index 897ccae840e803..6ea44434cd4d94 100644 --- a/Mathlib/LinearAlgebra/Alternating/Curry.lean +++ b/Mathlib/LinearAlgebra/Alternating/Curry.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Alternating.Basic -import Mathlib.LinearAlgebra.Multilinear.Curry +module + +public import Mathlib.LinearAlgebra.Alternating.Basic +public import Mathlib.LinearAlgebra.Multilinear.Curry /-! # Currying alternating forms @@ -14,6 +16,8 @@ which interprets an alternating map in `n + 1` variables as a linear map in the 0th variable taking values in the alternating maps in `n` variables. -/ +@[expose] public section + variable {R : Type*} {M M₂ N N₂ : Type*} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid N] [AddCommMonoid N₂] [Module R M] [Module R M₂] [Module R N] [Module R N₂] {n : ℕ} diff --git a/Mathlib/LinearAlgebra/Alternating/DomCoprod.lean b/Mathlib/LinearAlgebra/Alternating/DomCoprod.lean index 44397948ea9e50..6e37bc40f9f2b3 100644 --- a/Mathlib/LinearAlgebra/Alternating/DomCoprod.lean +++ b/Mathlib/LinearAlgebra/Alternating/DomCoprod.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.GroupTheory.Coset.Card -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.Perm.Basic -import Mathlib.LinearAlgebra.Alternating.Basic -import Mathlib.LinearAlgebra.Multilinear.TensorProduct +module + +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.GroupTheory.Coset.Card +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.Perm.Basic +public import Mathlib.LinearAlgebra.Alternating.Basic +public import Mathlib.LinearAlgebra.Multilinear.TensorProduct /-! # Exterior product of alternating maps @@ -18,6 +20,8 @@ to be the exterior product of two alternating maps, taking values in the tensor product of the codomains of the original maps. -/ +@[expose] public section + open TensorProduct variable {ιa ιb : Type*} [Fintype ιa] [Fintype ιb] diff --git a/Mathlib/LinearAlgebra/Alternating/Uncurry/Fin.lean b/Mathlib/LinearAlgebra/Alternating/Uncurry/Fin.lean index fa39d296fef40c..d1eec5207c75e5 100644 --- a/Mathlib/LinearAlgebra/Alternating/Uncurry/Fin.lean +++ b/Mathlib/LinearAlgebra/Alternating/Uncurry/Fin.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.LinearAlgebra.Alternating.Curry -import Mathlib.GroupTheory.Perm.Fin -import Mathlib.Data.Fin.Parity +module + +public import Mathlib.LinearAlgebra.Alternating.Curry +public import Mathlib.GroupTheory.Perm.Fin +public import Mathlib.Data.Fin.Parity /-! # Uncurrying alternating maps @@ -41,6 +43,8 @@ A version of the latter theorem for continuous alternating maps will be used to prove that the second exterior derivative of a differential form is zero. -/ +@[expose] public section + open Fin Function namespace AlternatingMap diff --git a/Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean b/Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean index 8c794975050920..0505eff5409e70 100644 --- a/Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean +++ b/Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Justin Thomas. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justin Thomas -/ -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.Algebra.Polynomial.Module.AEval +module + +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.Algebra.Polynomial.Module.AEval /-! # Annihilating Ideal @@ -32,6 +34,8 @@ there are some common specializations which may be more familiar. * Example 2: `A = n × n` matrices with entries in `R`. -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/LinearAlgebra/Basis/Basic.lean b/Mathlib/LinearAlgebra/Basis/Basic.lean index 30ce68193c3eba..87bf3b304eb8c9 100644 --- a/Mathlib/LinearAlgebra/Basis/Basic.lean +++ b/Mathlib/LinearAlgebra/Basis/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.LinearIndependent.Basic -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.LinearIndependent.Basic +public import Mathlib.LinearAlgebra.Span.Basic /-! # Basic results on bases @@ -23,6 +25,8 @@ There are also various lemmas on bases on specific spaces (such as empty or sing `span (range v) = ⊤`. -/ +@[expose] public section + assert_not_exists Ordinal noncomputable section diff --git a/Mathlib/LinearAlgebra/Basis/Bilinear.lean b/Mathlib/LinearAlgebra/Basis/Bilinear.lean index 83ddb9ae607ec7..c7be9888018295 100644 --- a/Mathlib/LinearAlgebra/Basis/Bilinear.lean +++ b/Mathlib/LinearAlgebra/Basis/Bilinear.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.Basis.Defs +module + +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.Basis.Defs /-! # Lemmas about bilinear maps with a basis over each argument -/ +@[expose] public section + open Module namespace LinearMap diff --git a/Mathlib/LinearAlgebra/Basis/Cardinality.lean b/Mathlib/LinearAlgebra/Basis/Cardinality.lean index 8cf9d257707a60..ced5f634dece37 100644 --- a/Mathlib/LinearAlgebra/Basis/Cardinality.lean +++ b/Mathlib/LinearAlgebra/Basis/Cardinality.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp, Kim Morrison -/ -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.SetTheory.Cardinal.Pigeonhole +module + +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.SetTheory.Cardinal.Pigeonhole /-! # Results relating bases and cardinality. -/ +@[expose] public section + section Finite open Module Basis Cardinal Set Submodule Finsupp diff --git a/Mathlib/LinearAlgebra/Basis/Defs.lean b/Mathlib/LinearAlgebra/Basis/Defs.lean index 747bac4ee7404a..59b3d5eed7069e 100644 --- a/Mathlib/LinearAlgebra/Basis/Defs.lean +++ b/Mathlib/LinearAlgebra/Basis/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.Data.Fintype.BigOperators -import Mathlib.LinearAlgebra.Finsupp.LinearCombination +module + +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination /-! # Bases @@ -56,6 +58,8 @@ basis, bases -/ +@[expose] public section + assert_not_exists LinearMap.pi LinearIndependent Cardinal -- TODO: assert_not_exists Submodule -- (should be possible after splitting `Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean`) diff --git a/Mathlib/LinearAlgebra/Basis/Exact.lean b/Mathlib/LinearAlgebra/Basis/Exact.lean index f116444b6a4f99..2a662d0009b697 100644 --- a/Mathlib/LinearAlgebra/Basis/Exact.lean +++ b/Mathlib/LinearAlgebra/Basis/Exact.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Exact -import Mathlib.LinearAlgebra.Basis.Basic +module + +public import Mathlib.Algebra.Exact +public import Mathlib.LinearAlgebra.Basis.Basic /-! # Basis from a split exact sequence @@ -18,6 +20,8 @@ We treat linear independence and the span condition separately. For convenience is stated not for `κ ⊕ σ`, but for an arbitrary type `ι` with two maps `κ → ι` and `σ → ι`. -/ +@[expose] public section + variable {R M K P : Type*} [Ring R] [AddCommGroup M] [AddCommGroup K] [AddCommGroup P] variable [Module R M] [Module R K] [Module R P] variable {f : K →ₗ[R] M} {g : M →ₗ[R] P} {s : M →ₗ[R] K} diff --git a/Mathlib/LinearAlgebra/Basis/Fin.lean b/Mathlib/LinearAlgebra/Basis/Fin.lean index ab094d47348620..2c92d83b9acf15 100644 --- a/Mathlib/LinearAlgebra/Basis/Fin.lean +++ b/Mathlib/LinearAlgebra/Basis/Fin.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Pi /-! # Bases indexed by `Fin` -/ +@[expose] public section + assert_not_exists Ordinal noncomputable section diff --git a/Mathlib/LinearAlgebra/Basis/Flag.lean b/Mathlib/LinearAlgebra/Basis/Flag.lean index 3435cad31c6709..2e56f8bcd1b051 100644 --- a/Mathlib/LinearAlgebra/Basis/Flag.lean +++ b/Mathlib/LinearAlgebra/Basis/Flag.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Fin.FlagRange -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Dual.Basis -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.Data.Fin.FlagRange +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Dual.Basis +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Flag of submodules defined by a basis @@ -17,6 +19,8 @@ to be the subspace spanned by the first `k` vectors of the basis `b`. We also prove some lemmas about this definition. -/ +@[expose] public section + open Set Submodule namespace Module.Basis diff --git a/Mathlib/LinearAlgebra/Basis/MulOpposite.lean b/Mathlib/LinearAlgebra/Basis/MulOpposite.lean index 4cc12b4793de81..e0f9bb47f3ff86 100644 --- a/Mathlib/LinearAlgebra/Basis/MulOpposite.lean +++ b/Mathlib/LinearAlgebra/Basis/MulOpposite.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.LinearAlgebra.FiniteDimensional.Defs +module + +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs /-! # Basis of an opposite space @@ -12,6 +14,8 @@ This file defines the basis of an opposite space and shows that the opposite space is finite-dimensional and free when the original space is. -/ +@[expose] public section + open Module MulOpposite variable {R H : Type*} diff --git a/Mathlib/LinearAlgebra/Basis/Prod.lean b/Mathlib/LinearAlgebra/Basis/Prod.lean index abf4333e651f4e..886ea17c401db1 100644 --- a/Mathlib/LinearAlgebra/Basis/Prod.lean +++ b/Mathlib/LinearAlgebra/Basis/Prod.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.LinearAlgebra.Prod -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.LinearAlgebra.FreeModule.Basic +module + +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.LinearAlgebra.FreeModule.Basic /-! # Bases for the product of modules -/ +@[expose] public section + assert_not_exists Ordinal noncomputable section diff --git a/Mathlib/LinearAlgebra/Basis/SMul.lean b/Mathlib/LinearAlgebra/Basis/SMul.lean index 35ae358e79ec86..091b29649fb93c 100644 --- a/Mathlib/LinearAlgebra/Basis/SMul.lean +++ b/Mathlib/LinearAlgebra/Basis/SMul.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.LinearAlgebra.Basis.Basic +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.LinearAlgebra.Basis.Basic /-! # Bases and scalar multiplication @@ -13,6 +15,8 @@ This file defines the scalar multiplication of bases by multiplying each basis v -/ +@[expose] public section + assert_not_exists Ordinal noncomputable section diff --git a/Mathlib/LinearAlgebra/Basis/Submodule.lean b/Mathlib/LinearAlgebra/Basis/Submodule.lean index 03d4150ce36d02..842a92398b9d44 100644 --- a/Mathlib/LinearAlgebra/Basis/Submodule.lean +++ b/Mathlib/LinearAlgebra/Basis/Submodule.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.LinearAlgebra.Basis.Basic +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.LinearAlgebra.Basis.Basic /-! # Bases of submodules -/ +@[expose] public section + open Function Set Submodule Finsupp Module assert_not_exists Ordinal diff --git a/Mathlib/LinearAlgebra/Basis/VectorSpace.lean b/Mathlib/LinearAlgebra/Basis/VectorSpace.lean index 90a51d0d134fa5..1968b5f664f670 100644 --- a/Mathlib/LinearAlgebra/Basis/VectorSpace.lean +++ b/Mathlib/LinearAlgebra/Basis/VectorSpace.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp -/ -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas -import Mathlib.LinearAlgebra.LinearPMap -import Mathlib.LinearAlgebra.Projection +module + +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +public import Mathlib.LinearAlgebra.LinearPMap +public import Mathlib.LinearAlgebra.Projection /-! # Bases in a vector space @@ -28,6 +30,8 @@ basis, bases -/ +@[expose] public section + open Function Module Set Submodule variable {ι : Type*} {ι' : Type*} {K : Type*} {V : Type*} {V' : Type*} diff --git a/Mathlib/LinearAlgebra/BilinearForm/Basic.lean b/Mathlib/LinearAlgebra/BilinearForm/Basic.lean index 0caff5322d5f69..1aa63f56c16675 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Basic.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow, Kexing Ying -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.LinearAlgebra.BilinearMap +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.LinearAlgebra.BilinearMap /-! # Bilinear form @@ -42,6 +44,8 @@ In this file we use the following type variables: Bilinear form, -/ +@[expose] public section + export LinearMap (BilinForm) open LinearMap (BilinForm) diff --git a/Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean b/Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean index ca1d39ca43df92..0556befffab232 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.BilinearForm.Properties +module + +public import Mathlib.LinearAlgebra.BilinearForm.Properties /-! @@ -17,6 +19,8 @@ import Mathlib.LinearAlgebra.BilinearForm.Properties Properly develop the material in the context of lattices. -/ +@[expose] public section + open LinearMap (BilinForm) open Module diff --git a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean index d16edb2095b550..8d8b19425068b9 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow, Kexing Ying -/ -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.BilinearForm.Basic -import Mathlib.LinearAlgebra.BilinearMap +module + +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.BilinearForm.Basic +public import Mathlib.LinearAlgebra.BilinearMap /-! # Bilinear form and linear maps @@ -38,6 +40,8 @@ In this file we use the following type variables: Bilinear form, -/ +@[expose] public section + open LinearMap (BilinForm) open LinearMap (BilinMap) open Module diff --git a/Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean b/Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean index d55938397b6e80..334594d11f44e0 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow, Kexing Ying -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.LinearAlgebra.BilinearForm.Properties +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.LinearAlgebra.BilinearForm.Properties /-! # Bilinear form @@ -30,6 +32,8 @@ In this file we use the following type variables: Bilinear form, -/ +@[expose] public section + open LinearMap (BilinForm) open Module diff --git a/Mathlib/LinearAlgebra/BilinearForm/Properties.lean b/Mathlib/LinearAlgebra/BilinearForm/Properties.lean index 6b7fde0e881abd..95d43620630a30 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/Properties.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/Properties.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow, Kexing Ying -/ -import Mathlib.LinearAlgebra.BilinearForm.Hom -import Mathlib.LinearAlgebra.Dual.Lemmas +module + +public import Mathlib.LinearAlgebra.BilinearForm.Hom +public import Mathlib.LinearAlgebra.Dual.Lemmas /-! # Bilinear form @@ -32,6 +34,8 @@ In this file we use the following type variables: Bilinear form, -/ +@[expose] public section + open LinearMap (BilinForm) open Module diff --git a/Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean b/Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean index 68aaa04d4e0075..90713f624ff81c 100644 --- a/Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean +++ b/Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.BilinearForm.Hom -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.LinearAlgebra.BilinearForm.Hom +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.TensorProduct.Finite /-! # The bilinear form on a tensor product @@ -20,6 +22,8 @@ import Mathlib.RingTheory.TensorProduct.Finite -/ +@[expose] public section + universe u v w uR uA uM₁ uM₂ uN₁ uN₂ variable {R : Type uR} {A : Type uA} {M₁ : Type uM₁} {M₂ : Type uM₂} {N₁ : Type uN₁} {N₂ : Type uN₂} diff --git a/Mathlib/LinearAlgebra/BilinearMap.lean b/Mathlib/LinearAlgebra/BilinearMap.lean index 7f4a19f44f55f5..0e04ecc5b127f6 100644 --- a/Mathlib/LinearAlgebra/BilinearMap.lean +++ b/Mathlib/LinearAlgebra/BilinearMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro -/ -import Mathlib.Algebra.Module.Submodule.Equiv -import Mathlib.Algebra.NoZeroSMulDivisors.Basic +module + +public import Mathlib.Algebra.Module.Submodule.Equiv +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic /-! # Basics on bilinear maps @@ -36,6 +38,8 @@ commuting actions, and `ρ₁₂ : R →+* R₂` and `σ₁₂ : S →+* S₂`. bilinear -/ +@[expose] public section + open Function namespace LinearMap diff --git a/Mathlib/LinearAlgebra/Charpoly/BaseChange.lean b/Mathlib/LinearAlgebra/Charpoly/BaseChange.lean index 6d29d6c79e8d55..1e4a5e4fffbc00 100644 --- a/Mathlib/LinearAlgebra/Charpoly/BaseChange.lean +++ b/Mathlib/LinearAlgebra/Charpoly/BaseChange.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Charpoly.ToMatrix -import Mathlib.LinearAlgebra.Determinant -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.LinearAlgebra.Charpoly.ToMatrix +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.RingTheory.TensorProduct.Finite /-! # The characteristic polynomial of base change -/ +@[expose] public section + @[simp] lemma LinearMap.charpoly_baseChange {R M} [CommRing R] [AddCommGroup M] [Module R M] [Module.Free R M] [Module.Finite R M] (f : M →ₗ[R] M) diff --git a/Mathlib/LinearAlgebra/Charpoly/Basic.lean b/Mathlib/LinearAlgebra/Charpoly/Basic.lean index 922b5d9167262a..925862bca2319a 100644 --- a/Mathlib/LinearAlgebra/Charpoly/Basic.lean +++ b/Mathlib/LinearAlgebra/Charpoly/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.LinearAlgebra.Determinant -import Mathlib.FieldTheory.Minpoly.Field +module + +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.FieldTheory.Minpoly.Field /-! @@ -22,6 +24,8 @@ in any basis is in `LinearAlgebra/Charpoly/ToMatrix`. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean b/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean index 9b8e8ea9ccc81d..69c430d74e3cdb 100644 --- a/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean +++ b/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.LinearAlgebra.Charpoly.Basic -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.RingTheory.Finiteness.Prod +module + +public import Mathlib.LinearAlgebra.Charpoly.Basic +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.RingTheory.Finiteness.Prod /-! @@ -18,6 +20,8 @@ import Mathlib.RingTheory.Finiteness.Prod -/ +@[expose] public section + noncomputable section open Module Free Polynomial Matrix diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean index 1f4c19a6b6a974..c76b7c1290cd1c 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation -import Mathlib.LinearAlgebra.TensorProduct.Opposite -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +public import Mathlib.LinearAlgebra.TensorProduct.Opposite +public import Mathlib.RingTheory.TensorProduct.Basic /-! # The base change of a clifford algebra @@ -30,6 +32,8 @@ We show the additional results: * `CliffordAlgebra.toBaseChange_reverse`: the effect of base-changing a reversal. -/ +@[expose] public section + variable {R A V : Type*} variable [CommRing R] [CommRing A] [AddCommGroup V] variable [Algebra R A] [Module R V] diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean index ce797e0ae94a2b..7b7ba8e1d4023b 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Utensil Song -/ -import Mathlib.Algebra.RingQuot -import Mathlib.LinearAlgebra.TensorAlgebra.Basic -import Mathlib.LinearAlgebra.QuadraticForm.Isometry -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +module + +public import Mathlib.Algebra.RingQuot +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic +public import Mathlib.LinearAlgebra.QuadraticForm.Isometry +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv /-! # Clifford Algebras @@ -42,6 +44,8 @@ The Clifford algebra of `M` is constructed as a quotient of the tensor algebra, This file is almost identical to `Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean`. -/ +@[expose] public section + variable {R : Type*} [CommRing R] variable {M : Type*} [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/CategoryTheory.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/CategoryTheory.lean index 0685918dfcfad9..cb4b679c81eeba 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/CategoryTheory.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/CategoryTheory.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Basic -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat -import Mathlib.Algebra.Category.AlgCat.Basic +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Basic +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat +public import Mathlib.Algebra.Category.AlgCat.Basic /-! # Category-theoretic interpretations of `CliffordAlgebra` @@ -14,6 +16,8 @@ import Mathlib.Algebra.Category.AlgCat.Basic * `QuadraticModuleCat.cliffordAlgebra`: the functor from quadratic modules to algebras -/ +@[expose] public section + universe v u open CategoryTheory diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean index 8944a726cf84bb..2825f0769f093e 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Grading -import Mathlib.Algebra.Module.Opposite +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Grading +public import Mathlib.Algebra.Module.Opposite /-! # Conjugations @@ -30,6 +32,8 @@ https://en.wikipedia.org/wiki/Clifford_algebra#Antiautomorphisms -/ +@[expose] public section + variable {R : Type*} [CommRing R] variable {M : Type*} [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean index 15afac4a4f6de0..1db6f2a04b59da 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation -import Mathlib.LinearAlgebra.CliffordAlgebra.Fold -import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic -import Mathlib.LinearAlgebra.Dual.Defs +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +public import Mathlib.LinearAlgebra.CliffordAlgebra.Fold +public import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic +public import Mathlib.LinearAlgebra.Dual.Defs /-! # Contraction in Clifford Algebras @@ -40,6 +42,8 @@ Within this file, we use the local notation -/ +@[expose] public section + open LinearMap (BilinMap BilinForm) universe u1 u2 u3 diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean index fe846e2fb43b73..9a1a319416b99c 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.DualNumber -import Mathlib.Algebra.QuaternionBasis -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation -import Mathlib.LinearAlgebra.CliffordAlgebra.Star -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.LinearAlgebra.QuadraticForm.Prod +module + +public import Mathlib.Algebra.DualNumber +public import Mathlib.Algebra.QuaternionBasis +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +public import Mathlib.LinearAlgebra.CliffordAlgebra.Star +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.LinearAlgebra.QuadraticForm.Prod /-! # Other constructions isomorphic to Clifford Algebras @@ -57,6 +59,8 @@ and vice-versa: -/ +@[expose] public section + open CliffordAlgebra diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean index f1019cc8741f2e..50350b84db2ba7 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Fold -import Mathlib.LinearAlgebra.CliffordAlgebra.Grading +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Fold +public import Mathlib.LinearAlgebra.CliffordAlgebra.Grading /-! # The universal property of the even subalgebra @@ -32,6 +34,8 @@ For the universal property of the even subalgebra, we apply a variant of the fir choosing `S` to itself be a submodule of morphisms. -/ +@[expose] public section + namespace CliffordAlgebra diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean index dbcb3f71c2e07a..ff8780fff8b2d9 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation -import Mathlib.LinearAlgebra.CliffordAlgebra.Even -import Mathlib.LinearAlgebra.QuadraticForm.Prod +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +public import Mathlib.LinearAlgebra.CliffordAlgebra.Even +public import Mathlib.LinearAlgebra.QuadraticForm.Prod /-! # Isomorphisms with the even subalgebra of a Clifford algebra @@ -31,6 +33,8 @@ This file provides some notable isomorphisms regarding the even subalgebra, `Cli `CliffordAlgebra.involute`. -/ +@[expose] public section + namespace CliffordAlgebra diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Fold.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Fold.lean index 826a5e5393725f..7f7882e59d4d28 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Fold.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Fold.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation /-! # Recursive computation rules for the Clifford algebra @@ -28,6 +30,8 @@ For convenience, this file also provides `CliffordAlgebra.foldl`, implemented vi * `CliffordAlgebra.left_induction`: an induction rule that adds generators from the left. -/ +@[expose] public section + universe u1 u2 u3 diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean index ccc965ea0aad73..7007a2a46b67b3 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Grading.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Basic -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Basic +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Results about the grading structure of the clifford algebra @@ -13,6 +15,8 @@ The main result is `CliffordAlgebra.gradedAlgebra`, which says that the clifford ℤ₂-graded algebra (or "superalgebra"). -/ +@[expose] public section + namespace CliffordAlgebra diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean index 1315f00d3ed3eb..ba4ade2b589417 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Contraction +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Contraction /-! # Results about inverses in Clifford algebras @@ -11,6 +13,8 @@ This contains some basic results about the inversion of vectors, related to the $ι(m)^{-1} = \frac{ι(m)}{Q(m)}$. -/ +@[expose] public section + variable {R M : Type*} variable [CommRing R] [AddCommGroup M] [Module R M] {Q : QuadraticForm R M} diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean index 0a618d3c050897..4338fa7c2f3f3e 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Grading -import Mathlib.LinearAlgebra.TensorProduct.Graded.Internal -import Mathlib.LinearAlgebra.QuadraticForm.Prod +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Grading +public import Mathlib.LinearAlgebra.TensorProduct.Graded.Internal +public import Mathlib.LinearAlgebra.QuadraticForm.Prod /-! # Clifford algebras of a direct sum of two vector spaces @@ -24,6 +26,8 @@ to a graded algebra equivalence. -/ +@[expose] public section + suppress_compilation variable {R M₁ M₂ N : Type*} diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean index 113a94ddac0a4c..14d7a4165ca711 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Jiale Miao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiale Miao, Utensil Song, Eric Wieser -/ -import Mathlib.Algebra.Ring.Action.ConjAct -import Mathlib.GroupTheory.GroupAction.ConjAct -import Mathlib.Algebra.Star.Unitary -import Mathlib.LinearAlgebra.CliffordAlgebra.Star -import Mathlib.LinearAlgebra.CliffordAlgebra.Even -import Mathlib.LinearAlgebra.CliffordAlgebra.Inversion +module + +public import Mathlib.Algebra.Ring.Action.ConjAct +public import Mathlib.GroupTheory.GroupAction.ConjAct +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.LinearAlgebra.CliffordAlgebra.Star +public import Mathlib.LinearAlgebra.CliffordAlgebra.Even +public import Mathlib.LinearAlgebra.CliffordAlgebra.Inversion /-! # The Pin group and the Spin group @@ -43,6 +45,8 @@ https://mathoverflow.net/q/427881/172242 and https://mathoverflow.net/q/251288/1 Try to show the reverse statement is true in finite dimensions. -/ +@[expose] public section + variable {R : Type*} [CommRing R] variable {M : Type*} [AddCommGroup M] [Module R M] variable {Q : QuadraticForm R M} diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean index e5985054502116..ddb5782d89b3e5 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Conjugation /-! # Star structure on `CliffordAlgebra` @@ -22,6 +24,8 @@ Most results about `star` can be obtained by unfolding it via `CliffordAlgebra.s -/ +@[expose] public section + variable {R : Type*} [CommRing R] variable {M : Type*} [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/Coevaluation.lean b/Mathlib/LinearAlgebra/Coevaluation.lean index 7af0d3df329c55..87eb8c74b88db4 100644 --- a/Mathlib/LinearAlgebra/Coevaluation.lean +++ b/Mathlib/LinearAlgebra/Coevaluation.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.LinearAlgebra.Contraction +module + +public import Mathlib.LinearAlgebra.Contraction /-! # The coevaluation map on finite-dimensional vector spaces @@ -20,6 +22,8 @@ coevaluation, dual module, tensor product * Prove that this is independent of the choice of basis on `V`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Complex/Determinant.lean b/Mathlib/LinearAlgebra/Complex/Determinant.lean index 15ff0e47babfde..3999acc8444e46 100644 --- a/Mathlib/LinearAlgebra/Complex/Determinant.lean +++ b/Mathlib/LinearAlgebra/Complex/Determinant.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.LinearAlgebra.Determinant +module + +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.LinearAlgebra.Determinant /-! # Determinants of maps in the complex numbers as a vector space over `ℝ` @@ -14,6 +16,8 @@ space over `ℝ`. -/ +@[expose] public section + namespace Complex diff --git a/Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean b/Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean index 6dde44d8d72871..a9061cb45ec23a 100644 --- a/Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean +++ b/Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Analysis.Complex.Cardinality -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.Order.Interval.Set.Infinite +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Analysis.Complex.Cardinality +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.Order.Interval.Set.Infinite /-! # Complex number as a finite-dimensional vector space over `ℝ` @@ -16,6 +18,8 @@ This file contains the `FiniteDimensional ℝ ℂ` instance, as well as some res (`finrank` and `Module.rank`). -/ +@[expose] public section + open Module namespace Complex diff --git a/Mathlib/LinearAlgebra/Complex/Module.lean b/Mathlib/LinearAlgebra/Complex/Module.lean index e541b2585a9c6d..0479b97ad45272 100644 --- a/Mathlib/LinearAlgebra/Complex/Module.lean +++ b/Mathlib/LinearAlgebra/Complex/Module.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Alexander Bentkamp, Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Sébastien Gouëzel, Eric Wieser -/ -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Data.Complex.Basic -import Mathlib.Data.Real.Star -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Data.Complex.Basic +public import Mathlib.Data.Real.Star +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Complex number as a vector space over `ℝ` @@ -41,6 +43,8 @@ element of a `StarModule` over `ℂ`. `ComplexStarModule`. -/ +@[expose] public section + assert_not_exists NNReal namespace Complex diff --git a/Mathlib/LinearAlgebra/Complex/Orientation.lean b/Mathlib/LinearAlgebra/Complex/Orientation.lean index 5668fe5206b489..a6d5a75a2412c2 100644 --- a/Mathlib/LinearAlgebra/Complex/Orientation.lean +++ b/Mathlib/LinearAlgebra/Complex/Orientation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.LinearAlgebra.Orientation +module + +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.LinearAlgebra.Orientation /-! # The standard orientation on `ℂ`. @@ -13,6 +15,8 @@ This had previously been in `LinearAlgebra.Orientation`, but keeping it separate results in a significant import reduction. -/ +@[expose] public section + namespace Complex diff --git a/Mathlib/LinearAlgebra/Contraction.lean b/Mathlib/LinearAlgebra/Contraction.lean index 2e67f888dd5001..81677d7af65c2b 100644 --- a/Mathlib/LinearAlgebra/Contraction.lean +++ b/Mathlib/LinearAlgebra/Contraction.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Antoine Labelle -/ -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Contractions @@ -18,6 +20,8 @@ some basic properties of these maps. contraction, dual module, tensor product -/ +@[expose] public section + variable {ι : Type*} (R M N P Q : Type*) -- Enable extensionality of maps out of the tensor product. diff --git a/Mathlib/LinearAlgebra/Countable.lean b/Mathlib/LinearAlgebra/Countable.lean index 9b55032284e962..8e66b246f57ea8 100644 --- a/Mathlib/LinearAlgebra/Countable.lean +++ b/Mathlib/LinearAlgebra/Countable.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Finsupp.Encodable -import Mathlib.Data.Set.Countable -import Mathlib.LinearAlgebra.Finsupp.LinearCombination +module + +public import Mathlib.Data.Finsupp.Encodable +public import Mathlib.Data.Set.Countable +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination /-! # Countable modules -/ +@[expose] public section + noncomputable section namespace Finsupp diff --git a/Mathlib/LinearAlgebra/CrossProduct.lean b/Mathlib/LinearAlgebra/CrossProduct.lean index 11f18187f150fc..344c01c9603696 100644 --- a/Mathlib/LinearAlgebra/CrossProduct.lean +++ b/Mathlib/LinearAlgebra/CrossProduct.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Martin Dvorak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Dvorak, Kyle Miller, Eric Wieser -/ -import Mathlib.Algebra.Lie.Basic -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Notation +module + +public import Mathlib.Algebra.Lie.Basic +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Notation /-! # Cross products @@ -36,6 +38,8 @@ The scope `Matrix` gives the following notation: cross product -/ +@[expose] public section + open Matrix @@ -66,7 +70,7 @@ end Matrix open Lean Elab Meta.Tactic Term in @[term_elab Matrix._root_.«term_×₃_», inherit_doc «term_×₃_»] -def elabDeprecatedCross : TermElab +meta def elabDeprecatedCross : TermElab | `($x ×₃%$tk $y) => fun ty? => do logWarningAt tk <| .tagged ``Linter.deprecatedAttr <| m!"The ×₃ notation has been deprecated" TryThis.addSuggestion tk { suggestion := "⨯₃" } diff --git a/Mathlib/LinearAlgebra/DFinsupp.lean b/Mathlib/LinearAlgebra/DFinsupp.lean index 00703839e4bb8f..b3e7d5b8108051 100644 --- a/Mathlib/LinearAlgebra/DFinsupp.lean +++ b/Mathlib/LinearAlgebra/DFinsupp.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau -/ -import Mathlib.Data.DFinsupp.Submonoid -import Mathlib.Data.DFinsupp.Sigma -import Mathlib.Data.Finsupp.ToDFinsupp -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +module + +public import Mathlib.Data.DFinsupp.Submonoid +public import Mathlib.Data.DFinsupp.Sigma +public import Mathlib.Data.Finsupp.ToDFinsupp +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas /-! # Properties of the module `Π₀ i, M i` @@ -35,6 +37,8 @@ much more developed, but many lemmas in that file should be eligible to copy ove function with finite support, module, linear algebra -/ +@[expose] public section + variable {ι ι' : Type*} {R : Type*} {S : Type*} {M : ι → Type*} {N : Type*} namespace DFinsupp diff --git a/Mathlib/LinearAlgebra/Determinant.lean b/Mathlib/LinearAlgebra/Determinant.lean index cdd28aaca78895..21b060fcffff76 100644 --- a/Mathlib/LinearAlgebra/Determinant.lean +++ b/Mathlib/LinearAlgebra/Determinant.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.Tactic.FieldSimp -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +module + +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.Tactic.FieldSimp +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv /-! # Determinant of families of vectors @@ -38,6 +40,8 @@ types used for indexing. basis, det, determinant -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/Basic.lean b/Mathlib/LinearAlgebra/Dimension/Basic.lean index fbf5d5bde21f94..0798a853a0e440 100644 --- a/Mathlib/LinearAlgebra/Dimension/Basic.lean +++ b/Mathlib/LinearAlgebra/Dimension/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Sander Dahmen, Kim Morrison -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.LinearAlgebra.LinearIndependent.Basic -import Mathlib.Data.Set.Card +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.LinearAlgebra.LinearIndependent.Basic +public import Mathlib.Data.Set.Card /-! # Dimension of modules and vector spaces @@ -30,6 +32,8 @@ inserting `lift`s. The types `M`, `M'`, ... all live in different universes, and `M₁`, `M₂`, ... all live in the same universe. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/Constructions.lean b/Mathlib/LinearAlgebra/Dimension/Constructions.lean index 7032f655f56e67..16f14e8bac8a7d 100644 --- a/Mathlib/LinearAlgebra/Dimension/Constructions.lean +++ b/Mathlib/LinearAlgebra/Dimension/Constructions.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Sander Dahmen, Kim Morrison, Chris Hughes, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.LinearAlgebra.Basis.Prod -import Mathlib.LinearAlgebra.Dimension.Free -import Mathlib.LinearAlgebra.TensorProduct.Basis +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.LinearAlgebra.Basis.Prod +public import Mathlib.LinearAlgebra.Dimension.Free +public import Mathlib.LinearAlgebra.TensorProduct.Basis /-! # Rank of various constructions @@ -29,6 +31,8 @@ We have `finrank` variants for most lemmas as well. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/DivisionRing.lean b/Mathlib/LinearAlgebra/Dimension/DivisionRing.lean index 2ae8f40a686168..b77d62c15870ba 100644 --- a/Mathlib/LinearAlgebra/Dimension/DivisionRing.lean +++ b/Mathlib/LinearAlgebra/Dimension/DivisionRing.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Sander Dahmen, Kim Morrison, Chris Hughes, Anne Baanen, Junyan Xu -/ -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.Dimension.RankNullity +module + +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.Dimension.RankNullity /-! # Dimension of vector spaces @@ -26,6 +28,8 @@ See also `Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean` for the Erdős-Ka -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean b/Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean index db296fb2e43482..e209701eee409c 100644 --- a/Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean +++ b/Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Field.Opposite -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.SetTheory.Cardinal.Subfield +module + +public import Mathlib.Algebra.Field.Opposite +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.SetTheory.Cardinal.Subfield /-! # Erdős-Kaplansky theorem @@ -17,6 +19,8 @@ import Mathlib.SetTheory.Cardinal.Subfield -/ +@[expose] public section + noncomputable section universe u v diff --git a/Mathlib/LinearAlgebra/Dimension/Finite.lean b/Mathlib/LinearAlgebra/Dimension/Finite.lean index 473d81ef12b262..b28db9757578e0 100644 --- a/Mathlib/LinearAlgebra/Dimension/Finite.lean +++ b/Mathlib/LinearAlgebra/Dimension/Finite.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Sander Dahmen, Kim Morrison -/ -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.Dimension.Subsingleton -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.SetTheory.Cardinal.Cofinality +module + +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.Subsingleton +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.SetTheory.Cardinal.Cofinality /-! # Conditions for rank to be finite @@ -16,6 +18,8 @@ Also contains characterization for when rank equals zero or rank equals one. -/ +@[expose] public section + noncomputable section universe u v v' w diff --git a/Mathlib/LinearAlgebra/Dimension/Finrank.lean b/Mathlib/LinearAlgebra/Dimension/Finrank.lean index bf86a3bbc6a0f7..cee9a227b929cc 100644 --- a/Mathlib/LinearAlgebra/Dimension/Finrank.lean +++ b/Mathlib/LinearAlgebra/Dimension/Finrank.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Anne Baanen -/ -import Mathlib.LinearAlgebra.Dimension.Subsingleton -import Mathlib.SetTheory.Cardinal.ToNat +module + +public import Mathlib.LinearAlgebra.Dimension.Subsingleton +public import Mathlib.SetTheory.Cardinal.ToNat /-! # Finite dimension of vector spaces @@ -30,6 +32,8 @@ in `Dimension.lean`. Not all results have been ported yet. You should not assume that there has been any effort to state lemmas as generally as possible. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/LinearAlgebra/Dimension/Free.lean b/Mathlib/LinearAlgebra/Dimension/Free.lean index 32e37338cb96be..8d4bdf1e3fc196 100644 --- a/Mathlib/LinearAlgebra/Dimension/Free.lean +++ b/Mathlib/LinearAlgebra/Dimension/Free.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.RingTheory.AlgebraTower -import Mathlib.SetTheory.Cardinal.Finsupp +module + +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.RingTheory.AlgebraTower +public import Mathlib.SetTheory.Cardinal.Finsupp /-! # Rank of free modules @@ -19,6 +21,8 @@ import Mathlib.SetTheory.Cardinal.Finsupp -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean b/Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean index ab22239b0598b0..bfa3c8bc7a4dae 100644 --- a/Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean +++ b/Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.Subsingleton +module + +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.Subsingleton /-! @@ -17,6 +19,8 @@ and `Mathlib/LinearAlgebra/FiniteDimensional.lean`. -/ +@[expose] public section + open Cardinal Module Module Set Submodule universe u v diff --git a/Mathlib/LinearAlgebra/Dimension/LinearMap.lean b/Mathlib/LinearAlgebra/Dimension/LinearMap.lean index 2fb84b2ed86219..6a04777c2ea4d9 100644 --- a/Mathlib/LinearAlgebra/Dimension/LinearMap.lean +++ b/Mathlib/LinearAlgebra/Dimension/LinearMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition /-! # The rank of a linear map @@ -14,6 +16,8 @@ import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition - `LinearMap.rank`: The rank of a linear map. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/Localization.lean b/Mathlib/LinearAlgebra/Dimension/Localization.lean index 2f785816e217f9..f08fdb53246fc2 100644 --- a/Mathlib/LinearAlgebra/Dimension/Localization.lean +++ b/Mathlib/LinearAlgebra/Dimension/Localization.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.LocalizedModule.Submodule -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.OreLocalization.OreSet +module + +public import Mathlib.Algebra.Module.LocalizedModule.Submodule +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.OreLocalization.OreSet /-! # Rank of localization @@ -19,6 +21,8 @@ import Mathlib.RingTheory.OreLocalization.OreSet - `rank_quotient_add_rank_of_isDomain`: The **rank-nullity theorem** for commutative domains. -/ +@[expose] public section + open Cardinal Module nonZeroDivisors section CommRing diff --git a/Mathlib/LinearAlgebra/Dimension/RankNullity.lean b/Mathlib/LinearAlgebra/Dimension/RankNullity.lean index e4bfd7ce488e48..e7716941f136cd 100644 --- a/Mathlib/LinearAlgebra/Dimension/RankNullity.lean +++ b/Mathlib/LinearAlgebra/Dimension/RankNullity.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.Logic.Equiv.Fin.Rotate +module + +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.Logic.Equiv.Fin.Rotate /-! @@ -24,6 +26,8 @@ The following instances are provided in mathlib: TODO: prove the rank-nullity theorem for `[Ring R] [IsDomain R] [StrongRankCondition R]`. See `nonempty_oreSet_of_strongRankCondition` for a start. -/ + +@[expose] public section universe u v open Function Set Cardinal Submodule LinearMap diff --git a/Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean b/Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean index d1f121081a0bcb..6f47f4ebb2aad6 100644 --- a/Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean +++ b/Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Basis.Submodule -import Mathlib.LinearAlgebra.Dimension.Finrank -import Mathlib.LinearAlgebra.InvariantBasisNumber +module + +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Basis.Submodule +public import Mathlib.LinearAlgebra.Dimension.Finrank +public import Mathlib.LinearAlgebra.InvariantBasisNumber /-! # Lemmas about rank and `finrank` in rings satisfying strong rank condition. @@ -42,6 +44,8 @@ For modules over rings with invariant basis number -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Dimension/Subsingleton.lean b/Mathlib/LinearAlgebra/Dimension/Subsingleton.lean index a801c49ed59a21..94748320bd53d6 100644 --- a/Mathlib/LinearAlgebra/Dimension/Subsingleton.lean +++ b/Mathlib/LinearAlgebra/Dimension/Subsingleton.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kim Morrison, Eric Wieser, Junyan Xu, Andrew Yang -/ -import Mathlib.LinearAlgebra.Dimension.Basic +module + +public import Mathlib.LinearAlgebra.Dimension.Basic /-! # Dimension of trivial modules -/ +@[expose] public section + variable (R M : Type*) [Semiring R] [AddCommMonoid M] [Module R M] section diff --git a/Mathlib/LinearAlgebra/Dimension/Torsion/Basic.lean b/Mathlib/LinearAlgebra/Dimension/Torsion/Basic.lean index 7ed5919a3971eb..ea1b769d6db50d 100644 --- a/Mathlib/LinearAlgebra/Dimension/Torsion/Basic.lean +++ b/Mathlib/LinearAlgebra/Dimension/Torsion/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.Dimension.Subsingleton +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.Dimension.Subsingleton /-! # Rank and torsion @@ -15,6 +17,8 @@ import Mathlib.LinearAlgebra.Dimension.Subsingleton - `rank_quotient_eq_of_le_torsion` : `rank M/N = rank M` if `N ≤ torsion M`. -/ +@[expose] public section + open Submodule theorem rank_quotient_eq_of_le_torsion {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/Dimension/Torsion/Finite.lean b/Mathlib/LinearAlgebra/Dimension/Torsion/Finite.lean index f2310c7cbe0dbe..49d37ef0b80d5c 100644 --- a/Mathlib/LinearAlgebra/Dimension/Torsion/Finite.lean +++ b/Mathlib/LinearAlgebra/Dimension/Torsion/Finite.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl, Sander Dahmen, Kim Morrison -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.LinearAlgebra.Dimension.Finite +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.LinearAlgebra.Dimension.Finite /-! # Results relating rank and torsion. -/ +@[expose] public section + variable {R M : Type*} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] lemma rank_eq_zero_iff_isTorsion : Module.rank R M = 0 ↔ Module.IsTorsion R M := by diff --git a/Mathlib/LinearAlgebra/DirectSum/Basis.lean b/Mathlib/LinearAlgebra/DirectSum/Basis.lean index 92ff32c19f4f71..17acb9f0b96846 100644 --- a/Mathlib/LinearAlgebra/DirectSum/Basis.lean +++ b/Mathlib/LinearAlgebra/DirectSum/Basis.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.LinearAlgebra.Finsupp.VectorSpace +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace /-! # Bases for direct sum of modules @@ -17,6 +19,8 @@ Currently, to get a basis on `⨁ i, M i` from a basis on each `M i`, use `DFins (using that the types are defeq). -/ +@[expose] public section + open DirectSum section Semiring diff --git a/Mathlib/LinearAlgebra/DirectSum/Finite.lean b/Mathlib/LinearAlgebra/DirectSum/Finite.lean index 6f239c28ce1715..41ab8e7ba3b6d1 100644 --- a/Mathlib/LinearAlgebra/DirectSum/Finite.lean +++ b/Mathlib/LinearAlgebra/DirectSum/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.RingTheory.Finiteness.Basic /-! # A finite direct sum of finite modules is finite @@ -13,6 +15,8 @@ This file defines a `Module.Finite` instance for a finite direct sum of finite m -/ +@[expose] public section + open DirectSum variable {R ι : Type*} [Semiring R] [Finite ι] (M : ι → Type*) diff --git a/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean b/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean index 29312517971cd6..3b903935bb6877 100644 --- a/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean +++ b/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Antoine Chambert-Loir -/ -import Mathlib.Algebra.DirectSum.Finsupp -import Mathlib.LinearAlgebra.DirectSum.TensorProduct -import Mathlib.LinearAlgebra.Finsupp.SumProd +module + +public import Mathlib.Algebra.DirectSum.Finsupp +public import Mathlib.LinearAlgebra.DirectSum.TensorProduct +public import Mathlib.LinearAlgebra.Finsupp.SumProd /-! # Results on finitely supported functions. @@ -59,6 +61,8 @@ This belongs to a companion PR. * reprove `TensorProduct.finsuppLeft'` using existing heterobasic version of `TensorProduct.congr` -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean b/Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean index 18742dda1e855c..358f7b60315c4e 100644 --- a/Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean +++ b/Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.Algebra.DirectSum.Module +module + +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.Algebra.DirectSum.Module /-! # Tensor products of direct sums @@ -17,6 +19,8 @@ This file shows that taking `TensorProduct`s commutes with taking `DirectSum`s i * `TensorProduct.directSumRight` -/ +@[expose] public section + universe u v₁ v₂ w₁ w₁' w₂ w₂' section Ring diff --git a/Mathlib/LinearAlgebra/Dual/Basis.lean b/Mathlib/LinearAlgebra/Dual/Basis.lean index e97ed8e1871d6a..375fb594459d77 100644 --- a/Mathlib/LinearAlgebra/Dual/Basis.lean +++ b/Mathlib/LinearAlgebra/Dual/Basis.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Fabian Glöckle, Kyle Miller -/ -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.Dual.Defs +module + +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.Dual.Defs /-! # Bases of dual vector spaces @@ -30,6 +32,8 @@ This file concerns bases on dual vector spaces. then `ε` is a basis. -/ +@[expose] public section + open Module Dual Submodule LinearMap Function noncomputable section @@ -209,7 +213,7 @@ variable [CommSemiring R] [AddCommMonoid M] [Module R M] open Lean.Elab.Tactic in /-- Try using `Set.toFinite` to dispatch a `Set.Finite` goal. -/ -def evalUseFiniteInstance : TacticM Unit := do +meta def evalUseFiniteInstance : TacticM Unit := do evalTactic (← `(tactic| intros; apply Set.toFinite)) elab "use_finite_instance" : tactic => evalUseFiniteInstance diff --git a/Mathlib/LinearAlgebra/Dual/Defs.lean b/Mathlib/LinearAlgebra/Dual/Defs.lean index 149ab5c25d6feb..9ba9a99b80a60f 100644 --- a/Mathlib/LinearAlgebra/Dual/Defs.lean +++ b/Mathlib/LinearAlgebra/Dual/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Fabian Glöckle, Kyle Miller -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.Span.Defs +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.Span.Defs /-! # Dual vector spaces @@ -39,6 +41,8 @@ The dual space of an $R$-module $M$ is the $R$-module of $R$-linear maps $M \to subspaces of `Dual K (Dual K V)`. -/ +@[expose] public section + open Module Submodule noncomputable section diff --git a/Mathlib/LinearAlgebra/Dual/Lemmas.lean b/Mathlib/LinearAlgebra/Dual/Lemmas.lean index 1e09478ee2c204..c689a48020857d 100644 --- a/Mathlib/LinearAlgebra/Dual/Lemmas.lean +++ b/Mathlib/LinearAlgebra/Dual/Lemmas.lean @@ -3,19 +3,21 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Fabian Glöckle, Kyle Miller -/ -import Mathlib.Algebra.Module.LinearMap.DivisionRing -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Dimension.ErdosKaplansky -import Mathlib.LinearAlgebra.Dual.Basis -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber -import Mathlib.LinearAlgebra.Projection -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.RingTheory.Finiteness.Projective -import Mathlib.RingTheory.LocalRing.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.Algebra.Module.LinearMap.DivisionRing +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Dimension.ErdosKaplansky +public import Mathlib.LinearAlgebra.Dual.Basis +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.Matrix.InvariantBasisNumber +public import Mathlib.LinearAlgebra.Projection +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.RingTheory.Finiteness.Projective +public import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Dual vector spaces @@ -70,6 +72,8 @@ This file contains basic results on dual vector spaces. splitting of `V₁`. -/ +@[expose] public section + open Module Submodule noncomputable section diff --git a/Mathlib/LinearAlgebra/Eigenspace/Basic.lean b/Mathlib/LinearAlgebra/Eigenspace/Basic.lean index f6397b207350cd..55086ec099b2af 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Basic.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Algebra.Module.LinearMap.Basic -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.Tactic.Peel +module + +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Algebra.Module.LinearMap.Basic +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.Tactic.Peel /-! # Eigenvectors and eigenvalues @@ -49,6 +51,8 @@ The existence of eigenvalues over an algebraically closed field eigenspace, eigenvector, eigenvalue, eigen -/ +@[expose] public section + universe u v w diff --git a/Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean b/Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean index 731949b5034cf0..0c98b5188d53ae 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Lawrence Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lawrence Wu -/ -import Mathlib.LinearAlgebra.Charpoly.BaseChange -import Mathlib.LinearAlgebra.Charpoly.ToMatrix -import Mathlib.LinearAlgebra.Eigenspace.Basic +module + +public import Mathlib.LinearAlgebra.Charpoly.BaseChange +public import Mathlib.LinearAlgebra.Charpoly.ToMatrix +public import Mathlib.LinearAlgebra.Eigenspace.Basic /-! # Eigenvalues are the roots of the characteristic polynomial. @@ -15,6 +17,8 @@ import Mathlib.LinearAlgebra.Eigenspace.Basic eigenvalue, characteristic polynomial -/ +@[expose] public section + namespace Module namespace End diff --git a/Mathlib/LinearAlgebra/Eigenspace/Matrix.lean b/Mathlib/LinearAlgebra/Eigenspace/Matrix.lean index 0f0408cd717b06..645fd84c510096 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Matrix.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Matrix.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Jon Bannon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Bannon, Jireh Loreaux -/ +module -import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Basic /-! @@ -18,6 +19,8 @@ eigenspace, eigenvector, eigenvalue, spectrum, matrix -/ +@[expose] public section + section SpectrumDiagonal variable {R n M : Type*} [DecidableEq n] [Fintype n] diff --git a/Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean b/Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean index b8770b6b1ee33e..9af7437b9480a6 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.RingTheory.IntegralClosure.Algebra.Basic +module + +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.RingTheory.IntegralClosure.Algebra.Basic /-! # Eigenvalues are the roots of the minimal polynomial. @@ -16,6 +18,8 @@ import Mathlib.RingTheory.IntegralClosure.Algebra.Basic eigenvalue, minimal polynomial -/ +@[expose] public section + universe u v w diff --git a/Mathlib/LinearAlgebra/Eigenspace/Pi.lean b/Mathlib/LinearAlgebra/Eigenspace/Pi.lean index 13246a99c4affb..0a05bd44e1a5be 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Pi.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Eigenspace.Triangularizable +module + +public import Mathlib.LinearAlgebra.Eigenspace.Triangularizable /-! # Simultaneous eigenvectors and eigenvalues for families of endomorphisms @@ -24,6 +26,8 @@ for commuting endomorphisms but there are important more general situations wher -/ +@[expose] public section + open Function Set namespace Module.End diff --git a/Mathlib/LinearAlgebra/Eigenspace/Semisimple.lean b/Mathlib/LinearAlgebra/Eigenspace/Semisimple.lean index a95e808fdfaa9b..0b8aff68b7ea4c 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Semisimple.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Semisimple.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.LinearAlgebra.Semisimple +module + +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.Semisimple /-! # Eigenspaces of semisimple linear endomorphisms @@ -19,6 +21,8 @@ endomorphisms. -/ +@[expose] public section + open Function Set namespace Module.End diff --git a/Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean b/Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean index d800bbb638d94b..c09d0f73b9e4d8 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.FieldTheory.IsAlgClosed.Spectrum -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.FieldTheory.IsAlgClosed.Spectrum +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # Triangularizable linear endomorphisms @@ -38,6 +40,8 @@ generalized eigenspaces span the whole space. eigenspace, eigenvector, eigenvalue, eigen -/ +@[expose] public section + open Set Function Module Module variable {K V : Type*} [Field K] [AddCommGroup V] [Module K V] diff --git a/Mathlib/LinearAlgebra/Eigenspace/Zero.lean b/Mathlib/LinearAlgebra/Eigenspace/Zero.lean index 39c3464cd313c9..6416f0d9a8dd25 100644 --- a/Mathlib/LinearAlgebra/Eigenspace/Zero.lean +++ b/Mathlib/LinearAlgebra/Eigenspace/Zero.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.LinearAlgebra.Charpoly.ToMatrix -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Eigenspace.Minpoly -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.RingTheory.Artinian.Module +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.LinearAlgebra.Charpoly.ToMatrix +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Eigenspace.Minpoly +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.RingTheory.Artinian.Module /-! # Results on the eigenvalue 0 @@ -30,6 +32,8 @@ such as being nilpotent, having determinant equal to 0, having a non-trivial ker -/ +@[expose] public section + variable {R K M : Type*} [CommRing R] [IsDomain R] [Field K] [AddCommGroup M] variable [Module R M] [Module.Finite R M] [Module.Free R M] variable [Module K M] [Module.Finite K M] diff --git a/Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean b/Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean index 265a2e917cc08a..f83daeb665598a 100644 --- a/Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean +++ b/Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhangir Azerbayev, Adam Topaz, Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Basic -import Mathlib.LinearAlgebra.Alternating.Curry +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Basic +public import Mathlib.LinearAlgebra.Alternating.Curry /-! # Exterior Algebras @@ -44,6 +46,8 @@ The exterior algebra of `M` is constructed as simply `CliffordAlgebra (0 : Quadr as this avoids us having to duplicate API. -/ +@[expose] public section + universe u1 u2 u3 u4 u5 diff --git a/Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean b/Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean index 815bb1c481bcdb..14fe1996f80c53 100644 --- a/Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean +++ b/Mathlib/LinearAlgebra/ExteriorAlgebra/Grading.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Results about the grading structure of the exterior algebra @@ -15,6 +17,8 @@ The main result is `ExteriorAlgebra.gradedAlgebra`, which says that the exterior ℕ-graded algebra. -/ +@[expose] public section + namespace ExteriorAlgebra variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/ExteriorAlgebra/OfAlternating.lean b/Mathlib/LinearAlgebra/ExteriorAlgebra/OfAlternating.lean index 5aad0631df420b..ccbbdfbe10f949 100644 --- a/Mathlib/LinearAlgebra/ExteriorAlgebra/OfAlternating.lean +++ b/Mathlib/LinearAlgebra/ExteriorAlgebra/OfAlternating.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.CliffordAlgebra.Fold -import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.CliffordAlgebra.Fold +public import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic /-! # Extending an alternating map to the exterior algebra @@ -22,6 +24,8 @@ import Mathlib.LinearAlgebra.ExteriorAlgebra.Basic -/ +@[expose] public section + variable {R M N N' : Type*} variable [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup N'] diff --git a/Mathlib/LinearAlgebra/ExteriorPower/Basic.lean b/Mathlib/LinearAlgebra/ExteriorPower/Basic.lean index 2799024009b7d5..b4d43466eb8454 100644 --- a/Mathlib/LinearAlgebra/ExteriorPower/Basic.lean +++ b/Mathlib/LinearAlgebra/ExteriorPower/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel, Joël Riou -/ -import Mathlib.Algebra.Module.Presentation.Basic -import Mathlib.LinearAlgebra.ExteriorAlgebra.OfAlternating +module + +public import Mathlib.Algebra.Module.Presentation.Basic +public import Mathlib.LinearAlgebra.ExteriorAlgebra.OfAlternating /-! # Exterior powers @@ -31,6 +33,8 @@ We study the exterior powers of a module `M` over a commutative ring `R`. -/ +@[expose] public section + open scoped TensorProduct universe u diff --git a/Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean b/Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean index 1613b9eeb36d89..7373e581eebbd9 100644 --- a/Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean +++ b/Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Sophie Morel -/ +module -import Mathlib.LinearAlgebra.ExteriorPower.Basic -import Mathlib.LinearAlgebra.TensorPower.Pairing +public import Mathlib.LinearAlgebra.ExteriorPower.Basic +public import Mathlib.LinearAlgebra.TensorPower.Pairing /-! # The pairing between the exterior power of the dual and the exterior power @@ -15,6 +16,8 @@ We construct the pairing -/ +@[expose] public section + namespace exteriorPower open TensorProduct PiTensorProduct diff --git a/Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean b/Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean index fe091cf2c766bc..45f9caa37545c0 100644 --- a/Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean +++ b/Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.FiniteDimensional.Defs +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs /-! # Finite-dimensional vector spaces @@ -34,6 +36,8 @@ Plenty of the results hold for general fg modules or Noetherian modules, and the `Mathlib/LinearAlgebra/FreeModule/Finite/Rank.lean` and `Mathlib/RingTheory/Noetherian.lean`. -/ +@[expose] public section + universe u v v' w open Cardinal Function IsNoetherian Module Submodule diff --git a/Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean b/Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean index 94ffa566174ae5..8dfd062a3fd6bf 100644 --- a/Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean +++ b/Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.Dimension.Free -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.Dimension.Free +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Finite-dimensional vector spaces @@ -59,6 +61,8 @@ Plenty of the results hold for general fg modules or Noetherian modules, and the `Mathlib/LinearAlgebra/FreeModule/Finite/Rank.lean` and `Mathlib/RingTheory/Noetherian.lean`. -/ +@[expose] public section + assert_not_exists Module.Projective Subalgebra universe u v v' w diff --git a/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean b/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean index 4f5a47d2c0c618..4e0d7255a04518 100644 --- a/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean +++ b/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.LinearAlgebra.FiniteDimensional.Basic -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.LinearAlgebra.FiniteDimensional.Basic +public import Mathlib.Tactic.IntervalCases /-! # Finite-dimensional vector spaces @@ -18,6 +20,8 @@ Definitions are in `Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean` and results that require fewer imports are in `Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean`. -/ +@[expose] public section + assert_not_exists Monoid.exponent Module.IsTorsion diff --git a/Mathlib/LinearAlgebra/FiniteSpan.lean b/Mathlib/LinearAlgebra/FiniteSpan.lean index 799bbcc3cac70b..61d7bf3777d712 100644 --- a/Mathlib/LinearAlgebra/FiniteSpan.lean +++ b/Mathlib/LinearAlgebra/FiniteSpan.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Deepro Choudhury -/ -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.LinearAlgebra.Span.Defs -import Mathlib.Algebra.Module.Equiv.Basic +module + +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.LinearAlgebra.Span.Defs +public import Mathlib.Algebra.Module.Equiv.Basic /-! @@ -13,6 +15,8 @@ import Mathlib.Algebra.Module.Equiv.Basic -/ +@[expose] public section + open Set Function open Submodule (span) diff --git a/Mathlib/LinearAlgebra/Finsupp/Defs.lean b/Mathlib/LinearAlgebra/Finsupp/Defs.lean index e1962575e77a26..f4fed07f48c6ea 100644 --- a/Mathlib/LinearAlgebra/Finsupp/Defs.lean +++ b/Mathlib/LinearAlgebra/Finsupp/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Pi -import Mathlib.Data.Finsupp.SMul +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Data.Finsupp.SMul /-! # Properties of the module `α →₀ M` @@ -27,6 +29,8 @@ In this file we define `LinearMap` versions of various maps: function with finite support, module, linear algebra -/ +@[expose] public section + assert_not_exists Submodule noncomputable section diff --git a/Mathlib/LinearAlgebra/Finsupp/LSum.lean b/Mathlib/LinearAlgebra/Finsupp/LSum.lean index beb82444d8a849..78c6eafd5421c9 100644 --- a/Mathlib/LinearAlgebra/Finsupp/LSum.lean +++ b/Mathlib/LinearAlgebra/Finsupp/LSum.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Algebra.Module.Submodule.LinearMap -import Mathlib.LinearAlgebra.Finsupp.Defs -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Algebra.Module.Submodule.LinearMap +public import Mathlib.LinearAlgebra.Finsupp.Defs +public import Mathlib.Tactic.ApplyFun /-! # Sums as a linear map @@ -24,6 +26,8 @@ Given an `R`-module `M`, the `R`-module structure on `α →₀ M` is defined in function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap Submodule diff --git a/Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean b/Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean index fd30b83c434abb..946ea8b04493c2 100644 --- a/Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean +++ b/Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Module.Submodule.Equiv -import Mathlib.Data.Finsupp.Option -import Mathlib.LinearAlgebra.Finsupp.Supported +module + +public import Mathlib.Algebra.Module.Submodule.Equiv +public import Mathlib.Data.Finsupp.Option +public import Mathlib.LinearAlgebra.Finsupp.Supported /-! # `Finsupp.linearCombination` @@ -29,6 +31,8 @@ import Mathlib.LinearAlgebra.Finsupp.Supported function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap Submodule diff --git a/Mathlib/LinearAlgebra/Finsupp/Pi.lean b/Mathlib/LinearAlgebra/Finsupp/Pi.lean index fc2fa31e7b6d36..9ac018546b4287 100644 --- a/Mathlib/LinearAlgebra/Finsupp/Pi.lean +++ b/Mathlib/LinearAlgebra/Finsupp/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.LinearAlgebra.Finsupp.LSum -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.LinearAlgebra.Finsupp.LSum +public import Mathlib.LinearAlgebra.Pi /-! # Properties of the module `α →₀ M` @@ -20,6 +22,8 @@ by a map `f : X ⟶ Y` when `X` and `Y` are finite. function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap Submodule diff --git a/Mathlib/LinearAlgebra/Finsupp/Span.lean b/Mathlib/LinearAlgebra/Finsupp/Span.lean index 5fc145796c7e61..5be707fab0c7e1 100644 --- a/Mathlib/LinearAlgebra/Finsupp/Span.lean +++ b/Mathlib/LinearAlgebra/Finsupp/Span.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.LinearAlgebra.Finsupp.Defs -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.LinearAlgebra.Finsupp.Defs +public import Mathlib.LinearAlgebra.Span.Basic /-! # Finitely supported functions and spans @@ -14,6 +16,8 @@ import Mathlib.LinearAlgebra.Span.Basic function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap Submodule diff --git a/Mathlib/LinearAlgebra/Finsupp/SumProd.lean b/Mathlib/LinearAlgebra/Finsupp/SumProd.lean index e846de2334aa22..8aad66182cf555 100644 --- a/Mathlib/LinearAlgebra/Finsupp/SumProd.lean +++ b/Mathlib/LinearAlgebra/Finsupp/SumProd.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Module.Prod -import Mathlib.Data.Finsupp.SMul +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Module.Prod +public import Mathlib.Data.Finsupp.SMul /-! # `Finsupp`s and sum/product types @@ -18,6 +20,8 @@ This file contains results about modules involving `Finsupp` and sum/product/sig function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap diff --git a/Mathlib/LinearAlgebra/Finsupp/Supported.lean b/Mathlib/LinearAlgebra/Finsupp/Supported.lean index 6b1daa264e62d1..b66447a4bce054 100644 --- a/Mathlib/LinearAlgebra/Finsupp/Supported.lean +++ b/Mathlib/LinearAlgebra/Finsupp/Supported.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Module.Submodule.Range -import Mathlib.LinearAlgebra.Finsupp.LSum -import Mathlib.LinearAlgebra.Span.Defs +module + +public import Mathlib.Algebra.Module.Submodule.Range +public import Mathlib.LinearAlgebra.Finsupp.LSum +public import Mathlib.LinearAlgebra.Span.Defs /-! # `Finsupp`s supported on a given submodule @@ -23,6 +25,8 @@ import Mathlib.LinearAlgebra.Span.Defs function with finite support, module, linear algebra -/ +@[expose] public section + noncomputable section open Set LinearMap Submodule diff --git a/Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean b/Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean index 8859f1bfd90d9a..636356545a0478 100644 --- a/Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean +++ b/Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.Algebra.MonoidAlgebra.Defs -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.FreeModule.Basic +module + +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.Algebra.MonoidAlgebra.Defs +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.FreeModule.Basic /-! # Linear structures on function with finite support `ι →₀ M` @@ -18,6 +20,8 @@ This file contains results on the `R`-module structure on functions of finite su -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/FreeAlgebra.lean b/Mathlib/LinearAlgebra/FreeAlgebra.lean index aec62cb45f4d96..e785c59b5da365 100644 --- a/Mathlib/LinearAlgebra/FreeAlgebra.lean +++ b/Mathlib/LinearAlgebra/FreeAlgebra.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.FreeAlgebra -import Mathlib.LinearAlgebra.Basis.Cardinality -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.Dimension.Subsingleton -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +module + +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.LinearAlgebra.Basis.Cardinality +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.Subsingleton +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition /-! # Linear algebra properties of `FreeAlgebra R X` @@ -18,6 +20,8 @@ This file provides a `FreeMonoid X` basis on the `FreeAlgebra R X`, and uses it dimension of the algebra is the cardinality of `List X` -/ +@[expose] public section + open Module universe u v diff --git a/Mathlib/LinearAlgebra/FreeModule/Basic.lean b/Mathlib/LinearAlgebra/FreeModule/Basic.lean index 1c1a9d272f99a1..d10603e053ba79 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Basic.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Module.ULift -import Mathlib.Data.Finsupp.Fintype -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Module.ULift +public import Mathlib.Data.Finsupp.Fintype +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.Logic.Small.Basic /-! # Free modules @@ -23,6 +25,8 @@ module. * `Module.Free R M` : the class of free `R`-modules. -/ +@[expose] public section + assert_not_exists DirectSum Matrix TensorProduct universe u v w z diff --git a/Mathlib/LinearAlgebra/FreeModule/Determinant.lean b/Mathlib/LinearAlgebra/FreeModule/Determinant.lean index 3fa9050e31eec5..018ad7b51cc04a 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Determinant.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Determinant.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +module + +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! # Determinants in free (finite) modules @@ -18,6 +20,8 @@ free (finite) modules over any commutative ring. nontrivial module. -/ +@[expose] public section + @[simp high] theorem LinearMap.det_zero'' {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/FreeModule/Finite/Basic.lean b/Mathlib/LinearAlgebra/FreeModule/Finite/Basic.lean index 2ce7a05f1760cc..31d2492d3055f9 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Finite/Basic.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Finite/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.Matrix.StdBasis -import Mathlib.RingTheory.Finiteness.Cardinality +module + +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.Matrix.StdBasis +public import Mathlib.RingTheory.Finiteness.Cardinality /-! # Finite and free modules @@ -18,6 +20,8 @@ We provide some instances for finite and free modules. * `Module.Finite.of_basis` : A free module with a basis indexed by a `Fintype` is finite. -/ +@[expose] public section + universe u v w /-- If a free module is finite, then the arbitrary basis is finite. -/ diff --git a/Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean b/Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean index 925dc8c31c72ad..d0098d6c1c8a3e 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best, Xavier Roblot -/ -import Mathlib.Data.Int.Associated -import Mathlib.Data.Int.NatAbs -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient +module + +public import Mathlib.Data.Int.Associated +public import Mathlib.Data.Int.NatAbs +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient /-! # Cardinal of quotient of free finite `ℤ`-modules by submodules of full rank @@ -18,6 +20,8 @@ import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient -/ +@[expose] public section + open Module Submodule section Submodule diff --git a/Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean b/Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean index 151ede56c8222d..afbe5d1d20c242 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Finite/Matrix.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.Dimension.Finite +module + +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.Finite /-! # Finite and free modules using matrices @@ -19,6 +21,8 @@ We provide some instances for finite and free modules involving matrices. is finite. -/ +@[expose] public section + universe u u' v w diff --git a/Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean b/Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean index c03ae296922f88..252c49c84e5fa1 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Xavier Roblot -/ -import Mathlib.Data.ZMod.QuotientRing -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.Quotient.Pi +module + +public import Mathlib.Data.ZMod.QuotientRing +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.Quotient.Pi /-! # Quotient of submodules of full rank in free finite modules over PIDs @@ -18,6 +20,8 @@ import Mathlib.LinearAlgebra.Quotient.Pi -/ +@[expose] public section + open Module open scoped DirectSum diff --git a/Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean b/Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean index f8cabff55e063f..04e4c23e03eede 100644 --- a/Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean +++ b/Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient +module + +public import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient /-! # Ideals in free modules over PIDs @@ -14,6 +16,8 @@ import Mathlib.LinearAlgebra.FreeModule.Finite.Quotient -/ +@[expose] public section + open Module open scoped DirectSum diff --git a/Mathlib/LinearAlgebra/FreeModule/Int.lean b/Mathlib/LinearAlgebra/FreeModule/Int.lean index c11fa250c23c3f..9191cc0249edda 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Int.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Int.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Data.ZMod.QuotientGroup -import Mathlib.GroupTheory.Index -import Mathlib.LinearAlgebra.FreeModule.PID +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Data.ZMod.QuotientGroup +public import Mathlib.GroupTheory.Index +public import Mathlib.LinearAlgebra.FreeModule.PID /-! # Index of submodules of free ℤ-modules (considered as an `AddSubgroup`). @@ -15,6 +17,8 @@ index. -/ +@[expose] public section + variable {ι R M : Type*} {n : ℕ} [CommRing R] [AddCommGroup M] diff --git a/Mathlib/LinearAlgebra/FreeModule/ModN.lean b/Mathlib/LinearAlgebra/FreeModule/ModN.lean index a54541f0dfbddd..254f195447aa36 100644 --- a/Mathlib/LinearAlgebra/FreeModule/ModN.lean +++ b/Mathlib/LinearAlgebra/FreeModule/ModN.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.Module.ZMod -import Mathlib.LinearAlgebra.Dimension.Free +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.Module.ZMod +public import Mathlib.LinearAlgebra.Dimension.Free /-! # Quotienting out a free `ℤ`-module @@ -13,6 +15,8 @@ import Mathlib.LinearAlgebra.Dimension.Free If `G` is a rank `d` free `ℤ`-module, then `G/nG` is a finite group of cardinality `n ^ d`. -/ +@[expose] public section + open Finsupp Function Module variable {G H M : Type*} [AddCommGroup G] {n : ℕ} diff --git a/Mathlib/LinearAlgebra/FreeModule/Norm.lean b/Mathlib/LinearAlgebra/FreeModule/Norm.lean index df9daf7916b34d..a4da4c03673e6b 100644 --- a/Mathlib/LinearAlgebra/FreeModule/Norm.lean +++ b/Mathlib/LinearAlgebra/FreeModule/Norm.lean @@ -3,15 +3,19 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.FreeModule.IdealQuotient -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.RingTheory.Norm.Defs +module + +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.FreeModule.IdealQuotient +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.RingTheory.Norm.Defs /-! # Norms on free modules over principal ideal domains -/ +@[expose] public section + open Ideal Module Polynomial variable {R S ι : Type*} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] [CommRing S] diff --git a/Mathlib/LinearAlgebra/FreeModule/PID.lean b/Mathlib/LinearAlgebra/FreeModule/PID.lean index b4caa941cd6954..1c3ef915409f89 100644 --- a/Mathlib/LinearAlgebra/FreeModule/PID.lean +++ b/Mathlib/LinearAlgebra/FreeModule/PID.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Free modules over PID @@ -45,6 +47,8 @@ free module, finitely generated module, rank, structure theorem -/ +@[expose] public section + open Module universe u v diff --git a/Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean b/Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean index 4a4e52ebe6281e..908cefcb4fcf11 100644 --- a/Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean +++ b/Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.FiniteType -import Mathlib.LinearAlgebra.InvariantBasisNumber +module + +public import Mathlib.RingTheory.FiniteType +public import Mathlib.LinearAlgebra.InvariantBasisNumber /-! @@ -35,6 +37,8 @@ is injective. -/ +@[expose] public section + variable (R : Type*) [CommRing R] [Nontrivial R] diff --git a/Mathlib/LinearAlgebra/FreeProduct/Basic.lean b/Mathlib/LinearAlgebra/FreeProduct/Basic.lean index 5f7cdd91966dc5..bea4c90c45fcdf 100644 --- a/Mathlib/LinearAlgebra/FreeProduct/Basic.lean +++ b/Mathlib/LinearAlgebra/FreeProduct/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Robert Maxton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Maxton -/ -import Mathlib.Algebra.DirectSum.Basic -import Mathlib.LinearAlgebra.TensorAlgebra.ToTensorPower +module + +public import Mathlib.Algebra.DirectSum.Basic +public import Mathlib.LinearAlgebra.TensorAlgebra.ToTensorPower /-! # The free product of $R$-algebras @@ -41,6 +43,8 @@ general $R$-algebras. - Induction principle for `FreeProduct` -/ + +@[expose] public section universe u v w w' namespace DirectSum diff --git a/Mathlib/LinearAlgebra/GeneralLinearGroup.lean b/Mathlib/LinearAlgebra/GeneralLinearGroup.lean index 11e44eb57b847e..82007bec845942 100644 --- a/Mathlib/LinearAlgebra/GeneralLinearGroup.lean +++ b/Mathlib/LinearAlgebra/GeneralLinearGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Module.Equiv.Basic +module + +public import Mathlib.Algebra.Module.Equiv.Basic /-! # The general linear group of linear maps @@ -18,6 +20,8 @@ See also `Matrix.GeneralLinearGroup` -/ +@[expose] public section + variable (R M : Type*) diff --git a/Mathlib/LinearAlgebra/Goursat.lean b/Mathlib/LinearAlgebra/Goursat.lean index c6eb95e6456455..bc0aa48661d1a1 100644 --- a/Mathlib/LinearAlgebra/Goursat.lean +++ b/Mathlib/LinearAlgebra/Goursat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.GroupTheory.Goursat -import Mathlib.LinearAlgebra.Prod -import Mathlib.LinearAlgebra.Quotient.Basic +module + +public import Mathlib.GroupTheory.Goursat +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.LinearAlgebra.Quotient.Basic /-! # Goursat's lemma for submodules @@ -20,6 +22,8 @@ Equivalently, `L` is equal to the preimage in `M × N` of the graph of this isom respectively. -/ +@[expose] public section + open Function Set LinearMap namespace Submodule diff --git a/Mathlib/LinearAlgebra/InvariantBasisNumber.lean b/Mathlib/LinearAlgebra/InvariantBasisNumber.lean index 14889f37c7539e..2774885090b58f 100644 --- a/Mathlib/LinearAlgebra/InvariantBasisNumber.lean +++ b/Mathlib/LinearAlgebra/InvariantBasisNumber.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Kim Morrison -/ -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.RingTheory.Noetherian.Orzech -import Mathlib.RingTheory.OrzechProperty -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.LinearAlgebra.Finsupp.Pi +module + +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.RingTheory.Noetherian.Orzech +public import Mathlib.RingTheory.OrzechProperty +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.LinearAlgebra.Finsupp.Pi /-! # Invariant basis number property @@ -101,6 +103,8 @@ free module, rank, Orzech property, (strong) rank condition, invariant basis num -/ +@[expose] public section + noncomputable section open Function diff --git a/Mathlib/LinearAlgebra/Isomorphisms.lean b/Mathlib/LinearAlgebra/Isomorphisms.lean index b2e0a4ca5c6d4a..8123635061ebd9 100644 --- a/Mathlib/LinearAlgebra/Isomorphisms.lean +++ b/Mathlib/LinearAlgebra/Isomorphisms.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.LinearAlgebra.Quotient.Card +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.LinearAlgebra.Quotient.Card /-! # Isomorphism theorems for modules. @@ -15,6 +17,8 @@ import Mathlib.LinearAlgebra.Quotient.Card -/ +@[expose] public section + universe u v variable {R M M₂ M₃ : Type*} diff --git a/Mathlib/LinearAlgebra/JordanChevalley.lean b/Mathlib/LinearAlgebra/JordanChevalley.lean index c851a0440596ed..3ecea2c3d592a3 100644 --- a/Mathlib/LinearAlgebra/JordanChevalley.lean +++ b/Mathlib/LinearAlgebra/JordanChevalley.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Dynamics.Newton -import Mathlib.LinearAlgebra.Semisimple -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.Dynamics.Newton +public import Mathlib.LinearAlgebra.Semisimple +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # Jordan-Chevalley-Dunford decomposition @@ -34,6 +36,8 @@ The proof given here uses Newton's method and is taken from Chambert-Loir's note -/ +@[expose] public section + open Algebra Polynomial namespace Module.End diff --git a/Mathlib/LinearAlgebra/Lagrange.lean b/Mathlib/LinearAlgebra/Lagrange.lean index 0c2a3c083c881d..365cf94b6a9d29 100644 --- a/Mathlib/LinearAlgebra/Lagrange.lean +++ b/Mathlib/LinearAlgebra/Lagrange.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Wrenna Robson -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Pi -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.LinearAlgebra.Vandermonde -import Mathlib.RingTheory.Polynomial.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Pi +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.LinearAlgebra.Vandermonde +public import Mathlib.RingTheory.Polynomial.Basic /-! # Lagrange interpolation @@ -25,6 +27,8 @@ import Mathlib.RingTheory.Polynomial.Basic associated with the _nodes_`x i`. -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/LinearAlgebra/LinearDisjoint.lean b/Mathlib/LinearAlgebra/LinearDisjoint.lean index 2bbf8a7aebee31..8fea9dd70c8cea 100644 --- a/Mathlib/LinearAlgebra/LinearDisjoint.lean +++ b/Mathlib/LinearAlgebra/LinearDisjoint.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.LinearAlgebra.TensorProduct.Submodule -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.RingTheory.Flat.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.LinearAlgebra.TensorProduct.Submodule +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.RingTheory.Flat.Basic /-! @@ -127,6 +129,8 @@ linearly disjoint, linearly independent, tensor product -/ +@[expose] public section + open Module open scoped TensorProduct diff --git a/Mathlib/LinearAlgebra/LinearIndependent/Basic.lean b/Mathlib/LinearAlgebra/LinearIndependent/Basic.lean index 7d751997966864..d93f1bcabde722 100644 --- a/Mathlib/LinearAlgebra/LinearIndependent/Basic.lean +++ b/Mathlib/LinearAlgebra/LinearIndependent/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp, Anne Baanen -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.LinearAlgebra.LinearIndependent.Defs +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.LinearAlgebra.LinearIndependent.Defs /-! # Linear independence @@ -38,6 +40,8 @@ linearly dependent, linear dependence, linearly independent, linear independence -/ +@[expose] public section + assert_not_exists Cardinal noncomputable section diff --git a/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean b/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean index e889b0912e63a9..af214690058567 100644 --- a/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean +++ b/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp, Anne Baanen -/ -import Mathlib.Algebra.Order.Sub.Basic -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.Lean.Expr.ExtraRecognizers +module + +public import Mathlib.Algebra.Order.Sub.Basic +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public meta import Mathlib.Lean.Expr.ExtraRecognizers /-! @@ -72,6 +74,8 @@ linearly dependent, linear dependence, linearly independent, linear independence -/ +@[expose] public section + assert_not_exists Cardinal noncomputable section @@ -101,7 +105,7 @@ in case the family of vectors is over a `Set`. Type hints look like `LinearIndependent fun (v : ↑s) => ↑v` or `LinearIndependent (ι := ↑s) f`, depending on whether the family is a lambda expression or not. -/ @[app_delab LinearIndependent] -def delabLinearIndependent : Delab := +meta def delabLinearIndependent : Delab := whenPPOption getPPNotation <| whenNotPPOption getPPAnalysisSkip <| withOptionAtCurrPos `pp.analysis.skip true do diff --git a/Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean b/Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean index dcb2bac5d35051..9eb383bb5b35a1 100644 --- a/Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean +++ b/Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Alexander Bentkamp, Anne Baanen -/ -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.LinearAlgebra.LinearIndependent.Basic -import Mathlib.LinearAlgebra.Pi -import Mathlib.Logic.Equiv.Fin.Rotate -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.Module -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.LinearAlgebra.LinearIndependent.Basic +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.Logic.Equiv.Fin.Rotate +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.Module +public import Mathlib.Tactic.NoncommRing /-! # Linear independence @@ -46,6 +48,8 @@ linearly dependent, linear dependence, linearly independent, linear independence -/ +@[expose] public section + assert_not_exists Cardinal diff --git a/Mathlib/LinearAlgebra/LinearPMap.lean b/Mathlib/LinearAlgebra/LinearPMap.lean index 3787aa40c99616..d5ca52621a94eb 100644 --- a/Mathlib/LinearAlgebra/LinearPMap.lean +++ b/Mathlib/LinearAlgebra/LinearPMap.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Moritz Doll -/ -import Mathlib.LinearAlgebra.Prod +module + +public import Mathlib.LinearAlgebra.Prod /-! # Partially defined linear maps @@ -28,6 +30,8 @@ They are also the basis for the theory of unbounded operators. -/ +@[expose] public section + universe u v w /-- A `LinearPMap R E F` or `E →ₗ.[R] F` is a linear map from a submodule of `E` to `F`. -/ @@ -289,7 +293,7 @@ private theorem sup_aux (f g : E →ₗ.[R] F) with `f` and `g`. -/ protected noncomputable def sup (f g : E →ₗ.[R] F) (h : ∀ (x : f.domain) (y : g.domain), (x : E) = y → f x = g y) : E →ₗ.[R] F := - ⟨_, Classical.choose (sup_aux f g h)⟩ + ⟨_, private_decl% (Classical.choose (sup_aux f g h))⟩ @[simp] theorem domain_sup (f g : E →ₗ.[R] F) @@ -586,7 +590,7 @@ private theorem sSup_aux (c : Set (E →ₗ.[R] F)) (hc : DirectedOn (· ≤ ·) exact f_eq ⟨p, hpc⟩ _ _ hxy.symm protected noncomputable def sSup (c : Set (E →ₗ.[R] F)) (hc : DirectedOn (· ≤ ·) c) : E →ₗ.[R] F := - ⟨_, Classical.choose <| sSup_aux c hc⟩ + ⟨_, private_decl% (Classical.choose <| sSup_aux c hc)⟩ theorem domain_sSup {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (· ≤ ·) c) : (LinearPMap.sSup c hc).domain = sSup (LinearPMap.domain '' c) := rfl diff --git a/Mathlib/LinearAlgebra/Matrix/AbsoluteValue.lean b/Mathlib/LinearAlgebra/Matrix/AbsoluteValue.lean index a224ef97c5de9d..8ca13c99a09068 100644 --- a/Mathlib/LinearAlgebra/Matrix/AbsoluteValue.lean +++ b/Mathlib/LinearAlgebra/Matrix/AbsoluteValue.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Data.Int.AbsoluteValue -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +module + +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Data.Int.AbsoluteValue +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic /-! # Absolute values and matrices @@ -23,6 +25,8 @@ This file proves some bounds on matrices involving absolute values. then the determinant of the linear combination is bounded by `n! (s * y * x)^n` -/ +@[expose] public section + open Matrix open scoped Nat diff --git a/Mathlib/LinearAlgebra/Matrix/Adjugate.lean b/Mathlib/LinearAlgebra/Matrix/Adjugate.lean index 31b9d98c2ec867..acd0ec4279f589 100644 --- a/Mathlib/LinearAlgebra/Matrix/Adjugate.lean +++ b/Mathlib/LinearAlgebra/Matrix/Adjugate.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Regular.Basic -import Mathlib.LinearAlgebra.Matrix.MvPolynomial -import Mathlib.LinearAlgebra.Matrix.Polynomial +module + +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.LinearAlgebra.Matrix.MvPolynomial +public import Mathlib.LinearAlgebra.Matrix.Polynomial /-! # Cramer's rule and adjugate matrices @@ -38,6 +40,8 @@ We prove the adjugate behaves like `det A • A⁻¹`. cramer, cramer's rule, adjugate -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/BaseChange.lean b/Mathlib/LinearAlgebra/Matrix/BaseChange.lean index 21b00403c2cb93..4594ccffccb48c 100644 --- a/Mathlib/LinearAlgebra/Matrix/BaseChange.lean +++ b/Mathlib/LinearAlgebra/Matrix/BaseChange.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.Algebra.Field.Subfield.Defs +module + +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.Algebra.Field.Subfield.Defs /-! # Matrices and base change @@ -19,6 +21,8 @@ This file is a home for results about base change for matrices. -/ +@[expose] public section + namespace Matrix variable {m n L : Type*} [Finite m] [Fintype n] [DecidableEq m] [Field L] diff --git a/Mathlib/LinearAlgebra/Matrix/Basis.lean b/Mathlib/LinearAlgebra/Matrix/Basis.lean index 8cc128b8b3ee83..aee5abc7aa0b62 100644 --- a/Mathlib/LinearAlgebra/Matrix/Basis.lean +++ b/Mathlib/LinearAlgebra/Matrix/Basis.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.Basis.Submodule -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.Basis.Submodule +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Bases and matrices @@ -30,6 +32,8 @@ the matrix of their coordinates with respect to some basis. matrix, basis -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Matrix/BilinearForm.lean b/Mathlib/LinearAlgebra/Matrix/BilinearForm.lean index 5a406ce26df2a5..14eef60f249230 100644 --- a/Mathlib/LinearAlgebra/Matrix/BilinearForm.lean +++ b/Mathlib/LinearAlgebra/Matrix/BilinearForm.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kexing Ying -/ -import Mathlib.LinearAlgebra.BilinearForm.Properties -import Mathlib.LinearAlgebra.Matrix.SesquilinearForm +module + +public import Mathlib.LinearAlgebra.BilinearForm.Properties +public import Mathlib.LinearAlgebra.Matrix.SesquilinearForm /-! # Bilinear form @@ -30,6 +32,8 @@ bilinear form, bilin form, BilinearForm, matrix, basis -/ +@[expose] public section + open LinearMap (BilinForm) open Module diff --git a/Mathlib/LinearAlgebra/Matrix/Block.lean b/Mathlib/LinearAlgebra/Matrix/Block.lean index 45b0f75ac9559a..bd0b99755baaa6 100644 --- a/Mathlib/LinearAlgebra/Matrix/Block.lean +++ b/Mathlib/LinearAlgebra/Matrix/Block.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen, Wen Yang -/ -import Mathlib.LinearAlgebra.Matrix.Transvection -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.Tactic.FinCases +module + +public import Mathlib.LinearAlgebra.Matrix.Transvection +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.Tactic.FinCases /-! # Block matrices and their determinant @@ -32,6 +34,8 @@ matrix, diagonal, det, block triangular -/ +@[expose] public section + open Finset Function OrderDual diff --git a/Mathlib/LinearAlgebra/Matrix/CharP.lean b/Mathlib/LinearAlgebra/Matrix/CharP.lean index 9404e225bf7a41..809cc731e150f8 100644 --- a/Mathlib/LinearAlgebra/Matrix/CharP.lean +++ b/Mathlib/LinearAlgebra/Matrix/CharP.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Data.Matrix.Diagonal +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Data.Matrix.Diagonal /-! # Matrices in prime characteristic @@ -13,6 +15,8 @@ In this file we prove that matrices over a ring of characteristic `p` with nonempty index type have the same characteristic. -/ +@[expose] public section + open Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean index 61f35b59739eaa..a94de1eb3f7181 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.LinearAlgebra.Matrix.Adjugate -import Mathlib.LinearAlgebra.Matrix.Block -import Mathlib.RingTheory.MatrixPolynomialAlgebra +module + +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.LinearAlgebra.Matrix.Adjugate +public import Mathlib.LinearAlgebra.Matrix.Block +public import Mathlib.RingTheory.MatrixPolynomialAlgebra /-! # Characteristic polynomials and the Cayley-Hamilton theorem @@ -25,6 +27,8 @@ See the file `Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean` for corollaries We follow a nice proof from http://drorbn.net/AcademicPensieve/2015-12/CayleyHamilton.pdf -/ +@[expose] public section + noncomputable section universe u v w diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean index 58d811774a0ffe..fcaf48d69bbc9f 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Aaron Anderson, Jalex Stark. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jalex Stark -/ -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.Algebra.Polynomial.Laurent -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.LinearAlgebra.Matrix.Charpoly.Basic -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.RingTheory.Polynomial.Nilpotent +module + +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.Algebra.Polynomial.Laurent +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Basic +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.RingTheory.Polynomial.Nilpotent /-! # Characteristic polynomials @@ -29,6 +31,8 @@ We give methods for computing coefficients of the characteristic polynomial. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean index 3c6dfbc07b46b8..1917cf7ddafe97 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.RingTheory.Polynomial.Resultant.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.RingTheory.Polynomial.Resultant.Basic /-! # The discriminant of a matrix -/ +@[expose] public section + open Polynomial namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean index 2c6e5942f3bc3a..b75820f7602405 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Mohanad Ahmed. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mohanad Ahmed -/ -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.FieldTheory.IsAlgClosed.Basic +module + +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.FieldTheory.IsAlgClosed.Basic /-! # Eigenvalues are characteristic polynomial roots. @@ -48,6 +50,8 @@ dependencies are not general enough to unify them. We should refactor arbitrary map. -/ +@[expose] public section + variable {n : Type*} [Fintype n] [DecidableEq n] variable {R K : Type*} [CommRing R] [Field K] diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean index 28949779f1baa8..e2bbab2297b976 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Aaron Anderson, Jalex Stark. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jalex Stark -/ -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.LinearAlgebra.Matrix.CharP +module + +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.LinearAlgebra.Matrix.CharP /-! # Results on characteristic polynomials and traces over finite fields. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean index 6f1de2bafe2df8..0e3987ce283f80 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! @@ -20,6 +22,8 @@ ideal `I`, we may furthermore obtain a matrix representation whose entries fall This is used to conclude the Cayley-Hamilton theorem for f.g. modules over arbitrary rings. -/ +@[expose] public section + variable {ι : Type*} [Fintype ι] variable {M : Type*} [AddCommGroup M] (R : Type*) [CommRing R] [Module R M] (I : Ideal R) diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean index 573748f5f2d6ff..eb8e0cbd3ab2dd 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Minpoly.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Aaron Anderson, Jalex Stark. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jalex Stark, Eric Wieser -/ -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.RingTheory.PowerBasis +module + +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.RingTheory.PowerBasis /-! # The minimal polynomial divides the characteristic polynomial of a matrix. @@ -13,6 +15,8 @@ import Mathlib.RingTheory.PowerBasis This also includes some miscellaneous results about `minpoly` on matrices. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Matrix/Charpoly/Univ.lean b/Mathlib/LinearAlgebra/Matrix/Charpoly/Univ.lean index 75e8079d8a872c..ea850be36972aa 100644 --- a/Mathlib/LinearAlgebra/Matrix/Charpoly/Univ.lean +++ b/Mathlib/LinearAlgebra/Matrix/Charpoly/Univ.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.RingTheory.MvPolynomial.Homogeneous +module + +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.RingTheory.MvPolynomial.Homogeneous /-! # The universal characteristic polynomial @@ -29,6 +31,8 @@ of a matrix are homogeneous polynomials in the matrix entries. the `i`-th coefficient of `univ` is a homogeneous polynomial of degree `n - i`. -/ +@[expose] public section + namespace Matrix.charpoly variable {R S : Type*} (n : Type*) [CommRing R] [CommRing S] [Fintype n] [DecidableEq n] diff --git a/Mathlib/LinearAlgebra/Matrix/Circulant.lean b/Mathlib/LinearAlgebra/Matrix/Circulant.lean index ed5d0579c9058e..4fa8a94b6a0ee6 100644 --- a/Mathlib/LinearAlgebra/Matrix/Circulant.lean +++ b/Mathlib/LinearAlgebra/Matrix/Circulant.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Lu-Ming Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lu-Ming Zhang -/ -import Mathlib.Algebra.Group.Fin.Basic -import Mathlib.LinearAlgebra.Matrix.Symmetric -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Group.Fin.Basic +public import Mathlib.LinearAlgebra.Matrix.Symmetric +public import Mathlib.Tactic.Abel /-! # Circulant matrices @@ -31,6 +33,8 @@ Namely, the index type of the circulant matrices in discussion is `Fin n`. circulant, matrix -/ +@[expose] public section + variable {α β n R : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean b/Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean index 1e69196220d026..9a725ea83f5b19 100644 --- a/Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean +++ b/Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean @@ -3,15 +3,17 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin, Lu-Ming Zhang -/ -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.BigOperators.RingEquiv -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Star.BigOperators -import Mathlib.Algebra.Star.Module -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.Mul +module + +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.BigOperators.RingEquiv +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Star.BigOperators +public import Mathlib.Algebra.Star.Module +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Mul /-! # Matrices over star rings. @@ -24,6 +26,8 @@ The scope `Matrix` gives the following notation: -/ +@[expose] public section + universe u u' v w diff --git a/Mathlib/LinearAlgebra/Matrix/Defs.lean b/Mathlib/LinearAlgebra/Matrix/Defs.lean index 02627e4f6b7541..25ef1d8b669f70 100644 --- a/Mathlib/LinearAlgebra/Matrix/Defs.lean +++ b/Mathlib/LinearAlgebra/Matrix/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Ellen Arlt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ellen Arlt, Blair Shi, Sean Leather, Mario Carneiro, Johan Commelin, Lu-Ming Zhang -/ -import Mathlib.Algebra.Module.Pi +module + +public import Mathlib.Algebra.Module.Pi /-! # Matrices @@ -39,6 +41,8 @@ form `fun i j ↦ _` or even `(fun i j ↦ _ : Matrix m n α)`, as these are not as having the right type. Instead, `Matrix.of` should be used. -/ +@[expose] public section + assert_not_exists Algebra TrivialStar universe u u' v w diff --git a/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean b/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean index f04b1787816759..82bcb7a540d6a2 100644 --- a/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean +++ b/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Anne Baanen -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.Notation -import Mathlib.LinearAlgebra.Matrix.RowCol -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.GroupTheory.Perm.Fin -import Mathlib.LinearAlgebra.Alternating.Basic -import Mathlib.LinearAlgebra.Matrix.SemiringInverse +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.Notation +public import Mathlib.LinearAlgebra.Matrix.RowCol +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.GroupTheory.Perm.Fin +public import Mathlib.LinearAlgebra.Alternating.Basic +public import Mathlib.LinearAlgebra.Matrix.SemiringInverse /-! # Determinant of a matrix @@ -36,6 +38,8 @@ It is possible to configure `simp` to compute determinants. See the file -/ +@[expose] public section + universe u v w z diff --git a/Mathlib/LinearAlgebra/Matrix/Determinant/Misc.lean b/Mathlib/LinearAlgebra/Matrix/Determinant/Misc.lean index 041831e8e0496e..aa54ed002d2936 100644 --- a/Mathlib/LinearAlgebra/Matrix/Determinant/Misc.lean +++ b/Mathlib/LinearAlgebra/Matrix/Determinant/Misc.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.Algebra.Ring.NegOnePow +module + +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.Algebra.Ring.NegOnePow /-! # Miscellaneous results about determinant @@ -12,6 +14,8 @@ import Mathlib.Algebra.Ring.NegOnePow In this file, we collect various formulas about determinant of matrices. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean b/Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean index 64bd24247f7572..798662e3de057a 100644 --- a/Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean +++ b/Mathlib/LinearAlgebra/Matrix/Determinant/TotallyUnimodular.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Martin Dvorak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Dvorak, Vladimir Kolmogorov, Ivan Sergeev, Bhavik Mehta -/ -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.Data.Matrix.ColumnRowPartitioned -import Mathlib.Data.Sign.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.Data.Matrix.ColumnRowPartitioned +public import Mathlib.Data.Sign.Basic /-! # Totally unimodular matrices @@ -25,6 +27,8 @@ This file defines totally unimodular matrices and provides basic API for them. -/ +@[expose] public section + namespace Matrix variable {m m' n n' R : Type*} [CommRing R] diff --git a/Mathlib/LinearAlgebra/Matrix/Diagonal.lean b/Mathlib/LinearAlgebra/Matrix/Diagonal.lean index 6a026b2a7b901c..5a9403e4c2f6c3 100644 --- a/Mathlib/LinearAlgebra/Matrix/Diagonal.lean +++ b/Mathlib/LinearAlgebra/Matrix/Diagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.Dimension.LinearMap -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.Dimension.LinearMap +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Diagonal matrices @@ -17,6 +19,8 @@ diagonal matrix (`range`, `ker` and `rank`). matrix, diagonal, linear_map -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Matrix/DotProduct.lean b/Mathlib/LinearAlgebra/Matrix/DotProduct.lean index 0537391a4ed814..6308b21bc18f55 100644 --- a/Mathlib/LinearAlgebra/Matrix/DotProduct.lean +++ b/Mathlib/LinearAlgebra/Matrix/DotProduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Algebra.Star.Pi -import Mathlib.LinearAlgebra.Matrix.RowCol +module + +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Algebra.Star.Pi +public import Mathlib.LinearAlgebra.Matrix.RowCol /-! # Dot product of two vectors @@ -26,6 +28,8 @@ matrix -/ +@[expose] public section + variable {m n p R : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/Dual.lean b/Mathlib/LinearAlgebra/Matrix/Dual.lean index e464ec72ea40d3..900b31f26edb3f 100644 --- a/Mathlib/LinearAlgebra/Matrix/Dual.lean +++ b/Mathlib/LinearAlgebra/Matrix/Dual.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Dual.Basis -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Dual.Basis +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Dual space, linear maps and matrices. @@ -17,6 +19,8 @@ This file contains some results about matrices and dual spaces. matrix, linear_map, transpose, dual -/ +@[expose] public section + open Matrix Module section Transpose diff --git a/Mathlib/LinearAlgebra/Matrix/FiniteDimensional.lean b/Mathlib/LinearAlgebra/Matrix/FiniteDimensional.lean index 33fa2b735b351b..4fd2c93b81046d 100644 --- a/Mathlib/LinearAlgebra/Matrix/FiniteDimensional.lean +++ b/Mathlib/LinearAlgebra/Matrix/FiniteDimensional.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # The finite-dimensional space of matrices @@ -25,6 +27,8 @@ matrix, finite dimensional, findim, finrank -/ +@[expose] public section + universe u v diff --git a/Mathlib/LinearAlgebra/Matrix/FixedDetMatrices.lean b/Mathlib/LinearAlgebra/Matrix/FixedDetMatrices.lean index 8178c0a06b58d7..8b6fc5395bff5f 100644 --- a/Mathlib/LinearAlgebra/Matrix/FixedDetMatrices.lean +++ b/Mathlib/LinearAlgebra/Matrix/FixedDetMatrices.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup -import Mathlib.Data.Int.Interval +public import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup +public import Mathlib.Data.Int.Interval /-! # Matrices with fixed determinant @@ -19,6 +20,8 @@ Note: Some of this was done originally in Lean 3 in the kbb (https://github.com/kim-em/kbb/tree/master) repository, so credit to those authors. -/ +@[expose] public section + variable (n : Type*) [DecidableEq n] [Fintype n] (R : Type*) [CommRing R] /-- The subtype of matrices with fixed determinant `m` -/ diff --git a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean index 03db5ab3d43ecf..5fd4965cdad168 100644 --- a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean +++ b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +module + +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs /-! # Basic lemmas about the general linear group $GL(n, R)$ @@ -12,6 +14,8 @@ This file lists various basic lemmas about the general linear group $GL(n, R)$. see `LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean`. -/ +@[expose] public section + namespace Matrix section Examples diff --git a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean index bc0c1262279519..7ca5e99d1e3c9b 100644 --- a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean +++ b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Thomas Lanard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, Inna Capdeboscq, Johan Commelin, Thomas Lanard, Peiran Wu -/ -import Mathlib.FieldTheory.Finiteness -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs -import Mathlib.LinearAlgebra.Matrix.Rank +module + +public import Mathlib.FieldTheory.Finiteness +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +public import Mathlib.LinearAlgebra.Matrix.Rank /-! # Cardinal of the general linear group over finite rings @@ -18,6 +20,8 @@ This file computes the cardinal of the general linear group over finite rings. * `Matrix.card_GL_field` gives the cardinal of the general linear group over a finite field. -/ +@[expose] public section + open LinearMap Module section LinearIndependent diff --git a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean index 299d8b5d7c1ad6..5e1bdb1345442e 100644 --- a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean +++ b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.Algebra.Ring.Subring.Units +module + +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.Algebra.Ring.Subring.Units /-! # The General Linear group $GL(n, R)$ @@ -25,6 +27,8 @@ consisting of all invertible `n` by `n` `R`-matrices. matrix group, group, matrix inverse -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean index 820903bd6cb77a..4d4be6cd8f81cd 100644 --- a/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean +++ b/Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Group.AddChar -import Mathlib.LinearAlgebra.Matrix.Charpoly.Disc -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +module + +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Disc +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs /-! # The group `GL (Fin 2) R` -/ +@[expose] public section + open Polynomial namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Gershgorin.lean b/Mathlib/LinearAlgebra/Matrix/Gershgorin.lean index 4f8d5bc1aa2ea6..1b609ed0ab4273 100644 --- a/Mathlib/LinearAlgebra/Matrix/Gershgorin.lean +++ b/Mathlib/LinearAlgebra/Matrix/Gershgorin.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.LinearAlgebra.Eigenspace.Basic -import Mathlib.LinearAlgebra.Determinant +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Basic +public import Mathlib.LinearAlgebra.Determinant /-! # Gershgorin's circle theorem @@ -18,6 +20,8 @@ of matrices and some applications. * https://en.wikipedia.org/wiki/Gershgorin_circle_theorem -/ +@[expose] public section + variable {K n : Type*} [NormedField K] [Fintype n] [DecidableEq n] {A : Matrix n n K} /-- **Gershgorin's circle theorem**: for any eigenvalue `μ` of a square matrix `A`, there exists an diff --git a/Mathlib/LinearAlgebra/Matrix/Hadamard.lean b/Mathlib/LinearAlgebra/Matrix/Hadamard.lean index 1c906f78c4157c..94e166473c01cd 100644 --- a/Mathlib/LinearAlgebra/Matrix/Hadamard.lean +++ b/Mathlib/LinearAlgebra/Matrix/Hadamard.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Lu-Ming Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lu-Ming Zhang -/ -import Mathlib.LinearAlgebra.Matrix.Trace -import Mathlib.Data.Matrix.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Trace +public import Mathlib.Data.Matrix.Basic /-! # Hadamard product of matrices @@ -30,6 +32,8 @@ and contains basic properties about them. hadamard product, hadamard -/ +@[expose] public section + variable {α m n R : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/Hermitian.lean b/Mathlib/LinearAlgebra/Matrix/Hermitian.lean index 51fbc20dc1be2f..acff004c1714a8 100644 --- a/Mathlib/LinearAlgebra/Matrix/Hermitian.lean +++ b/Mathlib/LinearAlgebra/Matrix/Hermitian.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.LinearAlgebra.Matrix.ConjTranspose -import Mathlib.LinearAlgebra.Matrix.ZPow +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.LinearAlgebra.Matrix.ConjTranspose +public import Mathlib.LinearAlgebra.Matrix.ZPow /-! # Hermitian matrices @@ -23,6 +25,8 @@ self-adjoint matrix, hermitian matrix -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean b/Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean index 6c665c1c2cad1f..06489491de56a5 100644 --- a/Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean +++ b/Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Jon Bannon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Bannon, Jireh Loreaux -/ +module -import Mathlib.LinearAlgebra.Matrix.Spectrum -import Mathlib.LinearAlgebra.Eigenspace.Matrix -import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique -import Mathlib.Topology.ContinuousMap.Units +public import Mathlib.LinearAlgebra.Matrix.Spectrum +public import Mathlib.LinearAlgebra.Eigenspace.Matrix +public import Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unique +public import Mathlib.Topology.ContinuousMap.Units /-! # Continuous Functional Calculus for Hermitian Matrices @@ -31,6 +32,8 @@ This file defines an instance of the continuous functional calculus for Hermitia spectral theorem, diagonalization theorem, continuous functional calculus -/ +@[expose] public section + open Topology namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Ideal.lean b/Mathlib/LinearAlgebra/Matrix/Ideal.lean index 3932f148866b67..618771306cbd04 100644 --- a/Mathlib/LinearAlgebra/Matrix/Ideal.lean +++ b/Mathlib/LinearAlgebra/Matrix/Ideal.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Wojciech Nawrocki -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.GroupTheory.Congruence.BigOperators -import Mathlib.RingTheory.Ideal.Lattice -import Mathlib.RingTheory.TwoSidedIdeal.Operations -import Mathlib.RingTheory.Jacobson.Ideal +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.GroupTheory.Congruence.BigOperators +public import Mathlib.RingTheory.Ideal.Lattice +public import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.RingTheory.Jacobson.Ideal /-! # Ideals in a matrix ring @@ -24,6 +26,8 @@ We also characterize Jacobson radicals of ideals in such rings. for any two-sided ideal $I ≤ R$. -/ +@[expose] public section + /-! ### Left ideals in a matrix semiring -/ namespace Ideal diff --git a/Mathlib/LinearAlgebra/Matrix/Integer.lean b/Mathlib/LinearAlgebra/Matrix/Integer.lean index 530a42840b1666..3c6823b92e9a65 100644 --- a/Mathlib/LinearAlgebra/Matrix/Integer.lean +++ b/Mathlib/LinearAlgebra/Matrix/Integer.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.GCDMonoid.Finset -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Data.Matrix.Mul -import Mathlib.Data.Rat.Cast.CharZero +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.GCDMonoid.Finset +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Data.Matrix.Mul +public import Mathlib.Data.Rat.Cast.CharZero /-! # Lemmas on integer matrices @@ -24,6 +26,8 @@ Here we collect some results about matrices over `ℚ` and `ℤ`. Consider generalizing these constructions to matrices over localizations of rings (or semirings). -/ +@[expose] public section + namespace Matrix variable {m n : Type*} [Fintype m] [Fintype n] diff --git a/Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.lean b/Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.lean index 2bb6fb868699b0..f3330e274c01aa 100644 --- a/Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.lean +++ b/Mathlib/LinearAlgebra/Matrix/InvariantBasisNumber.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Matrix.SemiringInverse -import Mathlib.LinearAlgebra.InvariantBasisNumber +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Matrix.SemiringInverse +public import Mathlib.LinearAlgebra.InvariantBasisNumber /-! # Invertible matrices over a ring with invariant basis number are square. -/ +@[expose] public section + variable {n m : Type*} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] variable {R : Type*} [Semiring R] [InvariantBasisNumber R] diff --git a/Mathlib/LinearAlgebra/Matrix/IsDiag.lean b/Mathlib/LinearAlgebra/Matrix/IsDiag.lean index 3e7d41d8af522e..30b3efdc4a4040 100644 --- a/Mathlib/LinearAlgebra/Matrix/IsDiag.lean +++ b/Mathlib/LinearAlgebra/Matrix/IsDiag.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Lu-Ming Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lu-Ming Zhang -/ -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.LinearAlgebra.Matrix.Orthogonal -import Mathlib.LinearAlgebra.Matrix.Symmetric +module + +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.LinearAlgebra.Matrix.Orthogonal +public import Mathlib.LinearAlgebra.Matrix.Symmetric /-! # Diagonal matrices @@ -21,6 +23,8 @@ This file contains the definition and basic results about diagonal matrices. diag, diagonal, matrix -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Kronecker.lean b/Mathlib/LinearAlgebra/Matrix/Kronecker.lean index fa88ffc11aa2d3..07214d7a3b5143 100644 --- a/Mathlib/LinearAlgebra/Matrix/Kronecker.lean +++ b/Mathlib/LinearAlgebra/Matrix/Kronecker.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Filippo A. E. Nuccio. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Filippo A. E. Nuccio, Eric Wieser -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Trace -import Mathlib.LinearAlgebra.TensorProduct.Basic -import Mathlib.LinearAlgebra.TensorProduct.Associator -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Trace +public import Mathlib.LinearAlgebra.TensorProduct.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Associator +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Kronecker product of matrices @@ -42,6 +44,8 @@ These require `open Kronecker`: -/ +@[expose] public section + namespace Matrix open scoped RightActions diff --git a/Mathlib/LinearAlgebra/Matrix/LDL.lean b/Mathlib/LinearAlgebra/Matrix/LDL.lean index 20451e092e560f..a8bf92c988b0b8 100644 --- a/Mathlib/LinearAlgebra/Matrix/LDL.lean +++ b/Mathlib/LinearAlgebra/Matrix/LDL.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho -import Mathlib.LinearAlgebra.Matrix.PosDef +module + +public import Mathlib.Analysis.InnerProductSpace.GramSchmidtOrtho +public import Mathlib.LinearAlgebra.Matrix.PosDef /-! # LDL decomposition @@ -27,6 +29,8 @@ decomposed as `S = LDLᴴ` where `L` is a lower-triangular matrix and `D` is a d -/ +@[expose] public section + open Module variable {𝕜 : Type*} [RCLike 𝕜] diff --git a/Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean b/Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean index 197b0715e6b176..be30f5197e6e9e 100644 --- a/Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean +++ b/Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic /-! # Matrices of multivariate polynomials @@ -19,6 +21,8 @@ unique variable. matrix determinant, multivariate polynomial -/ +@[expose] public section + variable {m n R S : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean b/Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean index 25e80b1001b4c9..fd7b97465cbb28 100644 --- a/Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean +++ b/Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Adjugate +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Adjugate /-! # Matrices associated with non-degenerate bilinear forms @@ -17,6 +19,8 @@ import Mathlib.LinearAlgebra.Matrix.Adjugate -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean b/Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean index 40cacef97350b1..50310ed0ab7873 100644 --- a/Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean +++ b/Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Lu-Ming Zhang -/ -import Mathlib.Data.Matrix.Invertible -import Mathlib.LinearAlgebra.FiniteDimensional.Basic -import Mathlib.LinearAlgebra.Matrix.Adjugate -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.LinearAlgebra.Matrix.SemiringInverse -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Matrix.Trace +module + +public import Mathlib.Data.Matrix.Invertible +public import Mathlib.LinearAlgebra.FiniteDimensional.Basic +public import Mathlib.LinearAlgebra.Matrix.Adjugate +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.LinearAlgebra.Matrix.SemiringInverse +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Matrix.Trace /-! # Nonsingular inverses @@ -52,6 +54,8 @@ The rest of the results in the file are then about `A⁻¹` matrix inverse, cramer, cramer's rule, adjugate -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Notation.lean b/Mathlib/LinearAlgebra/Matrix/Notation.lean index 8f9e990e765761..8ef8abbeccce30 100644 --- a/Mathlib/LinearAlgebra/Matrix/Notation.lean +++ b/Mathlib/LinearAlgebra/Matrix/Notation.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Eric Wieser -/ -import Mathlib.Algebra.Group.Fin.Tuple -import Mathlib.Data.Fin.VecNotation -import Mathlib.LinearAlgebra.Matrix.RowCol -import Mathlib.Tactic.FinCases -import Mathlib.Algebra.BigOperators.Fin +module + +public import Mathlib.Algebra.Group.Fin.Tuple +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.LinearAlgebra.Matrix.RowCol +public import Mathlib.Tactic.FinCases +public import Mathlib.Algebra.BigOperators.Fin /-! # Matrix and vector notation @@ -37,6 +39,8 @@ This file provide notation `!![a, b; c, d]` for matrices, which corresponds to Examples of usage can be found in the `MathlibTest/matrix.lean` file. -/ +@[expose] public section + namespace Matrix universe u uₘ uₙ uₒ @@ -51,14 +55,14 @@ open Lean Qq open Qq in /-- `Matrix.mkLiteralQ !![a, b; c, d]` produces the term `q(!![$a, $b; $c, $d])`. -/ -def mkLiteralQ {u : Level} {α : Q(Type u)} {m n : Nat} (elems : Matrix (Fin m) (Fin n) Q($α)) : +meta def mkLiteralQ {u : Level} {α : Q(Type u)} {m n : Nat} (elems : Matrix (Fin m) (Fin n) Q($α)) : Q(Matrix (Fin $m) (Fin $n) $α) := let elems := PiFin.mkLiteralQ (α := q(Fin $n → $α)) fun i => PiFin.mkLiteralQ fun j => elems i j q(Matrix.of $elems) /-- Matrices can be reflected whenever their entries can. We insert a `Matrix.of` to prevent immediate decay to a function. -/ -protected instance toExpr [ToLevel.{u}] [ToLevel.{uₘ}] [ToLevel.{uₙ}] +protected meta instance toExpr [ToLevel.{u}] [ToLevel.{uₘ}] [ToLevel.{uₙ}] [Lean.ToExpr α] [Lean.ToExpr m'] [Lean.ToExpr n'] [Lean.ToExpr (m' → n' → α)] : Lean.ToExpr (Matrix m' n' α) := have eα : Q(Type $(toLevel.{u})) := toTypeExpr α @@ -119,7 +123,8 @@ macro_rules /-- Delaborator for the `!![]` notation. -/ @[app_delab DFunLike.coe] -def delabMatrixNotation : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation <| +meta def delabMatrixNotation : Delab := whenNotPPOption getPPExplicit <| + whenPPOption getPPNotation <| withOverApp 6 do let mkApp3 (.const ``Matrix.of _) (.app (.const ``Fin _) em) (.app (.const ``Fin _) en) _ := (← getExpr).appFn!.appArg! | failure diff --git a/Mathlib/LinearAlgebra/Matrix/Orthogonal.lean b/Mathlib/LinearAlgebra/Matrix/Orthogonal.lean index d0bc1867f39f47..6555b9463f5684 100644 --- a/Mathlib/LinearAlgebra/Matrix/Orthogonal.lean +++ b/Mathlib/LinearAlgebra/Matrix/Orthogonal.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Lu-Ming Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lu-Ming Zhang -/ -import Mathlib.Data.Matrix.Mul +module + +public import Mathlib.Data.Matrix.Mul /-! # Orthogonal @@ -22,6 +24,8 @@ This file contains definitions and properties concerning orthogonality of rows a orthogonal -/ +@[expose] public section + assert_not_exists Field namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Permanent.lean b/Mathlib/LinearAlgebra/Matrix/Permanent.lean index 83ac4c5a1b1872..e4ab202d2fd799 100644 --- a/Mathlib/LinearAlgebra/Matrix/Permanent.lean +++ b/Mathlib/LinearAlgebra/Matrix/Permanent.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching -/ -import Mathlib.Data.Fintype.Perm -import Mathlib.LinearAlgebra.Matrix.RowCol +module + +public import Mathlib.Data.Fintype.Perm +public import Mathlib.LinearAlgebra.Matrix.RowCol /-! # Permanent of a matrix @@ -16,6 +18,8 @@ This file defines the permanent of a matrix, `Matrix.permanent`, and some of its -/ +@[expose] public section + open Equiv Fintype Finset namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Permutation.lean b/Mathlib/LinearAlgebra/Matrix/Permutation.lean index 27be16625096af..69cb7ff46d99eb 100644 --- a/Mathlib/LinearAlgebra/Matrix/Permutation.lean +++ b/Mathlib/LinearAlgebra/Matrix/Permutation.lean @@ -3,12 +3,13 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ +module -import Mathlib.Analysis.CStarAlgebra.Matrix -import Mathlib.Data.Matrix.PEquiv -import Mathlib.Data.Set.Card -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Trace +public import Mathlib.Analysis.CStarAlgebra.Matrix +public import Mathlib.Data.Matrix.PEquiv +public import Mathlib.Data.Set.Card +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Trace /-! # Permutation matrices @@ -26,6 +27,8 @@ This file defines the matrix associated with a permutation -/ +@[expose] public section + open Equiv variable {n R : Type*} [DecidableEq n] (σ : Perm n) diff --git a/Mathlib/LinearAlgebra/Matrix/Polynomial.lean b/Mathlib/LinearAlgebra/Matrix/Polynomial.lean index e7e018ed807080..399999b9da1372 100644 --- a/Mathlib/LinearAlgebra/Matrix/Polynomial.lean +++ b/Mathlib/LinearAlgebra/Matrix/Polynomial.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.Tactic.ComputeDegree +module + +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.Tactic.ComputeDegree /-! # Matrices of polynomials and polynomials of matrices @@ -24,6 +26,8 @@ In particular, we give results about the polynomial given by matrix determinant, polynomial -/ +@[expose] public section + open Matrix Polynomial diff --git a/Mathlib/LinearAlgebra/Matrix/PosDef.lean b/Mathlib/LinearAlgebra/Matrix/PosDef.lean index 00d10653c5498b..939304618ac2bc 100644 --- a/Mathlib/LinearAlgebra/Matrix/PosDef.lean +++ b/Mathlib/LinearAlgebra/Matrix/PosDef.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Mohanad Ahmed -/ -import Mathlib.Algebra.Order.Ring.Star -import Mathlib.LinearAlgebra.Matrix.Spectrum -import Mathlib.LinearAlgebra.Matrix.Vec -import Mathlib.LinearAlgebra.QuadraticForm.Basic +module + +public import Mathlib.Algebra.Order.Ring.Star +public import Mathlib.LinearAlgebra.Matrix.Spectrum +public import Mathlib.LinearAlgebra.Matrix.Vec +public import Mathlib.LinearAlgebra.QuadraticForm.Basic /-! # Positive Definite Matrices @@ -27,6 +29,8 @@ of quadratic forms. Most results require `𝕜 = ℝ` or `ℂ`. positive semidefinite. -/ +@[expose] public section + open scoped ComplexOrder namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean b/Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean index 537c3acc449a2f..46e1747ab23782 100644 --- a/Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean +++ b/Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Wen Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wen Yang -/ -import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup +module + +public import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup /-! # Projective Special Linear Group @@ -15,6 +17,8 @@ In the `MatrixGroups` locale: * `PSL(n, R)` is a shorthand for `Matrix.ProjectiveSpecialLinearGroup (Fin n) R` -/ +@[expose] public section + namespace Matrix universe u v diff --git a/Mathlib/LinearAlgebra/Matrix/Rank.lean b/Mathlib/LinearAlgebra/Matrix/Rank.lean index aefcb6f1a5a2de..a9121180c8a307 100644 --- a/Mathlib/LinearAlgebra/Matrix/Rank.lean +++ b/Mathlib/LinearAlgebra/Matrix/Rank.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Eric Wieser -/ -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.Matrix.Diagonal -import Mathlib.LinearAlgebra.Matrix.DotProduct -import Mathlib.LinearAlgebra.Matrix.Dual +module + +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.Matrix.Diagonal +public import Mathlib.LinearAlgebra.Matrix.DotProduct +public import Mathlib.LinearAlgebra.Matrix.Dual /-! # Rank of matrices @@ -24,6 +26,8 @@ This definition does not depend on the choice of basis, see `Matrix.rank_eq_finr -/ +@[expose] public section + open Matrix namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Reindex.lean b/Mathlib/LinearAlgebra/Matrix/Reindex.lean index 5f353dfba3efb7..ce00f8af19c5e5 100644 --- a/Mathlib/LinearAlgebra/Matrix/Reindex.lean +++ b/Mathlib/LinearAlgebra/Matrix/Reindex.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic /-! # Changing the index type of a matrix @@ -23,6 +25,8 @@ matrix, reindex -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/RowCol.lean b/Mathlib/LinearAlgebra/Matrix/RowCol.lean index b32e7f713538c4..7a1d01eb70e3d6 100644 --- a/Mathlib/LinearAlgebra/Matrix/RowCol.lean +++ b/Mathlib/LinearAlgebra/Matrix/RowCol.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Eric Wieser -/ -import Mathlib.LinearAlgebra.Matrix.ConjTranspose +module + +public import Mathlib.LinearAlgebra.Matrix.ConjTranspose /-! # Row and column matrices @@ -19,6 +21,8 @@ This file provides results about row and column matrices. -/ +@[expose] public section + variable {l m n o : Type*} universe u v w diff --git a/Mathlib/LinearAlgebra/Matrix/SchurComplement.lean b/Mathlib/LinearAlgebra/Matrix/SchurComplement.lean index 9fd347c354cac4..bac791b0187cbd 100644 --- a/Mathlib/LinearAlgebra/Matrix/SchurComplement.lean +++ b/Mathlib/LinearAlgebra/Matrix/SchurComplement.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp, Eric Wieser, Jeremy Avigad, Johan Commelin -/ -import Mathlib.Data.Matrix.Invertible -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +module + +public import Mathlib.Data.Matrix.Invertible +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse /-! # 2×2 block matrices and the Schur complement @@ -28,6 +30,8 @@ Compare with `Matrix.invertibleOfFromBlocks₁₁Invertible`. -/ +@[expose] public section + variable {l m n α : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean b/Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean index 9e438386dfa5ce..84d99ea4e729e0 100644 --- a/Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean +++ b/Mathlib/LinearAlgebra/Matrix/SemiringInverse.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Data.Matrix.Mul -import Mathlib.GroupTheory.Perm.Sign +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Data.Matrix.Mul +public import Mathlib.GroupTheory.Perm.Sign /-! # Nonsingular inverses over semirings @@ -14,6 +16,8 @@ This file proves `A * B = 1 ↔ B * A = 1` for square matrices over a commutativ -/ +@[expose] public section + open Equiv Equiv.Perm Finset variable {n m R : Type*} [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommSemiring R] diff --git a/Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean b/Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean index 23d100b3d47d02..58beabfdbb57e1 100644 --- a/Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean +++ b/Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kexing Ying, Moritz Doll -/ -import Mathlib.Algebra.GroupWithZero.Action.Opposite -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.LinearAlgebra.Matrix.Nondegenerate -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.LinearAlgebra.Basis.Bilinear +module + +public import Mathlib.Algebra.GroupWithZero.Action.Opposite +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.LinearAlgebra.Matrix.Nondegenerate +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.LinearAlgebra.Basis.Bilinear /-! # Sesquilinear form @@ -35,6 +37,8 @@ Sesquilinear form, Sesquilinear map, matrix, basis -/ +@[expose] public section + open Finset LinearMap Matrix Module open scoped RightActions diff --git a/Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean b/Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean index a186e2419e4e0b..3db8be7db7781d 100644 --- a/Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean +++ b/Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Wen Yang -/ -import Mathlib.LinearAlgebra.Matrix.Adjugate -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Matrix.Transvection -import Mathlib.RingTheory.RootsOfUnity.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Adjugate +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Matrix.Transvection +public import Mathlib.RingTheory.RootsOfUnity.Basic /-! # The Special Linear group $SL(n, R)$ @@ -48,6 +50,8 @@ of a regular `↑` coercion. matrix group, group, matrix inverse -/ +@[expose] public section + namespace Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Spectrum.lean b/Mathlib/LinearAlgebra/Matrix/Spectrum.lean index 31b5af6c91f69c..eb4d56e7fdf8f3 100644 --- a/Mathlib/LinearAlgebra/Matrix/Spectrum.lean +++ b/Mathlib/LinearAlgebra/Matrix/Spectrum.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Alexander Bentkamp. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alexander Bentkamp -/ -import Mathlib.Analysis.InnerProductSpace.Spectrum -import Mathlib.LinearAlgebra.Eigenspace.Matrix -import Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs -import Mathlib.LinearAlgebra.Matrix.Diagonal -import Mathlib.LinearAlgebra.Matrix.Hermitian -import Mathlib.LinearAlgebra.Matrix.Rank -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Analysis.InnerProductSpace.Spectrum +public import Mathlib.LinearAlgebra.Eigenspace.Matrix +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Eigs +public import Mathlib.LinearAlgebra.Matrix.Diagonal +public import Mathlib.LinearAlgebra.Matrix.Hermitian +public import Mathlib.LinearAlgebra.Matrix.Rank +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # Spectral theory of Hermitian matrices @@ -20,6 +22,8 @@ the spectral theorem for linear maps (`LinearMap.IsSymmetric.eigenvectorBasis_ap spectral theorem, diagonalization theorem -/ +@[expose] public section + namespace Matrix variable {𝕜 : Type*} [RCLike 𝕜] {n : Type*} [Fintype n] diff --git a/Mathlib/LinearAlgebra/Matrix/StdBasis.lean b/Mathlib/LinearAlgebra/Matrix/StdBasis.lean index 7660577aa8bf1d..d895628248b30f 100644 --- a/Mathlib/LinearAlgebra/Matrix/StdBasis.lean +++ b/Mathlib/LinearAlgebra/Matrix/StdBasis.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.LinearAlgebra.StdBasis +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.LinearAlgebra.StdBasis /-! # Standard basis on matrices @@ -14,6 +16,8 @@ import Mathlib.LinearAlgebra.StdBasis * `Basis.matrix`: extend a basis on `M` to the standard basis on `Matrix n m M` -/ +@[expose] public section + open Module namespace Module.Basis diff --git a/Mathlib/LinearAlgebra/Matrix/Swap.lean b/Mathlib/LinearAlgebra/Matrix/Swap.lean index 34550b777f4eea..fe0e54daae8257 100644 --- a/Mathlib/LinearAlgebra/Matrix/Swap.lean +++ b/Mathlib/LinearAlgebra/Matrix/Swap.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs -import Mathlib.LinearAlgebra.Matrix.Permutation -import Mathlib.Data.Matrix.PEquiv +module + +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +public import Mathlib.LinearAlgebra.Matrix.Permutation +public import Mathlib.Data.Matrix.PEquiv /-! # Swap matrices @@ -22,6 +24,8 @@ Swap matrices are a special case of *elementary matrices*. For transvections see This is a thin wrapper around `(Equiv.swap i j).permMatrix`. -/ +@[expose] public section + namespace Matrix section Def diff --git a/Mathlib/LinearAlgebra/Matrix/Symmetric.lean b/Mathlib/LinearAlgebra/Matrix/Symmetric.lean index 4f02270ea0e97b..03feafc0d62536 100644 --- a/Mathlib/LinearAlgebra/Matrix/Symmetric.lean +++ b/Mathlib/LinearAlgebra/Matrix/Symmetric.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Lu-Ming Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lu-Ming Zhang -/ -import Mathlib.Data.Matrix.Basic -import Mathlib.Data.Matrix.Block +module + +public import Mathlib.Data.Matrix.Basic +public import Mathlib.Data.Matrix.Block /-! # Symmetric matrices @@ -20,6 +22,8 @@ This file contains the definition and basic results about symmetric matrices. symm, symmetric, matrix -/ +@[expose] public section + variable {α β n m R : Type*} diff --git a/Mathlib/LinearAlgebra/Matrix/ToLin.lean b/Mathlib/LinearAlgebra/Matrix/ToLin.lean index 95e0b5a4aba66a..733722286e3914 100644 --- a/Mathlib/LinearAlgebra/Matrix/ToLin.lean +++ b/Mathlib/LinearAlgebra/Matrix/ToLin.lean @@ -3,17 +3,19 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Data.Finite.Sum -import Mathlib.Data.Matrix.Block -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Basis.Fin -import Mathlib.LinearAlgebra.Basis.Prod -import Mathlib.LinearAlgebra.Basis.SMul -import Mathlib.LinearAlgebra.Matrix.Notation -import Mathlib.LinearAlgebra.Matrix.StdBasis -import Mathlib.RingTheory.AlgebraTower -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Data.Finite.Sum +public import Mathlib.Data.Matrix.Block +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Basis.Fin +public import Mathlib.LinearAlgebra.Basis.Prod +public import Mathlib.LinearAlgebra.Basis.SMul +public import Mathlib.LinearAlgebra.Matrix.Notation +public import Mathlib.LinearAlgebra.Matrix.StdBasis +public import Mathlib.RingTheory.AlgebraTower +public import Mathlib.RingTheory.Ideal.Span /-! # Linear maps and matrices @@ -66,6 +68,8 @@ and (presumably) adding `_left` where necessary. linear_map, matrix, linear_equiv, diagonal, det, trace -/ +@[expose] public section + noncomputable section open LinearMap Matrix Module Set Submodule diff --git a/Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean b/Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean index c659a2955d4582..9df203db3521b7 100644 --- a/Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean +++ b/Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs -import Mathlib.LinearAlgebra.Matrix.Nondegenerate -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Integer +module + +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +public import Mathlib.LinearAlgebra.Matrix.Nondegenerate +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Integer /-! # Matrices and linear equivalences @@ -30,6 +32,8 @@ matrix, linear_equiv, determinant, inverse -/ +@[expose] public section + open Module variable {n : Type*} [Fintype n] diff --git a/Mathlib/LinearAlgebra/Matrix/Trace.lean b/Mathlib/LinearAlgebra/Matrix/Trace.lean index bb2daa1ec9bf9c..2eef311c285f43 100644 --- a/Mathlib/LinearAlgebra/Matrix/Trace.lean +++ b/Mathlib/LinearAlgebra/Matrix/Trace.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.Notation -import Mathlib.LinearAlgebra.Matrix.RowCol +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.Notation +public import Mathlib.LinearAlgebra.Matrix.RowCol /-! # Trace of a matrix @@ -22,6 +24,8 @@ matrix, trace, diagonal -/ +@[expose] public section + open Matrix diff --git a/Mathlib/LinearAlgebra/Matrix/Transvection.lean b/Mathlib/LinearAlgebra/Matrix/Transvection.lean index b7362e571f90fe..b671f42ad621c7 100644 --- a/Mathlib/LinearAlgebra/Matrix/Transvection.lean +++ b/Mathlib/LinearAlgebra/Matrix/Transvection.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.DMatrix -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.Reindex -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.DMatrix +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.Reindex +public import Mathlib.Tactic.FieldSimp /-! # Transvections @@ -58,6 +60,8 @@ block matrices. To proceed with the induction, we reindex our matrices to reduce to the above situation. -/ +@[expose] public section + universe u₁ u₂ diff --git a/Mathlib/LinearAlgebra/Matrix/Unique.lean b/Mathlib/LinearAlgebra/Matrix/Unique.lean index 58d1117c59ebc9..c97c4a836af9d0 100644 --- a/Mathlib/LinearAlgebra/Matrix/Unique.lean +++ b/Mathlib/LinearAlgebra/Matrix/Unique.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yunzhou Xie. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yunzhou Xie -/ -import Mathlib.Data.Matrix.Basic +module + +public import Mathlib.Data.Matrix.Basic /-! # One by one matrices @@ -19,6 +21,8 @@ canonical map that sends a one by one matrix `!![a]` to `a`. Matrix, Unique, AlgEquiv -/ +@[expose] public section + namespace Matrix variable {m n A R : Type*} [Unique m] [Unique n] diff --git a/Mathlib/LinearAlgebra/Matrix/Vec.lean b/Mathlib/LinearAlgebra/Matrix/Vec.lean index ae6aad2b7e7357..0b39aa261281ab 100644 --- a/Mathlib/LinearAlgebra/Matrix/Vec.lean +++ b/Mathlib/LinearAlgebra/Matrix/Vec.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Matrix.Hadamard -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.LinearAlgebra.Matrix.Trace +module + +public import Mathlib.LinearAlgebra.Matrix.Hadamard +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.LinearAlgebra.Matrix.Trace /-! # Vectorization of matrices @@ -28,6 +30,8 @@ If you want this function, you can write `Matrix.vec Aᵀ` instead. * [Wikipedia](https://en.wikipedia.org/wiki/Vectorization_(mathematics)) -/ + +@[expose] public section namespace Matrix variable {ι l m n p R S} diff --git a/Mathlib/LinearAlgebra/Matrix/ZPow.lean b/Mathlib/LinearAlgebra/Matrix/ZPow.lean index 551adba5b30441..ee8847ee187806 100644 --- a/Mathlib/LinearAlgebra/Matrix/ZPow.lean +++ b/Mathlib/LinearAlgebra/Matrix/ZPow.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.Symmetric +module + +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.Symmetric /-! # Integer powers of square matrices @@ -23,6 +25,8 @@ The lemma names are taken from `Algebra.GroupWithZero.Power`. matrix inverse, matrix powers -/ +@[expose] public section + open Matrix diff --git a/Mathlib/LinearAlgebra/Multilinear/Basic.lean b/Mathlib/LinearAlgebra/Multilinear/Basic.lean index c4f6e5d96d9044..23a3126417ad40 100644 --- a/Mathlib/LinearAlgebra/Multilinear/Basic.lean +++ b/Mathlib/LinearAlgebra/Multilinear/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Powerset -import Mathlib.Algebra.NoZeroSMulDivisors.Pi -import Mathlib.Data.Finset.Sort -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Fintype.Powerset -import Mathlib.LinearAlgebra.Pi -import Mathlib.Logic.Equiv.Fintype -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Powerset +public import Mathlib.Algebra.NoZeroSMulDivisors.Pi +public import Mathlib.Data.Finset.Sort +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.Logic.Equiv.Fintype +public import Mathlib.Tactic.Abel /-! # Multilinear maps @@ -67,6 +69,8 @@ which is much easier to clean up since `_inst` is a free variable and so the equality can just be substituted. -/ +@[expose] public section + open Fin Function Finset Set universe uR uS uι v v' v₁ v₁' v₁'' v₂ v₃ v₄ diff --git a/Mathlib/LinearAlgebra/Multilinear/Basis.lean b/Mathlib/LinearAlgebra/Multilinear/Basis.lean index 3f92d3c40c7ffe..c688546c1b7d17 100644 --- a/Mathlib/LinearAlgebra/Multilinear/Basis.lean +++ b/Mathlib/LinearAlgebra/Multilinear/Basis.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Multilinear maps in relation to bases. @@ -13,6 +15,8 @@ This file proves lemmas about the action of multilinear maps on basis vectors. -/ +@[expose] public section + open MultilinearMap diff --git a/Mathlib/LinearAlgebra/Multilinear/Curry.lean b/Mathlib/LinearAlgebra/Multilinear/Curry.lean index 926e14400ef175..19c6e4e02296aa 100644 --- a/Mathlib/LinearAlgebra/Multilinear/Curry.lean +++ b/Mathlib/LinearAlgebra/Multilinear/Curry.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Fintype.Sort -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.Data.Fintype.Sort +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Currying of multilinear maps @@ -20,6 +22,8 @@ in linear functions), called respectively `multilinearCurryLeftEquiv` and -/ +@[expose] public section + open Fin Function Finset Set universe uR uS uι uι' v v' v₁ v₂ v₃ diff --git a/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean b/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean index 25119fe0604f8c..9b87624233ebd3 100644 --- a/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean +++ b/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Sophie Morel -/ -import Mathlib.Data.Fintype.Quotient -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.Data.Fintype.Quotient +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Interactions between finitely-supported functions and multilinear maps @@ -27,6 +29,8 @@ import Mathlib.LinearAlgebra.Multilinear.Basic -/ +@[expose] public section + universe uι uκ uS uR uM uN variable {ι : Type uι} {κ : ι → Type uκ} variable {S : Type uS} {R : Type uR} diff --git a/Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean b/Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean index e545c8380603b4..6dbe6eda6509b5 100644 --- a/Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean +++ b/Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Multilinear.Curry -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +module + +public import Mathlib.LinearAlgebra.Multilinear.Curry +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix /-! # Multilinear maps over finite-dimensional spaces @@ -18,6 +20,8 @@ We do not put this in `LinearAlgebra.Multilinear.Basic` to avoid making the impo there. -/ +@[expose] public section + namespace MultilinearMap diff --git a/Mathlib/LinearAlgebra/Multilinear/Pi.lean b/Mathlib/LinearAlgebra/Multilinear/Pi.lean index b2c040998701b6..39ad00fea87f12 100644 --- a/Mathlib/LinearAlgebra/Multilinear/Pi.lean +++ b/Mathlib/LinearAlgebra/Multilinear/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Interactions between (dependent) functions and multilinear maps @@ -20,6 +22,8 @@ import Mathlib.LinearAlgebra.Multilinear.Basic - `MultilinearMap.piFamilyₗ` is a `LinearMap`, linear in the family of multilinear maps `f`. -/ +@[expose] public section + universe uι uκ uS uR uM uN variable {ι : Type uι} {κ : ι → Type uκ} variable {S : Type uS} {R : Type uR} diff --git a/Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean b/Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean index 399990ddff908e..b3a27986f13106 100644 --- a/Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean +++ b/Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorProduct.Basic -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Basic +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Constructions relating multilinear maps and tensor products. -/ +@[expose] public section + namespace MultilinearMap section DomCoprod diff --git a/Mathlib/LinearAlgebra/Orientation.lean b/Mathlib/LinearAlgebra/Orientation.lean index e3e07da31edd83..e4cad6ec900673 100644 --- a/Mathlib/LinearAlgebra/Orientation.lean +++ b/Mathlib/LinearAlgebra/Orientation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.Ray -import Mathlib.LinearAlgebra.Determinant +module + +public import Mathlib.LinearAlgebra.Ray +public import Mathlib.LinearAlgebra.Determinant /-! # Orientations of modules @@ -31,6 +33,8 @@ that index type is a `Fintype` and there exists a basis of the same cardinality. -/ +@[expose] public section + noncomputable section open Module diff --git a/Mathlib/LinearAlgebra/PID.lean b/Mathlib/LinearAlgebra/PID.lean index 1ba3ae49cedcc5..11cfa5afc8fadc 100644 --- a/Mathlib/LinearAlgebra/PID.lean +++ b/Mathlib/LinearAlgebra/PID.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Trace -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +module + +public import Mathlib.LinearAlgebra.Trace +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! # Linear maps of modules with coefficients in a principal ideal domain @@ -21,6 +23,8 @@ algebra import hierarchy have to depend on the theory of PIDs. -/ +@[expose] public section + namespace LinearMap variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean b/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean index 174393572f4b84..6079956eb7f0c8 100644 --- a/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean +++ b/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Yaël Dillies -/ -import Mathlib.LinearAlgebra.Dual.Lemmas +module + +public import Mathlib.LinearAlgebra.Dual.Lemmas /-! # Perfect pairings @@ -20,6 +22,8 @@ In this file we provide a definition `IsPerfPair` corresponding to 1 above, toge to connect 1 and 2. -/ +@[expose] public section + open Function Module namespace LinearMap diff --git a/Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean b/Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean index 34e9575d974819..75b7ce935b3f21 100644 --- a/Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean +++ b/Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.PerfectPairing.Basic -import Mathlib.LinearAlgebra.Matrix.Dual -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +module + +public import Mathlib.LinearAlgebra.PerfectPairing.Basic +public import Mathlib.LinearAlgebra.Matrix.Dual +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv /-! # Perfect pairings and matrices @@ -17,6 +19,8 @@ The file contains results connecting perfect pairings and matrices. -/ +@[expose] public section + namespace Matrix variable {R n : Type*} [CommRing R] [Fintype n] [DecidableEq n] diff --git a/Mathlib/LinearAlgebra/PerfectPairing/Restrict.lean b/Mathlib/LinearAlgebra/PerfectPairing/Restrict.lean index 1f33fbf56cbb30..438a56d40077ab 100644 --- a/Mathlib/LinearAlgebra/PerfectPairing/Restrict.lean +++ b/Mathlib/LinearAlgebra/PerfectPairing/Restrict.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.PerfectPairing.Basic -import Mathlib.LinearAlgebra.Matrix.Basis -import Mathlib.LinearAlgebra.Matrix.BaseChange +module + +public import Mathlib.LinearAlgebra.PerfectPairing.Basic +public import Mathlib.LinearAlgebra.Matrix.Basis +public import Mathlib.LinearAlgebra.Matrix.BaseChange /-! # Restriction to submodules and restriction of scalars for perfect pairings. @@ -21,6 +23,8 @@ We provide API for restricting perfect pairings to submodules and for restrictin -/ +@[expose] public section + open Function Module Set open Submodule (span subset_span) diff --git a/Mathlib/LinearAlgebra/Pi.lean b/Mathlib/LinearAlgebra/Pi.lean index 2e0de700828d34..7dfce7cb107d6d 100644 --- a/Mathlib/LinearAlgebra/Pi.lean +++ b/Mathlib/LinearAlgebra/Pi.lean @@ -3,16 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Eric Wieser -/ -import Mathlib.Algebra.Group.Fin.Tuple -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Module.Prod -import Mathlib.Algebra.Module.Submodule.Ker -import Mathlib.Algebra.Module.Submodule.Range -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.LinearAlgebra.Prod -import Mathlib.Data.Fintype.Option +module + +public import Mathlib.Algebra.Group.Fin.Tuple +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Module.Prod +public import Mathlib.Algebra.Module.Submodule.Ker +public import Mathlib.Algebra.Module.Submodule.Range +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.Data.Fintype.Option /-! # Pi types of modules @@ -32,6 +34,8 @@ It contains theorems relating these to each other, as well as to `LinearMap.ker` -/ +@[expose] public section + universe u v w x y z u' v' w' x' y' diff --git a/Mathlib/LinearAlgebra/PiTensorProduct.lean b/Mathlib/LinearAlgebra/PiTensorProduct.lean index 41b582e64fcdd8..bca85672c3ba60 100644 --- a/Mathlib/LinearAlgebra/PiTensorProduct.lean +++ b/Mathlib/LinearAlgebra/PiTensorProduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis, Eric Wieser -/ -import Mathlib.LinearAlgebra.Multilinear.TensorProduct -import Mathlib.Tactic.AdaptationNote -import Mathlib.LinearAlgebra.Multilinear.Curry +module + +public import Mathlib.LinearAlgebra.Multilinear.TensorProduct +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.LinearAlgebra.Multilinear.Curry /-! # Tensor product of an indexed family of modules over commutative semirings @@ -60,6 +62,8 @@ binary tensor product in `LinearAlgebra/TensorProduct.lean`. multilinear, tensor, tensor product -/ +@[expose] public section + open Function section Semiring diff --git a/Mathlib/LinearAlgebra/Prod.lean b/Mathlib/LinearAlgebra/Prod.lean index a4125e590ae960..f9607ea6f5874e 100644 --- a/Mathlib/LinearAlgebra/Prod.lean +++ b/Mathlib/LinearAlgebra/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Eric Wieser -/ -import Mathlib.Algebra.Algebra.Prod -import Mathlib.Algebra.Group.Graph -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.Algebra.Algebra.Prod +public import Mathlib.Algebra.Group.Graph +public import Mathlib.LinearAlgebra.Span.Basic /-! ### Products of modules @@ -34,6 +36,8 @@ It contains theorems relating these to each other, as well as to `Submodule.prod - `LinearEquiv.uniqueProd` -/ +@[expose] public section + universe u v w x y z u' v' w' y' diff --git a/Mathlib/LinearAlgebra/Projection.lean b/Mathlib/LinearAlgebra/Projection.lean index a419632bf764fc..14f480555d6125 100644 --- a/Mathlib/LinearAlgebra/Projection.lean +++ b/Mathlib/LinearAlgebra/Projection.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.LinearAlgebra.Prod -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.Algebra.Ring.Idempotent +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.Algebra.Ring.Idempotent /-! # Projection to a subspace @@ -26,6 +28,8 @@ We also provide some lemmas justifying correctness of our definitions. projection, complement subspace -/ +@[expose] public section + noncomputable section Ring variable {R : Type*} [Ring R] {E : Type*} [AddCommGroup E] [Module R E] diff --git a/Mathlib/LinearAlgebra/Projectivization/Action.lean b/Mathlib/LinearAlgebra/Projectivization/Action.lean index 8d3c3ae2cfff91..7016555654110c 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Action.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Action.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.LinearAlgebra.Projectivization.Basic -import Mathlib.GroupTheory.GroupAction.Ring +module + +public import Mathlib.LinearAlgebra.Projectivization.Basic +public import Mathlib.GroupTheory.GroupAction.Ring /-! # Group actions on projectivization @@ -12,6 +14,8 @@ import Mathlib.GroupTheory.GroupAction.Ring Show that (among other groups), the general linear group of `V` acts on `ℙ K V`. -/ +@[expose] public section + open scoped LinearAlgebra.Projectivization Matrix namespace Projectivization diff --git a/Mathlib/LinearAlgebra/Projectivization/Basic.lean b/Mathlib/LinearAlgebra/Projectivization/Basic.lean index de4c7bfc2bd58e..16260d92c866e4 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Basic.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.LinearAlgebra.FiniteDimensional.Basic +module + +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.LinearAlgebra.FiniteDimensional.Basic /-! @@ -32,6 +34,8 @@ We have three ways to construct terms of `ℙ K V`: -/ +@[expose] public section + variable (K V : Type*) [DivisionRing K] [AddCommGroup V] [Module K V] /-- The setoid whose quotient is the projectivization of `V`. -/ diff --git a/Mathlib/LinearAlgebra/Projectivization/Cardinality.lean b/Mathlib/LinearAlgebra/Projectivization/Cardinality.lean index 12c41c0c244ea8..44bc7c35b0c65d 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Cardinality.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Cardinality.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.Data.Finite.Sum -import Mathlib.Data.Fintype.Units -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.LinearAlgebra.Projectivization.Basic +module + +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.Data.Finite.Sum +public import Mathlib.Data.Fintype.Units +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.LinearAlgebra.Projectivization.Basic /-! # Cardinality of projective spaces @@ -16,6 +18,8 @@ We compute the cardinality of `ℙ k V` if `k` is a finite field. -/ +@[expose] public section + namespace Projectivization open scoped LinearAlgebra.Projectivization diff --git a/Mathlib/LinearAlgebra/Projectivization/Constructions.lean b/Mathlib/LinearAlgebra/Projectivization/Constructions.lean index 80dd140e35d527..04305fad079619 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Constructions.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.LinearAlgebra.CrossProduct -import Mathlib.LinearAlgebra.Matrix.DotProduct -import Mathlib.LinearAlgebra.Projectivization.Basic +module + +public import Mathlib.LinearAlgebra.CrossProduct +public import Mathlib.LinearAlgebra.Matrix.DotProduct +public import Mathlib.LinearAlgebra.Projectivization.Basic /-! @@ -21,6 +23,8 @@ This file defines the dot product and cross product on projective spaces. -/ +@[expose] public section + variable {F : Type*} [Field F] {m : Type*} [Fintype m] namespace Projectivization diff --git a/Mathlib/LinearAlgebra/Projectivization/Independence.lean b/Mathlib/LinearAlgebra/Projectivization/Independence.lean index e8c91a376e7487..d200175e39192b 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Independence.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Independence.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Michael Blyth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Blyth -/ -import Mathlib.LinearAlgebra.Projectivization.Basic +module + +public import Mathlib.LinearAlgebra.Projectivization.Basic /-! # Independence in Projective Space @@ -28,6 +30,8 @@ ambient vector space. Similarly for the definition of dependence. - Define projective linear subspaces. -/ +@[expose] public section + open scoped LinearAlgebra.Projectivization variable {ι K V : Type*} [DivisionRing K] [AddCommGroup V] [Module K V] {f : ι → ℙ K V} diff --git a/Mathlib/LinearAlgebra/Projectivization/Subspace.lean b/Mathlib/LinearAlgebra/Projectivization/Subspace.lean index 06327d1da1ca40..9d81073f914f36 100644 --- a/Mathlib/LinearAlgebra/Projectivization/Subspace.lean +++ b/Mathlib/LinearAlgebra/Projectivization/Subspace.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Michael Blyth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Blyth -/ -import Mathlib.LinearAlgebra.Projectivization.Basic +module + +public import Mathlib.LinearAlgebra.Projectivization.Basic /-! # Subspaces of Projective Space @@ -27,6 +29,8 @@ also in the subset. projective space and the submodules of the underlying vector space. -/ +@[expose] public section + variable (K V : Type*) [Field K] [AddCommGroup V] [Module K V] diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean b/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean index 9fe9acb9566c28..b6a3b96732ce9e 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kexing Ying, Eric Wieser -/ -import Mathlib.Data.Finset.Sym -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic -import Mathlib.LinearAlgebra.Matrix.SesquilinearForm -import Mathlib.LinearAlgebra.Matrix.Symmetric +module + +public import Mathlib.Data.Finset.Sym +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.LinearAlgebra.Matrix.SesquilinearForm +public import Mathlib.LinearAlgebra.Matrix.Symmetric /-! # Quadratic maps @@ -75,6 +77,8 @@ has some further discussion. quadratic map, homogeneous polynomial, quadratic polynomial -/ +@[expose] public section + universe u v w variable {S T : Type*} diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Basis.lean b/Mathlib/LinearAlgebra/QuadraticForm/Basis.lean index 4c737dac32dc8f..3344cb5b23f2f6 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Basis.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Basis.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.BigOperators.Sym -import Mathlib.Data.Finsupp.Pointwise -import Mathlib.Data.Sym.Sym2.Finsupp -import Mathlib.LinearAlgebra.QuadraticForm.Basic +module + +public import Mathlib.Algebra.BigOperators.Sym +public import Mathlib.Data.Finsupp.Pointwise +public import Mathlib.Data.Sym.Sym2.Finsupp +public import Mathlib.LinearAlgebra.QuadraticForm.Basic /-! # Constructing a bilinear map from a quadratic map, given a basis @@ -16,6 +18,8 @@ does not require `Invertible (2 : R)`. Unlike that definition, this only works i a basis. -/ +@[expose] public section + open LinearMap (BilinMap) open Module diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Complex.lean b/Mathlib/LinearAlgebra/QuadraticForm/Complex.lean index b6445e17d51463..ed21263051cc89 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Complex.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Complex.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kexing Ying, Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv -import Mathlib.Analysis.SpecialFunctions.Pow.Complex +module + +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +public import Mathlib.Analysis.SpecialFunctions.Pow.Complex /-! # Quadratic forms over the complex numbers @@ -14,6 +16,8 @@ a sum of squares. -/ +@[expose] public section + namespace QuadraticForm diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean b/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean index 9c6c691ab17c1e..99f8a47cbc1fb2 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv -import Mathlib.LinearAlgebra.QuadraticForm.Prod +module + +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +public import Mathlib.LinearAlgebra.QuadraticForm.Prod /-! # Quadratic form structures related to `Module.Dual` @@ -21,6 +23,8 @@ import Mathlib.LinearAlgebra.QuadraticForm.Prod -/ +@[expose] public section + variable (R M N : Type*) diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean b/Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean index e09af538b55e13..d7067dda934992 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.Basic +module + +public import Mathlib.LinearAlgebra.QuadraticForm.Basic /-! # Isometric linear maps @@ -17,6 +19,8 @@ import Mathlib.LinearAlgebra.QuadraticForm.Basic `Q₁ →qᵢ Q₂` is notation for `Q₁.Isometry Q₂`. -/ +@[expose] public section + variable {R M M₁ M₂ M₃ M₄ N : Type*} namespace QuadraticMap diff --git a/Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean b/Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean index e22f2789691ba4..f1f733175363ad 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.Basic -import Mathlib.LinearAlgebra.QuadraticForm.Isometry +module + +public import Mathlib.LinearAlgebra.QuadraticForm.Basic +public import Mathlib.LinearAlgebra.QuadraticForm.Isometry /-! # Isometric equivalences with respect to quadratic forms @@ -20,6 +22,8 @@ import Mathlib.LinearAlgebra.QuadraticForm.Isometry parametrization of `QuadraticForm.weightedSumSquares`. -/ +@[expose] public section + open Module QuadraticMap variable {ι R K M M₁ M₂ M₃ V N : Type*} diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Prod.lean b/Mathlib/LinearAlgebra/QuadraticForm/Prod.lean index ee4e75cf437631..6367b68e3220c3 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Prod.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Prod.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +module + +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv /-! # Quadratic form on product and pi types @@ -29,6 +31,8 @@ forms specifically. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean index 6672bf9c5e1106..b846483cb03b54 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv -import Mathlib.Algebra.Category.ModuleCat.Basic +module + +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +public import Mathlib.Algebra.Category.ModuleCat.Basic /-! # The category of quadratic modules -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean index 991c327e18d964..bcc94d349e9496 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.CategoryTheory.Monoidal.Transport -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat -import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries +module + +public import Mathlib.CategoryTheory.Monoidal.Transport +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat +public import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries /-! # The monoidal category structure on quadratic R-modules @@ -24,6 +26,8 @@ For now, we simplify by insisting both universe levels are the same. This file essentially mirrors `Mathlib/Algebra/Category/AlgCat/Monoidal.lean`. -/ +@[expose] public section + open CategoryTheory open scoped MonoidalCategory diff --git a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean index ecb4fd629e6b33..c0e7dfbd89a1f4 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Monoidal -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +module + +public import Mathlib.LinearAlgebra.QuadraticForm.QuadraticModuleCat.Monoidal +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric /-! # The monoidal structure on `QuadraticModuleCat` is symmetric. @@ -18,6 +20,8 @@ In this file we show: This file essentially mirrors `Mathlib/Algebra/Category/AlgCat/Symmetric.lean`. -/ +@[expose] public section + open CategoryTheory universe v u diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Real.lean b/Mathlib/LinearAlgebra/QuadraticForm/Real.lean index b0b4653d75f254..9cc35276c8a4d7 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Real.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Real.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kexing Ying, Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv -import Mathlib.Data.Sign.Basic -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Analysis.RCLike.Basic +module + +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +public import Mathlib.Data.Sign.Basic +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Analysis.RCLike.Basic /-! # Real quadratic forms @@ -20,6 +22,8 @@ as in `QuadraticForm.equivalent_one_zero_neg_one_weighted_sum_squared`. -/ +@[expose] public section + open Finset Module QuadraticMap SignType namespace QuadraticForm diff --git a/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean b/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean index 7f0215e0ad9764..a68f992faf9c6b 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.BilinearForm.TensorProduct -import Mathlib.LinearAlgebra.QuadraticForm.Basic +module + +public import Mathlib.LinearAlgebra.BilinearForm.TensorProduct +public import Mathlib.LinearAlgebra.QuadraticForm.Basic /-! # The quadratic form on a tensor product @@ -16,6 +18,8 @@ import Mathlib.LinearAlgebra.QuadraticForm.Basic -/ +@[expose] public section + universe uR uA uM₁ uM₂ uN₁ uN₂ variable {R : Type uR} {A : Type uA} {M₁ : Type uM₁} {M₂ : Type uM₂} {N₁ : Type uN₁} {N₂ : Type uN₂} diff --git a/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean b/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean index 40a7fe2ed1615a..5b1210c5fb25ae 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct -import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv +module + +public import Mathlib.LinearAlgebra.QuadraticForm.TensorProduct +public import Mathlib.LinearAlgebra.QuadraticForm.IsometryEquiv /-! # Linear equivalences of tensor products as isometries @@ -20,6 +22,8 @@ These results are separate from the definition of `QuadraticForm.tmul` as that f * `QuadraticForm.tensorLId`: `TensorProduct.lid` as a `QuadraticForm.IsometryEquiv` -/ +@[expose] public section + universe uR uM₁ uM₂ uM₃ uM₄ variable {R : Type uR} {M₁ : Type uM₁} {M₂ : Type uM₂} {M₃ : Type uM₃} {M₄ : Type uM₄} diff --git a/Mathlib/LinearAlgebra/Quotient/Basic.lean b/Mathlib/LinearAlgebra/Quotient/Basic.lean index 3aa65816b43821..73510c29d50ef0 100644 --- a/Mathlib/LinearAlgebra/Quotient/Basic.lean +++ b/Mathlib/LinearAlgebra/Quotient/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.GroupTheory.QuotientGroup.Basic -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.LinearAlgebra.Span.Basic +module + +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.GroupTheory.QuotientGroup.Basic +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.LinearAlgebra.Span.Basic /-! # Quotients by submodules @@ -25,6 +27,8 @@ import Mathlib.LinearAlgebra.Span.Basic -/ +@[expose] public section + assert_not_exists Cardinal -- For most of this file we work over a noncommutative ring diff --git a/Mathlib/LinearAlgebra/Quotient/Card.lean b/Mathlib/LinearAlgebra/Quotient/Card.lean index fd180f2744a2a5..36bdff4ca84461 100644 --- a/Mathlib/LinearAlgebra/Quotient/Card.lean +++ b/Mathlib/LinearAlgebra/Quotient/Card.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.GroupTheory.Coset.Basic +module + +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.GroupTheory.Coset.Basic /-! Results about the cardinality of a quotient module. -/ +@[expose] public section + namespace Submodule open LinearMap QuotientAddGroup diff --git a/Mathlib/LinearAlgebra/Quotient/Defs.lean b/Mathlib/LinearAlgebra/Quotient/Defs.lean index 05d299332b7ff1..e3ab71aa2f617b 100644 --- a/Mathlib/LinearAlgebra/Quotient/Defs.lean +++ b/Mathlib/LinearAlgebra/Quotient/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov -/ -import Mathlib.Algebra.Module.Equiv.Defs -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.GroupTheory.QuotientGroup.Defs +module + +public import Mathlib.Algebra.Module.Equiv.Defs +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.GroupTheory.QuotientGroup.Defs /-! # Quotients by submodules @@ -22,6 +24,8 @@ import Mathlib.GroupTheory.QuotientGroup.Defs -/ +@[expose] public section + -- For most of this file we work over a noncommutative ring section Ring diff --git a/Mathlib/LinearAlgebra/Quotient/Pi.lean b/Mathlib/LinearAlgebra/Quotient/Pi.lean index 9780081941921e..a56a9d71667fa6 100644 --- a/Mathlib/LinearAlgebra/Quotient/Pi.lean +++ b/Mathlib/LinearAlgebra/Quotient/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Quotient.Basic +module + +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Quotient.Basic /-! # Submodule quotients and direct sums @@ -20,6 +22,8 @@ and the direct sum of quotients of modules by submodules. -/ +@[expose] public section + namespace Submodule diff --git a/Mathlib/LinearAlgebra/Ray.lean b/Mathlib/LinearAlgebra/Ray.lean index 2ac734554cf317..775520e9a56924 100644 --- a/Mathlib/LinearAlgebra/Ray.lean +++ b/Mathlib/LinearAlgebra/Ray.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Order.Module.Algebra -import Mathlib.Algebra.Ring.Subring.Units -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.Module -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Order.Module.Algebra +public import Mathlib.Algebra.Ring.Subring.Units +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.Module +public import Mathlib.Tactic.Positivity.Basic /-! # Rays in modules @@ -25,6 +27,8 @@ This file defines rays in modules. common positive multiple. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/Reflection.lean b/Mathlib/LinearAlgebra/Reflection.lean index c193d83db3818c..1de68473524d05 100644 --- a/Mathlib/LinearAlgebra/Reflection.lean +++ b/Mathlib/LinearAlgebra/Reflection.lean @@ -3,15 +3,17 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Deepro Choudhury, Mitchell Lee, Johan Commelin -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.Module.LinearMap.Basic -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.Algebra.Module.Torsion -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.LinearAlgebra.Dual.Defs -import Mathlib.LinearAlgebra.FiniteSpan -import Mathlib.RingTheory.Polynomial.Chebyshev +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.Module.LinearMap.Basic +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.LinearAlgebra.Dual.Defs +public import Mathlib.LinearAlgebra.FiniteSpan +public import Mathlib.RingTheory.Polynomial.Chebyshev /-! # Reflections in linear algebra @@ -48,6 +50,8 @@ should connect (or unify) these definitions with `Module.reflection` defined her -/ +@[expose] public section + open Function Set open Module hiding Finite open Submodule (span) diff --git a/Mathlib/LinearAlgebra/RootSystem/Base.lean b/Mathlib/LinearAlgebra/RootSystem/Base.lean index f76ad0639bddca..99cd78ac6b771b 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Base.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Base.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.Chain -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas -import Mathlib.LinearAlgebra.RootSystem.IsValuedIn +module + +public import Mathlib.LinearAlgebra.RootSystem.Chain +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +public import Mathlib.LinearAlgebra.RootSystem.IsValuedIn /-! # Bases for root pairings / systems @@ -45,6 +47,8 @@ is too strong. -/ +@[expose] public section + noncomputable section open Function Set Submodule diff --git a/Mathlib/LinearAlgebra/RootSystem/BaseChange.lean b/Mathlib/LinearAlgebra/RootSystem/BaseChange.lean index 4a4c06b7444471..a784d8c813c9b8 100644 --- a/Mathlib/LinearAlgebra/RootSystem/BaseChange.lean +++ b/Mathlib/LinearAlgebra/RootSystem/BaseChange.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.LinearAlgebra.PerfectPairing.Restrict -import Mathlib.LinearAlgebra.RootSystem.IsValuedIn +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.LinearAlgebra.PerfectPairing.Restrict +public import Mathlib.LinearAlgebra.RootSystem.IsValuedIn /-! # Base change for root pairings @@ -26,6 +28,8 @@ extension of scalars. -/ +@[expose] public section + noncomputable section open Set Function diff --git a/Mathlib/LinearAlgebra/RootSystem/Basic.lean b/Mathlib/LinearAlgebra/RootSystem/Basic.lean index 018de3a4c92f37..b7b294c1205a1e 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Basic.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Deepro Choudhury, Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.Defs -import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate +module + +public import Mathlib.LinearAlgebra.RootSystem.Defs +public import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate /-! # Root data and root systems @@ -26,6 +28,8 @@ This file contains basic results for root systems and root data. -/ +@[expose] public section + open Set Function open Module hiding reflection open Submodule (span) diff --git a/Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean b/Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean index 6801f658657ce0..29a8317cab89a3 100644 --- a/Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean +++ b/Mathlib/LinearAlgebra/RootSystem/CartanMatrix.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.CharZero.Infinite -import Mathlib.Algebra.Module.Submodule.Union -import Mathlib.LinearAlgebra.Matrix.BilinearForm -import Mathlib.LinearAlgebra.RootSystem.Base -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas -import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate +module + +public import Mathlib.Algebra.CharZero.Infinite +public import Mathlib.Algebra.Module.Submodule.Union +public import Mathlib.LinearAlgebra.Matrix.BilinearForm +public import Mathlib.LinearAlgebra.RootSystem.Base +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +public import Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate /-! # Cartan matrices for root systems @@ -25,6 +27,8 @@ This file contains definitions and basic results about Cartan matrices of root p -/ +@[expose] public section + noncomputable section open FaithfulSMul (algebraMap_injective) diff --git a/Mathlib/LinearAlgebra/RootSystem/Chain.lean b/Mathlib/LinearAlgebra/RootSystem/Chain.lean index 861429de1571ee..93db1d301f4c5c 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Chain.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Chain.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas -import Mathlib.Order.Interval.Set.OrdConnectedLinear +module + +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +public import Mathlib.Order.Interval.Set.OrdConnectedLinear /-! # Chains of roots @@ -25,6 +27,8 @@ length, `p + q` is at most 3. -/ +@[expose] public section + noncomputable section open FaithfulSMul Function Set Submodule diff --git a/Mathlib/LinearAlgebra/RootSystem/Defs.lean b/Mathlib/LinearAlgebra/RootSystem/Defs.lean index 697942046b9823..c42fb5c88ef30f 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Defs.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Deepro Choudhury, Scott Carnahan -/ -import Mathlib.LinearAlgebra.PerfectPairing.Basic -import Mathlib.LinearAlgebra.Reflection +module + +public import Mathlib.LinearAlgebra.PerfectPairing.Basic +public import Mathlib.LinearAlgebra.Reflection /-! # Root data and root systems @@ -57,6 +59,8 @@ require that it is compatible with reflections and coreflections. -/ +@[expose] public section + open Set Function open Module hiding reflection open Submodule (span span_image) diff --git a/Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean b/Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean index 1134d6b10aa64c..815a91416b6c8f 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Finite/CanonicalBilinear.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Ring.SumsOfSquares -import Mathlib.LinearAlgebra.RootSystem.RootPositive +module + +public import Mathlib.Algebra.Ring.SumsOfSquares +public import Mathlib.LinearAlgebra.RootSystem.RootPositive /-! # The canonical bilinear form on a finite root pairing @@ -38,6 +40,8 @@ Weyl group. -/ +@[expose] public section + open Set Function open Module hiding reflection open Submodule (span) diff --git a/Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean b/Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean index 45a192c12e9811..37451f81414d1a 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.Base -import Mathlib.LinearAlgebra.RootSystem.Chain -import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas +module + +public import Mathlib.LinearAlgebra.RootSystem.Base +public import Mathlib.LinearAlgebra.RootSystem.Chain +public import Mathlib.LinearAlgebra.RootSystem.Finite.Lemmas /-! # Properties of the `𝔤₂` root system. @@ -42,6 +44,8 @@ Once sufficient API for `RootPairing.Base` has been developed: -/ +@[expose] public section + noncomputable section open FaithfulSMul Function Set Submodule diff --git a/Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean b/Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean index 5dc46ccdce0fba..d9ff1475def196 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear -import Mathlib.LinearAlgebra.RootSystem.Reduced -import Mathlib.LinearAlgebra.RootSystem.Irreducible -import Mathlib.Algebra.Ring.Torsion +module + +public import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear +public import Mathlib.LinearAlgebra.RootSystem.Reduced +public import Mathlib.LinearAlgebra.RootSystem.Irreducible +public import Mathlib.Algebra.Ring.Torsion /-! # Structural lemmas about finite crystallographic root pairings @@ -27,6 +29,8 @@ root pairings. -/ +@[expose] public section + noncomputable section open Function Set diff --git a/Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean b/Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean index 6578d9f65fbf27..4d2ae031066d7f 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.BilinearForm.Basic -import Mathlib.LinearAlgebra.BilinearForm.Orthogonal -import Mathlib.LinearAlgebra.Dimension.Localization -import Mathlib.LinearAlgebra.QuadraticForm.Basic -import Mathlib.LinearAlgebra.RootSystem.BaseChange -import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear +module + +public import Mathlib.LinearAlgebra.BilinearForm.Basic +public import Mathlib.LinearAlgebra.BilinearForm.Orthogonal +public import Mathlib.LinearAlgebra.Dimension.Localization +public import Mathlib.LinearAlgebra.QuadraticForm.Basic +public import Mathlib.LinearAlgebra.RootSystem.BaseChange +public import Mathlib.LinearAlgebra.RootSystem.Finite.CanonicalBilinear /-! # Nondegeneracy of the polarization on a finite root pairing @@ -45,6 +47,8 @@ Weyl group. * Relation to Coxeter weight. -/ +@[expose] public section + noncomputable section open Set Function diff --git a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean index d2adf99c34ff08..ba34d0ed1eec3a 100644 --- a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean +++ b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Matrix -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.Algebra.Lie.Weights.Basic -import Mathlib.LinearAlgebra.Eigenspace.Matrix -import Mathlib.LinearAlgebra.RootSystem.CartanMatrix +module + +public import Mathlib.Algebra.Lie.Matrix +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.Algebra.Lie.Weights.Basic +public import Mathlib.LinearAlgebra.Eigenspace.Matrix +public import Mathlib.LinearAlgebra.RootSystem.CartanMatrix /-! # Geck's construction of a Lie algebra associated to a root system @@ -47,6 +49,8 @@ a base: https://mathoverflow.net/questions/495434/ -/ +@[expose] public section + noncomputable section open Function Set Submodule diff --git a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean index 8f4afe0965fad4..3695979f5e2934 100644 --- a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean +++ b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.Base -import Mathlib.LinearAlgebra.RootSystem.Chain -import Mathlib.LinearAlgebra.RootSystem.Finite.G2 +module + +public import Mathlib.LinearAlgebra.RootSystem.Base +public import Mathlib.LinearAlgebra.RootSystem.Chain +public import Mathlib.LinearAlgebra.RootSystem.Finite.G2 /-! # Supporting lemmas for Geck's construction of a Lie algebra associated to a root system -/ +@[expose] public section + open Set open FaithfulSMul (algebraMap_injective) diff --git a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean index cd3c7d6e95fa6f..3d77ac5b627205 100644 --- a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean +++ b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Lemmas -import Mathlib.Algebra.Lie.Sl2 +module + +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Lemmas +public import Mathlib.Algebra.Lie.Sl2 /-! # Relations in Geck's construction of a Lie algebra associated to a root system @@ -23,6 +25,8 @@ satisfying relations associated to the Cartan matrix of the input root system. -/ +@[expose] public section + noncomputable section namespace RootPairing.GeckConstruction diff --git a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean index fccf2c1ff693e3..9c701b6416b342 100644 --- a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean +++ b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Lie.Matrix -import Mathlib.Algebra.Lie.Semisimple.Lemmas -import Mathlib.Algebra.Lie.Weights.Linear -import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic -import Mathlib.RingTheory.Finiteness.Nilpotent +module + +public import Mathlib.Algebra.Lie.Matrix +public import Mathlib.Algebra.Lie.Semisimple.Lemmas +public import Mathlib.Algebra.Lie.Weights.Linear +public import Mathlib.LinearAlgebra.RootSystem.GeckConstruction.Basic +public import Mathlib.RingTheory.Finiteness.Nilpotent /-! # Geck's construction of a Lie algebra associated to a root system yields semisimple algebras @@ -26,6 +28,8 @@ algebras. -/ +@[expose] public section + noncomputable section namespace RootPairing.GeckConstruction @@ -180,6 +184,8 @@ open LieModule Matrix local notation "H" => cartanSubalgebra' b +set_option maxHeartbeats 210000 in +-- TODO: increase from module system port, should be investigated private lemma instIsIrreducible_aux₀ {U : LieSubmodule K H (b.support ⊕ ι → K)} (χ : H → K) (hχ : χ ≠ 0) (hχ' : genWeightSpace U χ ≠ ⊥) : ∃ i, v b i ∈ (genWeightSpace U χ).map U.incl := by diff --git a/Mathlib/LinearAlgebra/RootSystem/Hom.lean b/Mathlib/LinearAlgebra/RootSystem/Hom.lean index b5075a2acd90d0..09312a4d095ac7 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Hom.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.Basic -import Mathlib.LinearAlgebra.RootSystem.Defs +module + +public import Mathlib.LinearAlgebra.RootSystem.Basic +public import Mathlib.LinearAlgebra.RootSystem.Defs /-! # Morphisms of root pairings @@ -45,6 +47,8 @@ given in SGA III Exp. 21 Section 6. -/ +@[expose] public section + open Set Function noncomputable section diff --git a/Mathlib/LinearAlgebra/RootSystem/Irreducible.lean b/Mathlib/LinearAlgebra/RootSystem/Irreducible.lean index bfab967b278d1a..ff9d17a797b8cb 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Irreducible.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Irreducible.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.RootSystem.RootPositive -import Mathlib.LinearAlgebra.RootSystem.WeylGroup -import Mathlib.RepresentationTheory.Submodule +module + +public import Mathlib.LinearAlgebra.RootSystem.RootPositive +public import Mathlib.LinearAlgebra.RootSystem.WeylGroup +public import Mathlib.RepresentationTheory.Submodule /-! # Irreducible root pairings @@ -21,6 +23,8 @@ This file contains basic definitions and results about irreducible root systems. -/ +@[expose] public section + open Function Set open Submodule (span span_le) open LinearMap (ker) diff --git a/Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean b/Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean index ac7a1bb334f6f3..124983860fbf7d 100644 --- a/Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean +++ b/Mathlib/LinearAlgebra/RootSystem/IsValuedIn.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan, Oliver Nash -/ -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.LinearAlgebra.RootSystem.Defs +module + +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.LinearAlgebra.RootSystem.Defs /-! # Root pairings taking values in a subring @@ -24,6 +26,8 @@ of this theory is the theory of crystallographic root systems, where `S = ℤ`. -/ +@[expose] public section + open Set Function open Submodule (span) open Module diff --git a/Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean b/Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean index af2f64b2e736fe..cc2aa9b0eb55da 100644 --- a/Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean +++ b/Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.Defs +module + +public import Mathlib.LinearAlgebra.RootSystem.Defs /-! # Root pairings made from bilinear forms @@ -21,6 +23,8 @@ integral lattice with an arbitrary reflexive module equipped with a bilinear for * properties -/ +@[expose] public section + open Set Function Module noncomputable section diff --git a/Mathlib/LinearAlgebra/RootSystem/Reduced.lean b/Mathlib/LinearAlgebra/RootSystem/Reduced.lean index 5a51cb035a0090..ea6932e1b4be0e 100644 --- a/Mathlib/LinearAlgebra/RootSystem/Reduced.lean +++ b/Mathlib/LinearAlgebra/RootSystem/Reduced.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.IsValuedIn +module + +public import Mathlib.LinearAlgebra.RootSystem.IsValuedIn /-! # Reduced root pairings @@ -30,6 +32,8 @@ solely on `RootPairing.pairingIn` and `RootPairing.coxeterWeightIn`.` -/ +@[expose] public section + open Module Set Function variable {ι R M N : Type*} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] diff --git a/Mathlib/LinearAlgebra/RootSystem/RootPairingCat.lean b/Mathlib/LinearAlgebra/RootSystem/RootPairingCat.lean index 80d1f3cbbbe7e8..46608b183b90a2 100644 --- a/Mathlib/LinearAlgebra/RootSystem/RootPairingCat.lean +++ b/Mathlib/LinearAlgebra/RootSystem/RootPairingCat.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.Hom -import Mathlib.CategoryTheory.Category.Basic +module + +public import Mathlib.LinearAlgebra.RootSystem.Hom +public import Mathlib.CategoryTheory.Category.Basic /-! # The category of root pairings @@ -25,6 +27,8 @@ This is mostly copied from `ModuleCat`. -/ +@[expose] public section + open Set Function CategoryTheory noncomputable section diff --git a/Mathlib/LinearAlgebra/RootSystem/RootPositive.lean b/Mathlib/LinearAlgebra/RootSystem/RootPositive.lean index 0cce647e3be4b7..565e35aa2200d0 100644 --- a/Mathlib/LinearAlgebra/RootSystem/RootPositive.lean +++ b/Mathlib/LinearAlgebra/RootSystem/RootPositive.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.IsValuedIn +module + +public import Mathlib.LinearAlgebra.RootSystem.IsValuedIn /-! # Invariant and root-positive bilinear forms on root pairings @@ -32,6 +34,8 @@ positive semi-definite on weight space and positive-definite on the span of root -/ +@[expose] public section + noncomputable section open FaithfulSMul Function Set Submodule diff --git a/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean b/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean index 35c7c51ce8ccfe..8b6adcc67f32c9 100644 --- a/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean +++ b/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.LinearAlgebra.RootSystem.Hom -import Mathlib.RepresentationTheory.Basic +module + +public import Mathlib.LinearAlgebra.RootSystem.Hom +public import Mathlib.RepresentationTheory.Basic /-! # The Weyl group of a root pairing @@ -30,6 +32,8 @@ on roots. * faithfulness of `weylGroupToPerm` when multiplication by 2 is injective on the weight space. -/ +@[expose] public section + open Set Function variable {ι R M N : Type*} diff --git a/Mathlib/LinearAlgebra/SModEq.lean b/Mathlib/LinearAlgebra/SModEq.lean index 87d5c90cbe6cc9..2253d4eb924322 100644 --- a/Mathlib/LinearAlgebra/SModEq.lean +++ b/Mathlib/LinearAlgebra/SModEq.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Module.Submodule.Map -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.Algebra.Module.Submodule.Map +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! # modular equivalence for submodule -/ +@[expose] public section + open Submodule diff --git a/Mathlib/LinearAlgebra/Semisimple.lean b/Mathlib/LinearAlgebra/Semisimple.lean index c31ea1f2099893..d0938a51af9599 100644 --- a/Mathlib/LinearAlgebra/Semisimple.lean +++ b/Mathlib/LinearAlgebra/Semisimple.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.FieldTheory.Perfect -import Mathlib.LinearAlgebra.AnnihilatingPolynomial -import Mathlib.RingTheory.Artinian.Instances -import Mathlib.RingTheory.Ideal.Quotient.Nilpotent -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.FieldTheory.Perfect +public import Mathlib.LinearAlgebra.AnnihilatingPolynomial +public import Mathlib.RingTheory.Artinian.Instances +public import Mathlib.RingTheory.Ideal.Quotient.Nilpotent +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Semisimple linear endomorphisms @@ -40,6 +42,8 @@ In finite dimensions over a field: -/ +@[expose] public section + open Set Function Polynomial variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/LinearAlgebra/SesquilinearForm.lean b/Mathlib/LinearAlgebra/SesquilinearForm.lean index 14a3a4b33af853..a739c53c1a035e 100644 --- a/Mathlib/LinearAlgebra/SesquilinearForm.lean +++ b/Mathlib/LinearAlgebra/SesquilinearForm.lean @@ -3,6 +3,8 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow -/ -import Mathlib.LinearAlgebra.SesquilinearForm.Basic +module + +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic deprecated_module (since := "2025-10-06") diff --git a/Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean b/Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean index 123d3d9b0d0ba8..a706b3a22bc15a 100644 --- a/Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean +++ b/Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow -/ -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +module + +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas /-! # Sesquilinear maps @@ -34,6 +36,8 @@ basic lemmas about construction and elementary calculations are found there. Sesquilinear form, Sesquilinear map -/ +@[expose] public section + open Module variable {R R₁ R₂ R₃ M M₁ M₂ M₃ Mₗ₁ Mₗ₁' Mₗ₂ Mₗ₂' K K₁ K₂ V V₁ V₂ n : Type*} diff --git a/Mathlib/LinearAlgebra/Span/Basic.lean b/Mathlib/LinearAlgebra/Span/Basic.lean index 2a72a2abd639ba..7b333706723ce3 100644 --- a/Mathlib/LinearAlgebra/Span/Basic.lean +++ b/Mathlib/LinearAlgebra/Span/Basic.lean @@ -4,15 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.Module.Prod -import Mathlib.Algebra.Module.Submodule.EqLocus -import Mathlib.Algebra.Module.Submodule.Equiv -import Mathlib.Algebra.Module.Submodule.RestrictScalars -import Mathlib.Algebra.NoZeroSMulDivisors.Basic -import Mathlib.LinearAlgebra.Span.Defs -import Mathlib.Order.CompactlyGenerated.Basic -import Mathlib.Order.OmegaCompletePartialOrder +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.Module.Prod +public import Mathlib.Algebra.Module.Submodule.EqLocus +public import Mathlib.Algebra.Module.Submodule.Equiv +public import Mathlib.Algebra.Module.Submodule.RestrictScalars +public import Mathlib.Algebra.NoZeroSMulDivisors.Basic +public import Mathlib.LinearAlgebra.Span.Defs +public import Mathlib.Order.CompactlyGenerated.Basic +public import Mathlib.Order.OmegaCompletePartialOrder /-! # The span of a set of vectors, as a submodule @@ -26,6 +28,8 @@ import Mathlib.Order.OmegaCompletePartialOrder -/ +@[expose] public section + variable {R R₂ K M M₂ V S : Type*} namespace Submodule diff --git a/Mathlib/LinearAlgebra/Span/Defs.lean b/Mathlib/LinearAlgebra/Span/Defs.lean index 1c7c0f4eef6bba..b701bc235ebd5b 100644 --- a/Mathlib/LinearAlgebra/Span/Defs.lean +++ b/Mathlib/LinearAlgebra/Span/Defs.lean @@ -4,8 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # The span of a set of vectors, as a submodule @@ -19,6 +21,8 @@ import Mathlib.Algebra.Group.Pointwise.Set.Basic -/ +@[expose] public section + assert_not_exists Field variable {R R₂ K M M₂ V S : Type*} diff --git a/Mathlib/LinearAlgebra/StdBasis.lean b/Mathlib/LinearAlgebra/StdBasis.lean index 3ca581b187b915..a7a1daac2426c5 100644 --- a/Mathlib/LinearAlgebra/StdBasis.lean +++ b/Mathlib/LinearAlgebra/StdBasis.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas /-! # The standard basis @@ -31,6 +33,8 @@ this is a basis over `Fin 3 → R`. -/ +@[expose] public section + open Function Module Set Submodule namespace Pi diff --git a/Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean b/Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean index 88e30d8329317e..b854e2decc382a 100644 --- a/Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean +++ b/Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Raphael Douglas Giles. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Raphael Douglas Giles, Zhixuan Dai, Zhenyan Fu, Yiming Fu, Jingting Wang, Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic /-! # Symmetric Algebras @@ -24,6 +26,8 @@ See `SymAlg R` instead if you are looking for the symmetrized algebra, which giv multiplication on `R` by $a \circ b = \frac{1}{2}(ab + ba)$. -/ +@[expose] public section + variable (R M : Type*) [CommSemiring R] [AddCommMonoid M] [Module R M] /-- Relation on the tensor algebra which will yield the symmetric algebra when diff --git a/Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean b/Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean index 9ae59c6cec052d..dbef0ef66716b1 100644 --- a/Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean +++ b/Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Raphael Douglas Giles. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Raphael Douglas Giles, Zhixuan Dai, Zhenyan Fu, Yiming Fu, Jingting Wang, Eric Wieser -/ -import Mathlib.LinearAlgebra.SymmetricAlgebra.Basic -import Mathlib.LinearAlgebra.Dimension.Basic -import Mathlib.RingTheory.MvPolynomial +module + +public import Mathlib.LinearAlgebra.SymmetricAlgebra.Basic +public import Mathlib.LinearAlgebra.Dimension.Basic +public import Mathlib.RingTheory.MvPolynomial /-! # A basis for `SymmetricAlgebra R M` @@ -28,6 +30,8 @@ import Mathlib.RingTheory.MvPolynomial This file closely mirrors the corresponding file for `TensorAlgebra`. -/ +@[expose] public section + open Module namespace SymmetricAlgebra diff --git a/Mathlib/LinearAlgebra/SymplecticGroup.lean b/Mathlib/LinearAlgebra/SymplecticGroup.lean index a97bb0535aecdd..f45df9b46ce4d0 100644 --- a/Mathlib/LinearAlgebra/SymplecticGroup.lean +++ b/Mathlib/LinearAlgebra/SymplecticGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Matej Penciak. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Matej Penciak, Moritz Doll, Fabien Clery -/ -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +module + +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse /-! # The Symplectic Group @@ -20,6 +22,8 @@ This file defines the symplectic group and proves elementary properties. * For `n = 1` the symplectic group coincides with the special linear group. -/ +@[expose] public section + open Matrix diff --git a/Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean b/Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean index a20072faf04dc2..4f8fefefd49b81 100644 --- a/Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean +++ b/Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.Algebra.FreeAlgebra -import Mathlib.Algebra.RingQuot -import Mathlib.Algebra.TrivSqZeroExt -import Mathlib.Algebra.Algebra.Operations -import Mathlib.LinearAlgebra.Multilinear.Basic +module + +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.Algebra.RingQuot +public import Mathlib.Algebra.TrivSqZeroExt +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.LinearAlgebra.Multilinear.Basic /-! # Tensor Algebras @@ -37,6 +39,8 @@ As noted above, the tensor algebra of `M` is constructed as the free `R`-algebra modulo the additional relations making the inclusion of `M` into an `R`-linear map. -/ +@[expose] public section + variable (R : Type*) [CommSemiring R] variable (M : Type*) [AddCommMonoid M] [Module R M] diff --git a/Mathlib/LinearAlgebra/TensorAlgebra/Basis.lean b/Mathlib/LinearAlgebra/TensorAlgebra/Basis.lean index a83a90426a7b17..12867f88c9cb5e 100644 --- a/Mathlib/LinearAlgebra/TensorAlgebra/Basis.lean +++ b/Mathlib/LinearAlgebra/TensorAlgebra/Basis.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorAlgebra.Basic -import Mathlib.LinearAlgebra.FreeAlgebra +module + +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic +public import Mathlib.LinearAlgebra.FreeAlgebra /-! # A basis for `TensorAlgebra R M` @@ -23,6 +25,8 @@ import Mathlib.LinearAlgebra.FreeAlgebra -/ +@[expose] public section + open Module namespace TensorAlgebra diff --git a/Mathlib/LinearAlgebra/TensorAlgebra/Grading.lean b/Mathlib/LinearAlgebra/TensorAlgebra/Grading.lean index 358156effcee48..027e23f5d40184 100644 --- a/Mathlib/LinearAlgebra/TensorAlgebra/Grading.lean +++ b/Mathlib/LinearAlgebra/TensorAlgebra/Grading.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorAlgebra.Basic -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Results about the grading structure of the tensor algebra @@ -13,6 +15,8 @@ The main result is `TensorAlgebra.gradedAlgebra`, which says that the tensor alg ℕ-graded algebra. -/ +@[expose] public section + namespace TensorAlgebra variable {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] diff --git a/Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean b/Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean index f8227a8a014fe5..27e7b1ebf8a614 100644 --- a/Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean +++ b/Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorAlgebra.Basic -import Mathlib.LinearAlgebra.TensorPower.Basic +module + +public import Mathlib.LinearAlgebra.TensorAlgebra.Basic +public import Mathlib.LinearAlgebra.TensorPower.Basic /-! # Tensor algebras as direct sums of tensor powers @@ -13,6 +15,8 @@ In this file we show that `TensorAlgebra R M` is isomorphic to a direct sum of t `TensorAlgebra.equivDirectSum`. -/ +@[expose] public section + open scoped DirectSum TensorProduct variable {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] diff --git a/Mathlib/LinearAlgebra/TensorPower/Basic.lean b/Mathlib/LinearAlgebra/TensorPower/Basic.lean index 11593bad330e77..6712e230b3170a 100644 --- a/Mathlib/LinearAlgebra/TensorPower/Basic.lean +++ b/Mathlib/LinearAlgebra/TensorPower/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.PiTensorProduct -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Algebra.DirectSum.Algebra +module + +public import Mathlib.LinearAlgebra.PiTensorProduct +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Algebra.DirectSum.Algebra /-! # Tensor power of a semimodule over a commutative semiring @@ -27,6 +29,8 @@ In this file we use `ₜ1` and `ₜ*` as local notation for the graded multiplic tensor powers. Elsewhere, using `1` and `*` on `GradedMonoid` should be preferred. -/ +@[expose] public section + open scoped TensorProduct /-- Homogeneous tensor powers $M^{\otimes n}$. `⨂[R]^n M` is a shorthand for diff --git a/Mathlib/LinearAlgebra/TensorPower/Pairing.lean b/Mathlib/LinearAlgebra/TensorPower/Pairing.lean index d87c0381443149..efac47d92b34d4 100644 --- a/Mathlib/LinearAlgebra/TensorPower/Pairing.lean +++ b/Mathlib/LinearAlgebra/TensorPower/Pairing.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.GroupTheory.MonoidLocalization.Basic -import Mathlib.LinearAlgebra.Dual.Defs -import Mathlib.LinearAlgebra.TensorPower.Basic +module + +public import Mathlib.GroupTheory.MonoidLocalization.Basic +public import Mathlib.LinearAlgebra.Dual.Defs +public import Mathlib.LinearAlgebra.TensorPower.Basic /-! # The pairing between the tensor power of the dual and the tensor power @@ -15,6 +17,8 @@ We construct the pairing -/ +@[expose] public section + open TensorProduct PiTensorProduct namespace TensorPower diff --git a/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean b/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean index 06bf9f55f576ad..a8a57d8eb6be61 100644 --- a/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean +++ b/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.LinearAlgebra.PiTensorProduct +public import Mathlib.LinearAlgebra.PiTensorProduct /-! # Symmetric tensor power of a semimodule over a commutative semiring @@ -29,6 +30,8 @@ from `ι → M` to `Sym[R] ι M` by `⨂ₛ[R] i, f i`. We also reserve the nota -/ +@[expose] public section + suppress_compilation universe u v diff --git a/Mathlib/LinearAlgebra/TensorProduct/Associator.lean b/Mathlib/LinearAlgebra/TensorProduct/Associator.lean index 0cb537c0008d77..b4ce7e778ef53d 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Associator.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Associator.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.LinearAlgebra.TensorProduct.Basic +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.LinearAlgebra.TensorProduct.Basic /-! # Associators and unitors for tensor products of modules over a commutative ring. -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] variable {R' : Type*} [Monoid R'] variable {R'' : Type*} [Semiring R''] diff --git a/Mathlib/LinearAlgebra/TensorProduct/Basic.lean b/Mathlib/LinearAlgebra/TensorProduct/Basic.lean index e246848f576cfe..f13d83a36596e9 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Basic.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro -/ -import Mathlib.Algebra.Module.Submodule.Bilinear -import Mathlib.Algebra.Module.Equiv.Basic -import Mathlib.GroupTheory.Congruence.Hom -import Mathlib.Tactic.Abel -import Mathlib.Tactic.SuppressCompilation +module + +public import Mathlib.Algebra.Module.Submodule.Bilinear +public import Mathlib.Algebra.Module.Equiv.Basic +public import Mathlib.GroupTheory.Congruence.Hom +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.SuppressCompilation /-! # Tensor product of modules over commutative semirings. @@ -38,6 +40,8 @@ map `TensorProduct.mk` is the given bilinear map `f`. Uniqueness is shown in th bilinear, tensor, tensor product -/ +@[expose] public section + section Semiring variable {R : Type*} [CommSemiring R] @@ -253,7 +257,7 @@ theorem smul_tmul [DistribMulAction R' N] [CompatibleSMul R R' M N] (r : R') (m (r • m) ⊗ₜ n = m ⊗ₜ[R] (r • n) := CompatibleSMul.smul_tmul _ _ _ -private def addMonoidWithWrongNSMul : AddMonoid (M ⊗[R] N) := +def addMonoidWithWrongNSMul : AddMonoid (M ⊗[R] N) := { (addConGen (TensorProduct.Eqv R M N)).addMonoid with } attribute [local instance] addMonoidWithWrongNSMul in diff --git a/Mathlib/LinearAlgebra/TensorProduct/Basis.lean b/Mathlib/LinearAlgebra/TensorProduct/Basis.lean index 57cb09b0c702f7..e7010f9985e37a 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Basis.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Basis.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer -/ -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeModule.Basic +module + +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeModule.Basic /-! # Bases and dimensionality of tensor products of modules @@ -15,6 +17,8 @@ This file defines various bases on the tensor product of modules, and shows that the tensor product of free modules is again free. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean b/Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean index 5f426f6fb9960e..e4983868c1ddaa 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.Algebra.Colimit.Module -import Mathlib.LinearAlgebra.TensorProduct.Basic +public import Mathlib.Algebra.Colimit.Module +public import Mathlib.LinearAlgebra.TensorProduct.Basic /-! # Tensor product and direct limits commute with each other. @@ -21,6 +22,8 @@ as `R`-modules. -/ +@[expose] public section + open TensorProduct Module Module.DirectLimit variable {R : Type*} [CommSemiring R] diff --git a/Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean b/Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean index 0d71898087e869..cd6dac82cd091f 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.LinearAlgebra.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Basic /-! @@ -36,6 +38,8 @@ tensor product, finitely generated -/ +@[expose] public section + open scoped TensorProduct open Submodule diff --git a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean index cacd35fd969def..5ac70b5699bc3e 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Int.Order.Units -import Mathlib.Data.ZMod.IntUnitsPower -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.LinearAlgebra.DirectSum.TensorProduct -import Mathlib.Algebra.DirectSum.Algebra +module + +public import Mathlib.Data.Int.Order.Units +public import Mathlib.Data.ZMod.IntUnitsPower +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.LinearAlgebra.DirectSum.TensorProduct +public import Mathlib.Algebra.DirectSum.Algebra /-! # Graded tensor products over graded algebras @@ -43,6 +45,8 @@ multiplication follows trivially from this after some point-free nonsense. -/ +@[expose] public section + open scoped TensorProduct DirectSum variable {R ι : Type*} diff --git a/Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean b/Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean index 424c445a060620..c9e8595c1286ce 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorProduct.Graded.External -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Graded.External +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Graded tensor products over graded algebras @@ -47,6 +49,8 @@ type. * Determine if replacing the synonym with a single-field structure improves performance. -/ +@[expose] public section + suppress_compilation open scoped TensorProduct diff --git a/Mathlib/LinearAlgebra/TensorProduct/Matrix.lean b/Mathlib/LinearAlgebra/TensorProduct/Matrix.lean index 78803c880e078b..17398159b0bc1d 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Matrix.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Matrix.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.TensorProduct.Basis +module + +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.TensorProduct.Basis /-! # Connections between `TensorProduct` and `Matrix` @@ -17,6 +19,8 @@ Notably, `TensorProduct.toMatrix_map` shows that taking the tensor product of li equivalent to taking the Kronecker product of their matrix representations. -/ +@[expose] public section + open Matrix Module LinearMap open scoped Kronecker diff --git a/Mathlib/LinearAlgebra/TensorProduct/Opposite.lean b/Mathlib/LinearAlgebra/TensorProduct/Opposite.lean index 21bb6943318489..84410a3913b622 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Opposite.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Opposite.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.Algebra.Algebra.Opposite +module + +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.Algebra.Algebra.Opposite /-! # `MulOpposite` distributes over `⊗` @@ -13,6 +15,8 @@ The main result in this file is: * `Algebra.TensorProduct.opAlgEquiv R S A B : Aᵐᵒᵖ ⊗[R] Bᵐᵒᵖ ≃ₐ[S] (A ⊗[R] B)ᵐᵒᵖ` -/ +@[expose] public section + open scoped TensorProduct variable (R S A B : Type*) diff --git a/Mathlib/LinearAlgebra/TensorProduct/Pi.lean b/Mathlib/LinearAlgebra/TensorProduct/Pi.lean index 5845d2c34d810d..1e9daad2dac39c 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Pi.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.LinearAlgebra.Pi +module + +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.LinearAlgebra.Pi /-! @@ -26,6 +28,8 @@ See `Mathlib/LinearAlgebra/TensorProduct/Prod.lean` for binary products. -/ +@[expose] public section + variable (R : Type*) [CommSemiring R] variable (S : Type*) [CommSemiring S] [Algebra R S] variable (N : Type*) [AddCommMonoid N] [Module R N] [Module S N] [IsScalarTower R S N] diff --git a/Mathlib/LinearAlgebra/TensorProduct/Prod.lean b/Mathlib/LinearAlgebra/TensorProduct/Prod.lean index 80ea28ff29bee8..09ae19c0dfb30d 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Prod.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Prod -import Mathlib.LinearAlgebra.TensorProduct.Tower +module + +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.LinearAlgebra.TensorProduct.Tower /-! # Tensor products of products @@ -22,6 +24,8 @@ See `Mathlib/LinearAlgebra/TensorProduct/Pi.lean` for arbitrary products. -/ +@[expose] public section + variable (R S M₁ M₂ M₃ : Type*) namespace TensorProduct diff --git a/Mathlib/LinearAlgebra/TensorProduct/Quotient.lean b/Mathlib/LinearAlgebra/TensorProduct/Quotient.lean index 3b4c45883abe45..44d50a3d56658f 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Quotient.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Quotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, Jujian Zhang -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! @@ -34,6 +36,8 @@ Quotient, Tensor Product -/ +@[expose] public section + assert_not_exists Cardinal namespace TensorProduct diff --git a/Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean b/Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean index 59f1b583c0e767..8230510bc89363 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Algebra.Exact -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.Algebra.Exact +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Right-exactness properties of tensor product @@ -84,6 +85,8 @@ to compute some kernels. -/ +@[expose] public section + assert_not_exists Cardinal section Modules diff --git a/Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean b/Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean index 3ddfb5259e9732..11664fd6f6fe6c 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.TensorProduct.Submodule -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Submodule +public import Mathlib.RingTheory.TensorProduct.Basic /-! @@ -32,6 +34,8 @@ mainly used in the definition of linearly disjointness. -/ +@[expose] public section + open scoped TensorProduct open Module diff --git a/Mathlib/LinearAlgebra/TensorProduct/Submodule.lean b/Mathlib/LinearAlgebra/TensorProduct/Submodule.lean index a704399b70d763..74475de33b0cc3 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Submodule.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Submodule.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.LinearAlgebra.DirectSum.Finsupp +module + +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.LinearAlgebra.DirectSum.Finsupp /-! @@ -36,6 +38,8 @@ There are also `Submodule.mulLeftMap` and `Submodule.mulRightMap`, defined in ea -/ +@[expose] public section + open scoped TensorProduct noncomputable section diff --git a/Mathlib/LinearAlgebra/TensorProduct/Tower.lean b/Mathlib/LinearAlgebra/TensorProduct/Tower.lean index 8d662a3294dffb..a7a09386f979c1 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Tower.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin, Eric Wieser -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.LinearAlgebra.TensorProduct.Associator +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.LinearAlgebra.TensorProduct.Associator /-! # The `A`-module structure on `M ⊗[R] N` @@ -44,6 +46,8 @@ probably should still implement the less general ones as abbreviations to the mo fewer type arguments. -/ +@[expose] public section + namespace TensorProduct namespace AlgebraTensorModule diff --git a/Mathlib/LinearAlgebra/TensorProduct/Vanishing.lean b/Mathlib/LinearAlgebra/TensorProduct/Vanishing.lean index bf781a719a9b11..6fc1cf2a6aec9b 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Vanishing.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Vanishing.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee, Junyan Xu -/ -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.LinearAlgebra.DirectSum.Finsupp +module + +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.LinearAlgebra.DirectSum.Finsupp /-! # Vanishing of elements in a tensor product of two modules @@ -54,6 +56,8 @@ is injective for every submodule $M' \subseteq M$. -/ +@[expose] public section + variable (R : Type*) [CommRing R] variable {M : Type*} [AddCommGroup M] [Module R M] variable {N : Type*} [AddCommGroup N] [Module R N] diff --git a/Mathlib/LinearAlgebra/Trace.lean b/Mathlib/LinearAlgebra/Trace.lean index 944f1bd851e9a2..9c53d3f8c9214a 100644 --- a/Mathlib/LinearAlgebra/Trace.lean +++ b/Mathlib/LinearAlgebra/Trace.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen, Antoine Labelle -/ -import Mathlib.LinearAlgebra.Contraction -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.RingTheory.Finiteness.Prod -import Mathlib.RingTheory.TensorProduct.Finite -import Mathlib.RingTheory.TensorProduct.Free +module + +public import Mathlib.LinearAlgebra.Contraction +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.RingTheory.Finiteness.Prod +public import Mathlib.RingTheory.TensorProduct.Finite +public import Mathlib.RingTheory.TensorProduct.Free /-! # Trace of a linear map @@ -21,6 +23,8 @@ See also `LinearAlgebra/Matrix/Trace.lean` for the trace of a matrix. linear_map, trace, diagonal -/ +@[expose] public section + noncomputable section universe u v w diff --git a/Mathlib/LinearAlgebra/UnitaryGroup.lean b/Mathlib/LinearAlgebra/UnitaryGroup.lean index 24d395ead946ba..db1f2fbabfd8bf 100644 --- a/Mathlib/LinearAlgebra/UnitaryGroup.lean +++ b/Mathlib/LinearAlgebra/UnitaryGroup.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.Algebra.Star.Unitary -import Mathlib.Data.Matrix.Reflection -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +module + +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.Data.Matrix.Reflection +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse /-! # The Unitary Group @@ -38,6 +40,8 @@ matrix group, group, unitary group, orthogonal group -/ +@[expose] public section + universe u v diff --git a/Mathlib/LinearAlgebra/Vandermonde.lean b/Mathlib/LinearAlgebra/Vandermonde.lean index 46e2d99b6795a1..1226b5a83c9967 100644 --- a/Mathlib/LinearAlgebra/Vandermonde.lean +++ b/Mathlib/LinearAlgebra/Vandermonde.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Peter Nelson -/ -import Mathlib.Data.Nat.Factorial.BigOperators -import Mathlib.Data.Nat.Factorial.SuperFactorial -import Mathlib.LinearAlgebra.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.Nondegenerate -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Polynomial.Pochhammer +module + +public import Mathlib.Data.Nat.Factorial.BigOperators +public import Mathlib.Data.Nat.Factorial.SuperFactorial +public import Mathlib.LinearAlgebra.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.Nondegenerate +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Polynomial.Pochhammer /-! # Vandermonde matrix @@ -59,6 +61,8 @@ stating the strictly more general form as `det_projVandermonde`. Characterize when `rectVandermonde v w n` has linearly independent rows. -/ +@[expose] public section + variable {R K : Type*} [CommRing R] [Field K] {n : ℕ} open Equiv Finset diff --git a/Mathlib/Logic/Basic.lean b/Mathlib/Logic/Basic.lean index 6a3d6720b20436..1cf369c03d2fa2 100644 --- a/Mathlib/Logic/Basic.lean +++ b/Mathlib/Logic/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2016 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Tactic.Attr.Register -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Basic -import Batteries.Logic -import Batteries.Tactic.Trans -import Batteries.Util.LibraryNote -import Mathlib.Data.Nat.Notation -import Mathlib.Data.Int.Notation +module + +public import Mathlib.Tactic.Attr.Register +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Basic +public import Batteries.Logic +public import Batteries.Tactic.Trans +public import Batteries.Util.LibraryNote +public import Mathlib.Data.Nat.Notation +public import Mathlib.Data.Int.Notation /-! # Basic logic properties @@ -23,6 +25,8 @@ Theorems that require decidability hypotheses are in the namespace `Decidable`. Classical versions are in the namespace `Classical`. -/ +@[expose] public section + open Function section Miscellany diff --git a/Mathlib/Logic/Denumerable.lean b/Mathlib/Logic/Denumerable.lean index 4dfb346f3accfb..7a48e11cdefa07 100644 --- a/Mathlib/Logic/Denumerable.lean +++ b/Mathlib/Logic/Denumerable.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.List.MinMax -import Mathlib.Data.Nat.Order.Lemmas -import Mathlib.Logic.Encodable.Basic +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.List.MinMax +public import Mathlib.Data.Nat.Order.Lemmas +public import Mathlib.Logic.Encodable.Basic /-! # Denumerable types @@ -21,6 +23,8 @@ This property already has a name, namely `α ≃ ℕ`, but here we are intereste typeclass. -/ +@[expose] public section + assert_not_exists Monoid variable {α β : Type*} @@ -255,7 +259,7 @@ theorem ofNat_range : Set.range (ofNat s) = Set.univ := theorem coe_comp_ofNat_range : Set.range ((↑) ∘ ofNat s : ℕ → ℕ) = s := by rw [Set.range_comp Subtype.val, ofNat_range, Set.image_univ, Subtype.range_coe] -private def toFunAux (x : s) : ℕ := +def toFunAux (x : s) : ℕ := (List.range x).countP (· ∈ s) private theorem toFunAux_eq {s : Set ℕ} [DecidablePred (· ∈ s)] (x : s) : @@ -292,8 +296,9 @@ def denumerable (s : Set ℕ) [DecidablePred (· ∈ s)] [Infinite s] : Denumera Denumerable.ofEquiv ℕ { toFun := toFunAux invFun := ofNat s - left_inv := leftInverse_of_surjective_of_rightInverse ofNat_surjective right_inverse_aux - right_inv := right_inverse_aux } + left_inv := private + leftInverse_of_surjective_of_rightInverse ofNat_surjective right_inverse_aux + right_inv := private right_inverse_aux } end Nat.Subtype diff --git a/Mathlib/Logic/Embedding/Basic.lean b/Mathlib/Logic/Embedding/Basic.lean index 9c67b0e9aa4d25..9d073dc20d5f52 100644 --- a/Mathlib/Logic/Embedding/Basic.lean +++ b/Mathlib/Logic/Embedding/Basic.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Option.Basic -import Mathlib.Data.Prod.Basic -import Mathlib.Data.Prod.PProd -import Mathlib.Logic.Equiv.Basic +module + +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.Prod.Basic +public import Mathlib.Data.Prod.PProd +public import Mathlib.Logic.Equiv.Basic /-! # Injective functions -/ +@[expose] public section + universe u v w x namespace Function diff --git a/Mathlib/Logic/Embedding/Set.lean b/Mathlib/Logic/Embedding/Set.lean index c5f13254a972ec..1eb4b2947b9212 100644 --- a/Mathlib/Logic/Embedding/Set.lean +++ b/Mathlib/Logic/Embedding/Set.lean @@ -3,17 +3,21 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Notation -import Mathlib.Order.SetNotation -import Mathlib.Logic.Embedding.Basic -import Mathlib.Logic.Pairwise -import Mathlib.Data.Set.Image +module + +public import Mathlib.Data.Set.Notation +public import Mathlib.Order.SetNotation +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Logic.Pairwise +public import Mathlib.Data.Set.Image /-! # Interactions between embeddings and sets. -/ +@[expose] public section + assert_not_exists WithTop universe u v w x diff --git a/Mathlib/Logic/Encodable/Basic.lean b/Mathlib/Logic/Encodable/Basic.lean index dfdc8fe607a729..05fc32df6f1a1c 100644 --- a/Mathlib/Logic/Encodable/Basic.lean +++ b/Mathlib/Logic/Encodable/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.Countable.Defs -import Mathlib.Data.Fin.Basic -import Mathlib.Data.Nat.Find -import Mathlib.Data.PNat.Equiv -import Mathlib.Logic.Equiv.Nat -import Mathlib.Order.Directed -import Mathlib.Order.RelIso.Basic +module + +public import Mathlib.Data.Countable.Defs +public import Mathlib.Data.Fin.Basic +public import Mathlib.Data.Nat.Find +public import Mathlib.Data.PNat.Equiv +public import Mathlib.Logic.Equiv.Nat +public import Mathlib.Order.Directed +public import Mathlib.Order.RelIso.Basic /-! # Encodable types @@ -35,6 +37,8 @@ The point of asking for an explicit partial inverse `decode : ℕ → Option α` to make the range of `encode` decidable even when the finiteness of `α` is not. -/ +@[expose] public section + assert_not_exists Monoid open Option List Nat Function @@ -482,7 +486,7 @@ open Encodable variable {p} /-- Constructive choice function for a decidable subtype of an encodable type. -/ -def chooseX (h : ∃ x, p x) : { a : α // p a } := +@[no_expose] def chooseX (h : ∃ x, p x) : { a : α // p a } := have : ∃ n, good p (decode n) := let ⟨w, pw⟩ := h ⟨encode w, by simp [good, encodek, pw]⟩ diff --git a/Mathlib/Logic/Encodable/Lattice.lean b/Mathlib/Logic/Encodable/Lattice.lean index c9a60ce46df7c3..23b7116813a55e 100644 --- a/Mathlib/Logic/Encodable/Lattice.lean +++ b/Mathlib/Logic/Encodable/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Logic.Encodable.Basic -import Mathlib.Logic.Pairwise -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.Logic.Encodable.Basic +public import Mathlib.Logic.Pairwise +public import Mathlib.Data.Set.Subsingleton /-! # Lattice operations on encodable types @@ -19,6 +21,8 @@ This is a separate file, to avoid unnecessary imports in basic files. Previously some of these results were in the `MeasureTheory` folder. -/ +@[expose] public section + open Set namespace Encodable diff --git a/Mathlib/Logic/Encodable/Pi.lean b/Mathlib/Logic/Encodable/Pi.lean index 5cada1241621a3..5ddd2e15cb265d 100644 --- a/Mathlib/Logic/Encodable/Pi.lean +++ b/Mathlib/Logic/Encodable/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Vector.Basic -import Mathlib.Logic.Equiv.Finset +module + +public import Mathlib.Data.Vector.Basic +public import Mathlib.Logic.Equiv.Finset /-! # Encodability of Pi types @@ -17,6 +19,8 @@ This file provides instances of `Encodable` for types of vectors and (dependent) finite domain and countable codomain are encodable -/ +@[expose] public section + open List (Vector) open Nat List diff --git a/Mathlib/Logic/Equiv/Array.lean b/Mathlib/Logic/Equiv/Array.lean index 51c7c80c65eddb..71c1d5ad30de9e 100644 --- a/Mathlib/Logic/Equiv/Array.lean +++ b/Mathlib/Logic/Equiv/Array.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Vector.Basic -import Mathlib.Logic.Equiv.List +module + +public import Mathlib.Data.Vector.Basic +public import Mathlib.Logic.Equiv.List /-! # Equivalences involving `Array` -/ +@[expose] public section + namespace Equiv diff --git a/Mathlib/Logic/Equiv/Basic.lean b/Mathlib/Logic/Equiv/Basic.lean index 42d2e45ab262b1..9fa6f791018d0b 100644 --- a/Mathlib/Logic/Equiv/Basic.lean +++ b/Mathlib/Logic/Equiv/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.Sum.Basic -import Mathlib.Logic.Equiv.Option -import Mathlib.Logic.Equiv.Sum -import Mathlib.Logic.Function.Conjugate -import Mathlib.Tactic.Lift +module + +public import Mathlib.Data.Sum.Basic +public import Mathlib.Logic.Equiv.Option +public import Mathlib.Logic.Equiv.Sum +public import Mathlib.Logic.Function.Conjugate +public import Mathlib.Tactic.Lift /-! # Equivalence between types @@ -24,6 +26,8 @@ E.g., `Mathlib/Algebra/Equiv/TransferInstance.lean` does it for many algebraic t equivalence, congruence, bijective map -/ +@[expose] public section + universe u v w z open Function diff --git a/Mathlib/Logic/Equiv/Defs.lean b/Mathlib/Logic/Equiv/Defs.lean index d5f1e69fdda187..5886fb72e5f877 100644 --- a/Mathlib/Logic/Equiv/Defs.lean +++ b/Mathlib/Logic/Equiv/Defs.lean @@ -3,13 +3,15 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.FunLike.Equiv -import Mathlib.Data.Quot -import Mathlib.Data.Subtype -import Mathlib.Logic.Unique -import Mathlib.Tactic.Conv -import Mathlib.Tactic.Simps.Basic -import Mathlib.Tactic.Substs +module + +public import Mathlib.Data.FunLike.Equiv +public import Mathlib.Data.Quot +public import Mathlib.Data.Subtype +public import Mathlib.Logic.Unique +public import Mathlib.Tactic.Conv +public import Mathlib.Tactic.Simps.Basic +public import Mathlib.Tactic.Substs /-! # Equivalence between types @@ -53,6 +55,8 @@ Many more such isomorphisms and operations are defined in `Mathlib/Logic/Equiv/B equivalence, congruence, bijective map -/ +@[expose] public section + open Function universe u v w z diff --git a/Mathlib/Logic/Equiv/Embedding.lean b/Mathlib/Logic/Equiv/Embedding.lean index 2b0050e224ec62..0567b1ccbfbf6b 100644 --- a/Mathlib/Logic/Equiv/Embedding.lean +++ b/Mathlib/Logic/Equiv/Embedding.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Logic.Embedding.Set +module + +public import Mathlib.Logic.Embedding.Set /-! # Equivalences on embeddings @@ -12,6 +14,8 @@ This file shows some advanced equivalences on embeddings, useful for constructin embeddings from smaller ones. -/ +@[expose] public section + open Function.Embedding diff --git a/Mathlib/Logic/Equiv/Fin/Basic.lean b/Mathlib/Logic/Equiv/Fin/Basic.lean index 8f7a01d1390e69..6c83e1012a6265 100644 --- a/Mathlib/Logic/Equiv/Fin/Basic.lean +++ b/Mathlib/Logic/Equiv/Fin/Basic.lean @@ -3,16 +3,20 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.Logic.Embedding.Set -import Mathlib.Logic.Equiv.Option -import Mathlib.Data.Int.Init -import Batteries.Data.Fin.Lemmas +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Logic.Embedding.Set +public import Mathlib.Logic.Equiv.Option +public import Mathlib.Data.Int.Init +public import Batteries.Data.Fin.Lemmas /-! # Equivalences for `Fin n` -/ +@[expose] public section + assert_not_exists MonoidWithZero universe u diff --git a/Mathlib/Logic/Equiv/Fin/Rotate.lean b/Mathlib/Logic/Equiv/Fin/Rotate.lean index 6327e0b468f1ef..a6e00ed2b597cd 100644 --- a/Mathlib/Logic/Equiv/Fin/Rotate.lean +++ b/Mathlib/Logic/Equiv/Fin/Rotate.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Lawrence Wu -/ -import Mathlib.Algebra.Group.Fin.Basic -import Mathlib.Logic.Equiv.Fin.Basic +module + +public import Mathlib.Algebra.Group.Fin.Basic +public import Mathlib.Logic.Equiv.Fin.Basic /-! # Maximum order cyclic permutations on `Fin n` @@ -13,6 +15,8 @@ various lemmas about it. -/ +@[expose] public section + open Nat variable {n : ℕ} diff --git a/Mathlib/Logic/Equiv/Finset.lean b/Mathlib/Logic/Equiv/Finset.lean index c52e0de207665b..2652f34cec63f7 100644 --- a/Mathlib/Logic/Equiv/Finset.lean +++ b/Mathlib/Logic/Equiv/Finset.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Sort -import Mathlib.Logic.Equiv.Multiset +module + +public import Mathlib.Data.Finset.Sort +public import Mathlib.Logic.Equiv.Multiset /-! # `Encodable` and `Denumerable` instances for `Finset` -/ +@[expose] public section + variable {α} open Encodable diff --git a/Mathlib/Logic/Equiv/Fintype.lean b/Mathlib/Logic/Equiv/Fintype.lean index 4577b5ba90f6c0..50e065bfc6899c 100644 --- a/Mathlib/Logic/Equiv/Fintype.lean +++ b/Mathlib/Logic/Equiv/Fintype.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.Fintype.EquivFin -import Mathlib.Data.Fintype.Inv +module + +public import Mathlib.Data.Fintype.EquivFin +public import Mathlib.Data.Fintype.Inv /-! # Equivalence between fintypes @@ -24,6 +26,8 @@ sides of the equivalence are `Fintype`s. computational performance, since it operates by exhaustive search over the input `Fintype`s. -/ +@[expose] public section + assert_not_exists Equiv.Perm.sign section Fintype diff --git a/Mathlib/Logic/Equiv/Functor.lean b/Mathlib/Logic/Equiv/Functor.lean index 203a282c37bf9c..2cff04d9fc2f36 100644 --- a/Mathlib/Logic/Equiv/Functor.lean +++ b/Mathlib/Logic/Equiv/Functor.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Simon Hudon, Kim Morrison -/ -import Mathlib.Control.Bifunctor -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Control.Bifunctor +public import Mathlib.Logic.Equiv.Defs /-! # Functor and bifunctors can be applied to `Equiv`s. @@ -21,6 +23,8 @@ def Bifunctor.mapEquiv (F : Type u → Type v → Type w) [Bifunctor F] [LawfulB ``` -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Logic/Equiv/List.lean b/Mathlib/Logic/Equiv/List.lean index dac70f4d9a499c..40dce97b7487ff 100644 --- a/Mathlib/Logic/Equiv/List.lean +++ b/Mathlib/Logic/Equiv/List.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Logic.Denumerable +module + +public import Mathlib.Logic.Denumerable /-! # Equivalences involving `List`-like types @@ -12,6 +14,8 @@ This file defines some additional constructive equivalences using `Encodable` an function on `ℕ`. -/ +@[expose] public section + assert_not_exists Monoid Multiset.sort open List diff --git a/Mathlib/Logic/Equiv/Multiset.lean b/Mathlib/Logic/Equiv/Multiset.lean index b17176582f20a9..3e5a3193de92f3 100644 --- a/Mathlib/Logic/Equiv/Multiset.lean +++ b/Mathlib/Logic/Equiv/Multiset.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Multiset.Sort -import Mathlib.Logic.Equiv.List +module + +public import Mathlib.Data.Multiset.Sort +public import Mathlib.Logic.Equiv.List /-! # `Encodable` and `Denumerable` instances for `Multiset` -/ +@[expose] public section + variable {α : Type*} open Encodable diff --git a/Mathlib/Logic/Equiv/Nat.lean b/Mathlib/Logic/Equiv/Nat.lean index e43150e92c5d8c..74868d45a1a01a 100644 --- a/Mathlib/Logic/Equiv/Nat.lean +++ b/Mathlib/Logic/Equiv/Nat.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.Bits -import Mathlib.Data.Nat.Pairing +module + +public import Mathlib.Data.Nat.Bits +public import Mathlib.Data.Nat.Pairing /-! # Equivalences involving `ℕ` @@ -13,6 +15,8 @@ This file defines some additional constructive equivalences using `Encodable` an function on `ℕ`. -/ +@[expose] public section + assert_not_exists Monoid open Nat Function diff --git a/Mathlib/Logic/Equiv/Option.lean b/Mathlib/Logic/Equiv/Option.lean index 25cfa08342f6b2..b40d7bad3b7bbb 100644 --- a/Mathlib/Logic/Equiv/Option.lean +++ b/Mathlib/Logic/Equiv/Option.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Control.EquivFunctor -import Mathlib.Data.Option.Basic -import Mathlib.Data.Subtype -import Mathlib.Logic.Equiv.Defs +module + +public import Mathlib.Control.EquivFunctor +public import Mathlib.Data.Option.Basic +public import Mathlib.Data.Subtype +public import Mathlib.Logic.Equiv.Defs /-! # Equivalences for `Option α` @@ -19,6 +21,8 @@ We define both sides. -/ +@[expose] public section + universe u namespace Equiv diff --git a/Mathlib/Logic/Equiv/Pairwise.lean b/Mathlib/Logic/Equiv/Pairwise.lean index ebf8a8f6c48539..40ca40d5e7347d 100644 --- a/Mathlib/Logic/Equiv/Pairwise.lean +++ b/Mathlib/Logic/Equiv/Pairwise.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Data.FunLike.Equiv -import Mathlib.Logic.Pairwise +module + +public import Mathlib.Data.FunLike.Equiv +public import Mathlib.Logic.Pairwise /-! # Interaction of equivalences with `Pairwise` -/ +@[expose] public section + open scoped Function -- required for scoped `on` notation lemma EmbeddingLike.pairwise_comp {X : Type*} {Y : Type*} {F} [FunLike F Y X] [EmbeddingLike F Y X] diff --git a/Mathlib/Logic/Equiv/PartialEquiv.lean b/Mathlib/Logic/Equiv/PartialEquiv.lean index 7b416aa4a31ac0..f86f4c8370b790 100644 --- a/Mathlib/Logic/Equiv/PartialEquiv.lean +++ b/Mathlib/Logic/Equiv/PartialEquiv.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Set.Piecewise -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Core -import Mathlib.Tactic.Attr.Core +module + +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Core +public import Mathlib.Tactic.Attr.Core /-! # Partial equivalences @@ -66,6 +68,8 @@ If a lemma deals with the intersection of a set with either source or target of then it should use `e.source ∩ s` or `e.target ∩ t`, not `s ∩ e.source` or `t ∩ e.target`. -/ + +@[expose] public section open Lean Meta Elab Tactic /-! Implementation of the `mfld_set_tac` tactic for working with the domains of partially-defined @@ -77,7 +81,7 @@ new file to become functional. /-- Common `@[simps]` configuration options used for manifold-related declarations. -/ @[deprecated "Use `@[simps (attr := mfld_simps) -fullyApplied]` instead" (since := "2025-09-23")] -def mfld_cfg : Simps.Config where +meta def mfld_cfg : Simps.Config where fullyApplied := false namespace Tactic.MfldSetTac diff --git a/Mathlib/Logic/Equiv/Prod.lean b/Mathlib/Logic/Equiv/Prod.lean index 37946e673cf0fe..9d0120a411dd3f 100644 --- a/Mathlib/Logic/Equiv/Prod.lean +++ b/Mathlib/Logic/Equiv/Prod.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Contrapose -import Mathlib.Data.Prod.PProd +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Contrapose +public import Mathlib.Data.Prod.PProd /-! # Equivalence between product types @@ -23,6 +25,8 @@ focusing on product types. equivalence, congruence, bijective map -/ +@[expose] public section + open Function universe u diff --git a/Mathlib/Logic/Equiv/Set.lean b/Mathlib/Logic/Equiv/Set.lean index ba468588d2cb59..ff12609fed036b 100644 --- a/Mathlib/Logic/Equiv/Set.lean +++ b/Mathlib/Logic/Equiv/Set.lean @@ -3,9 +3,11 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.Set.Function -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Says +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Says /-! # Equivalences and sets @@ -22,6 +24,8 @@ This file is separate from `Equiv/Basic` such that we do not require the full la on sets before defining what an equivalence is. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Logic/Equiv/Sum.lean b/Mathlib/Logic/Equiv/Sum.lean index 3196f1e5755d57..54e6558e0a5ed3 100644 --- a/Mathlib/Logic/Equiv/Sum.lean +++ b/Mathlib/Logic/Equiv/Sum.lean @@ -3,10 +3,12 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Mario Carneiro -/ -import Mathlib.Data.Option.Defs -import Mathlib.Data.Sigma.Basic -import Mathlib.Logic.Equiv.Prod -import Mathlib.Tactic.Coe +module + +public import Mathlib.Data.Option.Defs +public import Mathlib.Data.Sigma.Basic +public import Mathlib.Logic.Equiv.Prod +public import Mathlib.Tactic.Coe /-! # Equivalence between sum types @@ -30,6 +32,8 @@ E.g., `Mathlib/Algebra/Equiv/TransferInstance.lean` does it for many algebraic t equivalence, congruence, bijective map -/ +@[expose] public section + universe u v w z open Function diff --git a/Mathlib/Logic/ExistsUnique.lean b/Mathlib/Logic/ExistsUnique.lean index 94b415b6d0f6fc..ed9a74c9c94021 100644 --- a/Mathlib/Logic/ExistsUnique.lean +++ b/Mathlib/Logic/ExistsUnique.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Floris van Doorn -/ -import Mathlib.Tactic.TypeStar -import Batteries.Tactic.Alias +module + +public import Mathlib.Tactic.TypeStar +public import Batteries.Tactic.Alias /-! # `ExistsUnique` @@ -13,6 +15,8 @@ This file defines the `ExistsUnique` predicate, notated as `∃!`, and proves so basic properties. -/ +@[expose] public section + variable {α : Sort*} /-- For `p : α → Prop`, `ExistsUnique p` means that there exists a unique `x : α` with `p x`. -/ @@ -22,7 +26,7 @@ namespace Mathlib.Notation open Lean /-- Checks to see that `xs` has only one binder. -/ -def isExplicitBinderSingular (xs : TSyntax ``explicitBinders) : Bool := +meta def isExplicitBinderSingular (xs : TSyntax ``explicitBinders) : Bool := match xs with | `(explicitBinders| $_:binderIdent $[: $_]?) => true | `(explicitBinders| ($_:binderIdent : $_)) => true @@ -52,7 +56,7 @@ macro "∃!" xs:explicitBinders ", " b:term : term => do Pretty-printing for `ExistsUnique`, following the same pattern as pretty printing for `Exists`. However, it does *not* merge binders. -/ -@[app_unexpander ExistsUnique] def unexpandExistsUnique : Lean.PrettyPrinter.Unexpander +@[app_unexpander ExistsUnique] meta def unexpandExistsUnique : Lean.PrettyPrinter.Unexpander | `($(_) fun $x:ident ↦ $b) => `(∃! $x:ident, $b) | `($(_) fun ($x:ident : $t) ↦ $b) => `(∃! $x:ident : $t, $b) | _ => throw () diff --git a/Mathlib/Logic/Function/Basic.lean b/Mathlib/Logic/Function/Basic.lean index c2d2e3e8f1e9c0..a0b764d0391683 100644 --- a/Mathlib/Logic/Function/Basic.lean +++ b/Mathlib/Logic/Function/Basic.lean @@ -3,19 +3,23 @@ Copyright (c) 2016 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Defs -import Mathlib.Logic.Basic -import Mathlib.Logic.Function.Defs -import Mathlib.Logic.ExistsUnique -import Mathlib.Logic.Nonempty -import Mathlib.Logic.Nontrivial.Defs -import Batteries.Tactic.Init -import Mathlib.Order.Defs.Unbundled +module + +public import Mathlib.Data.Set.Defs +public import Mathlib.Logic.Basic +public import Mathlib.Logic.Function.Defs +public import Mathlib.Logic.ExistsUnique +public import Mathlib.Logic.Nonempty +public import Mathlib.Logic.Nontrivial.Defs +public import Batteries.Tactic.Init +public import Mathlib.Order.Defs.Unbundled /-! # Miscellaneous function constructions and lemmas -/ +@[expose] public section + open Function universe u v w x diff --git a/Mathlib/Logic/Function/Coequalizer.lean b/Mathlib/Logic/Function/Coequalizer.lean index 0747e17ded4ba8..59f3cbf5d68993 100644 --- a/Mathlib/Logic/Function/Coequalizer.lean +++ b/Mathlib/Logic/Function/Coequalizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.Lemma +module + +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.Lemma /-! # Coequalizer of a pair of functions @@ -16,6 +18,8 @@ with `u ∘ f = u ∘ g` factors uniquely via `p`. In this file we define the coequalizer and provide the basic API. -/ +@[expose] public section + universe v namespace Function diff --git a/Mathlib/Logic/Function/CompTypeclasses.lean b/Mathlib/Logic/Function/CompTypeclasses.lean index be17989d826fd9..5e90625f28fdc6 100644 --- a/Mathlib/Logic/Function/CompTypeclasses.lean +++ b/Mathlib/Logic/Function/CompTypeclasses.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.Lemma +module + +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.Lemma /-! # Propositional typeclasses on several maps @@ -21,6 +23,8 @@ TODO : -/ +@[expose] public section + section CompTriple /-- Class of composing triples -/ diff --git a/Mathlib/Logic/Function/Conjugate.lean b/Mathlib/Logic/Function/Conjugate.lean index 69098eb142cbfc..14029c1b2b1306 100644 --- a/Mathlib/Logic/Function/Conjugate.lean +++ b/Mathlib/Logic/Function/Conjugate.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Logic.Function.Basic +module + +public import Mathlib.Logic.Function.Basic /-! # Semiconjugate and commuting maps @@ -17,6 +19,8 @@ We define the following predicates: or equivalently `Semiconj f g g`. -/ +@[expose] public section + namespace Function variable {α : Type*} {β : Type*} {γ : Type*} diff --git a/Mathlib/Logic/Function/Defs.lean b/Mathlib/Logic/Function/Defs.lean index 7fa919bb9f5358..b0ed8482b30998 100644 --- a/Mathlib/Logic/Function/Defs.lean +++ b/Mathlib/Logic/Function/Defs.lean @@ -3,16 +3,20 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Haitao Zhang -/ -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Attr.Register -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Eqns -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Attr.Register +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.Eqns +public import Mathlib.Tactic.TypeStar /-! # General operations on functions -/ +@[expose] public section + universe u₁ u₂ u₃ u₄ u₅ namespace Function diff --git a/Mathlib/Logic/Function/DependsOn.lean b/Mathlib/Logic/Function/DependsOn.lean index 584f36275dffa6..bfe4b672e22756 100644 --- a/Mathlib/Logic/Function/DependsOn.lean +++ b/Mathlib/Logic/Function/DependsOn.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Data.Set.Restrict +module + +public import Mathlib.Data.Set.Restrict /-! # Functions depending only on some variables @@ -46,6 +48,8 @@ with `DependsOn` because writing mathematically "independent of variables in `s` depends on -/ +@[expose] public section + open Function Set variable {ι : Type*} {α : ι → Type*} {β : Type*} diff --git a/Mathlib/Logic/Function/FiberPartition.lean b/Mathlib/Logic/Function/FiberPartition.lean index 98ae048056e254..e52d0455afe115 100644 --- a/Mathlib/Logic/Function/FiberPartition.lean +++ b/Mathlib/Logic/Function/FiberPartition.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Data.Set.Insert +module + +public import Mathlib.Data.Set.Insert /-! This file defines the type `f.Fiber` of fibers of a function `f : Y → Z`, and provides some API @@ -15,6 +17,8 @@ set, and the forgetful functor from the category of condensed sets to the catego (see PR https://github.com/leanprover-community/mathlib4/pull/14027). -/ +@[expose] public section + assert_not_exists RelIso variable {X Y Z : Type*} diff --git a/Mathlib/Logic/Function/FromTypes.lean b/Mathlib/Logic/Function/FromTypes.lean index 3c44aa068ea8bb..ade3a6089b05d2 100644 --- a/Mathlib/Logic/Function/FromTypes.lean +++ b/Mathlib/Logic/Function/FromTypes.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Brendan Murphy. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Brendan Murphy -/ +module -import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Fin.VecNotation /-! # Function types of a given heterogeneous arity @@ -16,6 +17,8 @@ Note that it is often preferable to use `((i : Fin n) → p i) → τ` in place * `Function.FromTypes p τ`: `n`-ary function `p 0 → p 1 → ... → p (n - 1) → β`. -/ +@[expose] public section + universe u namespace Function diff --git a/Mathlib/Logic/Function/Iterate.lean b/Mathlib/Logic/Function/Iterate.lean index efa8276e4112de..fe86c9dc864a8e 100644 --- a/Mathlib/Logic/Function/Iterate.lean +++ b/Mathlib/Logic/Function/Iterate.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Logic.Function.Conjugate +module + +public import Mathlib.Logic.Function.Conjugate /-! # Iterations of a function @@ -27,6 +29,8 @@ In this file we prove simple properties of `Nat.iterate f n` a.k.a. `f^[n]`: -/ +@[expose] public section + universe u v diff --git a/Mathlib/Logic/Function/OfArity.lean b/Mathlib/Logic/Function/OfArity.lean index c94299823f3a8e..380549f27498cd 100644 --- a/Mathlib/Logic/Function/OfArity.lean +++ b/Mathlib/Logic/Function/OfArity.lean @@ -3,8 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ +module -import Mathlib.Logic.Function.FromTypes +public import Mathlib.Logic.Function.FromTypes /-! # Function types of a given arity @@ -17,6 +18,8 @@ Note that it is often preferable to use `(Fin n → α) → β` in place of `OfA * `Function.OfArity.const α b n`: `n`-ary constant function equal to `b`. -/ +@[expose] public section + universe u namespace Function diff --git a/Mathlib/Logic/Function/ULift.lean b/Mathlib/Logic/Function/ULift.lean index a2d124bc67550d..5a372787951325 100644 --- a/Mathlib/Logic/Function/ULift.lean +++ b/Mathlib/Logic/Function/ULift.lean @@ -3,12 +3,16 @@ Copyright (c) 2016 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Tactic.TypeStar /-! # `ULift` and `PLift` -/ +@[expose] public section + theorem ULift.down_injective {α : Type*} : Function.Injective (@ULift.down α) | ⟨a⟩, ⟨b⟩, _ => by congr diff --git a/Mathlib/Logic/Godel/GodelBetaFunction.lean b/Mathlib/Logic/Godel/GodelBetaFunction.lean index 5ddd7c200840a6..23909e9b7cba80 100644 --- a/Mathlib/Logic/Godel/GodelBetaFunction.lean +++ b/Mathlib/Logic/Godel/GodelBetaFunction.lean @@ -3,15 +3,16 @@ Copyright (c) 2023 Shogo Saito. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shogo Saito. Adapted for mathlib by Hunter Monroe -/ +module -import Mathlib.Data.Nat.ModEq -import Mathlib.Data.Nat.ChineseRemainder -import Mathlib.Data.Nat.Prime.Defs -import Mathlib.Data.Nat.Pairing -import Mathlib.Order.Fin.Basic -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Data.Nat.ChineseRemainder +public import Mathlib.Data.Nat.Prime.Defs +public import Mathlib.Data.Nat.Pairing +public import Mathlib.Order.Fin.Basic +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Nat.Factorial.Basic /-! # Gödel's Beta Function Lemma @@ -44,6 +45,8 @@ and other key results from the repository https://github.com/iehality/lean4-logi Gödel, beta function -/ +@[expose] public section + namespace Nat lemma coprime_mul_succ {n m a} (ha : m - n ∣ a) : Coprime (n * a + 1) (m * a + 1) := diff --git a/Mathlib/Logic/Hydra.lean b/Mathlib/Logic/Hydra.lean index af39cb0207f1b1..78a9d00324c329 100644 --- a/Mathlib/Logic/Hydra.lean +++ b/Mathlib/Logic/Hydra.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Data.Finsupp.Lex -import Mathlib.Data.Finsupp.Multiset -import Mathlib.Order.GameAdd +module + +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.Order.GameAdd /-! # Termination of a hydra game @@ -30,6 +32,8 @@ TODO: formalize the relations corresponding to more powerful (e.g. Kirby–Paris hydras, and prove their well-foundedness. -/ +@[expose] public section + namespace Relation diff --git a/Mathlib/Logic/IsEmpty.lean b/Mathlib/Logic/IsEmpty.lean index f8cff0c00a5a33..413f1f708c13af 100644 --- a/Mathlib/Logic/IsEmpty.lean +++ b/Mathlib/Logic/IsEmpty.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Logic.Function.Basic -import Mathlib.Logic.Relator +module + +public import Mathlib.Logic.Function.Basic +public import Mathlib.Logic.Relator /-! # Types that are empty @@ -16,6 +18,8 @@ In this file we define a typeclass `IsEmpty`, which expresses that a type has no * `IsEmpty`: a typeclass that expresses that a type is empty. -/ +@[expose] public section + variable {α β γ : Sort*} /-- `IsEmpty α` expresses that `α` is empty. -/ diff --git a/Mathlib/Logic/Lemmas.lean b/Mathlib/Logic/Lemmas.lean index 3e92a9dc21060f..6d342f041859d9 100644 --- a/Mathlib/Logic/Lemmas.lean +++ b/Mathlib/Logic/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Logic.Basic -import Mathlib.Tactic.Convert -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.Tauto +module + +public import Mathlib.Logic.Basic +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.Tauto /-! # More basic logic properties @@ -18,6 +20,8 @@ We spell those lemmas out with `dite` and `ite` rather than the `if then else` n would result in less delta-reduced statements. -/ +@[expose] public section + theorem iff_assoc {a b c : Prop} : ((a ↔ b) ↔ c) ↔ (a ↔ (b ↔ c)) := by tauto theorem iff_left_comm {a b c : Prop} : (a ↔ (b ↔ c)) ↔ (b ↔ (a ↔ c)) := by tauto theorem iff_right_comm {a b c : Prop} : ((a ↔ b) ↔ c) ↔ ((a ↔ c) ↔ b) := by tauto diff --git a/Mathlib/Logic/Nonempty.lean b/Mathlib/Logic/Nonempty.lean index f708e1d549c4db..85e3e5bf98a2dc 100644 --- a/Mathlib/Logic/Nonempty.lean +++ b/Mathlib/Logic/Nonempty.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Tactic.TypeStar /-! # Nonempty types @@ -16,6 +18,8 @@ This file proves a few extra facts about `Nonempty`, which is defined in core Le instance. -/ +@[expose] public section + section variable {α β : Sort*} diff --git a/Mathlib/Logic/Nontrivial/Basic.lean b/Mathlib/Logic/Nontrivial/Basic.lean index 797f06f5730b86..bf5c45e7c07534 100644 --- a/Mathlib/Logic/Nontrivial/Basic.lean +++ b/Mathlib/Logic/Nontrivial/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Prod.Basic -import Mathlib.Logic.Function.Basic -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Logic.Unique -import Mathlib.Order.Defs.LinearOrder -import Mathlib.Tactic.Attr.Register +module + +public import Mathlib.Data.Prod.Basic +public import Mathlib.Logic.Function.Basic +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Logic.Unique +public import Mathlib.Order.Defs.LinearOrder +public import Mathlib.Tactic.Attr.Register /-! # Nontrivial types @@ -16,6 +18,8 @@ import Mathlib.Tactic.Attr.Register Results about `Nontrivial`. -/ +@[expose] public section + variable {α : Type*} {β : Type*} -- `x` and `y` are explicit here, as they are often needed to guide typechecking of `h`. diff --git a/Mathlib/Logic/Nontrivial/Defs.lean b/Mathlib/Logic/Nontrivial/Defs.lean index 6d307aefd079e9..c61a62786fe6e0 100644 --- a/Mathlib/Logic/Nontrivial/Defs.lean +++ b/Mathlib/Logic/Nontrivial/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Push.Attr +module + +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.Push.Attr /-! # Nontrivial types @@ -19,6 +21,8 @@ We introduce a typeclass `Nontrivial` formalizing this property. Basic results about nontrivial types are in `Mathlib/Logic/Nontrivial/Basic.lean`. -/ +@[expose] public section + variable {α : Type*} {β : Type*} /-- Predicate typeclass for expressing that a type is not reduced to a single element. In rings, diff --git a/Mathlib/Logic/OpClass.lean b/Mathlib/Logic/OpClass.lean index 6427c0f5877841..e9a39d62604967 100644 --- a/Mathlib/Logic/OpClass.lean +++ b/Mathlib/Logic/OpClass.lean @@ -3,8 +3,9 @@ Copyright (c) 2014 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +module -import Mathlib.Init +public import Mathlib.Init /-! # Typeclasses for commuting heterogeneous operations @@ -20,6 +21,8 @@ They express the property that permuting arguments of type `α` does not change * `RightCommutative`: for `op : β → α → β`, `op (op b a₁) a₂ = op (op b a₂) a₁`. -/ +@[expose] public section + universe u v variable {α : Sort u} {β : Sort v} diff --git a/Mathlib/Logic/Pairwise.lean b/Mathlib/Logic/Pairwise.lean index c454a975993411..bcfad761d8b65f 100644 --- a/Mathlib/Logic/Pairwise.lean +++ b/Mathlib/Logic/Pairwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Function.Basic -import Mathlib.Data.Set.Defs +module + +public import Mathlib.Logic.Function.Basic +public import Mathlib.Data.Set.Defs /-! # Relations holding pairwise @@ -17,6 +19,8 @@ This file defines pairwise relations. * `Set.Pairwise`: `s.Pairwise r` states that `r i j` for all `i ≠ j` with `i, j ∈ s`. -/ +@[expose] public section + open Function variable {α β ι : Type*} {r p : α → α → Prop} diff --git a/Mathlib/Logic/Relation.lean b/Mathlib/Logic/Relation.lean index 1785462bd1804c..b03b922c21efb6 100644 --- a/Mathlib/Logic/Relation.lean +++ b/Mathlib/Logic/Relation.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Relator -import Mathlib.Tactic.Use -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.SimpRw -import Mathlib.Logic.Basic -import Mathlib.Order.Defs.Unbundled +module + +public import Mathlib.Logic.Relator +public import Mathlib.Tactic.Use +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.SimpRw +public import Mathlib.Logic.Basic +public import Mathlib.Order.Defs.Unbundled /-! # Relation closures @@ -43,6 +45,8 @@ the bundled version, see `Rel`. terms of rewriting systems, this means that `a` and `b` can be rewritten to the same term. -/ +@[expose] public section + open Function diff --git a/Mathlib/Logic/Relator.lean b/Mathlib/Logic/Relator.lean index a523e5539075c2..200f40d6c0180f 100644 --- a/Mathlib/Logic/Relator.lean +++ b/Mathlib/Logic/Relator.lean @@ -3,13 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ +module -import Mathlib.Logic.Function.Defs +public import Mathlib.Logic.Function.Defs /-! # Relator for functions, pairs, sums, and lists. -/ +@[expose] public section + namespace Relator universe u₁ u₂ v₁ v₂ diff --git a/Mathlib/Logic/Small/Basic.lean b/Mathlib/Logic/Small/Basic.lean index fcd05e7af4f8d0..9225af576a3187 100644 --- a/Mathlib/Logic/Small/Basic.lean +++ b/Mathlib/Logic/Small/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Small.Defs -import Mathlib.Logic.Equiv.Set +module + +public import Mathlib.Logic.Small.Defs +public import Mathlib.Logic.Equiv.Set /-! # Instances and theorems for `Small`. @@ -12,6 +14,8 @@ import Mathlib.Logic.Equiv.Set In particular we prove `small_of_injective` and `small_of_surjective`. -/ +@[expose] public section + assert_not_exists Countable universe u w v v' diff --git a/Mathlib/Logic/Small/Defs.lean b/Mathlib/Logic/Small/Defs.lean index fcfc54fcefb6b5..52f0d6d1a95bcc 100644 --- a/Mathlib/Logic/Small/Defs.lean +++ b/Mathlib/Logic/Small/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.PPWithUniv +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.PPWithUniv /-! # Small types @@ -21,6 +23,8 @@ If `α ≃ β`, then `Small.{w} α ↔ Small.{w} β`. See `Mathlib/Logic/Small/Basic.lean` for further instances and theorems. -/ +@[expose] public section + universe u w v v' /-- A type is `Small.{w}` if there exists an equivalence to some `S : Type w`. diff --git a/Mathlib/Logic/Small/List.lean b/Mathlib/Logic/Small/List.lean index 90319f8e5672c6..ff74091005eabf 100644 --- a/Mathlib/Logic/Small/List.lean +++ b/Mathlib/Logic/Small/List.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Small.Basic -import Mathlib.Data.Vector.Basic +module + +public import Mathlib.Logic.Small.Basic +public import Mathlib.Data.Vector.Basic /-! # Instances for `Small (List α)` and `Small (Vector α)`. @@ -13,6 +15,8 @@ These must not be in `Logic.Small.Basic` as this is very low in the import hiera and is used by category theory files which do not need everything imported by `Data.Vector.Basic`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Logic/Small/Set.lean b/Mathlib/Logic/Small/Set.lean index 70ed7677a6b5b8..c90a33641233ce 100644 --- a/Mathlib/Logic/Small/Set.lean +++ b/Mathlib/Logic/Small/Set.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Timothy Carlin-Burns -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Logic.Small.Basic +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Logic.Small.Basic /-! # Results about `Small` on coerced sets -/ +@[expose] public section + universe u u1 u2 u3 u4 variable {α : Type u1} {β : Type u2} {γ : Type u3} {ι : Type u4} diff --git a/Mathlib/Logic/Unique.lean b/Mathlib/Logic/Unique.lean index 668a7b7c5810d3..eb0130eeade584 100644 --- a/Mathlib/Logic/Unique.lean +++ b/Mathlib/Logic/Unique.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Logic.IsEmpty -import Mathlib.Tactic.Inhabit -import Mathlib.Tactic.Push.Attr +module + +public import Mathlib.Logic.IsEmpty +public import Mathlib.Tactic.Inhabit +public import Mathlib.Tactic.Push.Attr /-! # Types with a unique term @@ -40,6 +42,8 @@ for good definitional properties of the default term. -/ +@[expose] public section + universe u v w -- Don't generate injectivity lemmas, which the `simpNF` linter will complain about. diff --git a/Mathlib/Logic/UnivLE.lean b/Mathlib/Logic/UnivLE.lean index 81cf2fbd794432..06e0ea943e6ca4 100644 --- a/Mathlib/Logic/UnivLE.lean +++ b/Mathlib/Logic/UnivLE.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Logic.Small.Defs +module + +public import Mathlib.Logic.Small.Defs /-! # UnivLE @@ -17,6 +19,8 @@ directly due to https://github.com/leanprover/lean4/issues/2297. See the doc-string for the comparison with an alternative stronger definition. -/ +@[expose] public section + universe u v w noncomputable section diff --git a/Mathlib/MeasureTheory/Category/MeasCat.lean b/Mathlib/MeasureTheory/Category/MeasCat.lean index b910c45ebd1b53..73b36b8719d2e7 100644 --- a/Mathlib/MeasureTheory/Category/MeasCat.lean +++ b/Mathlib/MeasureTheory/Category/MeasCat.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.MeasureTheory.Measure.GiryMonad -import Mathlib.CategoryTheory.Monad.Algebra -import Mathlib.Topology.Category.TopCat.Basic +module + +public import Mathlib.MeasureTheory.Measure.GiryMonad +public import Mathlib.CategoryTheory.Monad.Algebra +public import Mathlib.Topology.Category.TopCat.Basic /-! # The category of measurable spaces @@ -25,6 +27,8 @@ Measurable spaces and measurable functions form a (concrete) category `MeasCat`. measurable space, giry monad, borel -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Constructions/AddChar.lean b/Mathlib/MeasureTheory/Constructions/AddChar.lean index 4d2852beabfe1e..f7d7ecbfe0f8af 100644 --- a/Mathlib/MeasureTheory/Constructions/AddChar.lean +++ b/Mathlib/MeasureTheory/Constructions/AddChar.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.AddChar -import Mathlib.MeasureTheory.MeasurableSpace.Defs +module + +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.MeasureTheory.MeasurableSpace.Defs /-! # Measurable space instance for additive characters @@ -17,6 +19,8 @@ discrete measurable space. Give the definition in the correct generality. -/ +@[expose] public section + namespace AddChar variable {A M : Type*} [AddMonoid A] [Monoid M] [MeasurableSpace A] [MeasurableSpace M] diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean index 1b4cebb01be447..cfaf4a86e1bd35 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Group.Arithmetic -import Mathlib.Topology.GDelta.MetrizableSpace -import Mathlib.Topology.Instances.EReal.Lemmas -import Mathlib.Topology.Instances.Rat +module + +public import Mathlib.MeasureTheory.Group.Arithmetic +public import Mathlib.Topology.GDelta.MetrizableSpace +public import Mathlib.Topology.Instances.EReal.Lemmas +public import Mathlib.Topology.Instances.Rat /-! # Borel (measurable) space @@ -32,6 +34,8 @@ import Mathlib.Topology.Instances.Rat * `AEMeasurable.add` : similar dot notation for almost everywhere measurable functions; -/ +@[expose] public section + noncomputable section @@ -126,7 +130,7 @@ Finally, `borelize α β γ` runs `borelize α; borelize β; borelize γ`. syntax "borelize" (ppSpace colGt term:max)* : tactic /-- Add instances `borel e : MeasurableSpace e` and `⟨rfl⟩ : BorelSpace e`. -/ -def addBorelInstance (e : Expr) : TacticM Unit := do +meta def addBorelInstance (e : Expr) : TacticM Unit := do let t ← Lean.Elab.Term.exprToSyntax e evalTactic <| ← `(tactic| refine_lift @@ -136,7 +140,7 @@ def addBorelInstance (e : Expr) : TacticM Unit := do /-- Given a type `e`, an assumption `i : MeasurableSpace e`, and an instance `[BorelSpace e]`, replace `i` with `borel e`. -/ -def borelToRefl (e : Expr) (i : FVarId) : TacticM Unit := do +meta def borelToRefl (e : Expr) (i : FVarId) : TacticM Unit := do let te ← Lean.Elab.Term.exprToSyntax e evalTactic <| ← `(tactic| have := @BorelSpace.measurable_eq $te _ _ _) @@ -157,7 +161,7 @@ def borelToRefl (e : Expr) (i : FVarId) : TacticM Unit := do /-- Given a type `$t`, if there is an assumption `[i : MeasurableSpace $t]`, then try to prove `[BorelSpace $t]` and replace `i` with `borel $t`. Otherwise, add instances `borel $t : MeasurableSpace $t` and `⟨rfl⟩ : BorelSpace $t`. -/ -def borelize (t : Term) : TacticM Unit := withMainContext <| do +meta def borelize (t : Term) : TacticM Unit := withMainContext <| do let u ← mkFreshLevelMVar let e ← withoutRecover <| Tactic.elabTermEnsuringType t (mkSort (mkLevelSucc u)) let i? ← findLocalDeclWithType? (← mkAppOptM ``MeasurableSpace #[e]) diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Complex.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Complex.lean index 89c578de4558a5..7674854db207f9 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Complex.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Complex.lean @@ -3,11 +3,15 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Equip `ℂ` with the Borel sigma-algebra -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean index 2e52a5ffe2e44c..c5dbf844070156 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Analysis.Normed.Operator.Bilinear -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Analysis.Normed.Operator.Bilinear +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # Measurable functions in normed spaces -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean index 25cac428d3629b..08645ac68ff6c2 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.Topology.MetricSpace.Thickening +module + +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.Topology.MetricSpace.Thickening /-! # Borel sigma algebras on (pseudo-)metric spaces @@ -23,6 +25,8 @@ import Mathlib.Topology.MetricSpace.Thickening -/ +@[expose] public section + open Set Filter MeasureTheory MeasurableSpace TopologicalSpace open scoped Topology NNReal ENNReal MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean index 0bbac77a706d2b..7eda5c402e48bb 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric -import Mathlib.MeasureTheory.Constructions.BorelSpace.Real -import Mathlib.Topology.Metrizable.Real -import Mathlib.Topology.IndicatorConstPointwise +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Real +public import Mathlib.Topology.Metrizable.Real +public import Mathlib.Topology.IndicatorConstPointwise /-! # Measurable functions in (pseudo-)metrizable Borel spaces -/ +@[expose] public section + open Filter MeasureTheory TopologicalSpace Topology NNReal ENNReal MeasureTheory variable {α β : Type*} [MeasurableSpace α] diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean index 1f6bf06641bc92..e974df63fab957 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Kexing Ying -/ -import Mathlib.Topology.Semicontinuous -import Mathlib.MeasureTheory.Function.AEMeasurableSequence -import Mathlib.MeasureTheory.Order.Lattice -import Mathlib.Topology.Order.Lattice -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.Topology.Semicontinuous +public import Mathlib.MeasureTheory.Function.AEMeasurableSequence +public import Mathlib.MeasureTheory.Order.Lattice +public import Mathlib.Topology.Order.Lattice +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Borel sigma algebras on spaces with orders @@ -36,6 +38,8 @@ import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -/ +@[expose] public section + open Set Filter MeasureTheory MeasurableSpace TopologicalSpace open scoped Topology NNReal ENNReal MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean index cbe68f1e6ef3c6..ad54824b318468 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order -import Mathlib.MeasureTheory.MeasurableSpace.Prod -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.Topology.Instances.Real.Lemmas +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +public import Mathlib.MeasureTheory.MeasurableSpace.Prod +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.Topology.Instances.Real.Lemmas /-! # Borel (measurable) spaces ℝ, ℝ≥0, ℝ≥0∞ @@ -27,6 +29,8 @@ import Mathlib.Topology.Instances.Real.Lemmas * `Measurable.ennreal*` : measurability of special cases for arithmetic operations on `ℝ≥0∞`. -/ +@[expose] public section + open Set Filter MeasureTheory MeasurableSpace open scoped Topology NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Constructions/BorelSpace/WithTop.lean b/Mathlib/MeasureTheory/Constructions/BorelSpace/WithTop.lean index 37336f36ddbfd2..9a13abed88439e 100644 --- a/Mathlib/MeasureTheory/Constructions/BorelSpace/WithTop.lean +++ b/Mathlib/MeasureTheory/Constructions/BorelSpace/WithTop.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.Topology.Order.WithTop +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.Topology.Order.WithTop /-! # Borel measurable space on `WithTop` @@ -23,6 +25,8 @@ We then prove that the natural inclusion `ι → WithTop ι` is measurable, and -/ +@[expose] public section + namespace WithTop diff --git a/Mathlib/MeasureTheory/Constructions/ClosedCompactCylinders.lean b/Mathlib/MeasureTheory/Constructions/ClosedCompactCylinders.lean index 6c458d555d3355..2321bf6e04aa32 100644 --- a/Mathlib/MeasureTheory/Constructions/ClosedCompactCylinders.lean +++ b/Mathlib/MeasureTheory/Constructions/ClosedCompactCylinders.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Constructions.Cylinders +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Constructions.Cylinders /-! # Cylinders with closed compact bases @@ -23,6 +25,8 @@ proof of Kolmogorov's extension theorem. -/ +@[expose] public section + open Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/Cylinders.lean b/Mathlib/MeasureTheory/Constructions/Cylinders.lean index 7353cd41bfa54c..c66445579d6a67 100644 --- a/Mathlib/MeasureTheory/Constructions/Cylinders.lean +++ b/Mathlib/MeasureTheory/Constructions/Cylinders.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber, Yaël Dillies, Kin Yau James Wong -/ -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.MeasureTheory.PiSystem -import Mathlib.Topology.Constructions +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.MeasureTheory.PiSystem +public import Mathlib.Topology.Constructions /-! # π-systems of cylinders and square cylinders @@ -40,6 +42,8 @@ a product set. -/ +@[expose] public section + open Function Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean b/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean index a036821482b440..b3101801bef0fe 100644 --- a/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean +++ b/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Field.Pointwise -import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +module + +public import Mathlib.Algebra.Order.Field.Pointwise +public import Mathlib.Analysis.Normed.Module.Ball.RadialEquiv +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar /-! # Generalized polar coordinate change @@ -24,6 +26,8 @@ One can think about this fact as a version of polar coordinate change formula for a general nontrivial normed space. -/ +@[expose] public section + open Set Function Metric MeasurableSpace intervalIntegral open scoped Pointwise ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Constructions/Pi.lean b/Mathlib/MeasureTheory/Constructions/Pi.lean index a7fe3cacf0626c..ad97695c540a9c 100644 --- a/Mathlib/MeasureTheory/Constructions/Pi.lean +++ b/Mathlib/MeasureTheory/Constructions/Pi.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Logic.Encodable.Pi -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.MeasureTheory.MeasurableSpace.Pi -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Topology.Constructions +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Logic.Encodable.Pi +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.MeasureTheory.MeasurableSpace.Pi +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Topology.Constructions /-! # Indexed product measures @@ -52,6 +54,8 @@ finitary product measure -/ +@[expose] public section + noncomputable section open Function Set MeasureTheory.OuterMeasure Filter MeasurableSpace Encodable diff --git a/Mathlib/MeasureTheory/Constructions/Polish/Basic.lean b/Mathlib/MeasureTheory/Constructions/Polish/Basic.lean index 282c3c8ad5f204..a2c5535a398d89 100644 --- a/Mathlib/MeasureTheory/Constructions/Polish/Basic.lean +++ b/Mathlib/MeasureTheory/Constructions/Polish/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Felix Weilacher -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order -import Mathlib.Topology.MetricSpace.Perfect -import Mathlib.Topology.Separation.CountableSeparatingOn +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +public import Mathlib.Topology.MetricSpace.Perfect +public import Mathlib.Topology.Separation.CountableSeparatingOn /-! # The Borel sigma-algebra on Polish spaces @@ -59,6 +61,8 @@ We use this to prove several versions of the Borel isomorphism theorem. are Borel isomorphic. -/ +@[expose] public section + open Set Function PolishSpace PiNat TopologicalSpace Bornology Metric Filter Topology MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean b/Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean index f18dc804371eac..ad67393a879f95 100644 --- a/Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean +++ b/Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.Real.Cardinality -import Mathlib.MeasureTheory.Constructions.Polish.Basic +module + +public import Mathlib.Analysis.Real.Cardinality +public import Mathlib.MeasureTheory.Constructions.Polish.Basic /-! # A Polish Borel space is measurably equivalent to a set of reals -/ +@[expose] public section + open Set Function PolishSpace PiNat TopologicalSpace Bornology Metric Filter Topology MeasureTheory namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean b/Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean index 87224af46c33d8..8498c76992394b 100644 --- a/Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean +++ b/Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Constructions.Polish.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +module + +public import Mathlib.MeasureTheory.Constructions.Polish.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Results about strongly measurable functions @@ -19,6 +21,8 @@ can be extended to strongly measurable functions without assuming separability o The purpose of this file is to collect those results. -/ +@[expose] public section + open Filter MeasureTheory Set TopologicalSpace open scoped Topology diff --git a/Mathlib/MeasureTheory/Constructions/Projective.lean b/Mathlib/MeasureTheory/Constructions/Projective.lean index b6914e760103e3..8c5d3d95e2a45e 100644 --- a/Mathlib/MeasureTheory/Constructions/Projective.lean +++ b/Mathlib/MeasureTheory/Constructions/Projective.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.MeasureTheory.Constructions.Cylinders -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +module + +public import Mathlib.MeasureTheory.Constructions.Cylinders +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability /-! # Projective measure families and projective limits @@ -29,6 +31,8 @@ the projection from `∀ i, α i` to `∀ i : I, α i` maps `μ` to `P I`. -/ +@[expose] public section + open Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean b/Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean index d198a0f5f15ae4..9b27f1ed13d1b8 100644 --- a/Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean +++ b/Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.MeasureTheory.Constructions.Projective -import Mathlib.MeasureTheory.Measure.AddContent -import Mathlib.MeasureTheory.SetAlgebra +module + +public import Mathlib.MeasureTheory.Constructions.Projective +public import Mathlib.MeasureTheory.Measure.AddContent +public import Mathlib.MeasureTheory.SetAlgebra /-! # Additive content built from a projective family of measures @@ -32,6 +34,8 @@ the Kolmogorov extension theorem. -/ +@[expose] public section + open Finset diff --git a/Mathlib/MeasureTheory/Constructions/SubmoduleQuotient.lean b/Mathlib/MeasureTheory/Constructions/SubmoduleQuotient.lean index 759f561db89aa0..915c10fbbdc231 100644 --- a/Mathlib/MeasureTheory/Constructions/SubmoduleQuotient.lean +++ b/Mathlib/MeasureTheory/Constructions/SubmoduleQuotient.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.MeasureTheory.MeasurableSpace.Constructions +module + +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions /-! # Measurability on the quotient of a module by a submodule -/ +@[expose] public section + namespace Submodule.Quotient variable {R M : Type*} [Ring R] [AddCommGroup M] [Module R M] {p : Submodule R M} diff --git a/Mathlib/MeasureTheory/Constructions/UnitInterval.lean b/Mathlib/MeasureTheory/Constructions/UnitInterval.lean index 79ebe1823cee66..7b19d0f8142586 100644 --- a/Mathlib/MeasureTheory/Constructions/UnitInterval.lean +++ b/Mathlib/MeasureTheory/Constructions/UnitInterval.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Gaëtan Serré -/ -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # The canonical measure on the unit interval @@ -14,6 +16,8 @@ and shows it is a probability measure with no atoms. It also contains some basic results on the volume of various interval sets. -/ +@[expose] public section + open scoped unitInterval open MeasureTheory Measure Set diff --git a/Mathlib/MeasureTheory/Covering/Besicovitch.lean b/Mathlib/MeasureTheory/Covering/Besicovitch.lean index b4c5e163d5afef..f41395b4d92da8 100644 --- a/Mathlib/MeasureTheory/Covering/Besicovitch.lean +++ b/Mathlib/MeasureTheory/Covering/Besicovitch.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Covering.Differentiation +module + +public import Mathlib.MeasureTheory.Covering.Differentiation /-! # Besicovitch covering theorems @@ -89,6 +91,8 @@ the remaining points, while remaining disjoint from the already chosen balls. Th balls is the desired almost everywhere covering. -/ +@[expose] public section + noncomputable section @@ -134,7 +138,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `Besicovitch.SatelliteConfig.r`. -/ @[positivity Besicovitch.SatelliteConfig.r _ _] -def evalBesicovitchSatelliteConfigR : PositivityExt where eval {u α} _zα _pα e := do +meta def evalBesicovitchSatelliteConfigR : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(@Besicovitch.SatelliteConfig.r $β $inst $N $τ $self $i) => assertInstancesCommute diff --git a/Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean b/Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean index a830952136cdd6..4f38b8b04e5821 100644 --- a/Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean +++ b/Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.MeasureTheory.Covering.Besicovitch -import Mathlib.Tactic.AdaptationNote -import Mathlib.Algebra.EuclideanDomain.Basic +module + +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.MeasureTheory.Covering.Besicovitch +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Algebra.EuclideanDomain.Basic /-! # Satellite configurations for Besicovitch covering lemma in vector spaces @@ -41,6 +43,8 @@ In particular, this number is bounded by `5 ^ dim` by a straightforward measure no satellite configurations of `(multiplicity E) + 1` points, for the parameter `goodτ E`. -/ +@[expose] public section + universe u diff --git a/Mathlib/MeasureTheory/Covering/DensityTheorem.lean b/Mathlib/MeasureTheory/Covering/DensityTheorem.lean index 501009a1ece0fd..5a5ae487a1f5e9 100644 --- a/Mathlib/MeasureTheory/Covering/DensityTheorem.lean +++ b/Mathlib/MeasureTheory/Covering/DensityTheorem.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.MeasureTheory.Measure.Doubling -import Mathlib.MeasureTheory.Covering.Vitali -import Mathlib.MeasureTheory.Covering.Differentiation +module + +public import Mathlib.MeasureTheory.Measure.Doubling +public import Mathlib.MeasureTheory.Covering.Vitali +public import Mathlib.MeasureTheory.Covering.Differentiation /-! # Uniformly locally doubling measures and Lebesgue's density theorem @@ -26,6 +28,8 @@ form of Lebesgue's density theorem. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Covering/Differentiation.lean b/Mathlib/MeasureTheory/Covering/Differentiation.lean index 8864aa4ff588c4..290f046b7a7697 100644 --- a/Mathlib/MeasureTheory/Covering/Differentiation.lean +++ b/Mathlib/MeasureTheory/Covering/Differentiation.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Covering.VitaliFamily -import Mathlib.MeasureTheory.Function.AEMeasurableOrder -import Mathlib.MeasureTheory.Integral.Average -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue -import Mathlib.MeasureTheory.Measure.Regular +module + +public import Mathlib.MeasureTheory.Covering.VitaliFamily +public import Mathlib.MeasureTheory.Function.AEMeasurableOrder +public import Mathlib.MeasureTheory.Integral.Average +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +public import Mathlib.MeasureTheory.Measure.Regular /-! # Differentiation of measures @@ -73,6 +75,8 @@ make no sense. However, the measure is not globally zero if the space is big eno * [Herbert Federer, Geometric Measure Theory, Chapter 2.9][Federer1996] -/ +@[expose] public section + open MeasureTheory Metric Set Filter TopologicalSpace MeasureTheory.Measure open scoped Filter ENNReal MeasureTheory NNReal Topology diff --git a/Mathlib/MeasureTheory/Covering/LiminfLimsup.lean b/Mathlib/MeasureTheory/Covering/LiminfLimsup.lean index d321f344f7209c..ab2ec814186d5d 100644 --- a/Mathlib/MeasureTheory/Covering/LiminfLimsup.lean +++ b/Mathlib/MeasureTheory/Covering/LiminfLimsup.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.MeasureTheory.Covering.DensityTheorem +module + +public import Mathlib.MeasureTheory.Covering.DensityTheorem /-! # Liminf, limsup, and uniformly locally doubling measures. @@ -23,6 +25,8 @@ carrying a uniformly locally doubling measure. -/ +@[expose] public section + open Set Filter Metric MeasureTheory TopologicalSpace diff --git a/Mathlib/MeasureTheory/Covering/OneDim.lean b/Mathlib/MeasureTheory/Covering/OneDim.lean index e4b199d53e0055..1a03883907b92d 100644 --- a/Mathlib/MeasureTheory/Covering/OneDim.lean +++ b/Mathlib/MeasureTheory/Covering/OneDim.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Covering.DensityTheorem -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +module + +public import Mathlib.MeasureTheory.Covering.DensityTheorem +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar /-! # Covering theorems for Lebesgue measure in one dimension @@ -14,6 +16,8 @@ in `DensityTheorem.lean`. In this file, we expand the API for this theory in one by showing that intervals belong to the relevant Vitali family. -/ +@[expose] public section + open Set MeasureTheory IsUnifLocDoublingMeasure Filter diff --git a/Mathlib/MeasureTheory/Covering/Vitali.lean b/Mathlib/MeasureTheory/Covering/Vitali.lean index d13cc7b4289455..90d292bb626340 100644 --- a/Mathlib/MeasureTheory/Covering/Vitali.lean +++ b/Mathlib/MeasureTheory/Covering/Vitali.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Covering.VitaliFamily -import Mathlib.Data.Set.Pairwise.Lattice +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Covering.VitaliFamily +public import Mathlib.Data.Set.Pairwise.Lattice /-! # Vitali covering theorems @@ -33,6 +35,8 @@ covering a fixed proportion `1/C` of the ball `closedBall x (3 * diam a)` forms This version is given in `Vitali.vitaliFamily`. -/ +@[expose] public section + variable {α ι : Type*} diff --git a/Mathlib/MeasureTheory/Covering/VitaliFamily.lean b/Mathlib/MeasureTheory/Covering/VitaliFamily.lean index 5a80f8afd0d659..50c6220bc34475 100644 --- a/Mathlib/MeasureTheory/Covering/VitaliFamily.lean +++ b/Mathlib/MeasureTheory/Covering/VitaliFamily.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous +module + +public import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous /-! # Vitali families @@ -45,6 +47,8 @@ Let `v` be such a Vitali family. (Vitali families are called Vitali relations there) -/ +@[expose] public section + open MeasureTheory Metric Set Filter TopologicalSpace MeasureTheory.Measure open scoped Topology diff --git a/Mathlib/MeasureTheory/Function/AEEqFun.lean b/Mathlib/MeasureTheory/Function/AEEqFun.lean index 6b49e515720ff9..ef899f740c91f6 100644 --- a/Mathlib/MeasureTheory/Function/AEEqFun.lean +++ b/Mathlib/MeasureTheory/Function/AEEqFun.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl, Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Zhouhang Zhou -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Integral.Lebesgue.Add -import Mathlib.Order.Filter.Germ.Basic -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add +public import Mathlib.Order.Filter.Germ.Basic +public import Mathlib.Topology.ContinuousMap.Algebra /-! @@ -68,6 +70,8 @@ function space, almost everywhere equal, `L⁰`, ae_eq_fun -/ +@[expose] public section + -- Guard against import creep assert_not_exists InnerProductSpace diff --git a/Mathlib/MeasureTheory/Function/AEEqFun/DomAct.lean b/Mathlib/MeasureTheory/Function/AEEqFun/DomAct.lean index f69094fae395e0..64f9847bfd86b8 100644 --- a/Mathlib/MeasureTheory/Function/AEEqFun/DomAct.lean +++ b/Mathlib/MeasureTheory/Function/AEEqFun/DomAct.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Function.AEEqFun -import Mathlib.MeasureTheory.Group.Action -import Mathlib.GroupTheory.GroupAction.DomAct.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas +module + +public import Mathlib.MeasureTheory.Function.AEEqFun +public import Mathlib.MeasureTheory.Group.Action +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas /-! # Action of `DomMulAct` and `DomAddAct` on `α →ₘ[μ] β` @@ -23,6 +25,8 @@ typeclass for quasi-measure-preserving actions yet. -/ +@[expose] public section + open MeasureTheory namespace DomMulAct diff --git a/Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean b/Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean index 81d55b48a3c42c..c8695665b48436 100644 --- a/Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean +++ b/Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.InnerProductSpace.Continuous -import Mathlib.MeasureTheory.Function.AEEqOfLIntegral -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.Order.Filter.Ring +module + +public import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.MeasureTheory.Function.AEEqOfLIntegral +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.Order.Filter.Ring /-! # From equality of integrals to equality of functions @@ -41,6 +43,8 @@ Generally useful lemmas which are not related to integrals: -/ +@[expose] public section + open MeasureTheory TopologicalSpace NormedSpace Filter diff --git a/Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean b/Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean index 50c98c1a166598..b5d234e4bfe4fe 100644 --- a/Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean +++ b/Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.StronglyMeasurable.ENNReal -import Mathlib.MeasureTheory.Measure.WithDensity +module + +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.ENNReal +public import Mathlib.MeasureTheory.Measure.WithDensity /-! # From equality of integrals to equality of functions @@ -26,6 +28,8 @@ The conclusion is then `f =ᵐ[μ] g`. The main lemmas are: -/ +@[expose] public section + open Filter diff --git a/Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean b/Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean index 7e64e7a8ad42a4..e842423bd3d066 100644 --- a/Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean +++ b/Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order /-! # Measurability criterion for ennreal-valued functions @@ -20,6 +22,8 @@ but the proof would be more painful. Since our only use for now is for `ℝ≥0 as possible. -/ +@[expose] public section + open MeasureTheory Set TopologicalSpace diff --git a/Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean b/Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean index 60e89835c9bdbf..72724264ce6ac6 100644 --- a/Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean +++ b/Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.MeasurableSpace.Basic -import Mathlib.MeasureTheory.Measure.MeasureSpaceDef +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Basic +public import Mathlib.MeasureTheory.Measure.MeasureSpaceDef /-! # Sequence of measurable functions associated to a sequence of a.e.-measurable functions @@ -20,6 +22,8 @@ and a measurable set `aeSeqSet hf p`, such that * `x ∈ aeSeqSet hf p → p x (fun n ↦ f n x)` -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean b/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean index 258f4284b36ebc..9cee384d21c392 100644 --- a/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean +++ b/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Yizheng Zhu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yizheng Zhu -/ -import Mathlib.Analysis.Normed.Group.Bounded -import Mathlib.Analysis.Normed.Group.Uniform -import Mathlib.Analysis.Normed.MulAction -import Mathlib.Order.SuccPred.IntervalSucc -import Mathlib.Topology.EMetricSpace.BoundedVariation +module + +public import Mathlib.Analysis.Normed.Group.Bounded +public import Mathlib.Analysis.Normed.Group.Uniform +public import Mathlib.Analysis.Normed.MulAction +public import Mathlib.Order.SuccPred.IntervalSucc +public import Mathlib.Topology.EMetricSpace.BoundedVariation /-! # Absolutely Continuous Functions @@ -46,6 +48,8 @@ We use the `ε`-`δ` definition to prove that absolutely continuous -/ +@[expose] public section + variable {X F : Type*} [PseudoMetricSpace X] [SeminormedAddCommGroup F] open Set Filter Function diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean index b1b69d179c92e3..126db67443b094 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.LpSeminorm.Trim -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp +module + +public import Mathlib.MeasureTheory.Function.LpSeminorm.Trim +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lp /-! # Functions a.e. measurable with respect to a sub-σ-algebra @@ -32,6 +34,8 @@ sub-σ-algebra `m` in a normed space, it suffices to show that -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean index 3d97d94d0f4047..44ea76f539e0b9 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1 +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1 /-! # Conditional expectation @@ -68,6 +70,8 @@ conditional expectation, conditional expected value -/ +@[expose] public section + open TopologicalSpace MeasureTheory.Lp Filter open scoped ENNReal Topology MeasureTheory @@ -102,7 +106,7 @@ scoped macro:max μ:term noWs "[" f:term "|" m:term "]" : term => /-- Unexpander for `μ[f|m]` notation. -/ @[app_unexpander MeasureTheory.condExp] -def condExpUnexpander : Lean.PrettyPrinter.Unexpander +meta def condExpUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $m $μ $f) => `($μ[$f|$m]) | _ => throw () diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean index 46756a1599ab65..e7e8499ed5f4ee 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2 -import Mathlib.MeasureTheory.Measure.Real +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2 +public import Mathlib.MeasureTheory.Measure.Real /-! # Conditional expectation in L1 @@ -27,6 +29,8 @@ The conditional expectation of an `L²` function is defined in -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean index bc99a1edba0a98..dc542395932b2b 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.InnerProductSpace.Projection.Basic -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique -import Mathlib.MeasureTheory.Function.L2Space +module + +public import Mathlib.Analysis.InnerProductSpace.Projection.Basic +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique +public import Mathlib.MeasureTheory.Function.L2Space /-! # Conditional expectation in L2 @@ -31,6 +33,8 @@ However, some lemmas also use `𝕜 : RCLike`: -/ +@[expose] public section + open TopologicalSpace Filter ContinuousLinearMap diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean index 0fcd4b11c8f9af..5777de262e3b6f 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic /-! @@ -21,6 +23,8 @@ a restricted measure. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean index 4e144524efbd2b..c45fb9f40dd04b 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Kexing Ying -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Indicator -import Mathlib.MeasureTheory.Function.UniformIntegrable -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.RadonNikodym +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Indicator +public import Mathlib.MeasureTheory.Function.UniformIntegrable +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.RadonNikodym /-! @@ -24,6 +26,8 @@ This file proves some results regarding the conditional expectation of real-valu -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Unique.lean b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Unique.lean index d69d75ef5e2af0..36a02e097614f6 100644 --- a/Mathlib/MeasureTheory/Function/ConditionalExpectation/Unique.lean +++ b/Mathlib/MeasureTheory/Function/ConditionalExpectation/Unique.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.AEEqOfIntegral -import Mathlib.MeasureTheory.Function.ConditionalExpectation.AEMeasurable +module + +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.AEMeasurable /-! # Uniqueness of the conditional expectation @@ -25,6 +27,8 @@ defined in this file but is introduced in -/ +@[expose] public section + open scoped ENNReal MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/ContinuousMapDense.lean b/Mathlib/MeasureTheory/Function/ContinuousMapDense.lean index 43ce537c700916..371728f92ee0a3 100644 --- a/Mathlib/MeasureTheory/Function/ContinuousMapDense.lean +++ b/Mathlib/MeasureTheory/Function/ContinuousMapDense.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp -import Mathlib.Topology.UrysohnsLemma -import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions -import Mathlib.MeasureTheory.Integral.Bochner.Basic +module + +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions +public import Mathlib.MeasureTheory.Integral.Bochner.Basic /-! # Approximation in Lᵖ by continuous functions @@ -57,6 +59,8 @@ See the Vitali-Carathéodory theorem, in the file `Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean`. -/ +@[expose] public section + open scoped ENNReal NNReal Topology BoundedContinuousFunction open MeasureTheory TopologicalSpace ContinuousMap Set Bornology diff --git a/Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean b/Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean index f15d73fcbcdead..8e084f24b2873e 100644 --- a/Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean +++ b/Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Rémy Degenne, Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Kexing Ying -/ -import Mathlib.MeasureTheory.Function.Egorov -import Mathlib.MeasureTheory.Function.LpSpace.Complete +module + +public import Mathlib.MeasureTheory.Function.Egorov +public import Mathlib.MeasureTheory.Function.LpSpace.Complete /-! # Convergence in measure @@ -38,6 +40,8 @@ convergence in measure and other notions of convergence. in measure. -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/MeasureTheory/Function/Egorov.lean b/Mathlib/MeasureTheory/Function/Egorov.lean index 3e999ae6c36177..801e03478910d8 100644 --- a/Mathlib/MeasureTheory/Function/Egorov.lean +++ b/Mathlib/MeasureTheory/Function/Egorov.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +module + +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Egorov theorem @@ -20,6 +22,8 @@ convergence in measure. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/EssSup.lean b/Mathlib/MeasureTheory/Function/EssSup.lean index 54d193e3bca8bd..c3ad81127a3ea2 100644 --- a/Mathlib/MeasureTheory/Function/EssSup.lean +++ b/Mathlib/MeasureTheory/Function/EssSup.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order -import Mathlib.MeasureTheory.Measure.Count -import Mathlib.Order.Filter.ENNReal -import Mathlib.Probability.UniformOn +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +public import Mathlib.MeasureTheory.Measure.Count +public import Mathlib.Order.Filter.ENNReal +public import Mathlib.Probability.UniformOn /-! # Essential supremum and infimum @@ -28,6 +30,8 @@ sense). We do not define that quantity here, which is simply the supremum of a m * `essInf f μ := (ae μ).liminf f` -/ +@[expose] public section + open Filter MeasureTheory ProbabilityTheory Set TopologicalSpace open scoped ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Function/FactorsThrough.lean b/Mathlib/MeasureTheory/Function/FactorsThrough.lean index 8f4041188e7c8e..788259e9d8b063 100644 --- a/Mathlib/MeasureTheory/Function/FactorsThrough.lean +++ b/Mathlib/MeasureTheory/Function/FactorsThrough.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Constructions.Polish.StronglyMeasurable -import Mathlib.Probability.Process.Filtration +module + +public import Mathlib.MeasureTheory.Constructions.Polish.StronglyMeasurable +public import Mathlib.Probability.Process.Filtration /-! # Factorization of a map from measurability @@ -18,6 +20,8 @@ This is the content of the [Doob-Dynkin lemma](https://en.wikipedia.org/wiki/Doo see `exists_eq_measurable_comp`. -/ +@[expose] public section + namespace MeasureTheory open Filter Filtration Set TopologicalSpace diff --git a/Mathlib/MeasureTheory/Function/Floor.lean b/Mathlib/MeasureTheory/Function/Floor.lean index 31f217515eaedf..a130c0e0bfdc2e 100644 --- a/Mathlib/MeasureTheory/Function/Floor.lean +++ b/Mathlib/MeasureTheory/Function/Floor.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order /-! # Measurability of `⌊x⌋` etc @@ -12,6 +14,8 @@ In this file we prove that `Int.floor`, `Int.ceil`, `Int.fract`, `Nat.floor`, an measurable under some assumptions on the (semi)ring. -/ +@[expose] public section + open Set diff --git a/Mathlib/MeasureTheory/Function/Holder.lean b/Mathlib/MeasureTheory/Function/Holder.lean index 277e5d53a6052a..e67e1402d519a7 100644 --- a/Mathlib/MeasureTheory/Function/Holder.lean +++ b/Mathlib/MeasureTheory/Function/Holder.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.MeasureTheory.Integral.Bochner.Basic +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Basic /-! # Continuous bilinear maps on `MeasureTheory.Lp` spaces @@ -22,6 +24,8 @@ natural map `ContinuousLinearMap.lpPairing : Lp E p μ →L[𝕜] Lp F q μ →L is the natural map `Lp (StrongDual 𝕜 E) p μ →L[𝕜] StrongDual 𝕜 (Lp E q μ)`. -/ +@[expose] public section + open ENNReal MeasureTheory Lp open scoped NNReal diff --git a/Mathlib/MeasureTheory/Function/Intersectivity.lean b/Mathlib/MeasureTheory/Function/Intersectivity.lean index cb5184adf1577a..f63fe9b03614f0 100644 --- a/Mathlib/MeasureTheory/Function/Intersectivity.lean +++ b/Mathlib/MeasureTheory/Function/Intersectivity.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.MeasureTheory.Integral.Average +module + +public import Mathlib.MeasureTheory.Integral.Average /-! # Bergelson's intersectivity lemma @@ -28,6 +30,8 @@ Use the ergodic theorem to deduce the refinement of the Poincaré recurrence the Bergelson. -/ +@[expose] public section + open Filter Function MeasureTheory Set open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Function/Jacobian.lean b/Mathlib/MeasureTheory/Function/Jacobian.lean index 8db5e6b9814390..733e717a69d6e3 100644 --- a/Mathlib/MeasureTheory/Function/Jacobian.lean +++ b/Mathlib/MeasureTheory/Function/Jacobian.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.FDeriv.Congr -import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap -import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.Analysis.Normed.Module.Ball.Pointwise -import Mathlib.MeasureTheory.Constructions.Polish.Basic -import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn -import Mathlib.Topology.Algebra.Module.Determinant +module + +public import Mathlib.Analysis.Calculus.FDeriv.Congr +public import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap +public import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.Analysis.Normed.Module.Ball.Pointwise +public import Mathlib.MeasureTheory.Constructions.Polish.Basic +public import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ApproximatesLinearOn +public import Mathlib.Topology.Algebra.Module.Determinant /-! # Change of variables in higher-dimensional integrals @@ -92,6 +94,8 @@ Change of variables in integrals [Fremlin, *Measure Theory* (volume 2)][fremlin_vol2] -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Metric Filter Set Module Asymptotics TopologicalSpace diff --git a/Mathlib/MeasureTheory/Function/JacobianOneDim.lean b/Mathlib/MeasureTheory/Function/JacobianOneDim.lean index be5be77bf6af43..f1103522045ea8 100644 --- a/Mathlib/MeasureTheory/Function/JacobianOneDim.lean +++ b/Mathlib/MeasureTheory/Function/JacobianOneDim.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.MeasureTheory.Function.Jacobian +module + +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.MeasureTheory.Function.Jacobian /-! # Change of variable formulas for integrals in dimension 1 @@ -22,6 +24,8 @@ the change of variables formula in dimension 1 for non-monotone functions, formu the interval integral and with stronger requirements on the integrand. -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Metric Filter Set Module Asymptotics TopologicalSpace ContinuousLinearMap diff --git a/Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean b/Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean index 57d559e725c6cb..648867cbc49e0f 100644 --- a/Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean +++ b/Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.MeasureTheory.Function.L1Space.Integrable +module + +public import Mathlib.MeasureTheory.Function.L1Space.Integrable /-! # `L¹` space @@ -25,6 +27,8 @@ function space, l1 -/ +@[expose] public section + noncomputable section open EMetric ENNReal Filter MeasureTheory NNReal Set diff --git a/Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean b/Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean index 7317a91730de9c..2676935f1da35d 100644 --- a/Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean +++ b/Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence -import Mathlib.MeasureTheory.Integral.Lebesgue.Norm -import Mathlib.MeasureTheory.Measure.WithDensity +module + +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.Lebesgue.Norm +public import Mathlib.MeasureTheory.Measure.WithDensity /-! # Function with finite integral @@ -25,6 +27,8 @@ finite integral -/ +@[expose] public section + noncomputable section open Topology ENNReal MeasureTheory NNReal diff --git a/Mathlib/MeasureTheory/Function/L1Space/Integrable.lean b/Mathlib/MeasureTheory/Function/L1Space/Integrable.lean index 9a6bc8c9e5f8b6..64da5c2789fc7b 100644 --- a/Mathlib/MeasureTheory/Function/L1Space/Integrable.lean +++ b/Mathlib/MeasureTheory/Function/L1Space/Integrable.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.MeasureTheory.Function.L1Space.HasFiniteIntegral -import Mathlib.MeasureTheory.Function.LpOrder -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas +module + +public import Mathlib.MeasureTheory.Function.L1Space.HasFiniteIntegral +public import Mathlib.MeasureTheory.Function.LpOrder +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas /-! # Integrable functions @@ -33,6 +35,8 @@ integrable -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/L2Space.lean b/Mathlib/MeasureTheory/Function/L2Space.lean index b3f9159f2f28a2..b08994ca813334 100644 --- a/Mathlib/MeasureTheory/Function/L2Space.lean +++ b/Mathlib/MeasureTheory/Function/L2Space.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Inner -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +module + +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.MeasureTheory.Function.LpSpace.ContinuousFunctions +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Inner +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap /-! # `L^2` space @@ -23,6 +25,8 @@ is also an inner product space, with inner product defined as `inner f g := ∫ * `L2.innerProductSpace` : `Lp E 2 μ` is an inner product space. -/ +@[expose] public section + noncomputable section open TopologicalSpace MeasureTheory MeasureTheory.Lp Filter diff --git a/Mathlib/MeasureTheory/Function/LocallyIntegrable.lean b/Mathlib/MeasureTheory/Function/LocallyIntegrable.lean index cc63d0429e7473..dad3cdd414879c 100644 --- a/Mathlib/MeasureTheory/Function/LocallyIntegrable.lean +++ b/Mathlib/MeasureTheory/Function/LocallyIntegrable.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Integral.IntegrableOn +module + +public import Mathlib.MeasureTheory.Integral.IntegrableOn /-! # Locally integrable functions @@ -22,6 +24,8 @@ on compact sets. integrable on `s`. -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Set Function TopologicalSpace Bornology open scoped Topology Interval ENNReal diff --git a/Mathlib/MeasureTheory/Function/LpOrder.lean b/Mathlib/MeasureTheory/Function/LpOrder.lean index e160d005cb899b..e0c1a143cdee24 100644 --- a/Mathlib/MeasureTheory/Function/LpOrder.lean +++ b/Mathlib/MeasureTheory/Function/LpOrder.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.MeasureTheory.Function.ConvergenceInMeasure -import Mathlib.MeasureTheory.Function.LpSpace.Basic +module + +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.MeasureTheory.Function.ConvergenceInMeasure +public import Mathlib.MeasureTheory.Function.LpSpace.Basic /-! # Order related properties of Lp spaces @@ -21,6 +23,8 @@ import Mathlib.MeasureTheory.Function.LpSpace.Basic -/ +@[expose] public section + open TopologicalSpace MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean index 87041d9e306e1a..c7de7a986024a8 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Group.Indicator -import Mathlib.Data.Fintype.Order -import Mathlib.MeasureTheory.Function.AEEqFun -import Mathlib.MeasureTheory.Function.LpSeminorm.Defs -import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic -import Mathlib.MeasureTheory.Integral.Lebesgue.Countable -import Mathlib.MeasureTheory.Integral.Lebesgue.Sub +module + +public import Mathlib.Analysis.Normed.Group.Indicator +public import Mathlib.Data.Fintype.Order +public import Mathlib.MeasureTheory.Function.AEEqFun +public import Mathlib.MeasureTheory.Function.LpSeminorm.Defs +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic +public import Mathlib.MeasureTheory.Integral.Lebesgue.Countable +public import Mathlib.MeasureTheory.Integral.Lebesgue.Sub /-! # Basic theorems about ℒp space -/ + +@[expose] public section noncomputable section open TopologicalSpace MeasureTheory Filter diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean index 4e77f4515c3390..209ba6c3e790a7 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +module + +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic /-! # Chebyshev-Markov inequality in terms of Lp seminorms @@ -11,6 +13,8 @@ import Mathlib.MeasureTheory.Function.LpSeminorm.Basic In this file we formulate several versions of the Chebyshev-Markov inequality in terms of the `MeasureTheory.eLpNorm` seminorm. -/ + +@[expose] public section open scoped NNReal ENNReal namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean index b90ed9ed48586e..c0b207fac81ba5 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Eric Wieser -/ -import Mathlib.Data.ENNReal.Holder -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic -import Mathlib.MeasureTheory.Integral.MeanInequalities +module + +public import Mathlib.Data.ENNReal.Holder +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +public import Mathlib.MeasureTheory.Integral.MeanInequalities /-! # Compare Lp seminorms for different values of `p` @@ -14,6 +16,8 @@ In this file we compare `MeasureTheory.eLpNorm'` and `MeasureTheory.eLpNorm` for exponents. -/ +@[expose] public section + open Filter ENNReal open scoped Topology diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean index e2cd900e194f26..ec31bfeb892d11 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.MeasureTheory.Function.EssSup -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.MeasureTheory.Function.EssSup +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic /-! # ℒp space @@ -31,6 +33,8 @@ and is almost everywhere strongly measurable. -/ +@[expose] public section + noncomputable section open scoped NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/Prod.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/Prod.lean index 4193ea638e3cd8..ff6b775876748b 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/Prod.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/Prod.lean @@ -3,15 +3,18 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ +module -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic -import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +public import Mathlib.MeasureTheory.Measure.Prod /-! # ℒp spaces and products -/ +@[expose] public section + open scoped ENNReal namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean index a8313f550b7e0d..51d263dd63e232 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic -import Mathlib.MeasureTheory.Integral.MeanInequalities +module + +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +public import Mathlib.MeasureTheory.Integral.MeanInequalities /-! # Triangle inequality for `Lp`-seminorm @@ -13,6 +15,8 @@ In this file we prove several versions of the triangle inequality for the `Lp` s as well as simple corollaries. -/ +@[expose] public section + open Filter open scoped ENNReal Topology diff --git a/Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean b/Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean index 9560199dd59e64..2bc0c1289f7948 100644 --- a/Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean +++ b/Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.LpSeminorm.Basic +module + +public import Mathlib.MeasureTheory.Function.LpSeminorm.Basic /-! # Lp seminorm with respect to trimmed measure @@ -12,6 +14,8 @@ In this file we prove basic properties of the Lp-seminorm of a function with respect to the restriction of a measure to a sub-σ-algebra. -/ +@[expose] public section + namespace MeasureTheory open Filter diff --git a/Mathlib/MeasureTheory/Function/LpSpace/Basic.lean b/Mathlib/MeasureTheory/Function/LpSpace/Basic.lean index 320f08d7b2e36f..d2ff5134271e94 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/Basic.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Operator.NNNorm -import Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov -import Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp -import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality +module + +public import Mathlib.Analysis.Normed.Operator.NNNorm +public import Mathlib.MeasureTheory.Function.LpSeminorm.ChebyshevMarkov +public import Mathlib.MeasureTheory.Function.LpSeminorm.CompareExp +public import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality /-! # Lp space @@ -54,6 +56,8 @@ of the coercions of `f` and `g`. All such lemmas use `coeFn` in their name, to d function coercion from the coercion to almost everywhere defined functions. -/ +@[expose] public section + noncomputable section open MeasureTheory Filter diff --git a/Mathlib/MeasureTheory/Function/LpSpace/Complete.lean b/Mathlib/MeasureTheory/Function/LpSpace/Complete.lean index 288ee3d84974d5..61059f5afc3e24 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/Complete.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/Complete.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.MeasureTheory.Function.LpSpace.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.MeasureTheory.Function.LpSpace.Basic /-! # `Lp` is a complete space @@ -13,6 +15,8 @@ In this file we show that `Lp` is a complete space for `1 ≤ p`, in `MeasureTheory.Lp.instCompleteSpace`. -/ +@[expose] public section + open MeasureTheory Filter open scoped ENNReal Topology diff --git a/Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean b/Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean index 27de7c2bfb1ac3..fe84fdf8f93994 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp -import Mathlib.MeasureTheory.Measure.ContinuousPreimage +module + +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +public import Mathlib.MeasureTheory.Measure.ContinuousPreimage /-! # Continuity of `MeasureTheory.Lp.compMeasurePreserving` @@ -21,6 +23,8 @@ defined on `MeasureTheory.Lp E p ν × {f : C(X, Y) // MeasurePreserving f μ ν Finally, we provide dot notation convenience lemmas. -/ +@[expose] public section + open Filter Set MeasureTheory open scoped ENNReal Topology symmDiff diff --git a/Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean b/Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean index 87e770012f2b77..ae3e5027c5db5d 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Operator.NormedSpace -import Mathlib.MeasureTheory.Function.LpSpace.Basic -import Mathlib.MeasureTheory.Measure.OpenPos -import Mathlib.Topology.ContinuousMap.Compact +module + +public import Mathlib.Analysis.Normed.Operator.NormedSpace +public import Mathlib.MeasureTheory.Function.LpSpace.Basic +public import Mathlib.MeasureTheory.Measure.OpenPos +public import Mathlib.Topology.ContinuousMap.Compact /-! # Continuous functions in Lp space @@ -17,6 +19,8 @@ as `BoundedContinuousFunction.toLp`. -/ +@[expose] public section + open BoundedContinuousFunction MeasureTheory Filter open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean b/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean index 3deffc070711be..0c3c7410c37aab 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Function.AEEqFun.DomAct -import Mathlib.MeasureTheory.Function.LpSpace.Indicator +module + +public import Mathlib.MeasureTheory.Function.AEEqFun.DomAct +public import Mathlib.MeasureTheory.Function.LpSpace.Indicator /-! # Action of `Mᵈᵐᵃ` on `Lᵖ` spaces @@ -16,6 +18,8 @@ and `c : M`, then `(.mk c : Mᵈᵐᵃ) • [f]` is represented by the function We also prove basic properties of this action. -/ +@[expose] public section + open MeasureTheory Filter open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean b/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean index 9e649b4cf39559..82adc156c1ea31 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean @@ -3,9 +3,12 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic -import Mathlib.MeasureTheory.Function.LpSpace.ContinuousCompMeasurePreserving -import Mathlib.Topology.Algebra.Constructions.DomMulAct +module + +public import Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic +public import Mathlib.MeasureTheory.Function.LpSpace.ContinuousCompMeasurePreserving +public import Mathlib.Topology.Algebra.Constructions.DomMulAct +import all Mathlib.MeasureTheory.Function.LpSpace.DomAct.Basic -- for `to_additive` to unfold proof /-! # Continuity of the action of `Mᵈᵐᵃ` on `MeasureSpace.Lp E p μ` @@ -31,6 +34,8 @@ and `μ` is the Haar measure. measure theory, group action, domain action, continuous action, Lp space -/ +@[expose] public section + open scoped ENNReal open DomMulAct diff --git a/Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean b/Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean index 01cacda3140aac..e2b1269babdc2e 100644 --- a/Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean +++ b/Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.MeasureTheory.Function.LpSpace.Basic -import Mathlib.MeasureTheory.Measure.Real -import Mathlib.Order.Filter.IndicatorFunction +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.MeasureTheory.Function.LpSpace.Basic +public import Mathlib.MeasureTheory.Measure.Real +public import Mathlib.Order.Filter.IndicatorFunction /-! # Indicator of a set as an element of `Lp` @@ -20,6 +22,8 @@ For a set `s` with `(hs : MeasurableSet s)` and `(hμs : μ s < ∞)`, we build * `MeasureTheory.Lp.const`: Constant function as an element of `Lp` for a finite measure. -/ +@[expose] public section + noncomputable section open MeasureTheory Filter diff --git a/Mathlib/MeasureTheory/Function/SimpleFunc.lean b/Mathlib/MeasureTheory/Function/SimpleFunc.lean index 644c219026bccb..f653cd21b4f77c 100644 --- a/Mathlib/MeasureTheory/Function/SimpleFunc.lean +++ b/Mathlib/MeasureTheory/Function/SimpleFunc.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Algebra.Order.Pi -import Mathlib.Algebra.Algebra.Pi -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +module + +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order /-! # Simple functions @@ -21,6 +23,8 @@ characteristic functions and is closed under addition and supremum of increasing functions. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/SimpleFuncDense.lean b/Mathlib/MeasureTheory/Function/SimpleFuncDense.lean index 421a54d9ab865a..b8d306200ad70b 100644 --- a/Mathlib/MeasureTheory/Function/SimpleFuncDense.lean +++ b/Mathlib/MeasureTheory/Function/SimpleFuncDense.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.MeasureTheory.Function.SimpleFunc -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable +module + +public import Mathlib.MeasureTheory.Function.SimpleFunc +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable /-! # Density of simple functions @@ -31,6 +33,8 @@ by a sequence of simple functions. * `α →ₛ β` (local notation): the type of simple functions `α → β`. -/ +@[expose] public section + open Set Function Filter TopologicalSpace EMetric MeasureTheory open scoped Topology ENNReal diff --git a/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean b/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean index 79febe203e4a06..ab5a9ea7d5e10c 100644 --- a/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean +++ b/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.MeasureTheory.Function.L1Space.AEEqFun -import Mathlib.MeasureTheory.Function.LpSpace.Complete -import Mathlib.MeasureTheory.Function.LpSpace.Indicator +module + +public import Mathlib.MeasureTheory.Function.L1Space.AEEqFun +public import Mathlib.MeasureTheory.Function.LpSpace.Complete +public import Mathlib.MeasureTheory.Function.LpSpace.Indicator /-! # Density of simple functions @@ -40,6 +42,8 @@ For `E` finite-dimensional, simple functions `α →ₛ E` are dense in L^∞ -- * `α →₁ₛ[μ] E`: the type of `L1` simple functions `α → β`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/SpecialFunctions/Arctan.lean b/Mathlib/MeasureTheory/Function/SpecialFunctions/Arctan.lean index 1aab3310c886a3..8e49fff257b5ef 100644 --- a/Mathlib/MeasureTheory/Function/SpecialFunctions/Arctan.lean +++ b/Mathlib/MeasureTheory/Function/SpecialFunctions/Arctan.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Arctan +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Measurability of arctan -/ +@[expose] public section + namespace Real diff --git a/Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean b/Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean index 8b967764edb464..c982f5c85a6b63 100644 --- a/Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean +++ b/Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric -import Mathlib.MeasureTheory.Constructions.BorelSpace.Real +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Real /-! # Measurability of real and complex functions @@ -18,6 +20,8 @@ See also `MeasureTheory.Function.SpecialFunctions.Arctan` and `MeasureTheory.Function.SpecialFunctions.Inner`, which have been split off to minimize imports. -/ +@[expose] public section + -- Guard against import creep: assert_not_exists InnerProductSpace Real.arctan FiniteDimensional.proper diff --git a/Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean b/Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean index 3e1ae677fc92e8..041569e7bda6b6 100644 --- a/Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean +++ b/Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.InnerProductSpace.Continuous -import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex +module + +public import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex /-! # Measurability of scalar products -/ +@[expose] public section + variable {α : Type*} {𝕜 : Type*} {E : Type*} variable [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] diff --git a/Mathlib/MeasureTheory/Function/SpecialFunctions/RCLike.lean b/Mathlib/MeasureTheory/Function/SpecialFunctions/RCLike.lean index 901f414e3c78c4..10bf5cb147d660 100644 --- a/Mathlib/MeasureTheory/Function/SpecialFunctions/RCLike.lean +++ b/Mathlib/MeasureTheory/Function/SpecialFunctions/RCLike.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.RCLike.Lemmas -import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex +module + +public import Mathlib.Analysis.RCLike.Lemmas +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex /-! # Measurability of the basic `RCLike` functions -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Function/SpecialFunctions/Sinc.lean b/Mathlib/MeasureTheory/Function/SpecialFunctions/Sinc.lean index 83e07db0ce7fce..760093006a8d00 100644 --- a/Mathlib/MeasureTheory/Function/SpecialFunctions/Sinc.lean +++ b/Mathlib/MeasureTheory/Function/SpecialFunctions/Sinc.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc -import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic -import Mathlib.MeasureTheory.Function.L1Space.Integrable +module + +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Sinc +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic +public import Mathlib.MeasureTheory.Function.L1Space.Integrable /-! # Measurability and integrability of the sinc function @@ -17,6 +19,8 @@ import Mathlib.MeasureTheory.Function.L1Space.Integrable -/ +@[expose] public section + open MeasureTheory variable {α : Type*} {_ : MeasurableSpace α} {f : α → ℝ} {μ : Measure α} diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean index 68020c518ff1aa..1c73fd47691baf 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +module + +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Strongly measurable and finitely strongly measurable functions @@ -39,6 +41,8 @@ measurable functions, as a basis for the Bochner integral. -/ +@[expose] public section + open MeasureTheory Filter TopologicalSpace Function Set MeasureTheory.Measure open ENNReal Topology MeasureTheory NNReal diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean index 3bbfbb3ca805e8..ad5170bd7b8112 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.MeasureTheory.Function.SimpleFuncDense +module + +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.MeasureTheory.Function.SimpleFuncDense /-! # Strongly measurable and finitely strongly measurable functions @@ -38,6 +40,8 @@ We provide a solid API for strongly measurable functions, as a basis for the Boc -/ +@[expose] public section + -- Guard against import creep assert_not_exists InnerProductSpace diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/ENNReal.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/ENNReal.lean index 8ea07df0066af1..119bb5f1398a77 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/ENNReal.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/ENNReal.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ +module -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Integral.Lebesgue.Add +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add /-! # Finitely strongly measurable functions with value in ENNReal @@ -15,6 +16,8 @@ whose support has finite measure. -/ +@[expose] public section + open MeasureTheory open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Inner.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Inner.lean index d70ac499372c9d..2b6f93704673fd 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Inner.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Inner.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.InnerProductSpace.Continuous -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +module + +public import Mathlib.Analysis.InnerProductSpace.Continuous +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable /-! # Inner products of strongly measurable functions are strongly measurable. -/ +@[expose] public section + variable {α 𝕜 E : Type*} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lemmas.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lemmas.lean index fb029669c12172..95c9ea36c1a05e 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lemmas.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Measure.WithDensity -import Mathlib.Topology.Algebra.Module.FiniteDimension +module + +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Measure.WithDensity +public import Mathlib.Topology.Algebra.Module.FiniteDimension /-! # Strongly measurable and finitely strongly measurable functions @@ -22,6 +24,8 @@ functions, started in `Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.l -/ +@[expose] public section + open MeasureTheory Filter Set ENNReal NNReal variable {α β γ : Type*} {m : MeasurableSpace α} {μ : Measure α} [TopologicalSpace β] diff --git a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lp.lean b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lp.lean index 8c9afa0ad46a6b..cb842ac33ded4a 100644 --- a/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lp.lean +++ b/Mathlib/MeasureTheory/Function/StronglyMeasurable/Lp.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas +module + +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Lemmas /-! # Finitely strongly measurable functions in `Lp` @@ -24,6 +26,8 @@ Functions in `Lp` for `0 < p < ∞` are finitely strongly measurable. -/ +@[expose] public section + open MeasureTheory Filter TopologicalSpace Function diff --git a/Mathlib/MeasureTheory/Function/UnifTight.lean b/Mathlib/MeasureTheory/Function/UnifTight.lean index 88db1e434058e6..6e14fcb858861e 100644 --- a/Mathlib/MeasureTheory/Function/UnifTight.lean +++ b/Mathlib/MeasureTheory/Function/UnifTight.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Igor Khavkine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Igor Khavkine -/ -import Mathlib.MeasureTheory.Function.ConvergenceInMeasure -import Mathlib.MeasureTheory.Function.UniformIntegrable +module + +public import Mathlib.MeasureTheory.Function.ConvergenceInMeasure +public import Mathlib.MeasureTheory.Function.UniformIntegrable /-! # Uniform tightness @@ -36,6 +38,8 @@ is also proved later in the file. uniform integrable, uniformly tight, Vitali convergence theorem -/ +@[expose] public section + namespace MeasureTheory open Set Filter Topology MeasureTheory NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Function/UniformIntegrable.lean b/Mathlib/MeasureTheory/Function/UniformIntegrable.lean index f3ce23f7db908e..6be5072968fd88 100644 --- a/Mathlib/MeasureTheory/Function/UniformIntegrable.lean +++ b/Mathlib/MeasureTheory/Function/UniformIntegrable.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Function.ConvergenceInMeasure -import Mathlib.MeasureTheory.Function.L1Space.Integrable +module + +public import Mathlib.MeasureTheory.Function.ConvergenceInMeasure +public import Mathlib.MeasureTheory.Function.L1Space.Integrable /-! # Uniform integrability @@ -42,6 +44,8 @@ formulate the martingale convergence theorem. uniform integrable, uniformly absolutely continuous integral, Vitali convergence theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Group/AEStabilizer.lean b/Mathlib/MeasureTheory/Group/AEStabilizer.lean index 2b1ba6c3cfdf57..baf412b2cb75a1 100644 --- a/Mathlib/MeasureTheory/Group/AEStabilizer.lean +++ b/Mathlib/MeasureTheory/Group/AEStabilizer.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Group.Action -import Mathlib.Order.Filter.EventuallyConst +module + +public import Mathlib.MeasureTheory.Group.Action +public import Mathlib.Order.Filter.EventuallyConst /-! # A.e. stabilizer of a set @@ -27,6 +29,8 @@ Also, many lemmas in this file are true for a *quasi-measure-preserving* action, but we don't have the corresponding typeclass. -/ +@[expose] public section + open Filter Set MeasureTheory open scoped Pointwise diff --git a/Mathlib/MeasureTheory/Group/Action.lean b/Mathlib/MeasureTheory/Group/Action.lean index c5a7aea72459cc..f4119cdeb5daa9 100644 --- a/Mathlib/MeasureTheory/Group/Action.lean +++ b/Mathlib/MeasureTheory/Group/Action.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.Dynamics.Minimal -import Mathlib.GroupTheory.GroupAction.Hom -import Mathlib.MeasureTheory.Group.MeasurableEquiv -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.MeasureTheory.Group.Defs -import Mathlib.Order.Filter.EventuallyConst +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.Dynamics.Minimal +public import Mathlib.GroupTheory.GroupAction.Hom +public import Mathlib.MeasureTheory.Group.MeasurableEquiv +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.MeasureTheory.Group.Defs +public import Mathlib.Order.Filter.EventuallyConst /-! # Measures invariant under group actions @@ -20,6 +22,8 @@ typeclass for measures invariant under action of an (additive or multiplicative) some basic properties of such measures. -/ +@[expose] public section + open scoped ENNReal NNReal Pointwise Topology open MeasureTheory.Measure Set Function Filter diff --git a/Mathlib/MeasureTheory/Group/AddCircle.lean b/Mathlib/MeasureTheory/Group/AddCircle.lean index 83bfea7b2dce3e..4973f04562b26c 100644 --- a/Mathlib/MeasureTheory/Group/AddCircle.lean +++ b/Mathlib/MeasureTheory/Group/AddCircle.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic -import Mathlib.Data.ZMod.QuotientGroup -import Mathlib.MeasureTheory.Group.AEStabilizer +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +public import Mathlib.Data.ZMod.QuotientGroup +public import Mathlib.MeasureTheory.Group.AEStabilizer /-! # Measure-theoretic results about the additive circle @@ -21,6 +23,8 @@ The file is a place to collect measure-theoretic results about the additive circ -/ +@[expose] public section + open Set Function Filter MeasureTheory MeasureTheory.Measure Metric diff --git a/Mathlib/MeasureTheory/Group/Arithmetic.lean b/Mathlib/MeasureTheory/Group/Arithmetic.lean index 9bb0d059ec906d..328fa4d2880c7c 100644 --- a/Mathlib/MeasureTheory/Group/Arithmetic.lean +++ b/Mathlib/MeasureTheory/Group/Arithmetic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.AEMeasurable +module + +public import Mathlib.MeasureTheory.Measure.AEMeasurable /-! # Typeclasses for measurability of operations @@ -42,6 +44,8 @@ measurable function, arithmetic operator in the conclusion of `MeasurableSMul`.) -/ +@[expose] public section + open MeasureTheory open scoped Pointwise diff --git a/Mathlib/MeasureTheory/Group/Convolution.lean b/Mathlib/MeasureTheory/Group/Convolution.lean index bcae5a290f82fa..7c8d14f42196f0 100644 --- a/Mathlib/MeasureTheory/Group/Convolution.lean +++ b/Mathlib/MeasureTheory/Group/Convolution.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ -import Mathlib.MeasureTheory.Group.Defs -import Mathlib.MeasureTheory.Measure.Prod +module + +public import Mathlib.MeasureTheory.Group.Defs +public import Mathlib.MeasureTheory.Measure.Prod /-! # The multiplicative and additive convolution of measures @@ -19,6 +21,8 @@ In this file we define and prove properties about the convolutions of two measur under the product measure. -/ +@[expose] public section + namespace MeasureTheory namespace Measure diff --git a/Mathlib/MeasureTheory/Group/Defs.lean b/Mathlib/MeasureTheory/Group/Defs.lean index 8dd6bd67e42055..9c4ec6a36e160d 100644 --- a/Mathlib/MeasureTheory/Group/Defs.lean +++ b/Mathlib/MeasureTheory/Group/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.Map +module + +public import Mathlib.MeasureTheory.Measure.Map /-! # Definitions about invariant measures @@ -37,6 +39,8 @@ The definitions that use `MeasureTheory.Measure.map` imply that the left (resp., right) multiplication is `AEMeasurable`. -/ +@[expose] public section + assert_not_exists Module.Basis namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Group/FundamentalDomain.lean b/Mathlib/MeasureTheory/Group/FundamentalDomain.lean index 204dee9f463904..c8cc303fcab548 100644 --- a/Mathlib/MeasureTheory/Group/FundamentalDomain.lean +++ b/Mathlib/MeasureTheory/Group/FundamentalDomain.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alex Kontorovich, Heather Macbeth -/ -import Mathlib.MeasureTheory.Group.Action -import Mathlib.MeasureTheory.Group.Pointwise -import Mathlib.MeasureTheory.Integral.Lebesgue.Map -import Mathlib.MeasureTheory.Integral.Bochner.Set +module + +public import Mathlib.MeasureTheory.Group.Action +public import Mathlib.MeasureTheory.Group.Pointwise +public import Mathlib.MeasureTheory.Integral.Lebesgue.Map +public import Mathlib.MeasureTheory.Integral.Bochner.Set /-! # Fundamental domain of a group action @@ -45,6 +47,8 @@ We also generate additive versions of all theorems in this file using the `to_ad Elements of `s` that do not belong to any other translate of `s`. -/ +@[expose] public section + open scoped ENNReal Pointwise Topology NNReal ENNReal MeasureTheory diff --git a/Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean b/Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean index f57530870ba5ca..928dcc295ba388 100644 --- a/Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean +++ b/Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Analysis.Convex.Body -import Mathlib.Analysis.Convex.Measure -import Mathlib.MeasureTheory.Group.FundamentalDomain +module + +public import Mathlib.Analysis.Convex.Body +public import Mathlib.Analysis.Convex.Measure +public import Mathlib.MeasureTheory.Group.FundamentalDomain /-! # Geometry of numbers @@ -33,6 +35,8 @@ Hermann Minkowski. * [Pete L. Clark, *Geometry of Numbers with Applications to Number Theory*][clark_gon] p.28 -/ +@[expose] public section + namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Group/Integral.lean b/Mathlib/MeasureTheory/Group/Integral.lean index 49d762dd9d13a6..331562aaeaff6c 100644 --- a/Mathlib/MeasureTheory/Group/Integral.lean +++ b/Mathlib/MeasureTheory/Group/Integral.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.MeasureTheory.Group.Measure +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.MeasureTheory.Group.Measure /-! # Bochner Integration on Groups @@ -13,6 +15,8 @@ We develop properties of integrals with a group as domain. This file contains properties about integrability and Bochner integration. -/ +@[expose] public section + namespace MeasureTheory open Measure TopologicalSpace diff --git a/Mathlib/MeasureTheory/Group/IntegralConvolution.lean b/Mathlib/MeasureTheory/Group/IntegralConvolution.lean index c15a049f2c7979..f9d4db70f31209 100644 --- a/Mathlib/MeasureTheory/Group/IntegralConvolution.lean +++ b/Mathlib/MeasureTheory/Group/IntegralConvolution.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Group.Convolution -import Mathlib.MeasureTheory.Integral.Prod +module + +public import Mathlib.MeasureTheory.Group.Convolution +public import Mathlib.MeasureTheory.Integral.Prod /-! # Bochner integrals of convolutions @@ -23,6 +25,8 @@ integrals over there. `∫ x, f x ∂(μ ∗ₘ ν) = ∫ x, ∫ y, f (x + y) ∂ν ∂μ`. -/ +@[expose] public section + namespace MeasureTheory variable {M F : Type*} [Monoid M] {mM : MeasurableSpace M} [MeasurableMul₂ M] diff --git a/Mathlib/MeasureTheory/Group/LIntegral.lean b/Mathlib/MeasureTheory/Group/LIntegral.lean index 9fb994a1de6b94..40d7f23f16f530 100644 --- a/Mathlib/MeasureTheory/Group/LIntegral.lean +++ b/Mathlib/MeasureTheory/Group/LIntegral.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Group.Measure +module + +public import Mathlib.MeasureTheory.Group.Measure /-! # Lebesgue Integration on Groups @@ -12,6 +14,8 @@ We develop properties of integrals with a group as domain. This file contains properties about Lebesgue integration. -/ +@[expose] public section + assert_not_exists NormedSpace namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Group/MeasurableEquiv.lean b/Mathlib/MeasureTheory/Group/MeasurableEquiv.lean index 24cd0e01a4329a..db24b7e4aa6897 100644 --- a/Mathlib/MeasureTheory/Group/MeasurableEquiv.lean +++ b/Mathlib/MeasureTheory/Group/MeasurableEquiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Group.Arithmetic +module + +public import Mathlib.MeasureTheory.Group.Arithmetic /-! # (Scalar) multiplication and (vector) addition as measurable equivalences @@ -34,6 +36,8 @@ We also deduce that the corresponding maps are measurable embeddings. measurable, equivalence, group action -/ +@[expose] public section + open scoped Pointwise NNReal namespace MeasurableEquiv diff --git a/Mathlib/MeasureTheory/Group/Measure.lean b/Mathlib/MeasureTheory/Group/Measure.lean index 62b43445e4ea4b..febded158b1da7 100644 --- a/Mathlib/MeasureTheory/Group/Measure.lean +++ b/Mathlib/MeasureTheory/Group/Measure.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.MeasureTheory.Group.Action -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.ContinuousMap.CocompactMap -import Mathlib.Topology.Algebra.ContinuousMonoidHom +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.MeasureTheory.Group.Action +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.ContinuousMap.CocompactMap +public import Mathlib.Topology.Algebra.ContinuousMonoidHom /-! # Measures on Groups @@ -24,6 +26,8 @@ We develop some properties of measures on (topological) groups We also give analogues of all these notions in the additive world. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Group/ModularCharacter.lean b/Mathlib/MeasureTheory/Group/ModularCharacter.lean index 23abed39d34b0a..2369ac16d20836 100644 --- a/Mathlib/MeasureTheory/Group/ModularCharacter.lean +++ b/Mathlib/MeasureTheory/Group/ModularCharacter.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Noam Atar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Noam Atar -/ -import Mathlib.MeasureTheory.Function.LocallyIntegrable -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.Topology.Metrizable.Urysohn -import Mathlib.MeasureTheory.Measure.Haar.Unique -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.MeasureTheory.Function.LocallyIntegrable +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.Topology.Metrizable.Urysohn +public import Mathlib.MeasureTheory.Measure.Haar.Unique +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Modular character of a locally compact group @@ -29,6 +31,8 @@ TODO: Show that the character is continuous. * `modularCharacter`: The homomorphism G →* ℝ≥0 whose toFun is `modularCharacterFun`. -/ +@[expose] public section + open MeasureTheory open scoped NNReal diff --git a/Mathlib/MeasureTheory/Group/Pointwise.lean b/Mathlib/MeasureTheory/Group/Pointwise.lean index 84db89e4019cb7..9bfa485d96a080 100644 --- a/Mathlib/MeasureTheory/Group/Pointwise.lean +++ b/Mathlib/MeasureTheory/Group/Pointwise.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alex J. Best -/ -import Mathlib.MeasureTheory.Group.Arithmetic +module + +public import Mathlib.MeasureTheory.Group.Arithmetic /-! # Pointwise set operations on `MeasurableSet`s @@ -13,6 +15,8 @@ In this file we prove several versions of the following fact: if `s` is a measur no `MeasurableSet.mul` etc. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/MeasureTheory/Group/Prod.lean b/Mathlib/MeasureTheory/Group/Prod.lean index 73226ef793c503..52d9fb5ce8d26e 100644 --- a/Mathlib/MeasureTheory/Group/Prod.lean +++ b/Mathlib/MeasureTheory/Group/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.MeasureTheory.Measure.Prod +module + +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.MeasureTheory.Measure.Prod /-! # Measure theory in the product of groups @@ -37,6 +39,8 @@ continuous functions instead of measurable sets and working in the general local setting, see the file `Mathlib/MeasureTheory/Measure/Haar/Unique.lean`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/Asymptotics.lean b/Mathlib/MeasureTheory/Integral/Asymptotics.lean index 69fecde8ba93fa..e9bb5ae5a8f82b 100644 --- a/Mathlib/MeasureTheory/Integral/Asymptotics.lean +++ b/Mathlib/MeasureTheory/Integral/Asymptotics.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Lawrence Wu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lawrence Wu -/ -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +module + +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap /-! # Bounding of integrals by asymptotics @@ -25,6 +27,8 @@ We establish integrability of `f` from `f = O(g)`. `g` integrable `atTop`, then `f` is integrable. -/ +@[expose] public section + open Asymptotics MeasureTheory Set Filter variable {α E F : Type*} [NormedAddCommGroup E] {f : α → E} {g : α → F} {a : α} {l : Filter α} diff --git a/Mathlib/MeasureTheory/Integral/Average.lean b/Mathlib/MeasureTheory/Integral/Average.lean index 8a7938920c2da6..07a18568d38147 100644 --- a/Mathlib/MeasureTheory/Integral/Average.lean +++ b/Mathlib/MeasureTheory/Integral/Average.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap /-! # Integral average of a function @@ -34,6 +36,8 @@ function, we provide a convenience lemma `MeasureTheory.Integrable.to_average`. integral, center mass, average value -/ +@[expose] public section + open ENNReal MeasureTheory MeasureTheory.Measure Metric Set Filter TopologicalSpace Function diff --git a/Mathlib/MeasureTheory/Integral/Bochner.lean b/Mathlib/MeasureTheory/Integral/Bochner.lean index 79468f5403307d..0e73cb60bf591f 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.MeasureTheory.Integral.Bochner.L1 -import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.MeasureTheory.Integral.Bochner.L1 +public import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory deprecated_module (since := "2025-04-13") diff --git a/Mathlib/MeasureTheory/Integral/Bochner/Basic.lean b/Mathlib/MeasureTheory/Integral/Bochner/Basic.lean index a8d2362ff15125..df1752aa029eb8 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Group.MeasurableEquiv -import Mathlib.MeasureTheory.Integral.Bochner.L1 -import Mathlib.MeasureTheory.Integral.IntegrableOn -import Mathlib.MeasureTheory.Measure.OpenPos -import Mathlib.MeasureTheory.Measure.Real +module + +public import Mathlib.MeasureTheory.Group.MeasurableEquiv +public import Mathlib.MeasureTheory.Integral.Bochner.L1 +public import Mathlib.MeasureTheory.Integral.IntegrableOn +public import Mathlib.MeasureTheory.Measure.OpenPos +public import Mathlib.MeasureTheory.Measure.Real /-! # Bochner integral @@ -130,6 +132,8 @@ Bochner integral, simple function, function space, Lebesgue dominated convergenc -/ +@[expose] public section + noncomputable section open Filter ENNReal EMetric Set TopologicalSpace Topology @@ -1440,7 +1444,7 @@ attribute [local instance] monadLiftOptionMetaM in This extension only proves non-negativity, strict positivity is more delicate for integration and requires more assumptions. -/ @[positivity MeasureTheory.integral _ _] -def evalIntegral : PositivityExt where eval {u α} zα pα e := do +meta def evalIntegral : PositivityExt where eval {u α} zα pα e := do match u, α, e with | 0, ~q(ℝ), ~q(@MeasureTheory.integral $i ℝ _ $inst2 _ _ $f) => let i : Q($i) ← mkFreshExprMVarQ q($i) .syntheticOpaque diff --git a/Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean b/Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean index c6ea01b038cc8d..e3aff0130cbb5a 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.Topology.ContinuousMap.ContinuousMapZero +module + +public import Mathlib.Analysis.NormedSpace.HahnBanach.SeparatingDual +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.Topology.ContinuousMap.ContinuousMapZero /-! # Continuous linear maps composed with integration @@ -17,6 +19,8 @@ the composition, as we are dealing with classes of functions, but it has already as `ContinuousLinearMap.compLp`. We take advantage of this construction here. -/ +@[expose] public section + open MeasureTheory RCLike open scoped ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Integral/Bochner/FundThmCalculus.lean b/Mathlib/MeasureTheory/Integral/Bochner/FundThmCalculus.lean index cf48736f6e0c82..ac19548892ffec 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/FundThmCalculus.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/FundThmCalculus.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Integral.Bochner.Set +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Set /-! # Fundamental theorem of calculus for set integrals @@ -19,6 +21,8 @@ as `s` tends to `l.smallSets`, i.e. for any `ε>0` there exists `t ∈ l` such t theorem for a locally finite measure `μ` and a function `f` continuous at a point `a`. -/ +@[expose] public section + open Filter MeasureTheory Topology Asymptotics Metric variable {X E ι : Type*} [MeasurableSpace X] [NormedAddCommGroup E] [NormedSpace ℝ E] diff --git a/Mathlib/MeasureTheory/Integral/Bochner/L1.lean b/Mathlib/MeasureTheory/Integral/Bochner/L1.lean index 435c4d5c32e1ae..1670f66a20af93 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/L1.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/L1.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.SetToL1 +module + +public import Mathlib.MeasureTheory.Integral.SetToL1 /-! # Bochner integral @@ -53,6 +55,8 @@ Bochner integral, simple function, function space, Lebesgue dominated convergenc -/ +@[expose] public section + assert_not_exists Differentiable diff --git a/Mathlib/MeasureTheory/Integral/Bochner/Set.lean b/Mathlib/MeasureTheory/Integral/Bochner/Set.lean index 00fc9fca5d3e1a..0d8ebc3b0ec778 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/Set.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/Set.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.Combinatorics.Enumerative.InclusionExclusion -import Mathlib.MeasureTheory.Function.LocallyIntegrable -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.MetricSpace.ThickenedIndicator +module + +public import Mathlib.Combinatorics.Enumerative.InclusionExclusion +public import Mathlib.MeasureTheory.Function.LocallyIntegrable +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.MetricSpace.ThickenedIndicator /-! # Set integral @@ -38,6 +40,8 @@ Note that the set notations are defined in the file but we reference them here because all theorems about set integrals are in this file. -/ +@[expose] public section + assert_not_exists InnerProductSpace open Filter Function MeasureTheory RCLike Set TopologicalSpace Topology diff --git a/Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean b/Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean index 1bb21dec738aaa..21c95ecff9cc55 100644 --- a/Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean +++ b/Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.Topology.Semicontinuous -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.Topology.Instances.EReal.Lemmas +module + +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.Topology.Semicontinuous +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.Topology.Instances.EReal.Lemmas /-! # Vitali-Carathéodory theorem @@ -69,6 +71,8 @@ See result `MeasureTheory.Lp.boundedContinuousFunction_dense`, in the file -/ +@[expose] public section + open scoped ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Integral/BochnerL1.lean b/Mathlib/MeasureTheory/Integral/BochnerL1.lean index 72386d631db234..79483b11c2db7c 100644 --- a/Mathlib/MeasureTheory/Integral/BochnerL1.lean +++ b/Mathlib/MeasureTheory/Integral/BochnerL1.lean @@ -3,6 +3,8 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.Bochner.L1 +module + +public import Mathlib.MeasureTheory.Integral.Bochner.L1 deprecated_module (since := "2025-04-06") diff --git a/Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean b/Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean index 4b9faedf17f0bb..9dd36e5ba83c0c 100644 --- a/Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean +++ b/Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.Algebra.Order.LiminfLimsup +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.Algebra.Order.LiminfLimsup /-! # Integration of bounded continuous functions @@ -16,6 +18,8 @@ specialized form in some other files, in particular in those related to the topo convergence of probability measures and finite measures. -/ +@[expose] public section + open MeasureTheory Filter open scoped ENNReal NNReal BoundedContinuousFunction Topology diff --git a/Mathlib/MeasureTheory/Integral/CircleAverage.lean b/Mathlib/MeasureTheory/Integral/CircleAverage.lean index 0e3c8ea8a2cfa8..e4f581844b73d9 100644 --- a/Mathlib/MeasureTheory/Integral/CircleAverage.lean +++ b/Mathlib/MeasureTheory/Integral/CircleAverage.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.MeasureTheory.Integral.CircleIntegral -import Mathlib.MeasureTheory.Integral.IntervalAverage -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +module + +public import Mathlib.MeasureTheory.Integral.CircleIntegral +public import Mathlib.MeasureTheory.Integral.IntervalAverage +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic /-! # Circle Averages @@ -27,6 +29,8 @@ Implementation Note: Like `circleMap`, `circleAverage`s are defined for negative `circleAverage_congr_negRadius` shows that the average is independent of the radius' sign. -/ +@[expose] public section + open Complex Filter Metric Real variable diff --git a/Mathlib/MeasureTheory/Integral/CircleIntegral.lean b/Mathlib/MeasureTheory/Integral/CircleIntegral.lean index 307dc41f1a8bb8..c9f1601a59606d 100644 --- a/Mathlib/MeasureTheory/Integral/CircleIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/CircleIntegral.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Analytic.IsolatedZeros -import Mathlib.Analysis.SpecialFunctions.Complex.CircleMap -import Mathlib.Analysis.SpecialFunctions.NonIntegrable +module + +public import Mathlib.Analysis.Analytic.IsolatedZeros +public import Mathlib.Analysis.SpecialFunctions.Complex.CircleMap +public import Mathlib.Analysis.SpecialFunctions.NonIntegrable /-! # Integral over a circle in `ℂ` @@ -62,6 +64,8 @@ some lemmas use, e.g., `(z - c)⁻¹ • f z` instead of `f z / (z - c)`. integral, circle, Cauchy integral -/ +@[expose] public section + variable {E : Type*} [NormedAddCommGroup E] noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/CircleTransform.lean b/Mathlib/MeasureTheory/Integral/CircleTransform.lean index 38382e5273afaa..b65550727c92db 100644 --- a/Mathlib/MeasureTheory/Integral/CircleTransform.lean +++ b/Mathlib/MeasureTheory/Integral/CircleTransform.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Data.Complex.Basic -import Mathlib.MeasureTheory.Integral.CircleIntegral +module + +public import Mathlib.Data.Complex.Basic +public import Mathlib.MeasureTheory.Integral.CircleIntegral /-! # Circle integral transform @@ -18,6 +20,8 @@ is holomorphic. -/ +@[expose] public section + open Set MeasureTheory Metric Filter Function diff --git a/Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean b/Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean index 29506f5b04f401..28f0e05dfb07d1 100644 --- a/Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Field.Pointwise -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.Analysis.Calculus.Deriv.AffineMap -import Mathlib.Analysis.Calculus.Deriv.Shift -import Mathlib.Analysis.Normed.Module.Convex -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.Algebra.Order.Field.Pointwise +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.Analysis.Calculus.Deriv.AffineMap +public import Mathlib.Analysis.Calculus.Deriv.Shift +public import Mathlib.Analysis.Normed.Module.Convex +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # Integral of a 1-form along a path @@ -84,6 +86,8 @@ in `HasFDerivWithinAt.curveIntegral_segment_source` and a future formalization of Poincaré lemma. -/ +@[expose] public section + open Metric MeasureTheory Topology Set Interval AffineMap Convex Filter open scoped Pointwise unitInterval diff --git a/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean b/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean index 012296e23fa939..9fb9d777a5176f 100644 --- a/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean +++ b/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.BoxIntegral.DivergenceTheorem -import Mathlib.Analysis.BoxIntegral.Integrability -import Mathlib.Analysis.Calculus.Deriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Equiv -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.Analysis.BoxIntegral.DivergenceTheorem +public import Mathlib.Analysis.BoxIntegral.Integrability +public import Mathlib.Analysis.Calculus.Deriv.Basic +public import Mathlib.Analysis.Calculus.FDeriv.Equiv +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # Divergence theorem for Bochner integral @@ -49,6 +51,8 @@ website shows the actual terms, not those abbreviated using local notations. divergence theorem, Bochner integral -/ +@[expose] public section + open Set Finset TopologicalSpace Function BoxIntegral MeasureTheory Filter diff --git a/Mathlib/MeasureTheory/Integral/DominatedConvergence.lean b/Mathlib/MeasureTheory/Integral/DominatedConvergence.lean index a38dc550e41533..2c98f201678524 100644 --- a/Mathlib/MeasureTheory/Integral/DominatedConvergence.lean +++ b/Mathlib/MeasureTheory/Integral/DominatedConvergence.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Patrick Massot -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.MeasureTheory.Measure.Real -import Mathlib.Order.Filter.IndicatorFunction +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.MeasureTheory.Measure.Real +public import Mathlib.Order.Filter.IndicatorFunction /-! # The dominated convergence theorem @@ -29,6 +31,8 @@ for the Bochner integral. -/ +@[expose] public section + open MeasureTheory Metric /-! diff --git a/Mathlib/MeasureTheory/Integral/ExpDecay.lean b/Mathlib/MeasureTheory/Integral/ExpDecay.lean index 7de49a8f862135..fde4a7345883d9 100644 --- a/Mathlib/MeasureTheory/Integral/ExpDecay.lean +++ b/Mathlib/MeasureTheory/Integral/ExpDecay.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.MeasureTheory.Integral.Asymptotics -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.MeasureTheory.Integral.IntegralEqImproper +module + +public import Mathlib.MeasureTheory.Integral.Asymptotics +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper /-! # Integrals with exponential decay at ∞ @@ -17,6 +19,8 @@ for integrability: exists `b > 0` such that `f(x) = O(exp(-b x))` as `x → ∞`, then `f` is integrable on `(a, ∞)`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean b/Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean index 99285434591558..4ddfb4e1c4616a 100644 --- a/Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean +++ b/Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +module + +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp /-! # Additivity on measurable sets with finite measure @@ -30,6 +32,8 @@ The starting object `T : Set α → E →L[ℝ] F` matters only through its rest with finite measure. Its value on other sets is ignored. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/FundThmCalculus.lean b/Mathlib/MeasureTheory/Integral/FundThmCalculus.lean index 039794d2c686b6..f12b07f695527b 100644 --- a/Mathlib/MeasureTheory/Integral/FundThmCalculus.lean +++ b/Mathlib/MeasureTheory/Integral/FundThmCalculus.lean @@ -3,6 +3,8 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus deprecated_module (since := "2025-04-06") diff --git a/Mathlib/MeasureTheory/Integral/Gamma.lean b/Mathlib/MeasureTheory/Integral/Gamma.lean index dc71fbadf0784e..ccfc210ee73316 100644 --- a/Mathlib/MeasureTheory/Integral/Gamma.lean +++ b/Mathlib/MeasureTheory/Integral/Gamma.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.SpecialFunctions.PolarCoord -import Mathlib.Analysis.SpecialFunctions.Gamma.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.PolarCoord +public import Mathlib.Analysis.SpecialFunctions.Gamma.Basic /-! # Integrals involving the Gamma function @@ -14,6 +16,8 @@ In this file, we collect several integrals over `ℝ` or `ℂ` that evaluate in -/ +@[expose] public section + open Real Set MeasureTheory MeasureTheory.Measure section real diff --git a/Mathlib/MeasureTheory/Integral/Indicator.lean b/Mathlib/MeasureTheory/Integral/Indicator.lean index 6b7d6351529288..f830415cccf162 100644 --- a/Mathlib/MeasureTheory/Integral/Indicator.lean +++ b/Mathlib/MeasureTheory/Integral/Indicator.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable -import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable +public import Mathlib.MeasureTheory.Integral.Lebesgue.DominatedConvergence /-! # Results about indicator functions, their integrals, and measures @@ -26,6 +28,8 @@ moved out of `Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean`, and the lemma be moved to, e.g., `Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean`. -/ +@[expose] public section + namespace MeasureTheory section TendstoIndicator diff --git a/Mathlib/MeasureTheory/Integral/IntegrableOn.lean b/Mathlib/MeasureTheory/Integral/IntegrableOn.lean index be42efdf0202aa..1bce597689eb07 100644 --- a/Mathlib/MeasureTheory/Integral/IntegrableOn.lean +++ b/Mathlib/MeasureTheory/Integral/IntegrableOn.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Function.L1Space.Integrable -import Mathlib.MeasureTheory.Function.LpSpace.Indicator +module + +public import Mathlib.MeasureTheory.Function.L1Space.Integrable +public import Mathlib.MeasureTheory.Function.LpSpace.Indicator /-! # Functions integrable on a set and at a filter @@ -18,6 +20,8 @@ at `l`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean b/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean index 25f687f0babbc2..27fc39b52b385a 100644 --- a/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean +++ b/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Bhavik Mehta -/ -import Mathlib.Analysis.Calculus.Deriv.Support -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv -import Mathlib.MeasureTheory.Function.JacobianOneDim -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts -import Mathlib.MeasureTheory.Measure.Haar.NormedSpace -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.Analysis.Calculus.Deriv.Support +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.MeasureTheory.Function.JacobianOneDim +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +public import Mathlib.MeasureTheory.Measure.Haar.NormedSpace +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Links between an integral and its "improper" version @@ -75,6 +77,8 @@ Versions of these results are also given on the intervals `(-∞, a]` and `(-∞ the corresponding versions of integration by parts. -/ +@[expose] public section + open MeasureTheory Filter Set TopologicalSpace Topology open scoped ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Integral/IntegrationByParts.lean b/Mathlib/MeasureTheory/Integral/IntegrationByParts.lean index 914520ab740df0..5331c1ad419584 100644 --- a/Mathlib/MeasureTheory/Integral/IntegrationByParts.lean +++ b/Mathlib/MeasureTheory/Integral/IntegrationByParts.lean @@ -3,6 +3,8 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts deprecated_module (since := "2025-04-06") diff --git a/Mathlib/MeasureTheory/Integral/IntervalAverage.lean b/Mathlib/MeasureTheory/Integral/IntervalAverage.lean index 1a1b842f4153d7..40e85e157caea8 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalAverage.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalAverage.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.MeasureTheory.Integral.Average +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.MeasureTheory.Integral.Average /-! # Integral average over an interval @@ -25,6 +27,8 @@ We also prove that `⨍ x in a..b, f x = ⨍ x in b..a, f x`, see `interval_aver -/ +@[expose] public section + open MeasureTheory Set TopologicalSpace diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral.lean index 0180e3852d3906..8f3d22ff60d28c 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus -import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts deprecated_module (since := "2025-04-13") diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean index c69d3405d6f66e..25e15c2dfe6a42 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.MeasureTheory.Topology +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.MeasureTheory.Topology /-! # Integral over an interval @@ -45,6 +47,8 @@ three possible intervals with the same endpoints for two reasons: integral -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean index 84daca46a4298c..1f2c69f76d5f2a 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.ContDiff.Basic -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +module + +public import Mathlib.Analysis.Calculus.ContDiff.Basic +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus /-! # Fundamental theorem of calculus for `C^1` functions @@ -12,6 +14,8 @@ We give versions of the second fundamental theorem of calculus under the strong that the function is `C^1` on the interval. This is restrictive, but satisfied in many situations. -/ +@[expose] public section + noncomputable section open MeasureTheory Set Filter Function Asymptotics diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean index 4e18d22be4988a..cdc3418c8af462 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Measurable -import Mathlib.Analysis.Normed.Module.Dual -import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus -import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory -import Mathlib.MeasureTheory.Integral.DominatedConvergence +module + +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Comp +public import Mathlib.Analysis.Calculus.FDeriv.Measurable +public import Mathlib.Analysis.Normed.Module.Dual +public import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory +public import Mathlib.MeasureTheory.Integral.DominatedConvergence /-! # Fundamental Theorem of Calculus @@ -140,6 +142,8 @@ instances could be added when needed (in that case, one also needs to add instan integral, fundamental theorem of calculus, FTC-1, FTC-2 -/ +@[expose] public section + assert_not_exists HasDerivAt.mul -- guard against import creep noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean index 96d304d604cf8d..019ce4547fce90 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot, Sébastien Gouëzel -/ -import Mathlib.Analysis.Calculus.Deriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +module + +public import Mathlib.Analysis.Calculus.Deriv.Mul +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus /-! # Integration by parts and by substitution @@ -23,6 +25,8 @@ can be found in `Mathlib/MeasureTheory/Function/JacobianOneDim.lean` integration by parts, change of variables in integrals -/ +@[expose] public section + open MeasureTheory Set open scoped Topology Interval diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean index f7ee3b57b3421a..b9a3092595865e 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferentiationThm.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yizheng Zhu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yizheng Zhu -/ -import Mathlib.Analysis.Calculus.Deriv.Slope -import Mathlib.MeasureTheory.Covering.OneDim -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.Analysis.Calculus.Deriv.Slope +public import Mathlib.MeasureTheory.Covering.OneDim +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # Lebesgue Differentiation Theorem (Interval Version) @@ -22,6 +24,8 @@ is interval integrable on `a..b`, then for almost every `x ∈ uIcc a b`, for an derivative of `∫ (t : ℝ) in c..x, f t` at `x` is equal to `f x`. -/ +@[expose] public section + open MeasureTheory Set Filter Function IsUnifLocDoublingMeasure open scoped Topology diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean index 6cfbe7280f535e..45c445df755ca7 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alex Kontorovich, Heather Macbeth -/ -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.MeasureTheory.Measure.Haar.Quotient -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.Topology.Algebra.Order.Floor -import Mathlib.Topology.Instances.AddCircle.Real +module + +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.MeasureTheory.Measure.Haar.Quotient +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.Topology.Algebra.Order.Floor +public import Mathlib.Topology.Instances.AddCircle.Real /-! # Integrals of periodic functions @@ -24,6 +26,8 @@ Another consequence (`Function.Periodic.intervalIntegral_add_eq` and related dec period `T`. -/ +@[expose] public section + open Set Function MeasureTheory MeasureTheory.Measure TopologicalSpace AddSubgroup intervalIntegral open scoped MeasureTheory NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Integral/Layercake.lean b/Mathlib/MeasureTheory/Integral/Layercake.lean index baa761a4ec053e..fdecc75323addc 100644 --- a/Mathlib/MeasureTheory/Integral/Layercake.lean +++ b/Mathlib/MeasureTheory/Integral/Layercake.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic /-! # The layer cake formula / Cavalieri's principle / tail probability formula @@ -56,6 +58,8 @@ function, is given in `Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean`. layer cake representation, Cavalieri's principle, tail probability formula -/ +@[expose] public section + noncomputable section open scoped ENNReal MeasureTheory Topology diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue.lean b/Mathlib/MeasureTheory/Integral/Lebesgue.lean index 88f5ca4aba4ac0..2c3fe352ef5f61 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic -import Mathlib.MeasureTheory.Integral.Lebesgue.Countable -import Mathlib.MeasureTheory.Integral.Lebesgue.MeasurePreserving -import Mathlib.MeasureTheory.Integral.Lebesgue.Norm +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +public import Mathlib.MeasureTheory.Integral.Lebesgue.Countable +public import Mathlib.MeasureTheory.Integral.Lebesgue.MeasurePreserving +public import Mathlib.MeasureTheory.Integral.Lebesgue.Norm deprecated_module (since := "2025-04-13") diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean index e36418af14c286..7d328603ff58b9 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Real -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Real +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic /-! # Monotone convergence theorem and addition of Lebesgue integrals @@ -16,6 +18,8 @@ several variants of this theorem, then uses it to show that the Lebesgue integra a constant. -/ +@[expose] public section + namespace MeasureTheory open Set Filter ENNReal Topology NNReal SimpleFunc diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean index d94262b3747c70..cb4f25b535d3c3 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Function.SimpleFunc +module + +public import Mathlib.MeasureTheory.Function.SimpleFunc /-! # Lower Lebesgue integral for `ℝ≥0∞`-valued functions @@ -23,6 +25,8 @@ We introduce the following notation for the lower Lebesgue integral of a functio to the canonical measure `volume`, defined as `∫⁻ x, f x ∂(volume.restrict s)`. -/ +@[expose] public section + assert_not_exists Module.Basis Norm MeasureTheory.MeasurePreserving MeasureTheory.Measure.dirac open Set hiding restrict restrict_apply diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean index 7d7a65ac698183..b0a7002b5efe01 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Map -import Mathlib.MeasureTheory.Integral.Lebesgue.Markov -import Mathlib.MeasureTheory.Measure.Count +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Map +public import Mathlib.MeasureTheory.Integral.Lebesgue.Markov +public import Mathlib.MeasureTheory.Measure.Count /-! # Lebesgue integral over finite and countable types, sets and measures @@ -16,6 +18,8 @@ The lemmas in this file require at least one of the following of the Lebesgue in * The measure is finite, s-finite or sigma-finite -/ +@[expose] public section + namespace MeasureTheory open Set ENNReal NNReal Measure diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean index 6f1f6103596640..bc75ae1c1a2245 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/DominatedConvergence.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Markov -import Mathlib.MeasureTheory.Integral.Lebesgue.Sub +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Markov +public import Mathlib.MeasureTheory.Integral.Lebesgue.Sub /-! # Dominated convergence theorem @@ -14,6 +16,8 @@ a sequence of (almost everywhere) measurable functions can be swapped if the fun pointwise dominated by a fixed function. This file provides a few variants of the result. -/ +@[expose] public section + open Filter ENNReal Topology namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Map.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Map.lean index ceab01e59c1722..cd30f4bfe59ad1 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Map.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Map.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Integral.Lebesgue.Add +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add /-! # Behavior of the Lebesgue integral under maps -/ +@[expose] public section + namespace MeasureTheory open Set Filter ENNReal SimpleFunc diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean index 6c4151b62b6e62..59df2c14e6ab83 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Markov.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Add +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add /-! # Markov's inequality @@ -17,6 +19,8 @@ the measure-theoretic form: This file proves a few variants of the inequality and other lemmas that depend on it. -/ +@[expose] public section + namespace MeasureTheory open Set Filter ENNReal Topology diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/MeasurePreserving.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/MeasurePreserving.lean index 1582ba49bf96f2..b0ad2254f404b1 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/MeasurePreserving.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/MeasurePreserving.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic deprecated_module (since := "2025-04-15") diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Norm.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Norm.lean index 36912561ec1072..c50732ed24f163 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Norm.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Norm.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +module + +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic /-! # Interactions between the Lebesgue integral and norms -/ +@[expose] public section + namespace MeasureTheory variable {α : Type*} [MeasurableSpace α] {μ : Measure α} diff --git a/Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean b/Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean index eadc269428d038..c1b282db105197 100644 --- a/Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean +++ b/Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Add +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add /-! # Subtraction of Lebesgue integrals @@ -13,6 +15,8 @@ In this file we first show that Lebesgue integrals can be subtracted with the ex the monotone convergence theorem that use this subtraction in their proofs. -/ +@[expose] public section + open Filter ENNReal Topology namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Integral/LebesgueNormedSpace.lean b/Mathlib/MeasureTheory/Integral/LebesgueNormedSpace.lean index 02feec70974ce8..dd9eadc0ecedc3 100644 --- a/Mathlib/MeasureTheory/Integral/LebesgueNormedSpace.lean +++ b/Mathlib/MeasureTheory/Integral/LebesgueNormedSpace.lean @@ -3,11 +3,15 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.WithDensity -import Mathlib.Analysis.Normed.Module.Basic +module + +public import Mathlib.MeasureTheory.Measure.WithDensity +public import Mathlib.Analysis.Normed.Module.Basic /-! # A lemma about measurability with density under scalar multiplication in normed spaces -/ +@[expose] public section + open MeasureTheory Filter ENNReal Set diff --git a/Mathlib/MeasureTheory/Integral/Marginal.lean b/Mathlib/MeasureTheory/Integral/Marginal.lean index 187318398cafe7..147f87c01933f3 100644 --- a/Mathlib/MeasureTheory/Integral/Marginal.lean +++ b/Mathlib/MeasureTheory/Integral/Marginal.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Heather Macbeth -/ -import Mathlib.MeasureTheory.Constructions.Pi +module + +public import Mathlib.MeasureTheory.Constructions.Pi /-! # Marginals of multivariate functions @@ -53,6 +55,8 @@ since there is no well-behaved measure on the domain of `f`. -/ +@[expose] public section + open scoped ENNReal open Set Function Equiv Finset diff --git a/Mathlib/MeasureTheory/Integral/MeanInequalities.lean b/Mathlib/MeasureTheory/Integral/MeanInequalities.lean index aef12aa8577528..65d3ea47d5676a 100644 --- a/Mathlib/MeasureTheory/Integral/MeanInequalities.lean +++ b/Mathlib/MeasureTheory/Integral/MeanInequalities.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.MeanInequalities -import Mathlib.Analysis.MeanInequalitiesPow -import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic -import Mathlib.MeasureTheory.Integral.Lebesgue.Add +module + +public import Mathlib.Analysis.MeanInequalities +public import Mathlib.Analysis.MeanInequalitiesPow +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic +public import Mathlib.MeasureTheory.Integral.Lebesgue.Add /-! # Mean value inequalities for integrals @@ -32,6 +34,8 @@ Minkowski's inequality for the Lebesgue integral of measurable functions with ` we prove `(∫ (f + g)^p ∂μ) ^ (1/p) ≤ (∫ f^p ∂μ) ^ (1/p) + (∫ g^p ∂μ) ^ (1/p)` for `1 ≤ p`. -/ +@[expose] public section + section LIntegral diff --git a/Mathlib/MeasureTheory/Integral/PeakFunction.lean b/Mathlib/MeasureTheory/Integral/PeakFunction.lean index 23d849536202f2..f02a0fefa8d072 100644 --- a/Mathlib/MeasureTheory/Integral/PeakFunction.lean +++ b/Mathlib/MeasureTheory/Integral/PeakFunction.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.IntegralEqImproper +module + +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper /-! # Integrals against peak functions @@ -33,6 +35,8 @@ Note that there are related results about convolution with respect to peak funct `Mathlib/Analysis/Convolution.lean`, such as `MeasureTheory.convolution_tendsto_right` there. -/ +@[expose] public section + open Set Filter MeasureTheory MeasureTheory.Measure TopologicalSpace Metric open scoped Topology ENNReal diff --git a/Mathlib/MeasureTheory/Integral/Periodic.lean b/Mathlib/MeasureTheory/Integral/Periodic.lean index 7049a49e155d95..09d5c383eebf47 100644 --- a/Mathlib/MeasureTheory/Integral/Periodic.lean +++ b/Mathlib/MeasureTheory/Integral/Periodic.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alex Kontorovich, Heather Macbeth -/ -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic +module + +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Periodic deprecated_module (since := "2025-04-13") diff --git a/Mathlib/MeasureTheory/Integral/Pi.lean b/Mathlib/MeasureTheory/Integral/Pi.lean index 6fc4b6ab760dcc..f4cbf386ad6ea9 100644 --- a/Mathlib/MeasureTheory/Integral/Pi.lean +++ b/Mathlib/MeasureTheory/Integral/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.MeasureTheory.Integral.Prod +module + +public import Mathlib.MeasureTheory.Integral.Prod /-! # Integration with respect to a finite product of measures @@ -14,6 +16,8 @@ that its integral is the product of the individual integrals, in `MeasureTheory.integral_fintype_prod_eq_prod`. -/ +@[expose] public section + open Fintype MeasureTheory MeasureTheory.Measure namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Integral/Prod.lean b/Mathlib/MeasureTheory/Integral/Prod.lean index e19c2271e11de7..831d82316f968d 100644 --- a/Mathlib/MeasureTheory/Integral/Prod.lean +++ b/Mathlib/MeasureTheory/Integral/Prod.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Function.LpSeminorm.Prod -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Measure.Prod +module + +public import Mathlib.MeasureTheory.Function.LpSeminorm.Prod +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Measure.Prod /-! # Integration with respect to the product measure @@ -33,6 +35,8 @@ In this file we prove Fubini's theorem. product measure, Fubini's theorem, Fubini-Tonelli theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean index e0710a27b85978..371481921ff71c 100644 --- a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jesse Reimann. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jesse Reimann, Kalle Kytölä -/ -import Mathlib.MeasureTheory.Measure.Content -import Mathlib.Topology.ContinuousMap.CompactlySupported -import Mathlib.Topology.PartitionOfUnity +module + +public import Mathlib.MeasureTheory.Measure.Content +public import Mathlib.Topology.ContinuousMap.CompactlySupported +public import Mathlib.Topology.PartitionOfUnity /-! # Riesz–Markov–Kakutani representation theorem @@ -27,6 +29,8 @@ literature. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean index 89eb9bc9c1bdad..25eeb1f2541796 100644 --- a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean +++ b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Yoh Tanimioto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ +module -import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Real +public import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Real /-! # Riesz–Markov–Kakutani representation theorem for `ℝ≥0` @@ -25,6 +26,8 @@ reducing the statement to the `ℝ`-version of the theorem. -/ +@[expose] public section + open scoped NNReal open CompactlySupported CompactlySupportedContinuousMap MeasureTheory diff --git a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean index 67f2ca7cd67dae..87999062690aab 100644 --- a/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean +++ b/Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto, Oliver Butterley -/ -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Basic -import Mathlib.Order.Interval.Set.Union +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Integral.RieszMarkovKakutani.Basic +public import Mathlib.Order.Interval.Set.Union /-! # Riesz–Markov–Kakutani representation theorem for real-linear functionals @@ -37,6 +39,8 @@ equality is proven using two inequalities by considering `Λ f` and `Λ (-f)` fo * [Walter Rudin, Real and Complex Analysis.][Rud87] -/ +@[expose] public section + open scoped ENNReal open CompactlySupported CompactlySupportedContinuousMap Filter Function Set Topology TopologicalSpace MeasureTheory diff --git a/Mathlib/MeasureTheory/Integral/SetIntegral.lean b/Mathlib/MeasureTheory/Integral/SetIntegral.lean index edbc4a55858f7a..c64b58e2376868 100644 --- a/Mathlib/MeasureTheory/Integral/SetIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/SetIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus -import Mathlib.MeasureTheory.Integral.Bochner.Set +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Integral.Bochner.FundThmCalculus +public import Mathlib.MeasureTheory.Integral.Bochner.Set deprecated_module (since := "2025-04-15") diff --git a/Mathlib/MeasureTheory/Integral/SetToL1.lean b/Mathlib/MeasureTheory/Integral/SetToL1.lean index 58b13966dfcf4e..db07b44ba760ce 100644 --- a/Mathlib/MeasureTheory/Integral/SetToL1.lean +++ b/Mathlib/MeasureTheory/Integral/SetToL1.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov, Sébastien Gouëzel, Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.FinMeasAdditive -import Mathlib.Analysis.Normed.Operator.Completeness +module + +public import Mathlib.MeasureTheory.Integral.FinMeasAdditive +public import Mathlib.Analysis.Normed.Operator.Completeness /-! # Extension of a linear function from indicators to L1 @@ -57,6 +59,8 @@ If the space is also an ordered additive group with an order closed topology and - `setToFun_mono (hfg : f ≤ᵐ[μ] g) : setToFun μ T hT f ≤ setToFun μ T hT g` -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Integral/TorusIntegral.lean b/Mathlib/MeasureTheory/Integral/TorusIntegral.lean index d305d42f1d43cb..13ea96a3396fb7 100644 --- a/Mathlib/MeasureTheory/Integral/TorusIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/TorusIntegral.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Cuma Kökmen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Cuma Kökmen, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Integral.CircleIntegral -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.Order.Fin.Tuple -import Mathlib.Util.Superscript +module + +public import Mathlib.MeasureTheory.Integral.CircleIntegral +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.Order.Fin.Tuple +public import Mathlib.Util.Superscript /-! # Integral over a torus in `ℂⁿ` @@ -55,6 +57,8 @@ We also define a predicate saying that `f ∘ torusMap c R` is integrable on the integral, torus -/ +@[expose] public section + variable {n : ℕ} variable {E : Type*} [NormedAddCommGroup E] diff --git a/Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean b/Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean index 8055858045c686..d86de36b84b6a6 100644 --- a/Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean +++ b/Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory +module + +public import Mathlib.MeasureTheory.Integral.Bochner.VitaliCaratheodory deprecated_module (since := "2025-04-06") diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Basic.lean b/Mathlib/MeasureTheory/MeasurableSpace/Basic.lean index 6023ed55634ff9..79dc50c8237128 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Basic.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Data.Int.Cast.Pi -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.MeasureTheory.MeasurableSpace.Defs +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Data.Int.Cast.Pi +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.MeasureTheory.MeasurableSpace.Defs /-! # Measurable spaces and measurable functions @@ -40,6 +42,8 @@ Galois connection induced by `f`. measurable space, σ-algebra, measurable function, dynkin system, π-λ theorem, π-system -/ +@[expose] public section + open Set MeasureTheory universe uι diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Card.lean b/Mathlib/MeasureTheory/MeasurableSpace/Card.lean index 9a70174115e1b0..3a3cc52ce83fb1 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Card.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Card.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Violeta Hernández Palacios -/ -import Mathlib.MeasureTheory.MeasurableSpace.Defs -import Mathlib.SetTheory.Cardinal.Regular -import Mathlib.SetTheory.Cardinal.Continuum -import Mathlib.SetTheory.Cardinal.Ordinal +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Defs +public import Mathlib.SetTheory.Cardinal.Regular +public import Mathlib.SetTheory.Cardinal.Continuum +public import Mathlib.SetTheory.Cardinal.Ordinal /-! # Cardinal of sigma-algebras @@ -25,6 +27,8 @@ each step of the construction. We show in `MeasurableSpace.generateMeasurable_eq indeed generates this sigma-algebra. -/ +@[expose] public section + universe u v diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean b/Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean index d5d3f59da7feff..333c69d2205f74 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Finset.Update -import Mathlib.Data.Prod.TProd -import Mathlib.Data.Set.UnionLift -import Mathlib.GroupTheory.Coset.Defs -import Mathlib.MeasureTheory.MeasurableSpace.Basic -import Mathlib.MeasureTheory.MeasurableSpace.Instances -import Mathlib.Order.Disjointed +module + +public import Mathlib.Data.Finset.Update +public import Mathlib.Data.Prod.TProd +public import Mathlib.Data.Set.UnionLift +public import Mathlib.GroupTheory.Coset.Defs +public import Mathlib.MeasureTheory.MeasurableSpace.Basic +public import Mathlib.MeasureTheory.MeasurableSpace.Instances +public import Mathlib.Order.Disjointed /-! # Constructions for measurable spaces and functions @@ -18,6 +20,8 @@ This file provides several ways to construct new measurable spaces and functions `Quotient`, `Subtype`, `Prod`, `Pi`, etc. -/ +@[expose] public section + assert_not_exists Filter open Set Function diff --git a/Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean b/Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean index 4c64c387389f7d..ae4fbac376e08b 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher, Yury Kudryashov, Rémy Degenne -/ -import Mathlib.MeasureTheory.MeasurableSpace.Embedding -import Mathlib.Data.Set.MemPartition -import Mathlib.Order.Filter.CountableSeparatingOn +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Embedding +public import Mathlib.Data.Set.MemPartition +public import Mathlib.Order.Filter.CountableSeparatingOn /-! # Countably generated measurable spaces @@ -40,6 +42,8 @@ The file also contains measurability results about `memPartition`, from which th -/ +@[expose] public section + open Set MeasureTheory namespace MeasurableSpace diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Defs.lean b/Mathlib/MeasureTheory/MeasurableSpace/Defs.lean index 8e8f3dbe048bb7..2c47a6ec8a5005 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Defs.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Countable -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Tactic.FunProp.Attr -import Mathlib.Tactic.Measurability +module + +public import Mathlib.Data.Set.Countable +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Tactic.FunProp.Attr +public import Mathlib.Tactic.Measurability /-! # Measurable spaces and measurable functions @@ -35,6 +37,8 @@ contains all of them. measurable space, σ-algebra, measurable function -/ +@[expose] public section + assert_not_exists Covariant MonoidWithZero open Set Encodable Function Equiv diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean b/Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean index 482e2ff554d840..4ec3a1aa886b4f 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.Tactic.FunProp +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.Tactic.FunProp /-! # Measurable embeddings and equivalences @@ -35,6 +37,8 @@ We prove a multitude of elementary lemmas about these, and one more substantial measurable equivalence, measurable embedding -/ +@[expose] public section + open Set Function Equiv MeasureTheory diff --git a/Mathlib/MeasureTheory/MeasurableSpace/EventuallyMeasurable.lean b/Mathlib/MeasureTheory/MeasurableSpace/EventuallyMeasurable.lean index 6385bf0ebb1d07..f6b711b55c5f1e 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/EventuallyMeasurable.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/EventuallyMeasurable.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ +module -import Mathlib.MeasureTheory.MeasurableSpace.Defs -import Mathlib.Order.Filter.CountableInter +public import Mathlib.MeasureTheory.MeasurableSpace.Defs +public import Mathlib.Order.Filter.CountableInter /-! # Measurability modulo a filter @@ -31,6 +32,8 @@ TODO: Implement the latter. -/ +@[expose] public section + open Filter Set MeasurableSpace variable {α : Type*} (m : MeasurableSpace α) {s t : Set α} diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Instances.lean b/Mathlib/MeasureTheory/MeasurableSpace/Instances.lean index a760b97654d0de..fbd8302fa67663 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Instances.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Instances.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.MeasurableSpace.Defs -import Mathlib.GroupTheory.GroupAction.IterateAct -import Mathlib.Data.Rat.Init -import Mathlib.Data.ZMod.Defs +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Defs +public import Mathlib.GroupTheory.GroupAction.IterateAct +public import Mathlib.Data.Rat.Init +public import Mathlib.Data.ZMod.Defs /-! # Measurable-space typeclass instances @@ -15,6 +17,8 @@ This file provides measurable-space instances for a selection of standard counta in each case defining the Σ-algebra to be `⊤` (the discrete measurable-space structure). -/ +@[expose] public section + instance Empty.instMeasurableSpace : MeasurableSpace Empty := ⊤ instance PUnit.instMeasurableSpace : MeasurableSpace PUnit := ⊤ diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Invariants.lean b/Mathlib/MeasureTheory/MeasurableSpace/Invariants.lean index 635f9202e9bae4..cb1b8e37868318 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Invariants.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Invariants.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.MeasurableSpace.Defs +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Defs /-! # σ-algebra of sets invariant under a self-map @@ -13,6 +15,8 @@ to be the σ-algebra of sets `s : Set α` such that - and `f ⁻ˢ' s = s`. -/ +@[expose] public section + open Set Function open scoped MeasureTheory diff --git a/Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean b/Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean index baf5299a165edf..69aed99ed851c3 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.Order.Filter.AtTopBot.CompleteLattice -import Mathlib.Order.Filter.AtTopBot.CountablyGenerated -import Mathlib.Order.Filter.SmallSets -import Mathlib.Order.LiminfLimsup -import Mathlib.Tactic.FinCases +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.Order.Filter.AtTopBot.CompleteLattice +public import Mathlib.Order.Filter.AtTopBot.CountablyGenerated +public import Mathlib.Order.Filter.SmallSets +public import Mathlib.Order.LiminfLimsup +public import Mathlib.Tactic.FinCases /-! # Measurably generated filters @@ -17,6 +19,8 @@ We say that a filter `f` is measurably generated if every set `s ∈ f` includes set `t ∈ f`. This property is useful, e.g., to extract a measurable witness of `Filter.Eventually`. -/ +@[expose] public section + open Set Filter universe uι diff --git a/Mathlib/MeasureTheory/MeasurableSpace/NCard.lean b/Mathlib/MeasureTheory/MeasurableSpace/NCard.lean index 0729e807c65750..af19fd1666915c 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/NCard.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/NCard.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Card -import Mathlib.MeasureTheory.MeasurableSpace.Constructions +module + +public import Mathlib.Data.Set.Card +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions /-! # Measurability of `Set.encard` and `Set.ncard` @@ -13,6 +15,8 @@ In this file we prove that `Set.encard` and `Set.ncard` are measurable functions provided that the ambient space is countable. -/ +@[expose] public section + open Set variable {α : Type*} [Countable α] diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Pi.lean b/Mathlib/MeasureTheory/MeasurableSpace/Pi.lean index e9c845b3b8c745..9ac1896f535108 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Pi.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.MeasureTheory.PiSystem +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.MeasureTheory.PiSystem /-! # Bases of the indexed product σ-algebra @@ -17,6 +19,8 @@ then the sets `{x | ∀ i, x i ∈ s i}`, where `s i ∈ C i`, generate the σ-algebra on the indexed product of `α i`s. -/ +@[expose] public section + noncomputable section open Function Set MeasurableSpace Encodable diff --git a/Mathlib/MeasureTheory/MeasurableSpace/PreorderRestrict.lean b/Mathlib/MeasureTheory/MeasurableSpace/PreorderRestrict.lean index 6c90369494549b..cb1e513bf495cd 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/PreorderRestrict.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/PreorderRestrict.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.Order.Restriction +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.Order.Restriction /-! # Measurability of the restriction function for functions indexed by a preorder @@ -13,6 +15,8 @@ We prove that the map which restricts a function `f : (i : α) → X i` to eleme measurable. -/ +@[expose] public section + open MeasureTheory namespace Preorder diff --git a/Mathlib/MeasureTheory/MeasurableSpace/Prod.lean b/Mathlib/MeasureTheory/MeasurableSpace/Prod.lean index 956d8346af6ec2..bdfca853e7b284 100644 --- a/Mathlib/MeasureTheory/MeasurableSpace/Prod.lean +++ b/Mathlib/MeasureTheory/MeasurableSpace/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.MeasurableSpace.Embedding -import Mathlib.MeasureTheory.PiSystem +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Embedding +public import Mathlib.MeasureTheory.PiSystem /-! # The product sigma algebra @@ -12,6 +14,8 @@ import Mathlib.MeasureTheory.PiSystem This file talks about the measurability of operations on binary functions. -/ +@[expose] public section + assert_not_exists MeasureTheory.Measure noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/AEDisjoint.lean b/Mathlib/MeasureTheory/Measure/AEDisjoint.lean index 7998e50fd3efc5..f013aaba6978c1 100644 --- a/Mathlib/MeasureTheory/Measure/AEDisjoint.lean +++ b/Mathlib/MeasureTheory/Measure/AEDisjoint.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.MeasureSpaceDef +module + +public import Mathlib.MeasureTheory.Measure.MeasureSpaceDef /-! # Almost everywhere disjoint sets @@ -13,6 +15,8 @@ intersection has measure zero. This assumption can be used instead of `Disjoint` measure theory. -/ +@[expose] public section + open Set Function diff --git a/Mathlib/MeasureTheory/Measure/AEMeasurable.lean b/Mathlib/MeasureTheory/Measure/AEMeasurable.lean index 95ac9879b1f99f..f220abfef34be5 100644 --- a/Mathlib/MeasureTheory/Measure/AEMeasurable.lean +++ b/Mathlib/MeasureTheory/Measure/AEMeasurable.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Trim -import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated +module + +public import Mathlib.MeasureTheory.Measure.Trim +public import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated /-! # Almost everywhere measurable functions @@ -14,6 +16,8 @@ function. This property, called `AEMeasurable f μ`, is defined in the file `Mea We discuss several of its properties that are analogous to properties of measurable functions. -/ +@[expose] public section + open MeasureTheory MeasureTheory.Measure Filter Set Function ENNReal variable {ι α β γ δ R : Type*} {m0 : MeasurableSpace α} [MeasurableSpace β] [MeasurableSpace γ] diff --git a/Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean b/Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean index bd46b646ec311e..7e90c1a8df4abf 100644 --- a/Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean +++ b/Mathlib/MeasureTheory/Measure/AbsolutelyContinuous.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Map +module + +public import Mathlib.MeasureTheory.Measure.Map /-! # Absolute Continuity of Measures @@ -29,6 +31,8 @@ It is equivalent to an inequality of the almost everywhere filters of the measur -/ +@[expose] public section + variable {α β δ ι R : Type*} namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/AddContent.lean b/Mathlib/MeasureTheory/Measure/AddContent.lean index d5f2d6f01bde25..b9b9aff454a95f 100644 --- a/Mathlib/MeasureTheory/Measure/AddContent.lean +++ b/Mathlib/MeasureTheory/Measure/AddContent.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.MeasureTheory.SetSemiring -import Mathlib.MeasureTheory.OuterMeasure.Induced +module + +public import Mathlib.MeasureTheory.SetSemiring +public import Mathlib.MeasureTheory.OuterMeasure.Induced /-! # Additive Contents @@ -51,6 +53,8 @@ If `C` is a set ring (`MeasureTheory.IsSetRing C`), we have -/ +@[expose] public section + open Set Finset Function Filter open scoped ENNReal Topology Function diff --git a/Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean b/Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean index d010e9cac79541..8ce3a3351147c7 100644 --- a/Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean +++ b/Mathlib/MeasureTheory/Measure/CharacteristicFunction.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel, Rémy Degenne, Thomas Zhu -/ -import Mathlib.Analysis.Fourier.BoundedContinuousFunctionChar -import Mathlib.Analysis.Fourier.FourierTransform -import Mathlib.Analysis.InnerProductSpace.Dual -import Mathlib.Analysis.InnerProductSpace.ProdL2 -import Mathlib.Analysis.Normed.Lp.MeasurableSpace -import Mathlib.MeasureTheory.Group.IntegralConvolution -import Mathlib.MeasureTheory.Integral.Pi -import Mathlib.MeasureTheory.Measure.FiniteMeasureExt +module + +public import Mathlib.Analysis.Fourier.BoundedContinuousFunctionChar +public import Mathlib.Analysis.Fourier.FourierTransform +public import Mathlib.Analysis.InnerProductSpace.Dual +public import Mathlib.Analysis.InnerProductSpace.ProdL2 +public import Mathlib.Analysis.Normed.Lp.MeasurableSpace +public import Mathlib.MeasureTheory.Group.IntegralConvolution +public import Mathlib.MeasureTheory.Integral.Pi +public import Mathlib.MeasureTheory.Measure.FiniteMeasureExt /-! # Characteristic Function of a Finite Measure @@ -49,6 +51,8 @@ and `L`. -/ +@[expose] public section + open BoundedContinuousFunction RealInnerProductSpace Real Complex ComplexConjugate NormedSpace WithLp diff --git a/Mathlib/MeasureTheory/Measure/Comap.lean b/Mathlib/MeasureTheory/Measure/Comap.lean index 0305e9c566226c..d49b6794c844ca 100644 --- a/Mathlib/MeasureTheory/Measure/Comap.lean +++ b/Mathlib/MeasureTheory/Measure/Comap.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving +module + +public import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving /-! # Pullback of a measure @@ -17,6 +19,8 @@ In the future, we may decide to redefine `comap f μ` so that it gives meaningfu for covering maps like `(↑) : ℝ → AddCircle (1 : ℝ)`. -/ +@[expose] public section + open Function Set Filter open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Complex.lean b/Mathlib/MeasureTheory/Measure/Complex.lean index 5eb54b9e8e982c..b92d49d0a921ff 100644 --- a/Mathlib/MeasureTheory/Measure/Complex.lean +++ b/Mathlib/MeasureTheory/Measure/Complex.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.VectorMeasure.Basic -import Mathlib.Analysis.Complex.Basic +module + +public import Mathlib.MeasureTheory.VectorMeasure.Basic +public import Mathlib.Analysis.Complex.Basic /-! # Complex measure @@ -29,6 +31,8 @@ a complex measure is always in the form `s + it` where `s` and `t` are signed me Complex measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/Content.lean b/Mathlib/MeasureTheory/Measure/Content.lean index 104c6d06316081..2e1c70450c994d 100644 --- a/Mathlib/MeasureTheory/Measure/Content.lean +++ b/Mathlib/MeasureTheory/Measure/Content.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Measure.MeasureSpace -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.Topology.Sets.Compacts +module + +public import Mathlib.MeasureTheory.Measure.MeasureSpace +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.Topology.Sets.Compacts /-! # Contents @@ -49,6 +51,8 @@ When the space is locally compact, `μ.measure` is also regular. * -/ +@[expose] public section + universe u v w diff --git a/Mathlib/MeasureTheory/Measure/ContinuousPreimage.lean b/Mathlib/MeasureTheory/Measure/ContinuousPreimage.lean index 053ddc2d7e3391..30cdd8f85248d4 100644 --- a/Mathlib/MeasureTheory/Measure/ContinuousPreimage.lean +++ b/Mathlib/MeasureTheory/Measure/ContinuousPreimage.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.CompactOpen -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.MeasureTheory.Measure.Regular +module + +public import Mathlib.Topology.CompactOpen +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.MeasureTheory.Measure.Regular /-! # Continuity of the preimage of a set under a measure-preserving continuous function @@ -20,6 +22,8 @@ a null measurable set `s`, and a null measurable set `t` of finite measure, the set of parameters `z` such that `f z ⁻¹' t` is a.e. equal to `s` is a closed set. -/ +@[expose] public section + open Filter Set open scoped ENNReal symmDiff Topology diff --git a/Mathlib/MeasureTheory/Measure/Count.lean b/Mathlib/MeasureTheory/Measure/Count.lean index 3308e41f8d108f..b6e323b8a81451 100644 --- a/Mathlib/MeasureTheory/Measure/Count.lean +++ b/Mathlib/MeasureTheory/Measure/Count.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.MeasureTheory.Measure.Dirac -import Mathlib.Topology.Algebra.InfiniteSum.ENNReal +module + +public import Mathlib.MeasureTheory.Measure.Dirac +public import Mathlib.Topology.Algebra.InfiniteSum.ENNReal /-! # Counting measure @@ -14,6 +16,8 @@ as `MeasureTheory.Measure.sum MeasureTheory.Measure.dirac` and prove basic properties of this measure. -/ +@[expose] public section + open Set open scoped ENNReal Finset diff --git a/Mathlib/MeasureTheory/Measure/Decomposition/Exhaustion.lean b/Mathlib/MeasureTheory/Measure/Decomposition/Exhaustion.lean index 0ea1714e01401b..dd0485d0079086 100644 --- a/Mathlib/MeasureTheory/Measure/Decomposition/Exhaustion.lean +++ b/Mathlib/MeasureTheory/Measure/Decomposition/Exhaustion.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite /-! # Method of exhaustion @@ -44,6 +46,8 @@ If `μ, ν` are two measures with `ν` s-finite, then there exists a set `s` suc -/ +@[expose] public section + assert_not_exists MeasureTheory.Measure.rnDeriv assert_not_exists MeasureTheory.VectorMeasure diff --git a/Mathlib/MeasureTheory/Measure/Decomposition/Hahn.lean b/Mathlib/MeasureTheory/Measure/Decomposition/Hahn.lean index 42110f07863a77..b363dc276c6ea6 100644 --- a/Mathlib/MeasureTheory/Measure/Decomposition/Hahn.lean +++ b/Mathlib/MeasureTheory/Measure/Decomposition/Hahn.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Loic Simon -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite /-! # Unsigned Hahn decomposition theorem @@ -28,6 +30,8 @@ This file proves the unsigned version of the Hahn decomposition theorem. Hahn decomposition -/ +@[expose] public section + assert_not_exists MeasureTheory.Measure.rnDeriv assert_not_exists MeasureTheory.VectorMeasure diff --git a/Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean b/Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean index b91a8863958aec..5ff7fa63056c19 100644 --- a/Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean +++ b/Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Analysis.Convex.Continuous -import Mathlib.Analysis.Convex.Integral -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +module + +public import Mathlib.Analysis.Convex.Continuous +public import Mathlib.Analysis.Convex.Integral +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym /-! # Integrals of functions of Radon-Nikodym derivatives @@ -18,6 +20,8 @@ import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -/ +@[expose] public section + open Set diff --git a/Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean b/Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean index 55f114f42fd7a6..2ca385db32ef6e 100644 --- a/Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean +++ b/Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Measure.Decomposition.Hahn -import Mathlib.MeasureTheory.Function.AEEqOfLIntegral -import Mathlib.MeasureTheory.Measure.Sub +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.Hahn +public import Mathlib.MeasureTheory.Function.AEEqOfLIntegral +public import Mathlib.MeasureTheory.Measure.Sub /-! # Lebesgue decomposition @@ -44,6 +46,8 @@ The Lebesgue decomposition provides the Radon-Nikodym theorem readily. Lebesgue decomposition theorem -/ +@[expose] public section + assert_not_exists MeasureTheory.VectorMeasure open scoped MeasureTheory NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean b/Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean index 3b8e0066cc05b7..1964b2deab8617 100644 --- a/Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean +++ b/Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue /-! # Radon-Nikodym theorem @@ -40,6 +42,8 @@ The file also contains properties of `rnDeriv` that use the Radon-Nikodym theore Radon-Nikodym theorem -/ +@[expose] public section + assert_not_exists InnerProductSpace assert_not_exists MeasureTheory.VectorMeasure diff --git a/Mathlib/MeasureTheory/Measure/Dirac.lean b/Mathlib/MeasureTheory/Measure/Dirac.lean index 73edd7694bed1b..a3fd516d39a4e3 100644 --- a/Mathlib/MeasureTheory/Measure/Dirac.lean +++ b/Mathlib/MeasureTheory/Measure/Dirac.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated -import Mathlib.MeasureTheory.Measure.MutuallySingular -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +module + +public import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated +public import Mathlib.MeasureTheory.Measure.MutuallySingular +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite /-! # Dirac measure @@ -16,6 +18,8 @@ In this file we define the Dirac measure `MeasureTheory.Measure.dirac a` and prove some basic facts about it. -/ +@[expose] public section + open Function Set open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Measure/DiracProba.lean b/Mathlib/MeasureTheory/Measure/DiracProba.lean index 2eb5d0e7bc84ec..b4cdd2a67e507e 100644 --- a/Mathlib/MeasureTheory/Measure/DiracProba.lean +++ b/Mathlib/MeasureTheory/Measure/DiracProba.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Topology.Separation.CompletelyRegular -import Mathlib.MeasureTheory.Measure.ProbabilityMeasure +module + +public import Mathlib.Topology.Separation.CompletelyRegular +public import Mathlib.MeasureTheory.Measure.ProbabilityMeasure /-! # Dirac deltas as probability measures and embedding of a space into probability measures on it @@ -21,6 +23,8 @@ import Mathlib.MeasureTheory.Measure.ProbabilityMeasure probability measure, Dirac delta, embedding -/ +@[expose] public section + open Topology Metric Filter Set ENNReal NNReal BoundedContinuousFunction open scoped Topology ENNReal NNReal BoundedContinuousFunction diff --git a/Mathlib/MeasureTheory/Measure/Doubling.lean b/Mathlib/MeasureTheory/Measure/Doubling.lean index 14d98257e5741e..1c10e856930273 100644 --- a/Mathlib/MeasureTheory/Measure/Doubling.lean +++ b/Mathlib/MeasureTheory/Measure/Doubling.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Analysis.SpecialFunctions.Log.Base -import Mathlib.MeasureTheory.Measure.MeasureSpaceDef +module + +public import Mathlib.Analysis.SpecialFunctions.Log.Base +public import Mathlib.MeasureTheory.Measure.MeasureSpaceDef /-! # Uniformly locally doubling measures @@ -23,6 +25,8 @@ This file records basic facts about uniformly locally doubling measures. appearing in the definition of a uniformly locally doubling measure. -/ +@[expose] public section + noncomputable section open Set Filter Metric MeasureTheory TopologicalSpace ENNReal NNReal Topology diff --git a/Mathlib/MeasureTheory/Measure/EverywherePos.lean b/Mathlib/MeasureTheory/Measure/EverywherePos.lean index ddd65f43c74127..a149d60a458a4b 100644 --- a/Mathlib/MeasureTheory/Measure/EverywherePos.lean +++ b/Mathlib/MeasureTheory/Measure/EverywherePos.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Group.Measure -import Mathlib.Tactic.Group -import Mathlib.Topology.UrysohnsLemma +module + +public import Mathlib.MeasureTheory.Group.Measure +public import Mathlib.Tactic.Group +public import Mathlib.Topology.UrysohnsLemma /-! # Everywhere positive sets in measure spaces @@ -36,6 +38,8 @@ assuming additionally that `s` has finite measure. measures. -/ +@[expose] public section + open scoped Topology ENNReal NNReal open Set Filter diff --git a/Mathlib/MeasureTheory/Measure/FiniteMeasure.lean b/Mathlib/MeasureTheory/Measure/FiniteMeasure.lean index e5c656cec7e52d..9adefa3fa459f0 100644 --- a/Mathlib/MeasureTheory/Measure/FiniteMeasure.lean +++ b/Mathlib/MeasureTheory/Measure/FiniteMeasure.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Topology.Algebra.Module.WeakDual +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Topology.Algebra.Module.WeakDual /-! # Finite measures @@ -79,6 +81,8 @@ weak convergence of measures, finite measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/FiniteMeasureExt.lean b/Mathlib/MeasureTheory/Measure/FiniteMeasureExt.lean index 22edc866af5ae2..b50ecb49685da4 100644 --- a/Mathlib/MeasureTheory/Measure/FiniteMeasureExt.lean +++ b/Mathlib/MeasureTheory/Measure/FiniteMeasureExt.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jakob Stiefel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Stiefel -/ -import Mathlib.Analysis.RCLike.BoundedContinuous -import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSqIntegral -import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed +module + +public import Mathlib.Analysis.RCLike.BoundedContinuous +public import Mathlib.Analysis.SpecialFunctions.MulExpNegMulSqIntegral +public import Mathlib.MeasureTheory.Measure.HasOuterApproxClosed /-! # Extensionality of finite measures @@ -16,6 +18,8 @@ the integrals of all elements of `A` with respect to two finite measures `P, P'` measures coincide. In other words: If a Subalgebra separates points, it separates finite measures. -/ +@[expose] public section + open MeasureTheory Filter Real RCLike BoundedContinuousFunction open scoped Topology diff --git a/Mathlib/MeasureTheory/Measure/FiniteMeasurePi.lean b/Mathlib/MeasureTheory/Measure/FiniteMeasurePi.lean index b20deb61323b44..745db1117295d8 100644 --- a/Mathlib/MeasureTheory/Measure/FiniteMeasurePi.lean +++ b/Mathlib/MeasureTheory/Measure/FiniteMeasurePi.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric +module + +public import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric /-! # Products of finite measures and probability measures @@ -26,6 +28,8 @@ continuously on the factors. -/ +@[expose] public section + open MeasureTheory Topology Metric Filter Set ENNReal NNReal open scoped Topology ENNReal NNReal BoundedContinuousFunction diff --git a/Mathlib/MeasureTheory/Measure/FiniteMeasureProd.lean b/Mathlib/MeasureTheory/Measure/FiniteMeasureProd.lean index 1e4439f0156b01..b579ae7da8e2cf 100644 --- a/Mathlib/MeasureTheory/Measure/FiniteMeasureProd.lean +++ b/Mathlib/MeasureTheory/Measure/FiniteMeasureProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric -import Mathlib.MeasureTheory.Measure.Prod +module + +public import Mathlib.MeasureTheory.Measure.LevyProkhorovMetric +public import Mathlib.MeasureTheory.Measure.Prod /-! # Products of finite measures and probability measures @@ -27,6 +29,8 @@ continuously on the factors. -/ +@[expose] public section + open MeasureTheory Topology Metric Filter Set ENNReal NNReal open scoped Topology ENNReal NNReal BoundedContinuousFunction diff --git a/Mathlib/MeasureTheory/Measure/GiryMonad.lean b/Mathlib/MeasureTheory/Measure/GiryMonad.lean index 522599264a011b..044bf28f6e6ecc 100644 --- a/Mathlib/MeasureTheory/Measure/GiryMonad.lean +++ b/Mathlib/MeasureTheory/Measure/GiryMonad.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Countable +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Countable /-! # The Giry monad @@ -27,6 +29,8 @@ monad to an honest monad of the functor `measure : MeasCat ⥤ MeasCat`. giry monad -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/Haar/Basic.lean b/Mathlib/MeasureTheory/Measure/Haar/Basic.lean index d14cc08b8e1321..b4e594bf46a5f1 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/Basic.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Measure.Content -import Mathlib.MeasureTheory.Group.Prod -import Mathlib.Topology.Algebra.Group.Compact +module + +public import Mathlib.MeasureTheory.Measure.Content +public import Mathlib.MeasureTheory.Group.Prod +public import Mathlib.Topology.Algebra.Group.Compact /-! # Haar measure @@ -60,6 +62,8 @@ the file `Mathlib/MeasureTheory/Measure/Haar/Unique.lean`. * https://en.wikipedia.org/wiki/Haar_measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/Haar/Disintegration.lean b/Mathlib/MeasureTheory/Measure/Haar/Disintegration.lean index 5e9217df18b892..0580e648c24e2b 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/Disintegration.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/Disintegration.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Haar.Basic -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.MeasureTheory.Measure.Haar.Basic +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Pushing a Haar measure by a linear map @@ -22,6 +24,8 @@ TODO: this holds more generally in any locally compact group, see [Fremlin, *Measure Theory* (volume 4, 443Q)][fremlin_vol4] -/ +@[expose] public section + open MeasureTheory Measure Set open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean b/Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean index 823c4c9e5bcf44..72b1cb362675d5 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang, Yaël Dillies, Javier López-Contreras. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Yaël Dillies, Javier López-Contreras -/ -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # The distributive character of Haar measures @@ -24,6 +26,8 @@ multiplicative instead of distributive. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/canonical.20norm.20coming.20from.20Haar.20measure/near/480050592) -/ +@[expose] public section + open MeasureTheory.Measure open scoped NNReal Pointwise ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean b/Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean index 0dd698a383646a..7f3d342e4982f6 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.InnerProductSpace.Orientation -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +module + +public import Mathlib.Analysis.InnerProductSpace.Orientation +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar /-! # Volume forms and measures on inner product spaces @@ -16,6 +18,8 @@ measure `1` to the parallelepiped spanned by any orthonormal basis, and that it the canonical `volume` from the `MeasureSpace` instance. -/ +@[expose] public section + open Module MeasureTheory MeasureTheory.Measure Set variable {ι E F : Type*} diff --git a/Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean b/Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean index 5e19e59dd11711..c0afa8bf97e0cb 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Scaling Haar measure by a continuous isomorphism @@ -20,6 +22,8 @@ real constant which we call `mulEquivHaarChar φ`. -/ +@[expose] public section + open MeasureTheory.Measure open scoped NNReal Pointwise ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean b/Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean index 7aa61b9aaa57d5..32c5b74fda5b30 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/NormedSpace.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace -import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar -import Mathlib.MeasureTheory.Integral.Bochner.Set +module + +public import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace +public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar +public import Mathlib.MeasureTheory.Integral.Bochner.Set /-! # Basic properties of Haar measures on real vector spaces -/ +@[expose] public section + noncomputable section open Function Filter Inv MeasureTheory.Measure Module Set TopologicalSpace diff --git a/Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean b/Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean index 11c3bea47fa11b..aae4f67efdd408 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Haar.Basic -import Mathlib.Analysis.InnerProductSpace.PiL2 +module + +public import Mathlib.MeasureTheory.Measure.Haar.Basic +public import Mathlib.Analysis.InnerProductSpace.PiL2 /-! # Additive Haar measure constructed from a basis @@ -25,6 +27,8 @@ by using the Lebesgue measure associated to some orthonormal basis (which is in of the basis). -/ +@[expose] public section + open Set TopologicalSpace MeasureTheory MeasureTheory.Measure Module diff --git a/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean b/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean index 1ba118240d141a..aeb9688f7a15fe 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Alex Kontorovich and Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Heather Macbeth -/ -import Mathlib.Algebra.Group.Opposite -import Mathlib.MeasureTheory.Constructions.Polish.Basic -import Mathlib.MeasureTheory.Group.FundamentalDomain -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Measure.Haar.Basic +module + +public import Mathlib.Algebra.Group.Opposite +public import Mathlib.MeasureTheory.Constructions.Polish.Basic +public import Mathlib.MeasureTheory.Group.FundamentalDomain +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Measure.Haar.Basic /-! # Haar quotient measure @@ -44,6 +46,8 @@ Note that a group `G` with Haar measure that is both left and right invariant is **unimodular**. -/ +@[expose] public section + open Set MeasureTheory TopologicalSpace MeasureTheory.Measure open scoped Pointwise NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Haar/Unique.lean b/Mathlib/MeasureTheory/Measure/Haar/Unique.lean index d8a580f423c8a1..7d86dee6cb9844 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/Unique.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/Unique.lean @@ -3,15 +3,17 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Function.LocallyIntegrable -import Mathlib.MeasureTheory.Group.Integral -import Mathlib.MeasureTheory.Integral.Prod -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Measure.EverywherePos -import Mathlib.MeasureTheory.Measure.Haar.Basic -import Mathlib.Topology.Metrizable.Urysohn -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.ContinuousMap.Ordered +module + +public import Mathlib.MeasureTheory.Function.LocallyIntegrable +public import Mathlib.MeasureTheory.Group.Integral +public import Mathlib.MeasureTheory.Integral.Prod +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Measure.EverywherePos +public import Mathlib.MeasureTheory.Measure.Haar.Basic +public import Mathlib.Topology.Metrizable.Urysohn +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.ContinuousMap.Ordered /-! # Uniqueness of Haar measure in locally compact groups @@ -66,6 +68,8 @@ the measures but discarding the assumption that they are finite on compact sets. [Fremlin, *Measure Theory* (volume 4)][fremlin_vol4] -/ +@[expose] public section + open Filter Set TopologicalSpace Function MeasureTheory Measure open scoped Uniformity Topology ENNReal Pointwise NNReal diff --git a/Mathlib/MeasureTheory/Measure/HasOuterApproxClosed.lean b/Mathlib/MeasureTheory/Measure/HasOuterApproxClosed.lean index 8fd74e4a52be4c..f066b00288b938 100644 --- a/Mathlib/MeasureTheory/Measure/HasOuterApproxClosed.lean +++ b/Mathlib/MeasureTheory/Measure/HasOuterApproxClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction -import Mathlib.Topology.MetricSpace.ThickenedIndicator +module + +public import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction +public import Mathlib.Topology.MetricSpace.ThickenedIndicator /-! # Spaces where indicators of closed sets have decreasing approximations by continuous functions @@ -34,6 +36,8 @@ convergence in distribution for random variables behave somewhat well in spaces -/ +@[expose] public section + open BoundedContinuousFunction MeasureTheory Topology Metric Filter Set ENNReal NNReal open scoped Topology ENNReal NNReal BoundedContinuousFunction diff --git a/Mathlib/MeasureTheory/Measure/Hausdorff.lean b/Mathlib/MeasureTheory/Measure/Hausdorff.lean index 521fc89c5253e6..7e7cd3e7a26efb 100644 --- a/Mathlib/MeasureTheory/Measure/Hausdorff.lean +++ b/Mathlib/MeasureTheory/Measure/Hausdorff.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.Topology.MetricSpace.Holder -import Mathlib.Topology.MetricSpace.MetricSeparated +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.Topology.MetricSpace.Holder +public import Mathlib.Topology.MetricSpace.MetricSeparated /-! # Hausdorff measure and metric (outer) measures @@ -106,6 +108,8 @@ dimension. Hausdorff measure, measure, metric measure -/ +@[expose] public section + open scoped NNReal ENNReal Topology diff --git a/Mathlib/MeasureTheory/Measure/IntegralCharFun.lean b/Mathlib/MeasureTheory/Measure/IntegralCharFun.lean index 054109665299a9..ecf5ca613991ae 100644 --- a/Mathlib/MeasureTheory/Measure/IntegralCharFun.lean +++ b/Mathlib/MeasureTheory/Measure/IntegralCharFun.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.MeasureTheory.Function.SpecialFunctions.Sinc -import Mathlib.MeasureTheory.Measure.CharacteristicFunction +module + +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Sinc +public import Mathlib.MeasureTheory.Measure.CharacteristicFunction /-! # Integrals of characteristic functions @@ -29,6 +31,8 @@ relating the measure of some sets to integrals of characteristic functions. -/ +@[expose] public section + open RealInnerProductSpace Real Complex NormedSpace namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean index 1fd2bc39e845a7..23ee440a638c35 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Dynamics.Ergodic.MeasurePreserving -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Matrix.Diagonal -import Mathlib.LinearAlgebra.Matrix.Transvection -import Mathlib.MeasureTheory.Group.LIntegral -import Mathlib.MeasureTheory.Integral.Marginal -import Mathlib.MeasureTheory.Measure.Stieltjes -import Mathlib.MeasureTheory.Measure.Haar.OfBasis +module + +public import Mathlib.Dynamics.Ergodic.MeasurePreserving +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Matrix.Diagonal +public import Mathlib.LinearAlgebra.Matrix.Transvection +public import Mathlib.MeasureTheory.Group.LIntegral +public import Mathlib.MeasureTheory.Integral.Marginal +public import Mathlib.MeasureTheory.Measure.Stieltjes +public import Mathlib.MeasureTheory.Measure.Haar.OfBasis /-! # Lebesgue measure on the real line and on `ℝⁿ` @@ -28,6 +30,8 @@ More properties of the Lebesgue measure are deduced from this in additive Haar measure on a finite-dimensional real vector space. -/ +@[expose] public section + assert_not_exists MeasureTheory.integral diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/Complex.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/Complex.lean index 402c4cd37d695d..b1c4aefc14f73b 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/Complex.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/Complex.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace -import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex +module + +public import Mathlib.MeasureTheory.Measure.Haar.InnerProductSpace +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex /-! # Lebesgue measure on `ℂ` @@ -17,6 +19,8 @@ used ways to represent `ℝ²` in `mathlib`: `ℝ × ℝ` and `Fin 2 → ℝ`, d of `MeasureTheory.measurePreserving`). -/ +@[expose] public section + open MeasureTheory Module noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean index b2e06821b44f26..51f58a497e1a06 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Sébastien Gouëzel -/ -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric -import Mathlib.MeasureTheory.Group.Pointwise -import Mathlib.MeasureTheory.Measure.Doubling -import Mathlib.MeasureTheory.Measure.Haar.Basic -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +module + +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Metric +public import Mathlib.MeasureTheory.Group.Pointwise +public import Mathlib.MeasureTheory.Measure.Doubling +public import Mathlib.MeasureTheory.Measure.Haar.Basic +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic /-! # Relationship between the Haar and Lebesgue measures @@ -44,6 +46,8 @@ Statements on integrals of functions with respect to an additive Haar measure ca `MeasureTheory.Measure.Haar.NormedSpace`. -/ +@[expose] public section + assert_not_exists MeasureTheory.integral open TopologicalSpace Set Filter Metric Bornology diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean index f8ba08362424c8..03edd1bb603bff 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.MeasureTheory.Measure.Haar.Unique +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.MeasureTheory.Measure.Haar.Unique /-! # Properties of integration with respect to the Lebesgue measure -/ +@[expose] public section + open Set Filter MeasureTheory MeasureTheory.Measure TopologicalSpace diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean index edaf97e9fbe893..d1eb270d8d1ca0 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.MeasureTheory.Constructions.HaarToSphere -import Mathlib.MeasureTheory.Integral.Gamma -import Mathlib.MeasureTheory.Integral.Pi +module + +public import Mathlib.Analysis.SpecialFunctions.Gaussian.GaussianIntegral +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.MeasureTheory.Constructions.HaarToSphere +public import Mathlib.MeasureTheory.Integral.Gamma +public import Mathlib.MeasureTheory.Integral.Pi /-! # Volume of balls @@ -39,6 +41,8 @@ Using these formulas, we compute the volume of the unit balls in several cases. * `Complex.volume_ball` / `Complex.volume_closedBall`: volume of open and closed balls in `ℂ`. -/ +@[expose] public section + section general_case open MeasureTheory MeasureTheory.Measure Module ENNReal diff --git a/Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean b/Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean index 1a870f467509c7..0ef33a5de42f07 100644 --- a/Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean +++ b/Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Measure.Portmanteau -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.MeasureTheory.Integral.Layercake -import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction +module + +public import Mathlib.MeasureTheory.Measure.Portmanteau +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.MeasureTheory.Integral.Layercake +public import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction /-! # The Lévy-Prokhorov distance on spaces of finite measures and probability measures @@ -33,6 +35,8 @@ import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction finite measure, probability measure, weak convergence, convergence in distribution, metrizability -/ +@[expose] public section + open Topology Metric Filter Set ENNReal NNReal namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean b/Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean index a897ef94863242..14f01f68bcfd64 100644 --- a/Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean +++ b/Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Tilted +module + +public import Mathlib.MeasureTheory.Measure.Tilted /-! # Log-likelihood Ratio @@ -21,6 +23,8 @@ This file contains a definition of the log-likelihood ratio (llr) and its proper -/ +@[expose] public section + open Real open scoped ENNReal NNReal Topology diff --git a/Mathlib/MeasureTheory/Measure/Map.lean b/Mathlib/MeasureTheory/Measure/Map.lean index 8d3c5f28640e33..42d539e02df6bf 100644 --- a/Mathlib/MeasureTheory/Measure/Map.lean +++ b/Mathlib/MeasureTheory/Measure/Map.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.MeasurableSpace.Embedding -import Mathlib.MeasureTheory.Measure.MeasureSpace +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Embedding +public import Mathlib.MeasureTheory.Measure.MeasureSpace /-! # Pushforward of a measure @@ -24,6 +26,8 @@ If `f` is not a.e. measurable, then we define `map f μ` to be zero. -/ +@[expose] public section + variable {α β γ : Type*} open Set Function ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Measure/MeasureSpace.lean b/Mathlib/MeasureTheory/Measure/MeasureSpace.lean index 2bb270b58ac59f..eb1f4455b21a31 100644 --- a/Mathlib/MeasureTheory/Measure/MeasureSpace.lean +++ b/Mathlib/MeasureTheory/Measure/MeasureSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.MeasurableSpace.MeasurablyGenerated -import Mathlib.MeasureTheory.Measure.NullMeasurable -import Mathlib.Order.Interval.Set.Monotone +module + +public import Mathlib.MeasureTheory.MeasurableSpace.MeasurablyGenerated +public import Mathlib.MeasureTheory.Measure.NullMeasurable +public import Mathlib.Order.Interval.Set.Monotone /-! # Measure spaces @@ -77,6 +79,8 @@ The measure is denoted `volume`. measure, almost everywhere, measure space, completion, null set, null measurable set -/ +@[expose] public section + noncomputable section open Set diff --git a/Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean b/Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean index 083e48f44553b6..5fa9e087d27dee 100644 --- a/Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean +++ b/Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.OuterMeasure.Induced -import Mathlib.MeasureTheory.OuterMeasure.AE -import Mathlib.Order.Filter.CountableInter +module + +public import Mathlib.MeasureTheory.OuterMeasure.Induced +public import Mathlib.MeasureTheory.OuterMeasure.AE +public import Mathlib.Order.Filter.CountableInter /-! # Measure spaces @@ -52,6 +54,8 @@ This file does not import `MeasureTheory.MeasurableSpace.Basic`, but only `Measu measure, almost everywhere, measure space -/ +@[expose] public section + assert_not_exists Module.Basis noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/MutuallySingular.lean b/Mathlib/MeasureTheory/Measure/MutuallySingular.lean index 50cab57e21f2d4..19299cf2cfd53d 100644 --- a/Mathlib/MeasureTheory/Measure/MutuallySingular.lean +++ b/Mathlib/MeasureTheory/Measure/MutuallySingular.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.Restrict +module + +public import Mathlib.MeasureTheory.Measure.Restrict /-! # Mutually singular measures @@ -21,6 +23,8 @@ facts about it. measure, mutually singular -/ +@[expose] public section + open Set diff --git a/Mathlib/MeasureTheory/Measure/NullMeasurable.lean b/Mathlib/MeasureTheory/Measure/NullMeasurable.lean index 2554afcb952351..a3c3c696c0f8ba 100644 --- a/Mathlib/MeasureTheory/Measure/NullMeasurable.lean +++ b/Mathlib/MeasureTheory/Measure/NullMeasurable.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable -import Mathlib.MeasureTheory.MeasurableSpace.Basic -import Mathlib.MeasureTheory.Measure.AEDisjoint +module + +public import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable +public import Mathlib.MeasureTheory.MeasurableSpace.Basic +public import Mathlib.MeasureTheory.Measure.AEDisjoint /-! # Null measurable sets and complete measures @@ -55,6 +57,8 @@ the output type. measurable, measure, null measurable, completion -/ +@[expose] public section + open Filter Set Encodable open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Measure/OpenPos.lean b/Mathlib/MeasureTheory/Measure/OpenPos.lean index b16380debea977..afc096e7aa43d3 100644 --- a/Mathlib/MeasureTheory/Measure/OpenPos.lean +++ b/Mathlib/MeasureTheory/Measure/OpenPos.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability /-! # Measures positive on nonempty opens @@ -17,6 +19,8 @@ about these measures. -/ +@[expose] public section + open Topology ENNReal MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Portmanteau.lean b/Mathlib/MeasureTheory/Measure/Portmanteau.lean index 5341778a6a277c..cbc7e7e1254811 100644 --- a/Mathlib/MeasureTheory/Measure/Portmanteau.lean +++ b/Mathlib/MeasureTheory/Measure/Portmanteau.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Measure.ProbabilityMeasure -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.MeasureTheory.Integral.Layercake -import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction +module + +public import Mathlib.MeasureTheory.Measure.ProbabilityMeasure +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.MeasureTheory.Integral.Layercake +public import Mathlib.MeasureTheory.Integral.BoundedContinuousFunction /-! # Characterizations of weak convergence of finite measures and probability measures @@ -80,6 +82,8 @@ probability measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean b/Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean index 04a8a465bc87b5..663df1f17325d7 100644 --- a/Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean +++ b/Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.MeasureTheory.Measure.FiniteMeasure -import Mathlib.MeasureTheory.Integral.Average -import Mathlib.MeasureTheory.Measure.Prod +module + +public import Mathlib.MeasureTheory.Measure.FiniteMeasure +public import Mathlib.MeasureTheory.Integral.Average +public import Mathlib.MeasureTheory.Measure.Prod /-! # Probability measures @@ -72,6 +74,8 @@ convergence in distribution, convergence in law, weak convergence of measures, p -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/Prod.lean b/Mathlib/MeasureTheory/Measure/Prod.lean index 41711ba907db10..a776ba48e51b51 100644 --- a/Mathlib/MeasureTheory/Measure/Prod.lean +++ b/Mathlib/MeasureTheory/Measure/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.MeasureTheory.Measure.GiryMonad -import Mathlib.MeasureTheory.Measure.OpenPos +module + +public import Mathlib.MeasureTheory.Measure.GiryMonad +public import Mathlib.MeasureTheory.Measure.OpenPos /-! # The product measure @@ -49,6 +51,8 @@ reversed. product measure, Tonelli's theorem, Fubini-Tonelli theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean b/Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean index 2ae2a436b8dcad..6220dda667a337 100644 --- a/Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean +++ b/Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous -import Mathlib.MeasureTheory.OuterMeasure.BorelCantelli +module + +public import Mathlib.MeasureTheory.Measure.AbsolutelyContinuous +public import Mathlib.MeasureTheory.OuterMeasure.BorelCantelli /-! # Quasi-Measure-Preserving Functions @@ -21,6 +23,8 @@ absolutely continuous with respect to `μb`). -/ +@[expose] public section + variable {α β γ δ : Type*} namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Real.lean b/Mathlib/MeasureTheory/Measure/Real.lean index 0180142d6bdf6f..b92c4439d17279 100644 --- a/Mathlib/MeasureTheory/Measure/Real.lean +++ b/Mathlib/MeasureTheory/Measure/Real.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite /-! # Measures as real-valued functions @@ -26,6 +28,8 @@ more painful with reals than nonnegative extended reals. They should probably be run. -/ +@[expose] public section + open MeasureTheory Measure Set open scoped ENNReal NNReal Function symmDiff @@ -436,7 +440,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: applications of `μ.real` are nonnegative. -/ @[positivity MeasureTheory.Measure.real _ _] -def evalMeasureReal : PositivityExt where eval {_ _} _zα _pα e := do +meta def evalMeasureReal : PositivityExt where eval {_ _} _zα _pα e := do let .app (.app _ a) b ← whnfR e | throwError "not measureReal" let p ← mkAppOptM ``MeasureTheory.measureReal_nonneg #[none, none, a, b] pure (.nonnegative p) diff --git a/Mathlib/MeasureTheory/Measure/Regular.lean b/Mathlib/MeasureTheory/Measure/Regular.lean index cfaa2ad4b77ac1..6d426a5445063c 100644 --- a/Mathlib/MeasureTheory/Measure/Regular.lean +++ b/Mathlib/MeasureTheory/Measure/Regular.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn, Yury Kudryashov -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic -import Mathlib.MeasureTheory.Group.MeasurableEquiv +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +public import Mathlib.MeasureTheory.Group.MeasurableEquiv /-! # Regular measures @@ -189,6 +191,8 @@ proofs or statements do not apply directly. [Bogachev, Measure Theory, volume 2, Theorem 7.11.1][bogachev2007] -/ +@[expose] public section + open Set Filter ENNReal NNReal TopologicalSpace open scoped symmDiff Topology diff --git a/Mathlib/MeasureTheory/Measure/RegularityCompacts.lean b/Mathlib/MeasureTheory/Measure/RegularityCompacts.lean index e9abd86671ee6b..d53f6bcc233cae 100644 --- a/Mathlib/MeasureTheory/Measure/RegularityCompacts.lean +++ b/Mathlib/MeasureTheory/Measure/RegularityCompacts.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.MeasureTheory.Measure.Regular -import Mathlib.Topology.MetricSpace.Polish -import Mathlib.Topology.UniformSpace.Cauchy +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.MeasureTheory.Measure.Regular +public import Mathlib.Topology.MetricSpace.Polish +public import Mathlib.Topology.UniformSpace.Cauchy /-! # Inner regularity of finite measures @@ -22,6 +24,8 @@ Finite measures on Polish spaces are an important special case, which makes the probability. -/ +@[expose] public section + open Set MeasureTheory open scoped ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Restrict.lean b/Mathlib/MeasureTheory/Measure/Restrict.lean index 98fe97b07074e8..63211836318137 100644 --- a/Mathlib/MeasureTheory/Measure/Restrict.lean +++ b/Mathlib/MeasureTheory/Measure/Restrict.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Comap -import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving -import Mathlib.Data.Set.Card +module + +public import Mathlib.MeasureTheory.Measure.Comap +public import Mathlib.MeasureTheory.Measure.QuasiMeasurePreserving +public import Mathlib.Data.Set.Card /-! # Restricting a measure to a subset or a subtype @@ -20,6 +22,8 @@ We also study the relationship between the restriction of a measure to a subtype pullback under `Subtype.val`) and the restriction to a set as above. -/ +@[expose] public section + open scoped ENNReal NNReal Topology open Set MeasureTheory Measure Filter MeasurableSpace ENNReal Function diff --git a/Mathlib/MeasureTheory/Measure/SeparableMeasure.lean b/Mathlib/MeasureTheory/Measure/SeparableMeasure.lean index 798c816b34af71..c0ba7e7d01b131 100644 --- a/Mathlib/MeasureTheory/Measure/SeparableMeasure.lean +++ b/Mathlib/MeasureTheory/Measure/SeparableMeasure.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp -import Mathlib.MeasureTheory.SetAlgebra +module + +public import Mathlib.MeasureTheory.Function.SimpleFuncDenseLp +public import Mathlib.MeasureTheory.SetAlgebra /-! # Separable measure @@ -63,6 +65,8 @@ written `≠ ∞` rather than `< ∞`. See `Ne.lt_top` and `ne_of_lt` to switch separable measure, measure-dense, Lp space, second-countable -/ +@[expose] public section + open MeasurableSpace Set ENNReal TopologicalSpace symmDiff Real namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Stieltjes.lean b/Mathlib/MeasureTheory/Measure/Stieltjes.lean index 72086add93e022..97dba912b17b98 100644 --- a/Mathlib/MeasureTheory/Measure/Stieltjes.lean +++ b/Mathlib/MeasureTheory/Measure/Stieltjes.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Topology.Order.LeftRightLim +module + +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Topology.Order.LeftRightLim /-! # Stieltjes measures on the real line @@ -24,6 +26,8 @@ corresponding measure, giving mass `f b - f a` to the interval `(a, b]`. * `f.measure_Icc` and `f.measure_Ico` are analogous. -/ +@[expose] public section + noncomputable section open Set Filter Function ENNReal NNReal Topology MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Sub.lean b/Mathlib/MeasureTheory/Measure/Sub.lean index 5f6f8e3f599033..112a922c5a708a 100644 --- a/Mathlib/MeasureTheory/Measure/Sub.lean +++ b/Mathlib/MeasureTheory/Measure/Sub.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Martin Zinkevich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Zinkevich -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite /-! # Subtraction of measures @@ -16,6 +18,8 @@ Specifically, note that if you have `α = {1,2}`, and `μ {1} = 2`, `μ {2} = 0` `ν univ ≠ ∞`, then `(μ - ν) + ν = μ`. -/ +@[expose] public section + open Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Support.lean b/Mathlib/MeasureTheory/Measure/Support.lean index d48c81cb2d9ee9..a75b9ae0186f3f 100644 --- a/Mathlib/MeasureTheory/Measure/Support.lean +++ b/Mathlib/MeasureTheory/Measure/Support.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Jon Bannon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jon Bannon, Jireh Loreaux -/ +module -import Mathlib.MeasureTheory.Measure.OpenPos +public import Mathlib.MeasureTheory.Measure.OpenPos /-! # Support of a Measure @@ -36,6 +37,8 @@ and various descriptions of the complement of the support are provided. measure, support, Lindelöf -/ +@[expose] public section + section Support namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Tight.lean b/Mathlib/MeasureTheory/Measure/Tight.lean index b2b982baa8a632..608ef54aea439a 100644 --- a/Mathlib/MeasureTheory/Measure/Tight.lean +++ b/Mathlib/MeasureTheory/Measure/Tight.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Josha Dekker -/ -import Mathlib.MeasureTheory.Measure.RegularityCompacts -import Mathlib.Topology.Order.Lattice +module + +public import Mathlib.MeasureTheory.Measure.RegularityCompacts +public import Mathlib.Topology.Order.Lattice /-! # Tight sets of measures @@ -27,6 +29,8 @@ measures in the set, the complement of `K` has measure at most `ε`. -/ +@[expose] public section + open Filter Set open scoped ENNReal NNReal Topology diff --git a/Mathlib/MeasureTheory/Measure/TightNormed.lean b/Mathlib/MeasureTheory/Measure/TightNormed.lean index 59f55113b341ab..9ef01893fa1973 100644 --- a/Mathlib/MeasureTheory/Measure/TightNormed.lean +++ b/Mathlib/MeasureTheory/Measure/TightNormed.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.MeasureTheory.Measure.Tight -import Mathlib.Order.CompletePartialOrder +module + +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.MeasureTheory.Measure.Tight +public import Mathlib.Order.CompletePartialOrder /-! # Tight sets of measures in normed spaces @@ -22,6 +24,8 @@ Criteria for tightness of sets of measures in normed and inner product spaces. -/ +@[expose] public section + open Filter open scoped Topology ENNReal InnerProductSpace diff --git a/Mathlib/MeasureTheory/Measure/Tilted.lean b/Mathlib/MeasureTheory/Measure/Tilted.lean index ed61404372bcf7..be201db0545071 100644 --- a/Mathlib/MeasureTheory/Measure/Tilted.lean +++ b/Mathlib/MeasureTheory/Measure/Tilted.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym /-! # Exponentially tilted measures @@ -23,6 +25,8 @@ can be used for example to establish variational expressions for the Kullback-Le -/ +@[expose] public section + open Real open scoped ENNReal NNReal diff --git a/Mathlib/MeasureTheory/Measure/Trim.lean b/Mathlib/MeasureTheory/Measure/Trim.lean index 19aa7ad9e845b9..f7e6b71a6bcbfb 100644 --- a/Mathlib/MeasureTheory/Measure/Trim.lean +++ b/Mathlib/MeasureTheory/Measure/Trim.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite /-! # Restriction of a measure to a sub-σ-algebra @@ -15,6 +17,8 @@ import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite -/ +@[expose] public section + open scoped ENNReal namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Measure/Typeclasses.lean b/Mathlib/MeasureTheory/Measure/Typeclasses.lean index 86f2aa863ed7fc..e75d95b793af53 100644 --- a/Mathlib/MeasureTheory/Measure/Typeclasses.lean +++ b/Mathlib/MeasureTheory/Measure/Typeclasses.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability -import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +public import Mathlib.MeasureTheory.Measure.Typeclasses.SFinite deprecated_module (since := "2025-04-13") diff --git a/Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean b/Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean index a6067ad80c47d6..67d75ed58f0581 100644 --- a/Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean +++ b/Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Restrict +module + +public import Mathlib.MeasureTheory.Measure.Restrict /-! # Classes for finite measures @@ -14,6 +16,8 @@ We introduce the following typeclasses for measures: * `IsLocallyFiniteMeasure μ` : `∀ x, ∃ s ∈ 𝓝 x, μ s < ∞`. -/ +@[expose] public section + open scoped NNReal Topology open Set MeasureTheory Measure Filter Function MeasurableSpace ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean b/Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean index d71bdc1a419ee4..4708665ed0f735 100644 --- a/Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean +++ b/Mathlib/MeasureTheory/Measure/Typeclasses/NoAtoms.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Restrict +module + +public import Mathlib.MeasureTheory.Measure.Restrict /-! # Measures having no atoms @@ -15,6 +17,8 @@ A measure `μ` has no atoms if the measure of each singleton is zero. Should `NoAtoms` be redefined as `∀ s, 0 < μ s → ∃ t ⊆ s, 0 < μ t ∧ μ t < μ s`? -/ +@[expose] public section + namespace MeasureTheory open Set Measure diff --git a/Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean b/Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean index 19acf4a5d96334..88ad213bcd8a41 100644 --- a/Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean +++ b/Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite /-! # Classes for probability measures @@ -14,6 +16,8 @@ We introduce the following typeclasses for measures: * `IsProbabilityMeasure μ`: `μ univ = 1`. -/ +@[expose] public section + namespace MeasureTheory open Set Measure Filter Function ENNReal diff --git a/Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean b/Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean index df851d1269db1c..f30fb388afa864 100644 --- a/Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean +++ b/Mathlib/MeasureTheory/Measure/Typeclasses/SFinite.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite /-! # Classes for s-finite measures @@ -15,6 +17,8 @@ We introduce the following typeclasses for measures: where `μ` is finite. -/ +@[expose] public section + namespace MeasureTheory open Set Filter Function Measure MeasurableSpace NNReal ENNReal diff --git a/Mathlib/MeasureTheory/Measure/WithDensity.lean b/Mathlib/MeasureTheory/Measure/WithDensity.lean index 9149c8a346cda1..57896d155bbc96 100644 --- a/Mathlib/MeasureTheory/Measure/WithDensity.lean +++ b/Mathlib/MeasureTheory/Measure/WithDensity.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Johannes Hölzl -/ -import Mathlib.MeasureTheory.Integral.Lebesgue.Countable -import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion -import Mathlib.MeasureTheory.Group.Convolution -import Mathlib.Analysis.LConvolution +module + +public import Mathlib.MeasureTheory.Integral.Lebesgue.Countable +public import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion +public import Mathlib.MeasureTheory.Group.Convolution +public import Mathlib.Analysis.LConvolution /-! # Measure with a given density with respect to another measure @@ -22,6 +24,8 @@ See `MeasureTheory.Measure.absolutelyContinuous_iff_withDensity_rnDeriv_eq`. -/ +@[expose] public section + open Set hiding restrict restrict_apply open Filter ENNReal NNReal MeasureTheory.Measure diff --git a/Mathlib/MeasureTheory/Measure/WithDensityFinite.lean b/Mathlib/MeasureTheory/Measure/WithDensityFinite.lean index 59f3e40a39a662..aba8b48290d0d0 100644 --- a/Mathlib/MeasureTheory/Measure/WithDensityFinite.lean +++ b/Mathlib/MeasureTheory/Measure/WithDensityFinite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion -import Mathlib.Probability.ConditionalProbability +module + +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.MeasureTheory.Measure.Decomposition.Exhaustion +public import Mathlib.Probability.ConditionalProbability /-! # s-finite measures can be written as `withDensity` of a finite measure @@ -36,6 +38,8 @@ In this definition and the results below, `μ` is an s-finite measure (`SFinite -/ +@[expose] public section + open Set open scoped ENNReal ProbabilityTheory diff --git a/Mathlib/MeasureTheory/Order/Group/Lattice.lean b/Mathlib/MeasureTheory/Order/Group/Lattice.lean index 6b39cae592902c..4f68dff4806a17 100644 --- a/Mathlib/MeasureTheory/Order/Group/Lattice.lean +++ b/Mathlib/MeasureTheory/Order/Group/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Order.Group.PosPart -import Mathlib.MeasureTheory.Group.Arithmetic -import Mathlib.MeasureTheory.Order.Lattice +module + +public import Mathlib.Algebra.Order.Group.PosPart +public import Mathlib.MeasureTheory.Group.Arithmetic +public import Mathlib.MeasureTheory.Order.Lattice /-! # Measurability results on groups with a lattice structure. @@ -15,6 +17,8 @@ import Mathlib.MeasureTheory.Order.Lattice measurable function, group, lattice operation -/ +@[expose] public section + variable {α β : Type*} [Lattice α] [Group α] [MeasurableSpace α] [MeasurableSpace β] {f : β → α} diff --git a/Mathlib/MeasureTheory/Order/Lattice.lean b/Mathlib/MeasureTheory/Order/Lattice.lean index ff20fcf618b730..29d4eb36f74d1d 100644 --- a/Mathlib/MeasureTheory/Order/Lattice.lean +++ b/Mathlib/MeasureTheory/Order/Lattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.AEMeasurable +module + +public import Mathlib.MeasureTheory.Measure.AEMeasurable /-! # Typeclasses for measurability of lattice operations @@ -27,6 +29,8 @@ measurable function, lattice operation -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/MeasureTheory/Order/UpperLower.lean b/Mathlib/MeasureTheory/Order/UpperLower.lean index b7f4da183cf528..efcb101a386c03 100644 --- a/Mathlib/MeasureTheory/Order/UpperLower.lean +++ b/Mathlib/MeasureTheory/Order/UpperLower.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies, Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Kexing Ying -/ -import Mathlib.Analysis.Normed.Order.UpperLower -import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace -import Mathlib.Topology.Order.DenselyOrdered +module + +public import Mathlib.Analysis.Normed.Order.UpperLower +public import Mathlib.MeasureTheory.Covering.BesicovitchVectorSpace +public import Mathlib.Topology.Order.DenselyOrdered /-! # Order-connected sets are null-measurable @@ -45,6 +47,8 @@ any subset of the antidiagonal `{(x, y) | x + y = 0}`) is order-connected. Generalize so that it also applies to `ℝ × ℝ`, for example. -/ +@[expose] public section + open Filter MeasureTheory Metric Set open scoped Topology diff --git a/Mathlib/MeasureTheory/OuterMeasure/AE.lean b/Mathlib/MeasureTheory/OuterMeasure/AE.lean index 1809d6b4ad4312..2692cafdb76c9d 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/AE.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/AE.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yury Kudryashov -/ -import Mathlib.MeasureTheory.OuterMeasure.Basic +module + +public import Mathlib.MeasureTheory.OuterMeasure.Basic /-! # The “almost everywhere” filter of co-null sets. @@ -32,6 +34,8 @@ However, we restate some lemmas specifically for `ae`. outer measure, measure, almost everywhere -/ +@[expose] public section + open Filter Set open scoped ENNReal diff --git a/Mathlib/MeasureTheory/OuterMeasure/Basic.lean b/Mathlib/MeasureTheory/OuterMeasure/Basic.lean index a2c4435a371ae7..5418ed8456eda8 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/Basic.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Countable.Basic -import Mathlib.Data.Fin.VecNotation -import Mathlib.Order.Disjointed -import Mathlib.MeasureTheory.OuterMeasure.Defs -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Data.Countable.Basic +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Order.Disjointed +public import Mathlib.MeasureTheory.OuterMeasure.Defs +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Outer Measures @@ -30,6 +32,8 @@ Note that we do not need `α` to be measurable to define an outer measure. outer measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean b/Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean index 929acc3d97a687..c286378265fb75 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/BorelCantelli.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel, Yury Kudryashov -/ -import Mathlib.MeasureTheory.OuterMeasure.AE +module + +public import Mathlib.MeasureTheory.OuterMeasure.AE /-! # Borel-Cantelli lemma, part 1 @@ -24,6 +26,8 @@ For the *second* Borel-Cantelli lemma (applying to independent sets in a probabi see `ProbabilityTheory.measure_limsup_eq_one`. -/ +@[expose] public section + open Filter Set open scoped ENNReal Topology diff --git a/Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean b/Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean index bdbfbeca169bd8..9db1edc62b81f3 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.OuterMeasure.OfFunction -import Mathlib.MeasureTheory.PiSystem +module + +public import Mathlib.MeasureTheory.OuterMeasure.OfFunction +public import Mathlib.MeasureTheory.PiSystem /-! # The Caratheodory σ-algebra of an outer measure @@ -28,6 +30,8 @@ Carathéodory-measurable, Carathéodory's criterion -/ +@[expose] public section + noncomputable section open Set Function Filter diff --git a/Mathlib/MeasureTheory/OuterMeasure/Defs.lean b/Mathlib/MeasureTheory/OuterMeasure/Defs.lean index 3cd54e651cfd55..d46ad9bb3d3e5d 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/Defs.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.Algebra.InfiniteSum.Defs -import Mathlib.Topology.Order.Real +module + +public import Mathlib.Topology.Algebra.InfiniteSum.Defs +public import Mathlib.Topology.Order.Real /-! # Definitions of an outer measure and the corresponding `FunLike` class @@ -33,6 +35,8 @@ We also define a typeclass `MeasureTheory.OuterMeasureClass`. outer measure -/ +@[expose] public section + assert_not_exists Module.Basis IsTopologicalRing UniformSpace open scoped ENNReal diff --git a/Mathlib/MeasureTheory/OuterMeasure/Induced.lean b/Mathlib/MeasureTheory/OuterMeasure/Induced.lean index e58164f1121d13..ecd182d40b89d5 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/Induced.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/Induced.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.ENNReal.Action -import Mathlib.MeasureTheory.MeasurableSpace.Constructions -import Mathlib.MeasureTheory.OuterMeasure.Caratheodory +module + +public import Mathlib.Data.ENNReal.Action +public import Mathlib.MeasureTheory.MeasurableSpace.Constructions +public import Mathlib.MeasureTheory.OuterMeasure.Caratheodory /-! # Induced Outer Measure @@ -25,6 +27,8 @@ outer measure -/ +@[expose] public section + noncomputable section open Set Function Filter diff --git a/Mathlib/MeasureTheory/OuterMeasure/OfAddContent.lean b/Mathlib/MeasureTheory/OuterMeasure/OfAddContent.lean index 986fd1ae06635c..4487308b3f3e34 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/OfAddContent.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/OfAddContent.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.MeasureTheory.SetSemiring -import Mathlib.MeasureTheory.Measure.AddContent -import Mathlib.MeasureTheory.Measure.Trim +module + +public import Mathlib.MeasureTheory.SetSemiring +public import Mathlib.MeasureTheory.Measure.AddContent +public import Mathlib.MeasureTheory.Measure.Trim /-! # Carathéodory's extension theorem @@ -38,6 +40,8 @@ the outer measure induced by `m`. The induced outer measure is equal to `m` on ` content on a semiring coincides with the content on the semiring. -/ +@[expose] public section + open Set open scoped ENNReal diff --git a/Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean b/Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean index 910309d818ea9e..e31a62dd4fcd5d 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.MeasureTheory.OuterMeasure.Operations -import Mathlib.Analysis.SpecificLimits.Basic +module + +public import Mathlib.MeasureTheory.OuterMeasure.Operations +public import Mathlib.Analysis.SpecificLimits.Basic /-! # Outer measures from functions @@ -34,6 +36,8 @@ outer measure, Carathéodory-measurable, Carathéodory's criterion -/ +@[expose] public section + assert_not_exists Module.Basis noncomputable section diff --git a/Mathlib/MeasureTheory/OuterMeasure/Operations.lean b/Mathlib/MeasureTheory/OuterMeasure/Operations.lean index b72fba32207b4b..bb5ba79def3f86 100644 --- a/Mathlib/MeasureTheory/OuterMeasure/Operations.lean +++ b/Mathlib/MeasureTheory/OuterMeasure/Operations.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.MeasureTheory.OuterMeasure.Basic +module + +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.MeasureTheory.OuterMeasure.Basic /-! # Operations on outer measures @@ -23,6 +25,8 @@ outer measure -/ +@[expose] public section + noncomputable section open Set Function Filter diff --git a/Mathlib/MeasureTheory/PiSystem.lean b/Mathlib/MeasureTheory/PiSystem.lean index 515e002fed57b5..768a1832c37b38 100644 --- a/Mathlib/MeasureTheory/PiSystem.lean +++ b/Mathlib/MeasureTheory/PiSystem.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Martin Zinkevich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Martin Zinkevich, Rémy Degenne -/ -import Mathlib.Logic.Encodable.Lattice -import Mathlib.MeasureTheory.MeasurableSpace.Defs -import Mathlib.Order.Disjointed +module + +public import Mathlib.Logic.Encodable.Lattice +public import Mathlib.MeasureTheory.MeasurableSpace.Defs +public import Mathlib.Order.Disjointed /-! # Induction principles for measurable sets, related to π-systems and λ-systems. @@ -54,6 +56,8 @@ import Mathlib.Order.Disjointed lattice and Galois insertion on the subtype corresponding to `IsPiSystem`. -/ +@[expose] public section + open MeasurableSpace Set diff --git a/Mathlib/MeasureTheory/SetAlgebra.lean b/Mathlib/MeasureTheory/SetAlgebra.lean index 0ff0ada7f3f9e7..14f232231f0f93 100644 --- a/Mathlib/MeasureTheory/SetAlgebra.lean +++ b/Mathlib/MeasureTheory/SetAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Data.Finite.Prod -import Mathlib.MeasureTheory.SetSemiring +module + +public import Mathlib.Data.Finite.Prod +public import Mathlib.MeasureTheory.SetSemiring /-! # Algebra of sets @@ -41,6 +43,8 @@ of sets generated by `𝒜`. algebra of sets, generated algebra of sets -/ +@[expose] public section + open MeasurableSpace Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/SetSemiring.lean b/Mathlib/MeasureTheory/SetSemiring.lean index c734ea83ca0965..6f3f674080eff9 100644 --- a/Mathlib/MeasureTheory/SetSemiring.lean +++ b/Mathlib/MeasureTheory/SetSemiring.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.Data.Nat.Lattice -import Mathlib.Data.Set.Accumulate -import Mathlib.Data.Set.Pairwise.Lattice -import Mathlib.MeasureTheory.PiSystem +module + +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Data.Set.Accumulate +public import Mathlib.Data.Set.Pairwise.Lattice +public import Mathlib.MeasureTheory.PiSystem /-! # Semirings and rings of sets @@ -48,6 +50,8 @@ A ring of sets is a set of sets containing `∅`, stable by union, set differenc -/ +@[expose] public section + open Finset Set namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMap.lean b/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMap.lean index fc47060d04a460..d179e9c3f839eb 100644 --- a/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMap.lean +++ b/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.MeasureTheory.Integral.IntegrableOn +module + +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.MeasureTheory.Integral.IntegrableOn /-! # Specific results about `ContinuousMap`-valued integration @@ -48,6 +50,8 @@ to approach integration valued in a functional space `ℱ`. More precisely: -/ +@[expose] public section + open MeasureTheory namespace ContinuousMap diff --git a/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMapZero.lean b/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMapZero.lean index f1cf92e005db46..cbaf331b6f099f 100644 --- a/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMapZero.lean +++ b/Mathlib/MeasureTheory/SpecificCodomains/ContinuousMapZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.ContinuousMap.ContinuousMapZero -import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMap +module + +public import Mathlib.Topology.ContinuousMap.ContinuousMapZero +public import Mathlib.MeasureTheory.SpecificCodomains.ContinuousMap /-! # Specific results about `ContinuousMapZero`-valued integration @@ -19,6 +21,8 @@ module docstring. -/ +@[expose] public section + open MeasureTheory namespace ContinuousMapZero diff --git a/Mathlib/MeasureTheory/SpecificCodomains/Pi.lean b/Mathlib/MeasureTheory/SpecificCodomains/Pi.lean index deee4d2165ee9b..cf845b3d0aa5ee 100644 --- a/Mathlib/MeasureTheory/SpecificCodomains/Pi.lean +++ b/Mathlib/MeasureTheory/SpecificCodomains/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap /-! # Integrability in a product space @@ -12,6 +14,8 @@ We prove that `f : X → Π i, E i` is in `Lᵖ` if and only if for all `i`, `f We do the same for `f : X → (E × F)`. -/ +@[expose] public section + namespace MeasureTheory open scoped ENNReal diff --git a/Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean b/Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean index 5642ada6a13280..d99d41730bff01 100644 --- a/Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean +++ b/Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Analysis.Normed.Lp.PiLp -import Mathlib.MeasureTheory.SpecificCodomains.Pi +module + +public import Mathlib.Analysis.Normed.Lp.PiLp +public import Mathlib.MeasureTheory.SpecificCodomains.Pi /-! # Integrability in `WithLp` @@ -13,6 +15,8 @@ We prove that `f : X → PiLp q E` is in `Lᵖ` if and only if for all `i`, `f We do the same for `f : X → WithLp q (E × F)`. -/ +@[expose] public section + open scoped ENNReal namespace MeasureTheory diff --git a/Mathlib/MeasureTheory/Topology.lean b/Mathlib/MeasureTheory/Topology.lean index 009b7183f69e45..dd00c290a8670e 100644 --- a/Mathlib/MeasureTheory/Topology.lean +++ b/Mathlib/MeasureTheory/Topology.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms -import Mathlib.Topology.DiscreteSubset +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.NoAtoms +public import Mathlib.Topology.DiscreteSubset /-! # Theorems combining measure theory and topology @@ -12,6 +14,8 @@ import Mathlib.Topology.DiscreteSubset This file gathers theorems that combine measure theory and topology, and cannot easily be added to the existing files without introducing massive dependencies between the subjects. -/ + +@[expose] public section open Filter MeasureTheory /-- Under reasonable assumptions, sets that are codiscrete within `U` are contained in the “almost diff --git a/Mathlib/MeasureTheory/VectorMeasure/Basic.lean b/Mathlib/MeasureTheory/VectorMeasure/Basic.lean index acd54f20ad35a7..72a962bd4cd449 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Basic.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Measure.Real -import Mathlib.MeasureTheory.Measure.Typeclasses.Finite -import Mathlib.Topology.Algebra.InfiniteSum.Module +module + +public import Mathlib.MeasureTheory.Measure.Real +public import Mathlib.MeasureTheory.Measure.Typeclasses.Finite +public import Mathlib.Topology.Algebra.InfiniteSum.Module /-! @@ -42,6 +44,8 @@ since this provides summability. vector measure, signed measure, complex measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean index 3968bb82e0f239..2a60410761d646 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Hahn.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.VectorMeasure.Basic -import Mathlib.Order.SymmDiff +module + +public import Mathlib.MeasureTheory.VectorMeasure.Basic +public import Mathlib.Order.SymmDiff /-! # Hahn decomposition @@ -34,6 +36,8 @@ being positive/negative with respect to the signed measure `s`. Hahn decomposition theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean index 0e544ce610f36d..684fa08369e39f 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Hahn -import Mathlib.MeasureTheory.Measure.MutuallySingular -import Mathlib.Topology.Algebra.UniformMulAction +module + +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Hahn +public import Mathlib.MeasureTheory.Measure.MutuallySingular +public import Mathlib.Topology.Algebra.UniformMulAction /-! # Jordan decomposition @@ -40,6 +42,8 @@ is useful for the Lebesgue decomposition theorem. Jordan decomposition theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/JordanSub.lean b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/JordanSub.lean index 7c22dd2967793f..1ab015aac88725 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/JordanSub.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/JordanSub.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Loic Simon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Loic Simon -/ -import Mathlib.MeasureTheory.Measure.Decomposition.Hahn -import Mathlib.MeasureTheory.Measure.Sub -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.Hahn +public import Mathlib.MeasureTheory.Measure.Sub +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan /-! # Jordan decomposition from signed measure subtraction @@ -28,6 +30,8 @@ where `μ ≤ ν` and `ν ≤ μ`, and the measure difference behaves like a sig `(μ - ν).toSignedMeasure - (ν - μ).toSignedMeasure`. -/ +@[expose] public section + open scoped ENNReal NNReal namespace MeasureTheory.Measure diff --git a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Lebesgue.lean b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Lebesgue.lean index f6517cb8745bc7..71ba6566727b3c 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Lebesgue.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/Lebesgue.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue -import Mathlib.MeasureTheory.Measure.Complex -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan -import Mathlib.MeasureTheory.VectorMeasure.WithDensity +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +public import Mathlib.MeasureTheory.Measure.Complex +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Jordan +public import Mathlib.MeasureTheory.VectorMeasure.WithDensity /-! # Lebesgue decomposition @@ -39,6 +41,8 @@ to `ν`. Lebesgue decomposition theorem -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/RadonNikodym.lean b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/RadonNikodym.lean index 84449d4b65fe6a..44e8cbe6ef6c85 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/Decomposition/RadonNikodym.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/Decomposition/RadonNikodym.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Thomas Zhu -/ -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Lebesgue +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +public import Mathlib.MeasureTheory.VectorMeasure.Decomposition.Lebesgue /-! # Radon-Nikodym derivatives of vector measures @@ -14,6 +16,8 @@ that depend both on the Lebesgue decomposition of signed measures and the theory of Radon-Nikodym derivatives of usual measures. -/ +@[expose] public section + namespace MeasureTheory variable {α : Type*} {m : MeasurableSpace α} diff --git a/Mathlib/MeasureTheory/VectorMeasure/WithDensity.lean b/Mathlib/MeasureTheory/VectorMeasure/WithDensity.lean index 9d65e62a3388b5..b4da5059cb90fc 100644 --- a/Mathlib/MeasureTheory/VectorMeasure/WithDensity.lean +++ b/Mathlib/MeasureTheory/VectorMeasure/WithDensity.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.VectorMeasure.Basic -import Mathlib.MeasureTheory.Function.AEEqOfIntegral +module + +public import Mathlib.MeasureTheory.VectorMeasure.Basic +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral /-! @@ -21,6 +23,8 @@ the Radon-Nikodym theorem for signed measures. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/ModelTheory/Algebra/Field/Basic.lean b/Mathlib/ModelTheory/Algebra/Field/Basic.lean index 0dce878e6c8b4c..328f6c840fac7f 100644 --- a/Mathlib/ModelTheory/Algebra/Field/Basic.lean +++ b/Mathlib/ModelTheory/Algebra/Field/Basic.lean @@ -3,12 +3,13 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.ModelTheory.Syntax -import Mathlib.ModelTheory.Semantics -import Mathlib.ModelTheory.Algebra.Ring.Basic -import Mathlib.Algebra.Field.MinimalAxioms -import Mathlib.Data.Nat.Cast.Order.Ring +public import Mathlib.ModelTheory.Syntax +public import Mathlib.ModelTheory.Semantics +public import Mathlib.ModelTheory.Algebra.Ring.Basic +public import Mathlib.Algebra.Field.MinimalAxioms +public import Mathlib.Data.Nat.Cast.Order.Ring /-! # The First-Order Theory of Fields @@ -25,6 +26,8 @@ This file defines the first-order theory of fields as a theory over the language `Language.ring.Structure` instance. -/ +@[expose] public section + variable {K : Type*} namespace FirstOrder diff --git a/Mathlib/ModelTheory/Algebra/Field/CharP.lean b/Mathlib/ModelTheory/Algebra/Field/CharP.lean index f1d893de9c74d1..69d6040d887561 100644 --- a/Mathlib/ModelTheory/Algebra/Field/CharP.lean +++ b/Mathlib/ModelTheory/Algebra/Field/CharP.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Algebra.CharP.Basic -import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing -import Mathlib.ModelTheory.Algebra.Field.Basic +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing +public import Mathlib.ModelTheory.Algebra.Field.Basic /-! # First-order theory of fields @@ -20,6 +21,8 @@ language of rings as a theory over the language of rings -/ +@[expose] public section + variable {p : ℕ} {K : Type*} namespace FirstOrder diff --git a/Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean b/Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean index 2e4def18cfa60e..be0c15ecf29b5c 100644 --- a/Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean +++ b/Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean @@ -3,12 +3,13 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.Data.Nat.PrimeFin -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.FieldTheory.IsAlgClosed.Classification -import Mathlib.ModelTheory.Algebra.Field.CharP -import Mathlib.ModelTheory.Satisfiability +public import Mathlib.Data.Nat.PrimeFin +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.FieldTheory.IsAlgClosed.Classification +public import Mathlib.ModelTheory.Algebra.Field.CharP +public import Mathlib.ModelTheory.Satisfiability /-! @@ -43,6 +44,8 @@ the Ax-Grothendieck Theorem were first formalized in Lean 3 by Joseph Hua -/ +@[expose] public section + variable {K : Type*} namespace FirstOrder diff --git a/Mathlib/ModelTheory/Algebra/Ring/Basic.lean b/Mathlib/ModelTheory/Algebra/Ring/Basic.lean index 7917e6a9810bf1..236a5be8c4bfd7 100644 --- a/Mathlib/ModelTheory/Algebra/Ring/Basic.lean +++ b/Mathlib/ModelTheory/Algebra/Ring/Basic.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.ModelTheory.Syntax -import Mathlib.ModelTheory.Semantics -import Mathlib.Algebra.Ring.Equiv +public import Mathlib.ModelTheory.Syntax +public import Mathlib.ModelTheory.Semantics +public import Mathlib.Algebra.Ring.Equiv /-! # First-Order Language of Rings @@ -39,6 +40,8 @@ you must add local instances with definitions like `ModelTheory.Field.fieldOfMod (in `Mathlib/ModelTheory/Algebra/Field/Basic.lean`), depending on the Theory. -/ +@[expose] public section + variable {α : Type*} namespace FirstOrder diff --git a/Mathlib/ModelTheory/Algebra/Ring/Definability.lean b/Mathlib/ModelTheory/Algebra/Ring/Definability.lean index 4c306a264d0530..a616d3ccdb3094 100644 --- a/Mathlib/ModelTheory/Algebra/Ring/Definability.lean +++ b/Mathlib/ModelTheory/Algebra/Ring/Definability.lean @@ -3,11 +3,12 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.ModelTheory.Definability -import Mathlib.RingTheory.MvPolynomial.FreeCommRing -import Mathlib.RingTheory.Nullstellensatz -import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing +public import Mathlib.ModelTheory.Definability +public import Mathlib.RingTheory.MvPolynomial.FreeCommRing +public import Mathlib.RingTheory.Nullstellensatz +public import Mathlib.ModelTheory.Algebra.Ring.FreeCommRing /-! @@ -17,6 +18,8 @@ This file proves that the set of zeros of a multivariable polynomial is a defina -/ +@[expose] public section + namespace FirstOrder namespace Ring diff --git a/Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean b/Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean index affebfdda5f3fd..fe45b81dcff5e7 100644 --- a/Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean +++ b/Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.ModelTheory.Algebra.Ring.Basic -import Mathlib.RingTheory.FreeCommRing +public import Mathlib.ModelTheory.Algebra.Ring.Basic +public import Mathlib.RingTheory.FreeCommRing /-! # Making a term in the language of rings from an element of the FreeCommRing @@ -17,6 +18,8 @@ The theorem `FirstOrder.Ring.realize_termOfFreeCommRing` shows that the term con realized in a ring `R` is equal to the lift of the element of `FreeCommRing α` to `R`. -/ +@[expose] public section + namespace FirstOrder namespace Ring diff --git a/Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean b/Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean index 4160101d40cbf7..48f74cc03face0 100644 --- a/Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean +++ b/Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Dexin Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dexin Zhang -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.ModelTheory.Semantics +module + +public import Mathlib.Algebra.Group.Basic +public import Mathlib.ModelTheory.Semantics /-! # Presburger arithmetic @@ -23,6 +25,8 @@ This file defines the first-order language of Presburger arithmetic as (0,1,+). completeness, etc). -/ +@[expose] public section + variable {α : Type*} namespace FirstOrder diff --git a/Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean b/Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean index 43288a8771ceb8..1ca3ba0d989633 100644 --- a/Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean +++ b/Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Dexin Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dexin Zhang -/ -import Mathlib.GroupTheory.Finiteness -import Mathlib.LinearAlgebra.LinearIndependent.Defs +module + +public import Mathlib.GroupTheory.Finiteness +public import Mathlib.LinearAlgebra.LinearIndependent.Defs /-! # Linear and semilinear sets @@ -42,6 +44,8 @@ of sets in form `{ x | ∃ y, p x y }`. * [Samuel Eilenberg and M. P. Schützenberger, *Rational Sets in Commutative Monoids*][eilenberg1969] -/ +@[expose] public section + variable {M N ι κ F : Type*} [AddCommMonoid M] [AddCommMonoid N] [FunLike F M N] [AddMonoidHomClass F M N] {a : M} {s s₁ s₂ : Set M} diff --git a/Mathlib/ModelTheory/Basic.lean b/Mathlib/ModelTheory/Basic.lean index e252b35e212dae..357a1f6181d46f 100644 --- a/Mathlib/ModelTheory/Basic.lean +++ b/Mathlib/ModelTheory/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Aaron Anderson, Jesse Michael Han, Floris van Doorn. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jesse Michael Han, Floris van Doorn -/ -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.SetTheory.Cardinal.Basic /-! # Basics on First-Order Structures @@ -38,6 +40,8 @@ For the Flypitch project: the continuum hypothesis*][flypitch_itp] -/ +@[expose] public section + universe u v u' v' w w' open Cardinal diff --git a/Mathlib/ModelTheory/Bundled.lean b/Mathlib/ModelTheory/Bundled.lean index 5fc873f49158a2..cb1d26a19bba85 100644 --- a/Mathlib/ModelTheory/Bundled.lean +++ b/Mathlib/ModelTheory/Bundled.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.ElementarySubstructures -import Mathlib.CategoryTheory.ConcreteCategory.Bundled +module + +public import Mathlib.ModelTheory.ElementarySubstructures +public import Mathlib.CategoryTheory.ConcreteCategory.Bundled /-! # Bundled First-Order Structures @@ -21,6 +23,8 @@ This file bundles types together with their first-order structure. - Define category structures on bundled structures and models. -/ +@[expose] public section + universe u v w w' x diff --git a/Mathlib/ModelTheory/Complexity.lean b/Mathlib/ModelTheory/Complexity.lean index 13c939b13a8ec9..a214a45df75c11 100644 --- a/Mathlib/ModelTheory/Complexity.lean +++ b/Mathlib/ModelTheory/Complexity.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Equivalence +module + +public import Mathlib.ModelTheory.Equivalence /-! # Quantifier Complexity @@ -28,6 +30,8 @@ This file defines quantifier complexity of first-order formulas, and constructs -/ +@[expose] public section + universe u v w u' v' namespace FirstOrder diff --git a/Mathlib/ModelTheory/Definability.lean b/Mathlib/ModelTheory/Definability.lean index 7dd62906b90ed8..57cd2db8a461d2 100644 --- a/Mathlib/ModelTheory/Definability.lean +++ b/Mathlib/ModelTheory/Definability.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.SetLike.Basic -import Mathlib.ModelTheory.Semantics +module + +public import Mathlib.Data.SetLike.Basic +public import Mathlib.ModelTheory.Semantics /-! # Definable Sets @@ -30,6 +32,8 @@ This file defines what it means for a set over a first-order structure to be def -/ +@[expose] public section + universe u v w u₁ diff --git a/Mathlib/ModelTheory/DirectLimit.lean b/Mathlib/ModelTheory/DirectLimit.lean index ed244f4eb795a1..42abb6cdeb3c54 100644 --- a/Mathlib/ModelTheory/DirectLimit.lean +++ b/Mathlib/ModelTheory/DirectLimit.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Gabin Kolly -/ -import Mathlib.Data.Finite.Sum -import Mathlib.Data.Fintype.Order -import Mathlib.ModelTheory.FinitelyGenerated -import Mathlib.ModelTheory.Quotients -import Mathlib.Order.DirectedInverseSystem +module + +public import Mathlib.Data.Finite.Sum +public import Mathlib.Data.Fintype.Order +public import Mathlib.ModelTheory.FinitelyGenerated +public import Mathlib.ModelTheory.Quotients +public import Mathlib.Order.DirectedInverseSystem /-! # Direct Limits of First-Order Structures @@ -25,6 +27,8 @@ This file constructs the direct limit of a directed system of first-order embedd isomorphic direct systems. -/ +@[expose] public section + universe v w w' u₁ u₂ diff --git a/Mathlib/ModelTheory/ElementaryMaps.lean b/Mathlib/ModelTheory/ElementaryMaps.lean index dc6db23bfcf65b..29681772d8de6e 100644 --- a/Mathlib/ModelTheory/ElementaryMaps.lean +++ b/Mathlib/ModelTheory/ElementaryMaps.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Fintype.Basic -import Mathlib.ModelTheory.Substructures +module + +public import Mathlib.Data.Fintype.Basic +public import Mathlib.ModelTheory.Substructures /-! # Elementary Maps Between First-Order Structures @@ -24,6 +26,8 @@ import Mathlib.ModelTheory.Substructures gives a simple criterion for an embedding to be elementary. -/ +@[expose] public section + open FirstOrder diff --git a/Mathlib/ModelTheory/ElementarySubstructures.lean b/Mathlib/ModelTheory/ElementarySubstructures.lean index 08afc61f6f74a6..541bd3cc9e97e4 100644 --- a/Mathlib/ModelTheory/ElementarySubstructures.lean +++ b/Mathlib/ModelTheory/ElementarySubstructures.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.ElementaryMaps +module + +public import Mathlib.ModelTheory.ElementaryMaps /-! # Elementary Substructures @@ -20,6 +22,8 @@ import Mathlib.ModelTheory.ElementaryMaps substructure to be elementary. -/ +@[expose] public section + open FirstOrder diff --git a/Mathlib/ModelTheory/Encoding.lean b/Mathlib/ModelTheory/Encoding.lean index 7e1c38617dad8a..66cf72261b021f 100644 --- a/Mathlib/ModelTheory/Encoding.lean +++ b/Mathlib/ModelTheory/Encoding.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Computability.Encoding -import Mathlib.Logic.Small.List -import Mathlib.ModelTheory.Syntax -import Mathlib.SetTheory.Cardinal.Arithmetic +module + +public import Mathlib.Computability.Encoding +public import Mathlib.Logic.Small.List +public import Mathlib.ModelTheory.Syntax +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # Encodings and Cardinality of First-Order Syntax @@ -32,6 +34,8 @@ import Mathlib.SetTheory.Cardinal.Arithmetic -/ +@[expose] public section + universe u v w u' diff --git a/Mathlib/ModelTheory/Equivalence.lean b/Mathlib/ModelTheory/Equivalence.lean index 98530447d86593..a25737a2126ae1 100644 --- a/Mathlib/ModelTheory/Equivalence.lean +++ b/Mathlib/ModelTheory/Equivalence.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Satisfiability +module + +public import Mathlib.ModelTheory.Satisfiability /-! # Equivalence of Formulas @@ -18,6 +20,8 @@ import Mathlib.ModelTheory.Satisfiability -/ +@[expose] public section + universe u v w w' open Cardinal CategoryTheory diff --git a/Mathlib/ModelTheory/FinitelyGenerated.lean b/Mathlib/ModelTheory/FinitelyGenerated.lean index 568aa744653bcc..033a9c2bdca1e7 100644 --- a/Mathlib/ModelTheory/FinitelyGenerated.lean +++ b/Mathlib/ModelTheory/FinitelyGenerated.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.ModelTheory.Substructures +module + +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.ModelTheory.Substructures /-! # Finitely Generated First-Order Structures @@ -27,6 +29,8 @@ this definition of finite generation to define the others. -/ +@[expose] public section + open FirstOrder Set namespace FirstOrder diff --git a/Mathlib/ModelTheory/Fraisse.lean b/Mathlib/ModelTheory/Fraisse.lean index 839779d0dd7411..3f5a74c41e7486 100644 --- a/Mathlib/ModelTheory/Fraisse.lean +++ b/Mathlib/ModelTheory/Fraisse.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Gabin Kolly -/ -import Mathlib.ModelTheory.FinitelyGenerated -import Mathlib.ModelTheory.PartialEquiv -import Mathlib.ModelTheory.Bundled -import Mathlib.Algebra.Order.Archimedean.Basic +module + +public import Mathlib.ModelTheory.FinitelyGenerated +public import Mathlib.ModelTheory.PartialEquiv +public import Mathlib.ModelTheory.Bundled +public import Mathlib.Algebra.Order.Archimedean.Basic /-! # Fraïssé Classes and Fraïssé Limits @@ -66,6 +68,8 @@ Fraïssé limit - the countable ultrahomogeneous structure with that age. -/ +@[expose] public section + universe u v w w' diff --git a/Mathlib/ModelTheory/Graph.lean b/Mathlib/ModelTheory/Graph.lean index d5dc2cd134c9e6..82f91f11922578 100644 --- a/Mathlib/ModelTheory/Graph.lean +++ b/Mathlib/ModelTheory/Graph.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Satisfiability -import Mathlib.Combinatorics.SimpleGraph.Basic +module + +public import Mathlib.ModelTheory.Satisfiability +public import Mathlib.Combinatorics.SimpleGraph.Basic /-! # First-Order Structures in Graph Theory @@ -21,6 +23,8 @@ This file defines first-order languages, structures, and theories in graph theor of the theory of simple graphs. -/ +@[expose] public section + universe u namespace FirstOrder diff --git a/Mathlib/ModelTheory/LanguageMap.lean b/Mathlib/ModelTheory/LanguageMap.lean index 5540f6d47335a9..f6eb2e8b133a9b 100644 --- a/Mathlib/ModelTheory/LanguageMap.lean +++ b/Mathlib/ModelTheory/LanguageMap.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Aaron Anderson, Jesse Michael Han, Floris van Doorn. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jesse Michael Han, Floris van Doorn -/ -import Mathlib.ModelTheory.Basic +module + +public import Mathlib.ModelTheory.Basic /-! # Language Maps @@ -31,6 +33,8 @@ For the Flypitch project: -/ +@[expose] public section + universe u v u' v' w w' namespace FirstOrder diff --git a/Mathlib/ModelTheory/Order.lean b/Mathlib/ModelTheory/Order.lean index d00b87d61e80e5..068f6e205e9aab 100644 --- a/Mathlib/ModelTheory/Order.lean +++ b/Mathlib/ModelTheory/Order.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.CharZero.Infinite -import Mathlib.Data.Rat.Encodable -import Mathlib.Data.Finset.Sort -import Mathlib.ModelTheory.Complexity -import Mathlib.ModelTheory.Fraisse -import Mathlib.Order.CountableDenseLinearOrder +module + +public import Mathlib.Algebra.CharZero.Infinite +public import Mathlib.Data.Rat.Encodable +public import Mathlib.Data.Finset.Sort +public import Mathlib.ModelTheory.Complexity +public import Mathlib.ModelTheory.Fraisse +public import Mathlib.Order.CountableDenseLinearOrder /-! # Ordered First-Ordered Structures @@ -50,6 +52,8 @@ This file defines ordered first-order languages and structures, as well as their -/ +@[expose] public section + universe u v w w' diff --git a/Mathlib/ModelTheory/PartialEquiv.lean b/Mathlib/ModelTheory/PartialEquiv.lean index e9515b933a0fc4..670589e1c17da9 100644 --- a/Mathlib/ModelTheory/PartialEquiv.lean +++ b/Mathlib/ModelTheory/PartialEquiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Gabin Kolly. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Gabin Kolly, David Wärn -/ -import Mathlib.ModelTheory.DirectLimit -import Mathlib.Order.Ideal +module + +public import Mathlib.ModelTheory.DirectLimit +public import Mathlib.Order.Ideal /-! # Partial Isomorphisms @@ -34,6 +36,8 @@ This file defines partial isomorphisms between first-order structures. -/ +@[expose] public section + universe u v w w' namespace FirstOrder diff --git a/Mathlib/ModelTheory/Quotients.lean b/Mathlib/ModelTheory/Quotients.lean index bcc18ff887f893..f687ae86c6f5c8 100644 --- a/Mathlib/ModelTheory/Quotients.lean +++ b/Mathlib/ModelTheory/Quotients.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Fintype.Quotient -import Mathlib.ModelTheory.Semantics +module + +public import Mathlib.Data.Fintype.Quotient +public import Mathlib.ModelTheory.Semantics /-! # Quotients of First-Order Structures @@ -19,6 +21,8 @@ This file defines prestructures and quotients of first-order structures. `Quotient s`. -/ +@[expose] public section + namespace FirstOrder diff --git a/Mathlib/ModelTheory/Satisfiability.lean b/Mathlib/ModelTheory/Satisfiability.lean index 55b8e908383027..372333cb2fb94c 100644 --- a/Mathlib/ModelTheory/Satisfiability.lean +++ b/Mathlib/ModelTheory/Satisfiability.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Ultraproducts -import Mathlib.ModelTheory.Bundled -import Mathlib.ModelTheory.Skolem -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.ModelTheory.Ultraproducts +public import Mathlib.ModelTheory.Bundled +public import Mathlib.ModelTheory.Skolem +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # First-Order Satisfiability @@ -41,6 +43,8 @@ This file deals with the satisfiability of first-order theories, as well as equi of `L`. By Löwenheim-Skolem, this is equivalent to satisfiability in any universe. -/ +@[expose] public section + universe u v w w' diff --git a/Mathlib/ModelTheory/Semantics.lean b/Mathlib/ModelTheory/Semantics.lean index 60bf4e01335c3a..27e156d5d0e4fa 100644 --- a/Mathlib/ModelTheory/Semantics.lean +++ b/Mathlib/ModelTheory/Semantics.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Aaron Anderson, Jesse Michael Han, Floris van Doorn. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jesse Michael Han, Floris van Doorn -/ -import Mathlib.Data.Finset.Basic -import Mathlib.ModelTheory.Syntax -import Mathlib.Data.List.ProdSigma +module + +public import Mathlib.Data.Finset.Basic +public import Mathlib.ModelTheory.Syntax +public import Mathlib.Data.List.ProdSigma /-! # Basics on First-Order Semantics @@ -46,6 +48,8 @@ For the Flypitch project: the continuum hypothesis*][flypitch_itp] -/ +@[expose] public section + universe u v w u' v' diff --git a/Mathlib/ModelTheory/Skolem.lean b/Mathlib/ModelTheory/Skolem.lean index 551920790ad180..277922a16a1ffb 100644 --- a/Mathlib/ModelTheory/Skolem.lean +++ b/Mathlib/ModelTheory/Skolem.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.ElementarySubstructures +module + +public import Mathlib.ModelTheory.ElementarySubstructures /-! # Skolem Functions and Downward Löwenheim–Skolem @@ -24,6 +26,8 @@ import Mathlib.ModelTheory.ElementarySubstructures - Use `skolem₁` recursively to construct an actual Skolemization of a language. -/ +@[expose] public section + universe u v w w' diff --git a/Mathlib/ModelTheory/Substructures.lean b/Mathlib/ModelTheory/Substructures.lean index 261a13bdf4bdd6..94368ea49276ca 100644 --- a/Mathlib/ModelTheory/Substructures.lean +++ b/Mathlib/ModelTheory/Substructures.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Gabin Kolly -/ -import Mathlib.Data.Fintype.Order -import Mathlib.Order.Closure -import Mathlib.ModelTheory.Semantics -import Mathlib.ModelTheory.Encoding +module + +public import Mathlib.Data.Fintype.Order +public import Mathlib.Order.Closure +public import Mathlib.ModelTheory.Semantics +public import Mathlib.ModelTheory.Encoding /-! # First-Order Substructures @@ -39,6 +41,8 @@ substructures appearing in the algebra library. - `L.Substructure M` forms a `CompleteLattice`. -/ +@[expose] public section + universe u v w namespace FirstOrder diff --git a/Mathlib/ModelTheory/Syntax.lean b/Mathlib/ModelTheory/Syntax.lean index 61fdc0f3de7eb4..7dd1da05c2a3ba 100644 --- a/Mathlib/ModelTheory/Syntax.lean +++ b/Mathlib/ModelTheory/Syntax.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Aaron Anderson, Jesse Michael Han, Floris van Doorn. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Jesse Michael Han, Floris van Doorn -/ -import Mathlib.Data.Set.Prod -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.ModelTheory.LanguageMap -import Mathlib.Algebra.Order.Group.Nat +module + +public import Mathlib.Data.Set.Prod +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.ModelTheory.LanguageMap +public import Mathlib.Algebra.Order.Group.Nat /-! # Basics on First-Order Syntax @@ -56,6 +58,8 @@ For the Flypitch project: the continuum hypothesis*][flypitch_itp] -/ +@[expose] public section + universe u v w u' v' diff --git a/Mathlib/ModelTheory/Types.lean b/Mathlib/ModelTheory/Types.lean index ce8c2432ced62f..186688c0590426 100644 --- a/Mathlib/ModelTheory/Types.lean +++ b/Mathlib/ModelTheory/Types.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Satisfiability +module + +public import Mathlib.ModelTheory.Satisfiability /-! # Type Spaces @@ -36,6 +38,8 @@ This file defines the space of complete types over a first-order theory. - Connect `T.CompleteType α` to sets of formulas `L.Formula α`. -/ +@[expose] public section + universe u v w w' diff --git a/Mathlib/ModelTheory/Ultraproducts.lean b/Mathlib/ModelTheory/Ultraproducts.lean index 460da0205d09a3..e7099b29151624 100644 --- a/Mathlib/ModelTheory/Ultraproducts.lean +++ b/Mathlib/ModelTheory/Ultraproducts.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.ModelTheory.Quotients -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.Germ.Basic -import Mathlib.Order.Filter.Ultrafilter.Defs +module + +public import Mathlib.ModelTheory.Quotients +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.Germ.Basic +public import Mathlib.Order.Filter.Ultrafilter.Defs /-! # Ultraproducts and Łoś's Theorem @@ -26,6 +28,8 @@ import Mathlib.Order.Filter.Ultrafilter.Defs ultraproduct, Los's theorem -/ +@[expose] public section + universe u v variable {α : Type*} (M : α → Type*) (u : Ultrafilter α) diff --git a/Mathlib/NumberTheory/ADEInequality.lean b/Mathlib/NumberTheory/ADEInequality.lean index 6e4727942fd845..684e1b4b44f6be 100644 --- a/Mathlib/NumberTheory/ADEInequality.lean +++ b/Mathlib/NumberTheory/ADEInequality.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.Data.Multiset.Sort -import Mathlib.Data.PNat.Basic -import Mathlib.Data.PNat.Interval -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.Data.Multiset.Sort +public import Mathlib.Data.PNat.Basic +public import Mathlib.Data.PNat.Interval +public import Mathlib.Tactic.NormNum +public import Mathlib.Tactic.IntervalCases /-! # The inequality `p⁻¹ + q⁻¹ + r⁻¹ > 1` @@ -35,6 +37,8 @@ in the classification of Dynkin diagrams, root systems, and semisimple Lie algeb -/ +@[expose] public section + namespace ADEInequality diff --git a/Mathlib/NumberTheory/AbelSummation.lean b/Mathlib/NumberTheory/AbelSummation.lean index 8dd3a69dced005..75f45353e8edcc 100644 --- a/Mathlib/NumberTheory/AbelSummation.lean +++ b/Mathlib/NumberTheory/AbelSummation.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.MeasureTheory.Function.Floor -import Mathlib.MeasureTheory.Integral.Asymptotics -import Mathlib.MeasureTheory.Integral.IntegralEqImproper -import Mathlib.Topology.Order.IsLocallyClosed +module + +public import Mathlib.MeasureTheory.Function.Floor +public import Mathlib.MeasureTheory.Integral.Asymptotics +public import Mathlib.MeasureTheory.Integral.IntegralEqImproper +public import Mathlib.Topology.Order.IsLocallyClosed /-! # Abel's summation formula @@ -41,6 +43,8 @@ Primed versions of the three results above are also stated for when the endpoint -/ +@[expose] public section + noncomputable section open Finset MeasureTheory diff --git a/Mathlib/NumberTheory/ArithmeticFunction.lean b/Mathlib/NumberTheory/ArithmeticFunction.lean index d1dbf0a988aebc..93545e32b10aed 100644 --- a/Mathlib/NumberTheory/ArithmeticFunction.lean +++ b/Mathlib/NumberTheory/ArithmeticFunction.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Algebra.Module.BigOperators -import Mathlib.NumberTheory.Divisors -import Mathlib.Data.Nat.Squarefree -import Mathlib.Data.Nat.GCD.BigOperators -import Mathlib.Data.Nat.Factorization.Induction -import Mathlib.Tactic.ArithMult +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.NumberTheory.Divisors +public import Mathlib.Data.Nat.Squarefree +public import Mathlib.Data.Nat.GCD.BigOperators +public import Mathlib.Data.Nat.Factorization.Induction +public import Mathlib.Tactic.ArithMult /-! # Arithmetic Functions and Dirichlet Convolution @@ -64,6 +66,8 @@ arithmetic functions, dirichlet convolution, divisors -/ +@[expose] public section + open Finset open Nat @@ -1427,7 +1431,7 @@ open Lean Meta Qq /-- Extension for `ArithmeticFunction.sigma`. -/ @[positivity ArithmeticFunction.sigma _ _] -def evalArithmeticFunctionSigma : PositivityExt where eval {u α} z p e := do +meta def evalArithmeticFunctionSigma : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(ArithmeticFunction.sigma $k $n) => let rn ← core z p n @@ -1439,7 +1443,7 @@ def evalArithmeticFunctionSigma : PositivityExt where eval {u α} z p e := do /-- Extension for `ArithmeticFunction.zeta`. -/ @[positivity ArithmeticFunction.zeta _] -def evalArithmeticFunctionZeta : PositivityExt where eval {u α} z p e := do +meta def evalArithmeticFunctionZeta : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(ArithmeticFunction.zeta $n) => let rn ← core z p n diff --git a/Mathlib/NumberTheory/Basic.lean b/Mathlib/NumberTheory/Basic.lean index 2092df338ceb46..811a4e5d2b9a25 100644 --- a/Mathlib/NumberTheory/Basic.lean +++ b/Mathlib/NumberTheory/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Span /-! # Basic results in number theory @@ -20,6 +22,8 @@ all natural numbers `p` and `k` if `p` divides `a-b` in `R`, then `p ^ (k + 1)` `a ^ (p ^ k) - b ^ (p ^ k)`. -/ +@[expose] public section + section diff --git a/Mathlib/NumberTheory/Bernoulli.lean b/Mathlib/NumberTheory/Bernoulli.lean index 7ae29fbd6ce19f..3d8e469887f8c3 100644 --- a/Mathlib/NumberTheory/Bernoulli.lean +++ b/Mathlib/NumberTheory/Bernoulli.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kevin Buzzard -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.RingTheory.PowerSeries.Inverse -import Mathlib.RingTheory.PowerSeries.WellKnown +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.RingTheory.PowerSeries.Inverse +public import Mathlib.RingTheory.PowerSeries.WellKnown /-! # Bernoulli numbers @@ -49,6 +51,8 @@ then defined as `bernoulli := (-1)^n * bernoulli'`. `sum_bernoulli : ∑ k ∈ Finset.range n, (n.choose k : ℚ) * bernoulli k = if n = 1 then 1 else 0` -/ +@[expose] public section + open Nat Finset Finset.Nat PowerSeries diff --git a/Mathlib/NumberTheory/BernoulliPolynomials.lean b/Mathlib/NumberTheory/BernoulliPolynomials.lean index 95132a3e90a38f..26ddb723df95ad 100644 --- a/Mathlib/NumberTheory/BernoulliPolynomials.lean +++ b/Mathlib/NumberTheory/BernoulliPolynomials.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Ashvni Narayanan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ashvni Narayanan, David Loeffler -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Data.Nat.Choose.Cast -import Mathlib.NumberTheory.Bernoulli +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Data.Nat.Choose.Cast +public import Mathlib.NumberTheory.Bernoulli /-! # Bernoulli polynomials @@ -38,6 +40,8 @@ Bernoulli polynomials are defined using `bernoulli`, the Bernoulli numbers. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/Bertrand.lean b/Mathlib/NumberTheory/Bertrand.lean index fdd722b198a6ba..70582d83cb9e4b 100644 --- a/Mathlib/NumberTheory/Bertrand.lean +++ b/Mathlib/NumberTheory/Bertrand.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Patrick Stevens. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Stevens, Bolton Bailey -/ -import Mathlib.Data.Nat.Choose.Factorization -import Mathlib.NumberTheory.Primorial -import Mathlib.Analysis.Convex.SpecificFunctions.Basic -import Mathlib.Analysis.Convex.SpecificFunctions.Deriv -import Mathlib.Tactic.NormNum.Prime +module + +public import Mathlib.Data.Nat.Choose.Factorization +public import Mathlib.NumberTheory.Primorial +public import Mathlib.Analysis.Convex.SpecificFunctions.Basic +public import Mathlib.Analysis.Convex.SpecificFunctions.Deriv +public import Mathlib.Tactic.NormNum.Prime /-! # Bertrand's Postulate @@ -37,6 +39,8 @@ binomial coefficient given in `Nat.four_pow_lt_mul_centralBinom`. Bertrand, prime, binomial coefficients -/ +@[expose] public section + section Real diff --git a/Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean b/Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean index 34806758f26aac..b5ce6ec669954f 100644 --- a/Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean +++ b/Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue -import Mathlib.Data.Real.Archimedean +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue +public import Mathlib.Data.Real.Archimedean /-! # Admissible absolute value on the integers @@ -19,6 +21,8 @@ is finite. mapping negative `x` to `-x`, is admissible. -/ +@[expose] public section + namespace AbsoluteValue diff --git a/Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean b/Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean index db4198622d106b..d4674cf4da4bc4 100644 --- a/Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean +++ b/Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.Real.Basic -import Mathlib.Combinatorics.Pigeonhole -import Mathlib.Algebra.Order.AbsoluteValue.Euclidean +module + +public import Mathlib.Data.Real.Basic +public import Mathlib.Combinatorics.Pigeonhole +public import Mathlib.Algebra.Order.AbsoluteValue.Euclidean /-! # Admissible absolute values @@ -27,6 +29,8 @@ of the ring of integers of a global field is finite. mapping `p : Polynomial 𝔽_q` to `q ^ degree p`, is admissible -/ +@[expose] public section + local infixl:50 " ≺ " => EuclideanDomain.r namespace AbsoluteValue diff --git a/Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean b/Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean index 302db8e57905d0..4b6887b993a0b7 100644 --- a/Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean +++ b/Mathlib/NumberTheory/ClassNumber/AdmissibleCardPowDegree.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Polynomial.Degree.CardPowDegree -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue -import Mathlib.RingTheory.LocalRing.Basic +module + +public import Mathlib.Algebra.Polynomial.Degree.CardPowDegree +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue +public import Mathlib.RingTheory.LocalRing.Basic /-! # Admissible absolute values on polynomials @@ -20,6 +22,8 @@ use to show the class number of the ring of integers of a function field is fini mapping `p : Polynomial 𝔽_q` to `q ^ degree p`, is admissible -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/NumberTheory/ClassNumber/Finite.lean b/Mathlib/NumberTheory/ClassNumber/Finite.lean index 610038043f2fa0..c1ca5868cbc3d0 100644 --- a/Mathlib/NumberTheory/ClassNumber/Finite.lean +++ b/Mathlib/NumberTheory/ClassNumber/Finite.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.Matrix.AbsoluteValue -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue -import Mathlib.RingTheory.ClassGroup -import Mathlib.RingTheory.DedekindDomain.IntegralClosure -import Mathlib.RingTheory.Norm.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.Matrix.AbsoluteValue +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbsoluteValue +public import Mathlib.RingTheory.ClassGroup +public import Mathlib.RingTheory.DedekindDomain.IntegralClosure +public import Mathlib.RingTheory.Norm.Basic /-! # Class numbers of global fields @@ -21,6 +23,8 @@ finiteness of the class group for number fields and function fields. its integral closure has a finite class group -/ +@[expose] public section + open Module Ring open scoped nonZeroDivisors diff --git a/Mathlib/NumberTheory/ClassNumber/FunctionField.lean b/Mathlib/NumberTheory/ClassNumber/FunctionField.lean index 6c6aecd30fe2d0..010a4f8df8b1ec 100644 --- a/Mathlib/NumberTheory/ClassNumber/FunctionField.lean +++ b/Mathlib/NumberTheory/ClassNumber/FunctionField.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.NumberTheory.ClassNumber.AdmissibleCardPowDegree -import Mathlib.NumberTheory.ClassNumber.Finite -import Mathlib.NumberTheory.FunctionField +module + +public import Mathlib.NumberTheory.ClassNumber.AdmissibleCardPowDegree +public import Mathlib.NumberTheory.ClassNumber.Finite +public import Mathlib.NumberTheory.FunctionField /-! # Class numbers of function fields @@ -19,6 +21,8 @@ on the class number. cardinality of the class group of its ring of integers -/ +@[expose] public section + namespace FunctionField diff --git a/Mathlib/NumberTheory/Cyclotomic/Basic.lean b/Mathlib/NumberTheory/Cyclotomic/Basic.lean index fe45c450b7e7d2..9a7459965a5541 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Basic.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.FieldTheory.SeparableClosure -import Mathlib.FieldTheory.Galois.Abelian +module + +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.FieldTheory.SeparableClosure +public import Mathlib.FieldTheory.Galois.Abelian /-! # Cyclotomic extensions @@ -58,6 +60,8 @@ included in the `Cyclotomic` locale. -/ +@[expose] public section + open Polynomial Algebra Module Set diff --git a/Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean b/Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean index adca0be6d86bdd..527f9e649d32e3 100644 --- a/Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean +++ b/Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Hanneke Wiersema. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Hanneke Wiersema, Andrew Yang -/ -import Mathlib.Algebra.Ring.Aut -import Mathlib.NumberTheory.Padics.RingHoms -import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity -import Mathlib.RingTheory.RootsOfUnity.Minpoly -import Mathlib.FieldTheory.KrullTopology +module + +public import Mathlib.Algebra.Ring.Aut +public import Mathlib.NumberTheory.Padics.RingHoms +public import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity +public import Mathlib.RingTheory.RootsOfUnity.Minpoly +public import Mathlib.FieldTheory.KrullTopology /-! @@ -63,6 +65,8 @@ where `d` is the number of `n`th roots of unity in `L`. cyclotomic character -/ +@[expose] public section + universe u variable {L : Type u} [CommRing L] [IsDomain L] diff --git a/Mathlib/NumberTheory/Cyclotomic/Discriminant.lean b/Mathlib/NumberTheory/Cyclotomic/Discriminant.lean index a9567cd667c0e9..c2c5506a511382 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Discriminant.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Discriminant.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.NumberTheory.NumberField.Discriminant.Defs +module + +public import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.NumberTheory.NumberField.Discriminant.Defs /-! # Discriminant of cyclotomic fields @@ -19,6 +21,8 @@ We compute the discriminant of a `p ^ n`-th cyclotomic extension. -/ +@[expose] public section + universe u v diff --git a/Mathlib/NumberTheory/Cyclotomic/Embeddings.lean b/Mathlib/NumberTheory/Cyclotomic/Embeddings.lean index f1ed7016c326e5..184b6ec782beb2 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Embeddings.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Embeddings.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings deprecated_module (since := "2025-10-14") diff --git a/Mathlib/NumberTheory/Cyclotomic/Gal.lean b/Mathlib/NumberTheory/Cyclotomic/Gal.lean index 67f4d3465a808a..8bd31169f36f06 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Gal.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Gal.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots -import Mathlib.FieldTheory.PolynomialGaloisGroup +module + +public import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots +public import Mathlib.FieldTheory.PolynomialGaloisGroup /-! # Galois group of cyclotomic extensions @@ -36,6 +38,8 @@ it is always a subgroup, and if the `n`th cyclotomic polynomial is irreducible, -/ +@[expose] public section + variable {n : ℕ} [NeZero n] (K : Type*) [Field K] {L : Type*} {μ : L} diff --git a/Mathlib/NumberTheory/Cyclotomic/PID.lean b/Mathlib/NumberTheory/Cyclotomic/PID.lean index e42a3ee394d8b5..c46b3bc72d8610 100644 --- a/Mathlib/NumberTheory/Cyclotomic/PID.lean +++ b/Mathlib/NumberTheory/Cyclotomic/PID.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.Cyclotomic.PID +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.PID deprecated_module (since := "2025-10-14") diff --git a/Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean b/Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean index 1dee3129d8382a..0de485ca728d37 100644 --- a/Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean +++ b/Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Riccardo Brasca, Eric Rodriguez -/ -import Mathlib.Data.Nat.Factorization.LCM -import Mathlib.Data.Nat.Factorization.PrimePow -import Mathlib.Data.PNat.Prime -import Mathlib.NumberTheory.Cyclotomic.Basic -import Mathlib.RingTheory.Adjoin.PowerBasis -import Mathlib.RingTheory.Norm.Transitivity -import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval -import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Data.Nat.Factorization.LCM +public import Mathlib.Data.Nat.Factorization.PrimePow +public import Mathlib.Data.PNat.Prime +public import Mathlib.NumberTheory.Cyclotomic.Basic +public import Mathlib.RingTheory.Adjoin.PowerBasis +public import Mathlib.RingTheory.Norm.Transitivity +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Primitive roots in cyclotomic fields @@ -62,6 +64,8 @@ and only at the "final step", when we need to provide an "explicit" primitive ro -/ +@[expose] public section + open Polynomial Algebra Finset Module IsCyclotomicExtension Nat PNat Set open scoped IntermediateField diff --git a/Mathlib/NumberTheory/Cyclotomic/Rat.lean b/Mathlib/NumberTheory/Cyclotomic/Rat.lean index b2582c7b013db6..a1266c8865ebdb 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Rat.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Rat.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic deprecated_module (since := "2025-10-14") diff --git a/Mathlib/NumberTheory/Cyclotomic/Three.lean b/Mathlib/NumberTheory/Cyclotomic/Three.lean index 7d050869f16712..82f48ff304106f 100644 --- a/Mathlib/NumberTheory/Cyclotomic/Three.lean +++ b/Mathlib/NumberTheory/Cyclotomic/Three.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.Cyclotomic.Three +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Three deprecated_module (since := "2025-10-14") diff --git a/Mathlib/NumberTheory/Dioph.lean b/Mathlib/NumberTheory/Dioph.lean index c6b0e7a0cfbf0f..e47f54211551b3 100644 --- a/Mathlib/NumberTheory/Dioph.lean +++ b/Mathlib/NumberTheory/Dioph.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fin.Fin2 -import Mathlib.Data.PFun -import Mathlib.Data.Vector3 -import Mathlib.NumberTheory.PellMatiyasevic +module + +public import Mathlib.Data.Fin.Fin2 +public import Mathlib.Data.PFun +public import Mathlib.Data.Vector3 +public import Mathlib.NumberTheory.PellMatiyasevic /-! # Diophantine functions and Matiyasevic's theorem @@ -49,6 +51,8 @@ Matiyasevic's theorem, Hilbert's tenth problem * Connect `Poly` to `MvPolynomial` -/ +@[expose] public section + open Fin2 Function Nat Sum diff --git a/Mathlib/NumberTheory/DiophantineApproximation/Basic.lean b/Mathlib/NumberTheory/DiophantineApproximation/Basic.lean index 934f85a58b2e33..e01d75163228b7 100644 --- a/Mathlib/NumberTheory/DiophantineApproximation/Basic.lean +++ b/Mathlib/NumberTheory/DiophantineApproximation/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Geißer, Michael Stoll -/ -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.Int.Basic -import Mathlib.Tactic.Basic +module + +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.Tactic.Basic /-! # Diophantine Approximation @@ -68,6 +70,8 @@ fractions is much more extensive than the English one.) Diophantine approximation, Dirichlet's approximation theorem, continued fraction -/ +@[expose] public section + namespace Real diff --git a/Mathlib/NumberTheory/DiophantineApproximation/ContinuedFractions.lean b/Mathlib/NumberTheory/DiophantineApproximation/ContinuedFractions.lean index 3ce8711c04c55f..c5b5ad6a183266 100644 --- a/Mathlib/NumberTheory/DiophantineApproximation/ContinuedFractions.lean +++ b/Mathlib/NumberTheory/DiophantineApproximation/ContinuedFractions.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Geißer, Michael Stoll -/ -import Mathlib.Algebra.ContinuedFractions.Computation.ApproximationCorollaries -import Mathlib.Algebra.ContinuedFractions.Computation.Translations -import Mathlib.NumberTheory.DiophantineApproximation.Basic +module + +public import Mathlib.Algebra.ContinuedFractions.Computation.ApproximationCorollaries +public import Mathlib.Algebra.ContinuedFractions.Computation.Translations +public import Mathlib.NumberTheory.DiophantineApproximation.Basic /-! # Diophantine Approximation using continued fractions @@ -18,6 +20,8 @@ a simple recursive definition of the convergents that is also defined in that fi This file provides `Real.exists_convs_eq_rat`, using `GenContFract.convs` of `GenContFract.of ξ`. -/ +@[expose] public section + section Convergent namespace Real diff --git a/Mathlib/NumberTheory/DirichletCharacter/Basic.lean b/Mathlib/NumberTheory/DirichletCharacter/Basic.lean index 38cf586a7afbda..3fca76e5bf9768 100644 --- a/Mathlib/NumberTheory/DirichletCharacter/Basic.lean +++ b/Mathlib/NumberTheory/DirichletCharacter/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Ashvni Narayanan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ashvni Narayanan, Moritz Firsching, Michael Stoll -/ -import Mathlib.Algebra.Group.EvenFunction -import Mathlib.Data.ZMod.Units -import Mathlib.NumberTheory.MulChar.Basic +module + +public import Mathlib.Algebra.Group.EvenFunction +public import Mathlib.Data.ZMod.Units +public import Mathlib.NumberTheory.MulChar.Basic /-! # Dirichlet Characters @@ -26,6 +28,8 @@ Main definitions: dirichlet character, multiplicative character -/ +@[expose] public section + /-! ### Definitions -/ diff --git a/Mathlib/NumberTheory/DirichletCharacter/Bounds.lean b/Mathlib/NumberTheory/DirichletCharacter/Bounds.lean index 1bdf5d62458948..93a3f942fcd6f6 100644 --- a/Mathlib/NumberTheory/DirichletCharacter/Bounds.lean +++ b/Mathlib/NumberTheory/DirichletCharacter/Bounds.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.NumberTheory.DirichletCharacter.Basic +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.NumberTheory.DirichletCharacter.Basic /-! # Bounds for values of Dirichlet characters @@ -15,6 +17,8 @@ We consider Dirichlet characters `χ` with values in a normed field `F`. We show that `‖χ a‖ = 1` if `a` is a unit and `‖χ a‖ ≤ 1` in general. -/ +@[expose] public section + variable {F : Type*} [NormedField F] {n : ℕ} (χ : DirichletCharacter F n) namespace DirichletCharacter diff --git a/Mathlib/NumberTheory/DirichletCharacter/GaussSum.lean b/Mathlib/NumberTheory/DirichletCharacter/GaussSum.lean index d12fa719087e15..7bd03011e64768 100644 --- a/Mathlib/NumberTheory/DirichletCharacter/GaussSum.lean +++ b/Mathlib/NumberTheory/DirichletCharacter/GaussSum.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.DirichletCharacter.Basic -import Mathlib.NumberTheory.GaussSum +module + +public import Mathlib.NumberTheory.DirichletCharacter.Basic +public import Mathlib.NumberTheory.GaussSum /-! # Gauss sums for Dirichlet characters -/ + +@[expose] public section variable {N : ℕ} [NeZero N] {R : Type*} [CommRing R] (e : AddChar (ZMod N) R) open AddChar DirichletCharacter diff --git a/Mathlib/NumberTheory/DirichletCharacter/Orthogonality.lean b/Mathlib/NumberTheory/DirichletCharacter/Orthogonality.lean index ae59f209823d98..94e866cd188747 100644 --- a/Mathlib/NumberTheory/DirichletCharacter/Orthogonality.lean +++ b/Mathlib/NumberTheory/DirichletCharacter/Orthogonality.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.NumberTheory.DirichletCharacter.Basic -import Mathlib.NumberTheory.MulChar.Duality +module + +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.NumberTheory.DirichletCharacter.Basic +public import Mathlib.NumberTheory.MulChar.Duality /-! # Orthogonality relations for Dirichlet characters @@ -17,6 +19,8 @@ when `a ≠ b` and has the value `n.totient` otherwise. This requires `R` to hav enough roots of unity (e.g., `R` could be an algebraically closed field of characteristic zero). -/ +@[expose] public section + namespace DirichletCharacter -- This is needed to be able to write down sums over characters. diff --git a/Mathlib/NumberTheory/Divisors.lean b/Mathlib/NumberTheory/Divisors.lean index 57d3baf25db2b1..4d5ac5507a6b14 100644 --- a/Mathlib/NumberTheory/Divisors.lean +++ b/Mathlib/NumberTheory/Divisors.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.IsPrimePow -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Interval.Finset.SuccPred -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.Ring.CharZero -import Mathlib.Data.Nat.Cast.Order.Ring -import Mathlib.Data.Nat.PrimeFin -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.Interval.Finset.Nat +module + +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Interval.Finset.SuccPred +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.Ring.CharZero +public import Mathlib.Data.Nat.Cast.Order.Ring +public import Mathlib.Data.Nat.PrimeFin +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.Interval.Finset.Nat /-! # Divisor Finsets @@ -37,6 +39,8 @@ divisors, perfect numbers -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/NumberTheory/EllipticDivisibilitySequence.lean b/Mathlib/NumberTheory/EllipticDivisibilitySequence.lean index eccc3fee2ded3a..72496352821207 100644 --- a/Mathlib/NumberTheory/EllipticDivisibilitySequence.lean +++ b/Mathlib/NumberTheory/EllipticDivisibilitySequence.lean @@ -3,9 +3,12 @@ Copyright (c) 2024 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Data.Nat.EvenOddRec -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Data.Nat.EvenOddRec +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.LinearCombination +import Mathlib.Algebra.Group.Int.Even /-! # Elliptic divisibility sequences @@ -65,6 +68,8 @@ M Ward, *Memoir on Elliptic Divisibility Sequences* elliptic, divisibility, sequence -/ +@[expose] public section + universe u v variable {R : Type u} [CommRing R] diff --git a/Mathlib/NumberTheory/EulerProduct/Basic.lean b/Mathlib/NumberTheory/EulerProduct/Basic.lean index 3b5b00bd764d96..e4ee2eae32fed6 100644 --- a/Mathlib/NumberTheory/EulerProduct/Basic.lean +++ b/Mathlib/NumberTheory/EulerProduct/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Normed.Ring.InfiniteSum -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.NumberTheory.SmoothNumbers +module + +public import Mathlib.Analysis.Normed.Ring.InfiniteSum +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.NumberTheory.SmoothNumbers /-! # Euler Products @@ -42,6 +44,8 @@ for `s : Finset ℕ`. Euler product, multiplicative function -/ +@[expose] public section + /-- If `f` is multiplicative and summable, then its values at natural numbers `> 1` have norm strictly less than `1`. -/ lemma Summable.norm_lt_one {F : Type*} [NormedDivisionRing F] [CompleteSpace F] {f : ℕ →* F} diff --git a/Mathlib/NumberTheory/EulerProduct/DirichletLSeries.lean b/Mathlib/NumberTheory/EulerProduct/DirichletLSeries.lean index e54b6a9db5e736..eead73829c8315 100644 --- a/Mathlib/NumberTheory/EulerProduct/DirichletLSeries.lean +++ b/Mathlib/NumberTheory/EulerProduct/DirichletLSeries.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.EulerProduct.ExpLog -import Mathlib.NumberTheory.LSeries.Dirichlet +module + +public import Mathlib.NumberTheory.EulerProduct.ExpLog +public import Mathlib.NumberTheory.LSeries.Dirichlet /-! # The Euler Product for the Riemann Zeta Function and Dirichlet L-Series @@ -22,6 +24,8 @@ The second result is `dirichletLSeries_eulerProduct` (with variants which is the analogous statement for Dirichlet L-series. -/ +@[expose] public section + open Complex variable {s : ℂ} diff --git a/Mathlib/NumberTheory/EulerProduct/ExpLog.lean b/Mathlib/NumberTheory/EulerProduct/ExpLog.lean index a041a63f518af0..d16be0ad24940d 100644 --- a/Mathlib/NumberTheory/EulerProduct/ExpLog.lean +++ b/Mathlib/NumberTheory/EulerProduct/ExpLog.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.NumberTheory.EulerProduct.Basic +module + +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.NumberTheory.EulerProduct.Basic /-! # Logarithms of Euler Products @@ -16,6 +18,8 @@ under suitable conditions on `f`. This can be seen as a logarithmic version of t Euler product for `f`. -/ +@[expose] public section + open Complex open Topology in diff --git a/Mathlib/NumberTheory/FLT/Basic.lean b/Mathlib/NumberTheory/FLT/Basic.lean index 8fd6623c5f8840..c6bd2747e05722 100644 --- a/Mathlib/NumberTheory/FLT/Basic.lean +++ b/Mathlib/NumberTheory/FLT/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Yaël Dillies, Jineon Baek -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.GCDMonoid.Finset -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.GCDMonoid.Finset +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Statement of Fermat's Last Theorem @@ -42,6 +44,8 @@ https://github.com/ImperialCollegeLondon/FLT . -/ +@[expose] public section + open List /-- Statement of Fermat's Last Theorem over a given semiring with a specific exponent. -/ diff --git a/Mathlib/NumberTheory/FLT/Four.lean b/Mathlib/NumberTheory/FLT/Four.lean index b5d64a1074b7aa..cd985f0beac4a6 100644 --- a/Mathlib/NumberTheory/FLT/Four.lean +++ b/Mathlib/NumberTheory/FLT/Four.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Paul van Wamelen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul van Wamelen -/ -import Mathlib.Data.Nat.Factors -import Mathlib.NumberTheory.FLT.Basic -import Mathlib.NumberTheory.PythagoreanTriples -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Data.Nat.Factors +public import Mathlib.NumberTheory.FLT.Basic +public import Mathlib.NumberTheory.PythagoreanTriples +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.Tactic.LinearCombination /-! # Fermat's Last Theorem for the case n = 4 There are no non-zero integers `a`, `b` and `c` such that `a ^ 4 + b ^ 4 = c ^ 4`. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal noncomputable section diff --git a/Mathlib/NumberTheory/FLT/MasonStothers.lean b/Mathlib/NumberTheory/FLT/MasonStothers.lean index 16e646828621c4..dcd0a597a5b915 100644 --- a/Mathlib/NumberTheory/FLT/MasonStothers.lean +++ b/Mathlib/NumberTheory/FLT/MasonStothers.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jineon Baek and Seewoo Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jineon Baek, Seewoo Lee -/ -import Mathlib.RingTheory.Polynomial.Radical +module + +public import Mathlib.RingTheory.Polynomial.Radical /-! # Mason-Stothers theorem @@ -18,6 +20,8 @@ but slightly different. -/ +@[expose] public section + open Polynomial UniqueFactorizationMonoid UniqueFactorizationDomain EuclideanDomain variable {k : Type*} [Field k] [DecidableEq k] diff --git a/Mathlib/NumberTheory/FLT/Polynomial.lean b/Mathlib/NumberTheory/FLT/Polynomial.lean index 90aca779786205..c8732b97c34bb8 100644 --- a/Mathlib/NumberTheory/FLT/Polynomial.lean +++ b/Mathlib/NumberTheory/FLT/Polynomial.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Jineon Baek and Seewoo Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jineon Baek, Seewoo Lee -/ -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.Algebra.GroupWithZero.Defs -import Mathlib.NumberTheory.FLT.Basic -import Mathlib.NumberTheory.FLT.MasonStothers -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.Algebra.GroupWithZero.Defs +public import Mathlib.NumberTheory.FLT.Basic +public import Mathlib.NumberTheory.FLT.MasonStothers +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.Tactic.GCongr /-! # Fermat's Last Theorem for polynomials over a field @@ -28,6 +30,8 @@ The proof uses the Mason-Stothers theorem (Polynomial ABC theorem) and infinite (in the characteristic p case). -/ +@[expose] public section + open Polynomial UniqueFactorizationMonoid variable {k R : Type*} [Field k] [CommRing R] [IsDomain R] [NormalizationMonoid R] diff --git a/Mathlib/NumberTheory/FLT/Three.lean b/Mathlib/NumberTheory/FLT/Three.lean index 2cfe435b6232d5..f122f7ea96c333 100644 --- a/Mathlib/NumberTheory/FLT/Three.lean +++ b/Mathlib/NumberTheory/FLT/Three.lean @@ -4,10 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Sanyam Gupta, Omar Haddad, David Lowry-Duda, Lorenzo Luccioli, Pietro Monticone, Alexis Saurin, Florent Schaffhauser -/ -import Mathlib.NumberTheory.FLT.Basic -import Mathlib.NumberTheory.NumberField.Cyclotomic.PID -import Mathlib.NumberTheory.NumberField.Cyclotomic.Three -import Mathlib.Algebra.Ring.Divisibility.Lemmas +module + +public import Mathlib.NumberTheory.FLT.Basic +public import Mathlib.NumberTheory.NumberField.Cyclotomic.PID +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Three +public import Mathlib.Algebra.Ring.Divisibility.Lemmas /-! # Fermat Last Theorem in the case `n = 3` @@ -48,6 +50,8 @@ The strategy is the following: -/ +@[expose] public section + section case1 open ZMod diff --git a/Mathlib/NumberTheory/FactorisationProperties.lean b/Mathlib/NumberTheory/FactorisationProperties.lean index 392a560431e2ef..b8d94d02005a57 100644 --- a/Mathlib/NumberTheory/FactorisationProperties.lean +++ b/Mathlib/NumberTheory/FactorisationProperties.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Colin Jones. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Colin Jones -/ -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.NumberTheory.Divisors -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.NormNum.Prime +module + +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.NumberTheory.Divisors +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.NormNum.Prime /-! # Factorisation properties of natural numbers @@ -45,6 +47,8 @@ relations with prime and perfect numbers. abundant, deficient, weird, pseudoperfect -/ +@[expose] public section + open Finset namespace Nat diff --git a/Mathlib/NumberTheory/Fermat.lean b/Mathlib/NumberTheory/Fermat.lean index 8df2f820b52435..35f96dd2a69067 100644 --- a/Mathlib/NumberTheory/Fermat.lean +++ b/Mathlib/NumberTheory/Fermat.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Firsching -/ -import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity -import Mathlib.NumberTheory.LucasPrimality +module + +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity +public import Mathlib.NumberTheory.LucasPrimality /-! # Fermat numbers @@ -20,6 +22,8 @@ for all natural numbers `n`. form `k * 2 ^ (n + 2) + 1`. -/ +@[expose] public section + open Function namespace Nat diff --git a/Mathlib/NumberTheory/FermatPsp.lean b/Mathlib/NumberTheory/FermatPsp.lean index daecf82b0b4e49..cec433c5081e3a 100644 --- a/Mathlib/NumberTheory/FermatPsp.lean +++ b/Mathlib/NumberTheory/FermatPsp.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Niels Voss. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Niels Voss -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.Order.Filter.Cofinite -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.Order.Filter.Cofinite +public import Mathlib.Tactic.GCongr /-! # Fermat Pseudoprimes @@ -40,6 +42,8 @@ The main theorems are - `Nat.exists_infinite_pseudoprimes`: there are infinite pseudoprimes to any base `b ≥ 1` -/ +@[expose] public section + namespace Nat /-- diff --git a/Mathlib/NumberTheory/FrobeniusNumber.lean b/Mathlib/NumberTheory/FrobeniusNumber.lean index 62480a4187ad30..e98f418091f126 100644 --- a/Mathlib/NumberTheory/FrobeniusNumber.lean +++ b/Mathlib/NumberTheory/FrobeniusNumber.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Alex Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Zhao, Daniel Buth, Sebastian Meier, Junyan Xu -/ -import Mathlib.RingTheory.Ideal.NatInt +module + +public import Mathlib.RingTheory.Ideal.NatInt /-! # Frobenius Number @@ -35,6 +37,8 @@ is a multiple of n, and we're done. frobenius number, chicken mcnugget, chinese remainder theorem, AddSubmonoid.closure -/ +@[expose] public section + open Nat diff --git a/Mathlib/NumberTheory/FunctionField.lean b/Mathlib/NumberTheory/FunctionField.lean index 5a2d27c8797571..38d6e77fa39e13 100644 --- a/Mathlib/NumberTheory/FunctionField.lean +++ b/Mathlib/NumberTheory/FunctionField.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Ashvni Narayanan -/ -import Mathlib.FieldTheory.RatFunc.Degree -import Mathlib.RingTheory.DedekindDomain.IntegralClosure -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.Topology.Algebra.Valued.ValuedField +module + +public import Mathlib.FieldTheory.RatFunc.Degree +public import Mathlib.RingTheory.DedekindDomain.IntegralClosure +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.Topology.Algebra.Valued.ValuedField /-! # Function fields @@ -39,6 +41,8 @@ adding them back in lemmas when they are needed. function field, ring of integers -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/GaussSum.lean b/Mathlib/NumberTheory/GaussSum.lean index f2dc48ff26aaf1..9b26fa8d260b4f 100644 --- a/Mathlib/NumberTheory/GaussSum.lean +++ b/Mathlib/NumberTheory/GaussSum.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.LegendreSymbol.AddCharacter -import Mathlib.NumberTheory.LegendreSymbol.ZModChar -import Mathlib.Algebra.CharP.CharAndCard +module + +public import Mathlib.NumberTheory.LegendreSymbol.AddCharacter +public import Mathlib.NumberTheory.LegendreSymbol.ZModChar +public import Mathlib.Algebra.CharP.CharAndCard /-! # Gauss sums @@ -45,6 +47,8 @@ Quadratic Reciprocity. additive character, multiplicative character, Gauss sum -/ +@[expose] public section + universe u v diff --git a/Mathlib/NumberTheory/Harmonic/Bounds.lean b/Mathlib/NumberTheory/Harmonic/Bounds.lean index 21461dfba7c5af..f858f74192346a 100644 --- a/Mathlib/NumberTheory/Harmonic/Bounds.lean +++ b/Mathlib/NumberTheory/Harmonic/Bounds.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Arend Mellendijk. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arend Mellendijk -/ +module -import Mathlib.Analysis.SpecialFunctions.Integrals.Basic -import Mathlib.Analysis.SumIntegralComparisons -import Mathlib.NumberTheory.Harmonic.Defs +public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic +public import Mathlib.Analysis.SumIntegralComparisons +public import Mathlib.NumberTheory.Harmonic.Defs /-! @@ -14,6 +15,8 @@ This file proves $\log(n + 1) \le H_n \le 1 + \log(n)$ for all natural numbers $ -/ +@[expose] public section + lemma harmonic_eq_sum_Icc {n : ℕ} : harmonic n = ∑ i ∈ Finset.Icc 1 n, (↑i)⁻¹ := by rw [harmonic, Finset.range_eq_Ico, Finset.sum_Ico_add' (fun (i : ℕ) ↦ (i : ℚ)⁻¹) 0 n (c := 1)] simp only [Finset.Ico_add_one_right_eq_Icc] diff --git a/Mathlib/NumberTheory/Harmonic/Defs.lean b/Mathlib/NumberTheory/Harmonic/Defs.lean index bfccacb2423e6c..f35a54ee302524 100644 --- a/Mathlib/NumberTheory/Harmonic/Defs.lean +++ b/Mathlib/NumberTheory/Harmonic/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Koundinya Vajjha. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Koundinya Vajjha, Thomas Browning -/ -import Mathlib.Data.Rat.Defs -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Rat.Defs +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! @@ -15,6 +17,8 @@ This file defines the harmonic numbers. -/ +@[expose] public section + /-- The nth-harmonic number defined as a finset sum of consecutive reciprocals. -/ def harmonic : ℕ → ℚ := fun n => ∑ i ∈ Finset.range n, (↑(i + 1))⁻¹ diff --git a/Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean b/Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean index 5371ea80deed87..ae2e78cdaa83d2 100644 --- a/Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean +++ b/Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.Complex.ExponentialBounds -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.NumberTheory.Harmonic.Defs +public import Mathlib.Analysis.Complex.ExponentialBounds +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.NumberTheory.Harmonic.Defs /-! # The Euler-Mascheroni constant `γ` @@ -35,6 +36,8 @@ It follows that both sequences tend to a common limit `γ`, and we have the ineq `1 / 2 < γ < 2 / 3`. -/ +@[expose] public section + open Filter Topology namespace Real diff --git a/Mathlib/NumberTheory/Harmonic/GammaDeriv.lean b/Mathlib/NumberTheory/Harmonic/GammaDeriv.lean index 654e6cd6369797..2fe49f78b7d4cb 100644 --- a/Mathlib/NumberTheory/Harmonic/GammaDeriv.lean +++ b/Mathlib/NumberTheory/Harmonic/GammaDeriv.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.Convex.Deriv -import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.NumberTheory.Harmonic.EulerMascheroni +public import Mathlib.Analysis.Convex.Deriv +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne +public import Mathlib.Data.Nat.Factorial.Basic +public import Mathlib.NumberTheory.Harmonic.EulerMascheroni /-! # Derivative of Γ at positive integers @@ -18,6 +19,8 @@ We prove the formula for the derivative of `Real.Gamma` at a positive integer: -/ +@[expose] public section + open Nat Set Filter Topology local notation "γ" => Real.eulerMascheroniConstant diff --git a/Mathlib/NumberTheory/Harmonic/Int.lean b/Mathlib/NumberTheory/Harmonic/Int.lean index 190fb7ef560632..0da46d4c350f3d 100644 --- a/Mathlib/NumberTheory/Harmonic/Int.lean +++ b/Mathlib/NumberTheory/Harmonic/Int.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Koundinya Vajjha. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Koundinya Vajjha, Thomas Browning -/ -import Mathlib.NumberTheory.Harmonic.Defs -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.Tactic.Positivity +module + +public import Mathlib.NumberTheory.Harmonic.Defs +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.Tactic.Positivity /-! @@ -17,6 +19,8 @@ https://kconrad.math.uconn.edu/blurbs/gradnumthy/padicharmonicsum.pdf -/ +@[expose] public section + lemma harmonic_pos {n : ℕ} (Hn : n ≠ 0) : 0 < harmonic n := by unfold harmonic rw [← Finset.nonempty_range_iff] at Hn diff --git a/Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean b/Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean index 63ac6b2e28734c..56993f72fdec27 100644 --- a/Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean +++ b/Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.LSeries.RiemannZeta -import Mathlib.NumberTheory.Harmonic.GammaDeriv +module + +public import Mathlib.NumberTheory.LSeries.RiemannZeta +public import Mathlib.NumberTheory.Harmonic.GammaDeriv /-! # Asymptotics of `ζ s` as `s → 1` @@ -29,6 +31,8 @@ exists and is equal to `γ`. Finally, using this and the Riemann removable singu we obtain the limit along punctured neighbourhoods of 1 in `ℂ`. -/ +@[expose] public section + open Real Set MeasureTheory Filter Topology @[inherit_doc] local notation "γ" => eulerMascheroniConstant diff --git a/Mathlib/NumberTheory/JacobiSum/Basic.lean b/Mathlib/NumberTheory/JacobiSum/Basic.lean index 49c600ad2446f5..4fda30bec821fb 100644 --- a/Mathlib/NumberTheory/JacobiSum/Basic.lean +++ b/Mathlib/NumberTheory/JacobiSum/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.GaussSum -import Mathlib.NumberTheory.MulChar.Lemmas -import Mathlib.RingTheory.RootsOfUnity.Lemmas +module + +public import Mathlib.NumberTheory.GaussSum +public import Mathlib.NumberTheory.MulChar.Lemmas +public import Mathlib.RingTheory.RootsOfUnity.Lemmas /-! # Jacobi Sums @@ -28,6 +30,8 @@ but generalize where appropriate. This is based on Lean code written as part of the bachelor's thesis of Alexander Spahl. -/ +@[expose] public section + open Finset /-! diff --git a/Mathlib/NumberTheory/KummerDedekind.lean b/Mathlib/NumberTheory/KummerDedekind.lean index 0de8cb9bba81f1..5f63f8b58ab012 100644 --- a/Mathlib/NumberTheory/KummerDedekind.lean +++ b/Mathlib/NumberTheory/KummerDedekind.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Paul Lezeau -/ -import Mathlib.RingTheory.Conductor -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas -import Mathlib.RingTheory.IsAdjoinRoot +module + +public import Mathlib.RingTheory.Conductor +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +public import Mathlib.RingTheory.IsAdjoinRoot /-! # Kummer-Dedekind theorem @@ -53,6 +55,8 @@ with a formula). kummer, dedekind, kummer dedekind, dedekind-kummer, dedekind kummer -/ +@[expose] public section + variable {R : Type*} {S : Type*} [CommRing R] [CommRing S] [Algebra R S] {x : S} {I : Ideal R} diff --git a/Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean b/Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean index cfffbf9935ef00..552bcc931c1a37 100644 --- a/Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean +++ b/Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.MellinTransform +public import Mathlib.Analysis.MellinTransform /-! # Abstract functional equations for Mellin transforms @@ -56,6 +57,8 @@ See the sections *Main theorems on weak FE-pairs* and - `WeakFEPair.Λ_residue_zero`: computation of the residue at `0`. -/ +@[expose] public section + /- TODO : Consider extending the results to allow functional equations of the form `f (N / x) = (const) • x ^ k • g x` for a real parameter `0 < N`. This could be done either by diff --git a/Mathlib/NumberTheory/LSeries/Basic.lean b/Mathlib/NumberTheory/LSeries/Basic.lean index 0081d983adeda1..67336759ddb09e 100644 --- a/Mathlib/NumberTheory/LSeries/Basic.lean +++ b/Mathlib/NumberTheory/LSeries/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Michael Stoll -/ -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.Normed.Module.FiniteDimension -import Mathlib.LinearAlgebra.Complex.FiniteDimensional +module + +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.Normed.Module.FiniteDimension +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional /-! # L-series @@ -52,6 +54,8 @@ by David Loeffler and Michael Stoll. L-series -/ +@[expose] public section + open Complex /-! diff --git a/Mathlib/NumberTheory/LSeries/Convergence.lean b/Mathlib/NumberTheory/LSeries/Convergence.lean index 13c1c24f2b3f56..8dd208aa006f6c 100644 --- a/Mathlib/NumberTheory/LSeries/Convergence.lean +++ b/Mathlib/NumberTheory/LSeries/Convergence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Data.EReal.Basic -import Mathlib.NumberTheory.LSeries.Basic +module + +public import Mathlib.Data.EReal.Basic +public import Mathlib.NumberTheory.LSeries.Basic /-! # Convergence of L-series @@ -18,6 +20,8 @@ real part `x` and provide some results about it. L-series, abscissa of convergence -/ +@[expose] public section + open Complex /-- The abscissa `x : EReal` of absolute convergence of the L-series associated to `f`: diff --git a/Mathlib/NumberTheory/LSeries/Convolution.lean b/Mathlib/NumberTheory/LSeries/Convolution.lean index b910112c58495e..922a0796ef7387 100644 --- a/Mathlib/NumberTheory/LSeries/Convolution.lean +++ b/Mathlib/NumberTheory/LSeries/Convolution.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.Analysis.Normed.Ring.InfiniteSum -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.NumberTheory.LSeries.Convergence +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.Analysis.Normed.Ring.InfiniteSum +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.NumberTheory.LSeries.Convergence /-! # Dirichlet convolution of sequences and products of L-series @@ -21,6 +23,8 @@ of convergence of the L-series `L f` and `L g` of `f` and `g`; see `LSeries_con and `LSeries_convolution'`. -/ +@[expose] public section + open scoped LSeries.notation open Complex LSeries diff --git a/Mathlib/NumberTheory/LSeries/Deriv.lean b/Mathlib/NumberTheory/LSeries/Deriv.lean index 6c832122c02338..e63f93ab4d8e4c 100644 --- a/Mathlib/NumberTheory/LSeries/Deriv.lean +++ b/Mathlib/NumberTheory/LSeries/Deriv.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.NumberTheory.LSeries.Convergence -import Mathlib.Analysis.SpecialFunctions.Pow.Deriv -import Mathlib.Analysis.Complex.HalfPlane +module + +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.NumberTheory.LSeries.Convergence +public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv +public import Mathlib.Analysis.Complex.HalfPlane /-! # Differentiability and derivatives of L-series @@ -28,6 +30,8 @@ We introduce `LSeries.logMul` as an abbreviation for the point-wise product `log the problem that this expression does not type-check. -/ +@[expose] public section + open Complex LSeries /-! diff --git a/Mathlib/NumberTheory/LSeries/Dirichlet.lean b/Mathlib/NumberTheory/LSeries/Dirichlet.lean index 529e2e65effa81..74bd0d27f18534 100644 --- a/Mathlib/NumberTheory/LSeries/Dirichlet.lean +++ b/Mathlib/NumberTheory/LSeries/Dirichlet.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.DirichletCharacter.Bounds -import Mathlib.NumberTheory.LSeries.Convolution -import Mathlib.NumberTheory.LSeries.Deriv -import Mathlib.NumberTheory.LSeries.RiemannZeta -import Mathlib.NumberTheory.SumPrimeReciprocals -import Mathlib.NumberTheory.VonMangoldt +module + +public import Mathlib.NumberTheory.DirichletCharacter.Bounds +public import Mathlib.NumberTheory.LSeries.Convolution +public import Mathlib.NumberTheory.LSeries.Deriv +public import Mathlib.NumberTheory.LSeries.RiemannZeta +public import Mathlib.NumberTheory.SumPrimeReciprocals +public import Mathlib.NumberTheory.VonMangoldt /-! # L-series of Dirichlet characters and arithmetic functions @@ -31,6 +33,8 @@ as special cases. Dirichlet L-series, Möbius function, von Mangoldt function, Riemann zeta function -/ +@[expose] public section + open scoped LSeries.notation /-- `δ` is the function underlying the arithmetic function `1`. -/ diff --git a/Mathlib/NumberTheory/LSeries/DirichletContinuation.lean b/Mathlib/NumberTheory/LSeries/DirichletContinuation.lean index 06b8f5d94e2b24..e39164d48850d4 100644 --- a/Mathlib/NumberTheory/LSeries/DirichletContinuation.lean +++ b/Mathlib/NumberTheory/LSeries/DirichletContinuation.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler, Michael Stoll -/ -import Mathlib.NumberTheory.LSeries.ZMod -import Mathlib.NumberTheory.DirichletCharacter.Basic -import Mathlib.NumberTheory.EulerProduct.DirichletLSeries +module + +public import Mathlib.NumberTheory.LSeries.ZMod +public import Mathlib.NumberTheory.DirichletCharacter.Basic +public import Mathlib.NumberTheory.EulerProduct.DirichletLSeries /-! # Analytic continuation of Dirichlet L-functions @@ -38,6 +40,8 @@ All definitions and theorems are in the `DirichletCharacter` namespace. `completedLFunction χ s = N ^ (s - 1 / 2) * rootNumber χ * completedLFunction χ⁻¹ s`. -/ +@[expose] public section + open HurwitzZeta Complex Finset ZMod Filter open scoped Real Topology diff --git a/Mathlib/NumberTheory/LSeries/HurwitzZeta.lean b/Mathlib/NumberTheory/LSeries/HurwitzZeta.lean index db0a47feb7759c..a5d0e3989de59c 100644 --- a/Mathlib/NumberTheory/LSeries/HurwitzZeta.lean +++ b/Mathlib/NumberTheory/LSeries/HurwitzZeta.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.NumberTheory.LSeries.HurwitzZetaEven -import Mathlib.NumberTheory.LSeries.HurwitzZetaOdd -import Mathlib.Analysis.SpecialFunctions.Gamma.Beta +public import Mathlib.NumberTheory.LSeries.HurwitzZetaEven +public import Mathlib.NumberTheory.LSeries.HurwitzZetaOdd +public import Mathlib.Analysis.SpecialFunctions.Gamma.Beta /-! # The Hurwitz zeta function @@ -35,6 +36,8 @@ This file gives the definition and properties of the following two functions: * `hurwitzZeta_one_sub` and `expZeta_one_sub`: functional equations `s ↔ 1 - s`. -/ +@[expose] public section + open Set Real Complex Filter Topology namespace HurwitzZeta diff --git a/Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean b/Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean index 876bcf6ef2a697..93418bec563130 100644 --- a/Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean +++ b/Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.LSeries.AbstractFuncEq -import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds -import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne -import Mathlib.NumberTheory.LSeries.MellinEqDirichlet -import Mathlib.NumberTheory.LSeries.Basic -import Mathlib.Analysis.Complex.RemovableSingularity +module + +public import Mathlib.NumberTheory.LSeries.AbstractFuncEq +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne +public import Mathlib.NumberTheory.LSeries.MellinEqDirichlet +public import Mathlib.NumberTheory.LSeries.Basic +public import Mathlib.Analysis.Complex.RemovableSingularity /-! # Even Hurwitz zeta functions @@ -44,6 +46,8 @@ multiples of `1 / s` and `1 / (1 - s)`. * `hasSum_int_hurwitzZetaEven` and `hasSum_nat_cosZeta`: relation between the zeta functions and the corresponding Dirichlet series for `1 < re s`. -/ + +@[expose] public section noncomputable section open Complex Filter Topology Asymptotics Real Set MeasureTheory diff --git a/Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean b/Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean index d5cb5d7c5a3d9c..cddff2108792e5 100644 --- a/Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean +++ b/Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.LSeries.AbstractFuncEq -import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds -import Mathlib.NumberTheory.LSeries.MellinEqDirichlet -import Mathlib.NumberTheory.LSeries.Basic +module + +public import Mathlib.NumberTheory.LSeries.AbstractFuncEq +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds +public import Mathlib.NumberTheory.LSeries.MellinEqDirichlet +public import Mathlib.NumberTheory.LSeries.Basic /-! # Odd Hurwitz zeta functions @@ -40,6 +42,8 @@ various versions of the Jacobi theta function. the zeta functions and corresponding Dirichlet series for `1 < re s` -/ +@[expose] public section + noncomputable section open Complex diff --git a/Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean b/Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean index e13f7e0e88615a..fda1f57a6e02e2 100644 --- a/Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean +++ b/Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.NumberTheory.ZetaValues -import Mathlib.NumberTheory.LSeries.RiemannZeta +public import Mathlib.NumberTheory.ZetaValues +public import Mathlib.NumberTheory.LSeries.RiemannZeta /-! # Special values of Hurwitz and Riemann zeta functions @@ -36,6 +37,8 @@ sums in the convergence range.) methods in the library at the present time (May 2024). -/ +@[expose] public section + open Complex Real Set open scoped Nat diff --git a/Mathlib/NumberTheory/LSeries/Injectivity.lean b/Mathlib/NumberTheory/LSeries/Injectivity.lean index 33849ffe6f72ff..e8b526eaee4f36 100644 --- a/Mathlib/NumberTheory/LSeries/Injectivity.lean +++ b/Mathlib/NumberTheory/LSeries/Injectivity.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Analysis.Normed.Group.Tannery -import Mathlib.NumberTheory.LSeries.Convergence -import Mathlib.NumberTheory.LSeries.Linearity +module + +public import Mathlib.Analysis.Normed.Group.Tannery +public import Mathlib.NumberTheory.LSeries.Convergence +public import Mathlib.NumberTheory.LSeries.Linearity /-! # A converging L-series determines its coefficients @@ -15,6 +17,8 @@ must agree on all nonzero arguments. See `LSeries_eq_iff_of_abscissaOfAbsConv_lt and `LSeries_injOn`. -/ +@[expose] public section + open LSeries Complex -- The following two lemmas need both `LSeries.Linearity` and `LSeries.Convergence`, diff --git a/Mathlib/NumberTheory/LSeries/Linearity.lean b/Mathlib/NumberTheory/LSeries/Linearity.lean index 60a4a76843d7c6..b1eaa8d5be3ad6 100644 --- a/Mathlib/NumberTheory/LSeries/Linearity.lean +++ b/Mathlib/NumberTheory/LSeries/Linearity.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.BigOperators.Field -import Mathlib.NumberTheory.LSeries.Basic +module + +public import Mathlib.Algebra.BigOperators.Field +public import Mathlib.NumberTheory.LSeries.Basic /-! # Linearity of the L-series of `f` as a function of `f` @@ -13,6 +15,8 @@ We show that the `LSeries` of `f : ℕ → ℂ` is a linear function of `f` (ass of both L-series when adding two functions). -/ +@[expose] public section + /-! ### Addition -/ diff --git a/Mathlib/NumberTheory/LSeries/MellinEqDirichlet.lean b/Mathlib/NumberTheory/LSeries/MellinEqDirichlet.lean index 48025354d73cad..71c7ff6a1ff9fc 100644 --- a/Mathlib/NumberTheory/LSeries/MellinEqDirichlet.lean +++ b/Mathlib/NumberTheory/LSeries/MellinEqDirichlet.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne +public import Mathlib.Analysis.SpecialFunctions.Gamma.Deligne /-! # Dirichlet series as Mellin transforms @@ -12,6 +13,8 @@ Here we prove general results of the form "the Mellin transform of a power serie a Dirichlet series". -/ +@[expose] public section + open Filter Topology Asymptotics Real Set MeasureTheory open Complex diff --git a/Mathlib/NumberTheory/LSeries/Nonvanishing.lean b/Mathlib/NumberTheory/LSeries/Nonvanishing.lean index 5323f117fa277e..9177b8ea3d5f2c 100644 --- a/Mathlib/NumberTheory/LSeries/Nonvanishing.lean +++ b/Mathlib/NumberTheory/LSeries/Nonvanishing.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll, David Loeffler -/ -import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds -import Mathlib.NumberTheory.Harmonic.ZetaAsymp -import Mathlib.NumberTheory.LSeries.Dirichlet -import Mathlib.NumberTheory.LSeries.DirichletContinuation -import Mathlib.NumberTheory.LSeries.Positivity +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.LogBounds +public import Mathlib.NumberTheory.Harmonic.ZetaAsymp +public import Mathlib.NumberTheory.LSeries.Dirichlet +public import Mathlib.NumberTheory.LSeries.DirichletContinuation +public import Mathlib.NumberTheory.LSeries.Positivity /-! # The L-function of a Dirichlet character does not vanish on Re(s) ≥ 1 @@ -38,6 +40,8 @@ we show has absolute value `≥ 1` for all positive `x` and real `y`; if `L(χ, this product would have to tend to 0 as `x → 0`, which is a contradiction. -/ +@[expose] public section + /- NB: Many lemmas (and some defs) in this file are private, since they concern properties of hypothetical objects which we eventually deduce cannot exist. We have only made public the lemmas whose hypotheses do not turn out to be contradictory. diff --git a/Mathlib/NumberTheory/LSeries/Positivity.lean b/Mathlib/NumberTheory/LSeries/Positivity.lean index 993343642cdb49..c20b7dc9bb750c 100644 --- a/Mathlib/NumberTheory/LSeries/Positivity.lean +++ b/Mathlib/NumberTheory/LSeries/Positivity.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler, Michael Stoll -/ -import Mathlib.Analysis.Complex.TaylorSeries -import Mathlib.Analysis.Complex.Positivity -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.NumberTheory.LSeries.Deriv +module + +public import Mathlib.Analysis.Complex.TaylorSeries +public import Mathlib.Analysis.Complex.Positivity +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.NumberTheory.LSeries.Deriv /-! # Positivity of values of L-series @@ -23,6 +25,8 @@ The main results of this file are as follows. `ArithmeticFunction.LSeries_positive_of_eq_differentiable`. -/ +@[expose] public section + open scoped ComplexOrder open Complex diff --git a/Mathlib/NumberTheory/LSeries/PrimesInAP.lean b/Mathlib/NumberTheory/LSeries/PrimesInAP.lean index 4b2e8890e26816..fd11ded442941c 100644 --- a/Mathlib/NumberTheory/LSeries/PrimesInAP.lean +++ b/Mathlib/NumberTheory/LSeries/PrimesInAP.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Data.ZMod.Coprime -import Mathlib.NumberTheory.DirichletCharacter.Orthogonality -import Mathlib.NumberTheory.LSeries.Linearity -import Mathlib.NumberTheory.LSeries.Nonvanishing +module + +public import Mathlib.Data.ZMod.Coprime +public import Mathlib.NumberTheory.DirichletCharacter.Orthogonality +public import Mathlib.NumberTheory.LSeries.Linearity +public import Mathlib.NumberTheory.LSeries.Nonvanishing /-! # Dirichlet's Theorem on primes in arithmetic progression @@ -66,6 +68,8 @@ We give two versions of **Dirichlet's Theorem**: prime number, arithmetic progression, residue class, Dirichlet's Theorem -/ +@[expose] public section + /-! ### Auxiliary statements diff --git a/Mathlib/NumberTheory/LSeries/RiemannZeta.lean b/Mathlib/NumberTheory/LSeries/RiemannZeta.lean index 3b57258f4f3149..20ab5d49c7151f 100644 --- a/Mathlib/NumberTheory/LSeries/RiemannZeta.lean +++ b/Mathlib/NumberTheory/LSeries/RiemannZeta.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.LSeries.HurwitzZeta -import Mathlib.Analysis.PSeriesComplex +module + +public import Mathlib.NumberTheory.LSeries.HurwitzZeta +public import Mathlib.Analysis.PSeriesComplex /-! # Definition of the Riemann zeta function @@ -42,6 +44,8 @@ These results are mostly special cases of more general results for even Hurwitz proved in `Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean`. -/ +@[expose] public section + open CharZero Set Filter HurwitzZeta diff --git a/Mathlib/NumberTheory/LSeries/SumCoeff.lean b/Mathlib/NumberTheory/LSeries/SumCoeff.lean index d2e1ffa2ec4ae6..73affeadeaa171 100644 --- a/Mathlib/NumberTheory/LSeries/SumCoeff.lean +++ b/Mathlib/NumberTheory/LSeries/SumCoeff.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics -import Mathlib.Analysis.InnerProductSpace.Calculus -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals -import Mathlib.NumberTheory.AbelSummation -import Mathlib.NumberTheory.LSeries.Basic +module + +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +public import Mathlib.Analysis.InnerProductSpace.Calculus +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +public import Mathlib.NumberTheory.AbelSummation +public import Mathlib.NumberTheory.LSeries.Basic /-! # Partial sums of coefficients of L-series @@ -32,6 +34,8 @@ L-series. -/ +@[expose] public section + open Finset Filter MeasureTheory Topology Complex Asymptotics section summable diff --git a/Mathlib/NumberTheory/LSeries/ZMod.lean b/Mathlib/NumberTheory/LSeries/ZMod.lean index bb0a9629752030..b07f7c49b69624 100644 --- a/Mathlib/NumberTheory/LSeries/ZMod.lean +++ b/Mathlib/NumberTheory/LSeries/ZMod.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.Fourier.ZMod -import Mathlib.Analysis.NormedSpace.Connected -import Mathlib.NumberTheory.LSeries.RiemannZeta +public import Mathlib.Analysis.Fourier.ZMod +public import Mathlib.Analysis.NormedSpace.Connected +public import Mathlib.NumberTheory.LSeries.RiemannZeta /-! # L-series of functions on `ZMod N` @@ -55,6 +56,8 @@ Results for completed L-functions: the functional equation relating `completedLFunction Φ (1 - s)` to `completedLFunction (𝓕 Φ) s`. -/ +@[expose] public section + open HurwitzZeta Complex ZMod Finset Topology Filter Set open scoped Real diff --git a/Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean b/Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean index 5baf4a8cf56027..27eef8e110caed 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots -import Mathlib.FieldTheory.Finite.Trace -import Mathlib.Algebra.Group.AddChar -import Mathlib.Data.ZMod.Units -import Mathlib.Analysis.Complex.Polynomial.Basic +module + +public import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots +public import Mathlib.FieldTheory.Finite.Trace +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Data.ZMod.Units +public import Mathlib.Analysis.Complex.Polynomial.Basic /-! # Additive characters of finite rings and fields @@ -36,6 +38,8 @@ is nontrivial (and the target is a domain); see `AddChar.sum_eq_zero_of_isNontri additive character -/ +@[expose] public section + universe u v diff --git a/Mathlib/NumberTheory/LegendreSymbol/Basic.lean b/Mathlib/NumberTheory/LegendreSymbol/Basic.lean index a3104e976ab674..f10648f4d4451a 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/Basic.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Michael Stoll -/ -import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic +module + +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic /-! # Legendre symbol @@ -33,6 +35,8 @@ are squares: quadratic residue, quadratic nonresidue, Legendre symbol -/ +@[expose] public section + open Nat diff --git a/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean b/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean index 05a6f003907f4e..899c94d31d8b53 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Nat.Prime.Factorial -import Mathlib.NumberTheory.LegendreSymbol.Basic +module + +public import Mathlib.Data.Nat.Prime.Factorial +public import Mathlib.NumberTheory.LegendreSymbol.Basic /-! # Lemmas of Gauss and Eisenstein @@ -13,6 +15,8 @@ This file contains the Lemmas of Gauss and Eisenstein on the Legendre symbol. The main results are `ZMod.gauss_lemma` and `ZMod.eisenstein_lemma`. -/ +@[expose] public section + open Finset Nat diff --git a/Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean b/Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean index 11ba9dcdde363c..885335febd9480 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll, Thomas Zhu, Mario Carneiro -/ -import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity +module + +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticReciprocity /-! # The Jacobi Symbol @@ -58,6 +60,8 @@ We define the notation `J(a | b)` for `jacobiSym a b`, localized to `NumberTheor Jacobi symbol, quadratic reciprocity -/ +@[expose] public section + section Jacobi diff --git a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean index 36924710998c25..9dd028bde596e2 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Data.Fintype.Parity -import Mathlib.NumberTheory.LegendreSymbol.ZModChar -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.Data.Fintype.Parity +public import Mathlib.NumberTheory.LegendreSymbol.ZModChar +public import Mathlib.FieldTheory.Finite.Basic /-! # Quadratic characters of finite fields @@ -18,6 +20,8 @@ some basic statements about it. quadratic character -/ +@[expose] public section + /-! ### Definition of the quadratic character diff --git a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean index e3281cd154339f..cbf889418a9210 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic -import Mathlib.NumberTheory.GaussSum +module + +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic +public import Mathlib.NumberTheory.GaussSum /-! # Quadratic characters of finite fields @@ -13,6 +15,8 @@ Further facts relying on Gauss sums. -/ +@[expose] public section + /-! ### Basic properties of the quadratic character diff --git a/Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean b/Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean index ed037e090045de..2b85b3d9f3b043 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Michael Stoll -/ -import Mathlib.NumberTheory.LegendreSymbol.Basic -import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum +module + +public import Mathlib.NumberTheory.LegendreSymbol.Basic +public import Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum /-! # Quadratic reciprocity. @@ -33,6 +35,8 @@ properties of quadratic Gauss sums as provided by `NumberTheory.LegendreSymbol.G quadratic residue, quadratic nonresidue, Legendre symbol, quadratic reciprocity -/ +@[expose] public section + open Nat diff --git a/Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean b/Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean index 65ed3fff4f1da4..d402c0b4316961 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Data.Int.Range -import Mathlib.Data.ZMod.Basic -import Mathlib.NumberTheory.MulChar.Basic +module + +public import Mathlib.Data.Int.Range +public import Mathlib.Data.ZMod.Basic +public import Mathlib.NumberTheory.MulChar.Basic /-! # Quadratic characters on ℤ/nℤ @@ -19,6 +21,8 @@ We set them up to be of type `MulChar (ZMod n) ℤ`, where `n` is `4` or `8`. quadratic character, zmod -/ +@[expose] public section + /-! ### Quadratic characters mod 4 and 8 diff --git a/Mathlib/NumberTheory/LocalField/Basic.lean b/Mathlib/NumberTheory/LocalField/Basic.lean index 88019431f6e6db..ea42ecf8b47d7b 100644 --- a/Mathlib/NumberTheory/LocalField/Basic.lean +++ b/Mathlib/NumberTheory/LocalField/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Valuation.DiscreteValuativeRel -import Mathlib.Topology.Algebra.Valued.LocallyCompact -import Mathlib.Topology.Algebra.Valued.ValuativeRel +module + +public import Mathlib.RingTheory.Valuation.DiscreteValuativeRel +public import Mathlib.Topology.Algebra.Valued.LocallyCompact +public import Mathlib.Topology.Algebra.Valued.ValuativeRel /-! @@ -17,6 +19,8 @@ and it is locally compact and non-discrete. -/ +@[expose] public section + /-- Given a topological field `K` equipped with an equivalence class of valuations (a `ValuativeRel`), we say that it is a non-archimedean local field if the topology comes from the given valuation, diff --git a/Mathlib/NumberTheory/LucasLehmer.lean b/Mathlib/NumberTheory/LucasLehmer.lean index 23201a7085eb6c..5f8614a176636a 100644 --- a/Mathlib/NumberTheory/LucasLehmer.lean +++ b/Mathlib/NumberTheory/LucasLehmer.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Alastair Irving, Kim Morrison, Ainsley Pahljina -/ -import Mathlib.NumberTheory.Fermat -import Mathlib.RingTheory.Fintype +module + +public import Mathlib.NumberTheory.Fermat +public import Mathlib.RingTheory.Fintype /-! # The Lucas-Lehmer test for Mersenne primes @@ -30,6 +32,8 @@ This tactic was ported by Thomas Murrills to Lean 4, and then it was converted t extension and made to use kernel reductions by Kyle Miller. -/ +@[expose] public section + /-- The Mersenne numbers, 2^p - 1. -/ def mersenne (p : ℕ) : ℕ := 2 ^ p - 1 @@ -78,7 +82,7 @@ alias ⟨_, mersenne_pos_of_pos⟩ := mersenne_pos /-- Extension for the `positivity` tactic: `mersenne`. -/ @[positivity mersenne _] -def evalMersenne : PositivityExt where eval {u α} _zα _pα e := do +meta def evalMersenne : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(mersenne $a) => let ra ← core q(inferInstance) q(inferInstance) a @@ -655,13 +659,14 @@ theorem sModNat_eq_sMod (p k : ℕ) (hp : 2 ≤ p) : (sModNat (2 ^ p - 1) k : Int.add_emod_right, ← sub_eq_add_neg] /-- Tail-recursive version of `sModNat`. -/ -def sModNatTR (q k : ℕ) : ℕ := +meta def sModNatTR (q k : ℕ) : ℕ := go k (4 % q) where /-- Helper function for `sMod''`. -/ go : ℕ → ℕ → ℕ | 0, acc => acc | n + 1, acc => go n ((acc ^ 2 + (q - 2)) % q) +termination_by structural x => x /-- Generalization of `sModNat` with arbitrary base case, @@ -716,7 +721,7 @@ theorem isNat_not_lucasLehmerTest : {p np : ℕ} → /-- Calculate `LucasLehmer.LucasLehmerTest p` for `2 ≤ p` by using kernel reduction for the `sMod'` function. -/ @[norm_num LucasLehmer.LucasLehmerTest (_ : ℕ)] -def evalLucasLehmerTest : NormNumExt where eval {_ _} e := do +meta def evalLucasLehmerTest : NormNumExt where eval {_ _} e := do let .app _ (p : Q(ℕ)) ← Meta.whnfR e | failure let ⟨ep, hp⟩ ← deriveNat p _ let np := ep.natLit! diff --git a/Mathlib/NumberTheory/LucasPrimality.lean b/Mathlib/NumberTheory/LucasPrimality.lean index d368ba8ebef890..1a358ce7c3f861 100644 --- a/Mathlib/NumberTheory/LucasPrimality.lean +++ b/Mathlib/NumberTheory/LucasPrimality.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Algebra.Field.ZMod -import Mathlib.RingTheory.IntegralDomain +module + +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.RingTheory.IntegralDomain /-! # The Lucas test for primes @@ -27,6 +29,8 @@ cases, we can take `q` to be any prime and see that `hd` does not hold, since `a to `1`. -/ +@[expose] public section + /-- If `a^(p-1) = 1 mod p`, but `a^((p-1)/q) ≠ 1 mod p` for all prime factors `q` of `p-1`, then `p` is prime. This is true because `a` has order `p-1` in the multiplicative group mod `p`, so this diff --git a/Mathlib/NumberTheory/MaricaSchoenheim.lean b/Mathlib/NumberTheory/MaricaSchoenheim.lean index 146fdc34c8319b..b150ed580d9e1e 100644 --- a/Mathlib/NumberTheory/MaricaSchoenheim.lean +++ b/Mathlib/NumberTheory/MaricaSchoenheim.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Combinatorics.SetFamily.FourFunctions -import Mathlib.Data.Nat.Squarefree +module + +public import Mathlib.Combinatorics.SetFamily.FourFunctions +public import Mathlib.Data.Nat.Squarefree /-! # The Marica-Schönheim special case of Graham's conjecture @@ -18,6 +20,8 @@ squarefree as a corollary of the Marica-Schönheim inequality. [*Applications of the FKG Inequality and Its Relatives*, Graham][Graham1983] -/ +@[expose] public section + open Finset open scoped FinsetFamily diff --git a/Mathlib/NumberTheory/Modular.lean b/Mathlib/NumberTheory/Modular.lean index b3810f99d2bbb2..d1cfe2182de4c1 100644 --- a/Mathlib/NumberTheory/Modular.lean +++ b/Mathlib/NumberTheory/Modular.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Alex Kontorovich and Heather Macbeth and Marc Masdeu. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Heather Macbeth, Marc Masdeu -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction -import Mathlib.LinearAlgebra.GeneralLinearGroup -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic -import Mathlib.Topology.Instances.Matrix -import Mathlib.Topology.Algebra.Module.FiniteDimension -import Mathlib.Topology.Instances.ZMultiples +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction +public import Mathlib.LinearAlgebra.GeneralLinearGroup +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Basic +public import Mathlib.Topology.Instances.Matrix +public import Mathlib.Topology.Algebra.Module.FiniteDimension +public import Mathlib.Topology.Instances.ZMultiples /-! # The action of the modular group SL(2, ℤ) on the upper half-plane @@ -59,6 +61,8 @@ existence of `g` maximizing `(g•z).im` (see `ModularGroup.exists_max_im`), and those, to minimize `|(g•z).re|` (see `ModularGroup.exists_row_one_eq_and_min_re`). -/ +@[expose] public section + open Complex diff --git a/Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean b/Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean index 33edcd290d8892..a30e6a3d11a591 100644 --- a/Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean +++ b/Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Topology.Algebra.IsUniformGroup.DiscreteSubgroup -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.Instances.Matrix -import Mathlib.Topology.MetricSpace.Isometry +module + +public import Mathlib.Topology.Algebra.IsUniformGroup.DiscreteSubgroup +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.Instances.Matrix +public import Mathlib.Topology.MetricSpace.Isometry /-! # Arithmetic subgroups of `GL(2, ℝ)` @@ -15,6 +17,8 @@ We define a subgroup of `GL (Fin 2) ℝ` to be *arithmetic* if it is commensurab of `SL(2, ℤ)`. -/ +@[expose] public section + open Matrix Matrix.SpecialLinearGroup open scoped MatrixGroups diff --git a/Mathlib/NumberTheory/ModularForms/Basic.lean b/Mathlib/NumberTheory/ModularForms/Basic.lean index 494d266234ac5b..9c35c77828244e 100644 --- a/Mathlib/NumberTheory/ModularForms/Basic.lean +++ b/Mathlib/NumberTheory/ModularForms/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Algebra.DirectSum.Algebra -import Mathlib.Analysis.Calculus.FDeriv.Star -import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold -import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions -import Mathlib.NumberTheory.ModularForms.BoundedAtCusp -import Mathlib.NumberTheory.ModularForms.SlashInvariantForms +module + +public import Mathlib.Algebra.DirectSum.Algebra +public import Mathlib.Analysis.Calculus.FDeriv.Star +public import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold +public import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions +public import Mathlib.NumberTheory.ModularForms.BoundedAtCusp +public import Mathlib.NumberTheory.ModularForms.SlashInvariantForms /-! # Modular forms @@ -21,6 +23,8 @@ define the space of modular forms, cusp forms and prove that the product of two modular form. -/ +@[expose] public section + open Complex UpperHalfPlane Matrix.SpecialLinearGroup open scoped Topology Manifold MatrixGroups ComplexConjugate diff --git a/Mathlib/NumberTheory/ModularForms/BoundedAtCusp.lean b/Mathlib/NumberTheory/ModularForms/BoundedAtCusp.lean index d3678e5f24f248..72f3b523bf913a 100644 --- a/Mathlib/NumberTheory/ModularForms/BoundedAtCusp.lean +++ b/Mathlib/NumberTheory/ModularForms/BoundedAtCusp.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty -import Mathlib.NumberTheory.ModularForms.Cusps -import Mathlib.NumberTheory.ModularForms.SlashActions +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty +public import Mathlib.NumberTheory.ModularForms.Cusps +public import Mathlib.NumberTheory.ModularForms.SlashActions /-! # Boundedness and vanishing at cusps @@ -14,6 +16,8 @@ We define the notions of "bounded at c" and "vanishing at c" for functions on ` an element of `OnePoint ℝ`. -/ +@[expose] public section + open Matrix SpecialLinearGroup UpperHalfPlane Filter Polynomial OnePoint open scoped MatrixGroups LinearAlgebra.Projectivization ModularForm diff --git a/Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean b/Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean index 0bb85bd3c527c2..17cd742b4dfd3d 100644 --- a/Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean +++ b/Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.LinearAlgebra.Matrix.Integer -import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups +module + +public import Mathlib.LinearAlgebra.Matrix.Integer +public import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups /-! # Congruence subgroups @@ -16,6 +18,8 @@ It also contains basic results about congruence subgroups. -/ +@[expose] public section + open Matrix.SpecialLinearGroup Matrix open scoped MatrixGroups ModularGroup Real diff --git a/Mathlib/NumberTheory/ModularForms/Cusps.lean b/Mathlib/NumberTheory/ModularForms/Cusps.lean index c18e4b6592745e..c990bc7526248b 100644 --- a/Mathlib/NumberTheory/ModularForms/Cusps.lean +++ b/Mathlib/NumberTheory/ModularForms/Cusps.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Analysis.RCLike.Basic -import Mathlib.GroupTheory.Commensurable -import Mathlib.RingTheory.Localization.NumDen -import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine -import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.GroupTheory.Commensurable +public import Mathlib.RingTheory.Localization.NumDen +public import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine +public import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups /-! # Cusps @@ -16,6 +18,8 @@ import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups We define the cusps of a subgroup of `GL(2, ℝ)` as the fixed points of parabolic elements. -/ +@[expose] public section + open Matrix SpecialLinearGroup GeneralLinearGroup Filter Polynomial OnePoint open scoped MatrixGroups LinearAlgebra.Projectivization diff --git a/Mathlib/NumberTheory/ModularForms/DedekindEta.lean b/Mathlib/NumberTheory/ModularForms/DedekindEta.lean index 05208cdf1d835d..43f80d796c8a1d 100644 --- a/Mathlib/NumberTheory/ModularForms/DedekindEta.lean +++ b/Mathlib/NumberTheory/ModularForms/DedekindEta.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ +module -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Analysis.Complex.UpperHalfPlane.Exp -import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Analysis.Complex.UpperHalfPlane.Exp +public import Mathlib.Analysis.NormedSpace.MultipliableUniformlyOn /-! # Dedekind eta function @@ -22,6 +23,8 @@ differentiable on the upper half-plane. * [F. Diamond and J. Shurman, *A First Course in Modular Forms*][diamondshurman2005], section 1.2 -/ +@[expose] public section + open TopologicalSpace Set MeasureTheory intervalIntegral Metric Filter Function Complex diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean index ded6c5ae7efb14..704e119a013398 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.NumberTheory.ModularForms.Basic -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable +public import Mathlib.NumberTheory.ModularForms.Basic +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.IsBoundedAtImInfty +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.MDifferentiable /-! # Eisenstein series are Modular Forms @@ -19,6 +20,8 @@ We show that Eisenstein series of weight `k` and level `Γ(N)` with congruence c Add q-expansions and prove that they are not all identically zero. -/ +@[expose] public section + noncomputable section namespace ModularForm diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean index 1978290a11231e..873965a59097c6 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.NumberTheory.ModularForms.SlashInvariantForms -import Mathlib.RingTheory.EuclideanDomain -import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.NumberTheory.ModularForms.SlashInvariantForms +public import Mathlib.RingTheory.EuclideanDomain +public import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups /-! # Eisenstein Series @@ -25,6 +27,8 @@ import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups * [F. Diamond and J. Shurman, *A First Course in Modular Forms*][diamondshurman2005] -/ +@[expose] public section + noncomputable section open ModularForm UpperHalfPlane Complex Matrix CongruenceSubgroup Set diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean index 33d58a91ebb7c0..ad25181271181b 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable -import Mathlib.NumberTheory.ModularForms.Identities +public import Mathlib.Analysis.Complex.UpperHalfPlane.FunctionsBoundedAtInfty +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable +public import Mathlib.NumberTheory.ModularForms.Identities /-! # Boundedness of Eisenstein series @@ -25,6 +26,8 @@ We can then, first observe that the slash action just changes our `a` to `(a ᵥ we then use our bounds for Eisenstein series in these vertical strips to get the result. -/ +@[expose] public section + noncomputable section open ModularForm UpperHalfPlane Matrix SlashInvariantForm CongruenceSubgroup diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean index 022cefff11ab52..85fc86dfa17fdd 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence -import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold -import Mathlib.Analysis.Complex.LocallyUniformLimit -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence +public import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold +public import Mathlib.Analysis.Complex.LocallyUniformLimit +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv /-! # Holomorphicity of Eisenstein series @@ -17,6 +18,8 @@ We show that Eisenstein series of weight `k` and level `Γ(N)` with congruence c MDifferentiable. -/ +@[expose] public section + noncomputable section open UpperHalfPlane Filter Function Complex Manifold CongruenceSubgroup diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean index f5fbe039213d4a..1ee6d3c1a3d72a 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Complex.SummableUniformlyOn -import Mathlib.Analysis.SpecialFunctions.Trigonometric.Cotangent +module + +public import Mathlib.Analysis.Complex.SummableUniformlyOn +public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Cotangent /-! # Einstein series q-expansions @@ -14,6 +16,8 @@ q-expansions. -/ +@[expose] public section + open Set Metric TopologicalSpace Function Filter Complex EisensteinSeries open _root_.UpperHalfPlane hiding I diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean index b16ba8f089a831..137abeb597893b 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.Analysis.PSeries -import Mathlib.Order.Interval.Finset.Box -import Mathlib.Analysis.Asymptotics.Defs +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.Analysis.PSeries +public import Mathlib.Order.Interval.Finset.Box +public import Mathlib.Analysis.Asymptotics.Defs /-! # Summability of Eisenstein series @@ -16,6 +17,8 @@ We gather results about the summability of Eisenstein series, particularly the summability of the Eisenstein series summands, which are used in the proof of the boundedness of Eisenstein series at infinity. -/ + +@[expose] public section noncomputable section open Complex UpperHalfPlane Set Finset Topology Filter Asymptotics diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConvergence.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConvergence.lean index 2a856c46559050..2d8326f2af9128 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConvergence.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConvergence.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ +module -import Mathlib.Analysis.Normed.Group.FunctionSeries -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs -import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable +public import Mathlib.Analysis.Normed.Group.FunctionSeries +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs +public import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Summable /-! # Uniform convergence of Eisenstein series @@ -25,6 +26,8 @@ We then show in `summable_one_div_rpow_max` that the sum of `max (|c|, |d|) ^ (- `Finset.box` lemmas. -/ +@[expose] public section + noncomputable section open Complex UpperHalfPlane Set Finset CongruenceSubgroup Topology diff --git a/Mathlib/NumberTheory/ModularForms/Identities.lean b/Mathlib/NumberTheory/ModularForms/Identities.lean index 43c271272b55d6..d06dc4feac712b 100644 --- a/Mathlib/NumberTheory/ModularForms/Identities.lean +++ b/Mathlib/NumberTheory/ModularForms/Identities.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ +module -import Mathlib.NumberTheory.ModularForms.SlashInvariantForms -import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups +public import Mathlib.NumberTheory.ModularForms.SlashInvariantForms +public import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups /-! # Identities of ModularForms and SlashInvariantForms @@ -13,6 +14,8 @@ import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups Collection of useful identities of modular forms. -/ +@[expose] public section + noncomputable section open ModularForm UpperHalfPlane Matrix CongruenceSubgroup Matrix.SpecialLinearGroup diff --git a/Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean b/Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean index 2fcd0248e039dd..72df83b1fa06f6 100644 --- a/Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean +++ b/Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable /-! # Asymptotic bounds for Jacobi theta functions @@ -34,6 +35,8 @@ hence Dirichlet L-functions, etc). `∞`. -/ +@[expose] public section + open Set Filter Topology Asymptotics Real noncomputable section diff --git a/Mathlib/NumberTheory/ModularForms/JacobiTheta/Manifold.lean b/Mathlib/NumberTheory/ModularForms/JacobiTheta/Manifold.lean index be0610ef074c3b..e6e0084c1a41e3 100644 --- a/Mathlib/NumberTheory/ModularForms/JacobiTheta/Manifold.lean +++ b/Mathlib/NumberTheory/ModularForms/JacobiTheta/Manifold.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold -import Mathlib.Geometry.Manifold.MFDeriv.FDeriv -import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.Manifold +public import Mathlib.Geometry.Manifold.MFDeriv.FDeriv +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable /-! # Manifold differentiability of the Jacobi theta function @@ -18,6 +20,8 @@ differentiability. Prove smoothness (in terms of `Smooth`). -/ +@[expose] public section + open scoped UpperHalfPlane Manifold diff --git a/Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean b/Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean index 8b97109d242791..2bb1a3631362ac 100644 --- a/Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean +++ b/Mathlib/NumberTheory/ModularForms/JacobiTheta/OneVariable.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable -import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction +module + +public import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable +public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction /-! # Jacobi's theta function @@ -17,6 +19,8 @@ and proves the modular transformation properties `θ (τ + 2) = θ τ` and show that `θ` is differentiable on `ℍ`, and `θ(τ) - 1` has exponential decay as `im τ → ∞`. -/ +@[expose] public section + open Complex Real Asymptotics Filter Topology open scoped Real UpperHalfPlane diff --git a/Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean b/Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean index eafa84d5c0f6c0..995dbebcc95445 100644 --- a/Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean +++ b/Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Calculus.SmoothSeries -import Mathlib.Analysis.Normed.Operator.Prod -import Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation -import Mathlib.LinearAlgebra.Complex.FiniteDimensional +module + +public import Mathlib.Analysis.Calculus.SmoothSeries +public import Mathlib.Analysis.Normed.Operator.Prod +public import Mathlib.Analysis.SpecialFunctions.Gaussian.PoissonSummation +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional /-! # The two-variable Jacobi theta function @@ -26,6 +28,8 @@ $$\theta'(z, τ) = \sum_{n \in \mathbb{Z}} 2 \pi i n \exp (2 i \pi n z + i \pi n of even Dirichlet characters, and that of `θ'` will do the same for odd Dirichlet characters.) -/ +@[expose] public section + open Complex Real Asymptotics Filter Topology open scoped ComplexConjugate diff --git a/Mathlib/NumberTheory/ModularForms/LevelOne.lean b/Mathlib/NumberTheory/ModularForms/LevelOne.lean index 14c9c9b959b063..c40b5aa227c92d 100644 --- a/Mathlib/NumberTheory/ModularForms/LevelOne.lean +++ b/Mathlib/NumberTheory/ModularForms/LevelOne.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Complex.AbsMax -import Mathlib.NumberTheory.Modular -import Mathlib.NumberTheory.ModularForms.QExpansion +module + +public import Mathlib.Analysis.Complex.AbsMax +public import Mathlib.NumberTheory.Modular +public import Mathlib.NumberTheory.ModularForms.QExpansion /-! # Level one modular forms @@ -16,6 +18,8 @@ TODO: Add finite-dimensionality of these spaces of modular forms. -/ +@[expose] public section + open UpperHalfPlane ModularGroup SlashInvariantForm ModularForm Complex CongruenceSubgroup Real Function SlashInvariantFormClass ModularFormClass Periodic diff --git a/Mathlib/NumberTheory/ModularForms/Petersson.lean b/Mathlib/NumberTheory/ModularForms/Petersson.lean index 74ecda7d7c5861..2daf8b0214f256 100644 --- a/Mathlib/NumberTheory/ModularForms/Petersson.lean +++ b/Mathlib/NumberTheory/ModularForms/Petersson.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Analysis.Complex.UpperHalfPlane.Topology -import Mathlib.NumberTheory.ModularForms.SlashInvariantForms +public import Mathlib.Analysis.Complex.UpperHalfPlane.Topology +public import Mathlib.NumberTheory.ModularForms.SlashInvariantForms /-! # The Petersson scalar product @@ -17,6 +18,8 @@ We show this function is (weight 0) invariant under `Γ` if `f, f'` are (weight `Γ`. -/ +@[expose] public section + open UpperHalfPlane diff --git a/Mathlib/NumberTheory/ModularForms/QExpansion.lean b/Mathlib/NumberTheory/ModularForms/QExpansion.lean index 71a86de36207e3..ee70a3719fdd8e 100644 --- a/Mathlib/NumberTheory/ModularForms/QExpansion.lean +++ b/Mathlib/NumberTheory/ModularForms/QExpansion.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Analysis.Complex.TaylorSeries -import Mathlib.Analysis.Complex.UpperHalfPlane.Exp -import Mathlib.NumberTheory.ModularForms.Basic -import Mathlib.NumberTheory.ModularForms.Identities -import Mathlib.RingTheory.PowerSeries.Basic +module + +public import Mathlib.Analysis.Complex.TaylorSeries +public import Mathlib.Analysis.Complex.UpperHalfPlane.Exp +public import Mathlib.NumberTheory.ModularForms.Basic +public import Mathlib.NumberTheory.ModularForms.Identities +public import Mathlib.RingTheory.PowerSeries.Basic /-! # q-expansions of modular forms @@ -37,6 +39,8 @@ We also define the `q`-expansion of a modular form, either as a power series or the graded ring of all modular forms?) -/ +@[expose] public section + open ModularForm Complex Filter UpperHalfPlane Function Matrix.SpecialLinearGroup open scoped Real MatrixGroups CongruenceSubgroup diff --git a/Mathlib/NumberTheory/ModularForms/SlashActions.lean b/Mathlib/NumberTheory/ModularForms/SlashActions.lean index cc91cdd8007633..0738bc5654711a 100644 --- a/Mathlib/NumberTheory/ModularForms/SlashActions.lean +++ b/Mathlib/NumberTheory/ModularForms/SlashActions.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs -import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Analysis.Complex.UpperHalfPlane.MoebiusAction +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.Defs +public import Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup +public import Mathlib.Tactic.AdaptationNote /-! # Slash actions @@ -22,6 +24,8 @@ Scoped in the `ModularForm` namespace, this file defines * `f ∣[k] A`: the `k`th slash action by `A` on `f` -/ +@[expose] public section + open Complex UpperHalfPlane ModularGroup diff --git a/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean b/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean index c10bbc14682573..0e0eddb6771253 100644 --- a/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean +++ b/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups -import Mathlib.NumberTheory.ModularForms.SlashActions +module + +public import Mathlib.NumberTheory.ModularForms.ArithmeticSubgroups +public import Mathlib.NumberTheory.ModularForms.SlashActions /-! # Slash invariant forms @@ -14,6 +16,8 @@ defining `ModularForm` and `CuspForm`. We prove several instances for such space that they form a module over `ℝ`, and over `ℂ` if the group is contained in `SL(2, ℝ)`. -/ +@[expose] public section + open Complex UpperHalfPlane ModularForm open scoped MatrixGroups diff --git a/Mathlib/NumberTheory/MulChar/Basic.lean b/Mathlib/NumberTheory/MulChar/Basic.lean index 2bb0de42e0f8c1..d0e68daee43288 100644 --- a/Mathlib/NumberTheory/MulChar/Basic.lean +++ b/Mathlib/NumberTheory/MulChar/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.CharP.Basic -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.Algebra.Ring.Regular -import Mathlib.Data.Fintype.Units -import Mathlib.GroupTheory.OrderOfElement +module + +public import Mathlib.Algebra.CharP.Basic +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.Data.Fintype.Units +public import Mathlib.GroupTheory.OrderOfElement /-! # Multiplicative characters of finite rings and fields @@ -36,6 +38,8 @@ character vanishes; see `MulChar.IsNontrivial.sum_eq_zero`. multiplicative character -/ +@[expose] public section + /-! ### Definitions related to multiplicative characters diff --git a/Mathlib/NumberTheory/MulChar/Duality.lean b/Mathlib/NumberTheory/MulChar/Duality.lean index 139ab3c59e0ff5..a9987eae2d7da8 100644 --- a/Mathlib/NumberTheory/MulChar/Duality.lean +++ b/Mathlib/NumberTheory/MulChar/Duality.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.GroupTheory.FiniteAbelian.Duality -import Mathlib.NumberTheory.MulChar.Basic +module + +public import Mathlib.GroupTheory.FiniteAbelian.Duality +public import Mathlib.NumberTheory.MulChar.Basic /-! # Duality for multiplicative characters @@ -19,6 +21,8 @@ where `n` is the exponent of `M`. Then the main results of this file are as foll (noncanonically) isomorphic to `Mˣ`. -/ +@[expose] public section + namespace MulChar variable {M R : Type*} [CommMonoid M] [CommRing R] diff --git a/Mathlib/NumberTheory/MulChar/Lemmas.lean b/Mathlib/NumberTheory/MulChar/Lemmas.lean index 29aeb72b5a59df..64d2c7be0c768b 100644 --- a/Mathlib/NumberTheory/MulChar/Lemmas.lean +++ b/Mathlib/NumberTheory/MulChar/Lemmas.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.MulChar.Basic -import Mathlib.RingTheory.RootsOfUnity.Complex +module + +public import Mathlib.NumberTheory.MulChar.Basic +public import Mathlib.RingTheory.RootsOfUnity.Complex /-! # Further Results on multiplicative characters -/ +@[expose] public section + namespace MulChar /-- Two multiplicative characters on a monoid whose unit group is generated by `g` diff --git a/Mathlib/NumberTheory/Multiplicity.lean b/Mathlib/NumberTheory/Multiplicity.lean index 1cd26699f5496d..5ef4bca2960336 100644 --- a/Mathlib/NumberTheory/Multiplicity.lean +++ b/Mathlib/NumberTheory/Multiplicity.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Tian Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tian Chen, Mantas Bakšys -/ -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Data.Nat.Prime.Int -import Mathlib.NumberTheory.Padics.PadicVal.Defs -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.NumberTheory.Padics.PadicVal.Defs +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Span /-! # Multiplicity in Number Theory @@ -28,6 +30,8 @@ This file contains results in number theory relating to multiplicity. (https://en.wikipedia.org/wiki/Lifting-the-exponent_lemma) -/ +@[expose] public section + open Ideal Ideal.Quotient Finset diff --git a/Mathlib/NumberTheory/Niven.lean b/Mathlib/NumberTheory/Niven.lean index 73f989bb39085e..4106da1ab9e22a 100644 --- a/Mathlib/NumberTheory/Niven.lean +++ b/Mathlib/NumberTheory/Niven.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Alex Meiburg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Meiburg -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Log -import Mathlib.RingTheory.Polynomial.RationalRoot -import Mathlib.Tactic.Peel -import Mathlib.Tactic.Rify +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Log +public import Mathlib.RingTheory.Polynomial.RationalRoot +public import Mathlib.Tactic.Peel +public import Mathlib.Tactic.Rify /-! # Niven's Theorem @@ -16,6 +18,8 @@ by π. Equivalently, the only rational numbers that occur as `cos(π * p / q)` a values `{-1, -1/2, 0, 1/2, 1}`. -/ +@[expose] public section + namespace IsIntegral variable {α R : Type*} [DivisionRing α] [CharZero α] {q : ℚ} {x : α} diff --git a/Mathlib/NumberTheory/NumberField/AdeleRing.lean b/Mathlib/NumberTheory/NumberField/AdeleRing.lean index f1fdfe72ead8d3..a0f7aea5dd66c7 100644 --- a/Mathlib/NumberTheory/NumberField/AdeleRing.lean +++ b/Mathlib/NumberTheory/NumberField/AdeleRing.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Salvatore Mercuri, María Inés de Frutos-Fernández. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri, María Inés de Frutos-Fernández -/ -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic -import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion -import Mathlib.RingTheory.DedekindDomain.FiniteAdeleRing +module + +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion +public import Mathlib.RingTheory.DedekindDomain.FiniteAdeleRing /-! # The adele ring of a number field @@ -34,6 +36,8 @@ direct product of the infinite adele ring and the finite adele ring. infinite adele ring, adele ring, number field -/ +@[expose] public section + noncomputable section namespace NumberField diff --git a/Mathlib/NumberTheory/NumberField/Basic.lean b/Mathlib/NumberTheory/NumberField/Basic.lean index 87b55de9bb19c2..1363ecd27cd72e 100644 --- a/Mathlib/NumberTheory/NumberField/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Ashvni Narayanan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ashvni Narayanan, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Algebra.CharZero.AddMonoidHom -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Algebra.Ring.Int.Units -import Mathlib.RingTheory.DedekindDomain.IntegralClosure +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Algebra.CharZero.AddMonoidHom +public import Mathlib.Algebra.Ring.Int.Parity +public import Mathlib.Algebra.Ring.Int.Units +public import Mathlib.RingTheory.DedekindDomain.IntegralClosure /-! # Number fields @@ -32,6 +34,8 @@ but are independent of that choice. number field, ring of integers -/ +@[expose] public section + /-- A number field is a field which has characteristic zero and is finite dimensional over ℚ. -/ diff --git a/Mathlib/NumberTheory/NumberField/CMField.lean b/Mathlib/NumberTheory/NumberField/CMField.lean index 7028c7c15cd009..cb3f7eb5d2e60e 100644 --- a/Mathlib/NumberTheory/NumberField/CMField.lean +++ b/Mathlib/NumberTheory/NumberField/CMField.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 X. Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex -import Mathlib.NumberTheory.NumberField.Units.Regulator -import Mathlib.RingTheory.RootsOfUnity.Complex +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex +public import Mathlib.NumberTheory.NumberField.Units.Regulator +public import Mathlib.RingTheory.RootsOfUnity.Complex /-! # CM-extension of number fields @@ -48,6 +50,8 @@ results for the general case can be deduced for the CM case by using the isomorp -/ +@[expose] public section + open NumberField ComplexEmbedding InfinitePlace Algebra open scoped ComplexConjugate diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean index de831c44a1c29c..1bc47dab288150 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Module.ZLattice.Basic -import Mathlib.Analysis.InnerProductSpace.ProdL2 -import Mathlib.MeasureTheory.Measure.Haar.Unique -import Mathlib.NumberTheory.NumberField.FractionalIdeal -import Mathlib.NumberTheory.NumberField.Units.Basic +module + +public import Mathlib.Algebra.Module.ZLattice.Basic +public import Mathlib.Analysis.InnerProductSpace.ProdL2 +public import Mathlib.MeasureTheory.Measure.Haar.Unique +public import Mathlib.NumberTheory.NumberField.FractionalIdeal +public import Mathlib.NumberTheory.NumberField.Units.Basic /-! # Canonical embedding of a number field @@ -37,6 +39,8 @@ into the type `(K →+* ℂ) → ℂ` of `ℂ`-vectors indexed by the complex em number field, infinite places -/ +@[expose] public section + open Module variable (K : Type*) [Field K] diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean index b85dcea350b1da..44b9979fcfb2c8 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.MeasureTheory.Group.GeometryOfNumbers -import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic -import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup +module + +public import Mathlib.MeasureTheory.Group.GeometryOfNumbers +public import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +public import Mathlib.Analysis.SpecialFunctions.Gamma.BohrMollerup /-! # Convex Bodies @@ -37,6 +39,8 @@ associated to a number field of signature `K` and proves several existence theor number field, infinite places -/ +@[expose] public section + variable (K : Type*) [Field K] namespace NumberField.mixedEmbedding diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean index df03e7ed887f76..0f383490f514c7 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.RingTheory.Ideal.IsPrincipal -import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem -import Mathlib.RingTheory.ClassGroup +module + +public import Mathlib.RingTheory.Ideal.IsPrincipal +public import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem +public import Mathlib.RingTheory.ClassGroup /-! # Fundamental Cone @@ -37,6 +39,8 @@ mixed space that is a fundamental domain for the action of `(𝓞 K)ˣ` modulo t number field, canonical embedding, units, principal ideals -/ +@[expose] public section + variable (K : Type*) [Field K] namespace NumberField.mixedEmbedding diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean index a8a5f98f97d28c..90c671f50e824e 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.PolarCoord -import Mathlib.NumberTheory.NumberField.Units.Regulator +module + +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.PolarCoord +public import Mathlib.NumberTheory.NumberField.Units.Regulator /-! # Fundamental Cone: set of elements of norm ≤ 1 @@ -120,6 +122,8 @@ identify `realSpace K` with its image in `mixedSpace K`). -/ +@[expose] public section + variable (K : Type*) [Field K] open Finset Module NumberField NumberField.InfinitePlace NumberField.mixedEmbedding diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean index 8e029a9c2d9fe2..d3e586997aa0b2 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.SpecialFunctions.PolarCoord -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.PolarCoord +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic /-! # Polar coordinate change of variables for the mixed space of a number field @@ -46,6 +48,8 @@ mixed space with enough symmetries, see `volume_eq_two_pi_pow_mul_integral` and -/ +@[expose] public section + variable (K : Type*) [Field K] namespace NumberField.mixedEmbedding diff --git a/Mathlib/NumberTheory/NumberField/ClassNumber.lean b/Mathlib/NumberTheory/NumberField/ClassNumber.lean index 8f7cd9584e7fbb..3a0e11e4977579 100644 --- a/Mathlib/NumberTheory/NumberField/ClassNumber.lean +++ b/Mathlib/NumberTheory/NumberField/ClassNumber.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Riccardo Brasca, Xavier Roblot -/ -import Mathlib.NumberTheory.ClassNumber.AdmissibleAbs -import Mathlib.NumberTheory.ClassNumber.Finite -import Mathlib.NumberTheory.NumberField.Discriminant.Basic -import Mathlib.RingTheory.Ideal.IsPrincipal -import Mathlib.NumberTheory.RamificationInertia.Galois +module + +public import Mathlib.NumberTheory.ClassNumber.AdmissibleAbs +public import Mathlib.NumberTheory.ClassNumber.Finite +public import Mathlib.NumberTheory.NumberField.Discriminant.Basic +public import Mathlib.RingTheory.Ideal.IsPrincipal +public import Mathlib.NumberTheory.RamificationInertia.Galois /-! # Class numbers of number fields @@ -38,6 +40,8 @@ cardinality of the class group of its ring of integers to deal with the finite number of primes `p` in the interval. -/ +@[expose] public section + open scoped nonZeroDivisors Real open Module NumberField InfinitePlace Ideal Nat diff --git a/Mathlib/NumberTheory/NumberField/Completion.lean b/Mathlib/NumberTheory/NumberField/Completion.lean index 6bbb1ac420e274..f48e266c35bff7 100644 --- a/Mathlib/NumberTheory/NumberField/Completion.lean +++ b/Mathlib/NumberTheory/NumberField/Completion.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Completion deprecated_module (since := "2025-09-24") diff --git a/Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean b/Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean index a2fe022fff6c34..32355ba6b4e9bc 100644 --- a/Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.NumberTheory.Cyclotomic.Discriminant -import Mathlib.RingTheory.Ideal.Norm.AbsNorm -import Mathlib.RingTheory.Norm.Transitivity -import Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral -import Mathlib.RingTheory.Prime +module + +public import Mathlib.NumberTheory.Cyclotomic.Discriminant +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm +public import Mathlib.RingTheory.Norm.Transitivity +public import Mathlib.RingTheory.Polynomial.Eisenstein.IsIntegral +public import Mathlib.RingTheory.Prime /-! # Ring of integers of `p ^ n`-th cyclotomic fields @@ -24,6 +26,8 @@ integers of a `p ^ n`-th cyclotomic extension of `ℚ`. of cyclotomic fields. -/ +@[expose] public section + universe u open Algebra IsCyclotomicExtension Polynomial NumberField diff --git a/Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean b/Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean index 5eae9b1d842318..641733893e85ef 100644 --- a/Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean +++ b/Mathlib/NumberTheory/NumberField/Cyclotomic/Embeddings.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ +module -import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +public import Mathlib.NumberTheory.Cyclotomic.PrimitiveRoots +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic /-! # Cyclotomic extensions of `ℚ` are totally complex number fields. @@ -17,6 +18,8 @@ We prove that cyclotomic extensions of `ℚ` are totally complex, meaning that then there are no real places of `K`. -/ +@[expose] public section + universe u namespace IsCyclotomicExtension.Rat diff --git a/Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean b/Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean index 2ee9cebc9f8710..fc4c13e870983d 100644 --- a/Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean +++ b/Mathlib/NumberTheory/NumberField/Cyclotomic/Ideal.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic -import Mathlib.NumberTheory.RamificationInertia.Galois -import Mathlib.RingTheory.Ideal.Int -import Mathlib.RingTheory.RootsOfUnity.CyclotomicUnits +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +public import Mathlib.NumberTheory.RamificationInertia.Galois +public import Mathlib.RingTheory.Ideal.Int +public import Mathlib.RingTheory.RootsOfUnity.CyclotomicUnits /-! # Ideals in cyclotomic fields @@ -25,6 +27,8 @@ In this file, we prove results about ideals in cyclotomic extensions of `ℚ`. ideal above `p` in `ℚ(ζ_pᵏ)` is `p ^ (k - 1) * (p - 1)`. -/ +@[expose] public section + namespace IsCyclotomicExtension.Rat open Ideal NumberField diff --git a/Mathlib/NumberTheory/NumberField/Cyclotomic/PID.lean b/Mathlib/NumberTheory/NumberField/Cyclotomic/PID.lean index 3ade10132af801..fd3aa877bb79cc 100644 --- a/Mathlib/NumberTheory/NumberField/Cyclotomic/PID.lean +++ b/Mathlib/NumberTheory/NumberField/Cyclotomic/PID.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ +module -import Mathlib.NumberTheory.NumberField.ClassNumber -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic -import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings +public import Mathlib.NumberTheory.NumberField.ClassNumber +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings /-! # Cyclotomic fields whose ring of integers is a PID. @@ -18,6 +19,8 @@ but the proof is more and more involved. * `five_pid`: If `IsCyclotomicExtension {5} ℚ K` then `𝓞 K` is a principal ideal domain. -/ +@[expose] public section + universe u namespace IsCyclotomicExtension.Rat diff --git a/Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean b/Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean index 39f336fbb07d98..b45cde2658a862 100644 --- a/Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean +++ b/Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Pietro Monticone -/ +module -import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic -import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem -import Mathlib.RingTheory.Fintype +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +public import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem +public import Mathlib.RingTheory.Fintype /-! # Third Cyclotomic Field @@ -27,6 +28,8 @@ This is a special case of the so-called *Kummer's lemma* (see for example [washi Theorem 5.36 -/ +@[expose] public section + open NumberField Units InfinitePlace nonZeroDivisors Polynomial namespace IsCyclotomicExtension.Rat.Three diff --git a/Mathlib/NumberTheory/NumberField/DedekindZeta.lean b/Mathlib/NumberTheory/NumberField/DedekindZeta.lean index 4713f9ec8e6079..6dbc601ff272ee 100644 --- a/Mathlib/NumberTheory/NumberField/DedekindZeta.lean +++ b/Mathlib/NumberTheory/NumberField/DedekindZeta.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.BigOperators.Ring.Nat -import Mathlib.NumberTheory.LSeries.SumCoeff -import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics +module + +public import Mathlib.Algebra.BigOperators.Ring.Nat +public import Mathlib.NumberTheory.LSeries.SumCoeff +public import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics /-! # The Dedekind zeta function of a number field @@ -26,6 +28,8 @@ In this file, we define and prove results about the Dedekind zeta function of a Generalize the construction of the Dedekind zeta function. -/ +@[expose] public section + variable (K : Type*) [Field K] [NumberField K] noncomputable section diff --git a/Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean b/Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean index 52e1a1b4de2bd8..5302a68c824a91 100644 --- a/Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Module.ZLattice.Covolume -import Mathlib.Analysis.Real.Pi.Bounds -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody -import Mathlib.NumberTheory.NumberField.Discriminant.Defs -import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex -import Mathlib.Tactic.Rify +module + +public import Mathlib.Algebra.Module.ZLattice.Covolume +public import Mathlib.Analysis.Real.Pi.Bounds +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody +public import Mathlib.NumberTheory.NumberField.Discriminant.Defs +public import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex +public import Mathlib.Tactic.Rify /-! # Number field discriminant @@ -26,6 +28,8 @@ This file defines the discriminant of a number field. number field, discriminant -/ +@[expose] public section + -- TODO. Rewrite some of the FLT results on the discriminant using the definitions and results of -- this file diff --git a/Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean b/Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean index f2c2c1e59e718a..d362cb965cb31e 100644 --- a/Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean +++ b/Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Init.Data.ULift -import Init.Data.Fin.Fold -import Init.Data.List.Nat.Pairwise -import Init.Data.List.Nat.Range -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.RingTheory.Localization.NormTrace +module + +public import Init.Data.ULift +public import Init.Data.Fin.Fold +public import Init.Data.List.Nat.Pairwise +public import Init.Data.List.Nat.Range +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.RingTheory.Localization.NormTrace /-! # Number field discriminant @@ -22,6 +24,8 @@ This file defines the discriminant of a number field. number field, discriminant -/ +@[expose] public section + open Module -- TODO: Rewrite some of the FLT results on the discriminant using the definitions and results of diff --git a/Mathlib/NumberTheory/NumberField/Discriminant/Different.lean b/Mathlib/NumberTheory/NumberField/Discriminant/Different.lean index edcbda5bb3c544..7c6749a02dbbc3 100644 --- a/Mathlib/NumberTheory/NumberField/Discriminant/Different.lean +++ b/Mathlib/NumberTheory/NumberField/Discriminant/Different.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.NumberTheory.NumberField.Discriminant.Defs -import Mathlib.RingTheory.DedekindDomain.Factorization -import Mathlib.RingTheory.DedekindDomain.Different -import Mathlib.RingTheory.Ideal.Norm.AbsNorm -import Mathlib.Tactic.Qify +module + +public import Mathlib.NumberTheory.NumberField.Discriminant.Defs +public import Mathlib.RingTheory.DedekindDomain.Factorization +public import Mathlib.RingTheory.DedekindDomain.Different +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm +public import Mathlib.Tactic.Qify /-! @@ -19,6 +21,8 @@ import Mathlib.Tactic.Qify -/ +@[expose] public section + variable {K 𝒪 : Type*} [Field K] [NumberField K] [CommRing 𝒪] [Algebra 𝒪 K] variable [IsFractionRing 𝒪 K] [IsIntegralClosure 𝒪 ℤ K] [IsDedekindDomain 𝒪] [CharZero 𝒪] variable [Module.Finite ℤ 𝒪] diff --git a/Mathlib/NumberTheory/NumberField/Embeddings.lean b/Mathlib/NumberTheory/NumberField/Embeddings.lean index d91a907d24035a..7327e916fa684a 100644 --- a/Mathlib/NumberTheory/NumberField/Embeddings.lean +++ b/Mathlib/NumberTheory/NumberField/Embeddings.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification -import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification +public import Mathlib.NumberTheory.NumberField.InfinitePlace.TotallyRealComplex deprecated_module (since := "2025-04-30") diff --git a/Mathlib/NumberTheory/NumberField/EquivReindex.lean b/Mathlib/NumberTheory/NumberField/EquivReindex.lean index df076a12fdb775..4683331635aa99 100644 --- a/Mathlib/NumberTheory/NumberField/EquivReindex.lean +++ b/Mathlib/NumberTheory/NumberField/EquivReindex.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michail Karatarakis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michail Karatarakis -/ -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +module + +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic /-! @@ -16,6 +18,8 @@ index set of the chosen basis of the ring of integers of `K`. house, number field, algebraic number -/ +@[expose] public section + variable (K : Type*) [Field K] [NumberField K] namespace NumberField diff --git a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean index 760fbe6d1fb7f9..47c8750c037b33 100644 --- a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean +++ b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ -import Mathlib.Algebra.Order.Archimedean.Submonoid -import Mathlib.Algebra.GroupWithZero.Range -import Mathlib.Data.Int.WithZero -import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.RingTheory.DedekindDomain.Factorization -import Mathlib.RingTheory.Ideal.Norm.AbsNorm -import Mathlib.RingTheory.Valuation.Archimedean -import Mathlib.Topology.Algebra.Valued.NormedValued +module + +public import Mathlib.Algebra.Order.Archimedean.Submonoid +public import Mathlib.Algebra.GroupWithZero.Range +public import Mathlib.Data.Int.WithZero +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.RingTheory.DedekindDomain.Factorization +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm +public import Mathlib.RingTheory.Valuation.Archimedean +public import Mathlib.Topology.Algebra.Valued.NormedValued /-! # Finite places of number fields @@ -36,6 +38,8 @@ into a completion of `K` associated to a non-zero prime ideal of `𝓞 K`. number field, places, finite places -/ +@[expose] public section + open Ideal IsDedekindDomain HeightOneSpectrum WithZeroMulInt open scoped WithZero NNReal diff --git a/Mathlib/NumberTheory/NumberField/FractionalIdeal.lean b/Mathlib/NumberTheory/NumberField/FractionalIdeal.lean index 4991cb7eed9fb8..c0739b8a24b226 100644 --- a/Mathlib/NumberTheory/NumberField/FractionalIdeal.lean +++ b/Mathlib/NumberTheory/NumberField/FractionalIdeal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.RingTheory.FractionalIdeal.Norm -import Mathlib.RingTheory.FractionalIdeal.Operations +module + +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.RingTheory.FractionalIdeal.Norm +public import Mathlib.RingTheory.FractionalIdeal.Operations /-! @@ -22,6 +24,8 @@ Prove some results on the fractional ideals of number fields. `basisOfFractionalIdeal I` is equal to the norm of `I`. -/ +@[expose] public section + variable (K : Type*) [Field K] [NumberField K] namespace NumberField diff --git a/Mathlib/NumberTheory/NumberField/House.lean b/Mathlib/NumberTheory/NumberField/House.lean index 496911334a02b3..023556124090a4 100644 --- a/Mathlib/NumberTheory/NumberField/House.lean +++ b/Mathlib/NumberTheory/NumberField/House.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michail Karatarakis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michail Karatarakis -/ -import Mathlib.NumberTheory.SiegelsLemma -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic -import Mathlib.NumberTheory.NumberField.EquivReindex +module + +public import Mathlib.NumberTheory.SiegelsLemma +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.Basic +public import Mathlib.NumberTheory.NumberField.EquivReindex /-! @@ -21,6 +23,8 @@ the largest of the modulus of its conjugates. number field, algebraic number, house -/ +@[expose] public section + variable {K : Type*} [Field K] [NumberField K] namespace NumberField diff --git a/Mathlib/NumberTheory/NumberField/Ideal.lean b/Mathlib/NumberTheory/NumberField/Ideal.lean index 39b620cc99fd47..fb7fc9457b3a4b 100644 --- a/Mathlib/NumberTheory/NumberField/Ideal.lean +++ b/Mathlib/NumberTheory/NumberField/Ideal.lean @@ -1,3 +1,5 @@ -import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics +module + +public import Mathlib.NumberTheory.NumberField.Ideal.Asymptotics deprecated_module (since := "2025-06-04") diff --git a/Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean b/Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean index c25f092ab98b0d..f106677c4e94bc 100644 --- a/Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean +++ b/Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.NormLeOne -import Mathlib.NumberTheory.NumberField.ClassNumber +module + +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.NormLeOne +public import Mathlib.NumberTheory.NumberField.ClassNumber /-! # Asymptotics on integral ideals of a number field @@ -20,6 +22,8 @@ We prove several asymptotics involving integral ideals of a number field. -/ +@[expose] public section + noncomputable section open Ideal diff --git a/Mathlib/NumberTheory/NumberField/Ideal/Basic.lean b/Mathlib/NumberTheory/NumberField/Ideal/Basic.lean index 51276c64cee946..27acf4c1c084c6 100644 --- a/Mathlib/NumberTheory/NumberField/Ideal/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/Ideal/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic -import Mathlib.NumberTheory.NumberField.Units.Basic +module + +public import Mathlib.NumberTheory.NumberField.Cyclotomic.Basic +public import Mathlib.NumberTheory.NumberField.Units.Basic /-! # Basic results on integral ideals of a number field @@ -25,6 +27,8 @@ We study results about integral ideals of a number field `K`. -/ +@[expose] public section + section torsionMapQuot open Ideal NumberField Units diff --git a/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean b/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean index ed205fafbc7ea0..75f288036df0ba 100644 --- a/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean +++ b/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.KummerDedekind -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.NumberTheory.RamificationInertia.Basic -import Mathlib.RingTheory.Ideal.Int +module + +public import Mathlib.NumberTheory.KummerDedekind +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.NumberTheory.RamificationInertia.Basic +public import Mathlib.RingTheory.Ideal.Int /-! # Kummer-Dedekind criterion for the splitting of prime numbers @@ -45,6 +47,8 @@ Let `K` be a number field and `θ` an algebraic integer of `K`. -/ +@[expose] public section + noncomputable section open Polynomial NumberField Ideal KummerDedekind UniqueFactorizationMonoid diff --git a/Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean b/Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean index a3e5166a97a53d..05be8c0d71266f 100644 --- a/Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings -import Mathlib.NumberTheory.NumberField.Norm -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.Topology.Instances.Complex +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Embeddings +public import Mathlib.NumberTheory.NumberField.Norm +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.Topology.Instances.Complex /-! # Infinite places of a number field @@ -36,6 +38,8 @@ This file defines the infinite places of a number field. number field, infinite places -/ +@[expose] public section + open scoped Finset open NumberField Fintype Module diff --git a/Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean b/Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean index d8c21c2522cfcf..fff0c15aee0090 100644 --- a/Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean +++ b/Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.Analysis.Normed.Field.WithAbs -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +module + +public import Mathlib.Analysis.Normed.Field.WithAbs +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic /-! # The completion of a number field at an infinite place @@ -51,6 +53,8 @@ field at an infinite place is then derived in this file, as `InfinitePlace` is a ## Tags number field, embeddings, infinite places, completion, absolute value -/ + +@[expose] public section noncomputable section namespace NumberField.InfinitePlace diff --git a/Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean b/Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean index ffaa86fc6c9839..1f06477a6fdf04 100644 --- a/Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean +++ b/Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Xavier Roblot -/ -import Mathlib.Algebra.Algebra.Hom.Rat -import Mathlib.Analysis.Complex.Polynomial.Basic -import Mathlib.NumberTheory.NumberField.Basic +module + +public import Mathlib.Algebra.Algebra.Hom.Rat +public import Mathlib.Analysis.Complex.Polynomial.Basic +public import Mathlib.NumberTheory.NumberField.Basic /-! # Embeddings of number fields @@ -26,6 +28,8 @@ the field of complex numbers. number field, embeddings -/ +@[expose] public section + open scoped Finset namespace NumberField.Embeddings diff --git a/Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean b/Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean index ae1bb2275b3039..59bcec76825477 100644 --- a/Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean +++ b/Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic /-! # Ramification of infinite places of a number field @@ -29,6 +31,8 @@ This file studies the ramification of infinite places of a number field. number field, infinite places, ramification -/ +@[expose] public section + open NumberField Fintype Module namespace NumberField.InfinitePlace diff --git a/Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean b/Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean index be532ef57917bc..be19f341183a28 100644 --- a/Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean +++ b/Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Xavier Roblot -/ -import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification +module + +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification /-! # Totally real and totally complex number fields @@ -25,6 +27,8 @@ This file defines the type of totally real and totally complex number fields. number field, infinite places, totally real, totally complex -/ +@[expose] public section + namespace NumberField open InfinitePlace Module diff --git a/Mathlib/NumberTheory/NumberField/Norm.lean b/Mathlib/NumberTheory/NumberField/Norm.lean index f467153947a873..7eee7c7469af32 100644 --- a/Mathlib/NumberTheory/NumberField/Norm.lean +++ b/Mathlib/NumberTheory/NumberField/Norm.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Eric Rodriguez -/ -import Mathlib.NumberTheory.NumberField.Basic -import Mathlib.RingTheory.Localization.NormTrace -import Mathlib.RingTheory.Norm.Transitivity +module + +public import Mathlib.NumberTheory.NumberField.Basic +public import Mathlib.RingTheory.Localization.NormTrace +public import Mathlib.RingTheory.Norm.Transitivity /-! # Norm in number fields @@ -20,6 +22,8 @@ rings of integers. -/ +@[expose] public section + open scoped NumberField diff --git a/Mathlib/NumberTheory/NumberField/ProductFormula.lean b/Mathlib/NumberTheory/NumberField/ProductFormula.lean index cdb7eddfd321df..7a1c9ba749860b 100644 --- a/Mathlib/NumberTheory/NumberField/ProductFormula.lean +++ b/Mathlib/NumberTheory/NumberField/ProductFormula.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ -import Mathlib.NumberTheory.NumberField.FinitePlaces -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +module + +public import Mathlib.NumberTheory.NumberField.FinitePlaces +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic /-! # The Product Formula for number fields @@ -29,6 +31,8 @@ ideal of `𝓞 K` raised to the power of the `v`-adic valuation of `x`. number field, embeddings, places, infinite places, finite places, product formula -/ +@[expose] public section + namespace NumberField variable {K : Type*} [Field K] [NumberField K] diff --git a/Mathlib/NumberTheory/NumberField/Units/Basic.lean b/Mathlib/NumberTheory/NumberField/Units/Basic.lean index 79246d9e479fb5..fa65ad4be26435 100644 --- a/Mathlib/NumberTheory/NumberField/Units/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/Units/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.GroupTheory.Torsion -import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.RootsOfUnity.Complex +module + +public import Mathlib.GroupTheory.Torsion +public import Mathlib.NumberTheory.NumberField.InfinitePlace.Basic +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.RootsOfUnity.Complex /-! # Units of a number field @@ -30,6 +32,8 @@ field `K` and its torsion subgroup. number field, units -/ +@[expose] public section + open scoped NumberField noncomputable section diff --git a/Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean b/Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean index 2d76ef167d1ab0..c5fc98c858be83 100644 --- a/Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean +++ b/Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.LinearAlgebra.Matrix.Gershgorin -import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody -import Mathlib.NumberTheory.NumberField.Units.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Gershgorin +public import Mathlib.NumberTheory.NumberField.CanonicalEmbedding.ConvexBody +public import Mathlib.NumberTheory.NumberField.Units.Basic /-! # Dirichlet theorem on the group of units of a number field @@ -35,6 +37,8 @@ subgroup is a free `ℤ`-module of rank `card (InfinitePlace K) - 1`. number field, units, Dirichlet unit theorem -/ +@[expose] public section + noncomputable section open Module NumberField NumberField.InfinitePlace NumberField.Units diff --git a/Mathlib/NumberTheory/NumberField/Units/Regulator.lean b/Mathlib/NumberTheory/NumberField/Units/Regulator.lean index c57565dcb6d72a..dc22d50bf32ae8 100644 --- a/Mathlib/NumberTheory/NumberField/Units/Regulator.lean +++ b/Mathlib/NumberTheory/NumberField/Units/Regulator.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Module.ZLattice.Covolume -import Mathlib.LinearAlgebra.Matrix.Determinant.Misc -import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem +module + +public import Mathlib.Algebra.Module.ZLattice.Covolume +public import Mathlib.LinearAlgebra.Matrix.Determinant.Misc +public import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem /-! # Regulator of a number field @@ -31,6 +33,8 @@ We define and prove basic results about the regulator of a number field `K`. number field, units, regulator -/ +@[expose] public section + open scoped NumberField noncomputable section diff --git a/Mathlib/NumberTheory/Ostrowski.lean b/Mathlib/NumberTheory/Ostrowski.lean index f68980692f0635..dc2ccf760474d0 100644 --- a/Mathlib/NumberTheory/Ostrowski.lean +++ b/Mathlib/NumberTheory/Ostrowski.lean @@ -5,11 +5,12 @@ Authors: David Kurniadi Angdinata, Fabrizio Barroero, Laura Capuano, Nirvana Cop María Inés de Frutos-Fernández, Sam van Gool, Silvain Rideau-Kikuchi, Amos Turchet, Francesco Veneziano -/ +module -import Mathlib.Analysis.AbsoluteValue.Equivalence -import Mathlib.Analysis.SpecialFunctions.Log.Base -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity -import Mathlib.NumberTheory.Padics.PadicNorm +public import Mathlib.Analysis.AbsoluteValue.Equivalence +public import Mathlib.Analysis.SpecialFunctions.Log.Base +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +public import Mathlib.NumberTheory.Padics.PadicNorm /-! # Ostrowski’s Theorem @@ -38,6 +39,8 @@ Extend to arbitrary number fields. absolute value, Ostrowski's theorem -/ +@[expose] public section + open Filter Nat Real Topology -- For any `C > 0`, the limit of `C ^ (1/k)` is 1 as `k → ∞` diff --git a/Mathlib/NumberTheory/Padics/AddChar.lean b/Mathlib/NumberTheory/Padics/AddChar.lean index 7dadf9884e5d16..ec976a31bf347e 100644 --- a/Mathlib/NumberTheory/Padics/AddChar.lean +++ b/Mathlib/NumberTheory/Padics/AddChar.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.Padics.MahlerBasis -import Mathlib.Topology.Algebra.Monoid.AddChar -import Mathlib.Analysis.SpecificLimits.Normed +module + +public import Mathlib.NumberTheory.Padics.MahlerBasis +public import Mathlib.Topology.Algebra.Monoid.AddChar +public import Mathlib.Analysis.SpecificLimits.Normed /-! # Additive characters of `ℤ_[p]` @@ -35,6 +37,8 @@ equivalent if `NormMulClass R` holds. * Show that the above equivalences are homeomorphisms, for appropriate choices of the topology. -/ +@[expose] public section + open scoped fwdDiff open Filter Topology diff --git a/Mathlib/NumberTheory/Padics/Complex.lean b/Mathlib/NumberTheory/Padics/Complex.lean index 89472df6c7f42c..3e7b9b19ea84ca 100644 --- a/Mathlib/NumberTheory/Padics/Complex.lean +++ b/Mathlib/NumberTheory/Padics/Complex.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Unbundled.SpectralNorm -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.Topology.Algebra.Valued.NormedValued -import Mathlib.Topology.Algebra.Valued.ValuedField +module + +public import Mathlib.Analysis.Normed.Unbundled.SpectralNorm +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.Topology.Algebra.Valued.NormedValued +public import Mathlib.Topology.Algebra.Valued.ValuedField /-! # The field `ℂ_[p]` of `p`-adic complex numbers. @@ -36,6 +38,8 @@ integers. p-adic, p adic, padic, norm, valuation, Cauchy, completion, p-adic completion -/ +@[expose] public section + noncomputable section open Valuation diff --git a/Mathlib/NumberTheory/Padics/Hensel.lean b/Mathlib/NumberTheory/Padics/Hensel.lean index e6300e1f846ef1..5b02e070a4eeb4 100644 --- a/Mathlib/NumberTheory/Padics/Hensel.lean +++ b/Mathlib/NumberTheory/Padics/Hensel.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Algebra.Polynomial.Identities -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.NumberTheory.Padics.PadicIntegers -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.Topology.MetricSpace.CauSeqFilter +module + +public import Mathlib.Algebra.Polynomial.Identities +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.NumberTheory.Padics.PadicIntegers +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.Topology.MetricSpace.CauSeqFilter /-! # Hensel's lemma on ℤ_p @@ -31,6 +33,8 @@ The proof and motivation are described in the paper p-adic, p adic, padic, p-adic integer -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/Padics/MahlerBasis.lean b/Mathlib/NumberTheory/Padics/MahlerBasis.lean index c3e2368de775fb..2b41b83cd6ce7a 100644 --- a/Mathlib/NumberTheory/Padics/MahlerBasis.lean +++ b/Mathlib/NumberTheory/Padics/MahlerBasis.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Giulio Caflisch, David Loeffler -/ -import Mathlib.Algebra.Group.ForwardDiff -import Mathlib.Analysis.Normed.Group.Ultra -import Mathlib.NumberTheory.Padics.ProperSpace -import Mathlib.RingTheory.Binomial -import Mathlib.Topology.Algebra.InfiniteSum.Nonarchimedean -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.Topology.ContinuousMap.ZeroAtInfty -import Mathlib.Topology.MetricSpace.Ultra.ContinuousMaps +module + +public import Mathlib.Algebra.Group.ForwardDiff +public import Mathlib.Analysis.Normed.Group.Ultra +public import Mathlib.NumberTheory.Padics.ProperSpace +public import Mathlib.RingTheory.Binomial +public import Mathlib.Topology.Algebra.InfiniteSum.Nonarchimedean +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.Topology.ContinuousMap.ZeroAtInfty +public import Mathlib.Topology.MetricSpace.Ultra.ContinuousMaps /-! # The Mahler basis of continuous functions @@ -39,6 +41,8 @@ for his bachelor's thesis at ETH Zürich. Bojanic -/ +@[expose] public section + open Finset IsUltrametricDist NNReal Filter open scoped fwdDiff ZeroAtInfty Topology diff --git a/Mathlib/NumberTheory/Padics/PadicIntegers.lean b/Mathlib/NumberTheory/Padics/PadicIntegers.lean index 2cb79abec18fea..991eecd5a4ca3b 100644 --- a/Mathlib/NumberTheory/Padics/PadicIntegers.lean +++ b/Mathlib/NumberTheory/Padics/PadicIntegers.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Mario Carneiro, Johan Commelin -/ -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.RingTheory.DiscreteValuationRing.Basic +module + +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.RingTheory.DiscreteValuationRing.Basic /-! # p-adic integers @@ -45,6 +47,8 @@ Coercions into `ℤ_[p]` are set up to work with the `norm_cast` tactic. p-adic, p adic, padic, p-adic integer -/ +@[expose] public section + open Padic Metric IsLocalRing diff --git a/Mathlib/NumberTheory/Padics/PadicNorm.lean b/Mathlib/NumberTheory/Padics/PadicNorm.lean index 2e7adf7804ea5c..069beafe4cb307 100644 --- a/Mathlib/NumberTheory/Padics/PadicNorm.lean +++ b/Mathlib/NumberTheory/Padics/PadicNorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.NumberTheory.Padics.PadicVal.Basic +module + +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.NumberTheory.Padics.PadicVal.Basic /-! # p-adic norm @@ -34,6 +36,8 @@ by taking `[Fact p.Prime]` as a type class argument. p-adic, p adic, padic, norm, valuation -/ +@[expose] public section + /-- If `q ≠ 0`, the `p`-adic norm of a rational `q` is `p ^ (-padicValRat p q)`. If `q = 0`, the `p`-adic norm of `q` is `0`. -/ diff --git a/Mathlib/NumberTheory/Padics/PadicNumbers.lean b/Mathlib/NumberTheory/Padics/PadicNumbers.lean index 7bafd42b80ca25..7f734efdf943fd 100644 --- a/Mathlib/NumberTheory/Padics/PadicNumbers.lean +++ b/Mathlib/NumberTheory/Padics/PadicNumbers.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.RingTheory.Valuation.Basic -import Mathlib.NumberTheory.Padics.PadicNorm -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Tactic.Peel -import Mathlib.Topology.MetricSpace.Ultra.Basic +module + +public import Mathlib.RingTheory.Valuation.Basic +public import Mathlib.NumberTheory.Padics.PadicNorm +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Tactic.Peel +public import Mathlib.Topology.MetricSpace.Ultra.Basic /-! # p-adic numbers @@ -58,6 +60,8 @@ Coercions from `ℚ` to `ℚ_[p]` are set up to work with the `norm_cast` tactic p-adic, p adic, padic, norm, valuation, cauchy, completion, p-adic completion -/ +@[expose] public section + open WithZero /-- The p-adic valuation on rationals, sending `p` to `(exp (-1) : ℤᵐ⁰)` -/ diff --git a/Mathlib/NumberTheory/Padics/PadicVal/Basic.lean b/Mathlib/NumberTheory/Padics/PadicVal/Basic.lean index 27ffba5f9e43ac..ac213499013577 100644 --- a/Mathlib/NumberTheory/Padics/PadicVal/Basic.lean +++ b/Mathlib/NumberTheory/Padics/PadicVal/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Matthew Robert Ballard -/ -import Mathlib.NumberTheory.Divisors -import Mathlib.NumberTheory.Padics.PadicVal.Defs -import Mathlib.Data.Nat.MaxPowDiv -import Mathlib.Data.Nat.Multiplicity -import Mathlib.Data.Nat.Prime.Int +module + +public import Mathlib.NumberTheory.Divisors +public import Mathlib.NumberTheory.Padics.PadicVal.Defs +public import Mathlib.Data.Nat.MaxPowDiv +public import Mathlib.Data.Nat.Multiplicity +public import Mathlib.Data.Nat.Prime.Int /-! # `p`-adic Valuation @@ -59,6 +61,8 @@ by taking `[Fact p.Prime]` as a type class argument. p-adic, p adic, padic, norm, valuation -/ +@[expose] public section + universe u diff --git a/Mathlib/NumberTheory/Padics/PadicVal/Defs.lean b/Mathlib/NumberTheory/Padics/PadicVal/Defs.lean index a01b88ca709b6c..92269b0ffd62c1 100644 --- a/Mathlib/NumberTheory/Padics/PadicVal/Defs.lean +++ b/Mathlib/NumberTheory/Padics/PadicVal/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Matthew Robert Ballard -/ -import Mathlib.RingTheory.Multiplicity -import Mathlib.Data.Nat.Factors +module + +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.Data.Nat.Factors /-! # `p`-adic Valuation @@ -18,6 +20,8 @@ assumptions on `p`. The `p`-adic valuations on `ℕ` and `ℤ` agree with that o The valuation induces a norm on `ℚ`. This norm is defined in padicNorm.lean. -/ +@[expose] public section + assert_not_exists Field universe u diff --git a/Mathlib/NumberTheory/Padics/ProperSpace.lean b/Mathlib/NumberTheory/Padics/ProperSpace.lean index c1f72a1b4ded7e..91224c60442f09 100644 --- a/Mathlib/NumberTheory/Padics/ProperSpace.lean +++ b/Mathlib/NumberTheory/Padics/ProperSpace.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Jou Glasheen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jou Glasheen, Kevin Buzzard -/ +module -import Mathlib.Analysis.Normed.Field.ProperSpace -import Mathlib.NumberTheory.Padics.RingHoms +public import Mathlib.Analysis.Normed.Field.ProperSpace +public import Mathlib.NumberTheory.Padics.RingHoms /-! # Properness of the p-adic numbers @@ -29,6 +30,8 @@ Gouvêa, F. Q. (2020) p-adic Numbers An Introduction. 3rd edition. Cham, Springer International Publishing -/ +@[expose] public section + assert_not_exists FiniteDimensional open Metric Topology diff --git a/Mathlib/NumberTheory/Padics/RingHoms.lean b/Mathlib/NumberTheory/Padics/RingHoms.lean index 6d2db32db8cb58..64d4f72492a6f1 100644 --- a/Mathlib/NumberTheory/Padics/RingHoms.lean +++ b/Mathlib/NumberTheory/Padics/RingHoms.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin, Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.Field.ZMod -import Mathlib.NumberTheory.Padics.PadicIntegers -import Mathlib.RingTheory.LocalRing.ResidueField.Defs -import Mathlib.RingTheory.ZMod +module + +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.NumberTheory.Padics.PadicIntegers +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs +public import Mathlib.RingTheory.ZMod /-! @@ -39,6 +41,8 @@ The constructions of the ring homomorphisms go through an auxiliary constructor -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/Padics/ValuativeRel.lean b/Mathlib/NumberTheory/Padics/ValuativeRel.lean index baa1785f2fcc27..8d56de0d2587ac 100644 --- a/Mathlib/NumberTheory/Padics/ValuativeRel.lean +++ b/Mathlib/NumberTheory/Padics/ValuativeRel.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.RingTheory.Valuation.RankOne +module + +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.RingTheory.Valuation.RankOne /-! # p-adic numbers with a valuative relation @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Valuation.RankOne p-adic, p adic, padic, norm, valuation, cauchy, completion, p-adic completion -/ +@[expose] public section + variable {p : ℕ} [hp : Fact p.Prime] {Γ₀ : Type*} [LinearOrderedCommMonoidWithZero Γ₀] (v : Valuation ℚ_[p] Γ₀) diff --git a/Mathlib/NumberTheory/Padics/WithVal.lean b/Mathlib/NumberTheory/Padics/WithVal.lean index 1b617fb9cea7cc..72dd69fc88ac1a 100644 --- a/Mathlib/NumberTheory/Padics/WithVal.lean +++ b/Mathlib/NumberTheory/Padics/WithVal.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Analysis.RCLike.Basic -import Mathlib.NumberTheory.Padics.PadicNumbers -import Mathlib.Topology.Algebra.Valued.ValuedField -import Mathlib.Topology.Algebra.Valued.WithVal -import Mathlib.Topology.GDelta.MetrizableSpace +module + +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.NumberTheory.Padics.PadicNumbers +public import Mathlib.Topology.Algebra.Valued.ValuedField +public import Mathlib.Topology.Algebra.Valued.WithVal +public import Mathlib.Topology.GDelta.MetrizableSpace /-! # Equivalence between `ℚ_[p]` and `(Rat.padicValuation p).Completion` @@ -25,6 +27,8 @@ which is shorthand for `UniformSpace.Completion (WithVal (Rat.padicValuation p)) -/ +@[expose] public section + namespace Padic variable {p : ℕ} [Fact p.Prime] diff --git a/Mathlib/NumberTheory/Pell.lean b/Mathlib/NumberTheory/Pell.lean index 34dafeffc7ce3d..40aac3f735ab3e 100644 --- a/Mathlib/NumberTheory/Pell.lean +++ b/Mathlib/NumberTheory/Pell.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Geißer, Michael Stoll -/ -import Mathlib.Data.ZMod.Basic -import Mathlib.NumberTheory.DiophantineApproximation.Basic -import Mathlib.NumberTheory.Zsqrtd.Basic -import Mathlib.Tactic.Qify +module + +public import Mathlib.Data.ZMod.Basic +public import Mathlib.NumberTheory.DiophantineApproximation.Basic +public import Mathlib.NumberTheory.Zsqrtd.Basic +public import Mathlib.Tactic.Qify /-! # Pell's Equation @@ -51,6 +53,8 @@ Pell's equation * Connect solutions to the continued fraction expansion of `√d`. -/ +@[expose] public section + namespace Pell diff --git a/Mathlib/NumberTheory/PellMatiyasevic.lean b/Mathlib/NumberTheory/PellMatiyasevic.lean index 632e929213b45c..2028c59d62b4cb 100644 --- a/Mathlib/NumberTheory/PellMatiyasevic.lean +++ b/Mathlib/NumberTheory/PellMatiyasevic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Nat.ModEq -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.NumberTheory.Zsqrtd.Basic +module + +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.NumberTheory.Zsqrtd.Basic /-! # Pell's equation and Matiyasevic's theorem @@ -48,6 +50,8 @@ Pell's equation, Matiyasevic's theorem, Hilbert's tenth problem -/ +@[expose] public section + namespace Pell diff --git a/Mathlib/NumberTheory/PowModTotient.lean b/Mathlib/NumberTheory/PowModTotient.lean index 2e29b0b00df5cc..e4f46f1ca659ef 100644 --- a/Mathlib/NumberTheory/PowModTotient.lean +++ b/Mathlib/NumberTheory/PowModTotient.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.FieldTheory.Finite.Basic /-! # Modular exponentiation with the totient function @@ -25,6 +27,8 @@ function when the base is coprime to the modulus. -/ +@[expose] public section + namespace Nat lemma pow_totient_mod_eq_one {x n : ℕ} (hn : 1 < n) (h : x.Coprime n) : diff --git a/Mathlib/NumberTheory/PrimeCounting.lean b/Mathlib/NumberTheory/PrimeCounting.lean index bf2f705da6ac17..8128c666dec6f9 100644 --- a/Mathlib/NumberTheory/PrimeCounting.lean +++ b/Mathlib/NumberTheory/PrimeCounting.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey, Ralf Stephan -/ -import Mathlib.Data.Nat.Prime.Nth -import Mathlib.Data.Nat.Totient -import Mathlib.NumberTheory.SmoothNumbers -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.Data.Nat.Prime.Nth +public import Mathlib.Data.Nat.Totient +public import Mathlib.NumberTheory.SmoothNumbers +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # The Prime Counting Function @@ -33,6 +35,8 @@ function (and `π'` to represent the reindexed version). -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/NumberTheory/PrimesCongruentOne.lean b/Mathlib/NumberTheory/PrimesCongruentOne.lean index 1f6769bc0bd3b4..9cee27319f5e26 100644 --- a/Mathlib/NumberTheory/PrimesCongruentOne.lean +++ b/Mathlib/NumberTheory/PrimesCongruentOne.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval +module + +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval /-! # Primes congruent to one @@ -12,6 +14,8 @@ We prove that, for any positive `k : ℕ`, there are infinitely many primes `p` `p ≡ 1 [MOD k]`. -/ +@[expose] public section + namespace Nat diff --git a/Mathlib/NumberTheory/Primorial.lean b/Mathlib/NumberTheory/Primorial.lean index f785e3d272e699..b3a0987fd24c00 100644 --- a/Mathlib/NumberTheory/Primorial.lean +++ b/Mathlib/NumberTheory/Primorial.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Patrick Stevens. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Stevens, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Associated -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Data.Nat.Choose.Dvd -import Mathlib.Data.Nat.Prime.Basic +module + +public import Mathlib.Algebra.BigOperators.Associated +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Data.Nat.Choose.Dvd +public import Mathlib.Data.Nat.Prime.Basic /-! # Primorial @@ -22,6 +24,8 @@ We use the local notation `n#` for the primorial of `n`: that is, the product of than or equal to `n`. -/ +@[expose] public section + open Finset diff --git a/Mathlib/NumberTheory/PythagoreanTriples.lean b/Mathlib/NumberTheory/PythagoreanTriples.lean index d68e826a2b00f8..8205b6a9de0a3b 100644 --- a/Mathlib/NumberTheory/PythagoreanTriples.lean +++ b/Mathlib/NumberTheory/PythagoreanTriples.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Paul van Wamelen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul van Wamelen -/ -import Mathlib.Data.Int.NatPrime -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Int.Basic -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Data.Int.NatPrime +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.Tactic.FieldSimp /-! # Pythagorean Triples @@ -22,6 +24,8 @@ analyze the parity of `x`, `y`, `m` and `n` and eliminate all the impossible cas the bulk of the proof below. -/ +@[expose] public section + assert_not_exists TwoSidedIdeal theorem sq_ne_two_fin_zmod_four (z : ZMod 4) : z * z ≠ 2 := by diff --git a/Mathlib/NumberTheory/RamificationInertia/Basic.lean b/Mathlib/NumberTheory/RamificationInertia/Basic.lean index 8b67da427f0662..248556c5627e88 100644 --- a/Mathlib/NumberTheory/RamificationInertia/Basic.lean +++ b/Mathlib/NumberTheory/RamificationInertia/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas -import Mathlib.RingTheory.Finiteness.Quotient -import Mathlib.RingTheory.Ideal.Norm.AbsNorm +module + +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +public import Mathlib.RingTheory.Finiteness.Quotient +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm /-! # Ramification index and inertia degree @@ -40,6 +42,8 @@ leaving `p` and `P` implicit. -/ +@[expose] public section + namespace Ideal diff --git a/Mathlib/NumberTheory/RamificationInertia/Galois.lean b/Mathlib/NumberTheory/RamificationInertia/Galois.lean index a9a9f8170ae191..3f7cf6f9e1ca3c 100644 --- a/Mathlib/NumberTheory/RamificationInertia/Galois.lean +++ b/Mathlib/NumberTheory/RamificationInertia/Galois.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu, Jiedong Jiang -/ -import Mathlib.NumberTheory.RamificationInertia.Basic -import Mathlib.RingTheory.Invariant.Basic +module + +public import Mathlib.NumberTheory.RamificationInertia.Basic +public import Mathlib.RingTheory.Invariant.Basic /-! # Ramification theory in Galois extensions of Dedekind domains @@ -38,6 +40,8 @@ Assume `B / A` is a finite extension of Dedekind domains, `K` is the fraction ri -/ +@[expose] public section + open Algebra Pointwise attribute [local instance] FractionRing.liftAlgebra diff --git a/Mathlib/NumberTheory/RamificationInertia/Unramified.lean b/Mathlib/NumberTheory/RamificationInertia/Unramified.lean index 6b2447bd020c20..25404afb3e12b5 100644 --- a/Mathlib/NumberTheory/RamificationInertia/Unramified.lean +++ b/Mathlib/NumberTheory/RamificationInertia/Unramified.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.NumberTheory.RamificationInertia.Basic -import Mathlib.RingTheory.Unramified.LocalRing -import Mathlib.RingTheory.LocalRing.ResidueField.Instances +module + +public import Mathlib.NumberTheory.RamificationInertia.Basic +public import Mathlib.RingTheory.Unramified.LocalRing +public import Mathlib.RingTheory.LocalRing.ResidueField.Instances /-! @@ -20,6 +22,8 @@ We connect `Ideal.ramificationIdx` to the commutative algebra notion predicate o -/ +@[expose] public section + variable {R S T : Type*} [CommRing R] [CommRing S] [CommRing T] variable [Algebra R S] [Algebra S T] [Algebra R T] [IsScalarTower R S T] diff --git a/Mathlib/NumberTheory/Rayleigh.lean b/Mathlib/NumberTheory/Rayleigh.lean index c22cbd9345c8bb..6f5a2a7626abe6 100644 --- a/Mathlib/NumberTheory/Rayleigh.lean +++ b/Mathlib/NumberTheory/Rayleigh.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Jason Yuen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jason Yuen -/ -import Mathlib.Data.Real.ConjExponents -import Mathlib.NumberTheory.Real.Irrational +module + +public import Mathlib.Data.Real.ConjExponents +public import Mathlib.NumberTheory.Real.Irrational /-! # Rayleigh's theorem on Beatty sequences @@ -45,6 +47,8 @@ The main statements are: beatty, sequence, rayleigh, irrational, floor, positive -/ +@[expose] public section + /-- In the Beatty sequence for real number `r`, the `k`th term is `⌊k * r⌋`. -/ noncomputable def beattySeq (r : ℝ) : ℤ → ℤ := fun k ↦ ⌊k * r⌋ diff --git a/Mathlib/NumberTheory/Real/GoldenRatio.lean b/Mathlib/NumberTheory/Real/GoldenRatio.lean index 8a7c3f4023d0fe..2aa94ac496f0a6 100644 --- a/Mathlib/NumberTheory/Real/GoldenRatio.lean +++ b/Mathlib/NumberTheory/Real/GoldenRatio.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Alexey Soloyev, Junyan Xu, Kamila Szewczyk -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.LinearRecurrence -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Nat.Fib.Basic -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.Tactic.NormNum.NatFib -import Mathlib.Tactic.NormNum.Prime +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.LinearRecurrence +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Nat.Fib.Basic +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.Tactic.NormNum.NatFib +public import Mathlib.Tactic.NormNum.Prime /-! # The golden ratio and its conjugate @@ -22,6 +24,8 @@ irrationality, and we link them to the Fibonacci sequence by proving Binet's formula. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/Real/Irrational.lean b/Mathlib/NumberTheory/Real/Irrational.lean index c22b4edb9149ea..080ae3e3de41e2 100644 --- a/Mathlib/NumberTheory/Real/Irrational.lean +++ b/Mathlib/NumberTheory/Real/Irrational.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Data.Nat.Prime.Int -import Mathlib.Data.Rat.Sqrt -import Mathlib.Data.Real.Sqrt -import Mathlib.RingTheory.Algebraic.Basic -import Mathlib.Tactic.IntervalCases +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.Data.Rat.Sqrt +public import Mathlib.Data.Real.Sqrt +public import Mathlib.RingTheory.Algebraic.Basic +public import Mathlib.Tactic.IntervalCases /-! # Irrational real numbers @@ -24,6 +26,8 @@ when `n` is a numeric literal or cast; but this only works if you `unseal Nat.sqrt.iter in` before the theorem where you use this proof. -/ +@[expose] public section + open Rat Real diff --git a/Mathlib/NumberTheory/SelbergSieve.lean b/Mathlib/NumberTheory/SelbergSieve.lean index de43f0cba13350..036d64a8c6ceda 100644 --- a/Mathlib/NumberTheory/SelbergSieve.lean +++ b/Mathlib/NumberTheory/SelbergSieve.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Arend Mellendijk. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arend Mellendijk -/ -import Mathlib.Data.Real.Basic -import Mathlib.NumberTheory.ArithmeticFunction +module + +public import Mathlib.Data.Real.Basic +public import Mathlib.NumberTheory.ArithmeticFunction /-! # The Selberg Sieve @@ -28,6 +30,8 @@ minor notational difference is that we write $\nu(n)$ in place of $\frac{\omega( -/ +@[expose] public section + noncomputable section open scoped BigOperators ArithmeticFunction @@ -82,7 +86,7 @@ open Lean Meta Qq /-- Extension for the `positivity` tactic: `BoundingSieve.weights`. -/ @[positivity BoundingSieve.weights _ _] -def evalBoundingSieveWeights : PositivityExt where eval {u α} _zα _pα e := do +meta def evalBoundingSieveWeights : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(@BoundingSieve.weights $s $n) => assertInstancesCommute diff --git a/Mathlib/NumberTheory/SiegelsLemma.lean b/Mathlib/NumberTheory/SiegelsLemma.lean index dc3a6c9b94e89b..ed1259f977abed 100644 --- a/Mathlib/NumberTheory/SiegelsLemma.lean +++ b/Mathlib/NumberTheory/SiegelsLemma.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero, Laura Capuano, Amos Turchet -/ -import Mathlib.Analysis.Matrix -import Mathlib.Data.Pi.Interval -import Mathlib.Tactic.Rify +module + +public import Mathlib.Analysis.Matrix +public import Mathlib.Data.Pi.Interval +public import Mathlib.Tactic.Rify /-! # Siegel's Lemma @@ -31,6 +33,8 @@ the entries of the matrix See [M. Hindry and J. Silverman, Diophantine Geometry: an Introduction][hindrysilverman00]. -/ +@[expose] public section + /- We set ‖⬝‖ to be Matrix.seminormedAddCommGroup -/ attribute [local instance] Matrix.seminormedAddCommGroup diff --git a/Mathlib/NumberTheory/SmoothNumbers.lean b/Mathlib/NumberTheory/SmoothNumbers.lean index d40c4993523965..1e736770933160 100644 --- a/Mathlib/NumberTheory/SmoothNumbers.lean +++ b/Mathlib/NumberTheory/SmoothNumbers.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll, Ralf Stephan -/ -import Mathlib.Data.Nat.Factorization.Defs -import Mathlib.Data.Nat.Squarefree +module + +public import Mathlib.Data.Nat.Factorization.Defs +public import Mathlib.Data.Nat.Squarefree /-! # Smooth numbers @@ -30,6 +32,8 @@ and we provide some API, in particular bounds for their cardinalities; see `Nat.smoothNumbersUpTo_card_le` and `Nat.roughNumbersUpTo_card_le`. -/ +@[expose] public section + open scoped Finset namespace Nat diff --git a/Mathlib/NumberTheory/SumFourSquares.lean b/Mathlib/NumberTheory/SumFourSquares.lean index beb982876d85b8..e3cc686afcbf04 100644 --- a/Mathlib/NumberTheory/SumFourSquares.lean +++ b/Mathlib/NumberTheory/SumFourSquares.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.FieldTheory.Finite.Basic /-! # Lagrange's four square theorem @@ -16,6 +18,8 @@ a proof that every natural number is the sum of four square numbers. The proof used is close to Lagrange's original proof. -/ +@[expose] public section + open Finset Polynomial FiniteField Equiv diff --git a/Mathlib/NumberTheory/SumPrimeReciprocals.lean b/Mathlib/NumberTheory/SumPrimeReciprocals.lean index 50a1f778b3956b..684c602ee56762 100644 --- a/Mathlib/NumberTheory/SumPrimeReciprocals.lean +++ b/Mathlib/NumberTheory/SumPrimeReciprocals.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Analysis.PSeries -import Mathlib.NumberTheory.SmoothNumbers +module + +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Analysis.PSeries +public import Mathlib.NumberTheory.SmoothNumbers /-! # The sum of the reciprocals of the primes diverges @@ -23,6 +25,8 @@ See the sixth proof for the infinity of primes in Chapter 1 of [aigner1999proofs The proof is due to Erdős. -/ +@[expose] public section + open Set Nat open scoped Topology diff --git a/Mathlib/NumberTheory/SumTwoSquares.lean b/Mathlib/NumberTheory/SumTwoSquares.lean index abb0acc152900d..38437cac90e853 100644 --- a/Mathlib/NumberTheory/SumTwoSquares.lean +++ b/Mathlib/NumberTheory/SumTwoSquares.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Michael Stoll -/ -import Mathlib.Data.Nat.Squarefree -import Mathlib.NumberTheory.Zsqrtd.QuadraticReciprocity -import Mathlib.NumberTheory.Padics.PadicVal.Basic +module + +public import Mathlib.Data.Nat.Squarefree +public import Mathlib.NumberTheory.Zsqrtd.QuadraticReciprocity +public import Mathlib.NumberTheory.Padics.PadicVal.Basic /-! # Sums of two squares @@ -21,6 +23,8 @@ There is an alternative characterization as the numbers of the form `a^2 * b`, w natural number such that `-1` is a square modulo `b`; see `Nat.eq_sq_add_sq_iff_eq_sq_mul`. -/ +@[expose] public section + section Fermat diff --git a/Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean b/Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean index 2784516889fe3e..2b73dbf68fac2a 100644 --- a/Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean +++ b/Mathlib/NumberTheory/Transcendental/Lindemann/AnalyticalPart.lean @@ -3,17 +3,21 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Algebra.Polynomial.SumIteratedDerivative -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus -import Mathlib.RingTheory.Int.Basic -import Mathlib.Topology.Algebra.Polynomial +module + +public import Mathlib.Algebra.Polynomial.SumIteratedDerivative +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.Topology.Algebra.Polynomial /-! # Analytic part of the Lindemann-Weierstrass theorem -/ +@[expose] public section + namespace LindemannWeierstrass noncomputable section diff --git a/Mathlib/NumberTheory/Transcendental/Liouville/Basic.lean b/Mathlib/NumberTheory/Transcendental/Liouville/Basic.lean index 5ade825af7dbea..961fbda340d237 100644 --- a/Mathlib/NumberTheory/Transcendental/Liouville/Basic.lean +++ b/Mathlib/NumberTheory/Transcendental/Liouville/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Jujian Zhang -/ -import Mathlib.Algebra.Polynomial.DenomsClearable -import Mathlib.Analysis.Calculus.MeanValue -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.Topology.Algebra.Polynomial +module + +public import Mathlib.Algebra.Polynomial.DenomsClearable +public import Mathlib.Analysis.Calculus.MeanValue +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.Topology.Algebra.Polynomial /-! @@ -23,6 +25,8 @@ and obtain precise inequalities that ultimately allow us to prove transcendence Liouville numbers. -/ +@[expose] public section + /-- A Liouville number is a real number `x` such that for every natural number `n`, there exist `a, b ∈ ℤ` with `1 < b` such that `0 < |x - a/b| < 1/bⁿ`. diff --git a/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean b/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean index 96179b6407c959..7c76525ee0011f 100644 --- a/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean +++ b/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Jujian Zhang -/ -import Mathlib.NumberTheory.Transcendental.Liouville.Basic +module + +public import Mathlib.NumberTheory.Transcendental.Liouville.Basic /-! @@ -30,6 +32,8 @@ The indexing $m$ is eventually a natural number satisfying $2 ≤ m$. However, w lemmas for $m \in \mathbb{R}$. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean b/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean index eabcb921d7a25d..9f4b56bc50e293 100644 --- a/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean +++ b/Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics -import Mathlib.NumberTheory.Transcendental.Liouville.Basic -import Mathlib.Topology.Instances.Irrational +module + +public import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics +public import Mathlib.NumberTheory.Transcendental.Liouville.Basic +public import Mathlib.Topology.Instances.Irrational /-! # Liouville numbers with a given exponent @@ -33,6 +35,8 @@ predicate. Liouville number, irrational, irrationality exponent -/ +@[expose] public section + open Filter Metric Real Set diff --git a/Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean b/Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean index 2f4fd8c5f7bd92..c303c6d4b1fc67 100644 --- a/Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean +++ b/Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.MeasureTheory.Measure.Lebesgue.Basic -import Mathlib.NumberTheory.Transcendental.Liouville.Residual -import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith -import Mathlib.Analysis.PSeries +module + +public import Mathlib.MeasureTheory.Measure.Lebesgue.Basic +public import Mathlib.NumberTheory.Transcendental.Liouville.Residual +public import Mathlib.NumberTheory.Transcendental.Liouville.LiouvilleWith +public import Mathlib.Analysis.PSeries /-! # Volume of the set of Liouville numbers @@ -25,6 +27,8 @@ measure. The fact that the filters are disjoint means that two mutually exclusiv Liouville number, Lebesgue measure, residual, generic property -/ +@[expose] public section + open scoped Filter ENNReal Topology NNReal open Filter Set Metric MeasureTheory Real diff --git a/Mathlib/NumberTheory/Transcendental/Liouville/Residual.lean b/Mathlib/NumberTheory/Transcendental/Liouville/Residual.lean index 95a9a895e3284f..a4d28119adbe14 100644 --- a/Mathlib/NumberTheory/Transcendental/Liouville/Residual.lean +++ b/Mathlib/NumberTheory/Transcendental/Liouville/Residual.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.NumberTheory.Transcendental.Liouville.Basic -import Mathlib.Topology.Baire.Lemmas -import Mathlib.Topology.Baire.LocallyCompactRegular -import Mathlib.Topology.Instances.Irrational +module + +public import Mathlib.NumberTheory.Transcendental.Liouville.Basic +public import Mathlib.Topology.Baire.Lemmas +public import Mathlib.Topology.Baire.LocallyCompactRegular +public import Mathlib.Topology.Instances.Irrational /-! # Density of Liouville numbers @@ -15,6 +17,8 @@ In this file we prove that the set of Liouville numbers form a dense `Gδ` set. similar statement about irrational numbers. -/ +@[expose] public section + open scoped Filter diff --git a/Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean b/Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean index e784abfca32d3e..a4c03e8c7c0206 100644 --- a/Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean +++ b/Mathlib/NumberTheory/TsumDivsorsAntidiagonal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.NumberTheory.ArithmeticFunction +module + +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.NumberTheory.ArithmeticFunction /-! # Lemmas on infinite sums over the antidiagonal of the divisors function @@ -19,6 +21,8 @@ Lambert series. -/ +@[expose] public section + open Filter Complex ArithmeticFunction Nat Topology /-- The map from `Nat.divisorsAntidiagonal n` to `ℕ+ × ℕ+` given by sending `n = a * b` diff --git a/Mathlib/NumberTheory/VonMangoldt.lean b/Mathlib/NumberTheory/VonMangoldt.lean index c2ece7dda9ef4d..f9bd6727cfdb3c 100644 --- a/Mathlib/NumberTheory/VonMangoldt.lean +++ b/Mathlib/NumberTheory/VonMangoldt.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Analysis.SpecialFunctions.Log.Basic -import Mathlib.Data.Nat.Cast.Field -import Mathlib.Data.Nat.Factorization.PrimePow -import Mathlib.NumberTheory.ArithmeticFunction +module + +public import Mathlib.Analysis.SpecialFunctions.Log.Basic +public import Mathlib.Data.Nat.Cast.Field +public import Mathlib.Data.Nat.Factorization.PrimePow +public import Mathlib.NumberTheory.ArithmeticFunction /-! # The von Mangoldt Function @@ -33,6 +35,8 @@ functions) and also in the scope `ArithmeticFunction.vonMangoldt`. -/ +@[expose] public section + namespace ArithmeticFunction open Finset Nat diff --git a/Mathlib/NumberTheory/WellApproximable.lean b/Mathlib/NumberTheory/WellApproximable.lean index 47ecba15ade1b0..d44e06c36d6bbb 100644 --- a/Mathlib/NumberTheory/WellApproximable.lean +++ b/Mathlib/NumberTheory/WellApproximable.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Dynamics.Ergodic.AddCircle -import Mathlib.MeasureTheory.Covering.LiminfLimsup +module + +public import Mathlib.Dynamics.Ergodic.AddCircle +public import Mathlib.MeasureTheory.Covering.LiminfLimsup /-! # Well-approximable numbers and Gallagher's ergodic theorem @@ -57,6 +59,8 @@ Use `AddCircle.exists_norm_nsmul_le` to prove: (which is equivalent to `Real.infinite_rat_abs_sub_lt_one_div_den_sq_iff_irrational`). -/ +@[expose] public section + open Set Filter Function Metric MeasureTheory diff --git a/Mathlib/NumberTheory/Wilson.lean b/Mathlib/NumberTheory/Wilson.lean index bc6c1f1d92c49f..27055a7a60312d 100644 --- a/Mathlib/NumberTheory/Wilson.lean +++ b/Mathlib/NumberTheory/Wilson.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 John Nicol. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: John Nicol -/ -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.FieldTheory.Finite.Basic /-! # Wilson's theorem. @@ -24,6 +26,8 @@ This could be generalized to similar results about finite abelian groups. * Give `wilsons_lemma` a descriptive name. -/ +@[expose] public section + assert_not_exists legendreSym.quadratic_reciprocity open Finset Nat FiniteField ZMod diff --git a/Mathlib/NumberTheory/ZetaValues.lean b/Mathlib/NumberTheory/ZetaValues.lean index 7e2684d9fd2c0a..7c218bf2fc7443 100644 --- a/Mathlib/NumberTheory/ZetaValues.lean +++ b/Mathlib/NumberTheory/ZetaValues.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.NumberTheory.BernoulliPolynomials -import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.Fourier.AddCircle -import Mathlib.Analysis.PSeries +module + +public import Mathlib.NumberTheory.BernoulliPolynomials +public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.Fourier.AddCircle +public import Mathlib.Analysis.PSeries /-! # Critical values of the Riemann zeta function @@ -26,6 +28,8 @@ zeta functions, in terms of Bernoulli polynomials. an explicit multiple of `Bₖ(x)`, for any `x ∈ [0, 1]` and `k ≥ 3` odd. -/ +@[expose] public section + noncomputable section open scoped Nat Real Interval diff --git a/Mathlib/NumberTheory/Zsqrtd/Basic.lean b/Mathlib/NumberTheory/Zsqrtd/Basic.lean index 4f7ba0e188a9b2..13c1a58b8d50b8 100644 --- a/Mathlib/NumberTheory/Zsqrtd/Basic.lean +++ b/Mathlib/NumberTheory/Zsqrtd/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Ring.Associated -import Mathlib.Algebra.Star.Unitary -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.Tactic.Ring -import Mathlib.Algebra.EuclideanDomain.Int +module + +public import Mathlib.Algebra.Ring.Associated +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.Tactic.Ring +public import Mathlib.Algebra.EuclideanDomain.Int /-! # ℤ[√d] @@ -21,6 +23,8 @@ to choices of square roots of `d` in `R`. -/ +@[expose] public section + /-- The ring of integers adjoined with a square root of `d`. These have the form `a + b √d` where `a b : ℤ`. The components diff --git a/Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean b/Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean index 4115235e77b14e..7781806446792f 100644 --- a/Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean +++ b/Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Complex.Basic -import Mathlib.Data.Nat.Prime.Basic -import Mathlib.Data.Real.Archimedean -import Mathlib.NumberTheory.Zsqrtd.Basic +module + +public import Mathlib.Data.Complex.Basic +public import Mathlib.Data.Nat.Prime.Basic +public import Mathlib.Data.Real.Archimedean +public import Mathlib.NumberTheory.Zsqrtd.Basic /-! # Gaussian integers @@ -37,6 +39,8 @@ adjoined a square root of `d`, in this case `-1`. The definition is reducible, s and definitions about `Zsqrtd` can easily be used. -/ +@[expose] public section + open Zsqrtd Complex diff --git a/Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean b/Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean index efd9cb6524e882..9a49b15be82e3f 100644 --- a/Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean +++ b/Mathlib/NumberTheory/Zsqrtd/QuadraticReciprocity.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.NumberTheory.Zsqrtd.GaussianInt -import Mathlib.NumberTheory.LegendreSymbol.Basic +module + +public import Mathlib.NumberTheory.Zsqrtd.GaussianInt +public import Mathlib.NumberTheory.LegendreSymbol.Basic /-! # Facts about the Gaussian integers relying on quadratic reciprocity. @@ -16,6 +18,8 @@ A prime natural number is prime in `ℤ[i]` if and only if it is `3` mod `4` -/ +@[expose] public section + open Zsqrtd Complex diff --git a/Mathlib/NumberTheory/Zsqrtd/ToReal.lean b/Mathlib/NumberTheory/Zsqrtd/ToReal.lean index 4d6274e7a27441..9ba0e19fb33f9b 100644 --- a/Mathlib/NumberTheory/Zsqrtd/ToReal.lean +++ b/Mathlib/NumberTheory/Zsqrtd/ToReal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Data.Real.Sqrt -import Mathlib.NumberTheory.Zsqrtd.Basic +module + +public import Mathlib.Data.Real.Sqrt +public import Mathlib.NumberTheory.Zsqrtd.Basic /-! # Image of `Zsqrtd` in `ℝ` @@ -13,6 +15,8 @@ This file defines `Zsqrtd.toReal` and related lemmas. It is in a separate file to avoid pulling in all of `Data.Real` into `Data.Zsqrtd`. -/ +@[expose] public section + namespace Zsqrtd diff --git a/Mathlib/Order/Antichain.lean b/Mathlib/Order/Antichain.lean index 8661db4b6f9238..43dbd4037b2568 100644 --- a/Mathlib/Order/Antichain.lean +++ b/Mathlib/Order/Antichain.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.Preorder.Chain +module + +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.Preorder.Chain /-! # Antichains @@ -20,6 +22,8 @@ relation is `G.Adj` for `G : SimpleGraph α`, this corresponds to independent se to a common element. -/ +@[expose] public section + assert_not_exists CompleteLattice open Function Set diff --git a/Mathlib/Order/Antisymmetrization.lean b/Mathlib/Order/Antisymmetrization.lean index 2151acfb2fd1a5..cfe0711ad67cee 100644 --- a/Mathlib/Order/Antisymmetrization.lean +++ b/Mathlib/Order/Antisymmetrization.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Logic.Relation -import Mathlib.Order.Hom.Basic -import Mathlib.Tactic.Tauto +module + +public import Mathlib.Logic.Relation +public import Mathlib.Order.Hom.Basic +public import Mathlib.Tactic.Tauto /-! # Turning a preorder into a partial order @@ -23,6 +25,8 @@ such that `a ≤ b` and `b ≤ a`. preorder, `Antisymmetrization α` is a partial order. -/ +@[expose] public section + open Function OrderDual variable {α β : Type*} {a b c d : α} @@ -92,11 +96,11 @@ lemma AntisymmRel.left (h : AntisymmRel r a b) : r a b := h.1 lemma AntisymmRel.right (h : AntisymmRel r a b) : r b a := h.2 /-- See if the term is `AntisymmRel r a b` and the goal is `r a b`. -/ -@[gcongr_forward] def exactAntisymmRelLeft : ForwardExt where +@[gcongr_forward] meta def exactAntisymmRelLeft : ForwardExt where eval h goal := do goal.assignIfDefEq (← Lean.Meta.mkAppM ``AntisymmRel.left #[h]) /-- See if the term is `AntisymmRel r a b` and the goal is `r b a`. -/ -@[gcongr_forward] def exactAntisymmRelRight : ForwardExt where +@[gcongr_forward] meta def exactAntisymmRelRight : ForwardExt where eval h goal := do goal.assignIfDefEq (← Lean.Meta.mkAppM ``AntisymmRel.right #[h]) end Mathlib.Tactic.GCongr @@ -311,7 +315,7 @@ theorem toAntisymmetrization_mono : Monotone (toAntisymmetrization (α := α) ( fun _ _ => id open scoped Relator in -private theorem liftFun_antisymmRel (f : α →o β) : +theorem liftFun_antisymmRel (f : α →o β) : ((AntisymmRel.setoid α (· ≤ ·)).r ⇒ (AntisymmRel.setoid β (· ≤ ·)).r) f f := fun _ _ h => ⟨f.mono h.1, f.mono h.2⟩ diff --git a/Mathlib/Order/Atoms.lean b/Mathlib/Order/Atoms.lean index 66fa2ec3d21446..7670451971f55b 100644 --- a/Mathlib/Order/Atoms.lean +++ b/Mathlib/Order/Atoms.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.ModularLattice -import Mathlib.Order.SuccPred.Basic -import Mathlib.Order.WellFounded -import Mathlib.Tactic.Nontriviality -import Mathlib.Order.ConditionallyCompleteLattice.Indexed +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.ModularLattice +public import Mathlib.Order.SuccPred.Basic +public import Mathlib.Order.WellFounded +public import Mathlib.Tactic.Nontriviality +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed /-! # Atoms, Coatoms, and Simple Lattices @@ -52,6 +54,8 @@ which are lattices with only two elements, and related ideas. -/ +@[expose] public section + open Order variable {ι : Sort*} {α β : Type*} diff --git a/Mathlib/Order/Atoms/Finite.lean b/Mathlib/Order/Atoms/Finite.lean index 1eb5d70f5014d1..c49b9b64753089 100644 --- a/Mathlib/Order/Atoms/Finite.lean +++ b/Mathlib/Order/Atoms/Finite.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.Atoms -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.Preorder.Finite +module + +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.Atoms +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.Preorder.Finite /-! # Atoms, Coatoms, Simple Lattices, and Finiteness @@ -19,6 +21,8 @@ This module contains some results on atoms and simple lattices in the finite con -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Order/Basic.lean b/Mathlib/Order/Basic.lean index bf9ddfdb3c7535..b788c33ff90978 100644 --- a/Mathlib/Order/Basic.lean +++ b/Mathlib/Order/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Subtype -import Mathlib.Order.Defs.LinearOrder -import Mathlib.Order.Notation -import Mathlib.Tactic.GRewrite -import Mathlib.Tactic.Spread -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Inhabit -import Mathlib.Tactic.SimpRw +module + +public import Mathlib.Data.Subtype +public import Mathlib.Order.Defs.LinearOrder +public import Mathlib.Order.Notation +public import Mathlib.Tactic.GRewrite +public import Mathlib.Tactic.Spread +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Inhabit +public import Mathlib.Tactic.SimpRw /-! # Basic definitions about `≤` and `<` @@ -58,6 +60,8 @@ provide many aliases to dot notation-less lemmas. For example, `le_trans` is ali preorder, order, partial order, poset, linear order, chain -/ +@[expose] public section + open Function @@ -198,7 +202,7 @@ namespace Mathlib.Tactic.GCongr @[gcongr] theorem gt_imp_gt (h₁ : a ≤ c) (h₂ : d ≤ b) : a > b → c > d := lt_imp_lt_of_le_of_le h₂ h₁ /-- See if the term is `a < b` and the goal is `a ≤ b`. -/ -@[gcongr_forward] def exactLeOfLt : ForwardExt where +@[gcongr_forward] meta def exactLeOfLt : ForwardExt where eval h goal := do goal.assignIfDefEq (← Lean.Meta.mkAppM ``le_of_lt #[h]) end Mathlib.Tactic.GCongr diff --git a/Mathlib/Order/Birkhoff.lean b/Mathlib/Order/Birkhoff.lean index f27c00713d500f..909223a2f22549 100644 --- a/Mathlib/Order/Birkhoff.lean +++ b/Mathlib/Order/Birkhoff.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Filippo A. E. Nuccio, Sam van Gool -/ -import Mathlib.Data.Fintype.Order -import Mathlib.Order.Interval.Finset.Basic -import Mathlib.Order.Irreducible -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Data.Fintype.Order +public import Mathlib.Order.Interval.Finset.Basic +public import Mathlib.Order.Irreducible +public import Mathlib.Order.UpperLower.Closure /-! # Birkhoff representation @@ -48,6 +50,8 @@ partial orders. TODO: extend to morphisms. birkhoff, representation, stone duality, lattice embedding -/ +@[expose] public section + open Finset Function OrderDual UpperSet LowerSet variable {α : Type*} diff --git a/Mathlib/Order/BooleanAlgebra.lean b/Mathlib/Order/BooleanAlgebra.lean index 5d6a1b2ca02dca..29db2c078ccba8 100644 --- a/Mathlib/Order/BooleanAlgebra.lean +++ b/Mathlib/Order/BooleanAlgebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Bryan Gin-ge Chen -/ -import Mathlib.Order.BooleanAlgebra.Defs -import Mathlib.Order.BooleanAlgebra.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Order.BooleanAlgebra.Defs +public import Mathlib.Order.BooleanAlgebra.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-06-19") diff --git a/Mathlib/Order/BooleanAlgebra/Basic.lean b/Mathlib/Order/BooleanAlgebra/Basic.lean index 205f0c812de485..7894e728f08ba7 100644 --- a/Mathlib/Order/BooleanAlgebra/Basic.lean +++ b/Mathlib/Order/BooleanAlgebra/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Bryan Gin-ge Chen -/ -import Mathlib.Order.BooleanAlgebra.Defs +module + +public import Mathlib.Order.BooleanAlgebra.Defs /-! # Basic properties of Boolean algebras @@ -23,6 +25,8 @@ generalized Boolean algebras, Boolean algebras, lattices, sdiff, compl -/ +@[expose] public section + universe u v variable {α : Type u} {β : Type*} {x y z : α} @@ -119,7 +123,7 @@ instance (priority := 100) GeneralizedBooleanAlgebra.toGeneralizedCoheytingAlgeb __ := ‹GeneralizedBooleanAlgebra α› __ := GeneralizedBooleanAlgebra.toOrderBot sdiff := (· \ ·) - sdiff_le_iff y x z := + sdiff_le_iff y x z := by exact ⟨fun h => le_of_inf_le_sup_le (le_of_eq diff --git a/Mathlib/Order/BooleanAlgebra/Defs.lean b/Mathlib/Order/BooleanAlgebra/Defs.lean index 712b090d7223c0..afe95f53464d75 100644 --- a/Mathlib/Order/BooleanAlgebra/Defs.lean +++ b/Mathlib/Order/BooleanAlgebra/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Bryan Gin-ge Chen -/ -import Mathlib.Order.Heyting.Basic +module + +public import Mathlib.Order.Heyting.Basic /-! # (Generalized) Boolean algebras @@ -55,6 +57,8 @@ that for all `a, b : α` where `a ≤ b`, the equations `x ⊔ a = b` and `x ⊓ generalized Boolean algebras, Boolean algebras, lattices, sdiff, compl -/ +@[expose] public section + assert_not_exists RelIso open Function OrderDual diff --git a/Mathlib/Order/BooleanAlgebra/Set.lean b/Mathlib/Order/BooleanAlgebra/Set.lean index e9ab865a951ff6..e54af1d5a1fd7c 100644 --- a/Mathlib/Order/BooleanAlgebra/Set.lean +++ b/Mathlib/Order/BooleanAlgebra/Set.lean @@ -3,8 +3,10 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Leonardo de Moura -/ -import Mathlib.Data.Set.Insert -import Mathlib.Order.BooleanAlgebra.Basic +module + +public import Mathlib.Data.Set.Insert +public import Mathlib.Order.BooleanAlgebra.Basic /-! # Boolean algebra of sets @@ -21,6 +23,8 @@ complement. set, sets, subset, subsets, complement -/ +@[expose] public section + assert_not_exists RelIso open Function diff --git a/Mathlib/Order/BooleanGenerators.lean b/Mathlib/Order/BooleanGenerators.lean index c3a0f3ae8459cd..f3047f9e9c03bd 100644 --- a/Mathlib/Order/BooleanGenerators.lean +++ b/Mathlib/Order/BooleanGenerators.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Order.CompactlyGenerated.Basic +module + +public import Mathlib.Order.CompactlyGenerated.Basic /-! # Generators for Boolean algebras @@ -30,6 +32,8 @@ A set of *Boolean generators* in a compactly generated complete lattice is a sub -/ +@[expose] public section + namespace IsCompactlyGenerated open CompleteLattice diff --git a/Mathlib/Order/BooleanSubalgebra.lean b/Mathlib/Order/BooleanSubalgebra.lean index 5d9be0b42bdd96..918e00892d67c4 100644 --- a/Mathlib/Order/BooleanSubalgebra.lean +++ b/Mathlib/Order/BooleanSubalgebra.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Sublattice +module + +public import Mathlib.Order.Sublattice /-! # Boolean subalgebras @@ -11,6 +13,8 @@ import Mathlib.Order.Sublattice This file defines Boolean subalgebras. -/ +@[expose] public section + open Function Set variable {ι : Sort*} {α β γ : Type*} diff --git a/Mathlib/Order/Booleanisation.lean b/Mathlib/Order/Booleanisation.lean index c12777abd20ac7..d23e3500f98ebc 100644 --- a/Mathlib/Order/Booleanisation.lean +++ b/Mathlib/Order/Booleanisation.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.BooleanAlgebra.Basic -import Mathlib.Order.Hom.Lattice +module + +public import Mathlib.Order.BooleanAlgebra.Basic +public import Mathlib.Order.Hom.Lattice /-! # Adding complements to a generalized Boolean algebra @@ -28,6 +30,8 @@ If mathlib ever acquires `GenBoolAlg`, the category of generalised Boolean algeb show that `Booleanisation` is the free functor from `GenBoolAlg` to `BoolAlg`. -/ +@[expose] public section + open Function variable {α : Type*} diff --git a/Mathlib/Order/Bounded.lean b/Mathlib/Order/Bounded.lean index 82fad54aa4cae4..c56f5fd3dc89f2 100644 --- a/Mathlib/Order/Bounded.lean +++ b/Mathlib/Order/Bounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.RelClasses -import Mathlib.Order.Interval.Set.Basic +module + +public import Mathlib.Order.RelClasses +public import Mathlib.Order.Interval.Set.Basic /-! # Bounded and unbounded sets @@ -13,6 +15,8 @@ the same ideas, or similar results with a few minor differences. The file is div different general ideas. -/ +@[expose] public section + assert_not_exists RelIso namespace Set diff --git a/Mathlib/Order/BoundedOrder/Basic.lean b/Mathlib/Order/BoundedOrder/Basic.lean index ab785c4810133e..60c72d43fcc135 100644 --- a/Mathlib/Order/BoundedOrder/Basic.lean +++ b/Mathlib/Order/BoundedOrder/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Max -import Mathlib.Order.ULift -import Mathlib.Tactic.Push -import Mathlib.Tactic.Finiteness.Attr -import Mathlib.Util.AssertExists +module + +public import Mathlib.Order.Max +public import Mathlib.Order.ULift +public import Mathlib.Tactic.Push +public import Mathlib.Tactic.Finiteness.Attr +public import Mathlib.Util.AssertExists /-! # ⊤ and ⊥, bounded lattices and variants @@ -24,6 +26,8 @@ instances for `Prop` and `fun`. -/ +@[expose] public section + assert_not_exists Monotone universe u v diff --git a/Mathlib/Order/BoundedOrder/Lattice.lean b/Mathlib/Order/BoundedOrder/Lattice.lean index e5560d4df190bb..0b07cebae2777c 100644 --- a/Mathlib/Order/BoundedOrder/Lattice.lean +++ b/Mathlib/Order/BoundedOrder/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.Lattice +module + +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Order.Lattice /-! # Bounded lattices @@ -22,6 +24,8 @@ instances for `Prop` and `fun`. Typical examples include `Prop` and `Set α`. -/ +@[expose] public section + open Function OrderDual universe u v diff --git a/Mathlib/Order/BoundedOrder/Monotone.lean b/Mathlib/Order/BoundedOrder/Monotone.lean index 5d956237521570..f540462ce35f31 100644 --- a/Mathlib/Order/BoundedOrder/Monotone.lean +++ b/Mathlib/Order/BoundedOrder/Monotone.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.Monotone.Basic +module + +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Order.Monotone.Basic /-! # Monotone functions on bounded orders -/ +@[expose] public section + assert_not_exists SemilatticeSup open Function OrderDual diff --git a/Mathlib/Order/Bounds/Basic.lean b/Mathlib/Order/Bounds/Basic.lean index 64d1e37aa89b9b..bdf16d6a3714c0 100644 --- a/Mathlib/Order/Bounds/Basic.lean +++ b/Mathlib/Order/Bounds/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Order.Bounds.Defs -import Mathlib.Order.Directed -import Mathlib.Order.BoundedOrder.Monotone -import Mathlib.Order.Interval.Set.Basic +module + +public import Mathlib.Order.Bounds.Defs +public import Mathlib.Order.Directed +public import Mathlib.Order.BoundedOrder.Monotone +public import Mathlib.Order.Interval.Set.Basic /-! # Upper / lower bounds @@ -16,6 +18,8 @@ monotonicity, behaviour under `∪`, `∩`, `insert`, and provide formulas for `∅`, `univ`, and intervals. -/ +@[expose] public section + open Function Set open OrderDual (toDual ofDual) diff --git a/Mathlib/Order/Bounds/Defs.lean b/Mathlib/Order/Bounds/Defs.lean index 94fe6812e329fa..1af87b49705976 100644 --- a/Mathlib/Order/Bounds/Defs.lean +++ b/Mathlib/Order/Bounds/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Data.Set.Defs -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Data.Set.Defs +public import Mathlib.Tactic.TypeStar /-! # Definitions about upper/lower bounds @@ -22,6 +24,8 @@ In this file we define: * `IsCoinitialFor s t` : for all `a ∈ s` there exists `b ∈ t` such that `b ≤ a` -/ +@[expose] public section + variable {α : Type*} [LE α] /-- The set of upper bounds of a set. -/ diff --git a/Mathlib/Order/Bounds/Image.lean b/Mathlib/Order/Bounds/Image.lean index 5ce8615853725d..90ab2fa1d36e47 100644 --- a/Mathlib/Order/Bounds/Image.lean +++ b/Mathlib/Order/Bounds/Image.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Paul Lezeau -/ -import Mathlib.Data.Set.NAry -import Mathlib.Order.Bounds.Basic +module + +public import Mathlib.Data.Set.NAry +public import Mathlib.Order.Bounds.Basic /-! @@ -13,6 +15,8 @@ import Mathlib.Order.Bounds.Basic In this file we prove various results about the behaviour of bounds under monotone/antitone maps. -/ +@[expose] public section + open Function Set open OrderDual (toDual ofDual) diff --git a/Mathlib/Order/Bounds/Lattice.lean b/Mathlib/Order/Bounds/Lattice.lean index 9f1c66d33ee1da..e39410ca1b785d 100644 --- a/Mathlib/Order/Bounds/Lattice.lean +++ b/Mathlib/Order/Bounds/Lattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Data.Set.Lattice.Image /-! # Unions and intersections of bounds @@ -16,6 +18,8 @@ In a separate file as we need to import `Mathlib/Data/Set/Lattice.lean`. -/ +@[expose] public section + variable {α : Type*} [Preorder α] {ι : Sort*} {s : ι → Set α} open Set diff --git a/Mathlib/Order/Bounds/OrderIso.lean b/Mathlib/Order/Bounds/OrderIso.lean index 869171d0eab654..ca306315f2978c 100644 --- a/Mathlib/Order/Bounds/OrderIso.lean +++ b/Mathlib/Order/Bounds/OrderIso.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Order.Bounds.Image -import Mathlib.Order.Hom.Set +module + +public import Mathlib.Order.Bounds.Image +public import Mathlib.Order.Hom.Set /-! # Order isomorphisms and bounds. -/ +@[expose] public section + open Set namespace OrderIso diff --git a/Mathlib/Order/Category/BddDistLat.lean b/Mathlib/Order/Category/BddDistLat.lean index a589fb4071b2c2..ba42c38861ae3b 100644 --- a/Mathlib/Order/Category/BddDistLat.lean +++ b/Mathlib/Order/Category/BddDistLat.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.BddLat -import Mathlib.Order.Category.DistLat +module + +public import Mathlib.Order.Category.BddLat +public import Mathlib.Order.Category.DistLat /-! # The category of bounded distributive lattices @@ -15,6 +17,8 @@ Note that this category is sometimes called [`DistLat`](https://ncatlab.org/nlab being a lattice is understood to entail having a bottom and a top element. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/BddLat.lean b/Mathlib/Order/Category/BddLat.lean index 77cd9f1ec78dd1..8f5f62f5ca10fd 100644 --- a/Mathlib/Order/Category/BddLat.lean +++ b/Mathlib/Order/Category/BddLat.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.Adjunction.Unique -import Mathlib.Order.Category.BddOrd -import Mathlib.Order.Category.Lat -import Mathlib.Order.Category.Semilat -import Mathlib.Order.Hom.WithTopBot +module + +public import Mathlib.CategoryTheory.Adjunction.Unique +public import Mathlib.Order.Category.BddOrd +public import Mathlib.Order.Category.Lat +public import Mathlib.Order.Category.Semilat +public import Mathlib.Order.Hom.WithTopBot /-! # The category of bounded lattices @@ -18,6 +20,8 @@ In literature, this is sometimes called `Lat`, the category of lattices, because understood to entail having a bottom and a top element. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/BddOrd.lean b/Mathlib/Order/Category/BddOrd.lean index 9cba04c1bde13b..04ae17347758b6 100644 --- a/Mathlib/Order/Category/BddOrd.lean +++ b/Mathlib/Order/Category/BddOrd.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.Category.Bipointed -import Mathlib.Order.Category.PartOrd -import Mathlib.Order.Hom.Bounded +module + +public import Mathlib.CategoryTheory.Category.Bipointed +public import Mathlib.Order.Category.PartOrd +public import Mathlib.Order.Hom.Bounded /-! # The category of bounded orders @@ -13,6 +15,8 @@ import Mathlib.Order.Hom.Bounded This defines `BddOrd`, the category of bounded orders. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Order/Category/BoolAlg.lean b/Mathlib/Order/Category/BoolAlg.lean index f2556c955c686d..3b2276b823f5c8 100644 --- a/Mathlib/Order/Category/BoolAlg.lean +++ b/Mathlib/Order/Category/BoolAlg.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.HeytAlg -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Order.Category.HeytAlg +public import Mathlib.Order.Hom.CompleteLattice /-! # The category of Boolean algebras @@ -12,6 +14,8 @@ import Mathlib.Order.Hom.CompleteLattice This defines `BoolAlg`, the category of Boolean algebras. -/ +@[expose] public section + open OrderDual Opposite Set diff --git a/Mathlib/Order/Category/CompleteLat.lean b/Mathlib/Order/Category/CompleteLat.lean index 7bdbae6c01df8f..0471d20c967f8e 100644 --- a/Mathlib/Order/Category/CompleteLat.lean +++ b/Mathlib/Order/Category/CompleteLat.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.BddLat -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Order.Category.BddLat +public import Mathlib.Order.Hom.CompleteLattice /-! # The category of complete lattices @@ -12,6 +14,8 @@ import Mathlib.Order.Hom.CompleteLattice This file defines `CompleteLat`, the category of complete lattices. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/DistLat.lean b/Mathlib/Order/Category/DistLat.lean index 5662517cedbd45..8b8c7d7c2648f7 100644 --- a/Mathlib/Order/Category/DistLat.lean +++ b/Mathlib/Order/Category/DistLat.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.Lat +module + +public import Mathlib.Order.Category.Lat /-! # The category of distributive lattices @@ -15,6 +17,8 @@ correspond to `DistLat` as we don't require bottom or top elements. Instead, thi corresponds to `BddDistLat`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/FinBddDistLat.lean b/Mathlib/Order/Category/FinBddDistLat.lean index 46121beef610dc..01a2632a393c5f 100644 --- a/Mathlib/Order/Category/FinBddDistLat.lean +++ b/Mathlib/Order/Category/FinBddDistLat.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Fintype.Order -import Mathlib.Order.Category.BddDistLat -import Mathlib.Order.Category.FinPartOrd +module + +public import Mathlib.Data.Fintype.Order +public import Mathlib.Order.Category.BddDistLat +public import Mathlib.Order.Category.FinPartOrd /-! # The category of finite bounded distributive lattices @@ -14,6 +16,8 @@ This file defines `FinBddDistLat`, the category of finite distributive lattices bounded lattice homomorphisms. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/FinBoolAlg.lean b/Mathlib/Order/Category/FinBoolAlg.lean index aef0605d22eaf9..13e6dd7a344622 100644 --- a/Mathlib/Order/Category/FinBoolAlg.lean +++ b/Mathlib/Order/Category/FinBoolAlg.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Fintype.Powerset -import Mathlib.Order.Category.BoolAlg -import Mathlib.Order.Category.FinBddDistLat -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.Tactic.ApplyFun -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Order.Category.BoolAlg +public import Mathlib.Order.Category.FinBddDistLat +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Data.Set.Subsingleton /-! # The category of finite Boolean algebras @@ -27,6 +29,8 @@ FintypeCat_to_FinBoolAlg_op.left_op `FinBoolAlg` is essentially small. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/FinPartOrd.lean b/Mathlib/Order/Category/FinPartOrd.lean index 0836d3707d354a..c6a348eeed045f 100644 --- a/Mathlib/Order/Category/FinPartOrd.lean +++ b/Mathlib/Order/Category/FinPartOrd.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.Order.Category.PartOrd +module + +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.Order.Category.PartOrd /-! # The category of finite partial orders @@ -19,6 +21,8 @@ bounded. `FinPartOrd` is equivalent to a small category. -/ +@[expose] public section + universe u v diff --git a/Mathlib/Order/Category/Frm.lean b/Mathlib/Order/Category/Frm.lean index ab4a97f2890c5e..92467c851da5ef 100644 --- a/Mathlib/Order/Category/Frm.lean +++ b/Mathlib/Order/Category/Frm.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.Lat -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.CategoryTheory.ConcreteCategory.Bundled +module + +public import Mathlib.Order.Category.Lat +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.CategoryTheory.ConcreteCategory.Bundled /-! # The category of frames @@ -17,6 +19,8 @@ This file defines `Frm`, the category of frames. * [nLab, *Frm*](https://ncatlab.org/nlab/show/Frm) -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/HeytAlg.lean b/Mathlib/Order/Category/HeytAlg.lean index 97d19ad81d349d..cd29c06295d268 100644 --- a/Mathlib/Order/Category/HeytAlg.lean +++ b/Mathlib/Order/Category/HeytAlg.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.BddDistLat -import Mathlib.Order.Heyting.Hom +module + +public import Mathlib.Order.Category.BddDistLat +public import Mathlib.Order.Heyting.Hom /-! # The category of Heyting algebras @@ -12,6 +14,8 @@ import Mathlib.Order.Heyting.Hom This file defines `HeytAlg`, the category of Heyting algebras. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/Lat.lean b/Mathlib/Order/Category/Lat.lean index ce10091cca1422..dcaeb7f31097b7 100644 --- a/Mathlib/Order/Category/Lat.lean +++ b/Mathlib/Order/Category/Lat.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.PartOrd -import Mathlib.Order.Hom.Lattice +module + +public import Mathlib.Order.Category.PartOrd +public import Mathlib.Order.Hom.Lattice /-! # The category of lattices @@ -20,6 +22,8 @@ corresponds to `BddLat`. The free functor from `Lat` to `BddLat` is `X → WithTop (WithBot X)`. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Order/Category/LinOrd.lean b/Mathlib/Order/Category/LinOrd.lean index 39b7710e9ba51b..cf21606d437ebe 100644 --- a/Mathlib/Order/Category/LinOrd.lean +++ b/Mathlib/Order/Category/LinOrd.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Order.Category.Lat +module + +public import Mathlib.Order.Category.Lat /-! # Category of linear orders @@ -11,6 +13,8 @@ import Mathlib.Order.Category.Lat This defines `LinOrd`, the category of linear orders with monotone maps. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Order/Category/NonemptyFinLinOrd.lean b/Mathlib/Order/Category/NonemptyFinLinOrd.lean index 7c7b4ea14ed43e..d6b5a6fdcdc065 100644 --- a/Mathlib/Order/Category/NonemptyFinLinOrd.lean +++ b/Mathlib/Order/Category/NonemptyFinLinOrd.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.CategoryTheory.Limits.Shapes.Images -import Mathlib.CategoryTheory.Limits.Shapes.RegularMono -import Mathlib.Data.Fintype.Order -import Mathlib.Data.Set.Subsingleton -import Mathlib.Order.Category.FinPartOrd -import Mathlib.Order.Category.LinOrd +module + +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.CategoryTheory.Limits.Shapes.Images +public import Mathlib.CategoryTheory.Limits.Shapes.RegularMono +public import Mathlib.Data.Fintype.Order +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Order.Category.FinPartOrd +public import Mathlib.Order.Category.LinOrd /-! # Nonempty finite linear orders @@ -21,6 +23,8 @@ Note: `NonemptyFinLinOrd` is *not* a subcategory of `FinBddDistLat` because its preserve `⊥` and `⊤`. -/ +@[expose] public section + universe u v open CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/Order/Category/OmegaCompletePartialOrder.lean b/Mathlib/Order/Category/OmegaCompletePartialOrder.lean index 2dc6facb342730..101be7760bc375 100644 --- a/Mathlib/Order/Category/OmegaCompletePartialOrder.lean +++ b/Mathlib/Order/Category/OmegaCompletePartialOrder.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Order.OmegaCompletePartialOrder -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers -import Mathlib.CategoryTheory.ConcreteCategory.Basic +module + +public import Mathlib.Order.OmegaCompletePartialOrder +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers +public import Mathlib.CategoryTheory.ConcreteCategory.Basic /-! # Category of types with an omega complete partial order @@ -23,6 +25,8 @@ an `OmegaCompletePartialOrder`. -/ +@[expose] public section + open CategoryTheory diff --git a/Mathlib/Order/Category/PartOrd.lean b/Mathlib/Order/Category/PartOrd.lean index c668742f03b70b..b8a4538a1f2be9 100644 --- a/Mathlib/Order/Category/PartOrd.lean +++ b/Mathlib/Order/Category/PartOrd.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Order.Antisymmetrization -import Mathlib.Order.Category.Preord -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.Order.Antisymmetrization +public import Mathlib.Order.Category.Preord +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # Category of partial orders @@ -13,6 +15,8 @@ import Mathlib.CategoryTheory.Adjunction.Basic This defines `PartOrd`, the category of partial orders with monotone maps. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Order/Category/Preord.lean b/Mathlib/Order/Category/Preord.lean index fd88380b2ef74d..9e77ed166dda51 100644 --- a/Mathlib/Order/Category/Preord.lean +++ b/Mathlib/Order/Category/Preord.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Elementwise -import Mathlib.Order.Hom.Basic -import Mathlib.Order.CompleteBooleanAlgebra +module + +public import Mathlib.CategoryTheory.Category.Cat +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.Order.Hom.Basic +public import Mathlib.Order.CompleteBooleanAlgebra /-! # Category of preorders @@ -15,6 +17,8 @@ import Mathlib.Order.CompleteBooleanAlgebra This defines `Preord`, the category of preorders with monotone maps. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Category/Semilat.lean b/Mathlib/Order/Category/Semilat.lean index 99697228e445ab..a4329e98c1baaf 100644 --- a/Mathlib/Order/Category/Semilat.lean +++ b/Mathlib/Order/Category/Semilat.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.PartOrd -import Mathlib.Order.Hom.BoundedLattice +module + +public import Mathlib.Order.Category.PartOrd +public import Mathlib.Order.Hom.BoundedLattice /-! # The categories of semilattices @@ -17,6 +19,8 @@ element and inf-semilattices with a top element. * [nLab, *semilattice*](https://ncatlab.org/nlab/show/semilattice) -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Chain.lean b/Mathlib/Order/Chain.lean index 2c632f6bdf9250..bb0b928f9c277e 100644 --- a/Mathlib/Order/Chain.lean +++ b/Mathlib/Order/Chain.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Preorder.Chain -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Order.Preorder.Chain +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Order/Circular.lean b/Mathlib/Order/Circular.lean index ce956d41e79364..7ea4ad87df8e89 100644 --- a/Mathlib/Order/Circular.lean +++ b/Mathlib/Order/Circular.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Lattice -import Mathlib.Tactic.Order +module + +public import Mathlib.Order.Lattice +public import Mathlib.Tactic.Order /-! # Circular order hierarchy @@ -85,6 +87,8 @@ and the circular order of months. Is `α →c β` a good notation? circular order, cyclic order, circularly ordered set, cyclically ordered set -/ +@[expose] public section + assert_not_exists RelIso /-- Syntax typeclass for a betweenness relation. -/ diff --git a/Mathlib/Order/Circular/ZMod.lean b/Mathlib/Order/Circular/ZMod.lean index 91dcb50fb06bb6..79d22329ce82ef 100644 --- a/Mathlib/Order/Circular/ZMod.lean +++ b/Mathlib/Order/Circular/ZMod.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Oliver Nash, Yaël Dillies -/ -import Mathlib.Order.Circular -import Mathlib.Order.Fin.Basic -import Mathlib.Data.ZMod.Defs +module + +public import Mathlib.Order.Circular +public import Mathlib.Order.Fin.Basic +public import Mathlib.Data.ZMod.Defs /-! # The circular order on `ZMod n` @@ -13,6 +15,8 @@ import Mathlib.Data.ZMod.Defs This file defines the circular order on `ZMod n`. -/ +@[expose] public section + instance : CircularOrder ℤ := LinearOrder.toCircularOrder _ variable {a b c : ℤ} diff --git a/Mathlib/Order/Closure.lean b/Mathlib/Order/Closure.lean index cbd7a5ada04e04..4350e3f811114a 100644 --- a/Mathlib/Order/Closure.lean +++ b/Mathlib/Order/Closure.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta, Yaël Dillies -/ -import Mathlib.Data.Set.BooleanAlgebra -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Data.Set.BooleanAlgebra +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.Hom.Basic /-! # Closure operators between preorders @@ -44,6 +46,8 @@ place when using concrete closure operators such as `ConvexHull`. * https://en.wikipedia.org/wiki/Closure_operator#Closure_operators_on_partially_ordered_sets -/ +@[expose] public section + open Set /-! ### Closure operator -/ diff --git a/Mathlib/Order/Cofinal.lean b/Mathlib/Order/Cofinal.lean index 9741266ea6afef..8e1b967861769d 100644 --- a/Mathlib/Order/Cofinal.lean +++ b/Mathlib/Order/Cofinal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.GaloisConnection.Basic -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.WellFounded +module + +public import Mathlib.Order.GaloisConnection.Basic +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.WellFounded /-! # Cofinal sets @@ -21,6 +23,8 @@ For the cofinality of a set as a cardinal, see `Mathlib/SetTheory/Cardinal/Cofin - Deprecate `Order.Cofinal` in favor of this predicate. -/ +@[expose] public section + variable {α β : Type*} section LE diff --git a/Mathlib/Order/CompactlyGenerated/Basic.lean b/Mathlib/Order/CompactlyGenerated/Basic.lean index 34dd1c0ab040a4..f1d537e5f9a42c 100644 --- a/Mathlib/Order/CompactlyGenerated/Basic.lean +++ b/Mathlib/Order/CompactlyGenerated/Basic.lean @@ -3,16 +3,18 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Order.Atoms -import Mathlib.Order.OrderIsoNat -import Mathlib.Order.RelIso.Set -import Mathlib.Order.SupClosed -import Mathlib.Order.SupIndep -import Mathlib.Order.Zorn -import Mathlib.Data.Finset.Order -import Mathlib.Order.Interval.Set.OrderIso -import Mathlib.Data.Finite.Set -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Order.Atoms +public import Mathlib.Order.OrderIsoNat +public import Mathlib.Order.RelIso.Set +public import Mathlib.Order.SupClosed +public import Mathlib.Order.SupIndep +public import Mathlib.Order.Zorn +public import Mathlib.Data.Finset.Order +public import Mathlib.Order.Interval.Set.OrderIso +public import Mathlib.Data.Finite.Set +public import Mathlib.Tactic.TFAE /-! # Compactness properties for complete lattices @@ -51,6 +53,8 @@ We also show well-founded lattices are compactly generated complete lattice, well-founded, compact -/ +@[expose] public section + open Set variable {ι : Sort*} {α : Type*} [CompleteLattice α] {f : ι → α} diff --git a/Mathlib/Order/CompactlyGenerated/Intervals.lean b/Mathlib/Order/CompactlyGenerated/Intervals.lean index b10143b1be0ec9..ed9d193606cc2a 100644 --- a/Mathlib/Order/CompactlyGenerated/Intervals.lean +++ b/Mathlib/Order/CompactlyGenerated/Intervals.lean @@ -3,14 +3,17 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ +module -import Mathlib.Order.CompleteLatticeIntervals -import Mathlib.Order.CompactlyGenerated.Basic +public import Mathlib.Order.CompleteLatticeIntervals +public import Mathlib.Order.CompactlyGenerated.Basic /-! # Results about compactness properties for intervals in complete lattices -/ +@[expose] public section + variable {ι α : Type*} [CompleteLattice α] namespace Set.Iic diff --git a/Mathlib/Order/Comparable.lean b/Mathlib/Order/Comparable.lean index 4c3bb9f8dca32e..4823351eec4b05 100644 --- a/Mathlib/Order/Comparable.lean +++ b/Mathlib/Order/Comparable.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.Antisymmetrization +module + +public import Mathlib.Order.Antisymmetrization /-! # Comparability and incomparability relations @@ -32,6 +34,8 @@ to the other, use `not_compRel_iff` and `not_incompRel_iff`. These definitions should be linked to `IsChain` and `IsAntichain`. -/ +@[expose] public section + open Function variable {α : Type*} {a b c d : α} diff --git a/Mathlib/Order/Compare.lean b/Mathlib/Order/Compare.lean index 77561fda02c7ee..09b12ea071bd7d 100644 --- a/Mathlib/Order/Compare.lean +++ b/Mathlib/Order/Compare.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Ordering.Basic -import Mathlib.Order.Synonym +module + +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Order.Synonym /-! # Comparison @@ -20,6 +22,8 @@ This file provides basic results about orderings and comparison in linear orders elements that are not one strictly less than the other either way are equal. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Order/CompleteBooleanAlgebra.lean b/Mathlib/Order/CompleteBooleanAlgebra.lean index 15ab712aacf8b3..255fae751cd5da 100644 --- a/Mathlib/Order/CompleteBooleanAlgebra.lean +++ b/Mathlib/Order/CompleteBooleanAlgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Logic.Equiv.Set -import Mathlib.Order.CompleteLattice.Lemmas -import Mathlib.Order.Directed -import Mathlib.Order.GaloisConnection.Basic +module + +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Order.CompleteLattice.Lemmas +public import Mathlib.Order.Directed +public import Mathlib.Order.GaloisConnection.Basic /-! # Frames, completely distributive lattices and complete Boolean algebras @@ -49,6 +51,8 @@ distributive lattice. * [Francis Borceux, *Handbook of Categorical Algebra III*][borceux-vol3] -/ +@[expose] public section + open Function Set universe u v w w' diff --git a/Mathlib/Order/CompleteLattice/Basic.lean b/Mathlib/Order/CompleteLattice/Basic.lean index 343deed3c17c09..ac5245a7a7c4aa 100644 --- a/Mathlib/Order/CompleteLattice/Basic.lean +++ b/Mathlib/Order/CompleteLattice/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.NAry -import Mathlib.Data.ULift -import Mathlib.Order.CompleteLattice.Defs -import Mathlib.Order.Hom.Set +module + +public import Mathlib.Data.Set.NAry +public import Mathlib.Data.ULift +public import Mathlib.Order.CompleteLattice.Defs +public import Mathlib.Order.Hom.Set /-! # Theory of complete lattices @@ -33,6 +35,8 @@ In lemma names, * `⨅ i, f i` : `iInf f`, the infimum of the range of `f`. -/ +@[expose] public section + open Function OrderDual Set variable {α β γ : Type*} {ι ι' : Sort*} {κ : ι → Sort*} {κ' : ι' → Sort*} diff --git a/Mathlib/Order/CompleteLattice/Chain.lean b/Mathlib/Order/CompleteLattice/Chain.lean index 9c1e7eb87ccab2..b10b8b938ecff5 100644 --- a/Mathlib/Order/CompleteLattice/Chain.lean +++ b/Mathlib/Order/CompleteLattice/Chain.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Order.Preorder.Chain +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.Preorder.Chain /-! # Hausdorff's maximality principle @@ -22,6 +24,8 @@ Originally ported from Isabelle/HOL. The Fleuriot, Tobias Nipkow, Christian Sternagel. -/ +@[expose] public section + open Set variable {α : Type*} {r : α → α → Prop} {c c₁ c₂ s t : Set α} {a b x y : α} diff --git a/Mathlib/Order/CompleteLattice/Defs.lean b/Mathlib/Order/CompleteLattice/Defs.lean index b40982817e8d40..f42c2c4931a133 100644 --- a/Mathlib/Order/CompleteLattice/Defs.lean +++ b/Mathlib/Order/CompleteLattice/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.SetNotation +module + +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.SetNotation /-! # Definition of complete lattices @@ -40,6 +42,8 @@ In lemma names, * `⨅ i, f i` : `iInf f`, the infimum of the range of `f`. -/ +@[expose] public section + open Function OrderDual Set variable {α β γ : Type*} {ι ι' : Sort*} {κ : ι → Sort*} {κ' : ι' → Sort*} diff --git a/Mathlib/Order/CompleteLattice/Finset.lean b/Mathlib/Order/CompleteLattice/Finset.lean index a706be88f44e11..bb5a21e33367b4 100644 --- a/Mathlib/Order/CompleteLattice/Finset.lean +++ b/Mathlib/Order/CompleteLattice/Finset.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Finset.Option -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Data.Finset.Option +public import Mathlib.Data.Set.Lattice.Image /-! # Lattice operations on finsets @@ -15,6 +17,8 @@ See also `Mathlib/Data/Finset/Lattice.lean`, which is concerned with folding bin operations over a finset. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid MonoidWithZero open Function Multiset OrderDual diff --git a/Mathlib/Order/CompleteLattice/Group.lean b/Mathlib/Order/CompleteLattice/Group.lean index f9e2f03f2cc182..d0f195ca1efc72 100644 --- a/Mathlib/Order/CompleteLattice/Group.lean +++ b/Mathlib/Order/CompleteLattice/Group.lean @@ -3,12 +3,16 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual -import Mathlib.Order.CompleteLattice.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +public import Mathlib.Order.CompleteLattice.Basic /-! # Complete lattices and groups -/ +@[expose] public section + variable {α : Type*} {ι : Sort*} {κ : ι → Sort*} [CompleteLattice α] [Mul α] [MulLeftMono α] [MulRightMono α] diff --git a/Mathlib/Order/CompleteLattice/Lemmas.lean b/Mathlib/Order/CompleteLattice/Lemmas.lean index d333609d38f270..c27d395ffc378f 100644 --- a/Mathlib/Order/CompleteLattice/Lemmas.lean +++ b/Mathlib/Order/CompleteLattice/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Bool.Set -import Mathlib.Data.Nat.Set -import Mathlib.Order.CompleteLattice.Basic +module + +public import Mathlib.Data.Bool.Set +public import Mathlib.Data.Nat.Set +public import Mathlib.Order.CompleteLattice.Basic /-! # Theory of complete lattices @@ -32,6 +34,8 @@ In lemma names, * `⨅ i, f i` : `iInf f`, the infimum of the range of `f`. -/ +@[expose] public section + open Function OrderDual Set variable {α β γ : Type*} {ι ι' : Sort*} {κ : ι → Sort*} {κ' : ι' → Sort*} diff --git a/Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean b/Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean index 173d588a417b92..b8198c2d342f45 100644 --- a/Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean +++ b/Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.CompleteLattice.Lemmas -import Mathlib.CategoryTheory.Category.Preorder -import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer -import Mathlib.CategoryTheory.CommSq -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Order.CompleteLattice.Lemmas +public import Mathlib.CategoryTheory.Category.Preorder +public import Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer +public import Mathlib.CategoryTheory.CommSq +public import Mathlib.Tactic.FinCases /-! # Multicoequalizer diagrams in complete lattices @@ -28,6 +30,8 @@ in the category of types. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Order/CompleteLattice/SetLike.lean b/Mathlib/Order/CompleteLattice/SetLike.lean index b1eed0f3d402d9..24975d3b6d7df6 100644 --- a/Mathlib/Order/CompleteLattice/SetLike.lean +++ b/Mathlib/Order/CompleteLattice/SetLike.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Sven Manthe. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sven Manthe -/ -import Mathlib.Order.CompleteSublattice +module + +public import Mathlib.Order.CompleteSublattice /-! # `SetLike` instance for elements of `CompleteSublattice (Set X)` @@ -11,6 +13,8 @@ import Mathlib.Order.CompleteSublattice This file provides lemmas for the `SetLike` instance for elements of `CompleteSublattice (Set X)` -/ +@[expose] public section + attribute [local instance] SetLike.instSubtypeSet namespace Sublattice diff --git a/Mathlib/Order/CompleteLatticeIntervals.lean b/Mathlib/Order/CompleteLatticeIntervals.lean index aebd2e6e837726..3bce5c6ab3b915 100644 --- a/Mathlib/Order/CompleteLatticeIntervals.lean +++ b/Mathlib/Order/CompleteLatticeIntervals.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.LatticeIntervals -import Mathlib.Order.Interval.Set.OrdConnected +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.LatticeIntervals +public import Mathlib.Order.Interval.Set.OrdConnected /-! # Subtypes of conditionally complete linear orders @@ -20,6 +22,8 @@ Add appropriate instances for all `Set.Ixx`. This requires a refactor that will default values for `sSup` and `sInf`. -/ +@[expose] public section + assert_not_exists Multiset open Set diff --git a/Mathlib/Order/CompletePartialOrder.lean b/Mathlib/Order/CompletePartialOrder.lean index 41f80dffe5b349..454422dcee76f6 100644 --- a/Mathlib/Order/CompletePartialOrder.lean +++ b/Mathlib/Order/CompletePartialOrder.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.OmegaCompletePartialOrder +module + +public import Mathlib.Order.OmegaCompletePartialOrder /-! # Complete Partial Orders @@ -30,6 +32,8 @@ These are partial orders for which every directed set has a least upper bound. complete partial order, directedly complete partial order -/ +@[expose] public section + variable {ι : Sort*} {α β : Type*} section CompletePartialOrder diff --git a/Mathlib/Order/CompleteSublattice.lean b/Mathlib/Order/CompleteSublattice.lean index ddade6d3b88d48..92f1a740f184a0 100644 --- a/Mathlib/Order/CompleteSublattice.lean +++ b/Mathlib/Order/CompleteSublattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Data.Set.Functor -import Mathlib.Order.Sublattice -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Data.Set.Functor +public import Mathlib.Order.Sublattice +public import Mathlib.Order.Hom.CompleteLattice /-! # Complete Sublattices @@ -24,6 +26,8 @@ invariant submodules of some module with respect to a linear map. -/ +@[expose] public section + open Function Set variable (α β : Type*) [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) diff --git a/Mathlib/Order/Concept.lean b/Mathlib/Order/Concept.lean index 740d8ccb127819..c19ca3518c2be1 100644 --- a/Mathlib/Order/Concept.lean +++ b/Mathlib/Order/Concept.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Data.Set.Lattice /-! # Formal concept analysis @@ -35,6 +37,8 @@ Prove the fundamental theorem of concept lattices. concept, formal concept analysis, intent, extend, attribute -/ +@[expose] public section + open Function OrderDual Set diff --git a/Mathlib/Order/ConditionallyCompleteLattice/Basic.lean b/Mathlib/Order/ConditionallyCompleteLattice/Basic.lean index 0697941425ef9d..887e0def16e6c8 100644 --- a/Mathlib/Order/ConditionallyCompleteLattice/Basic.lean +++ b/Mathlib/Order/ConditionallyCompleteLattice/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Order.ConditionallyCompleteLattice.Defs +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.ConditionallyCompleteLattice.Defs /-! # Theory of conditionally complete lattices @@ -25,6 +27,8 @@ while `csInf_le` is the same statement in conditionally complete lattices with an additional assumption that `s` is bounded below. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Multiset diff --git a/Mathlib/Order/ConditionallyCompleteLattice/Defs.lean b/Mathlib/Order/ConditionallyCompleteLattice/Defs.lean index 676f0a93f2a033..fcdae9b63d016b 100644 --- a/Mathlib/Order/ConditionallyCompleteLattice/Defs.lean +++ b/Mathlib/Order/ConditionallyCompleteLattice/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.SetNotation -import Mathlib.Order.WellFounded +module + +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.SetNotation +public import Mathlib.Order.WellFounded /-! # Definitions of conditionally complete lattices @@ -26,6 +28,8 @@ while `csInf_le` is the same statement in conditionally complete lattices with an additional assumption that `s` is bounded below. -/ +@[expose] public section + open Set variable {α β γ : Type*} {ι : Sort*} diff --git a/Mathlib/Order/ConditionallyCompleteLattice/Finset.lean b/Mathlib/Order/ConditionallyCompleteLattice/Finset.lean index 235a96fa6b8b9a..1fe9530755180a 100644 --- a/Mathlib/Order/ConditionallyCompleteLattice/Finset.lean +++ b/Mathlib/Order/ConditionallyCompleteLattice/Finset.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Finset.Max -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.ConditionallyCompleteLattice.Indexed +module + +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed /-! # Conditionally complete lattices and finite sets. -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/ConditionallyCompleteLattice/Group.lean b/Mathlib/Order/ConditionallyCompleteLattice/Group.lean index 5c476e1c6e10a8..b9918d296f9ce7 100644 --- a/Mathlib/Order/ConditionallyCompleteLattice/Group.lean +++ b/Mathlib/Order/ConditionallyCompleteLattice/Group.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Algebra.Order.Group.Unbundled.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Algebra.Order.Group.Unbundled.Basic +public import Mathlib.Algebra.Order.Monoid.Unbundled.OrderDual /-! # Conditionally complete lattices and groups. -/ +@[expose] public section + open Set section Mul diff --git a/Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean b/Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean index 3ef97582da54fc..360ab5fd6fe992 100644 --- a/Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean +++ b/Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Sébastian Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastian Gouëzel -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # Indexed sup / inf in conditionally complete lattices @@ -13,6 +15,8 @@ rather than complete, lattice. We add a prefix `c` to distinguish them from the complete lattices, giving names `ciSup_xxx` or `ciInf_xxx`. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Multiset diff --git a/Mathlib/Order/Copy.lean b/Mathlib/Order/Copy.lean index b63dac7a24f986..30c8aa01b0f831 100644 --- a/Mathlib/Order/Copy.lean +++ b/Mathlib/Order/Copy.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Yaël Dillies -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # Tooling to make copies of lattice structures @@ -13,6 +15,8 @@ where one replaces the data parts with provably equal definitions that have better definitional properties. -/ +@[expose] public section + open Order diff --git a/Mathlib/Order/CountableDenseLinearOrder.lean b/Mathlib/Order/CountableDenseLinearOrder.lean index 7fcfca4e9a5cc4..dcf8a523d35962 100644 --- a/Mathlib/Order/CountableDenseLinearOrder.lean +++ b/Mathlib/Order/CountableDenseLinearOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.Order.Ideal -import Mathlib.Data.Finset.Max +module + +public import Mathlib.Order.Ideal +public import Mathlib.Data.Finset.Max /-! # The back and forth method and countable dense linear orders @@ -28,6 +30,8 @@ https://en.wikipedia.org/wiki/Back-and-forth_method back and forth, dense, countable, order -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Order/Cover.lean b/Mathlib/Order/Cover.lean index 5a86cf421c3473..d4ac40ec6c1b3e 100644 --- a/Mathlib/Order/Cover.lean +++ b/Mathlib/Order/Cover.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Violeta Hernández Palacios, Grayson Burton, Floris van Doorn, Bhavik Mehta -/ -import Mathlib.Order.Antisymmetrization -import Mathlib.Order.Hom.WithTopBot -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Order.Interval.Set.WithBotTop +module + +public import Mathlib.Order.Antisymmetrization +public import Mathlib.Order.Hom.WithTopBot +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Order.Interval.Set.WithBotTop /-! # The covering relation @@ -23,6 +25,8 @@ in a preorder this is equivalent to `a ⋖ b ∨ (a ≤ b ∧ b ≤ a)` * `a ⩿ b` means that `b` weakly covers `a`. -/ +@[expose] public section + open Set OrderDual diff --git a/Mathlib/Order/Defs/LinearOrder.lean b/Mathlib/Order/Defs/LinearOrder.lean index 2e9ab6508b0ad7..7df6225bdc0cf7 100644 --- a/Mathlib/Order/Defs/LinearOrder.lean +++ b/Mathlib/Order/Defs/LinearOrder.lean @@ -3,15 +3,17 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Batteries.Classes.Order -import Batteries.Tactic.Trans -import Mathlib.Data.Ordering.Basic -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Push.Attr -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.TypeStar -import Mathlib.Order.Defs.PartialOrder +module + +public import Batteries.Classes.Order +public import Batteries.Tactic.Trans +public import Mathlib.Data.Ordering.Basic +public import Mathlib.Tactic.ExtendDoc +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.Push.Attr +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.TypeStar +public import Mathlib.Order.Defs.PartialOrder /-! # Orders @@ -19,6 +21,8 @@ import Mathlib.Order.Defs.PartialOrder Defines classes for linear orders and proves some basic lemmas about them. -/ +@[expose] public section + variable {α : Type*} section LinearOrder diff --git a/Mathlib/Order/Defs/PartialOrder.lean b/Mathlib/Order/Defs/PartialOrder.lean index 5bad830840f1aa..17e338a806594b 100644 --- a/Mathlib/Order/Defs/PartialOrder.lean +++ b/Mathlib/Order/Defs/PartialOrder.lean @@ -3,12 +3,14 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Batteries.Tactic.Alias -import Batteries.Tactic.Trans -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.TypeStar +module + +public import Batteries.Tactic.Alias +public import Batteries.Tactic.Trans +public import Mathlib.Tactic.ExtendDoc +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.TypeStar /-! # Orders @@ -28,6 +30,8 @@ in a preorder this is equivalent to `a ⋖ b ∨ (a ≤ b ∧ b ≤ a)` * `a ⩿ b` means that `b` weakly covers `a`. -/ +@[expose] public section + variable {α : Type*} section Preorder diff --git a/Mathlib/Order/Defs/Unbundled.lean b/Mathlib/Order/Defs/Unbundled.lean index 9ec38de252ea67..075be7112ab63b 100644 --- a/Mathlib/Order/Defs/Unbundled.lean +++ b/Mathlib/Order/Defs/Unbundled.lean @@ -3,11 +3,13 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Mathlib.Data.Set.Defs -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.TypeStar +module + +public import Mathlib.Data.Set.Defs +public import Mathlib.Tactic.ExtendDoc +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.TypeStar /-! # Orders @@ -16,6 +18,8 @@ Defines classes for preorders, partial orders, and linear orders and proves some basic lemmas about them. -/ +@[expose] public section + /-! ### Unbundled classes -/ /-- An empty relation does not relate any elements. -/ diff --git a/Mathlib/Order/Directed.lean b/Mathlib/Order/Directed.lean index 8d4cc5a4d2ae31..718e99a12c6c71 100644 --- a/Mathlib/Order/Directed.lean +++ b/Mathlib/Order/Directed.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yaël Dillies -/ -import Mathlib.Data.Set.Image +module + +public import Mathlib.Data.Set.Image /-! # Directed indexed families and sets @@ -27,6 +29,8 @@ Define connected orders (the transitive symmetric closure of `≤` is everything * [Gierz et al, *A Compendium of Continuous Lattices*][GierzEtAl1980] -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/DirectedInverseSystem.lean b/Mathlib/Order/DirectedInverseSystem.lean index 7cb172c364b552..0025fbe3d7658f 100644 --- a/Mathlib/Order/DirectedInverseSystem.lean +++ b/Mathlib/Order/DirectedInverseSystem.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Order.SuccPred.Limit -import Mathlib.Order.UpperLower.Basic +module + +public import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.UpperLower.Basic /-! # Definition of direct systems, inverse systems, and cardinalities in specific inverse systems @@ -56,6 +58,8 @@ the distinguished bijection that is compatible with the projections to all `X i` -/ +@[expose] public section + open Order Set variable {ι : Type*} [Preorder ι] {F₁ F₂ F X : ι → Type*} diff --git a/Mathlib/Order/Disjoint.lean b/Mathlib/Order/Disjoint.lean index 72789d47718fa6..b4602d62c17f04 100644 --- a/Mathlib/Order/Disjoint.lean +++ b/Mathlib/Order/Disjoint.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Aesop -import Mathlib.Order.BoundedOrder.Lattice +module + +public import Aesop +public import Mathlib.Order.BoundedOrder.Lattice /-! # Disjointness and complements @@ -21,6 +23,8 @@ This file defines `Disjoint`, `Codisjoint`, and the `IsCompl` predicate. -/ +@[expose] public section + open Function variable {α : Type*} diff --git a/Mathlib/Order/Disjointed.lean b/Mathlib/Order/Disjointed.lean index 982e05d54e652d..ec7fb0eb85ee84 100644 --- a/Mathlib/Order/Disjointed.lean +++ b/Mathlib/Order/Disjointed.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yaël Dillies, David Loeffler -/ -import Mathlib.Order.PartialSups -import Mathlib.Order.Interval.Finset.Fin +module + +public import Mathlib.Order.PartialSups +public import Mathlib.Order.Interval.Finset.Fin /-! # Making a sequence disjoint @@ -33,6 +35,8 @@ It is actually unique, as `disjointed_unique` shows. We also provide set notation variants of some lemmas. -/ +@[expose] public section + assert_not_exists SuccAddOrder open Finset Order diff --git a/Mathlib/Order/Extension/Linear.lean b/Mathlib/Order/Extension/Linear.lean index 8d8565643e9e23..96bb308852051f 100644 --- a/Mathlib/Order/Extension/Linear.lean +++ b/Mathlib/Order/Extension/Linear.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Order.Zorn +module + +public import Mathlib.Order.Zorn /-! # Extend a partial order to a linear order @@ -12,6 +14,8 @@ This file constructs a linear order which is an extension of the given partial o lemma. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Extension/Well.lean b/Mathlib/Order/Extension/Well.lean index 216048a829c599..47b6d1cb46f81a 100644 --- a/Mathlib/Order/Extension/Well.lean +++ b/Mathlib/Order/Extension/Well.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Junyan Xu -/ -import Mathlib.Data.Prod.Lex -import Mathlib.SetTheory.Ordinal.Rank +module + +public import Mathlib.Data.Prod.Lex +public import Mathlib.SetTheory.Ordinal.Rank /-! # Extend a well-founded order to a well-order @@ -33,6 +35,8 @@ to the `mathlib` 3 version but avoids non-standard instances. well-founded relation, well order, extension -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/Filter/AtTopBot/Archimedean.lean b/Mathlib/Order/Filter/AtTopBot/Archimedean.lean index 95906eac1817d1..e85a025f43bc40 100644 --- a/Mathlib/Order/Filter/AtTopBot/Archimedean.lean +++ b/Mathlib/Order/Filter/AtTopBot/Archimedean.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Order.Filter.AtTopBot.Group -import Mathlib.Order.Filter.CountablyGenerated -import Mathlib.Tactic.GCongr +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Order.Filter.AtTopBot.Group +public import Mathlib.Order.Filter.CountablyGenerated +public import Mathlib.Tactic.GCongr /-! # `Filter.atTop` filter and archimedean (semi)rings/fields @@ -17,6 +19,8 @@ does `f`. We also prove that `Nat.cast : ℕ → R` tends to `Filter.atTop` alon well as version of these two results for `ℤ` (and a ring `R`) and `ℚ` (and a field `R`). -/ +@[expose] public section + variable {α R : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/Basic.lean b/Mathlib/Order/Filter/AtTopBot/Basic.lean index e667a70725fc3e..f5dcb2bf4595b8 100644 --- a/Mathlib/Order/Filter/AtTopBot/Basic.lean +++ b/Mathlib/Order/Filter/AtTopBot/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Filter.Bases.Basic -import Mathlib.Order.Filter.AtTopBot.Tendsto -import Mathlib.Order.Nat -import Mathlib.Tactic.Subsingleton +module + +public import Mathlib.Order.Filter.Bases.Basic +public import Mathlib.Order.Filter.AtTopBot.Tendsto +public import Mathlib.Order.Nat +public import Mathlib.Tactic.Subsingleton /-! # Basic results on `Filter.atTop` and `Filter.atBot` filters @@ -14,6 +16,8 @@ import Mathlib.Tactic.Subsingleton In this file we prove many lemmas like “if `f → +∞`, then `f ± c → +∞`”. -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/BigOperators.lean b/Mathlib/Order/Filter/AtTopBot/BigOperators.lean index 4ce9038653844b..62bb73f5a29916 100644 --- a/Mathlib/Order/Filter/AtTopBot/BigOperators.lean +++ b/Mathlib/Order/Filter/AtTopBot/BigOperators.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Preimage -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Preimage +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # Two lemmas about limit of `Π b ∈ s, f b` along @@ -14,6 +16,8 @@ about `Filter.atTop : Filter (Finset _)` and `∏ b ∈ s, f b`. These lemmas are useful to build the theory of absolutely convergent series. -/ +@[expose] public section + open Filter Finset variable {α β M : Type*} [CommMonoid M] diff --git a/Mathlib/Order/Filter/AtTopBot/CompleteLattice.lean b/Mathlib/Order/Filter/AtTopBot/CompleteLattice.lean index 1fca16ad3bbcd1..3fc515325b9f2d 100644 --- a/Mathlib/Order/Filter/AtTopBot/CompleteLattice.lean +++ b/Mathlib/Order/Filter/AtTopBot/CompleteLattice.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.Filter.AtTopBot.Tendsto +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.Filter.AtTopBot.Tendsto /-! # `Filter.atTop` and `Filter.atBot` in (conditionally) complete lattices -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean b/Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean index dee22d8610652f..1c8a7f7c01fde2 100644 --- a/Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean +++ b/Mathlib/Order/Filter/AtTopBot/CountablyGenerated.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Filter.AtTopBot.Finite -import Mathlib.Order.Filter.AtTopBot.Prod -import Mathlib.Order.Filter.CountablyGenerated +module + +public import Mathlib.Order.Filter.AtTopBot.Finite +public import Mathlib.Order.Filter.AtTopBot.Prod +public import Mathlib.Order.Filter.CountablyGenerated /-! # Convergence to infinity and countably generated filters @@ -19,6 +21,8 @@ In this file we prove that is equivalent to convergence along all sequences that converge to this filter. -/ +@[expose] public section + open Set namespace Filter diff --git a/Mathlib/Order/Filter/AtTopBot/Defs.lean b/Mathlib/Order/Filter/AtTopBot/Defs.lean index 57a65253ada2a2..b678f5e2df54d3 100644 --- a/Mathlib/Order/Filter/AtTopBot/Defs.lean +++ b/Mathlib/Order/Filter/AtTopBot/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Set.Piecewise -import Mathlib.Order.Filter.Basic +module + +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Order.Filter.Basic /-! # Definition of `Filter.atTop` and `Filter.atBot` filters @@ -15,6 +17,8 @@ In this file we define the filters * `Filter.atBot`: corresponds to `n → -∞`. -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/Disjoint.lean b/Mathlib/Order/Filter/AtTopBot/Disjoint.lean index 34dd9ca8e0c74e..02d6f0585e852e 100644 --- a/Mathlib/Order/Filter/AtTopBot/Disjoint.lean +++ b/Mathlib/Order/Filter/AtTopBot/Disjoint.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.Order.Interval.Set.Disjoint +module + +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.Order.Interval.Set.Disjoint /-! # Disjointness of `Filter.atTop` and `Filter.atBot` -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/Field.lean b/Mathlib/Order/Filter/AtTopBot/Field.lean index 3b5074dbf97131..fa441ac1c97d59 100644 --- a/Mathlib/Order/Filter/AtTopBot/Field.lean +++ b/Mathlib/Order/Filter/AtTopBot/Field.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Order.Filter.AtTopBot.Ring +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Order.Filter.AtTopBot.Ring /-! # Convergence to ±infinity in linear ordered (semi)fields -/ +@[expose] public section + namespace Filter variable {α β : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/Finite.lean b/Mathlib/Order/Filter/AtTopBot/Finite.lean index 76b93ec8dee5d4..df3645e7fb9ce4 100644 --- a/Mathlib/Order/Filter/AtTopBot/Finite.lean +++ b/Mathlib/Order/Filter/AtTopBot/Finite.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.Order.Filter.Bases.Finite -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.Order.Filter.Bases.Finite +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # Finiteness and `Filter.atTop` and `Filter.atBot` filters @@ -14,6 +16,8 @@ This file contains results on `Filter.atTop` and `Filter.atBot` that depend on the finiteness theory developed in Mathlib. -/ +@[expose] public section + variable {ι ι' α β γ : Type*} open Set diff --git a/Mathlib/Order/Filter/AtTopBot/Finset.lean b/Mathlib/Order/Filter/AtTopBot/Finset.lean index fe952fc477e3ff..ab5fc79da6d5d2 100644 --- a/Mathlib/Order/Filter/AtTopBot/Finset.lean +++ b/Mathlib/Order/Filter/AtTopBot/Finset.lean @@ -3,17 +3,21 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Finset.Order -import Mathlib.Data.Finset.Preimage -import Mathlib.Order.Filter.AtTopBot.Tendsto -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Interval.Finset.Defs +module + +public import Mathlib.Data.Finset.Order +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Order.Filter.AtTopBot.Tendsto +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Interval.Finset.Defs /-! # `Filter.atTop` and `Filter.atBot` filters and finite sets. -/ +@[expose] public section + variable {ι ι' α β γ : Type*} open Set diff --git a/Mathlib/Order/Filter/AtTopBot/Floor.lean b/Mathlib/Order/Filter/AtTopBot/Floor.lean index c870a98a9581e1..41a381495f00bb 100644 --- a/Mathlib/Order/Filter/AtTopBot/Floor.lean +++ b/Mathlib/Order/Filter/AtTopBot/Floor.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Algebra.Order.Floor.Semiring -import Mathlib.Algebra.Order.Ring.Abs -import Mathlib.Order.Filter.AtTopBot.Finite -import Mathlib.Tactic.Positivity.Basic +module + +public import Mathlib.Algebra.Order.Floor.Semiring +public import Mathlib.Algebra.Order.Ring.Abs +public import Mathlib.Order.Filter.AtTopBot.Finite +public import Mathlib.Tactic.Positivity.Basic /-! # `a * c ^ n < (n - d)!` holds true for sufficiently large `n`. -/ +@[expose] public section + open Filter open scoped Nat diff --git a/Mathlib/Order/Filter/AtTopBot/Group.lean b/Mathlib/Order/Filter/AtTopBot/Group.lean index 0e42f35be097b9..f8bccb5f86f527 100644 --- a/Mathlib/Order/Filter/AtTopBot/Group.lean +++ b/Mathlib/Order/Filter/AtTopBot/Group.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.MinMax -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.AtTopBot.Map -import Mathlib.Order.Filter.AtTopBot.Monoid +module + +public import Mathlib.Algebra.Order.Group.MinMax +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.AtTopBot.Map +public import Mathlib.Order.Filter.AtTopBot.Monoid /-! # Convergence to ±infinity in ordered commutative groups -/ +@[expose] public section + variable {α G : Type*} open Set diff --git a/Mathlib/Order/Filter/AtTopBot/Map.lean b/Mathlib/Order/Filter/AtTopBot/Map.lean index 8438f579a3d09e..f233f77702f95a 100644 --- a/Mathlib/Order/Filter/AtTopBot/Map.lean +++ b/Mathlib/Order/Filter/AtTopBot/Map.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.Order.Filter.Map -import Mathlib.Order.Filter.Tendsto -import Mathlib.Order.Interval.Set.OrderIso +module + +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.Order.Filter.Map +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Order.Interval.Set.OrderIso /-! # Map and comap of `Filter.atTop` and `Filter.atBot` -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/AtTopBot/ModEq.lean b/Mathlib/Order/Filter/AtTopBot/ModEq.lean index 2672d552f4487e..2b733c4c68a736 100644 --- a/Mathlib/Order/Filter/AtTopBot/ModEq.lean +++ b/Mathlib/Order/Filter/AtTopBot/ModEq.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.ModEq -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.AtTopBot.Monoid +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.Nat.ModEq +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.AtTopBot.Monoid /-! # Numbers are frequently ModEq to fixed numbers @@ -18,6 +20,8 @@ import Mathlib.Order.Filter.AtTopBot.Monoid In this file we prove that `m ≡ d [MOD n]` frequently as `m → ∞`. -/ +@[expose] public section + open Filter diff --git a/Mathlib/Order/Filter/AtTopBot/Monoid.lean b/Mathlib/Order/Filter/AtTopBot/Monoid.lean index ab11d1002a92a2..50c86d8be6ddc0 100644 --- a/Mathlib/Order/Filter/AtTopBot/Monoid.lean +++ b/Mathlib/Order/Filter/AtTopBot/Monoid.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Algebra.Order.Monoid.Unbundled.Pow -import Mathlib.Order.Filter.AtTopBot.Tendsto +module + +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Algebra.Order.Monoid.Unbundled.Pow +public import Mathlib.Order.Filter.AtTopBot.Tendsto /-! # Convergence to ±infinity in ordered commutative monoids -/ +@[expose] public section + variable {α M : Type*} namespace Filter diff --git a/Mathlib/Order/Filter/AtTopBot/Prod.lean b/Mathlib/Order/Filter/AtTopBot/Prod.lean index e80f1b86c1ff06..ca135cee9a6c5e 100644 --- a/Mathlib/Order/Filter/AtTopBot/Prod.lean +++ b/Mathlib/Order/Filter/AtTopBot/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Finset.Prod -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.Prod +module + +public import Mathlib.Data.Finset.Prod +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.Prod /-! # `Filter.atTop` and `Filter.atBot` filters on products -/ +@[expose] public section + variable {ι ι' α β γ : Type*} open Set diff --git a/Mathlib/Order/Filter/AtTopBot/Ring.lean b/Mathlib/Order/Filter/AtTopBot/Ring.lean index 4b2b45aa8c7425..1cbadecafcf740 100644 --- a/Mathlib/Order/Filter/AtTopBot/Ring.lean +++ b/Mathlib/Order/Filter/AtTopBot/Ring.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Order.Filter.AtTopBot.Group +module + +public import Mathlib.Algebra.Order.Ring.Defs +public import Mathlib.Order.Filter.AtTopBot.Group /-! # Convergence to ±infinity in ordered rings -/ +@[expose] public section + variable {α β : Type*} namespace Filter diff --git a/Mathlib/Order/Filter/AtTopBot/Tendsto.lean b/Mathlib/Order/Filter/AtTopBot/Tendsto.lean index e447d6ce227616..034626a18f5164 100644 --- a/Mathlib/Order/Filter/AtTopBot/Tendsto.lean +++ b/Mathlib/Order/Filter/AtTopBot/Tendsto.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Filter.AtTopBot.Disjoint -import Mathlib.Order.Filter.Tendsto +module + +public import Mathlib.Order.Filter.AtTopBot.Disjoint +public import Mathlib.Order.Filter.Tendsto /-! # Limits of `Filter.atTop` and `Filter.atBot` @@ -13,6 +15,8 @@ In this file we prove many lemmas on the combination of `Filter.atTop` and `Filt and `Tendsto`. -/ +@[expose] public section + assert_not_exists Finset variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Filter/Bases/Basic.lean b/Mathlib/Order/Filter/Bases/Basic.lean index 42d3bce8e1d6f1..9ff1aad14eb25d 100644 --- a/Mathlib/Order/Filter/Bases/Basic.lean +++ b/Mathlib/Order/Filter/Bases/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Data.Set.Sigma -import Mathlib.Order.Filter.Defs -import Mathlib.Order.Filter.Map -import Mathlib.Order.Interval.Set.Basic +module + +public import Mathlib.Data.Set.Sigma +public import Mathlib.Order.Filter.Defs +public import Mathlib.Order.Filter.Map +public import Mathlib.Order.Interval.Set.Basic /-! # Basic results on filter bases @@ -68,6 +70,8 @@ machinery, e.g., `simp only [true_and_iff]` or `simp only [forall_const]` can he ## Main statements -/ +@[expose] public section + assert_not_exists Finset open Set Filter diff --git a/Mathlib/Order/Filter/Bases/Finite.lean b/Mathlib/Order/Filter/Bases/Finite.lean index 7e84fb15e4c156..0480bd0b8e87ae 100644 --- a/Mathlib/Order/Filter/Bases/Finite.lean +++ b/Mathlib/Order/Filter/Bases/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Order.Filter.Bases.Basic -import Mathlib.Order.Filter.Finite +module + +public import Mathlib.Order.Filter.Bases.Basic +public import Mathlib.Order.Filter.Finite /-! # Finiteness results on filter bases @@ -14,6 +16,8 @@ such that the intersection of two elements of this collection contains some elem the collection. -/ +@[expose] public section + open Set Filter variable {α β γ : Type*} {ι ι' : Sort*} diff --git a/Mathlib/Order/Filter/Basic.lean b/Mathlib/Order/Filter/Basic.lean index c7d6d761d6493f..5d24c74e0c7032 100644 --- a/Mathlib/Order/Filter/Basic.lean +++ b/Mathlib/Order/Filter/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Algebra.Group.Pi.Basic -import Mathlib.Data.Set.Lattice -import Mathlib.Order.Filter.Defs +module + +public import Mathlib.Algebra.Group.Pi.Basic +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.Filter.Defs /-! # Theory of filters on sets @@ -59,6 +61,8 @@ we do *not* require. This gives `Filter X` better formal properties, in particul `[NeBot f]` in a number of lemmas and definitions. -/ +@[expose] public section + assert_not_exists OrderedSemiring Fintype open Function Set Order diff --git a/Mathlib/Order/Filter/CardinalInter.lean b/Mathlib/Order/Filter/CardinalInter.lean index 4c7eabbe4a24f4..484622da15f5c1 100644 --- a/Mathlib/Order/Filter/CardinalInter.lean +++ b/Mathlib/Order/Filter/CardinalInter.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ -import Mathlib.Order.Filter.Tendsto -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.CountableInter -import Mathlib.SetTheory.Cardinal.Regular -import Mathlib.Tactic.Linarith +module + +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.SetTheory.Cardinal.Regular +public import Mathlib.Tactic.Linarith /-! # Filters with a cardinal intersection property @@ -30,6 +32,8 @@ their intersection belongs to `l` as well. filter, cardinal -/ +@[expose] public section + open Set Filter Cardinal diff --git a/Mathlib/Order/Filter/Cocardinal.lean b/Mathlib/Order/Filter/Cocardinal.lean index 9163bc760c12fa..68253e877f2407 100644 --- a/Mathlib/Order/Filter/Cocardinal.lean +++ b/Mathlib/Order/Filter/Cocardinal.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ -import Mathlib.Order.Filter.Cofinite -import Mathlib.Order.Filter.CountableInter -import Mathlib.Order.Filter.CardinalInter -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.SetTheory.Cardinal.Cofinality +module + +public import Mathlib.Order.Filter.Cofinite +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.Order.Filter.CardinalInter +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.SetTheory.Cardinal.Cofinality /-! # The cocardinal filter @@ -18,6 +20,8 @@ In this file we define `Filter.cocardinal hc`: the filter of sets with cardinali -/ +@[expose] public section + open Set Filter Cardinal universe u diff --git a/Mathlib/Order/Filter/Cofinite.lean b/Mathlib/Order/Filter/Cofinite.lean index 2fa649c8baf510..1419620d0a3d6c 100644 --- a/Mathlib/Order/Filter/Cofinite.lean +++ b/Mathlib/Order/Filter/Cofinite.lean @@ -3,15 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov -/ -import Mathlib.Data.Finite.Prod -import Mathlib.Data.Fintype.Pi -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.Filter.CountablyGenerated -import Mathlib.Order.Filter.Ker -import Mathlib.Order.Filter.Pi -import Mathlib.Order.Filter.Prod -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.Data.Finite.Prod +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.Filter.CountablyGenerated +public import Mathlib.Order.Filter.Ker +public import Mathlib.Order.Filter.Pi +public import Mathlib.Order.Filter.Prod +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # The cofinite filter @@ -27,6 +29,8 @@ and prove its basic properties. In particular, we prove that for `ℕ` it is equ Define filters for other cardinalities of the complement. -/ +@[expose] public section + open Set Function variable {ι α β : Type*} {l : Filter α} diff --git a/Mathlib/Order/Filter/CountableInter.lean b/Mathlib/Order/Filter/CountableInter.lean index 22b29a60b2dff2..478729e47d8216 100644 --- a/Mathlib/Order/Filter/CountableInter.lean +++ b/Mathlib/Order/Filter/CountableInter.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.Curry -import Mathlib.Data.Set.Countable +module + +public import Mathlib.Order.Filter.Curry +public import Mathlib.Data.Set.Countable /-! # Filters with countable intersection property @@ -28,6 +30,8 @@ preferred spelling; it has the advantage of not requiring the user to import the filter, countable -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Order/Filter/CountableSeparatingOn.lean b/Mathlib/Order/Filter/CountableSeparatingOn.lean index 552a128f17bc54..bd9925537539e8 100644 --- a/Mathlib/Order/Filter/CountableSeparatingOn.lean +++ b/Mathlib/Order/Filter/CountableSeparatingOn.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.CountableInter +module + +public import Mathlib.Order.Filter.CountableInter /-! # Filters with countable intersections and countable separating families @@ -70,6 +72,8 @@ We formalize several versions of this theorem in filter, countable -/ +@[expose] public section + open Function Set Filter /-- We say that a type `α` has a *countable separating family of sets* satisfying a predicate diff --git a/Mathlib/Order/Filter/CountablyGenerated.lean b/Mathlib/Order/Filter/CountablyGenerated.lean index 56ca0da55526f8..86b15e42cef8b1 100644 --- a/Mathlib/Order/Filter/CountablyGenerated.lean +++ b/Mathlib/Order/Filter/CountablyGenerated.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Set.Countable -import Mathlib.Order.Filter.Bases.Finite +module + +public import Mathlib.Data.Set.Countable +public import Mathlib.Order.Filter.Bases.Finite /-! # Countably generated filters @@ -16,6 +18,8 @@ We also define predicates `Filter.IsCountableBasis` and `Filter.HasCountableBasi saying that a specific family of sets is a countable basis. -/ +@[expose] public section + open Set namespace Filter diff --git a/Mathlib/Order/Filter/Curry.lean b/Mathlib/Order/Filter/Curry.lean index 499959af5c5783..ad6d74e7760371 100644 --- a/Mathlib/Order/Filter/Curry.lean +++ b/Mathlib/Order/Filter/Curry.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Kevin H. Wilson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin H. Wilson -/ -import Mathlib.Order.Filter.Prod +module + +public import Mathlib.Order.Filter.Prod /-! # Curried Filters @@ -44,6 +46,8 @@ describing the product of two sets, namely `s ×ˢ t = fst ⁻¹' s ∩ snd ⁻ uniform convergence, curried filters, product filters -/ +@[expose] public section + namespace Filter diff --git a/Mathlib/Order/Filter/Defs.lean b/Mathlib/Order/Filter/Defs.lean index 5065b24ce03e45..086395debb6db2 100644 --- a/Mathlib/Order/Filter/Defs.lean +++ b/Mathlib/Order/Filter/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Data.Set.Insert -import Mathlib.Order.SetNotation -import Mathlib.Order.BooleanAlgebra.Set -import Mathlib.Order.Bounds.Defs +module + +public import Mathlib.Data.Set.Insert +public import Mathlib.Order.SetNotation +public import Mathlib.Order.BooleanAlgebra.Set +public import Mathlib.Order.Bounds.Defs /-! # Definitions about filters @@ -60,6 +62,8 @@ at the cost of including the assumption `[NeBot f]` in a number of lemmas and de * [N. Bourbaki, *General Topology*][bourbaki1966] -/ +@[expose] public section + assert_not_exists RelIso open Set diff --git a/Mathlib/Order/Filter/ENNReal.lean b/Mathlib/Order/Filter/ENNReal.lean index 0528b55e154f73..1f5a374d043992 100644 --- a/Mathlib/Order/Filter/ENNReal.lean +++ b/Mathlib/Order/Filter/ENNReal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Topology.Order.LiminfLimsup -import Mathlib.Topology.Metrizable.Real +module + +public import Mathlib.Topology.Order.LiminfLimsup +public import Mathlib.Topology.Metrizable.Real /-! # Limsup and liminf of reals @@ -12,6 +14,8 @@ import Mathlib.Topology.Metrizable.Real This file compiles filter-related results about `ℝ`, `ℝ≥0` and `ℝ≥0∞`. -/ +@[expose] public section + open Filter ENNReal diff --git a/Mathlib/Order/Filter/EventuallyConst.lean b/Mathlib/Order/Filter/EventuallyConst.lean index 2bf1e5a0e8b0ee..5b218820bd6468 100644 --- a/Mathlib/Order/Filter/EventuallyConst.lean +++ b/Mathlib/Order/Filter/EventuallyConst.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Floris van Doorn -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.Subsingleton +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.Subsingleton /-! # Functions that are eventually constant along a filter @@ -21,6 +23,8 @@ Instead, we say that `Filter.map f l` is supported on a subsingleton. This allows us to drop `[Nonempty _]` assumptions here and there. -/ +@[expose] public section + open Set variable {α β γ δ : Type*} {l : Filter α} {f : α → β} diff --git a/Mathlib/Order/Filter/Extr.lean b/Mathlib/Order/Filter/Extr.lean index f25c1e0b498130..d69fd68ce9462f 100644 --- a/Mathlib/Order/Filter/Extr.lean +++ b/Mathlib/Order/Filter/Extr.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.Tendsto -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Data.Finset.Lattice.Fold /-! # Minimum and maximum w.r.t. a filter and on a set @@ -74,6 +76,8 @@ Similar predicates with `on` suffix are particular cases for `l = 𝓟 s`. types of filters, and define the missing lemmas once one of these two lists grows. -/ +@[expose] public section + universe u v w x diff --git a/Mathlib/Order/Filter/FilterProduct.lean b/Mathlib/Order/Filter/FilterProduct.lean index f0522a99cf27d4..489912032f8cd1 100644 --- a/Mathlib/Order/Filter/FilterProduct.lean +++ b/Mathlib/Order/Filter/FilterProduct.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Abhimanyu Pallavi Sudhir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Abhimanyu Pallavi Sudhir, Yury Kudryashov -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Order.Filter.Ring -import Mathlib.Order.Filter.Ultrafilter.Defs +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Order.Filter.Ring +public import Mathlib.Order.Filter.Ultrafilter.Defs /-! # Ultraproducts @@ -20,6 +22,8 @@ ultrafilter. Definitions and properties that work for any filter should go to `O ultrafilter, ultraproduct -/ +@[expose] public section + universe u v diff --git a/Mathlib/Order/Filter/Finite.lean b/Mathlib/Order/Filter/Finite.lean index cc2cda77d69bfc..da3dc4327baa2a 100644 --- a/Mathlib/Order/Filter/Finite.lean +++ b/Mathlib/Order/Filter/Finite.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.CompleteLattice.Finset -import Mathlib.Order.Filter.Basic +module + +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.CompleteLattice.Finset +public import Mathlib.Order.Filter.Basic /-! # Results relating filters to finiteness @@ -13,6 +15,8 @@ import Mathlib.Order.Filter.Basic This file proves that finitely many conditions eventually hold if each of them eventually holds. -/ +@[expose] public section + open Function Set Order open scoped symmDiff diff --git a/Mathlib/Order/Filter/Germ/Basic.lean b/Mathlib/Order/Filter/Germ/Basic.lean index 8b88df6cdbfc4f..c8d648e2557467 100644 --- a/Mathlib/Order/Filter/Germ/Basic.lean +++ b/Mathlib/Order/Filter/Germ/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Abhimanyu Pallavi Sudhir -/ -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Data.Int.Cast.Pi -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Order.Filter.Tendsto +module + +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE +public import Mathlib.Data.Int.Cast.Basic +public import Mathlib.Data.Int.Cast.Pi +public import Mathlib.Data.Nat.Cast.Basic +public import Mathlib.Order.Filter.Tendsto /-! # Germ of a function at a filter @@ -52,6 +54,8 @@ For each of the following structures we prove that if `β` has this structure, t filter, germ -/ +@[expose] public section + assert_not_exists OrderedSemiring open scoped Relator diff --git a/Mathlib/Order/Filter/Germ/OrderedMonoid.lean b/Mathlib/Order/Filter/Germ/OrderedMonoid.lean index 199974b208f4f7..5bd28d90ae604f 100644 --- a/Mathlib/Order/Filter/Germ/OrderedMonoid.lean +++ b/Mathlib/Order/Filter/Germ/OrderedMonoid.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Abhimanyu Pallavi Sudhir -/ -import Mathlib.Algebra.Module.Pi -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Order.Filter.Germ.Basic +module + +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Order.Filter.Germ.Basic /-! # Ordered monoid instances on the space of germs of a function at a filter @@ -20,6 +22,8 @@ For each of the following structures we prove that if `β` has this structure, t filter, germ -/ +@[expose] public section + namespace Filter.Germ variable {α : Type*} {β : Type*} {l : Filter α} diff --git a/Mathlib/Order/Filter/IndicatorFunction.lean b/Mathlib/Order/Filter/IndicatorFunction.lean index ce817acdc5544e..da71a3f77ad791 100644 --- a/Mathlib/Order/Filter/IndicatorFunction.lean +++ b/Mathlib/Order/Filter/IndicatorFunction.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yury Kudryashov -/ -import Mathlib.Algebra.Group.Indicator -import Mathlib.Order.CompleteLattice.Finset -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.Order.Filter.Tendsto +module + +public import Mathlib.Algebra.Group.Indicator +public import Mathlib.Order.CompleteLattice.Finset +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.Order.Filter.Tendsto /-! # Indicator function and filters @@ -18,6 +20,8 @@ Properties of additive and multiplicative indicator functions involving `=ᶠ` a indicator, characteristic, filter -/ +@[expose] public section + variable {α β M E : Type*} open Set Filter diff --git a/Mathlib/Order/Filter/Interval.lean b/Mathlib/Order/Filter/Interval.lean index 9fd813961a0b87..27e3e39e0cfe76 100644 --- a/Mathlib/Order/Filter/Interval.lean +++ b/Mathlib/Order/Filter/Interval.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Order.Filter.SmallSets -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Order.Filter.Bases.Finite +module + +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Order.Filter.SmallSets +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Order.Filter.Bases.Finite /-! # Convergence of intervals @@ -73,6 +75,8 @@ that need topology are defined in `Mathlib/Topology/Algebra/Ordered`. -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Order/Filter/IsBounded.lean b/Mathlib/Order/Filter/IsBounded.lean index 55bad3731414f1..2f7b74ad0a0e1a 100644 --- a/Mathlib/Order/Filter/IsBounded.lean +++ b/Mathlib/Order/Filter/IsBounded.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Johannes Hölzl, Rémy Degenne -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Order.Filter.Cofinite +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Defs +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Order.Filter.Cofinite /-! # Lemmas about `Is(Co)Bounded(Under)` @@ -16,6 +18,8 @@ This file proves several lemmas about `IsBounded`, `IsBoundedUnder`, `IsCobounded` and `IsCoboundedUnder`. -/ +@[expose] public section + open Set Function variable {α β γ ι : Type*} diff --git a/Mathlib/Order/Filter/Ker.lean b/Mathlib/Order/Filter/Ker.lean index ba8503a4f6052c..4924f9f749c7ec 100644 --- a/Mathlib/Order/Filter/Ker.lean +++ b/Mathlib/Order/Filter/Ker.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Filter.Map +module + +public import Mathlib.Order.Filter.Map /-! # Kernel of a filter @@ -15,6 +17,8 @@ We also prove that `Filter.principal` and `Filter.ker` form a Galois coinsertion and prove other basic theorems about `Filter.ker`. -/ +@[expose] public section + open Function Set namespace Filter diff --git a/Mathlib/Order/Filter/Lift.lean b/Mathlib/Order/Filter/Lift.lean index b4f192aa3e880a..002da45b05b096 100644 --- a/Mathlib/Order/Filter/Lift.lean +++ b/Mathlib/Order/Filter/Lift.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Filter.Prod -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.Bases.Basic +module + +public import Mathlib.Order.Filter.Prod +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.Bases.Basic /-! # Lift filters along filter and set functions -/ +@[expose] public section + open Set Filter Function namespace Filter diff --git a/Mathlib/Order/Filter/ListTraverse.lean b/Mathlib/Order/Filter/ListTraverse.lean index 392ccfec14112a..3d7be1bd5da6a8 100644 --- a/Mathlib/Order/Filter/ListTraverse.lean +++ b/Mathlib/Order/Filter/ListTraverse.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Control.Traversable.Instances -import Mathlib.Order.Filter.Map +module + +public import Mathlib.Control.Traversable.Instances +public import Mathlib.Order.Filter.Map /-! # Properties of `Traversable.traverse` on `List`s and `Filter`s @@ -12,6 +14,8 @@ In this file we prove basic properties (monotonicity, membership) for `Traversable.traverse f l`, where `f : β → Filter α` and `l : List β`. -/ +@[expose] public section + open Set List namespace Filter diff --git a/Mathlib/Order/Filter/Map.lean b/Mathlib/Order/Filter/Map.lean index ea3ee175a62211..4f11bfc0dd3f04 100644 --- a/Mathlib/Order/Filter/Map.lean +++ b/Mathlib/Order/Filter/Map.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Control.Basic -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Order.Filter.Basic +module + +public import Mathlib.Control.Basic +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Order.Filter.Basic /-! # Theorems about map and comap on filters. -/ +@[expose] public section + assert_not_exists OrderedSemiring Fintype open Function Set Order diff --git a/Mathlib/Order/Filter/NAry.lean b/Mathlib/Order/Filter/NAry.lean index 940e04a6e41d09..72bc3e1814763a 100644 --- a/Mathlib/Order/Filter/NAry.lean +++ b/Mathlib/Order/Filter/NAry.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Filter.Prod +module + +public import Mathlib.Order.Filter.Prod /-! # N-ary maps of filter @@ -21,6 +23,8 @@ This file is very similar to `Data.Set.NAry`, `Data.Finset.NAry` and `Data.Optio keep them in sync. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Order/Filter/Partial.lean b/Mathlib/Order/Filter/Partial.lean index 6d53cd0f4935c9..322251651dfef2 100644 --- a/Mathlib/Order/Filter/Partial.lean +++ b/Mathlib/Order/Filter/Partial.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Order.Filter.Tendsto -import Mathlib.Data.PFun +module + +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Data.PFun /-! # `Tendsto` for relations and partial functions @@ -39,6 +41,8 @@ We first take care of relations. Then the definitions for partial functions are cases of the definitions for relations. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Order/Filter/Pi.lean b/Mathlib/Order/Filter/Pi.lean index 889d6b0ef7446a..4969404ae44652 100644 --- a/Mathlib/Order/Filter/Pi.lean +++ b/Mathlib/Order/Filter/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alex Kontorovich -/ -import Mathlib.Data.Set.Piecewise -import Mathlib.Order.Filter.Tendsto -import Mathlib.Order.Filter.Bases.Finite +module + +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Order.Filter.Bases.Finite /-! # (Co)product of a family of filters @@ -21,6 +23,8 @@ In this file we define two filters on `Π i, α i` and prove some basic properti of `comap (eval i) (f i)`. -/ +@[expose] public section + open Set Function Filter diff --git a/Mathlib/Order/Filter/Pointwise.lean b/Mathlib/Order/Filter/Pointwise.lean index 7dd83fa14a7ed3..edce082be5a788 100644 --- a/Mathlib/Order/Filter/Pointwise.lean +++ b/Mathlib/Order/Filter/Pointwise.lean @@ -3,16 +3,18 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou, Yaël Dillies -/ -import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Algebra.Ring.Defs -import Mathlib.Order.Filter.AtTopBot.Map -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.NAry -import Mathlib.Order.Filter.Ultrafilter.Defs +module + +public import Mathlib.Algebra.Group.Action.Pointwise.Set.Basic +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Order.Filter.AtTopBot.Map +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.NAry +public import Mathlib.Order.Filter.Ultrafilter.Defs /-! # Pointwise operations on filters @@ -59,6 +61,8 @@ instances reducible changes the behavior of `simp`). filter multiplication, filter addition, pointwise addition, pointwise multiplication, -/ +@[expose] public section + open Function Set Filter Pointwise diff --git a/Mathlib/Order/Filter/Prod.lean b/Mathlib/Order/Filter/Prod.lean index 046bae270d6408..7d1a516654ba89 100644 --- a/Mathlib/Order/Filter/Prod.lean +++ b/Mathlib/Order/Filter/Prod.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Yury Kudryashov, Kevin H. Wilson, Heather Macbeth -/ -import Mathlib.Order.Filter.Tendsto +module + +public import Mathlib.Order.Filter.Tendsto /-! # Product and coproduct filters @@ -34,6 +36,8 @@ As product filter we want to have `F` as result. -/ +@[expose] public section + open Set open Filter diff --git a/Mathlib/Order/Filter/Ring.lean b/Mathlib/Order/Filter/Ring.lean index c197dd757438a3..dff093cd185350 100644 --- a/Mathlib/Order/Filter/Ring.lean +++ b/Mathlib/Order/Filter/Ring.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Order.Filter.Germ.OrderedMonoid -import Mathlib.Algebra.Order.Ring.Defs +module + +public import Mathlib.Order.Filter.Germ.OrderedMonoid +public import Mathlib.Algebra.Order.Ring.Defs /-! # Lemmas about filters and ordered rings. -/ + +@[expose] public section namespace Filter open Function Filter diff --git a/Mathlib/Order/Filter/SmallSets.lean b/Mathlib/Order/Filter/SmallSets.lean index fba4ce053e079b..8832ce845e7287 100644 --- a/Mathlib/Order/Filter/SmallSets.lean +++ b/Mathlib/Order/Filter/SmallSets.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Floris van Doorn, Yury Kudryashov -/ -import Mathlib.Order.Filter.Lift -import Mathlib.Order.Filter.AtTopBot.Basic +module + +public import Mathlib.Order.Filter.Lift +public import Mathlib.Order.Filter.AtTopBot.Basic /-! # The filter of small sets @@ -19,6 +21,8 @@ then saying that `fun i ↦ support (f i)` tendsto `(𝓝 0).smallSets` is a way `f` tends to the Dirac delta distribution. -/ +@[expose] public section + open Filter diff --git a/Mathlib/Order/Filter/Subsingleton.lean b/Mathlib/Order/Filter/Subsingleton.lean index 2d970ffc18af71..e3df3be6e331c8 100644 --- a/Mathlib/Order/Filter/Subsingleton.lean +++ b/Mathlib/Order/Filter/Subsingleton.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.CountablyGenerated -import Mathlib.Order.Filter.Prod -import Mathlib.Order.Filter.Ultrafilter.Defs +module + +public import Mathlib.Order.Filter.CountablyGenerated +public import Mathlib.Order.Filter.Prod +public import Mathlib.Order.Filter.Ultrafilter.Defs /-! # Subsingleton filters @@ -13,6 +15,8 @@ We say that a filter `l` is a *subsingleton* if there exists a subsingleton set Equivalently, `l` is either `⊥` or `pure a` for some `a`. -/ +@[expose] public section + open Set variable {α β : Type*} {l : Filter α} diff --git a/Mathlib/Order/Filter/Tendsto.lean b/Mathlib/Order/Filter/Tendsto.lean index dda3854d6a154b..1e565d404950dd 100644 --- a/Mathlib/Order/Filter/Tendsto.lean +++ b/Mathlib/Order/Filter/Tendsto.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad -/ -import Mathlib.Order.Filter.Basic -import Mathlib.Order.Filter.Map +module + +public import Mathlib.Order.Filter.Basic +public import Mathlib.Order.Filter.Map /-! # Convergence in terms of filters @@ -18,6 +20,8 @@ some `x` and `u n` belongs to a set `M` for `n` large enough then `x` is in the which is a special case of `mem_closure_of_tendsto` from `Topology/Basic`. -/ +@[expose] public section + open Set Filter variable {α β γ : Type*} {ι : Sort*} diff --git a/Mathlib/Order/Filter/Ultrafilter/Basic.lean b/Mathlib/Order/Filter/Ultrafilter/Basic.lean index b32c9e9aab3c6d..cc769db13c4663 100644 --- a/Mathlib/Order/Filter/Ultrafilter/Basic.lean +++ b/Mathlib/Order/Filter/Ultrafilter/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov -/ -import Mathlib.Order.Filter.Ultrafilter.Defs -import Mathlib.Order.Filter.Cofinite -import Mathlib.Order.ZornAtoms +module + +public import Mathlib.Order.Filter.Ultrafilter.Defs +public import Mathlib.Order.Filter.Cofinite +public import Mathlib.Order.ZornAtoms /-! # Ultrafilters @@ -16,6 +18,8 @@ In this file we define * `hyperfilter`: the ultrafilter extending the cofinite filter. -/ +@[expose] public section + universe u v variable {α : Type u} {β : Type v} diff --git a/Mathlib/Order/Filter/Ultrafilter/Defs.lean b/Mathlib/Order/Filter/Ultrafilter/Defs.lean index 5b17fa7f161266..a7c1e0de304139 100644 --- a/Mathlib/Order/Filter/Ultrafilter/Defs.lean +++ b/Mathlib/Order/Filter/Ultrafilter/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jeremy Avigad, Yury Kudryashov -/ -import Mathlib.Order.Filter.Map -import Mathlib.Order.ZornAtoms +module + +public import Mathlib.Order.Filter.Map +public import Mathlib.Order.ZornAtoms /-! # Ultrafilters @@ -18,6 +20,8 @@ In this file we define * `Ultrafilter.map`, `Ultrafilter.bind`, `Ultrafilter.comap` : operations on ultrafilters; -/ +@[expose] public section + assert_not_exists Set.Finite universe u v diff --git a/Mathlib/Order/Filter/ZeroAndBoundedAtFilter.lean b/Mathlib/Order/Filter/ZeroAndBoundedAtFilter.lean index 86fb85687f05f2..fe544e9c6ec5b6 100644 --- a/Mathlib/Order/Filter/ZeroAndBoundedAtFilter.lean +++ b/Mathlib/Order/Filter/ZeroAndBoundedAtFilter.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.Analysis.Asymptotics.Lemmas -import Mathlib.Algebra.Algebra.Pi +module + +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.Analysis.Asymptotics.Lemmas +public import Mathlib.Algebra.Algebra.Pi /-! # Zero and Bounded at filter @@ -17,6 +19,8 @@ that are `BoundedAtFilter`. -/ +@[expose] public section + namespace Filter diff --git a/Mathlib/Order/Fin/Basic.lean b/Mathlib/Order/Fin/Basic.lean index c979d18f58ce62..ed76f9de3827fb 100644 --- a/Mathlib/Order/Fin/Basic.lean +++ b/Mathlib/Order/Fin/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Keeley Hoek -/ -import Mathlib.Data.Fin.Embedding -import Mathlib.Data.Fin.Rev -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Data.Fin.Embedding +public import Mathlib.Data.Fin.Rev +public import Mathlib.Order.Hom.Basic /-! # `Fin n` forms a bounded linear order @@ -33,6 +35,8 @@ This file expands on the development in the core library. * `Fin.revOrderIso`: `Fin.rev` as an `OrderIso`, the antitone involution given by `i ↦ n-(i+1)` -/ +@[expose] public section + assert_not_exists Monoid open Function Nat Set diff --git a/Mathlib/Order/Fin/Finset.lean b/Mathlib/Order/Fin/Finset.lean index f4bd982c8df155..283edb290ab5ef 100644 --- a/Mathlib/Order/Fin/Finset.lean +++ b/Mathlib/Order/Fin/Finset.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.Fin.Tuple -import Mathlib.Order.Hom.Set -import Mathlib.Data.Finset.Insert +module + +public import Mathlib.Order.Fin.Tuple +public import Mathlib.Order.Hom.Set +public import Mathlib.Data.Finset.Insert /-! # Order isomorphisms from Fin to finsets @@ -22,6 +24,8 @@ to the finset `{a, b, c}` when `a < b` and `b < c`. -/ +@[expose] public section + namespace Fin variable {α : Type*} [Preorder α] diff --git a/Mathlib/Order/Fin/SuccAboveOrderIso.lean b/Mathlib/Order/Fin/SuccAboveOrderIso.lean index a4e7776ad5c59a..30ecd6f3de8541 100644 --- a/Mathlib/Order/Fin/SuccAboveOrderIso.lean +++ b/Mathlib/Order/Fin/SuccAboveOrderIso.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.Order.Fin.Basic -import Mathlib.Data.Fintype.Basic -import Mathlib.Tactic.FinCases +public import Mathlib.Order.Fin.Basic +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Tactic.FinCases /-! # The order isomorphism `Fin (n + 1) ≃o {i}ᶜ` @@ -16,6 +17,8 @@ an order isomorphism `Fin (n + 1) ≃o ({i}ᶜ : Finset (Fin (n + 2)))`. -/ +@[expose] public section + open Finset /-- Given `i : Fin (n + 2)`, this is the order isomorphism diff --git a/Mathlib/Order/Fin/Tuple.lean b/Mathlib/Order/Fin/Tuple.lean index 0e659fc1d72d12..4a6bc9e130cfc2 100644 --- a/Mathlib/Order/Fin/Tuple.lean +++ b/Mathlib/Order/Fin/Tuple.lean @@ -3,16 +3,20 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yury Kudryashov, Sébastien Gouëzel, Chris Hughes -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Order.Fin.Basic -import Mathlib.Order.PiLex -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Order.Fin.Basic +public import Mathlib.Order.PiLex +public import Mathlib.Order.Interval.Set.Defs /-! # Order properties on tuples -/ +@[expose] public section + assert_not_exists Monoid open Function Set diff --git a/Mathlib/Order/FixedPoints.lean b/Mathlib/Order/FixedPoints.lean index 9145c3b8a3a7d4..a6027fe91ef98c 100644 --- a/Mathlib/Order/FixedPoints.lean +++ b/Mathlib/Order/FixedPoints.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Kenny Lau, Yury Kudryashov -/ -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.Order.Hom.Order -import Mathlib.Order.OmegaCompletePartialOrder +module + +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.Order.Hom.Order +public import Mathlib.Order.OmegaCompletePartialOrder /-! # Fixed point construction on complete lattices @@ -28,6 +30,8 @@ This file sets up the basic theory of fixed points of a monotone function in a c fixed point, complete lattice, monotone function -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Order/GaloisConnection/Basic.lean b/Mathlib/Order/GaloisConnection/Basic.lean index 86ed031b87d214..e57707d2c7de14 100644 --- a/Mathlib/Order/GaloisConnection/Basic.lean +++ b/Mathlib/Order/GaloisConnection/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Bounds.Image -import Mathlib.Order.CompleteLattice.Basic -import Mathlib.Order.WithBot +module + +public import Mathlib.Order.Bounds.Image +public import Mathlib.Order.CompleteLattice.Basic +public import Mathlib.Order.WithBot /-! # Galois connections, insertions and coinsertions @@ -36,6 +38,8 @@ with a proof that intersection of subgroups is a subgroup, rather than the closu intersection. -/ +@[expose] public section + open Function OrderDual Set diff --git a/Mathlib/Order/GaloisConnection/Defs.lean b/Mathlib/Order/GaloisConnection/Defs.lean index 52f18bf4687d0c..750d6b935e2f4f 100644 --- a/Mathlib/Order/GaloisConnection/Defs.lean +++ b/Mathlib/Order/GaloisConnection/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.Monotone.Basic -import Mathlib.Tactic.Monotonicity.Attr -import Mathlib.Util.AssertExists +module + +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Order.Monotone.Basic +public import Mathlib.Tactic.Monotonicity.Attr +public import Mathlib.Util.AssertExists /-! # Galois connections, insertions and coinsertions @@ -23,6 +25,8 @@ such that `∀ a b, l a ≤ b ↔ a ≤ u b`. * `GaloisCoinsertion`: A Galois coinsertion is a Galois connection where `u ∘ l = id` -/ +@[expose] public section + assert_not_exists CompleteLattice RelIso open Function OrderDual Set diff --git a/Mathlib/Order/GameAdd.lean b/Mathlib/Order/GameAdd.lean index 253ac21e814476..f7301ad9257bd6 100644 --- a/Mathlib/Order/GameAdd.lean +++ b/Mathlib/Order/GameAdd.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Data.Sym.Sym2 -import Mathlib.Logic.Relation +module + +public import Mathlib.Data.Sym.Sym2 +public import Mathlib.Logic.Relation /-! # Game addition relation @@ -27,6 +29,8 @@ We also define `Sym2.GameAdd`, which is the unordered pair analog of `Prod.GameA decreases at a time. -/ +@[expose] public section + variable {α β : Type*} {rα : α → α → Prop} {rβ : β → β → Prop} {a : α} {b : β} /-! ### `Prod.GameAdd` -/ diff --git a/Mathlib/Order/Grade.lean b/Mathlib/Order/Grade.lean index 8f0ed418d18aaf..77331441610402 100644 --- a/Mathlib/Order/Grade.lean +++ b/Mathlib/Order/Grade.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Violeta Hernández Palacios. All rights reserv Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Violeta Hernández Palacios, Grayson Burton, Vladimir Ivanov -/ -import Mathlib.Data.Int.SuccPred -import Mathlib.Order.Fin.Basic +module + +public import Mathlib.Data.Int.SuccPred +public import Mathlib.Order.Fin.Basic /-! # Graded orders @@ -54,6 +56,8 @@ Instead, we define graded orders by their grade function, without talking about * [Richard Stanley, *Enumerative Combinatorics*][stanley2012] -/ +@[expose] public section + open Nat OrderDual variable {𝕆 ℙ α β : Type*} diff --git a/Mathlib/Order/Height.lean b/Mathlib/Order/Height.lean index c9792100fee89a..ea99c6d25077f6 100644 --- a/Mathlib/Order/Height.lean +++ b/Mathlib/Order/Height.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Data.ENat.Lattice -import Mathlib.Order.OrderIsoNat -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Order.OrderIsoNat +public import Mathlib.Tactic.TFAE /-! @@ -40,6 +42,8 @@ This is defined as the maximum of the lengths of `Set.subchain`s, valued in `ℕ -/ +@[expose] public section + assert_not_exists Field open List hiding le_antisymm diff --git a/Mathlib/Order/Heyting/Basic.lean b/Mathlib/Order/Heyting/Basic.lean index a4c58d039b96c3..52da046a9db45a 100644 --- a/Mathlib/Order/Heyting/Basic.lean +++ b/Mathlib/Order/Heyting/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.PropInstances -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.Order.PropInstances +public import Mathlib.Order.GaloisConnection.Defs /-! # Heyting algebras @@ -41,6 +43,8 @@ Heyting algebras are the order-theoretic equivalent of Cartesian-closed categori Heyting, Brouwer, algebra, implication, negation, intuitionistic -/ +@[expose] public section + assert_not_exists RelIso open Function OrderDual diff --git a/Mathlib/Order/Heyting/Boundary.lean b/Mathlib/Order/Heyting/Boundary.lean index 1a1c326ef5f3d5..dc0f70eaf5968e 100644 --- a/Mathlib/Order/Heyting/Boundary.lean +++ b/Mathlib/Order/Heyting/Boundary.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.BooleanAlgebra.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Order.BooleanAlgebra.Basic +public import Mathlib.Tactic.Common /-! # Co-Heyting boundary @@ -22,6 +24,8 @@ boundary. `∂ a` is notation for `Coheyting.boundary a` in scope `Heyting`. -/ +@[expose] public section + assert_not_exists RelIso variable {α : Type*} diff --git a/Mathlib/Order/Heyting/Hom.lean b/Mathlib/Order/Heyting/Hom.lean index cd159d041dd5de..480d84b913689e 100644 --- a/Mathlib/Order/Heyting/Hom.lean +++ b/Mathlib/Order/Heyting/Hom.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.BoundedLattice +module + +public import Mathlib.Order.Hom.BoundedLattice /-! # Heyting algebra morphisms @@ -27,6 +29,8 @@ be satisfied by itself and all stricter types. * `BiheytingHomClass` -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/Heyting/Regular.lean b/Mathlib/Order/Heyting/Regular.lean index 9f3c08e7346acd..123a30e2247a9c 100644 --- a/Mathlib/Order/Heyting/Regular.lean +++ b/Mathlib/Order/Heyting/Regular.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.GaloisConnection.Basic +module + +public import Mathlib.Order.GaloisConnection.Basic /-! # Heyting regular elements @@ -25,6 +27,8 @@ by simply double-negating all propositions. This is practical for synthetic comp * [Francis Borceux, *Handbook of Categorical Algebra III*][borceux-vol3] -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/Hom/Basic.lean b/Mathlib/Order/Hom/Basic.lean index 82eeefd924fd49..31e675bcd0cbac 100644 --- a/Mathlib/Order/Hom/Basic.lean +++ b/Mathlib/Order/Hom/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Order.Disjoint -import Mathlib.Order.RelIso.Basic -import Mathlib.Tactic.Monotonicity.Attr +module + +public import Mathlib.Order.Disjoint +public import Mathlib.Order.RelIso.Basic +public import Mathlib.Tactic.Monotonicity.Attr /-! # Order homomorphisms @@ -66,6 +68,8 @@ We also define two functions to convert other bundled maps to `α →o β`: monotone map, bundled morphism -/ +@[expose] public section + -- Developments relating order homs and sets belong in `Order.Hom.Set` or later. assert_not_imported Mathlib.Data.Set.Basic diff --git a/Mathlib/Order/Hom/Bounded.lean b/Mathlib/Order/Hom/Bounded.lean index 541f7650316069..3d43d9ec6b9173 100644 --- a/Mathlib/Order/Hom/Bounded.lean +++ b/Mathlib/Order/Hom/Bounded.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Order.Hom.Basic /-! # Bounded order homomorphisms @@ -26,6 +28,8 @@ be satisfied by itself and all stricter types. * `BoundedOrderHomClass` -/ +@[expose] public section + open Function OrderDual diff --git a/Mathlib/Order/Hom/BoundedLattice.lean b/Mathlib/Order/Hom/BoundedLattice.lean index 0afbe4d6374352..3bffcd3dfd2619 100644 --- a/Mathlib/Order/Hom/BoundedLattice.lean +++ b/Mathlib/Order/Hom/BoundedLattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.Bounded -import Mathlib.Order.Hom.Lattice -import Mathlib.Order.SymmDiff +module + +public import Mathlib.Order.Hom.Bounded +public import Mathlib.Order.Hom.Lattice +public import Mathlib.Order.SymmDiff /-! # Bounded lattice homomorphisms @@ -32,6 +34,8 @@ be satisfied by itself and all stricter types. Do we need more intersections between `BotHom`, `TopHom` and lattice homomorphisms? -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/Hom/CompleteLattice.lean b/Mathlib/Order/Hom/CompleteLattice.lean index f1b19913284bd6..3f5c5e1d718156 100644 --- a/Mathlib/Order/Hom/CompleteLattice.lean +++ b/Mathlib/Order/Hom/CompleteLattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Order.Hom.BoundedLattice +module + +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Order.Hom.BoundedLattice /-! # Complete lattice homomorphisms @@ -36,6 +38,8 @@ be satisfied by itself and all stricter types. Frame homs are Heyting homs. -/ + +@[expose] public section assert_not_exists Monoid open Function OrderDual Set diff --git a/Mathlib/Order/Hom/Lattice.lean b/Mathlib/Order/Hom/Lattice.lean index f1fb917d7808f0..7d0791ff2e963e 100644 --- a/Mathlib/Order/Hom/Lattice.lean +++ b/Mathlib/Order/Hom/Lattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Order.Hom.Basic /-! # Unbounded lattice homomorphisms @@ -27,6 +29,8 @@ be satisfied by itself and all stricter types. * `LatticeHomClass` -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/Hom/Lex.lean b/Mathlib/Order/Hom/Lex.lean index 08c042b4cb431f..46bbd436d776f7 100644 --- a/Mathlib/Order/Hom/Lex.lean +++ b/Mathlib/Order/Hom/Lex.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Data.Prod.Lex -import Mathlib.Data.Sum.Order -import Mathlib.Order.Hom.Set -import Mathlib.Order.RelIso.Set +module + +public import Mathlib.Data.Prod.Lex +public import Mathlib.Data.Sum.Order +public import Mathlib.Order.Hom.Set +public import Mathlib.Order.RelIso.Set /-! # Lexicographic order and order isomorphisms @@ -19,6 +21,8 @@ import Mathlib.Order.RelIso.Set other side is `Unique`. -/ +@[expose] public section + open Set variable {α : Type*} diff --git a/Mathlib/Order/Hom/Order.lean b/Mathlib/Order/Hom/Order.lean index 2847417a291088..ba8609473ed17b 100644 --- a/Mathlib/Order/Hom/Order.lean +++ b/Mathlib/Order/Hom/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Anne Baanen -/ -import Mathlib.Logic.Function.Iterate -import Mathlib.Order.GaloisConnection.Basic -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Order.GaloisConnection.Basic +public import Mathlib.Order.Hom.Basic /-! # Lattice structure on order homomorphisms @@ -22,6 +24,8 @@ monotone functions. monotone map, bundled morphism -/ +@[expose] public section + namespace OrderHom diff --git a/Mathlib/Order/Hom/Set.lean b/Mathlib/Order/Hom/Set.lean index d406a117029370..cbce0c37ea4538 100644 --- a/Mathlib/Order/Hom/Set.lean +++ b/Mathlib/Order/Hom/Set.lean @@ -3,16 +3,20 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Logic.Equiv.Set -import Mathlib.Order.Hom.Basic -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Order.WellFounded -import Mathlib.Tactic.MinImports +module + +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Order.Hom.Basic +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Order.WellFounded +public import Mathlib.Tactic.MinImports /-! # Order homomorphisms and sets -/ +@[expose] public section + open OrderDual Set diff --git a/Mathlib/Order/Hom/WithTopBot.lean b/Mathlib/Order/Hom/WithTopBot.lean index 1928bd7d753419..564bf8253f740f 100644 --- a/Mathlib/Order/Hom/WithTopBot.lean +++ b/Mathlib/Order/Hom/WithTopBot.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.BoundedLattice -import Mathlib.Order.WithBot +module + +public import Mathlib.Order.Hom.BoundedLattice +public import Mathlib.Order.WithBot /-! # Adjoining `⊤` and `⊥` to order maps and lattice homomorphisms @@ -16,6 +18,8 @@ Some definitions cause a possibly unbounded lattice homomorphism to become bound so they change the type of the homomorphism. -/ +@[expose] public section + variable {α β γ : Type*} diff --git a/Mathlib/Order/Ideal.lean b/Mathlib/Order/Ideal.lean index 058d01211c90cb..d98ecd826a7429 100644 --- a/Mathlib/Order/Ideal.lean +++ b/Mathlib/Order/Ideal.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.Data.Finset.Lattice.Fold -import Mathlib.Logic.Encodable.Basic -import Mathlib.Order.Atoms -import Mathlib.Order.Cofinal -import Mathlib.Order.UpperLower.Principal +module + +public import Mathlib.Data.Finset.Lattice.Fold +public import Mathlib.Logic.Encodable.Basic +public import Mathlib.Order.Atoms +public import Mathlib.Order.Cofinal +public import Mathlib.Order.UpperLower.Principal /-! # Order ideals, cofinal sets, and the Rasiowa–Sikorski lemma @@ -45,6 +47,8 @@ ideal, cofinal, dense, countable, generic -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Order/InitialSeg.lean b/Mathlib/Order/InitialSeg.lean index 5cb02fdb56017c..be328d56116f8b 100644 --- a/Mathlib/Order/InitialSeg.lean +++ b/Mathlib/Order/InitialSeg.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.Data.Sum.Order -import Mathlib.Order.Hom.Lex -import Mathlib.Order.RelIso.Set -import Mathlib.Order.UpperLower.Basic -import Mathlib.Order.WellFounded +module + +public import Mathlib.Data.Sum.Order +public import Mathlib.Order.Hom.Lex +public import Mathlib.Order.RelIso.Set +public import Mathlib.Order.UpperLower.Basic +public import Mathlib.Order.WellFounded /-! # Initial and principal segments @@ -41,6 +43,8 @@ These notations belong to the `InitialSeg` locale. * `α collapseF_lt f, fun a b h ↦ by + ⟨RelEmbedding.ofMonotone _ fun a b => private_decl% (collapseF_lt f), fun a b h ↦ by obtain ⟨m, hm, hm'⟩ := H.wf.has_min { a | ¬s _ b } ⟨_, asymm h⟩ use m obtain lt | rfl | gt := trichotomous_of s b (collapseF f m) diff --git a/Mathlib/Order/Interval/Basic.lean b/Mathlib/Order/Interval/Basic.lean index 1cc429cbdca45f..a97330ced47057 100644 --- a/Mathlib/Order/Interval/Basic.lean +++ b/Mathlib/Order/Interval/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Data.SetLike.Basic +module + +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Data.SetLike.Basic /-! # Order intervals @@ -19,6 +21,8 @@ interval arithmetic. * `Interval`: Intervals. Either `∅` or a nonempty interval. -/ +@[expose] public section + open Function OrderDual Set diff --git a/Mathlib/Order/Interval/Finset/Basic.lean b/Mathlib/Order/Interval/Finset/Basic.lean index 64d1cfef67d9ef..0c4374a38149a9 100644 --- a/Mathlib/Order/Interval/Finset/Basic.lean +++ b/Mathlib/Order/Interval/Finset/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Yaël Dillies -/ -import Mathlib.Order.Cover -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.Preorder.Finite +module + +public import Mathlib.Order.Cover +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.Preorder.Finite /-! # Intervals as finsets @@ -33,6 +35,8 @@ https://github.com/leanprover-community/mathlib/pull/14448#discussion_r906109235 for some ideas. -/ +@[expose] public section + assert_not_exists MonoidWithZero Finset.sum open Function OrderDual diff --git a/Mathlib/Order/Interval/Finset/Box.lean b/Mathlib/Order/Interval/Finset/Box.lean index ad0ffb6217952f..cfbd30aff6c9e5 100644 --- a/Mathlib/Order/Interval/Finset/Box.lean +++ b/Mathlib/Order/Interval/Finset/Box.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Disjointed -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.Order.Ring.Prod -import Mathlib.Data.Int.Interval -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Zify +module + +public import Mathlib.Algebra.Order.Disjointed +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.Order.Ring.Prod +public import Mathlib.Data.Int.Interval +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Zify /-! # Decomposing a locally finite ordered ring into boxes @@ -21,6 +23,8 @@ differences of consecutive intervals. We don't need the full ring structure, only that there is an order embedding `ℤ → ` -/ +@[expose] public section + /-! ### General locally finite ordered ring -/ namespace Finset diff --git a/Mathlib/Order/Interval/Finset/Defs.lean b/Mathlib/Order/Interval/Finset/Defs.lean index 655e0845ee8272..f4e11a21bfa470 100644 --- a/Mathlib/Order/Interval/Finset/Defs.lean +++ b/Mathlib/Order/Interval/Finset/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Preimage -import Mathlib.Data.Finset.Prod -import Mathlib.Order.Hom.WithTopBot -import Mathlib.Order.Interval.Set.UnorderedInterval +module + +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Data.Finset.Prod +public import Mathlib.Order.Hom.WithTopBot +public import Mathlib.Order.Interval.Set.UnorderedInterval /-! # Locally finite orders @@ -94,6 +96,8 @@ successor (and actually a predecessor as well), so it is a `SuccOrder`, but it's as `Icc (-1) 1` is infinite. -/ +@[expose] public section + open Finset Function /-- This is a mixin class describing a locally finite order, @@ -519,7 +523,7 @@ See also TODO: Write a delaborator -/ @[term_elab setBuilder] -def elabFinsetBuilderIxx : TermElab +meta def elabFinsetBuilderIxx : TermElab | `({ $x:ident ≤ $a | $p }), expectedType? => do -- If the expected type is not known to be `Finset ?α`, give up. unless ← knownToBeFinsetNotSet expectedType? do throwUnsupportedSyntax diff --git a/Mathlib/Order/Interval/Finset/DenselyOrdered.lean b/Mathlib/Order/Interval/Finset/DenselyOrdered.lean index c6c2e52c4d9416..8d917ff0ca0fbe 100644 --- a/Mathlib/Order/Interval/Finset/DenselyOrdered.lean +++ b/Mathlib/Order/Interval/Finset/DenselyOrdered.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Order.Interval.Finset.Basic /-! # Linear locally finite orders are densely ordered iff they are trivial @@ -14,6 +16,8 @@ import Mathlib.Order.Interval.Finset.Basic -/ +@[expose] public section + variable {X : Type*} [LinearOrder X] [LocallyFiniteOrder X] lemma LocallyFiniteOrder.denselyOrdered_iff_subsingleton : diff --git a/Mathlib/Order/Interval/Finset/Fin.lean b/Mathlib/Order/Interval/Finset/Fin.lean index 806027aa729275..8942fce656d3fc 100644 --- a/Mathlib/Order/Interval/Finset/Fin.lean +++ b/Mathlib/Order/Interval/Finset/Fin.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Yury Kudryashov -/ -import Mathlib.Data.Finset.Fin -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Order.Interval.Set.Fin +module + +public import Mathlib.Data.Finset.Fin +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Order.Interval.Set.Fin /-! # Finite intervals in `Fin n` @@ -14,6 +16,8 @@ This file proves that `Fin n` is a `LocallyFiniteOrder` and calculates the cardi intervals as Finsets and Fintypes. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Finset Function diff --git a/Mathlib/Order/Interval/Finset/Nat.lean b/Mathlib/Order/Interval/Finset/Nat.lean index b81fad41ffcb71..9619676e59edd1 100644 --- a/Mathlib/Order/Interval/Finset/Nat.lean +++ b/Mathlib/Order/Interval/Finset/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Group.Embedding -import Mathlib.Order.Interval.Finset.SuccPred -import Mathlib.Order.Interval.Multiset +module + +public import Mathlib.Algebra.Group.Embedding +public import Mathlib.Order.Interval.Finset.SuccPred +public import Mathlib.Order.Interval.Multiset /-! # Finite intervals of naturals @@ -19,6 +21,8 @@ Some lemmas can be generalized using `OrderedGroup`, `CanonicallyOrderedMul` or and subsequently be moved upstream to `Order.Interval.Finset`. -/ +@[expose] public section + assert_not_exists Ring open Finset Nat diff --git a/Mathlib/Order/Interval/Finset/SuccPred.lean b/Mathlib/Order/Interval/Finset/SuccPred.lean index 8c1371917e59fe..604e54d33787d7 100644 --- a/Mathlib/Order/Interval/Finset/SuccPred.lean +++ b/Mathlib/Order/Interval/Finset/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.Interval.Set.SuccPred +module + +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.Interval.Set.SuccPred /-! # Finset intervals in a successor-predecessor order @@ -23,6 +25,8 @@ Please keep in sync with: Copy over `insert` lemmas from `Mathlib/Order/Interval/Finset/Nat.lean`. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Order diff --git a/Mathlib/Order/Interval/Lex.lean b/Mathlib/Order/Interval/Lex.lean index 16a3793988aebe..1dac59fd2076dc 100644 --- a/Mathlib/Order/Interval/Lex.lean +++ b/Mathlib/Order/Interval/Lex.lean @@ -3,9 +3,13 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Order.Interval.Basic -import Mathlib.Data.Prod.Lex -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Order.Interval.Basic +public import Mathlib.Data.Prod.Lex +public import Mathlib.Tactic.FastInstance +meta import Mathlib.Order.Interval.Basic -- for `#eval` testing + /-! # The lexicographic order on intervals @@ -14,6 +18,8 @@ This order is compatible with the inclusion ordering, but is total. Under this ordering, `[(3, 3), (2, 2), (2, 3), (1, 1), (1, 2), (1, 3)]` is sorted. -/ +@[expose] public section + namespace NonemptyInterval variable {α} diff --git a/Mathlib/Order/Interval/Multiset.lean b/Mathlib/Order/Interval/Multiset.lean index 1cdb198782b44f..090a9e8f26ff23 100644 --- a/Mathlib/Order/Interval/Multiset.lean +++ b/Mathlib/Order/Interval/Multiset.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Order.Interval.Finset.Basic /-! # Intervals as multisets @@ -31,6 +33,8 @@ In a `LocallyFiniteOrderBot`, Do we really need this file at all? (March 2024) -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Order/Interval/Set/Basic.lean b/Mathlib/Order/Interval/Set/Basic.lean index b2ebf9588d5833..9f589125645023 100644 --- a/Mathlib/Order/Interval/Set/Basic.lean +++ b/Mathlib/Order/Interval/Set/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot, Yury Kudryashov, Rémy Degenne -/ -import Mathlib.Data.Set.Subsingleton -import Mathlib.Order.BooleanAlgebra.Set -import Mathlib.Order.Interval.Set.Defs +module + +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Order.BooleanAlgebra.Set +public import Mathlib.Order.Interval.Set.Defs /-! # Intervals @@ -35,6 +37,8 @@ theorem Ico_subset_Ici (h : a₂ ≤ a₁) : Ico a₁ b₁ ⊆ Ici a₂ := Logical equivalences, such as `Icc_subset_Ici_iff`, are however stated. -/ +@[expose] public section + assert_not_exists RelIso open Function diff --git a/Mathlib/Order/Interval/Set/Defs.lean b/Mathlib/Order/Interval/Set/Defs.lean index c4c30ff59637c7..34daa4956d3d48 100644 --- a/Mathlib/Order/Interval/Set/Defs.lean +++ b/Mathlib/Order/Interval/Set/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.Defs -import Mathlib.Order.Defs.PartialOrder +module + +public import Mathlib.Data.Set.Defs +public import Mathlib.Order.Defs.PartialOrder /-! # Intervals @@ -23,6 +25,8 @@ We also define a typeclass `Set.OrdConnected` saying that a set includes `Set.Icc a b` whenever it contains both `a` and `b`. -/ +@[expose] public section + namespace Set variable {α : Type*} [Preorder α] {a b x : α} diff --git a/Mathlib/Order/Interval/Set/Disjoint.lean b/Mathlib/Order/Interval/Set/Disjoint.lean index 83d169a84f923d..ae4e5793890607 100644 --- a/Mathlib/Order/Interval/Set/Disjoint.lean +++ b/Mathlib/Order/Interval/Set/Disjoint.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yury Kudryashov -/ -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Order.Interval.Set.LinearOrder +module + +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Order.Interval.Set.LinearOrder /-! # Extra lemmas about intervals @@ -16,6 +18,8 @@ from `Data.Set.Lattice`, including `Disjoint`. We consider various intersections and unions of half infinite intervals. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Order/Interval/Set/Fin.lean b/Mathlib/Order/Interval/Set/Fin.lean index d13e6d9363899b..49b6f43d9321e1 100644 --- a/Mathlib/Order/Interval/Set/Fin.lean +++ b/Mathlib/Order/Interval/Set/Fin.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Fin.Basic -import Mathlib.Order.Interval.Set.UnorderedInterval +module + +public import Mathlib.Order.Fin.Basic +public import Mathlib.Order.Interval.Set.UnorderedInterval /-! # (Pre)images of set intervals under `Fin` operations @@ -23,6 +25,8 @@ under the following operations: - `Fin.rev`. -/ +@[expose] public section + open Function Set namespace Fin diff --git a/Mathlib/Order/Interval/Set/Final.lean b/Mathlib/Order/Interval/Set/Final.lean index 52a7d4241793b7..d98d1d596705b1 100644 --- a/Mathlib/Order/Interval/Set/Final.lean +++ b/Mathlib/Order/Interval/Set/Final.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.CategoryTheory.Filtered.Final +module + +public import Mathlib.CategoryTheory.Filtered.Final /-! # Final functors between intervals -/ +@[expose] public section + universe u instance Set.Ici.subtype_functor_final {J : Type u} [LinearOrder J] (j : J) : diff --git a/Mathlib/Order/Interval/Set/Image.lean b/Mathlib/Order/Interval/Set/Image.lean index 1f8c656c3c7349..0fe987f5d5f91d 100644 --- a/Mathlib/Order/Interval/Set/Image.lean +++ b/Mathlib/Order/Interval/Set/Image.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Yaël Dillies -/ -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Data.Set.Function -import Mathlib.Order.Directed +module + +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Directed /-! # Monotone functions on intervals @@ -14,6 +16,8 @@ This file shows many variants of the fact that a monotone function `f` sends an endpoints `a` and `b` to the interval with endpoints `f a` and `f b`. -/ +@[expose] public section + variable {α β : Type*} {f : α → β} open Set diff --git a/Mathlib/Order/Interval/Set/Infinite.lean b/Mathlib/Order/Interval/Set/Infinite.lean index f6d1cfbc032d3b..638bf1d1dc076c 100644 --- a/Mathlib/Order/Interval/Set/Infinite.lean +++ b/Mathlib/Order/Interval/Set/Infinite.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Order.Interval.Set.Basic +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Order.Interval.Set.Basic /-! # Infinitude of intervals @@ -14,6 +16,8 @@ in orders that are unbounded on the appropriate side. We also prove that an unbo preorder is an infinite type. -/ +@[expose] public section + variable {α : Type*} [Preorder α] diff --git a/Mathlib/Order/Interval/Set/InitialSeg.lean b/Mathlib/Order/Interval/Set/InitialSeg.lean index 399bb0faee906a..698c9901098a7d 100644 --- a/Mathlib/Order/Interval/Set/InitialSeg.lean +++ b/Mathlib/Order/Interval/Set/InitialSeg.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.InitialSeg +module + +public import Mathlib.Order.InitialSeg /-! # Intervals as initial segments @@ -14,6 +16,8 @@ isomorphic to `Set.Iio f.top`. -/ +@[expose] public section + namespace Set variable {α : Type*} [Preorder α] diff --git a/Mathlib/Order/Interval/Set/IsoIoo.lean b/Mathlib/Order/Interval/Set/IsoIoo.lean index cf9bf475145d24..748ae90131418d 100644 --- a/Mathlib/Order/Interval/Set/IsoIoo.lean +++ b/Mathlib/Order/Interval/Set/IsoIoo.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Monotone.Odd -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Order.Monotone.Odd +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Tactic.FieldSimp /-! # Order isomorphism between a linear ordered field and `(-1, 1)` @@ -14,6 +16,8 @@ In this file we provide an order isomorphism `orderIsoIooNegOneOne` between the `(-1, 1)` in a linear ordered field and the whole field. -/ +@[expose] public section + open Set /-- In a linear ordered field, the whole field is order isomorphic to the open interval `(-1, 1)`. diff --git a/Mathlib/Order/Interval/Set/Limit.lean b/Mathlib/Order/Interval/Set/Limit.lean index fa146d3d78df94..95de006de57713 100644 --- a/Mathlib/Order/Interval/Set/Limit.lean +++ b/Mathlib/Order/Interval/Set/Limit.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.SetIsMax -import Mathlib.Order.SuccPred.Limit +module + +public import Mathlib.Order.SetIsMax +public import Mathlib.Order.SuccPred.Limit /-! # Limit elements in Set.Ici @@ -15,6 +17,8 @@ and `m : Set.Ici j` is successor limit, then -/ +@[expose] public section + universe u namespace Set.Ici diff --git a/Mathlib/Order/Interval/Set/LinearOrder.lean b/Mathlib/Order/Interval/Set/LinearOrder.lean index c852c5c841b53f..8fc99c22269ed6 100644 --- a/Mathlib/Order/Interval/Set/LinearOrder.lean +++ b/Mathlib/Order/Interval/Set/LinearOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot, Yury Kudryashov, Rémy Degenne -/ -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.MinMax +module + +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.MinMax /-! # Interval properties in linear orders @@ -13,6 +15,8 @@ Since every pair of elements are comparable in a linear order, intervals over th better behaved. This file collects their properties under this assumption. -/ +@[expose] public section + assert_not_exists RelIso open Function diff --git a/Mathlib/Order/Interval/Set/Monotone.lean b/Mathlib/Order/Interval/Set/Monotone.lean index 0fc6a784809cd8..6ee91f45707224 100644 --- a/Mathlib/Order/Interval/Set/Monotone.lean +++ b/Mathlib/Order/Interval/Set/Monotone.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Monotone -import Mathlib.Order.Interval.Set.Disjoint -import Mathlib.Order.SuccPred.Archimedean +module + +public import Mathlib.Data.Set.Monotone +public import Mathlib.Order.Interval.Set.Disjoint +public import Mathlib.Order.SuccPred.Archimedean /-! # Monotonicity on intervals @@ -14,6 +16,8 @@ In this file we prove that `Set.Ici` etc. are monotone/antitone functions. We al about functions monotone on intervals in `SuccOrder`s. -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/Interval/Set/OrdConnected.lean b/Mathlib/Order/Interval/Set/OrdConnected.lean index 5f1d60ddd0f5c1..eda3d1b2a5c5e5 100644 --- a/Mathlib/Order/Interval/Set/OrdConnected.lean +++ b/Mathlib/Order/Interval/Set/OrdConnected.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.OrderEmbedding -import Mathlib.Order.Antichain -import Mathlib.Order.SetNotation +module + +public import Mathlib.Order.Interval.Set.OrderEmbedding +public import Mathlib.Order.Antichain +public import Mathlib.Order.SetNotation /-! # Order-connected sets @@ -19,6 +21,8 @@ In this file we prove that intersection of a family of `OrdConnected` sets is `O that all standard intervals are `OrdConnected`. -/ +@[expose] public section + open scoped Interval open Set open OrderDual (toDual ofDual) diff --git a/Mathlib/Order/Interval/Set/OrdConnectedComponent.lean b/Mathlib/Order/Interval/Set/OrdConnectedComponent.lean index f9e029ca8a4c6d..442742305150e7 100644 --- a/Mathlib/Order/Interval/Set/OrdConnectedComponent.lean +++ b/Mathlib/Order/Interval/Set/OrdConnectedComponent.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Data.Set.Lattice.Image +module + +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Data.Set.Lattice.Image /-! # Order connected components of a set @@ -15,6 +17,8 @@ this construction is used only to prove that any linear order with order topolog so we only add API needed for this lemma. -/ +@[expose] public section + open Interval Function OrderDual diff --git a/Mathlib/Order/Interval/Set/OrdConnectedLinear.lean b/Mathlib/Order/Interval/Set/OrdConnectedLinear.lean index 07f7cc799754e6..8915d38652358b 100644 --- a/Mathlib/Order/Interval/Set/OrdConnectedLinear.lean +++ b/Mathlib/Order/Interval/Set/OrdConnectedLinear.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Bhavik Mehta, Oliver Nash -/ -import Mathlib.Data.Nat.Lattice -import Mathlib.Data.Int.ConditionallyCompleteOrder -import Mathlib.Data.Int.Interval -import Mathlib.Data.Int.SuccPred +module + +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Data.Int.ConditionallyCompleteOrder +public import Mathlib.Data.Int.Interval +public import Mathlib.Data.Int.SuccPred /-! # Order-connected subsets of linear orders @@ -26,6 +28,8 @@ some convenience lemmas for characterising closed intervals in certain concrete * `Set.Nonempty.eq_Icc_iff_int`: characterisation of closed intervals for `ℤ`. -/ +@[expose] public section + variable {α : Type*} {I : Set α} lemma Set.Nonempty.ordConnected_iff_of_bdd diff --git a/Mathlib/Order/Interval/Set/OrderEmbedding.lean b/Mathlib/Order/Interval/Set/OrderEmbedding.lean index 139c2db545ffb8..40e3ddf8404e68 100644 --- a/Mathlib/Order/Interval/Set/OrderEmbedding.lean +++ b/Mathlib/Order/Interval/Set/OrderEmbedding.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.UnorderedInterval -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Order.Interval.Set.UnorderedInterval +public import Mathlib.Order.Hom.Basic /-! # Preimages of intervals under order embeddings @@ -15,6 +17,8 @@ is an interval in the domain. Note that similar statements about images require the range to be order-connected. -/ +@[expose] public section + open Set namespace OrderEmbedding diff --git a/Mathlib/Order/Interval/Set/OrderIso.lean b/Mathlib/Order/Interval/Set/OrderIso.lean index b23c2799a05f45..97bf5ad629b358 100644 --- a/Mathlib/Order/Interval/Set/OrderIso.lean +++ b/Mathlib/Order/Interval/Set/OrderIso.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot, Yury Kudryashov, Rémy Degenne -/ -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.Hom.Set +module + +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.Hom.Set /-! # Lemmas about images of intervals under order isomorphisms. -/ +@[expose] public section + open Set namespace OrderIso diff --git a/Mathlib/Order/Interval/Set/Pi.lean b/Mathlib/Order/Interval/Set/Pi.lean index 4c7e0bfbd1c266..34d8dfd94dc4e1 100644 --- a/Mathlib/Order/Interval/Set/Pi.lean +++ b/Mathlib/Order/Interval/Set/Pi.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Notation.Pi.Basic -import Mathlib.Data.Set.BooleanAlgebra -import Mathlib.Data.Set.Piecewise -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.Interval.Set.UnorderedInterval +module + +public import Mathlib.Algebra.Notation.Pi.Basic +public import Mathlib.Data.Set.BooleanAlgebra +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.Interval.Set.UnorderedInterval /-! # Intervals in `pi`-space @@ -17,6 +19,8 @@ In this we prove various simple lemmas about intervals in `Π i, α i`. Closed i usually include the corresponding products as proper subsets. -/ +@[expose] public section + -- Porting note: Added, since dot notation no longer works on `Function.update` open Function diff --git a/Mathlib/Order/Interval/Set/ProjIcc.lean b/Mathlib/Order/Interval/Set/ProjIcc.lean index 52530ac3c96723..e5e95407f9500d 100644 --- a/Mathlib/Order/Interval/Set/ProjIcc.lean +++ b/Mathlib/Order/Interval/Set/ProjIcc.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot -/ -import Mathlib.Data.Set.Function -import Mathlib.Order.Interval.Set.OrdConnected +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Interval.Set.OrdConnected /-! # Projection of a line onto a closed interval @@ -27,6 +29,8 @@ Given a linearly ordered type `α`, in this file we define We also prove some trivial properties of these maps. -/ +@[expose] public section + variable {α β : Type*} [LinearOrder α] diff --git a/Mathlib/Order/Interval/Set/SuccOrder.lean b/Mathlib/Order/Interval/Set/SuccOrder.lean index 2cc2260a24bec9..78ad565df405d9 100644 --- a/Mathlib/Order/Interval/Set/SuccOrder.lean +++ b/Mathlib/Order/Interval/Set/SuccOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.LatticeIntervals -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Order.LatticeIntervals +public import Mathlib.Order.SuccPred.Basic /-! # Successors in intervals @@ -15,6 +17,8 @@ which is not the maximum, we have `↑(Order.succ i) = Order.succ ↑i`. -/ +@[expose] public section + namespace Set variable {J : Type*} [PartialOrder J] diff --git a/Mathlib/Order/Interval/Set/SuccPred.lean b/Mathlib/Order/Interval/Set/SuccPred.lean index cede5c208ec0fb..c192b2275847d7 100644 --- a/Mathlib/Order/Interval/Set/SuccPred.lean +++ b/Mathlib/Order/Interval/Set/SuccPred.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.SuccPred.Basic /-! # Set intervals in a successor-predecessor order @@ -23,6 +25,8 @@ Please keep in sync with: Copy over `insert` lemmas from `Mathlib/Order/Interval/Finset/Nat.lean`. -/ +@[expose] public section + assert_not_exists MonoidWithZero open Order diff --git a/Mathlib/Order/Interval/Set/SurjOn.lean b/Mathlib/Order/Interval/Set/SurjOn.lean index 60d3c57ac79da0..4a50cb8bb9918e 100644 --- a/Mathlib/Order/Interval/Set/SurjOn.lean +++ b/Mathlib/Order/Interval/Set/SurjOn.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Data.Set.Function -import Mathlib.Order.Interval.Set.LinearOrder +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Interval.Set.LinearOrder /-! # Monotone surjective functions are surjective on intervals @@ -14,6 +16,8 @@ endpoints in the range. This is expressed in this file using `Set.surjOn`, and permutations of interval endpoints. -/ +@[expose] public section + variable {α : Type*} {β : Type*} [LinearOrder α] [PartialOrder β] {f : α → β} diff --git a/Mathlib/Order/Interval/Set/Union.lean b/Mathlib/Order/Interval/Set/Union.lean index 233de1dfbe78f5..dc766d2af4b033 100644 --- a/Mathlib/Order/Interval/Set/Union.lean +++ b/Mathlib/Order/Interval/Set/Union.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Oliver Butterley. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Butterley -/ -import Mathlib.Data.Finset.Range -import Mathlib.Data.Set.Lattice -import Mathlib.Order.Interval.Set.LinearOrder +module + +public import Mathlib.Data.Finset.Range +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.Interval.Set.LinearOrder /-! # Extra lemmas about unions of intervals @@ -15,6 +17,8 @@ concerning infinite unions in `Mathlib/Order/Interval/Set/Disjoint.lean` because `Finset.range`. -/ +@[expose] public section + open Set /-- Union of consecutive intervals contains the interval defined by the initial and final points. -/ diff --git a/Mathlib/Order/Interval/Set/UnorderedInterval.lean b/Mathlib/Order/Interval/Set/UnorderedInterval.lean index a3f66b3caca2a6..6d477809f18d75 100644 --- a/Mathlib/Order/Interval/Set/UnorderedInterval.lean +++ b/Mathlib/Order/Interval/Set/UnorderedInterval.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Zhouhang Zhou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Zhouhang Zhou -/ -import Mathlib.Data.Set.Order -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.Interval.Set.Image -import Mathlib.Order.Interval.Set.LinearOrder -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Set.Order +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.Interval.Set.Image +public import Mathlib.Order.Interval.Set.LinearOrder +public import Mathlib.Tactic.Common /-! # Intervals without endpoints ordering @@ -35,6 +37,8 @@ make the notation available. -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/Interval/Set/WithBotTop.lean b/Mathlib/Order/Interval/Set/WithBotTop.lean index 40a7d1873d6460..b5a3918e4c355f 100644 --- a/Mathlib/Order/Interval/Set/WithBotTop.lean +++ b/Mathlib/Order/Interval/Set/WithBotTop.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Image -import Mathlib.Order.Interval.Set.Basic -import Mathlib.Order.WithBot +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Order.Interval.Set.Basic +public import Mathlib.Order.WithBot /-! # Intervals in `WithTop α` and `WithBot α` @@ -14,6 +16,8 @@ In this file we prove various lemmas about `Set.image`s and `Set.preimage`s of i `some : α → WithTop α` and `some : α → WithBot α`. -/ +@[expose] public section + open Set variable {α : Type*} diff --git a/Mathlib/Order/Irreducible.lean b/Mathlib/Order/Irreducible.lean index 073fbe1f19059d..dc96b3fdd2bbb9 100644 --- a/Mathlib/Order/Irreducible.lean +++ b/Mathlib/Order/Irreducible.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Finset.Lattice.Fold +module + +public import Mathlib.Data.Finset.Lattice.Fold /-! # Irreducible and prime elements in an order @@ -28,6 +30,8 @@ Both hold for all (non-minimal) elements in a linear order. in a well-founded semilattice. -/ +@[expose] public section + open Finset OrderDual diff --git a/Mathlib/Order/IsNormal.lean b/Mathlib/Order/IsNormal.lean index e4b0394efff8f8..c7059b46f6de8f 100644 --- a/Mathlib/Order/IsNormal.lean +++ b/Mathlib/Order/IsNormal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.SuccPred.CompleteLinearOrder -import Mathlib.Order.SuccPred.InitialSeg +module + +public import Mathlib.Order.SuccPred.CompleteLinearOrder +public import Mathlib.Order.SuccPred.InitialSeg /-! # Normal functions @@ -22,6 +24,8 @@ bound of `f b` with `b < a`. * Replace `Ordinal.IsNormal` by this more general notion. -/ +@[expose] public section + open Order Set variable {α β γ : Type*} {a b : α} {f : α → β} {g : β → γ} diff --git a/Mathlib/Order/Iterate.lean b/Mathlib/Order/Iterate.lean index dcb7f3e67db0d2..77b379eeb592a9 100644 --- a/Mathlib/Order/Iterate.lean +++ b/Mathlib/Order/Iterate.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Logic.Function.Iterate -import Mathlib.Order.Monotone.Basic +module + +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Order.Monotone.Basic /-! # Inequalities on iterates @@ -16,6 +18,8 @@ Current selection of inequalities is motivated by formalization of the rotation a circle homeomorphism. -/ +@[expose] public section + open Function open Function (Commute) diff --git a/Mathlib/Order/JordanHolder.lean b/Mathlib/Order/JordanHolder.lean index 77b96b2af127be..dd5ad6cab1075a 100644 --- a/Mathlib/Order/JordanHolder.lean +++ b/Mathlib/Order/JordanHolder.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Order.Lattice -import Mathlib.Data.List.Sort -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Logic.Equiv.Functor -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Order.RelSeries +module + +public import Mathlib.Order.Lattice +public import Mathlib.Data.List.Sort +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Logic.Equiv.Functor +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Order.RelSeries /-! # Jordan-Hölder Theorem @@ -68,6 +70,8 @@ instances should not be a global instance. > See `JordanHolderModule.instJordanHolderLattice`. -/ +@[expose] public section + universe u diff --git a/Mathlib/Order/KonigLemma.lean b/Mathlib/Order/KonigLemma.lean index e70ad7b8c00eda..7f7aa0ba2744fd 100644 --- a/Mathlib/Order/KonigLemma.lean +++ b/Mathlib/Order/KonigLemma.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Order.Atoms.Finite -import Mathlib.Order.Grade -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Order.Atoms.Finite +public import Mathlib.Order.Grade +public import Mathlib.Tactic.ApplyFun /-! # Kőnig's infinity lemma @@ -50,6 +52,8 @@ Formulate the lemma as a statement about graphs. -/ +@[expose] public section + open Set section Sequence diff --git a/Mathlib/Order/KrullDimension.lean b/Mathlib/Order/KrullDimension.lean index 5239078c410898..9cd25d2893f1f4 100644 --- a/Mathlib/Order/KrullDimension.lean +++ b/Mathlib/Order/KrullDimension.lean @@ -3,13 +3,14 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Fangming Li, Joachim Breitner -/ +module -import Mathlib.Algebra.Order.Group.Int -import Mathlib.Algebra.Order.SuccPred.WithBot -import Mathlib.Data.ENat.Lattice -import Mathlib.Order.Atoms -import Mathlib.Order.RelSeries -import Mathlib.Tactic.FinCases +public import Mathlib.Algebra.Order.Group.Int +public import Mathlib.Algebra.Order.SuccPred.WithBot +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Order.Atoms +public import Mathlib.Order.RelSeries +public import Mathlib.Tactic.FinCases /-! # Krull dimension of a preordered set and height of an element @@ -60,6 +61,8 @@ in this file would generalize as well. But we don't think it would be useful, so Krull dimension of a preorder. -/ +@[expose] public section + assert_not_exists Field namespace Order diff --git a/Mathlib/Order/Lattice.lean b/Mathlib/Order/Lattice.lean index 545f40930f7139..ee5c7c50863f17 100644 --- a/Mathlib/Order/Lattice.lean +++ b/Mathlib/Order/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Bool.Basic -import Mathlib.Order.Monotone.Basic -import Mathlib.Order.ULift +module + +public import Mathlib.Data.Bool.Basic +public import Mathlib.Order.Monotone.Basic +public import Mathlib.Order.ULift /-! # (Semi-)lattices @@ -48,6 +50,8 @@ semilattice, lattice -/ +@[expose] public section + universe u v w variable {α : Type u} {β : Type v} diff --git a/Mathlib/Order/Lattice/Congruence.lean b/Mathlib/Order/Lattice/Congruence.lean index 28ada5e6c71806..52a9ff8fefc1a8 100644 --- a/Mathlib/Order/Lattice/Congruence.lean +++ b/Mathlib/Order/Lattice/Congruence.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Data.Setoid.Basic -import Mathlib.Order.Lattice -import Mathlib.Order.Hom.Lattice +module + +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Order.Lattice +public import Mathlib.Order.Hom.Lattice /-! # Lattice Congruences @@ -29,6 +31,8 @@ import Mathlib.Order.Hom.Lattice Lattice, Congruence -/ +@[expose] public section + variable {F α β : Type*} [Lattice α] [Lattice β] variable (α) in diff --git a/Mathlib/Order/LatticeIntervals.lean b/Mathlib/Order/LatticeIntervals.lean index 3ec8bf04cf0c88..aa8ec0baffe61d 100644 --- a/Mathlib/Order/LatticeIntervals.lean +++ b/Mathlib/Order/LatticeIntervals.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Order.Bounds.Basic +module + +public import Mathlib.Order.Bounds.Basic /-! # Intervals in Lattices @@ -25,6 +27,8 @@ In the following, `*` can represent either `c`, `o`, or `i`. * `Set.Ici.boundedOrder`, within an `OrderTop` -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Order/LiminfLimsup.lean b/Mathlib/Order/LiminfLimsup.lean index c96db7ea6897dd..c11b0db7c7737b 100644 --- a/Mathlib/Order/LiminfLimsup.lean +++ b/Mathlib/Order/LiminfLimsup.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Johannes Hölzl, Rémy Degenne -/ -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.Filter.IsBounded -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.Filter.IsBounded +public import Mathlib.Order.Hom.CompleteLattice /-! # liminfs and limsups of functions and filters @@ -35,6 +37,8 @@ the definitions of Limsup and Liminf. In complete lattices, however, it coincides with the `Inf Sup` definition. -/ +@[expose] public section + open Filter Set Function variable {α β γ ι ι' : Type*} diff --git a/Mathlib/Order/Max.lean b/Mathlib/Order/Max.lean index 64524125938ccf..03591cb21b31fe 100644 --- a/Mathlib/Order/Max.lean +++ b/Mathlib/Order/Max.lean @@ -3,7 +3,9 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Order.Synonym +module + +public import Mathlib.Order.Synonym /-! # Minimal/maximal and bottom/top elements @@ -28,6 +30,8 @@ See also `isBot_iff_isMin` and `isTop_iff_isMax` for the equivalences in a (co)d * `NoMaxOrder`: An order without maximal elements. -/ +@[expose] public section + open OrderDual diff --git a/Mathlib/Order/MinMax.lean b/Mathlib/Order/MinMax.lean index 3fcee411a62444..3bf793e371124f 100644 --- a/Mathlib/Order/MinMax.lean +++ b/Mathlib/Order/MinMax.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Logic.OpClass -import Mathlib.Order.Lattice +module + +public import Mathlib.Logic.OpClass +public import Mathlib.Order.Lattice /-! # `max` and `min` @@ -16,6 +18,8 @@ This file proves basic properties about maxima and minima on a `LinearOrder`. min, max -/ +@[expose] public section + universe u v diff --git a/Mathlib/Order/Minimal.lean b/Mathlib/Order/Minimal.lean index c033cfff2d6eaf..554f31fba51ea9 100644 --- a/Mathlib/Order/Minimal.lean +++ b/Mathlib/Order/Minimal.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Peter Nelson -/ -import Mathlib.Order.Hom.Basic -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Order.WellFounded +module + +public import Mathlib.Order.Hom.Basic +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Order.WellFounded /-! # Minimality and Maximality @@ -39,6 +41,8 @@ but it may be worth re-examining this to make it easier in the future; see the T * API for `MinimalFor`/`MaximalFor` -/ +@[expose] public section + assert_not_exists CompleteLattice open Set OrderDual diff --git a/Mathlib/Order/ModularLattice.lean b/Mathlib/Order/ModularLattice.lean index a8930e0060af8a..3de20b9f0104dc 100644 --- a/Mathlib/Order/ModularLattice.lean +++ b/Mathlib/Order/ModularLattice.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Yaël Dillies -/ -import Mathlib.Data.Set.Monotone -import Mathlib.Order.Cover -import Mathlib.Order.LatticeIntervals -import Mathlib.Order.GaloisConnection.Defs +module + +public import Mathlib.Data.Set.Monotone +public import Mathlib.Order.Cover +public import Mathlib.Order.LatticeIntervals +public import Mathlib.Order.GaloisConnection.Defs /-! # Modular Lattices @@ -52,6 +54,8 @@ We define (semi)modularity typeclasses as Prop-valued mixins. - Relate atoms and coatoms in modular lattices -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/Monotone/Basic.lean b/Mathlib/Order/Monotone/Basic.lean index b667182c6df7f1..ed205257b4b0fc 100644 --- a/Mathlib/Order/Monotone/Basic.lean +++ b/Mathlib/Order/Monotone/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Yaël Dillies -/ -import Mathlib.Data.Nat.Basic -import Mathlib.Data.Int.Order.Basic -import Mathlib.Logic.Function.Iterate -import Mathlib.Order.Compare -import Mathlib.Order.Max -import Mathlib.Order.Monotone.Defs -import Mathlib.Order.RelClasses -import Mathlib.Tactic.Choose +module + +public import Mathlib.Data.Nat.Basic +public import Mathlib.Data.Int.Order.Basic +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Order.Compare +public import Mathlib.Order.Max +public import Mathlib.Order.Monotone.Defs +public import Mathlib.Order.RelClasses +public import Mathlib.Tactic.Choose /-! # Monotonicity @@ -48,6 +50,8 @@ monotone, strictly monotone, antitone, strictly antitone, increasing, strictly i decreasing, strictly decreasing -/ +@[expose] public section + open Function OrderDual universe u v diff --git a/Mathlib/Order/Monotone/Defs.lean b/Mathlib/Order/Monotone/Defs.lean index 619dd2ab390a24..3360cc95ec661e 100644 --- a/Mathlib/Order/Monotone/Defs.lean +++ b/Mathlib/Order/Monotone/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2014 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Yaël Dillies -/ -import Mathlib.Data.Set.Operations -import Mathlib.Logic.Function.Iterate -import Mathlib.Order.Basic -import Mathlib.Tactic.Coe -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.Set.Operations +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Order.Basic +public import Mathlib.Tactic.Coe +public import Mathlib.Util.AssertExists /-! # Monotonicity @@ -42,6 +44,8 @@ monotone, strictly monotone, antitone, strictly antitone, increasing, strictly i decreasing, strictly decreasing -/ +@[expose] public section + assert_not_exists Nat.instLinearOrder Int.instLinearOrder diff --git a/Mathlib/Order/Monotone/Extension.lean b/Mathlib/Order/Monotone/Extension.lean index bf4f181821b4d2..0a2680e26e125a 100644 --- a/Mathlib/Order/Monotone/Extension.lean +++ b/Mathlib/Order/Monotone/Extension.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Data.Set.Monotone -import Mathlib.Order.ConditionallyCompleteLattice.Basic +module + +public import Mathlib.Data.Set.Monotone +public import Mathlib.Order.ConditionallyCompleteLattice.Basic /-! # Extension of a monotone function from a set to the whole space @@ -13,6 +15,8 @@ In this file we prove that if a function is monotone and is bounded on a set `s` monotone extension to the whole space. -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/Monotone/Monovary.lean b/Mathlib/Order/Monotone/Monovary.lean index e15f7e2dbf971d..8285fa51e59416 100644 --- a/Mathlib/Order/Monotone/Monovary.lean +++ b/Mathlib/Order/Monotone/Monovary.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Operations -import Mathlib.Order.Lattice +module + +public import Mathlib.Data.Set.Operations +public import Mathlib.Order.Lattice /-! # Monovariance of functions @@ -24,6 +26,8 @@ This condition comes up in the rearrangement inequality. See `Algebra.Order.Rear * `AntivaryOn f g s`: `f` antivaries with `g` on `s`. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Order/Monotone/MonovaryOrder.lean b/Mathlib/Order/Monotone/MonovaryOrder.lean index 1dd22cf9006ac8..65ecd4ea83c9bf 100644 --- a/Mathlib/Order/Monotone/MonovaryOrder.lean +++ b/Mathlib/Order/Monotone/MonovaryOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Monotone.Monovary -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Order.Monotone.Monovary +public import Mathlib.SetTheory.Cardinal.Order /-! # Interpreting monovarying functions as monotone functions @@ -13,6 +15,8 @@ This file proves that monovarying functions to linear orders can be made simulta setting the correct order on their shared indexing type. -/ +@[expose] public section + open Function Set variable {ι ι' α β γ : Type*} diff --git a/Mathlib/Order/Monotone/Odd.lean b/Mathlib/Order/Monotone/Odd.lean index 5c9f3dd31e0f20..b65216c8e0afc2 100644 --- a/Mathlib/Order/Monotone/Odd.lean +++ b/Mathlib/Order/Monotone/Odd.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Defs -import Mathlib.Algebra.Order.Monoid.OrderDual -import Mathlib.Order.Monotone.Union +module + +public import Mathlib.Algebra.Order.Group.Defs +public import Mathlib.Algebra.Order.Monoid.OrderDual +public import Mathlib.Order.Monotone.Union /-! # Monotonicity of odd functions @@ -15,6 +17,8 @@ provided that it is monotone on `Set.Ici 0`, see `monotone_of_odd_of_monotoneOn_ prove versions of this lemma for `Antitone`, `StrictMono`, and `StrictAnti`. -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/Monotone/Union.lean b/Mathlib/Order/Monotone/Union.lean index e1d57e863f7f37..18f2af817e9f22 100644 --- a/Mathlib/Order/Monotone/Union.lean +++ b/Mathlib/Order/Monotone/Union.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ -import Mathlib.Order.Bounds.Basic -import Mathlib.Order.Interval.Set.LinearOrder +module + +public import Mathlib.Order.Bounds.Basic +public import Mathlib.Order.Interval.Set.LinearOrder /-! # Monotonicity on intervals @@ -15,6 +17,8 @@ of a more general statement where one deduces monotonicity on a union from monot set. -/ +@[expose] public section + open Set diff --git a/Mathlib/Order/Nat.lean b/Mathlib/Order/Nat.lean index cff543489216aa..28358a5083d955 100644 --- a/Mathlib/Order/Nat.lean +++ b/Mathlib/Order/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2014 Floris van Doorn (c) 2016 Microsoft Corporation. All rights r Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Nat.Find -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.Bounds.Defs +module + +public import Mathlib.Data.Nat.Find +public import Mathlib.Order.BoundedOrder.Basic +public import Mathlib.Order.Bounds.Defs /-! # The natural numbers form a linear order @@ -19,6 +21,8 @@ See note [foundational algebra order theory]. Move the `LinearOrder ℕ` instance here (https://github.com/leanprover-community/mathlib4/pull/13092). -/ +@[expose] public section + namespace Nat instance instOrderBot : OrderBot ℕ where diff --git a/Mathlib/Order/Notation.lean b/Mathlib/Order/Notation.lean index 82984794ff4e3e..db3d8eeefc51e1 100644 --- a/Mathlib/Order/Notation.lean +++ b/Mathlib/Order/Notation.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Yury Kudryashov, Yaël Dillies -/ -import Qq -import Mathlib.Lean.PrettyPrinter.Delaborator -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.Simps.NotationClass +module + +public import Qq +public meta import Mathlib.Lean.PrettyPrinter.Delaborator +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.Simps.NotationClass /-! # Notation classes for lattice operations @@ -34,6 +36,8 @@ Lemmas about the operators `⊔` and `⊓` should use the names `sup` and `inf` -/ +@[expose] public section + /-- Set / lattice complement -/ @[notation_class] class HasCompl (α : Type*) where @@ -70,11 +74,11 @@ namespace Mathlib.Meta open Lean Meta PrettyPrinter Delaborator SubExpr Qq -- irreducible to not confuse Qq -@[irreducible] private def linearOrderExpr (u : Level) : Q(Type u → Type u) := +@[irreducible] private meta def linearOrderExpr (u : Level) : Q(Type u → Type u) := .const `LinearOrder [u] -private def linearOrderToMax (u : Level) : Q((a : Type u) → $(linearOrderExpr u) a → Max a) := +private meta def linearOrderToMax (u : Level) : Q((a : Type u) → $(linearOrderExpr u) a → Max a) := .const `LinearOrder.toMax [u] -private def linearOrderToMin (u : Level) : Q((a : Type u) → $(linearOrderExpr u) a → Min a) := +private meta def linearOrderToMin (u : Level) : Q((a : Type u) → $(linearOrderExpr u) a → Min a) := .const `LinearOrder.toMin [u] /-- @@ -82,7 +86,7 @@ Return `true` if `LinearOrder` is imported and `inst` comes from a `LinearOrder We use a `try catch` block to make sure there are no surprising errors during delaboration. -/ -private def hasLinearOrder (u : Level) (α : Q(Type u)) (cls : Q(Type u → Type u)) +private meta def hasLinearOrder (u : Level) (α : Q(Type u)) (cls : Q(Type u → Type u)) (toCls : Q((α : Type u) → $(linearOrderExpr u) α → $cls α)) (inst : Q($cls $α)) : MetaM Bool := do try @@ -100,7 +104,7 @@ private def hasLinearOrder (u : Level) (α : Q(Type u)) (cls : Q(Type u → Type /-- Delaborate `max x y` into `x ⊔ y` if the type is not a linear order. -/ @[delab app.Max.max] -def delabSup : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do +meta def delabSup : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do let_expr f@Max.max α inst _ _ := ← getExpr | failure have u := f.constLevels![0]! if ← hasLinearOrder u α q(Max) q($(linearOrderToMax u)) inst then @@ -112,7 +116,7 @@ def delabSup : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotat /-- Delaborate `min x y` into `x ⊓ y` if the type is not a linear order. -/ @[delab app.Min.min] -def delabInf : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do +meta def delabInf : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation do let_expr f@Min.min α inst _ _ := ← getExpr | failure have u := f.constLevels![0]! if ← hasLinearOrder u α q(Min) q($(linearOrderToMin u)) inst then diff --git a/Mathlib/Order/Nucleus.lean b/Mathlib/Order/Nucleus.lean index c042f6f0595717..b785ab0dc9b0f8 100644 --- a/Mathlib/Order/Nucleus.lean +++ b/Mathlib/Order/Nucleus.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Krause. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chriara Cimino, Christian Krause -/ -import Mathlib.Order.Closure -import Mathlib.Order.Hom.CompleteLattice +module + +public import Mathlib.Order.Closure +public import Mathlib.Order.Hom.CompleteLattice /-! # Nucleus @@ -20,6 +22,8 @@ https://ncatlab.org/nlab/show/sublocale https://ncatlab.org/nlab/show/nucleus -/ +@[expose] public section + open Order InfHom Set variable {X : Type*} @@ -254,6 +258,7 @@ instance range.instFrameMinimalAxioms : Frame.MinimalAxioms (range n) where instance : Frame (range n) := .ofMinimalAxioms range.instFrameMinimalAxioms +set_option backward.proofsInPublic false in /-- Restrict a nucleus to its range. -/ @[simps] def restrict (n : Nucleus X) : FrameHom X (range n) where toFun := rangeFactorization n diff --git a/Mathlib/Order/OmegaCompletePartialOrder.lean b/Mathlib/Order/OmegaCompletePartialOrder.lean index 88d2e6d705d952..105713414d532d 100644 --- a/Mathlib/Order/OmegaCompletePartialOrder.lean +++ b/Mathlib/Order/OmegaCompletePartialOrder.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Ira Fesefeldt -/ -import Mathlib.Control.Monad.Basic -import Mathlib.Dynamics.FixedPoints.Basic -import Mathlib.Order.CompleteLattice.Basic -import Mathlib.Order.Iterate -import Mathlib.Order.Part -import Mathlib.Order.Preorder.Chain -import Mathlib.Order.ScottContinuity +module + +public import Mathlib.Control.Monad.Basic +public import Mathlib.Dynamics.FixedPoints.Basic +public import Mathlib.Order.CompleteLattice.Basic +public import Mathlib.Order.Iterate +public import Mathlib.Order.Part +public import Mathlib.Order.Preorder.Chain +public import Mathlib.Order.ScottContinuity /-! # Omega Complete Partial Orders @@ -54,6 +56,8 @@ supremum helps define the meaning of recursive procedures. * [Semantics of Programming Languages: Structures and Techniques][gunter1992] -/ +@[expose] public section + assert_not_exists OrderedCommMonoid universe u v diff --git a/Mathlib/Order/OrdContinuous.lean b/Mathlib/Order/OrdContinuous.lean index 7762cea3ae81cc..7382ec68bbef15 100644 --- a/Mathlib/Order/OrdContinuous.lean +++ b/Mathlib/Order/OrdContinuous.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Johannes Hölzl -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.RelIso.Basic +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.RelIso.Basic /-! # Order continuity @@ -18,6 +20,8 @@ We prove some basic lemmas (`map_sup`, `map_sSup` etc) and prove that a `RelIso` and right order continuous. -/ +@[expose] public section + universe u v w x diff --git a/Mathlib/Order/OrderIsoNat.lean b/Mathlib/Order/OrderIsoNat.lean index 658a458658a304..2482e1dd81925f 100644 --- a/Mathlib/Order/OrderIsoNat.lean +++ b/Mathlib/Order/OrderIsoNat.lean @@ -3,12 +3,13 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ +module -import Mathlib.Data.Nat.Lattice -import Mathlib.Logic.Denumerable -import Mathlib.Logic.Function.Iterate -import Mathlib.Order.Hom.Basic -import Mathlib.Data.Set.Subsingleton +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Logic.Denumerable +public import Mathlib.Logic.Function.Iterate +public import Mathlib.Order.Hom.Basic +public import Mathlib.Data.Set.Subsingleton /-! # Relation embeddings from the naturals @@ -25,6 +26,8 @@ defines the limit value of an eventually-constant sequence. in the sequence. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Order/PFilter.lean b/Mathlib/Order/PFilter.lean index d4611745445506..08fd982ae85afa 100644 --- a/Mathlib/Order/PFilter.lean +++ b/Mathlib/Order/PFilter.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Mathieu Guay-Paquet. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mathieu Guay-Paquet -/ -import Mathlib.Order.Ideal +module + +public import Mathlib.Order.Ideal /-! # Order filters @@ -30,6 +32,8 @@ pfilter, filter, ideal, dual -/ +@[expose] public section + open OrderDual namespace Order diff --git a/Mathlib/Order/Part.lean b/Mathlib/Order/Part.lean index d5e8b158e2ec8d..61c79a201d6ab6 100644 --- a/Mathlib/Order/Part.lean +++ b/Mathlib/Order/Part.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Part -import Mathlib.Order.Hom.Basic -import Mathlib.Tactic.Common +module + +public import Mathlib.Data.Part +public import Mathlib.Order.Hom.Basic +public import Mathlib.Tactic.Common /-! # Monotonicity of monadic operations on `Part` -/ +@[expose] public section + open Part variable {α β γ : Type*} [Preorder α] diff --git a/Mathlib/Order/PartialSups.lean b/Mathlib/Order/PartialSups.lean index 21dbe95fe602ca..7d82bdfccd231b 100644 --- a/Mathlib/Order/PartialSups.lean +++ b/Mathlib/Order/PartialSups.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Order.SuccPred.Basic /-! # The monotone sequence of partial supremums of a sequence @@ -34,6 +36,8 @@ One might dispute whether this sequence should start at `f 0` or `⊥`. We choos -/ +@[expose] public section + open Finset variable {α β ι : Type*} diff --git a/Mathlib/Order/Partition/Basic.lean b/Mathlib/Order/Partition/Basic.lean index 399d1bf36952c5..1b0cd5efe8021e 100644 --- a/Mathlib/Order/Partition/Basic.lean +++ b/Mathlib/Order/Partition/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.SupIndep +module + +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.SupIndep /-! # Partitions @@ -28,6 +30,8 @@ where `s` is the set of all `x` for which `r x x`. * Give API lemmas for the specialization to the `Set` case. -/ + +@[expose] public section variable {α : Type*} {s x y : α} open Set diff --git a/Mathlib/Order/Partition/Equipartition.lean b/Mathlib/Order/Partition/Equipartition.lean index 7e764c2e270773..19dbdab93b81b5 100644 --- a/Mathlib/Order/Partition/Equipartition.lean +++ b/Mathlib/Order/Partition/Equipartition.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Data.Set.Equitable -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Order.Partition.Finpartition -import Mathlib.Tactic.ApplyFun +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Data.Set.Equitable +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Order.Partition.Finpartition +public import Mathlib.Tactic.ApplyFun /-! # Finite equipartitions @@ -23,6 +25,8 @@ difference of `1`. the number of parts. -/ +@[expose] public section + open Finset Fintype diff --git a/Mathlib/Order/Partition/Finpartition.lean b/Mathlib/Order/Partition/Finpartition.lean index 6c72295357903d..d31bec063efaaa 100644 --- a/Mathlib/Order/Partition/Finpartition.lean +++ b/Mathlib/Order/Partition/Finpartition.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Yaël Dillies, Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Bhavik Mehta -/ -import Mathlib.Data.Finset.Lattice.Prod -import Mathlib.Data.Fintype.Powerset -import Mathlib.Data.Setoid.Basic -import Mathlib.Order.Atoms -import Mathlib.Order.SupIndep -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Data.Finset.Lattice.Prod +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Order.Atoms +public import Mathlib.Order.SupIndep +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Finite partitions @@ -59,6 +61,8 @@ the literature and turn the order around? The specialisation to `Finset α` could be generalised to atomistic orders. -/ +@[expose] public section + open Finset Function diff --git a/Mathlib/Order/PiLex.lean b/Mathlib/Order/PiLex.lean index 047e538648406c..04f481de3d52c3 100644 --- a/Mathlib/Order/PiLex.lean +++ b/Mathlib/Order/PiLex.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Order.WellFounded -import Mathlib.Tactic.Common +module + +public import Mathlib.Order.WellFounded +public import Mathlib.Tactic.Common /-! # Lexicographic order on Pi types @@ -30,6 +32,8 @@ Related files are: * `Data.Prod.Lex`: Lexicographic order on `α × β`. -/ +@[expose] public section + assert_not_exists Monoid variable {ι : Type*} {β : ι → Type*} (r : ι → ι → Prop) (s : ∀ {i}, β i → β i → Prop) diff --git a/Mathlib/Order/Preorder/Chain.lean b/Mathlib/Order/Preorder/Chain.lean index 9c8a9ad0a4e350..83d772cc2ee490 100644 --- a/Mathlib/Order/Preorder/Chain.lean +++ b/Mathlib/Order/Preorder/Chain.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Data.Set.Pairwise.Basic -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.Directed -import Mathlib.Order.Hom.Set +module + +public import Mathlib.Data.Set.Pairwise.Basic +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.Directed +public import Mathlib.Order.Hom.Set /-! # Chains and flags @@ -25,6 +27,8 @@ Originally ported from Isabelle/HOL. The Fleuriot, Tobias Nipkow, Christian Sternagel. -/ +@[expose] public section + assert_not_exists CompleteLattice open Set diff --git a/Mathlib/Order/Preorder/Finite.lean b/Mathlib/Order/Preorder/Finite.lean index c1551df4f331d5..b0493edf0c8b73 100644 --- a/Mathlib/Order/Preorder/Finite.lean +++ b/Mathlib/Order/Preorder/Finite.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Order.Minimal +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Order.Minimal /-! # Finite preorders and finite sets in a preorder @@ -13,6 +15,8 @@ This file shows that non-empty finite sets in a preorder have minimal/maximal el contrapositively that non-empty sets without minimal or maximal elements are infinite. -/ +@[expose] public section + variable {ι α β : Type*} namespace Finset diff --git a/Mathlib/Order/Preorder/Finsupp.lean b/Mathlib/Order/Preorder/Finsupp.lean index 21892cef13b223..8c6946db7e764c 100644 --- a/Mathlib/Order/Preorder/Finsupp.lean +++ b/Mathlib/Order/Preorder/Finsupp.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Aaron Anderson -/ -import Mathlib.Data.Finsupp.Defs +module + +public import Mathlib.Data.Finsupp.Defs /-! # Pointwise order on finitely supported functions @@ -11,6 +13,8 @@ import Mathlib.Data.Finsupp.Defs This file lifts order structures on `M` to `ι →₀ M`. -/ +@[expose] public section + assert_not_exists CompleteLattice noncomputable section diff --git a/Mathlib/Order/PrimeIdeal.lean b/Mathlib/Order/PrimeIdeal.lean index 0375c9156d41a8..3d1efcc8764a35 100644 --- a/Mathlib/Order/PrimeIdeal.lean +++ b/Mathlib/Order/PrimeIdeal.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Noam Atar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Noam Atar -/ -import Mathlib.Order.Ideal -import Mathlib.Order.PFilter +module + +public import Mathlib.Order.Ideal +public import Mathlib.Order.PFilter /-! # Prime ideals @@ -30,6 +32,8 @@ ideal, prime -/ +@[expose] public section + open Order.PFilter diff --git a/Mathlib/Order/PrimeSeparator.lean b/Mathlib/Order/PrimeSeparator.lean index 128945e3f2d9e9..5f11e5593be1ad 100644 --- a/Mathlib/Order/PrimeSeparator.lean +++ b/Mathlib/Order/PrimeSeparator.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Sam van Gool. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sam van Gool -/ +module -import Mathlib.Order.PrimeIdeal -import Mathlib.Order.Zorn +public import Mathlib.Order.PrimeIdeal +public import Mathlib.Order.Zorn /-! # Separating prime filters and ideals @@ -25,6 +26,8 @@ ideal, filter, prime, distributive lattice (1938)][Sto1938] -/ +@[expose] public section + universe u variable {α : Type*} diff --git a/Mathlib/Order/Prod/Lex/Hom.lean b/Mathlib/Order/Prod/Lex/Hom.lean index 7d13b65c6331ac..01429ff42b6876 100644 --- a/Mathlib/Order/Prod/Lex/Hom.lean +++ b/Mathlib/Order/Prod/Lex/Hom.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Data.Prod.Lex -import Mathlib.Order.Hom.Basic +module + +public import Mathlib.Data.Prod.Lex +public import Mathlib.Order.Hom.Basic /-! # Order homomorphism for `Prod.Lex` -/ +@[expose] public section + /-- `toLex` as an `OrderHom`. -/ @[simps] def Prod.Lex.toLexOrderHom {α β : Type*} [PartialOrder α] [Preorder β] : diff --git a/Mathlib/Order/PropInstances.lean b/Mathlib/Order/PropInstances.lean index e22bfeea679bc1..ab21ed1f551f29 100644 --- a/Mathlib/Order/PropInstances.lean +++ b/Mathlib/Order/PropInstances.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Disjoint +module + +public import Mathlib.Order.Disjoint /-! @@ -13,6 +15,8 @@ Instances on `Prop` such as `DistribLattice`, `BoundedOrder`, `LinearOrder`. -/ +@[expose] public section + /-- Propositions form a distributive lattice. -/ instance Prop.instDistribLattice : DistribLattice Prop where sup := Or diff --git a/Mathlib/Order/Radical.lean b/Mathlib/Order/Radical.lean index 74175151d9df53..6091057906ab2d 100644 --- a/Mathlib/Order/Radical.lean +++ b/Mathlib/Order/Radical.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Colva Roney-Dougal. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Colva Roney-Dougal, Inna Capdeboscq, Susanna Fishel, Kim Morrison -/ -import Mathlib.Order.Atoms +module + +public import Mathlib.Order.Atoms /-! # The radical of a lattice @@ -11,6 +13,8 @@ import Mathlib.Order.Atoms This file contains results on the order radical of a lattice: the infimum of the coatoms. -/ +@[expose] public section + /-- The infimum of all coatoms. diff --git a/Mathlib/Order/Rel/GaloisConnection.lean b/Mathlib/Order/Rel/GaloisConnection.lean index c22cf6f8cb614c..701c583e9df069 100644 --- a/Mathlib/Order/Rel/GaloisConnection.lean +++ b/Mathlib/Order/Rel/GaloisConnection.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Lagrange Mathematics and Computing Research Center. All right Released under Apache 2.0 license as described in the file LICENSE. Authors: Anthony Bordg -/ -import Mathlib.Data.Rel +module + +public import Mathlib.Data.Rel /-! # The Galois Connection Induced by a Relation @@ -32,6 +34,8 @@ We define `R.leftFixedPoints` (resp. `R.rightFixedPoints`) as the set of fixed p relation, Galois connection, induced bijection, fixed points -/ +@[expose] public section + variable {α β : Type*} (R : SetRel α β) namespace SetRel diff --git a/Mathlib/Order/RelClasses.lean b/Mathlib/Order/RelClasses.lean index c3f4c3746a5c94..2999c975c26514 100644 --- a/Mathlib/Order/RelClasses.lean +++ b/Mathlib/Order/RelClasses.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Logic.IsEmpty -import Mathlib.Order.Basic -import Mathlib.Tactic.MkIffOfInductiveProp -import Batteries.WF +module + +public import Mathlib.Logic.IsEmpty +public import Mathlib.Order.Basic +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Batteries.WF /-! # Unbundled relation classes @@ -17,6 +19,8 @@ The main difference between these classes and the usual order classes (`Preorder usual classes extend `LE` and/or `LT` while these classes take a relation as an explicit argument. -/ +@[expose] public section + universe u v variable {α : Type u} {β : Type v} {r : α → α → Prop} {s : β → β → Prop} @@ -653,7 +657,7 @@ theorem ssuperset_imp_ssuperset (h₁ : a ⊆ c) (h₂ : d ⊆ b) : a ⊃ b → ssubset_imp_ssubset h₂ h₁ /-- See if the term is `a ⊂ b` and the goal is `a ⊆ b`. -/ -@[gcongr_forward] def exactSubsetOfSSubset : Mathlib.Tactic.GCongr.ForwardExt where +@[gcongr_forward] meta def exactSubsetOfSSubset : Mathlib.Tactic.GCongr.ForwardExt where eval h goal := do goal.assignIfDefEq (← Lean.Meta.mkAppM ``subset_of_ssubset #[h]) end GCongr diff --git a/Mathlib/Order/RelIso/Basic.lean b/Mathlib/Order/RelIso/Basic.lean index daf84413adecda..cda628f1fe28ce 100644 --- a/Mathlib/Order/RelIso/Basic.lean +++ b/Mathlib/Order/RelIso/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.FunLike.Basic -import Mathlib.Logic.Embedding.Basic -import Mathlib.Order.RelClasses +module + +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Logic.Embedding.Basic +public import Mathlib.Order.RelClasses /-! # Relation homomorphisms, embeddings, isomorphisms @@ -31,6 +33,8 @@ isomorphisms. * `≃r`: `RelIso` -/ +@[expose] public section + open Function universe u v w diff --git a/Mathlib/Order/RelIso/Set.lean b/Mathlib/Order/RelIso/Set.lean index 877299534acc04..346a87defc0082 100644 --- a/Mathlib/Order/RelIso/Set.lean +++ b/Mathlib/Order/RelIso/Set.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Order.Directed -import Mathlib.Order.RelIso.Basic -import Mathlib.Logic.Embedding.Set -import Mathlib.Logic.Equiv.Set +module + +public import Mathlib.Order.Directed +public import Mathlib.Order.RelIso.Basic +public import Mathlib.Logic.Embedding.Set +public import Mathlib.Logic.Equiv.Set /-! # Interactions between relation homomorphisms and sets @@ -15,6 +17,8 @@ It is likely that there are better homes for many of these statement, in files further down the import graph. -/ +@[expose] public section + open Function diff --git a/Mathlib/Order/RelSeries.lean b/Mathlib/Order/RelSeries.lean index fa91722395aaa1..5c0ebc8d43e3cf 100644 --- a/Mathlib/Order/RelSeries.lean +++ b/Mathlib/Order/RelSeries.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Fangming Li -/ -import Mathlib.Algebra.Order.Ring.Nat -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Fintype.Pi -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Data.Fintype.Sigma -import Mathlib.Data.Rel -import Mathlib.Order.OrderIsoNat +module + +public import Mathlib.Algebra.Order.Ring.Nat +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Fintype.Pi +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Data.Fintype.Sigma +public import Mathlib.Data.Rel +public import Mathlib.Order.OrderIsoNat /-! # Series of a relation @@ -19,6 +21,8 @@ If `r` is a relation on `α` then a relation series of length `n` is a series -/ +@[expose] public section + open scoped SetRel variable {α : Type*} (r : SetRel α α) @@ -98,7 +102,7 @@ lemma length_toList (x : RelSeries r) : x.toList.length = x.length + 1 := @[simp] lemma toList_singleton (x : α) : (singleton r x).toList = [x] := - rfl + by simp [toList, singleton] lemma isChain_toList (x : RelSeries r) : x.toList.IsChain (· ~[r] ·) := by rw [List.isChain_iff_get] diff --git a/Mathlib/Order/Restriction.lean b/Mathlib/Order/Restriction.lean index 163c535d74cdbd..a17dd0147bd0d0 100644 --- a/Mathlib/Order/Restriction.lean +++ b/Mathlib/Order/Restriction.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Data.Finset.Update -import Mathlib.Order.Interval.Finset.Basic +module + +public import Mathlib.Data.Finset.Update +public import Mathlib.Order.Interval.Finset.Basic /-! # Restriction of a function indexed by a preorder @@ -23,6 +25,8 @@ and `Preorder.frestrictLe₂`. * `Preorder.restrictLe a f`: Restricts the function `f` to the variables indexed by elements `≤ a`. -/ +@[expose] public section + namespace Preorder variable {α : Type*} [Preorder α] {π : α → Type*} diff --git a/Mathlib/Order/ScottContinuity.lean b/Mathlib/Order/ScottContinuity.lean index b616c04597fe7f..d1e16dab3e2071 100644 --- a/Mathlib/Order/ScottContinuity.lean +++ b/Mathlib/Order/ScottContinuity.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.Bounds.Basic +module + +public import Mathlib.Order.Bounds.Basic /-! # Scott continuity @@ -27,6 +29,8 @@ in this file, and ωScott Continuity on chains later in -/ +@[expose] public section + open Set variable {α β : Type*} diff --git a/Mathlib/Order/ScottContinuity/Complete.lean b/Mathlib/Order/ScottContinuity/Complete.lean index dd1df18dd726f8..d2703c4b6159c5 100644 --- a/Mathlib/Order/ScottContinuity/Complete.lean +++ b/Mathlib/Order/ScottContinuity/Complete.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.ScottContinuity.Prod +module + +public import Mathlib.Order.ScottContinuity.Prod /-! @@ -16,6 +18,8 @@ import Mathlib.Order.ScottContinuity.Prod -/ +@[expose] public section + variable {α β : Type*} section CompleteLattice diff --git a/Mathlib/Order/ScottContinuity/Prod.lean b/Mathlib/Order/ScottContinuity/Prod.lean index e4f5066cf72f58..12684f22f7d594 100644 --- a/Mathlib/Order/ScottContinuity/Prod.lean +++ b/Mathlib/Order/ScottContinuity/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.ScottContinuity -import Mathlib.Order.Bounds.Lattice +module + +public import Mathlib.Order.ScottContinuity +public import Mathlib.Order.Bounds.Lattice /-! # Scott continuity on product spaces @@ -17,6 +19,8 @@ import Mathlib.Order.Bounds.Lattice -/ +@[expose] public section + open Set variable {α β γ : Type*} diff --git a/Mathlib/Order/SemiconjSup.lean b/Mathlib/Order/SemiconjSup.lean index 6012692bbb08f2..9a8fca764974b4 100644 --- a/Mathlib/Order/SemiconjSup.lean +++ b/Mathlib/Order/SemiconjSup.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Units.Equiv -import Mathlib.Algebra.Order.Group.End -import Mathlib.Logic.Function.Conjugate -import Mathlib.Order.Bounds.OrderIso -import Mathlib.Order.OrdContinuous +module + +public import Mathlib.Algebra.Group.Units.Equiv +public import Mathlib.Algebra.Order.Group.End +public import Mathlib.Logic.Function.Conjugate +public import Mathlib.Order.Bounds.OrderIso +public import Mathlib.Order.OrdContinuous /-! # Semiconjugate by `sSup` @@ -30,6 +32,8 @@ homeomorphisms of the circle, so in order to apply results from this file one ha homeomorphisms to the real line first. -/ +@[expose] public section + -- Guard against import creep assert_not_exists Finset diff --git a/Mathlib/Order/Set.lean b/Mathlib/Order/Set.lean index dcc25ffca62c76..2b96aa4f7a14d8 100644 --- a/Mathlib/Order/Set.lean +++ b/Mathlib/Order/Set.lean @@ -3,12 +3,15 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ +module -import Mathlib.Data.Set.Image -import Mathlib.Order.TypeTags +public import Mathlib.Data.Set.Image +public import Mathlib.Order.TypeTags /-! # `Set.range` on `WithBot` and `WithTop` -/ +@[expose] public section + open Set variable {α β : Type*} diff --git a/Mathlib/Order/SetIsMax.lean b/Mathlib/Order/SetIsMax.lean index 7ef6fc229c567b..42c014bad97c77 100644 --- a/Mathlib/Order/SetIsMax.lean +++ b/Mathlib/Order/SetIsMax.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.Max -import Mathlib.Data.Set.CoeSort +module + +public import Mathlib.Order.Max +public import Mathlib.Data.Set.CoeSort /-! # Maximal elements of subsets @@ -14,6 +16,8 @@ then `↑m : J` is not maximal in `J`. -/ +@[expose] public section + universe u namespace Set diff --git a/Mathlib/Order/SetNotation.lean b/Mathlib/Order/SetNotation.lean index bc594dceae25ed..f1d5f06ef1a96d 100644 --- a/Mathlib/Order/SetNotation.lean +++ b/Mathlib/Order/SetNotation.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Data.Set.Operations -import Mathlib.Util.Notation3 +module + +public import Mathlib.Data.Set.Operations +public import Mathlib.Util.Notation3 /-! # Notation classes for set supremum and infimum @@ -31,6 +33,8 @@ In this file we introduce notation for indexed suprema, infima, unions, and inte -/ +@[expose] public section + open Set universe u v @@ -78,7 +82,7 @@ open Lean Lean.PrettyPrinter.Delaborator /-- Delaborator for indexed supremum. -/ @[app_delab iSup] -def iSup_delab : Delab := whenPPOption Lean.getPPNotation <| withOverApp 4 do +meta def iSup_delab : Delab := whenPPOption Lean.getPPNotation <| withOverApp 4 do let #[_, ι, _, f] := (← SubExpr.getExpr).getAppArgs | failure unless f.isLambda do failure let prop ← Meta.isProp ι @@ -106,7 +110,7 @@ def iSup_delab : Delab := whenPPOption Lean.getPPNotation <| withOverApp 4 do /-- Delaborator for indexed infimum. -/ @[app_delab iInf] -def iInf_delab : Delab := whenPPOption Lean.getPPNotation <| withOverApp 4 do +meta def iInf_delab : Delab := whenPPOption Lean.getPPNotation <| withOverApp 4 do let #[_, ι, _, f] := (← SubExpr.getExpr).getAppArgs | failure unless f.isLambda do failure let prop ← Meta.isProp ι @@ -183,7 +187,7 @@ open Lean Lean.PrettyPrinter.Delaborator /-- Delaborator for indexed unions. -/ @[app_delab Set.iUnion] -def iUnion_delab : Delab := whenPPOption Lean.getPPNotation do +meta def iUnion_delab : Delab := whenPPOption Lean.getPPNotation do let #[_, ι, f] := (← SubExpr.getExpr).getAppArgs | failure unless f.isLambda do failure let prop ← Meta.isProp ι @@ -211,7 +215,7 @@ def iUnion_delab : Delab := whenPPOption Lean.getPPNotation do /-- Delaborator for indexed intersections. -/ @[app_delab Set.iInter] -def sInter_delab : Delab := whenPPOption Lean.getPPNotation do +meta def sInter_delab : Delab := whenPPOption Lean.getPPNotation do let #[_, ι, f] := (← SubExpr.getExpr).getAppArgs | failure unless f.isLambda do failure let prop ← Meta.isProp ι diff --git a/Mathlib/Order/Shrink.lean b/Mathlib/Order/Shrink.lean index 00a7e285c370ec..bc8e799614b7d7 100644 --- a/Mathlib/Order/Shrink.lean +++ b/Mathlib/Order/Shrink.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Order.SuccPred.Basic -import Mathlib.Logic.Small.Defs +module + +public import Mathlib.Order.SuccPred.Basic +public import Mathlib.Logic.Small.Defs /-! # Order instances on Shrink @@ -14,6 +16,8 @@ instances on `α` to `Shrink.{u} α`. -/ +@[expose] public section + universe u v variable (α : Type v) [Small.{u} α] diff --git a/Mathlib/Order/Sublattice.lean b/Mathlib/Order/Sublattice.lean index 7635b1efb2b3de..db91675677c2b6 100644 --- a/Mathlib/Order/Sublattice.lean +++ b/Mathlib/Order/Sublattice.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.SupClosed +module + +public import Mathlib.Order.SupClosed /-! # Sublattices @@ -19,6 +21,8 @@ Subsemilattices, if people care about them. sublattice -/ +@[expose] public section + open Function Set variable {ι : Sort*} (α β γ : Type*) [Lattice α] [Lattice β] [Lattice γ] diff --git a/Mathlib/Order/Sublocale.lean b/Mathlib/Order/Sublocale.lean index 34dad7a01aa0c9..c2399a57e96903 100644 --- a/Mathlib/Order/Sublocale.lean +++ b/Mathlib/Order/Sublocale.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Krause. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chriara Cimino, Christian Krause -/ -import Mathlib.Order.Nucleus -import Mathlib.Order.SupClosed +module + +public import Mathlib.Order.Nucleus +public import Mathlib.Order.SupClosed /-! # Sublocale @@ -24,6 +26,8 @@ Create separate definitions for `sInf_mem` and `HImpClosed` (also useful for `Co * https://ncatlab.org/nlab/show/nucleus -/ +@[expose] public section + variable {X : Type*} [Order.Frame X] open Set diff --git a/Mathlib/Order/SuccPred/Archimedean.lean b/Mathlib/Order/SuccPred/Archimedean.lean index 209e24738e3ec3..18f70b6a0a78b6 100644 --- a/Mathlib/Order/SuccPred/Archimedean.lean +++ b/Mathlib/Order/SuccPred/Archimedean.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Order.SuccPred.Basic /-! # Archimedean successor and predecessor @@ -14,6 +16,8 @@ import Mathlib.Order.SuccPred.Basic ones. -/ +@[expose] public section + variable {α β : Type*} open Order Function diff --git a/Mathlib/Order/SuccPred/Basic.lean b/Mathlib/Order/SuccPred/Basic.lean index 89a94e7493a0bb..b1f6e7b0aea9eb 100644 --- a/Mathlib/Order/SuccPred/Basic.lean +++ b/Mathlib/Order/SuccPred/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.ConditionallyCompleteLattice.Basic -import Mathlib.Order.Cover -import Mathlib.Order.Iterate +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Basic +public import Mathlib.Order.Cover +public import Mathlib.Order.Iterate /-! # Successor and predecessor @@ -38,6 +40,8 @@ The stricter condition of every element having a sensible successor can be obtai combination of `SuccOrder α` and `NoMaxOrder α`. -/ +@[expose] public section + open Function OrderDual Set variable {α β : Type*} diff --git a/Mathlib/Order/SuccPred/CompleteLinearOrder.lean b/Mathlib/Order/SuccPred/CompleteLinearOrder.lean index 6c1fac99585167..31de80c9adb332 100644 --- a/Mathlib/Order/SuccPred/CompleteLinearOrder.lean +++ b/Mathlib/Order/SuccPred/CompleteLinearOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Order.ConditionallyCompleteLattice.Indexed -import Mathlib.Order.SuccPred.Limit +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Indexed +public import Mathlib.Order.SuccPred.Limit /-! @@ -12,6 +14,8 @@ import Mathlib.Order.SuccPred.Limit -/ +@[expose] public section + open Order Set variable {ι : Sort*} {α : Type*} diff --git a/Mathlib/Order/SuccPred/InitialSeg.lean b/Mathlib/Order/SuccPred/InitialSeg.lean index b099907d102108..557d2db85848d2 100644 --- a/Mathlib/Order/SuccPred/InitialSeg.lean +++ b/Mathlib/Order/SuccPred/InitialSeg.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.InitialSeg -import Mathlib.Order.SuccPred.Limit +module + +public import Mathlib.Order.InitialSeg +public import Mathlib.Order.SuccPred.Limit /-! # Initial segments and successors @@ -12,6 +14,8 @@ import Mathlib.Order.SuccPred.Limit We establish some connections between initial segment embeddings and successors and predecessors. -/ +@[expose] public section + variable {α β : Type*} {a b : α} [PartialOrder α] [PartialOrder β] open Order diff --git a/Mathlib/Order/SuccPred/IntervalSucc.lean b/Mathlib/Order/SuccPred/IntervalSucc.lean index b8d136d72da89a..c533e82696e6b3 100644 --- a/Mathlib/Order/SuccPred/IntervalSucc.lean +++ b/Mathlib/Order/SuccPred/IntervalSucc.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Set.Pairwise.Basic -import Mathlib.Data.Set.Lattice -import Mathlib.Order.SuccPred.Archimedean +module + +public import Mathlib.Data.Set.Pairwise.Basic +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.SuccPred.Archimedean /-! # Intervals `Ixx (f x) (f (Order.succ x))` @@ -23,6 +25,8 @@ In this file we prove For the latter lemma, we also prove various order dual versions. -/ +@[expose] public section + open Set Order diff --git a/Mathlib/Order/SuccPred/Limit.lean b/Mathlib/Order/SuccPred/Limit.lean index 77676d92256e62..aa0a9b576b55da 100644 --- a/Mathlib/Order/SuccPred/Limit.lean +++ b/Mathlib/Order/SuccPred/Limit.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.SuccPred.Archimedean -import Mathlib.Order.BoundedOrder.Lattice +module + +public import Mathlib.Order.SuccPred.Archimedean +public import Mathlib.Order.BoundedOrder.Lattice /-! # Successor and predecessor limits @@ -18,6 +20,8 @@ maximal elements from being predecessor limits. As such, we also provide `Order. `Order.IsPredLimit`, which exclude these cases. -/ +@[expose] public section + variable {α : Type*} {a b : α} diff --git a/Mathlib/Order/SuccPred/LinearLocallyFinite.lean b/Mathlib/Order/SuccPred/LinearLocallyFinite.lean index e6593e7e57619c..1ea63e5b40aafa 100644 --- a/Mathlib/Order/SuccPred/LinearLocallyFinite.lean +++ b/Mathlib/Order/SuccPred/LinearLocallyFinite.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.Countable.Basic -import Mathlib.Data.Finset.Max -import Mathlib.Data.Fintype.Pigeonhole -import Mathlib.Logic.Encodable.Basic -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.SuccPred.Archimedean +module + +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Data.Countable.Basic +public import Mathlib.Data.Finset.Max +public import Mathlib.Data.Fintype.Pigeonhole +public import Mathlib.Logic.Encodable.Basic +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.SuccPred.Archimedean /-! # Linear locally finite orders @@ -53,6 +55,8 @@ About `toZ`: -/ +@[expose] public section + open Order diff --git a/Mathlib/Order/SuccPred/Relation.lean b/Mathlib/Order/SuccPred/Relation.lean index b54a6dd23a17fa..9ecf05af53cec8 100644 --- a/Mathlib/Order/SuccPred/Relation.lean +++ b/Mathlib/Order/SuccPred/Relation.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Order.SuccPred.Archimedean +module + +public import Mathlib.Order.SuccPred.Archimedean /-! # Relations on types with a `SuccOrder` @@ -12,6 +14,8 @@ This file contains properties about relations on types with a `SuccOrder` and their closure operations (like the transitive closure). -/ +@[expose] public section + open Function Order Relation Set section PartialSucc diff --git a/Mathlib/Order/SuccPred/Tree.lean b/Mathlib/Order/SuccPred/Tree.lean index cb884768001149..9ceb0d9797b397 100644 --- a/Mathlib/Order/SuccPred/Tree.lean +++ b/Mathlib/Order/SuccPred/Tree.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ +module -import Mathlib.Order.SuccPred.Archimedean -import Mathlib.Data.Nat.Find -import Mathlib.Order.Atoms -import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.SuccPred.Archimedean +public import Mathlib.Data.Nat.Find +public import Mathlib.Order.Atoms +public import Mathlib.Data.SetLike.Basic /-! # Rooted trees @@ -18,6 +19,8 @@ This is a `PartialOrder`, with `PredOrder` with the immediate parent as a predec dangling chains. -/ +@[expose] public section + variable {α : Type*} [PartialOrder α] [PredOrder α] [IsPredArchimedean α] namespace IsPredArchimedean diff --git a/Mathlib/Order/SuccPred/WithBot.lean b/Mathlib/Order/SuccPred/WithBot.lean index 2ac6e4dfbe1fae..712201b06a09a5 100644 --- a/Mathlib/Order/SuccPred/WithBot.lean +++ b/Mathlib/Order/SuccPred/WithBot.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Order.SuccPred.Basic +module + +public import Mathlib.Order.SuccPred.Basic /-! # Successor function on `WithBot` @@ -11,6 +13,8 @@ import Mathlib.Order.SuccPred.Basic This file defines the successor of `a : WithBot α` as an element of `α`, and dually for `WithTop`. -/ +@[expose] public section + namespace WithBot variable {α : Type*} [Preorder α] [OrderBot α] [SuccOrder α] {x y : WithBot α} diff --git a/Mathlib/Order/SupClosed.lean b/Mathlib/Order/SupClosed.lean index 82a460c9c699b3..02bed553f92679 100644 --- a/Mathlib/Order/SupClosed.lean +++ b/Mathlib/Order/SupClosed.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yaël Dillies, Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Christopher Hoskin -/ -import Mathlib.Data.Finset.Lattice.Prod -import Mathlib.Data.Finset.Powerset -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Order.Closure -import Mathlib.Order.ConditionallyCompleteLattice.Finset +module + +public import Mathlib.Data.Finset.Lattice.Prod +public import Mathlib.Data.Finset.Powerset +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Order.Closure +public import Mathlib.Order.ConditionallyCompleteLattice.Finset /-! # Sets closed under join/meet @@ -30,6 +32,8 @@ is automatically complete. All dually for `⊓`. greatest lower bound is automatically complete. -/ +@[expose] public section + variable {ι : Sort*} {F α β : Type*} section SemilatticeSup diff --git a/Mathlib/Order/SupIndep.lean b/Mathlib/Order/SupIndep.lean index 7fef2efd7ee211..10183ddfad315a 100644 --- a/Mathlib/Order/SupIndep.lean +++ b/Mathlib/Order/SupIndep.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Aaron Anderson, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Kevin Buzzard, Yaël Dillies, Eric Wieser -/ -import Mathlib.Data.Finset.Lattice.Union -import Mathlib.Data.Finset.Pairwise -import Mathlib.Data.Finset.Prod -import Mathlib.Data.Finset.Sigma -import Mathlib.Data.Fintype.Basic -import Mathlib.Order.CompleteLatticeIntervals +module + +public import Mathlib.Data.Finset.Lattice.Union +public import Mathlib.Data.Finset.Pairwise +public import Mathlib.Data.Finset.Prod +public import Mathlib.Data.Finset.Sigma +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Order.CompleteLatticeIntervals /-! # Supremum independence @@ -40,6 +42,8 @@ For the finite version, we avoid the "obvious" definition `ι`. -/ +@[expose] public section + variable {α β ι ι' : Type*} diff --git a/Mathlib/Order/SymmDiff.lean b/Mathlib/Order/SymmDiff.lean index c7867598b6b18c..a863713554149a 100644 --- a/Mathlib/Order/SymmDiff.lean +++ b/Mathlib/Order/SymmDiff.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Bryan Gin-ge Chen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Bryan Gin-ge Chen, Yaël Dillies -/ -import Mathlib.Order.BooleanAlgebra.Basic -import Mathlib.Logic.Equiv.Basic +module + +public import Mathlib.Order.BooleanAlgebra.Basic +public import Mathlib.Logic.Equiv.Basic /-! # Symmetric difference and bi-implication @@ -49,6 +51,8 @@ boolean ring, generalized boolean algebra, boolean algebra, symmetric difference Heyting -/ +@[expose] public section + assert_not_exists RelIso open Function OrderDual diff --git a/Mathlib/Order/Synonym.lean b/Mathlib/Order/Synonym.lean index 15043b74111eea..3da8a21acd83c0 100644 --- a/Mathlib/Order/Synonym.lean +++ b/Mathlib/Order/Synonym.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin, Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Damiano Testa, Yaël Dillies -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Logic.Nontrivial.Defs -import Mathlib.Order.Basic +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Logic.Nontrivial.Defs +public import Mathlib.Order.Basic /-! # Type synonyms @@ -38,6 +40,8 @@ coercions should be inserted: This file is similar to `Algebra.Group.TypeTags`. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Order/TeichmullerTukey.lean b/Mathlib/Order/TeichmullerTukey.lean index 029f94f20d27ef..7b9a87277fc8cb 100644 --- a/Mathlib/Order/TeichmullerTukey.lean +++ b/Mathlib/Order/TeichmullerTukey.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Ansar Azhdarov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ansar Azhdarov -/ -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.Zorn +module + +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.Zorn /-! # Teichmuller-Tukey @@ -28,6 +30,8 @@ Teichmuller-Tukey lemma. - -/ +@[expose] public section + open Set Finite variable {α : Type*} (F : Set (Set α)) diff --git a/Mathlib/Order/TransfiniteIteration.lean b/Mathlib/Order/TransfiniteIteration.lean index 8d65506b7dfd07..0074105a948a6f 100644 --- a/Mathlib/Order/TransfiniteIteration.lean +++ b/Mathlib/Order/TransfiniteIteration.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou, Violeta Hernández Palacios -/ +module -import Mathlib.Order.SuccPred.Limit +public import Mathlib.Order.SuccPred.Limit /-! # Transfinite iteration of a function `I → I` @@ -31,6 +32,8 @@ when we know `Cardinal.mk I < Cardinal.mk J`). -/ +@[expose] public section + universe w u section diff --git a/Mathlib/Order/TypeTags.lean b/Mathlib/Order/TypeTags.lean index 65d24335fb5d9a..dd4f53d06d4e13 100644 --- a/Mathlib/Order/TypeTags.lean +++ b/Mathlib/Order/TypeTags.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Yury Kudryashov -/ -import Mathlib.Order.Notation +module + +public import Mathlib.Order.Notation /-! # Order-related type synonyms @@ -14,6 +16,8 @@ so that, e.g., `Data/Countable/Basic` can prove `Countable ENat` without exploding its imports. -/ +@[expose] public section + variable {α : Type*} /-- Attach `⊥` to a type. -/ diff --git a/Mathlib/Order/ULift.lean b/Mathlib/Order/ULift.lean index fbc397ad10cff8..501b73a989fae9 100644 --- a/Mathlib/Order/ULift.lean +++ b/Mathlib/Order/ULift.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Logic.Function.ULift -import Mathlib.Order.Basic +module + +public import Mathlib.Logic.Function.ULift +public import Mathlib.Order.Basic /-! # Ordered structures on `ULift.{v} α` @@ -12,6 +14,8 @@ Once these basic instances are setup, the instances of more complex typeclasses the corresponding `Prod` instances. -/ +@[expose] public section + namespace ULift open Batteries diff --git a/Mathlib/Order/UpperLower/Basic.lean b/Mathlib/Order/UpperLower/Basic.lean index 8cdf87a33048e4..c37c391aa989e9 100644 --- a/Mathlib/Order/UpperLower/Basic.lean +++ b/Mathlib/Order/UpperLower/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Logic.Equiv.Set -import Mathlib.Order.Interval.Set.OrderEmbedding -import Mathlib.Order.SetNotation -import Mathlib.Order.WellFounded +module + +public import Mathlib.Logic.Equiv.Set +public import Mathlib.Order.Interval.Set.OrderEmbedding +public import Mathlib.Order.SetNotation +public import Mathlib.Order.WellFounded /-! # Properties of unbundled upper/lower sets @@ -21,6 +23,8 @@ on the underlying order (such as `PartialOrder` and `LinearOrder`). * Order equivalence between upper/lower sets and antichains. -/ +@[expose] public section + open OrderDual Set variable {α β : Type*} {ι : Sort*} {κ : ι → Sort*} diff --git a/Mathlib/Order/UpperLower/Closure.lean b/Mathlib/Order/UpperLower/Closure.lean index 6d870ebb7180cf..6b2c6fe648e226 100644 --- a/Mathlib/Order/UpperLower/Closure.lean +++ b/Mathlib/Order/UpperLower/Closure.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Order.Interval.Set.OrdConnected -import Mathlib.Order.Minimal -import Mathlib.Order.UpperLower.Principal +module + +public import Mathlib.Order.Interval.Set.OrdConnected +public import Mathlib.Order.Minimal +public import Mathlib.Order.UpperLower.Principal /-! # Upper and lower closures @@ -20,6 +22,8 @@ they are equivalent to a union over principal upper (lower) sets, as shown in `c * `lowerClosure`: The least lower set containing a set. -/ +@[expose] public section + open OrderDual Set variable {α β : Type*} {ι : Sort*} diff --git a/Mathlib/Order/UpperLower/CompleteLattice.lean b/Mathlib/Order/UpperLower/CompleteLattice.lean index 32577634f8edcd..6aa1b5f8f354ba 100644 --- a/Mathlib/Order/UpperLower/CompleteLattice.lean +++ b/Mathlib/Order/UpperLower/CompleteLattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.UpperLower.Basic +module + +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.UpperLower.Basic /-! # The complete lattice structure on `UpperSet`/`LowerSet` @@ -19,6 +21,8 @@ Upper sets are ordered by **reverse** inclusion. This convention is motivated by makes them order-isomorphic to lower sets and antichains, and matches the convention on `Filter`. -/ +@[expose] public section + open OrderDual Set variable {α β γ : Type*} {ι : Sort*} {κ : ι → Sort*} diff --git a/Mathlib/Order/UpperLower/Fibration.lean b/Mathlib/Order/UpperLower/Fibration.lean index ebb38a930b0ada..e07c4e76571d79 100644 --- a/Mathlib/Order/UpperLower/Fibration.lean +++ b/Mathlib/Order/UpperLower/Fibration.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Order.UpperLower.Basic +module + +public import Mathlib.Order.UpperLower.Basic /-! # Upper/lower sets and fibrations -/ +@[expose] public section + open Set namespace Relation diff --git a/Mathlib/Order/UpperLower/Hom.lean b/Mathlib/Order/UpperLower/Hom.lean index e6f4627d3e2ca0..c04d816ed9f418 100644 --- a/Mathlib/Order/UpperLower/Hom.lean +++ b/Mathlib/Order/UpperLower/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.Order.UpperLower.Principal +module + +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.Order.UpperLower.Principal /-! # `UpperSet.Ici` etc. as `Sup`/`sSup`/`Inf`/`sInf`-homomorphisms @@ -13,6 +15,8 @@ In this file we define `UpperSet.iciSupHom` etc. These functions are `UpperSet.I `LowerSet.Iic` bundled as `SupHom`s, `InfHom`s, `sSupHom`s, or `sInfHom`s. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/Order/UpperLower/LocallyFinite.lean b/Mathlib/Order/UpperLower/LocallyFinite.lean index 3c6711bd058d9f..72938696b2388d 100644 --- a/Mathlib/Order/UpperLower/LocallyFinite.lean +++ b/Mathlib/Order/UpperLower/LocallyFinite.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.Order.Interval.Finset.Defs -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.Order.Interval.Finset.Defs +public import Mathlib.Order.UpperLower.Closure /-! # Upper and lower sets in a locally finite order @@ -13,6 +15,8 @@ import Mathlib.Order.UpperLower.Closure In this file we characterise the interaction of `UpperSet`/`LowerSet` and `LocallyFiniteOrder`. -/ +@[expose] public section + namespace Set diff --git a/Mathlib/Order/UpperLower/Principal.lean b/Mathlib/Order/UpperLower/Principal.lean index e751bbe86c9930..5e497c52b3a5eb 100644 --- a/Mathlib/Order/UpperLower/Principal.lean +++ b/Mathlib/Order/UpperLower/Principal.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Order.Interval.Set.OrderIso -import Mathlib.Order.UpperLower.CompleteLattice +module + +public import Mathlib.Order.Interval.Set.OrderIso +public import Mathlib.Order.UpperLower.CompleteLattice /-! # Principal upper/lower sets @@ -19,6 +21,8 @@ The results in this file all assume that the underlying type is equipped with at * `LowerSet.Iio`: Strict principal lower set. `Set.Iio` as a lower set. -/ +@[expose] public section + open Function Set variable {α β : Type*} {ι : Sort*} {κ : ι → Sort*} diff --git a/Mathlib/Order/UpperLower/Prod.lean b/Mathlib/Order/UpperLower/Prod.lean index c664eccfe6da7b..f746daa8b63126 100644 --- a/Mathlib/Order/UpperLower/Prod.lean +++ b/Mathlib/Order/UpperLower/Prod.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies, Sara Rousta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Sara Rousta -/ -import Mathlib.Order.UpperLower.Closure +module + +public import Mathlib.Order.UpperLower.Closure /-! # Upper and lower set product @@ -16,6 +18,8 @@ defines said product over the types `UpperSet` and `LowerSet` and proves some of * `×ˢ` is notation for `UpperSet.prod` / `LowerSet.prod`. -/ +@[expose] public section + open Set variable {α β : Type*} diff --git a/Mathlib/Order/UpperLower/Relative.lean b/Mathlib/Order/UpperLower/Relative.lean index 9c8ff968b20e53..4b71fcabee22d2 100644 --- a/Mathlib/Order/UpperLower/Relative.lean +++ b/Mathlib/Order/UpperLower/Relative.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jeremy Tan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Tan -/ -import Mathlib.Data.Set.Image -import Mathlib.Data.SetLike.Basic -import Mathlib.Order.Interval.Set.Defs -import Mathlib.Order.SetNotation +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Order.Interval.Set.Defs +public import Mathlib.Order.SetNotation /-! # Properties of relative upper/lower sets @@ -14,6 +16,8 @@ import Mathlib.Order.SetNotation This file proves results on `IsRelUpperSet` and `IsRelLowerSet`. -/ +@[expose] public section + open Set variable {α : Type*} {ι : Sort*} {κ : ι → Sort*} {s t : Set α} {a : α} {P : α → Prop} diff --git a/Mathlib/Order/WellFounded.lean b/Mathlib/Order/WellFounded.lean index 595cefd7af25a9..9496dbab0f6f39 100644 --- a/Mathlib/Order/WellFounded.lean +++ b/Mathlib/Order/WellFounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Data.Set.Function -import Mathlib.Order.Bounds.Defs +module + +public import Mathlib.Data.Set.Function +public import Mathlib.Order.Bounds.Defs /-! # Well-founded relations @@ -18,6 +20,8 @@ and provide a few new definitions: `WellFounded.min`, `WellFounded.sup`, and `We and an induction principle `WellFounded.induction_bot`. -/ +@[expose] public section + theorem acc_def {α} {r : α → α → Prop} {a : α} : Acc r a ↔ ∀ b, r b a → Acc r b where mp h := h.rec fun _ h _ ↦ h mpr := .intro a diff --git a/Mathlib/Order/WellFoundedSet.lean b/Mathlib/Order/WellFoundedSet.lean index e77536edeff21e..c854364f037697 100644 --- a/Mathlib/Order/WellFoundedSet.lean +++ b/Mathlib/Order/WellFoundedSet.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.Prod.Lex -import Mathlib.Data.Sigma.Lex -import Mathlib.Order.RelIso.Set -import Mathlib.Order.WellQuasiOrder -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Data.Prod.Lex +public import Mathlib.Data.Sigma.Lex +public import Mathlib.Order.RelIso.Set +public import Mathlib.Order.WellQuasiOrder +public import Mathlib.Tactic.TFAE /-! # Well-founded sets @@ -46,6 +48,8 @@ This file introduces versions of `WellFounded` and `WellQuasiOrdered` for sets. * [Nash-Williams, *On Well-Quasi-Ordering Finite Trees*][Nash-Williams63] -/ +@[expose] public section + assert_not_exists OrderedSemiring open scoped Function -- required for scoped `on` notation diff --git a/Mathlib/Order/WellQuasiOrder.lean b/Mathlib/Order/WellQuasiOrder.lean index 0c5cbabb1bd23a..915ad646f5e2c3 100644 --- a/Mathlib/Order/WellQuasiOrder.lean +++ b/Mathlib/Order/WellQuasiOrder.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios, Aaron Anderson -/ -import Mathlib.Data.Fintype.Card -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Order.Antichain -import Mathlib.Order.OrderIsoNat +module + +public import Mathlib.Data.Fintype.Card +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Order.Antichain +public import Mathlib.Order.OrderIsoNat /-! # Well quasi-orders @@ -25,6 +27,8 @@ with no infinite antichains. wqo, pwo, well quasi-order, partial well order, dickson order -/ +@[expose] public section + variable {α β : Type*} {r : α → α → Prop} {s : β → β → Prop} /-- A well quasi-order or WQO is a relation such that any infinite sequence contains an infinite diff --git a/Mathlib/Order/WithBot.lean b/Mathlib/Order/WithBot.lean index e1bc68c5903146..09f5479b8c1ca9 100644 --- a/Mathlib/Order/WithBot.lean +++ b/Mathlib/Order/WithBot.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Order.TypeTags -import Mathlib.Data.Option.NAry -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Lift -import Mathlib.Data.Option.Basic -import Mathlib.Order.Lattice -import Mathlib.Order.BoundedOrder.Basic +module + +public import Mathlib.Logic.Nontrivial.Basic +public import Mathlib.Order.TypeTags +public import Mathlib.Data.Option.NAry +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Lift +public import Mathlib.Data.Option.Basic +public import Mathlib.Order.Lattice +public import Mathlib.Order.BoundedOrder.Basic /-! # `WithBot`, `WithTop` @@ -23,6 +25,8 @@ Adding a `bot` or a `top` to an order. -/ +@[expose] public section + variable {α β γ δ : Type*} namespace WithBot diff --git a/Mathlib/Order/Zorn.lean b/Mathlib/Order/Zorn.lean index 2ec50c5d66868e..ec89a345872533 100644 --- a/Mathlib/Order/Zorn.lean +++ b/Mathlib/Order/Zorn.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.CompleteLattice.Chain -import Mathlib.Order.Minimal +module + +public import Mathlib.Order.CompleteLattice.Chain +public import Mathlib.Order.Minimal /-! # Zorn's lemmas @@ -59,6 +61,8 @@ Originally ported from Isabelle/HOL. The Fleuriot, Tobias Nipkow, Christian Sternagel. -/ +@[expose] public section + open Set variable {α β : Type*} {r : α → α → Prop} {c : Set α} diff --git a/Mathlib/Order/ZornAtoms.lean b/Mathlib/Order/ZornAtoms.lean index 99e546394afc77..f541c2b1b870fe 100644 --- a/Mathlib/Order/ZornAtoms.lean +++ b/Mathlib/Order/ZornAtoms.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Zorn -import Mathlib.Order.Atoms +module + +public import Mathlib.Order.Zorn +public import Mathlib.Order.Atoms /-! # Zorn lemma for (co)atoms @@ -14,6 +16,8 @@ In this file we use Zorn's lemma to prove that a partial order is atomic if ever statement. -/ +@[expose] public section + open Set diff --git a/Mathlib/Probability/BorelCantelli.lean b/Mathlib/Probability/BorelCantelli.lean index 6eee0420d5744a..ad66800d0ffb39 100644 --- a/Mathlib/Probability/BorelCantelli.lean +++ b/Mathlib/Probability/BorelCantelli.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Probability.Martingale.BorelCantelli -import Mathlib.Probability.ConditionalExpectation -import Mathlib.Probability.Independence.Basic +module + +public import Mathlib.Probability.Martingale.BorelCantelli +public import Mathlib.Probability.ConditionalExpectation +public import Mathlib.Probability.Independence.Basic /-! @@ -24,6 +26,8 @@ filtration. in probability spaces), see `MeasureTheory.measure_limsup_atTop_eq_zero`. -/ +@[expose] public section + open scoped ENNReal Topology open MeasureTheory diff --git a/Mathlib/Probability/CDF.lean b/Mathlib/Probability/CDF.lean index 220fdc7a67ca01..3f4fcb48555bed 100644 --- a/Mathlib/Probability/CDF.lean +++ b/Mathlib/Probability/CDF.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Disintegration.CondCDF +module + +public import Mathlib.Probability.Kernel.Disintegration.CondCDF /-! # Cumulative distribution function of a real probability measure @@ -38,6 +40,8 @@ The definition could be extended to `ℝⁿ`, either by extending the definition using another construction here. -/ +@[expose] public section + open MeasureTheory Measure Set Filter open scoped Topology diff --git a/Mathlib/Probability/CondVar.lean b/Mathlib/Probability/CondVar.lean index 0a363b41db2487..ce51f35b68243f 100644 --- a/Mathlib/Probability/CondVar.lean +++ b/Mathlib/Probability/CondVar.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real -import Mathlib.MeasureTheory.Integral.Average -import Mathlib.Probability.Moments.Variance +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real +public import Mathlib.MeasureTheory.Integral.Average +public import Mathlib.Probability.Moments.Variance /-! # Conditional variance @@ -19,6 +21,8 @@ Define the Lebesgue conditional variance. See conditional expectation). -/ +@[expose] public section + open MeasureTheory Filter open scoped ENNReal diff --git a/Mathlib/Probability/ConditionalExpectation.lean b/Mathlib/Probability/ConditionalExpectation.lean index f38cc39a7f9f27..f75ff21992e8e9 100644 --- a/Mathlib/Probability/ConditionalExpectation.lean +++ b/Mathlib/Probability/ConditionalExpectation.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.Independence.Basic -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.Independence.Basic +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic /-! @@ -21,6 +23,8 @@ the main conditional expectation file. -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/Probability/ConditionalProbability.lean b/Mathlib/Probability/ConditionalProbability.lean index e1e4f895ad7947..81c8c45d3b1a8a 100644 --- a/Mathlib/Probability/ConditionalProbability.lean +++ b/Mathlib/Probability/ConditionalProbability.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rishikesh Vaishnav. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rishikesh Vaishnav -/ -import Mathlib.MeasureTheory.Measure.Typeclasses.Probability +module + +public import Mathlib.MeasureTheory.Measure.Typeclasses.Probability /-! # Conditional Probability @@ -54,6 +56,8 @@ the conditioning set has non-zero measure should be named using the abbreviation conditional, conditioned, bayes -/ +@[expose] public section + noncomputable section open ENNReal MeasureTheory MeasureTheory.Measure MeasurableSpace Set @@ -87,7 +91,7 @@ open Lean PrettyPrinter.Delaborator SubExpr /-- Unexpander for `μ[|s]` notation. -/ @[app_unexpander ProbabilityTheory.cond] -def condUnexpander : Lean.PrettyPrinter.Unexpander +meta def condUnexpander : Lean.PrettyPrinter.Unexpander | `($_ $μ $s) => `($μ[|$s]) | _ => throw () @@ -97,7 +101,7 @@ def condUnexpander : Lean.PrettyPrinter.Unexpander /-- Delaborator for `μ[t|s]` notation. -/ @[app_delab DFunLike.coe] -def delabCondApplied : Delab := +meta def delabCondApplied : Delab := whenNotPPOption getPPExplicit <| whenPPOption getPPNotation <| withOverApp 6 do let e ← getExpr guard <| e.isAppOfArity' ``DFunLike.coe 6 diff --git a/Mathlib/Probability/Decision/Risk/Defs.lean b/Mathlib/Probability/Decision/Risk/Defs.lean index 2574094ee59a0d..07043eb9378639 100644 --- a/Mathlib/Probability/Decision/Risk/Defs.lean +++ b/Mathlib/Probability/Decision/Risk/Defs.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ +module -import Mathlib.Probability.Kernel.Composition.Comp +public import Mathlib.Probability.Kernel.Composition.Comp /-! # Risk of an estimator @@ -30,6 +31,8 @@ equal to `∫⁻ y, ℓ θ y ∂((κ ∘ₖ P) θ)`. We do not introduce a defin -/ +@[expose] public section + open MeasureTheory open scoped ENNReal diff --git a/Mathlib/Probability/Density.lean b/Mathlib/Probability/Density.lean index 19f5b05f02e9b2..778ca88569f781 100644 --- a/Mathlib/Probability/Density.lean +++ b/Mathlib/Probability/Density.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -import Mathlib.MeasureTheory.Measure.Haar.OfBasis -import Mathlib.Probability.Independence.Basic +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +public import Mathlib.MeasureTheory.Measure.Haar.OfBasis +public import Mathlib.Probability.Independence.Basic /-! # Probability density function @@ -49,6 +51,8 @@ it exists for all random variables. However, to define this, we will need Fourie which we currently do not have. -/ +@[expose] public section + open scoped MeasureTheory NNReal ENNReal diff --git a/Mathlib/Probability/Distributions/Beta.lean b/Mathlib/Probability/Distributions/Beta.lean index 1eaf4fea69a937..808bf0d2f57a18 100644 --- a/Mathlib/Probability/Distributions/Beta.lean +++ b/Mathlib/Probability/Distributions/Beta.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Tommy Löfgren. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tommy Löfgren -/ -import Mathlib.Analysis.SpecialFunctions.Gamma.Beta +module + +public import Mathlib.Analysis.SpecialFunctions.Gamma.Beta /-! # Beta distributions over ℝ @@ -17,6 +19,8 @@ Define the beta distribution over the reals. `betaPDF α β = ENNReal.ofReal (betaPDFReal α β)`. -/ +@[expose] public section + open scoped ENNReal NNReal open MeasureTheory Complex Set diff --git a/Mathlib/Probability/Distributions/Exponential.lean b/Mathlib/Probability/Distributions/Exponential.lean index f4d78b169f2e67..4eb1f28660f0fd 100644 --- a/Mathlib/Probability/Distributions/Exponential.lean +++ b/Mathlib/Probability/Distributions/Exponential.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Claus Clausen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Claus Clausen, Patrick Massot -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.CDF -import Mathlib.Probability.Distributions.Gamma +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.CDF +public import Mathlib.Probability.Distributions.Gamma /-! # Exponential distributions over ℝ @@ -24,6 +26,8 @@ Define the Exponential measure over the reals. known function given as `r x ↦ 1 - exp (- (r * x))` for `0 ≤ x` or `0` else. -/ +@[expose] public section + open scoped ENNReal NNReal open MeasureTheory Real Set Filter Topology diff --git a/Mathlib/Probability/Distributions/Fernique.lean b/Mathlib/Probability/Distributions/Fernique.lean index dfd42ae70dd1f7..f39c202ac849a0 100644 --- a/Mathlib/Probability/Distributions/Fernique.lean +++ b/Mathlib/Probability/Distributions/Fernique.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.Normed.Lp.WithLp -import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric -import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap -import Mathlib.MeasureTheory.Function.L1Space.Integrable -import Mathlib.Topology.MetricSpace.Polish +module + +public import Mathlib.Analysis.Normed.Lp.WithLp +public import Mathlib.Analysis.SpecificLimits.ArithmeticGeometric +public import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap +public import Mathlib.MeasureTheory.Function.L1Space.Integrable +public import Mathlib.Topology.MetricSpace.Polish /-! # Fernique's theorem for rotation-invariant measures @@ -74,6 +76,8 @@ the first moment. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory Complex NormedSpace Filter open scoped ENNReal NNReal Real Topology diff --git a/Mathlib/Probability/Distributions/Gamma.lean b/Mathlib/Probability/Distributions/Gamma.lean index 5005c5e251d967..def17ded22cc61 100644 --- a/Mathlib/Probability/Distributions/Gamma.lean +++ b/Mathlib/Probability/Distributions/Gamma.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.CDF -import Mathlib.Analysis.SpecialFunctions.Gamma.Basic +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.CDF +public import Mathlib.Analysis.SpecialFunctions.Gamma.Basic /-! # Gamma distributions over ℝ @@ -21,6 +23,8 @@ Define the gamma measure over the reals. -/ +@[expose] public section + open scoped ENNReal NNReal open MeasureTheory Real Set Filter Topology diff --git a/Mathlib/Probability/Distributions/Gaussian.lean b/Mathlib/Probability/Distributions/Gaussian.lean index fffb45ed849198..e4e14e75b528d3 100644 --- a/Mathlib/Probability/Distributions/Gaussian.lean +++ b/Mathlib/Probability/Distributions/Gaussian.lean @@ -1,3 +1,5 @@ -import Mathlib.Probability.Distributions.Gaussian.Real +module + +public import Mathlib.Probability.Distributions.Gaussian.Real deprecated_module (since := "2025-05-16") diff --git a/Mathlib/Probability/Distributions/Gaussian/Basic.lean b/Mathlib/Probability/Distributions/Gaussian/Basic.lean index d918e238b35d5a..a2eae3b2aa7616 100644 --- a/Mathlib/Probability/Distributions/Gaussian/Basic.lean +++ b/Mathlib/Probability/Distributions/Gaussian/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Distributions.Gaussian.Real +module + +public import Mathlib.Probability.Distributions.Gaussian.Real /-! # Gaussian distributions in Banach spaces @@ -31,6 +33,8 @@ For Gaussian distributions in `ℝ`, see the file `Mathlib.Probability.Distribut -/ +@[expose] public section + open MeasureTheory Complex NormedSpace open scoped ENNReal NNReal diff --git a/Mathlib/Probability/Distributions/Gaussian/Fernique.lean b/Mathlib/Probability/Distributions/Gaussian/Fernique.lean index 76a83b694a7b7f..d545947625618d 100644 --- a/Mathlib/Probability/Distributions/Gaussian/Fernique.lean +++ b/Mathlib/Probability/Distributions/Gaussian/Fernique.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Distributions.Fernique -import Mathlib.Probability.Distributions.Gaussian.Basic +module + +public import Mathlib.Probability.Distributions.Fernique +public import Mathlib.Probability.Distributions.Gaussian.Basic /-! # Fernique's theorem for Gaussian measures @@ -28,6 +30,8 @@ As a consequence, a Gaussian measure has finite moments of all orders. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory Complex NormedSpace open scoped ENNReal NNReal Real Topology diff --git a/Mathlib/Probability/Distributions/Gaussian/Real.lean b/Mathlib/Probability/Distributions/Gaussian/Real.lean index a15c4e6aefc8f0..5d54bbdfc5de26 100644 --- a/Mathlib/Probability/Distributions/Gaussian/Real.lean +++ b/Mathlib/Probability/Distributions/Gaussian/Real.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lorenzo Luccioli, Rémy Degenne, Alexander Bentkamp -/ -import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform -import Mathlib.MeasureTheory.Group.Convolution -import Mathlib.Probability.Moments.MGFAnalytic -import Mathlib.Probability.Independence.Basic +module + +public import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform +public import Mathlib.MeasureTheory.Group.Convolution +public import Mathlib.Probability.Moments.MGFAnalytic +public import Mathlib.Probability.Independence.Basic /-! # Gaussian distributions over ℝ @@ -32,6 +34,8 @@ We define a Gaussian measure over the reals. -/ +@[expose] public section + open scoped ENNReal NNReal Real Complex open MeasureTheory diff --git a/Mathlib/Probability/Distributions/Geometric.lean b/Mathlib/Probability/Distributions/Geometric.lean index afe1c0c084add7..cfda12404568a9 100644 --- a/Mathlib/Probability/Distributions/Geometric.lean +++ b/Mathlib/Probability/Distributions/Geometric.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ +module -import Mathlib.Probability.ProbabilityMassFunction.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +public import Mathlib.Probability.ProbabilityMassFunction.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Geometric distributions over ℕ @@ -20,6 +21,8 @@ Define the geometric measure over the natural numbers * `geometricMeasure`: a geometric measure on `ℕ`, parametrized by its success probability `p`. -/ +@[expose] public section + open scoped ENNReal NNReal open MeasureTheory Real Set Filter Topology diff --git a/Mathlib/Probability/Distributions/Pareto.lean b/Mathlib/Probability/Distributions/Pareto.lean index 96f24ccd8355a3..584733c0d1ea6e 100644 --- a/Mathlib/Probability/Distributions/Pareto.lean +++ b/Mathlib/Probability/Distributions/Pareto.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Alvan Caleb Arulandu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alvan Caleb Arulandu -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.CDF -import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.CDF +public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals /-! # Pareto distributions over ℝ @@ -21,6 +23,8 @@ Define the Pareto measure over the reals. -/ +@[expose] public section + open scoped ENNReal NNReal open MeasureTheory Real Set Filter Topology diff --git a/Mathlib/Probability/Distributions/Poisson.lean b/Mathlib/Probability/Distributions/Poisson.lean index 058f86aae68375..b45d2a0d53b199 100644 --- a/Mathlib/Probability/Distributions/Poisson.lean +++ b/Mathlib/Probability/Distributions/Poisson.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ +module -import Mathlib.Analysis.SpecialFunctions.Exponential -import Mathlib.Probability.ProbabilityMassFunction.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +public import Mathlib.Analysis.SpecialFunctions.Exponential +public import Mathlib.Probability.ProbabilityMassFunction.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Poisson distributions over ℕ @@ -21,6 +22,8 @@ Define the Poisson measure over the natural numbers * `poissonMeasure`: a Poisson measure on `ℕ`, parametrized by its rate `λ`. -/ +@[expose] public section + open scoped ENNReal NNReal Nat open MeasureTheory Real Set Filter Topology diff --git a/Mathlib/Probability/Distributions/Uniform.lean b/Mathlib/Probability/Distributions/Uniform.lean index cfb3ab22b10b6d..1a652b0a1d592e 100644 --- a/Mathlib/Probability/Distributions/Uniform.lean +++ b/Mathlib/Probability/Distributions/Uniform.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker, Devon Tuma, Kexing Ying -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.Density -import Mathlib.Probability.ConditionalProbability -import Mathlib.Probability.ProbabilityMassFunction.Constructions +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.Density +public import Mathlib.Probability.ConditionalProbability +public import Mathlib.Probability.ProbabilityMassFunction.Constructions /-! # Uniform distributions and probability mass functions @@ -39,6 +41,8 @@ This file defines a number of uniform `PMF` distributions from various inputs, * Refactor the `PMF` definitions to come from a `uniformMeasure` on a `Finset`/`Fintype`/`Multiset`. -/ +@[expose] public section + open scoped Finset MeasureTheory NNReal ENNReal -- TODO: We can't `open ProbabilityTheory` without opening the `ProbabilityTheory` scope :( diff --git a/Mathlib/Probability/HasLaw.lean b/Mathlib/Probability/HasLaw.lean index 2de7d7bfa4e70d..7111c9b465f47c 100644 --- a/Mathlib/Probability/HasLaw.lean +++ b/Mathlib/Probability/HasLaw.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: EtienneMarion -/ -import Mathlib.Probability.Density -import Mathlib.Probability.Moments.Variance +module + +public import Mathlib.Probability.Density +public import Mathlib.Probability.Moments.Variance /-! # Law of a random variable @@ -17,6 +19,8 @@ operations on the codomain of `X`. See for instance `HasLaw.comp`, `IndepFun.hasLaw_mul` and `IndepFun.hasLaw_add`. -/ +@[expose] public section + open MeasureTheory Measure open scoped ENNReal diff --git a/Mathlib/Probability/HasLawExists.lean b/Mathlib/Probability/HasLawExists.lean index 0ec3f5a288c33c..b6d4439f5aa170 100644 --- a/Mathlib/Probability/HasLawExists.lean +++ b/Mathlib/Probability/HasLawExists.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Ledvinka. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Ledvinka -/ -import Mathlib.Probability.HasLaw -import Mathlib.Probability.Independence.InfinitePi +module + +public import Mathlib.Probability.HasLaw +public import Mathlib.Probability.Independence.InfinitePi /-! # Existence of Random Variables @@ -13,6 +15,8 @@ This file contains lemmas that state the existence of random variables with give and a given dependency structure (currently only mutual independence is considered). -/ +@[expose] public section + open MeasureTheory Measure namespace ProbabilityTheory diff --git a/Mathlib/Probability/IdentDistrib.lean b/Mathlib/Probability/IdentDistrib.lean index 211f79d3fb8f1a..8d7b3b684325fd 100644 --- a/Mathlib/Probability/IdentDistrib.lean +++ b/Mathlib/Probability/IdentDistrib.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Probability.Moments.Variance -import Mathlib.MeasureTheory.Function.UniformIntegrable +module + +public import Mathlib.Probability.Moments.Variance +public import Mathlib.MeasureTheory.Function.UniformIntegrable /-! # Identically distributed random variables @@ -48,6 +50,8 @@ identically distributed, and `h.norm` states that `‖f‖` and `‖g‖` are id so on. -/ +@[expose] public section + open MeasureTheory Filter Finset diff --git a/Mathlib/Probability/Independence/Basic.lean b/Mathlib/Probability/Independence/Basic.lean index 84c7fb71e1cdd5..7ce30bbb9f0842 100644 --- a/Mathlib/Probability/Independence/Basic.lean +++ b/Mathlib/Probability/Independence/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Independence.Kernel -import Mathlib.MeasureTheory.Constructions.Pi -import Mathlib.MeasureTheory.Group.Convolution +module + +public import Mathlib.Probability.Independence.Kernel +public import Mathlib.MeasureTheory.Constructions.Pi +public import Mathlib.MeasureTheory.Group.Convolution /-! # Independence of sets of sets and measure spaces (σ-algebras) @@ -73,6 +75,8 @@ when defining `μ` in the example above, the measurable space used is the last o Part A, Chapter 4. -/ +@[expose] public section + assert_not_exists MeasureTheory.Integrable open MeasureTheory MeasurableSpace Set diff --git a/Mathlib/Probability/Independence/CharacteristicFunction.lean b/Mathlib/Probability/Independence/CharacteristicFunction.lean index 819692c7ce830e..30063f445197b0 100644 --- a/Mathlib/Probability/Independence/CharacteristicFunction.lean +++ b/Mathlib/Probability/Independence/CharacteristicFunction.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Measure.CharacteristicFunction -import Mathlib.Probability.Independence.Basic +module + +public import Mathlib.MeasureTheory.Measure.CharacteristicFunction +public import Mathlib.Probability.Independence.Basic /-! # Links between independence and characteristic function @@ -15,6 +17,8 @@ two variables and a finite family of variables. We prove the analoguous statemen with an arbitrary Lp norm, for the dual characteristic function. -/ +@[expose] public section + namespace ProbabilityTheory open MeasureTheory WithLp diff --git a/Mathlib/Probability/Independence/Conditional.lean b/Mathlib/Probability/Independence/Conditional.lean index 41f00f2e8bad31..98d38538ac16f0 100644 --- a/Mathlib/Probability/Independence/Conditional.lean +++ b/Mathlib/Probability/Independence/Conditional.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Independence.Kernel -import Mathlib.Probability.Kernel.CompProdEqIff -import Mathlib.Probability.Kernel.Composition.Lemmas -import Mathlib.Probability.Kernel.Condexp +module + +public import Mathlib.Probability.Independence.Kernel +public import Mathlib.Probability.Kernel.CompProdEqIff +public import Mathlib.Probability.Kernel.Composition.Lemmas +public import Mathlib.Probability.Kernel.Condexp /-! # Conditional Independence @@ -60,6 +62,8 @@ The kernel used is `ProbabilityTheory.condExpKernel`. -/ +@[expose] public section + open MeasureTheory MeasurableSpace open scoped MeasureTheory ENNReal diff --git a/Mathlib/Probability/Independence/InfinitePi.lean b/Mathlib/Probability/Independence/InfinitePi.lean index 6e6dd6cb029fbf..6f094e6c42a1a0 100644 --- a/Mathlib/Probability/Independence/InfinitePi.lean +++ b/Mathlib/Probability/Independence/InfinitePi.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Probability.Independence.Basic -import Mathlib.Probability.ProductMeasure +module + +public import Mathlib.Probability.Independence.Basic +public import Mathlib.Probability.ProductMeasure /-! # Random variables are independent iff their joint distribution is the product measure. @@ -20,6 +22,8 @@ then deduce the fourth case in `iIndepFun_iff_map_fun_eq_infinitePi_map₀'` (as type is countable), and we prove the first case in `iIndepFun_iff_map_fun_eq_infinitePi_map`. -/ +@[expose] public section + open MeasureTheory Measure ProbabilityTheory namespace ProbabilityTheory diff --git a/Mathlib/Probability/Independence/Integrable.lean b/Mathlib/Probability/Independence/Integrable.lean index 15ae8bab5aba8d..e4448fe735cbb9 100644 --- a/Mathlib/Probability/Independence/Integrable.lean +++ b/Mathlib/Probability/Independence/Integrable.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.MeasureTheory.Function.L1Space.Integrable -import Mathlib.Probability.Independence.Basic +module + +public import Mathlib.MeasureTheory.Function.L1Space.Integrable +public import Mathlib.Probability.Independence.Basic /-! # Independence of functions implies that the measure is a probability measure @@ -14,6 +16,8 @@ of another function, then the space is a probability space. -/ +@[expose] public section + open Filter ProbabilityTheory open scoped ENNReal NNReal Topology diff --git a/Mathlib/Probability/Independence/Integration.lean b/Mathlib/Probability/Independence/Integration.lean index d317caef238dbc..04ad5d3d7918c9 100644 --- a/Mathlib/Probability/Independence/Integration.lean +++ b/Mathlib/Probability/Independence/Integration.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Martin Zinkevich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Zinkevich, Vincent Beffara, Etienne Marion -/ -import Mathlib.MeasureTheory.Integral.Pi -import Mathlib.Probability.Independence.Integrable -import Mathlib.Probability.Notation +module + +public import Mathlib.MeasureTheory.Integral.Pi +public import Mathlib.Probability.Independence.Integrable +public import Mathlib.Probability.Notation /-! # Integration in Probability Theory @@ -27,6 +29,8 @@ example [M1 : MeasurableSpace Ω] {M2 : MeasurableSpace Ω} {μ : Measure Ω} : -/ +@[expose] public section + open Set MeasureTheory diff --git a/Mathlib/Probability/Independence/Kernel.lean b/Mathlib/Probability/Independence/Kernel.lean index 33a364323ea4bd..8179af865c6130 100644 --- a/Mathlib/Probability/Independence/Kernel.lean +++ b/Mathlib/Probability/Independence/Kernel.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.ConditionalProbability -import Mathlib.Probability.Kernel.Basic -import Mathlib.Probability.Kernel.Composition.MeasureComp -import Mathlib.Tactic.Peel -import Mathlib.MeasureTheory.MeasurableSpace.Pi +module + +public import Mathlib.Probability.ConditionalProbability +public import Mathlib.Probability.Kernel.Basic +public import Mathlib.Probability.Kernel.Composition.MeasureComp +public import Mathlib.Tactic.Peel +public import Mathlib.MeasureTheory.MeasurableSpace.Pi /-! # Independence with respect to a kernel and a measure @@ -46,6 +48,8 @@ definitions in the particular case of the usual independence notion. * `ProbabilityTheory.Kernel.IndepSets.Indep`: variant with two π-systems. -/ +@[expose] public section + open Set MeasureTheory MeasurableSpace open scoped MeasureTheory ENNReal diff --git a/Mathlib/Probability/Independence/ZeroOne.lean b/Mathlib/Probability/Independence/ZeroOne.lean index d5767f3a5419ca..012dcb9c82ec32 100644 --- a/Mathlib/Probability/Independence/ZeroOne.lean +++ b/Mathlib/Probability/Independence/ZeroOne.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Independence.Basic -import Mathlib.Probability.Independence.Conditional +module + +public import Mathlib.Probability.Independence.Basic +public import Mathlib.Probability.Independence.Conditional /-! # Kolmogorov's 0-1 law @@ -19,6 +21,8 @@ is measurable with respect to the tail σ-algebra `limsup s atTop` has probabili σ-algebras `s` has probability 0 or 1. -/ +@[expose] public section + open MeasureTheory MeasurableSpace open scoped MeasureTheory ENNReal diff --git a/Mathlib/Probability/Integration.lean b/Mathlib/Probability/Integration.lean index 7d90fd85030cb7..0806fbbe84d8b0 100644 --- a/Mathlib/Probability/Integration.lean +++ b/Mathlib/Probability/Integration.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Martin Zinkevich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Martin Zinkevich, Vincent Beffara -/ -import Mathlib.Probability.Independence.Integration +module + +public import Mathlib.Probability.Independence.Integration deprecated_module (since := "2025-07-30") diff --git a/Mathlib/Probability/Kernel/Basic.lean b/Mathlib/Probability/Kernel/Basic.lean index 1b22571807f8fd..1d218fb2f3dfb3 100644 --- a/Mathlib/Probability/Kernel/Basic.lean +++ b/Mathlib/Probability/Kernel/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Defs +module + +public import Mathlib.Probability.Kernel.Defs /-! # Basic kernels @@ -36,6 +38,8 @@ kernels. -/ +@[expose] public section + assert_not_exists MeasureTheory.integral open MeasureTheory diff --git a/Mathlib/Probability/Kernel/CompProdEqIff.lean b/Mathlib/Probability/Kernel/CompProdEqIff.lean index a2f5c7ec230e34..08e1b4012161d3 100644 --- a/Mathlib/Probability/Kernel/CompProdEqIff.lean +++ b/Mathlib/Probability/Kernel/CompProdEqIff.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous +module + +public import Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous /-! # Condition for two kernels to be equal almost everywhere @@ -19,6 +21,8 @@ The result requires `α` to be countable or `β` to be a countably generated mea -/ +@[expose] public section + open ProbabilityTheory MeasureTheory open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/Composition/AbsolutelyContinuous.lean b/Mathlib/Probability/Kernel/Composition/AbsolutelyContinuous.lean index 5397b31e0bacc0..1e87bb34a6eaf2 100644 --- a/Mathlib/Probability/Kernel/Composition/AbsolutelyContinuous.lean +++ b/Mathlib/Probability/Kernel/Composition/AbsolutelyContinuous.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Composition.MeasureCompProd -import Mathlib.Probability.Kernel.RadonNikodym +module + +public import Mathlib.Probability.Kernel.Composition.MeasureCompProd +public import Mathlib.Probability.Kernel.RadonNikodym /-! # Absolute continuity of the composition of measures and kernels @@ -25,6 +27,8 @@ or mutually singular. -/ +@[expose] public section + open ProbabilityTheory Filter open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/Composition/Comp.lean b/Mathlib/Probability/Kernel/Composition/Comp.lean index b454e892a082ee..8b450e250ff614 100644 --- a/Mathlib/Probability/Kernel/Composition/Comp.lean +++ b/Mathlib/Probability/Kernel/Composition/Comp.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Etienne Marion -/ -import Mathlib.Probability.Kernel.MeasurableLIntegral +module + +public import Mathlib.Probability.Kernel.MeasurableLIntegral /-! # Composition of kernels @@ -29,6 +31,8 @@ a kernel from `α` to `γ`. -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Composition/CompMap.lean b/Mathlib/Probability/Kernel/Composition/CompMap.lean index 3f33740c2c22e6..090d9be91a6635 100644 --- a/Mathlib/Probability/Kernel/Composition/CompMap.lean +++ b/Mathlib/Probability/Kernel/Composition/CompMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.Comp -import Mathlib.Probability.Kernel.Composition.MapComap +module + +public import Mathlib.Probability.Kernel.Composition.Comp +public import Mathlib.Probability.Kernel.Composition.MapComap /-! # Lemmas about compositions and maps of kernels @@ -17,6 +19,8 @@ a deterministic kernel. See `deterministic_comp_eq_map` and `comp_deterministic_ -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Composition/CompNotation.lean b/Mathlib/Probability/Kernel/Composition/CompNotation.lean index 73af5ee6814479..4798c34fdb40a3 100644 --- a/Mathlib/Probability/Kernel/Composition/CompNotation.lean +++ b/Mathlib/Probability/Kernel/Composition/CompNotation.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Basic +module + +public import Mathlib.Probability.Kernel.Basic /-! # Notation for the composition of a measure and a kernel @@ -20,6 +22,8 @@ This file does not define composition but only introduces notation for * `κ ∘ₘ μ = MeasureTheory.Measure.bind μ κ`, for `κ` a kernel. -/ +@[expose] public section + /- This file is only for lemmas that are direct specializations of `Measure.bind` to kernels, anything more involved should go elsewhere (for example the `MeasureComp` file). -/ assert_not_exists ProbabilityTheory.Kernel.compProd diff --git a/Mathlib/Probability/Kernel/Composition/CompProd.lean b/Mathlib/Probability/Kernel/Composition/CompProd.lean index 60240c3ebeca9d..78b8634917ace9 100644 --- a/Mathlib/Probability/Kernel/Composition/CompProd.lean +++ b/Mathlib/Probability/Kernel/Composition/CompProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.Comp -import Mathlib.Probability.Kernel.Composition.ParallelComp +module + +public import Mathlib.Probability.Kernel.Composition.Comp +public import Mathlib.Probability.Kernel.Composition.ParallelComp /-! # Composition-product of kernels @@ -36,6 +38,8 @@ that convention because it fits better with the use of the name `comp` elsewhere -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean b/Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean index 34ab7497c097c3..11f9ae4f63b8c6 100644 --- a/Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean +++ b/Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Etienne Marion -/ -import Mathlib.Probability.Kernel.Composition.MeasureComp -import Mathlib.Probability.Kernel.MeasurableIntegral +module + +public import Mathlib.Probability.Kernel.Composition.MeasureComp +public import Mathlib.Probability.Kernel.MeasurableIntegral /-! # Bochner integral of a function against the composition and the composition-products of two kernels @@ -44,6 +46,8 @@ composition-product. However it is necessary to do all the proofs once again bec composition-product requires s-finiteness while the composition does not. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Probability/Kernel/Composition/KernelLemmas.lean b/Mathlib/Probability/Kernel/Composition/KernelLemmas.lean index ee5fec6a49b80e..699321a768edc6 100644 --- a/Mathlib/Probability/Kernel/Composition/KernelLemmas.lean +++ b/Mathlib/Probability/Kernel/Composition/KernelLemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Composition.CompProd -import Mathlib.Probability.Kernel.Composition.Prod +module + +public import Mathlib.Probability.Kernel.Composition.CompProd +public import Mathlib.Probability.Kernel.Composition.Prod /-! # Lemmas relating different ways to compose kernels @@ -22,6 +24,8 @@ compositions/products. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Composition/Lemmas.lean b/Mathlib/Probability/Kernel/Composition/Lemmas.lean index e8c52142e864be..201f3f98df8327 100644 --- a/Mathlib/Probability/Kernel/Composition/Lemmas.lean +++ b/Mathlib/Probability/Kernel/Composition/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Composition.MeasureComp +module + +public import Mathlib.Probability.Kernel.Composition.MeasureComp /-! # Lemmas relating different ways to compose measures and kernels @@ -13,6 +15,8 @@ the other files in this directory, because they involve several types of composi -/ +@[expose] public section + open MeasureTheory ProbabilityTheory open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/Composition/MapComap.lean b/Mathlib/Probability/Kernel/Composition/MapComap.lean index 4d51f34e4da271..947327706de5bd 100644 --- a/Mathlib/Probability/Kernel/Composition/MapComap.lean +++ b/Mathlib/Probability/Kernel/Composition/MapComap.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Basic +module + +public import Mathlib.Probability.Kernel.Basic /-! # Map of a kernel by a measurable function @@ -26,6 +28,8 @@ Kernels built from other kernels: -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean index eb7b17eb70c065..81bf2b2cfb4af6 100644 --- a/Mathlib/Probability/Kernel/Composition/MeasureComp.lean +++ b/Mathlib/Probability/Kernel/Composition/MeasureComp.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.Probability.Kernel.Composition.CompNotation -import Mathlib.Probability.Kernel.Composition.KernelLemmas -import Mathlib.Probability.Kernel.Composition.MeasureCompProd +module + +public import Mathlib.Probability.Kernel.Composition.CompNotation +public import Mathlib.Probability.Kernel.Composition.KernelLemmas +public import Mathlib.Probability.Kernel.Composition.MeasureCompProd /-! # Lemmas about the composition of a measure and a kernel @@ -14,6 +16,8 @@ Basic lemmas about the composition `κ ∘ₘ μ` of a kernel `κ` and a measure -/ +@[expose] public section + open scoped ENNReal open ProbabilityTheory MeasureTheory diff --git a/Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean b/Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean index c55f51ee0db8f5..9f3f6304109497 100644 --- a/Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean +++ b/Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Probability.Kernel.Composition.CompProd +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Probability.Kernel.Composition.CompProd /-! # Composition-Product of a measure and a kernel @@ -25,6 +27,8 @@ This operation, denoted by `⊗ₘ`, takes `μ : Measure α` and `κ : Kernel α * `μ ⊗ₘ κ = μ.compProd κ` -/ +@[expose] public section + open scoped ENNReal open ProbabilityTheory Set diff --git a/Mathlib/Probability/Kernel/Composition/ParallelComp.lean b/Mathlib/Probability/Kernel/Composition/ParallelComp.lean index 3f2149af9499be..03adfbaa8995d6 100644 --- a/Mathlib/Probability/Kernel/Composition/ParallelComp.lean +++ b/Mathlib/Probability/Kernel/Composition/ParallelComp.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Lorenzo Luccioli -/ -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Probability.Kernel.Composition.MapComap -import Mathlib.Probability.Kernel.MeasurableLIntegral +module + +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Probability.Kernel.Composition.MapComap +public import Mathlib.Probability.Kernel.MeasurableLIntegral /-! @@ -26,6 +28,8 @@ Two kernels `κ : Kernel α β` and `η : Kernel γ δ` can be applied in parall -/ +@[expose] public section + open MeasureTheory open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/Composition/Prod.lean b/Mathlib/Probability/Kernel/Composition/Prod.lean index 93c79d85332179..4c2ca33414e800 100644 --- a/Mathlib/Probability/Kernel/Composition/Prod.lean +++ b/Mathlib/Probability/Kernel/Composition/Prod.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.CompMap -import Mathlib.Probability.Kernel.Composition.ParallelComp +module + +public import Mathlib.Probability.Kernel.Composition.CompMap +public import Mathlib.Probability.Kernel.Composition.ParallelComp /-! # Product and composition of kernels @@ -29,6 +31,8 @@ a kernel from `α` to `β × γ`. -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/CondDistrib.lean b/Mathlib/Probability/Kernel/CondDistrib.lean index d8e01a7a1e1670..598bacc779e186 100644 --- a/Mathlib/Probability/Kernel/CondDistrib.lean +++ b/Mathlib/Probability/Kernel/CondDistrib.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.Lemmas -import Mathlib.Probability.Kernel.Disintegration.Unique +module + +public import Mathlib.Probability.Kernel.Composition.Lemmas +public import Mathlib.Probability.Kernel.Disintegration.Unique /-! # Regular conditional probability distribution @@ -40,6 +42,8 @@ to `m`. -/ +@[expose] public section + open MeasureTheory Set Filter TopologicalSpace diff --git a/Mathlib/Probability/Kernel/Condexp.lean b/Mathlib/Probability/Kernel/Condexp.lean index 0f6ee9746e6676..e205344e79e9a2 100644 --- a/Mathlib/Probability/Kernel/Condexp.lean +++ b/Mathlib/Probability/Kernel/Condexp.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.MeasureComp -import Mathlib.Probability.Kernel.CondDistrib -import Mathlib.Probability.ConditionalProbability +module + +public import Mathlib.Probability.Kernel.Composition.MeasureComp +public import Mathlib.Probability.Kernel.CondDistrib +public import Mathlib.Probability.ConditionalProbability /-! # Kernel associated with a conditional expectation @@ -30,6 +32,8 @@ on `Ω` allows us to do so. -/ +@[expose] public section + open MeasureTheory Set Filter TopologicalSpace diff --git a/Mathlib/Probability/Kernel/Defs.lean b/Mathlib/Probability/Kernel/Defs.lean index f8ee124fb30423..0ce9704c4f2697 100644 --- a/Mathlib/Probability/Kernel/Defs.lean +++ b/Mathlib/Probability/Kernel/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.GiryMonad +module + +public import Mathlib.MeasureTheory.Measure.GiryMonad /-! # Markov Kernels @@ -36,6 +38,8 @@ Classes of kernels: -/ +@[expose] public section + assert_not_exists MeasureTheory.integral open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Disintegration/Basic.lean b/Mathlib/Probability/Kernel/Disintegration/Basic.lean index a19616471a8dbd..1d7e289ce314eb 100644 --- a/Mathlib/Probability/Kernel/Disintegration/Basic.lean +++ b/Mathlib/Probability/Kernel/Disintegration/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies, Kin Yau James Wong. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Kin Yau James Wong, Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.AEEqOfLIntegral -import Mathlib.Probability.Kernel.Composition.MeasureCompProd +module + +public import Mathlib.MeasureTheory.Function.AEEqOfLIntegral +public import Mathlib.Probability.Kernel.Composition.MeasureCompProd /-! # Disintegration of measures and kernels @@ -35,6 +37,8 @@ disintegrated by some kernel, then `κ` itself is disintegrated by a kernel, nam disintegrating kernels. -/ +@[expose] public section + open MeasureTheory Set Filter MeasurableSpace ProbabilityTheory open scoped ENNReal MeasureTheory Topology diff --git a/Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean b/Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean index 6ef535add672b8..ab66389c7ab5e0 100644 --- a/Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean +++ b/Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.AEEqOfIntegral -import Mathlib.Probability.Kernel.Composition.CompProd -import Mathlib.Probability.Kernel.Disintegration.MeasurableStieltjes +module + +public import Mathlib.MeasureTheory.Function.AEEqOfIntegral +public import Mathlib.Probability.Kernel.Composition.CompProd +public import Mathlib.Probability.Kernel.Disintegration.MeasurableStieltjes /-! # Building a Markov kernel from a conditional cumulative distribution function @@ -45,6 +47,8 @@ Let `κ : Kernel α (β × ℝ)` and `ν : Kernel α β`. -/ +@[expose] public section + open MeasureTheory Set Filter TopologicalSpace open scoped NNReal ENNReal MeasureTheory Topology ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Disintegration/CondCDF.lean b/Mathlib/Probability/Kernel/Disintegration/CondCDF.lean index 1c07ea176d071f..69d0133f6f1b49 100644 --- a/Mathlib/Probability/Kernel/Disintegration/CondCDF.lean +++ b/Mathlib/Probability/Kernel/Disintegration/CondCDF.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym -import Mathlib.MeasureTheory.Measure.Prod -import Mathlib.Probability.Kernel.Disintegration.CDFToKernel +module + +public import Mathlib.MeasureTheory.Measure.Decomposition.RadonNikodym +public import Mathlib.MeasureTheory.Measure.Prod +public import Mathlib.Probability.Kernel.Disintegration.CDFToKernel /-! # Conditional cumulative distribution function @@ -37,6 +39,8 @@ easily. Here we apply that construction to the case `β = Unit` and then drop ` -/ +@[expose] public section + open MeasureTheory Set Filter TopologicalSpace open scoped NNReal ENNReal MeasureTheory Topology diff --git a/Mathlib/Probability/Kernel/Disintegration/Density.lean b/Mathlib/Probability/Kernel/Disintegration/Density.lean index c7c6c346499088..0d493f268b8fc3 100644 --- a/Mathlib/Probability/Kernel/Disintegration/Density.lean +++ b/Mathlib/Probability/Kernel/Disintegration/Density.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.MapComap -import Mathlib.Probability.Martingale.Convergence -import Mathlib.Probability.Process.PartitionFiltration +module + +public import Mathlib.Probability.Kernel.Composition.MapComap +public import Mathlib.Probability.Martingale.Convergence +public import Mathlib.Probability.Process.PartitionFiltration /-! # Kernel density @@ -75,6 +77,8 @@ The construction of the density process in this file follows the proof of Theore generated hypothesis instead of specializing to `ℝ`. -/ +@[expose] public section + open MeasureTheory Set Filter MeasurableSpace open scoped NNReal ENNReal MeasureTheory Topology ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Disintegration/Integral.lean b/Mathlib/Probability/Kernel/Disintegration/Integral.lean index a31ff181c79a08..0f7ea6bc8ca89c 100644 --- a/Mathlib/Probability/Kernel/Disintegration/Integral.lean +++ b/Mathlib/Probability/Kernel/Disintegration/Integral.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.IntegralCompProd -import Mathlib.Probability.Kernel.Disintegration.StandardBorel +module + +public import Mathlib.Probability.Kernel.Composition.IntegralCompProd +public import Mathlib.Probability.Kernel.Disintegration.StandardBorel /-! # Lebesgue and Bochner integrals of conditional kernels @@ -23,6 +25,8 @@ Corresponding statements for the Lebesgue integral and/or without the sets `s` a provided. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory MeasurableSpace open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean b/Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean index b31bb49383e27a..4e18b7814a1275 100644 --- a/Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean +++ b/Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.GiryMonad -import Mathlib.MeasureTheory.Measure.Stieltjes -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic +module + +public import Mathlib.MeasureTheory.Measure.GiryMonad +public import Mathlib.MeasureTheory.Measure.Stieltjes +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.Basic /-! # Measurable parametric Stieltjes functions @@ -41,6 +43,8 @@ Finally, we define `stieltjesOfMeasurableRat`, composition of `toRatCDF` and -/ +@[expose] public section + open MeasureTheory Set Filter TopologicalSpace open scoped NNReal ENNReal MeasureTheory Topology diff --git a/Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean b/Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean index f80ddcb6163147..6319a87a6ab880 100644 --- a/Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean +++ b/Mathlib/Probability/Kernel/Disintegration/StandardBorel.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Composition.MeasureCompProd -import Mathlib.Probability.Kernel.Disintegration.Basic -import Mathlib.Probability.Kernel.Disintegration.CondCDF -import Mathlib.Probability.Kernel.Disintegration.Density -import Mathlib.Probability.Kernel.Disintegration.CDFToKernel -import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal +module + +public import Mathlib.Probability.Kernel.Composition.MeasureCompProd +public import Mathlib.Probability.Kernel.Disintegration.Basic +public import Mathlib.Probability.Kernel.Disintegration.CondCDF +public import Mathlib.Probability.Kernel.Disintegration.Density +public import Mathlib.Probability.Kernel.Disintegration.CDFToKernel +public import Mathlib.MeasureTheory.Constructions.Polish.EmbeddingReal /-! # Existence of disintegration of measures and kernels for standard Borel spaces @@ -62,6 +64,8 @@ The conditional kernel is unique (almost everywhere w.r.t. `fst κ`): this is pr * `MeasureTheory.Measure.compProd_fst_condKernel`: `ρ.fst ⊗ₘ ρ.condKernel = ρ` -/ +@[expose] public section + open MeasureTheory Set Filter MeasurableSpace open scoped ENNReal MeasureTheory Topology ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Disintegration/Unique.lean b/Mathlib/Probability/Kernel/Disintegration/Unique.lean index e2af5205fe1f66..555fd713ee869c 100644 --- a/Mathlib/Probability/Kernel/Disintegration/Unique.lean +++ b/Mathlib/Probability/Kernel/Disintegration/Unique.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.Probability.Kernel.Disintegration.Integral +module + +public import Mathlib.Probability.Kernel.Disintegration.Integral /-! # Uniqueness of the conditional kernel @@ -21,6 +23,8 @@ We prove that the conditional kernels `ProbabilityTheory.Kernel.condKernel` and everywhere equal to the measure `condKernel`. -/ +@[expose] public section + open MeasureTheory Set Filter MeasurableSpace open scoped ENNReal MeasureTheory Topology ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Integral.lean b/Mathlib/Probability/Kernel/Integral.lean index 81e7ff88d03b8f..f3c92f690f4101 100644 --- a/Mathlib/Probability/Kernel/Integral.lean +++ b/Mathlib/Probability/Kernel/Integral.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.Bochner.Basic -import Mathlib.Probability.Kernel.Basic +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Basic +public import Mathlib.Probability.Kernel.Basic /-! # Bochner integrals of kernels -/ +@[expose] public section + open MeasureTheory namespace ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/Invariance.lean b/Mathlib/Probability/Kernel/Invariance.lean index 549463a29bb4e6..fe8d19bce2a9f1 100644 --- a/Mathlib/Probability/Kernel/Invariance.lean +++ b/Mathlib/Probability/Kernel/Invariance.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Matteo Cipollina -/ -import Mathlib.Probability.Kernel.Composition.MeasureComp +module + +public import Mathlib.Probability.Kernel.Composition.MeasureComp /-! # Invariance of measures along a kernel @@ -17,6 +19,8 @@ kernel `μ.bind κ` is the same measure. -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean b/Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean index a40e8112e60f7b..ec108c8e91afb2 100644 --- a/Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean +++ b/Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.MeasurableSpace.Embedding -import Mathlib.Order.Restriction +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Embedding +public import Mathlib.Order.Restriction /-! # Auxiliary maps for Ionescu-Tulcea theorem This file contains auxiliary maps which are used to prove the Ionescu-Tulcea theorem. -/ +@[expose] public section + open Finset Preorder section Definitions diff --git a/Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean b/Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean index 7746800242a9e8..429971dd825eb5 100644 --- a/Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean +++ b/Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict -import Mathlib.Probability.Kernel.Composition.Prod -import Mathlib.Probability.Kernel.IonescuTulcea.Maps +module + +public import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict +public import Mathlib.Probability.Kernel.Composition.Prod +public import Mathlib.Probability.Kernel.IonescuTulcea.Maps /-! # Consecutive composition of kernels @@ -68,6 +70,8 @@ against `partialTraj κ a b`, taking inspiration from `MeasureTheory.lmarginal`. Ionescu-Tulcea theorem, composition of kernels -/ +@[expose] public section + open Finset Function MeasureTheory Preorder ProbabilityTheory open scoped ENNReal diff --git a/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean b/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean index e207d9b8b3ac51..a390326878fb92 100644 --- a/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean +++ b/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Constructions.ProjectiveFamilyContent -import Mathlib.MeasureTheory.Function.FactorsThrough -import Mathlib.MeasureTheory.Measure.ProbabilityMeasure -import Mathlib.MeasureTheory.OuterMeasure.OfAddContent -import Mathlib.Probability.Kernel.Composition.IntegralCompProd -import Mathlib.Probability.Kernel.IonescuTulcea.PartialTraj -import Mathlib.Probability.Kernel.SetIntegral +module + +public import Mathlib.MeasureTheory.Constructions.ProjectiveFamilyContent +public import Mathlib.MeasureTheory.Function.FactorsThrough +public import Mathlib.MeasureTheory.Measure.ProbabilityMeasure +public import Mathlib.MeasureTheory.OuterMeasure.OfAddContent +public import Mathlib.Probability.Kernel.Composition.IntegralCompProd +public import Mathlib.Probability.Kernel.IonescuTulcea.PartialTraj +public import Mathlib.Probability.Kernel.SetIntegral /-! # Ionescu-Tulcea theorem @@ -72,6 +74,8 @@ see Proposition 10.6.1 in [D. L. Cohn, *Measure Theory*][cohn2013measure]. Ionescu-Tulcea theorem -/ +@[expose] public section + open Filter Finset Function MeasurableEquiv MeasurableSpace MeasureTheory Preorder ProbabilityTheory open scoped ENNReal Topology diff --git a/Mathlib/Probability/Kernel/MeasurableIntegral.lean b/Mathlib/Probability/Kernel/MeasurableIntegral.lean index 218ce4c4213ecb..ccd486bf75061c 100644 --- a/Mathlib/Probability/Kernel/MeasurableIntegral.lean +++ b/Mathlib/Probability/Kernel/MeasurableIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.Probability.Kernel.MeasurableLIntegral +module + +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.Probability.Kernel.MeasurableLIntegral /-! # Measurability of the integral against a kernel @@ -19,6 +21,8 @@ The Bochner integral of a strongly measurable function against a kernel is stron -/ +@[expose] public section + open MeasureTheory ProbabilityTheory Function Set Filter diff --git a/Mathlib/Probability/Kernel/MeasurableLIntegral.lean b/Mathlib/Probability/Kernel/MeasurableLIntegral.lean index 43a479b7cee028..c826d3373df160 100644 --- a/Mathlib/Probability/Kernel/MeasurableLIntegral.lean +++ b/Mathlib/Probability/Kernel/MeasurableLIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.MeasurableSpace.Prod -import Mathlib.Probability.Kernel.Basic +module + +public import Mathlib.MeasureTheory.MeasurableSpace.Prod +public import Mathlib.Probability.Kernel.Basic /-! # Measurability of the integral against a kernel @@ -19,6 +21,8 @@ The Lebesgue integral of a measurable function against a kernel is measurable. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory Function Set Filter diff --git a/Mathlib/Probability/Kernel/Posterior.lean b/Mathlib/Probability/Kernel/Posterior.lean index 11c1e18b5cb6a0..db22e148f729be 100644 --- a/Mathlib/Probability/Kernel/Posterior.lean +++ b/Mathlib/Probability/Kernel/Posterior.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.CompProdEqIff -import Mathlib.Probability.Kernel.Composition.Lemmas -import Mathlib.Probability.Kernel.Disintegration.StandardBorel +module + +public import Mathlib.Probability.Kernel.CompProdEqIff +public import Mathlib.Probability.Kernel.Composition.Lemmas +public import Mathlib.Probability.Kernel.Disintegration.StandardBorel /-! @@ -48,6 +50,8 @@ denote `κ†`, but we have to also specify the measure `μ`. -/ +@[expose] public section + open scoped ENNReal open MeasureTheory diff --git a/Mathlib/Probability/Kernel/Proper.lean b/Mathlib/Probability/Kernel/Proper.lean index ad174aa8531bfe..0de6b80e4757be 100644 --- a/Mathlib/Probability/Kernel/Proper.lean +++ b/Mathlib/Probability/Kernel/Proper.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies, Kalle Kytölä, Kin Yau James Wong. All rights Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Kalle Kytölä, Kin Yau James Wong -/ -import Mathlib.Probability.Kernel.Composition.CompNotation +module + +public import Mathlib.Probability.Kernel.Composition.CompNotation /-! # Proper kernels @@ -25,6 +27,8 @@ event. Prove the `integral` versions of the `lintegral` lemmas below -/ +@[expose] public section + open MeasureTheory ENNReal NNReal Set open scoped ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/RadonNikodym.lean b/Mathlib/Probability/Kernel/RadonNikodym.lean index 8a0707db3f4fb5..54eca2d08897a0 100644 --- a/Mathlib/Probability/Kernel/RadonNikodym.lean +++ b/Mathlib/Probability/Kernel/RadonNikodym.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Disintegration.Density -import Mathlib.Probability.Kernel.WithDensity +module + +public import Mathlib.Probability.Kernel.Disintegration.Density +public import Mathlib.Probability.Kernel.WithDensity /-! # Radon-Nikodym derivative and Lebesgue decomposition for kernels @@ -68,6 +70,8 @@ Theorem 1.28 in [O. Kallenberg, Random Measures, Theory and Applications][kallen -/ +@[expose] public section + open MeasureTheory Set Filter ENNReal open scoped NNReal MeasureTheory Topology ProbabilityTheory diff --git a/Mathlib/Probability/Kernel/SetIntegral.lean b/Mathlib/Probability/Kernel/SetIntegral.lean index 10afd47f147f52..a34762483376b2 100644 --- a/Mathlib/Probability/Kernel/SetIntegral.lean +++ b/Mathlib/Probability/Kernel/SetIntegral.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.MeasureTheory.Integral.Bochner.Set -import Mathlib.Probability.Kernel.Integral +module + +public import Mathlib.MeasureTheory.Integral.Bochner.Set +public import Mathlib.Probability.Kernel.Integral /-! # Integral against a kernel over a set @@ -12,6 +14,8 @@ This file contains lemmas about the integral against a kernel and over a set. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory namespace ProbabilityTheory.Kernel diff --git a/Mathlib/Probability/Kernel/WithDensity.lean b/Mathlib/Probability/Kernel/WithDensity.lean index 582eb49c9e598a..eb1b47b0454295 100644 --- a/Mathlib/Probability/Kernel/WithDensity.lean +++ b/Mathlib/Probability/Kernel/WithDensity.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap -import Mathlib.Probability.Kernel.MeasurableLIntegral +module + +public import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap +public import Mathlib.Probability.Kernel.MeasurableLIntegral /-! # With Density @@ -28,6 +30,8 @@ an s-finite kernel. -/ +@[expose] public section + open MeasureTheory ProbabilityTheory diff --git a/Mathlib/Probability/Martingale/Basic.lean b/Mathlib/Probability/Martingale/Basic.lean index 592dfa25efec92..b217c5b2add045 100644 --- a/Mathlib/Probability/Martingale/Basic.lean +++ b/Mathlib/Probability/Martingale/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Kexing Ying -/ -import Mathlib.Probability.Notation -import Mathlib.Probability.Process.Stopping +module + +public import Mathlib.Probability.Notation +public import Mathlib.Probability.Process.Stopping /-! # Martingales @@ -35,6 +37,8 @@ The definitions of filtration and adapted can be found in `Probability.Process.S -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/Probability/Martingale/BorelCantelli.lean b/Mathlib/Probability/Martingale/BorelCantelli.lean index b0880b4abd663d..3d504daafe09c5 100644 --- a/Mathlib/Probability/Martingale/BorelCantelli.lean +++ b/Mathlib/Probability/Martingale/BorelCantelli.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Algebra.Order.Archimedean.IndicatorCard -import Mathlib.Probability.Martingale.Centering -import Mathlib.Probability.Martingale.Convergence -import Mathlib.Probability.Martingale.OptionalStopping +module + +public import Mathlib.Algebra.Order.Archimedean.IndicatorCard +public import Mathlib.Probability.Martingale.Centering +public import Mathlib.Probability.Martingale.Convergence +public import Mathlib.Probability.Martingale.OptionalStopping /-! @@ -32,6 +34,8 @@ the results here), and `ProbabilityTheory.measure_limsup_eq_one` for the second -/ +@[expose] public section + open Filter diff --git a/Mathlib/Probability/Martingale/Centering.lean b/Mathlib/Probability/Martingale/Centering.lean index d72e7c8f3091e9..8ae809f59f8571 100644 --- a/Mathlib/Probability/Martingale/Centering.lean +++ b/Mathlib/Probability/Martingale/Centering.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Martingale.Basic +module + +public import Mathlib.Probability.Martingale.Basic /-! # Centering lemma for stochastic processes @@ -28,6 +30,8 @@ From a process `f`, a filtration `ℱ` and a measure `μ`, we define two process -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/Probability/Martingale/Convergence.lean b/Mathlib/Probability/Martingale/Convergence.lean index 895ad3ffd82fe5..33ee01866b5273 100644 --- a/Mathlib/Probability/Martingale/Convergence.lean +++ b/Mathlib/Probability/Martingale/Convergence.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.MeasureTheory.Constructions.Polish.Basic -import Mathlib.MeasureTheory.Function.UniformIntegrable -import Mathlib.Probability.Martingale.Upcrossing +module + +public import Mathlib.MeasureTheory.Constructions.Polish.Basic +public import Mathlib.MeasureTheory.Function.UniformIntegrable +public import Mathlib.Probability.Martingale.Upcrossing /-! @@ -41,6 +43,8 @@ theorems. -/ +@[expose] public section + open TopologicalSpace Filter MeasureTheory.Filtration diff --git a/Mathlib/Probability/Martingale/OptionalSampling.lean b/Mathlib/Probability/Martingale/OptionalSampling.lean index 0a7be289c8e5cb..1c22fefbec4390 100644 --- a/Mathlib/Probability/Martingale/OptionalSampling.lean +++ b/Mathlib/Probability/Martingale/OptionalSampling.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Order.SuccPred.LinearLocallyFinite -import Mathlib.Probability.Martingale.Basic +module + +public import Mathlib.Order.SuccPred.LinearLocallyFinite +public import Mathlib.Probability.Martingale.Basic /-! # Optional sampling theorem @@ -28,6 +30,8 @@ If `τ` is a bounded stopping time and `σ` is another stopping time, then the v -/ +@[expose] public section + open scoped MeasureTheory ENNReal diff --git a/Mathlib/Probability/Martingale/OptionalStopping.lean b/Mathlib/Probability/Martingale/OptionalStopping.lean index d7a54b8073c3dc..caf0523a61ff89 100644 --- a/Mathlib/Probability/Martingale/OptionalStopping.lean +++ b/Mathlib/Probability/Martingale/OptionalStopping.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Probability.Process.HittingTime -import Mathlib.Probability.Martingale.Basic +module + +public import Mathlib.Probability.Process.HittingTime +public import Mathlib.Probability.Martingale.Basic /-! # Optional stopping theorem (fair game theorem) @@ -24,6 +26,8 @@ This file also contains Doob's maximal inequality: given a non-negative submarti -/ +@[expose] public section + open scoped NNReal ENNReal MeasureTheory ProbabilityTheory diff --git a/Mathlib/Probability/Martingale/Upcrossing.lean b/Mathlib/Probability/Martingale/Upcrossing.lean index 8e1604b94e5e66..135f143ef2aa00 100644 --- a/Mathlib/Probability/Martingale/Upcrossing.lean +++ b/Mathlib/Probability/Martingale/Upcrossing.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Order.Interval.Set.Monotone -import Mathlib.Probability.Process.HittingTime -import Mathlib.Probability.Martingale.Basic -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Order.Interval.Set.Monotone +public import Mathlib.Probability.Process.HittingTime +public import Mathlib.Probability.Martingale.Basic +public import Mathlib.Tactic.AdaptationNote /-! @@ -54,6 +56,8 @@ We mostly follow the proof from [Kallenberg, *Foundations of modern probability* -/ +@[expose] public section + open TopologicalSpace Filter diff --git a/Mathlib/Probability/Moments/Basic.lean b/Mathlib/Probability/Moments/Basic.lean index 99c3e21a917e4d..0a5af4a8922ea8 100644 --- a/Mathlib/Probability/Moments/Basic.lean +++ b/Mathlib/Probability/Moments/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.IdentDistrib +module + +public import Mathlib.Probability.IdentDistrib /-! # Moments and moment-generating function @@ -35,6 +37,8 @@ import Mathlib.Probability.IdentDistrib of `cgf`. -/ +@[expose] public section + open MeasureTheory Filter Finset Real diff --git a/Mathlib/Probability/Moments/ComplexMGF.lean b/Mathlib/Probability/Moments/ComplexMGF.lean index f6fb458b7442a5..8165d88608b3e9 100644 --- a/Mathlib/Probability/Moments/ComplexMGF.lean +++ b/Mathlib/Probability/Moments/ComplexMGF.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.Calculus.ParametricIntegral -import Mathlib.Analysis.Complex.CauchyIntegral -import Mathlib.MeasureTheory.Measure.CharacteristicFunction -import Mathlib.Probability.Moments.Basic -import Mathlib.Probability.Moments.IntegrableExpMul +module + +public import Mathlib.Analysis.Calculus.ParametricIntegral +public import Mathlib.Analysis.Complex.CauchyIntegral +public import Mathlib.MeasureTheory.Measure.CharacteristicFunction +public import Mathlib.Probability.Moments.Basic +public import Mathlib.Probability.Moments.IntegrableExpMul /-! # The complex-valued moment-generating function @@ -54,6 +56,8 @@ properties of the mgf from those of the characteristic function). -/ +@[expose] public section + open MeasureTheory Filter Finset Real Complex diff --git a/Mathlib/Probability/Moments/Covariance.lean b/Mathlib/Probability/Moments/Covariance.lean index a0b25a52022853..87e753f74a3d14 100644 --- a/Mathlib/Probability/Moments/Covariance.lean +++ b/Mathlib/Probability/Moments/Covariance.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Etienne Marion -/ -import Mathlib.Probability.Independence.Integration +module + +public import Mathlib.Probability.Independence.Integration /-! # Covariance @@ -26,6 +28,8 @@ We define the covariance of two real-valued random variables. -/ +@[expose] public section + open MeasureTheory namespace ProbabilityTheory diff --git a/Mathlib/Probability/Moments/CovarianceBilin.lean b/Mathlib/Probability/Moments/CovarianceBilin.lean index 20d0aa9244afe2..03146f3b34620e 100644 --- a/Mathlib/Probability/Moments/CovarianceBilin.lean +++ b/Mathlib/Probability/Moments/CovarianceBilin.lean @@ -1,3 +1,5 @@ -import Mathlib.Probability.Moments.CovarianceBilinDual +module + +public import Mathlib.Probability.Moments.CovarianceBilinDual deprecated_module (since := "2025-10-13") diff --git a/Mathlib/Probability/Moments/CovarianceBilinDual.lean b/Mathlib/Probability/Moments/CovarianceBilinDual.lean index ad5aa16684f49d..9203e546827fa0 100644 --- a/Mathlib/Probability/Moments/CovarianceBilinDual.lean +++ b/Mathlib/Probability/Moments/CovarianceBilinDual.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Analysis.LocallyConvex.ContinuousOfBounded -import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap -import Mathlib.Probability.Moments.Variance +module + +public import Mathlib.Analysis.LocallyConvex.ContinuousOfBounded +public import Mathlib.MeasureTheory.Constructions.BorelSpace.ContinuousLinearMap +public import Mathlib.Probability.Moments.Variance /-! # Covariance in Banach spaces @@ -36,6 +38,8 @@ The hypothesis that `μ` has a second moment is written as `MemLp id 2 μ` in th -/ +@[expose] public section + open MeasureTheory ProbabilityTheory Complex NormedSpace open scoped ENNReal NNReal Real Topology diff --git a/Mathlib/Probability/Moments/IntegrableExpMul.lean b/Mathlib/Probability/Moments/IntegrableExpMul.lean index 47b5be943d5d9a..c9ae2a208469b7 100644 --- a/Mathlib/Probability/Moments/IntegrableExpMul.lean +++ b/Mathlib/Probability/Moments/IntegrableExpMul.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.L1Space.Integrable -import Mathlib.MeasureTheory.Order.Group.Lattice +module + +public import Mathlib.MeasureTheory.Function.L1Space.Integrable +public import Mathlib.MeasureTheory.Order.Group.Lattice /-! # Domain of the moment-generating function @@ -35,6 +37,8 @@ We prove the integrability of other functions for `t` in the interior of that in -/ +@[expose] public section + open MeasureTheory Filter Finset Real diff --git a/Mathlib/Probability/Moments/MGFAnalytic.lean b/Mathlib/Probability/Moments/MGFAnalytic.lean index 9b54595399fc16..8296556d7e645f 100644 --- a/Mathlib/Probability/Moments/MGFAnalytic.lean +++ b/Mathlib/Probability/Moments/MGFAnalytic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Moments.ComplexMGF -import Mathlib.Analysis.SpecialFunctions.Complex.Analytic -import Mathlib.Analysis.Calculus.Taylor +module + +public import Mathlib.Probability.Moments.ComplexMGF +public import Mathlib.Analysis.SpecialFunctions.Complex.Analytic +public import Mathlib.Analysis.Calculus.Taylor /-! # The moment-generating function is analytic @@ -24,6 +26,8 @@ is analytic on the interior of `integrableExpSet X μ`, the interval on which it -/ +@[expose] public section + open MeasureTheory Filter Finset Real diff --git a/Mathlib/Probability/Moments/SubGaussian.lean b/Mathlib/Probability/Moments/SubGaussian.lean index eb6af99ddc9993..f7ce4864562952 100644 --- a/Mathlib/Probability/Moments/SubGaussian.lean +++ b/Mathlib/Probability/Moments/SubGaussian.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Probability.Kernel.Condexp -import Mathlib.Probability.Moments.MGFAnalytic -import Mathlib.Probability.Moments.Tilted +module + +public import Mathlib.Probability.Kernel.Condexp +public import Mathlib.Probability.Moments.MGFAnalytic +public import Mathlib.Probability.Moments.Tilted /-! # Sub-Gaussian random variables @@ -118,6 +120,8 @@ a conditional expectation, `(μ.trim hm)`-almost surely: -/ +@[expose] public section + open MeasureTheory Real open scoped ENNReal NNReal Topology diff --git a/Mathlib/Probability/Moments/Tilted.lean b/Mathlib/Probability/Moments/Tilted.lean index 3719483ce33a8a..7f88da46c5eb7d 100644 --- a/Mathlib/Probability/Moments/Tilted.lean +++ b/Mathlib/Probability/Moments/Tilted.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Measure.Tilted -import Mathlib.Probability.Moments.MGFAnalytic +module + +public import Mathlib.MeasureTheory.Measure.Tilted +public import Mathlib.Probability.Moments.MGFAnalytic /-! # Results relating `Measure.tilted` to `mgf` and `cgf` @@ -24,6 +26,8 @@ of `X`. -/ +@[expose] public section + open MeasureTheory Real Set Finset diff --git a/Mathlib/Probability/Moments/Variance.lean b/Mathlib/Probability/Moments/Variance.lean index eb83bf0ce7a4ba..cfbba16ed08ae4 100644 --- a/Mathlib/Probability/Moments/Variance.lean +++ b/Mathlib/Probability/Moments/Variance.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Kexing Ying -/ -import Mathlib.Probability.Moments.Covariance +module + +public import Mathlib.Probability.Moments.Covariance /-! # Variance of random variables @@ -34,6 +36,8 @@ We define the variance of a real-valued random variable as `Var[X] = 𝔼[(X - `a ≤ X ≤ b` almost everywhere is at most`((b - a) / 2) ^ 2`. -/ +@[expose] public section + open MeasureTheory Filter Finset noncomputable section diff --git a/Mathlib/Probability/Notation.lean b/Mathlib/Probability/Notation.lean index 2bf6ab64febaf5..46bc4733dd6e09 100644 --- a/Mathlib/Probability/Notation.lean +++ b/Mathlib/Probability/Notation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic -import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue +module + +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Basic +public import Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue /-! # Notations for probability theory @@ -29,6 +31,8 @@ To use these notations, you need to use `open scoped ProbabilityTheory` or `open ProbabilityTheory`. -/ +@[expose] public section + open MeasureTheory diff --git a/Mathlib/Probability/ProbabilityMassFunction/Basic.lean b/Mathlib/Probability/ProbabilityMassFunction/Basic.lean index f87399ac24fc6a..7a6edae0c280e1 100644 --- a/Mathlib/Probability/ProbabilityMassFunction/Basic.lean +++ b/Mathlib/Probability/ProbabilityMassFunction/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Devon Tuma -/ -import Mathlib.Topology.Instances.ENNReal.Lemmas -import Mathlib.MeasureTheory.Measure.Dirac +module + +public import Mathlib.Topology.Instances.ENNReal.Lemmas +public import Mathlib.MeasureTheory.Measure.Dirac /-! # Probability mass functions @@ -29,6 +31,8 @@ to be the measure of the singleton set `{x}`. probability mass function, discrete probability measure -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Probability/ProbabilityMassFunction/Binomial.lean b/Mathlib/Probability/ProbabilityMassFunction/Binomial.lean index 0cb294c30755b6..76620d95de4699 100644 --- a/Mathlib/Probability/ProbabilityMassFunction/Binomial.lean +++ b/Mathlib/Probability/ProbabilityMassFunction/Binomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joachim Breitner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joachim Breitner -/ -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Probability.ProbabilityMassFunction.Constructions -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Probability.ProbabilityMassFunction.Constructions +public import Mathlib.Tactic.FinCases /-! # The binomial distribution @@ -17,6 +19,8 @@ This file defines the probability mass function of the binomial distribution. * `binomial_one_eq_bernoulli`: For `n = 1`, it is equal to `PMF.bernoulli`. -/ +@[expose] public section + namespace PMF open ENNReal NNReal diff --git a/Mathlib/Probability/ProbabilityMassFunction/Constructions.lean b/Mathlib/Probability/ProbabilityMassFunction/Constructions.lean index cd9c9b6aebc937..7960169836ae1a 100644 --- a/Mathlib/Probability/ProbabilityMassFunction/Constructions.lean +++ b/Mathlib/Probability/ProbabilityMassFunction/Constructions.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Devon Tuma -/ -import Mathlib.Probability.ProbabilityMassFunction.Monad -import Mathlib.Control.ULiftable +module + +public import Mathlib.Probability.ProbabilityMassFunction.Monad +public import Mathlib.Control.ULiftable /-! # Specific Constructions of Probability Mass Functions @@ -24,6 +26,8 @@ and `filter` uses this to filter the support of a `PMF` and re-normalize the new -/ +@[expose] public section + universe u v namespace PMF diff --git a/Mathlib/Probability/ProbabilityMassFunction/Integrals.lean b/Mathlib/Probability/ProbabilityMassFunction/Integrals.lean index bf26acf2d0a9de..bd129e3d4096ea 100644 --- a/Mathlib/Probability/ProbabilityMassFunction/Integrals.lean +++ b/Mathlib/Probability/ProbabilityMassFunction/Integrals.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Joachim Breitner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joachim Breitner -/ -import Mathlib.Probability.ProbabilityMassFunction.Basic -import Mathlib.Probability.ProbabilityMassFunction.Constructions -import Mathlib.MeasureTheory.Integral.Bochner.Basic +module + +public import Mathlib.Probability.ProbabilityMassFunction.Basic +public import Mathlib.Probability.ProbabilityMassFunction.Constructions +public import Mathlib.MeasureTheory.Integral.Bochner.Basic /-! # Integrals with a measure derived from probability mass functions. @@ -16,6 +18,8 @@ value) with regard to a measure derived from a `PMF` is a sum weighted by the `P It also provides the expected value for specific probability mass functions. -/ +@[expose] public section + namespace PMF open MeasureTheory NNReal ENNReal TopologicalSpace diff --git a/Mathlib/Probability/ProbabilityMassFunction/Monad.lean b/Mathlib/Probability/ProbabilityMassFunction/Monad.lean index 86c6ae42d39232..ccc10b0a62a430 100644 --- a/Mathlib/Probability/ProbabilityMassFunction/Monad.lean +++ b/Mathlib/Probability/ProbabilityMassFunction/Monad.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Devon Tuma -/ -import Mathlib.Probability.ProbabilityMassFunction.Basic +module + +public import Mathlib.Probability.ProbabilityMassFunction.Basic /-! # Monad Operations for Probability Mass Functions @@ -18,6 +20,8 @@ so that the second argument only needs to be defined on the support of the first -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Probability/Process/Adapted.lean b/Mathlib/Probability/Process/Adapted.lean index 6a7376b9669dec..0cca55b334f97f 100644 --- a/Mathlib/Probability/Process/Adapted.lean +++ b/Mathlib/Probability/Process/Adapted.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.Probability.Process.Filtration -import Mathlib.Topology.Instances.Discrete +module + +public import Mathlib.Probability.Process.Filtration +public import Mathlib.Topology.Instances.Discrete /-! # Adapted and progressively measurable processes @@ -32,6 +34,8 @@ adapted, progressively measurable -/ +@[expose] public section + open Filter Order TopologicalSpace diff --git a/Mathlib/Probability/Process/Filtration.lean b/Mathlib/Probability/Process/Filtration.lean index 290c0f611cf6d2..43c7323790302c 100644 --- a/Mathlib/Probability/Process/Filtration.lean +++ b/Mathlib/Probability/Process/Filtration.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.MeasureTheory.Constructions.Cylinders -import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real -import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict +module + +public import Mathlib.MeasureTheory.Constructions.Cylinders +public import Mathlib.MeasureTheory.Function.ConditionalExpectation.Real +public import Mathlib.MeasureTheory.MeasurableSpace.PreorderRestrict /-! # Filtrations @@ -31,6 +33,8 @@ filtration, stochastic process -/ +@[expose] public section + open Filter Order TopologicalSpace diff --git a/Mathlib/Probability/Process/FiniteDimensionalLaws.lean b/Mathlib/Probability/Process/FiniteDimensionalLaws.lean index 1aa153354b6c60..1c93fb0f5956be 100644 --- a/Mathlib/Probability/Process/FiniteDimensionalLaws.lean +++ b/Mathlib/Probability/Process/FiniteDimensionalLaws.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Jonas Bayer -/ +module -import Mathlib.MeasureTheory.Constructions.Projective -import Mathlib.Probability.IdentDistrib +public import Mathlib.MeasureTheory.Constructions.Projective +public import Mathlib.Probability.IdentDistrib /-! # Finite-dimensional distributions of a stochastic process @@ -30,6 +31,8 @@ finite-dimensional distributions. -/ +@[expose] public section + open MeasureTheory namespace ProbabilityTheory diff --git a/Mathlib/Probability/Process/HittingTime.lean b/Mathlib/Probability/Process/HittingTime.lean index ddfcaa372435c9..96f156dd309a14 100644 --- a/Mathlib/Probability/Process/HittingTime.lean +++ b/Mathlib/Probability/Process/HittingTime.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.Probability.Process.Stopping -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Probability.Process.Stopping +public import Mathlib.Tactic.AdaptationNote /-! # Hitting time @@ -33,6 +35,8 @@ hitting times indexed by the natural numbers or the reals. By taking the bounds -/ +@[expose] public section + open Filter Order TopologicalSpace diff --git a/Mathlib/Probability/Process/Kolmogorov.lean b/Mathlib/Probability/Process/Kolmogorov.lean index 86414e4c9d9710..8c9ca8769da15d 100644 --- a/Mathlib/Probability/Process/Kolmogorov.lean +++ b/Mathlib/Probability/Process/Kolmogorov.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic -import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable -import Mathlib.MeasureTheory.Integral.Lebesgue.Basic +module + +public import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic +public import Mathlib.MeasureTheory.Function.StronglyMeasurable.AEStronglyMeasurable +public import Mathlib.MeasureTheory.Integral.Lebesgue.Basic /-! # Stochastic processes satisfying the Kolmogorov condition @@ -37,6 +39,8 @@ of pairs can be obtained from measurability of each `X t`. -/ +@[expose] public section + open MeasureTheory open scoped ENNReal NNReal diff --git a/Mathlib/Probability/Process/PartitionFiltration.lean b/Mathlib/Probability/Process/PartitionFiltration.lean index 23a6b95dd69073..9edb2ab461038e 100644 --- a/Mathlib/Probability/Process/PartitionFiltration.lean +++ b/Mathlib/Probability/Process/PartitionFiltration.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated -import Mathlib.Probability.Process.Filtration +module + +public import Mathlib.MeasureTheory.MeasurableSpace.CountablyGenerated +public import Mathlib.Probability.Process.Filtration /-! # Filtration built from the finite partitions of a countably generated measurable space @@ -35,6 +37,8 @@ function on `α`. -/ +@[expose] public section + open MeasureTheory MeasurableSpace namespace ProbabilityTheory diff --git a/Mathlib/Probability/Process/Stopping.lean b/Mathlib/Probability/Process/Stopping.lean index f5d36275002bde..5a7e76e97501e7 100644 --- a/Mathlib/Probability/Process/Stopping.lean +++ b/Mathlib/Probability/Process/Stopping.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Rémy Degenne -/ -import Mathlib.Probability.Process.Adapted -import Mathlib.MeasureTheory.Constructions.BorelSpace.Order +module + +public import Mathlib.Probability.Process.Adapted +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Order /-! # Stopping times, stopped processes and stopped values @@ -31,6 +33,8 @@ stopping time, stochastic process -/ +@[expose] public section + open Filter Order TopologicalSpace open scoped MeasureTheory NNReal ENNReal Topology diff --git a/Mathlib/Probability/ProductMeasure.lean b/Mathlib/Probability/ProductMeasure.lean index 6f78ed770ba04c..a8a943794f8afa 100644 --- a/Mathlib/Probability/ProductMeasure.lean +++ b/Mathlib/Probability/ProductMeasure.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Probability.Kernel.Composition.MeasureComp -import Mathlib.Probability.Kernel.IonescuTulcea.Traj +module + +public import Mathlib.Probability.Kernel.Composition.MeasureComp +public import Mathlib.Probability.Kernel.IonescuTulcea.Traj /-! # Infinite product of probability measures @@ -45,6 +47,8 @@ in which case `piContent μ` is known to be a true measure (see `piContent_eq_me infinite product measure -/ +@[expose] public section + open ProbabilityTheory Finset Filter Preorder MeasurableEquiv open scoped ENNReal Topology diff --git a/Mathlib/Probability/StrongLaw.lean b/Mathlib/Probability/StrongLaw.lean index b1568a378510bb..38d62ec83d2be2 100644 --- a/Mathlib/Probability/StrongLaw.lean +++ b/Mathlib/Probability/StrongLaw.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Probability.IdentDistrib -import Mathlib.Probability.Independence.Integrable -import Mathlib.MeasureTheory.Integral.DominatedConvergence -import Mathlib.Analysis.SpecificLimits.FloorPow -import Mathlib.Analysis.PSeries -import Mathlib.Analysis.Asymptotics.SpecificAsymptotics +module + +public import Mathlib.Probability.IdentDistrib +public import Mathlib.Probability.Independence.Integrable +public import Mathlib.MeasureTheory.Integral.DominatedConvergence +public import Mathlib.Analysis.SpecificLimits.FloorPow +public import Mathlib.Analysis.PSeries +public import Mathlib.Analysis.Asymptotics.SpecificAsymptotics /-! # The strong law of large numbers @@ -53,6 +55,8 @@ random variables. Let `Yₙ` be the truncation of `Xₙ` up to `n`. We claim tha that, if `c` is close enough to `1`, the gap between `c^k` and `c^(k+1)` is small. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Probability/UniformOn.lean b/Mathlib/Probability/UniformOn.lean index a87543a21e030a..7c0f4eeccab44f 100644 --- a/Mathlib/Probability/UniformOn.lean +++ b/Mathlib/Probability/UniformOn.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying, Bhavik Mehta -/ -import Mathlib.Probability.ConditionalProbability -import Mathlib.MeasureTheory.Measure.Count +module + +public import Mathlib.Probability.ConditionalProbability +public import Mathlib.MeasureTheory.Measure.Count /-! # Classical probability @@ -33,6 +35,8 @@ writing `uniformOn s P`. We should avoid this however as none of the lemmas are predicates. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Probability/Variance.lean b/Mathlib/Probability/Variance.lean index 72da3527cf8591..354b6eacc4c317 100644 --- a/Mathlib/Probability/Variance.lean +++ b/Mathlib/Probability/Variance.lean @@ -1,3 +1,5 @@ -import Mathlib.Probability.Moments.Variance +module + +public import Mathlib.Probability.Moments.Variance deprecated_module (since := "2025-05-16") diff --git a/Mathlib/RepresentationTheory/Basic.lean b/Mathlib/RepresentationTheory/Basic.lean index c1c35d21bc014b..10150430622dca 100644 --- a/Mathlib/RepresentationTheory/Basic.lean +++ b/Mathlib/RepresentationTheory/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Antoine Labelle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Labelle -/ -import Mathlib.LinearAlgebra.Contraction -import Mathlib.Algebra.Group.Equiv.TypeTags +module + +public import Mathlib.LinearAlgebra.Contraction +public import Mathlib.Algebra.Group.Equiv.TypeTags /-! # Monoid representations @@ -33,6 +35,8 @@ module can be accessed via `ρ.asModule`. Conversely, given a `MonoidAlgebra k G `M.ofModule` is the associated representation seen as a homomorphism. -/ +@[expose] public section + open MonoidAlgebra (lift of) open LinearMap Module diff --git a/Mathlib/RepresentationTheory/Character.lean b/Mathlib/RepresentationTheory/Character.lean index f6ab3ad53cdadd..6725a30cde9cc3 100644 --- a/Mathlib/RepresentationTheory/Character.lean +++ b/Mathlib/RepresentationTheory/Character.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Antoine Labelle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Labelle -/ -import Mathlib.RepresentationTheory.FDRep -import Mathlib.LinearAlgebra.Trace -import Mathlib.RepresentationTheory.Invariants +module + +public import Mathlib.RepresentationTheory.FDRep +public import Mathlib.LinearAlgebra.Trace +public import Mathlib.RepresentationTheory.Invariants /-! # Characters of representations @@ -28,6 +30,8 @@ defined in `Mathlib/CategoryTheory/Simple.lean` in terms of `Vᘁ` and `ihom V W`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RepresentationTheory/Coinduced.lean b/Mathlib/RepresentationTheory/Coinduced.lean index 76b77ef3252ae8..1227a0a8406142 100644 --- a/Mathlib/RepresentationTheory/Coinduced.lean +++ b/Mathlib/RepresentationTheory/Coinduced.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Preserves -import Mathlib.RepresentationTheory.Rep +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Preserves +public import Mathlib.RepresentationTheory.Rep /-! # Coinduced representations @@ -39,6 +41,8 @@ coinduction functor and hence that the coinduction functor preserves limits. -/ +@[expose] public section + universe u namespace Representation diff --git a/Mathlib/RepresentationTheory/Coinvariants.lean b/Mathlib/RepresentationTheory/Coinvariants.lean index f785a4a2ffbfbf..f982c2f83e2f75 100644 --- a/Mathlib/RepresentationTheory/Coinvariants.lean +++ b/Mathlib/RepresentationTheory/Coinvariants.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.RepresentationTheory.Rep +module + +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.RepresentationTheory.Rep /-! # Coinvariants of a group representation @@ -35,6 +37,8 @@ left adjoint to the functor equipping a module with the trivial representation. -/ +@[expose] public section + universe u v namespace Representation diff --git a/Mathlib/RepresentationTheory/FDRep.lean b/Mathlib/RepresentationTheory/FDRep.lean index 0c6d466813f788..b3b84ffb94c069 100644 --- a/Mathlib/RepresentationTheory/FDRep.lean +++ b/Mathlib/RepresentationTheory/FDRep.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.FGModuleCat.Limits -import Mathlib.Algebra.Category.FGModuleCat.Colimits -import Mathlib.CategoryTheory.Monoidal.Rigid.Braided -import Mathlib.CategoryTheory.Preadditive.Schur -import Mathlib.RepresentationTheory.Basic -import Mathlib.RepresentationTheory.Rep +module + +public import Mathlib.Algebra.Category.FGModuleCat.Limits +public import Mathlib.Algebra.Category.FGModuleCat.Colimits +public import Mathlib.CategoryTheory.Monoidal.Rigid.Braided +public import Mathlib.CategoryTheory.Preadditive.Schur +public import Mathlib.RepresentationTheory.Basic +public import Mathlib.RepresentationTheory.Rep /-! # `FDRep k G` is the category of finite-dimensional `k`-linear representations of `G`. @@ -44,6 +46,8 @@ and this is reflected in the documentation. -/ +@[expose] public section + suppress_compilation universe u diff --git a/Mathlib/RepresentationTheory/FiniteIndex.lean b/Mathlib/RepresentationTheory/FiniteIndex.lean index 98a09d4d84ecda..fbbf34c6475a3f 100644 --- a/Mathlib/RepresentationTheory/FiniteIndex.lean +++ b/Mathlib/RepresentationTheory/FiniteIndex.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.GroupTheory.Index -import Mathlib.RepresentationTheory.Coinduced -import Mathlib.RepresentationTheory.Induced +module + +public import Mathlib.GroupTheory.Index +public import Mathlib.RepresentationTheory.Coinduced +public import Mathlib.RepresentationTheory.Induced /-! # (Co)induced representations of a finite index subgroup @@ -24,6 +26,8 @@ and which is 0 elsewhere. Meanwhile, the inverse sends `f : G → A` to `∑ᵢ -/ +@[expose] public section + universe u namespace Rep diff --git a/Mathlib/RepresentationTheory/GroupCohomology/Basic.lean b/Mathlib/RepresentationTheory/GroupCohomology/Basic.lean index 91be6281841638..9a69849eb9279a 100644 --- a/Mathlib/RepresentationTheory/GroupCohomology/Basic.lean +++ b/Mathlib/RepresentationTheory/GroupCohomology/Basic.lean @@ -3,6 +3,8 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic +module + +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic deprecated_module (since := "2025-06-14") diff --git a/Mathlib/RepresentationTheory/GroupCohomology/Functoriality.lean b/Mathlib/RepresentationTheory/GroupCohomology/Functoriality.lean index 45004eedea2f7d..00a93703ecb210 100644 --- a/Mathlib/RepresentationTheory/GroupCohomology/Functoriality.lean +++ b/Mathlib/RepresentationTheory/GroupCohomology/Functoriality.lean @@ -3,6 +3,8 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality +module + +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality deprecated_module (since := "2025-06-14") diff --git a/Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean b/Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean index 6f272027e3f240..73b95731c561a3 100644 --- a/Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean +++ b/Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean @@ -3,6 +3,8 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Hilbert90 +module + +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Hilbert90 deprecated_module (since := "2025-06-14") diff --git a/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean b/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean index f67ab84d9f9bfd..b5542a9f359d31 100644 --- a/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean +++ b/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean @@ -3,6 +3,8 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Joël Riou -/ -import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree +module + +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree deprecated_module (since := "2025-06-14") diff --git a/Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean b/Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean index 6726d3457a91f5..9a76931817827d 100644 --- a/Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean +++ b/Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean @@ -3,6 +3,8 @@ Copyright (c) 2022 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.Resolution +module + +public import Mathlib.RepresentationTheory.Homological.Resolution deprecated_module (since := "2025-06-14") diff --git a/Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean b/Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean index 68214c33d9a7d2..6d1d0aa3b683b7 100644 --- a/Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean +++ b/Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.AlternatingConst -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.CategoryTheory.Preadditive.Projective.Resolution -import Mathlib.GroupTheory.OrderOfElement -import Mathlib.RepresentationTheory.Coinvariants +module + +public import Mathlib.Algebra.Homology.AlternatingConst +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.CategoryTheory.Preadditive.Projective.Resolution +public import Mathlib.GroupTheory.OrderOfElement +public import Mathlib.RepresentationTheory.Coinvariants /-! # Projective resolution of `k` as a trivial `k`-linear representation of a finite cyclic group @@ -34,6 +36,8 @@ is a projective resolution of `k` as a trivial representation, which we prove he -/ +@[expose] public section + universe v u open CategoryTheory Finsupp diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean index 109065adee89ee..64ec46c1fac00f 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.Opposite -import Mathlib.Algebra.Homology.ConcreteCategory -import Mathlib.RepresentationTheory.Homological.Resolution -import Mathlib.Tactic.CategoryTheory.Slice +module + +public import Mathlib.Algebra.Homology.Opposite +public import Mathlib.Algebra.Homology.ConcreteCategory +public import Mathlib.RepresentationTheory.Homological.Resolution +public import Mathlib.Tactic.CategoryTheory.Slice /-! # The group cohomology of a `k`-linear `G`-representation @@ -63,6 +65,8 @@ Longer term: spectral sequences in general). -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean index ecf342336525ad..be7131b5b4a612 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic -import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree +module + +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree /-! # Functoriality of group cohomology @@ -26,6 +28,8 @@ We also provide extra API for these maps in degrees 0, 1, 2. -/ +@[expose] public section + universe v u namespace groupCohomology diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean index 7c41ee9b8dd211..978001e64aac83 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.FieldTheory.Fixed -import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree +module + +public import Mathlib.FieldTheory.Fixed +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree /-! # Hilbert's Theorem 90 @@ -46,6 +48,8 @@ statement is clearer. -/ +@[expose] public section + namespace groupCohomology namespace Hilbert90 diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean index 33e59ce920692f..d49c9e38517730 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.ConcreteCategory -import Mathlib.Algebra.Homology.HomologicalComplexAbelian -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality +module + +public import Mathlib.Algebra.Homology.ConcreteCategory +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality /-! # Long exact sequence in group cohomology @@ -25,6 +27,8 @@ to specialize API about long exact sequences to group cohomology. -/ +@[expose] public section + universe u v namespace groupCohomology diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean index d62318cfd68f87..beca78b75b5d69 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/LowDegree.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Joël Riou -/ -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic -import Mathlib.RepresentationTheory.Invariants +module + +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic +public import Mathlib.RepresentationTheory.Invariants /-! # The low-degree cohomology of a `k`-linear `G`-representation @@ -50,6 +52,8 @@ the `cocyclesₙ` in this file, for `n = 0, 1, 2`. -/ +@[expose] public section + universe v u noncomputable section diff --git a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Shapiro.lean b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Shapiro.lean index 48ecead8a107a7..c63d41af2299dd 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupCohomology/Shapiro.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupCohomology/Shapiro.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Resolution -import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic -import Mathlib.RepresentationTheory.Coinduced -import Mathlib.RepresentationTheory.Induced +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Resolution +public import Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic +public import Mathlib.RepresentationTheory.Coinduced +public import Mathlib.RepresentationTheory.Induced /-! # Shapiro's lemma for group cohomology @@ -28,6 +30,8 @@ Shapiro's lemma for group cohomology: `Hⁿ(G, Coind_S^G(A)) ≅ Hⁿ(S, A)` for !-/ +@[expose] public section + universe u namespace groupCohomology diff --git a/Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean b/Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean index 21182d15e6fdfc..d94dab88f18e56 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.ConcreteCategory -import Mathlib.RepresentationTheory.Coinvariants -import Mathlib.RepresentationTheory.Homological.Resolution -import Mathlib.Tactic.CategoryTheory.Slice -import Mathlib.CategoryTheory.Abelian.LeftDerived +module + +public import Mathlib.Algebra.Homology.ConcreteCategory +public import Mathlib.RepresentationTheory.Coinvariants +public import Mathlib.RepresentationTheory.Homological.Resolution +public import Mathlib.Tactic.CategoryTheory.Slice +public import Mathlib.CategoryTheory.Abelian.LeftDerived /-! # The group homology of a `k`-linear `G`-representation @@ -71,6 +73,8 @@ for commutative rings. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean b/Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean index c1fb265fa7db8d..45787b46e70402 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree +module + +public import Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree /-! # Functoriality of group homology @@ -24,6 +26,8 @@ We also provide extra API for these maps in degrees 0, 1, 2. -/ +@[expose] public section + universe v u namespace groupHomology diff --git a/Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean b/Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean index 179dfd3d802ceb..d75ba3062495d5 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.ConcreteCategory -import Mathlib.Algebra.Homology.HomologicalComplexAbelian -import Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality +module + +public import Mathlib.Algebra.Homology.ConcreteCategory +public import Mathlib.Algebra.Homology.HomologicalComplexAbelian +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Functoriality /-! # Long exact sequence in group homology @@ -25,6 +27,8 @@ to specialize API about long exact sequences to group homology. -/ +@[expose] public section + universe v u namespace groupHomology diff --git a/Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean b/Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean index 4ce5f27ab2b41e..c301656ad0d4df 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.GroupTheory.Abelianization.Defs -import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic -import Mathlib.RepresentationTheory.Invariants +module + +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.GroupTheory.Abelianization.Defs +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic +public import Mathlib.RepresentationTheory.Invariants /-! # The low-degree homology of a `k`-linear `G`-representation @@ -43,6 +45,8 @@ We show that when the representation on `A` is trivial, `H₁(G, A) ≃+ Gᵃᵇ -/ +@[expose] public section + universe v u noncomputable section diff --git a/Mathlib/RepresentationTheory/Homological/GroupHomology/Shapiro.lean b/Mathlib/RepresentationTheory/Homological/GroupHomology/Shapiro.lean index 1c05293072b20b..e4da087bd2fbb3 100644 --- a/Mathlib/RepresentationTheory/Homological/GroupHomology/Shapiro.lean +++ b/Mathlib/RepresentationTheory/Homological/GroupHomology/Shapiro.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.CategoryTheory.Preadditive.Projective.Resolution -import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic -import Mathlib.RepresentationTheory.Coinduced -import Mathlib.RepresentationTheory.Induced +module + +public import Mathlib.CategoryTheory.Preadditive.Projective.Resolution +public import Mathlib.RepresentationTheory.Homological.GroupHomology.Basic +public import Mathlib.RepresentationTheory.Coinduced +public import Mathlib.RepresentationTheory.Induced /-! # Shapiro's lemma for group homology @@ -35,6 +37,8 @@ group homology, we conclude Shapiro's lemma: `Hₙ(G, Ind_S^G(A)) ≅ Hₙ(S, A) -/ +@[expose] public section + universe u namespace groupHomology diff --git a/Mathlib/RepresentationTheory/Homological/Resolution.lean b/Mathlib/RepresentationTheory/Homological/Resolution.lean index 6d7f7c1f80f357..3c7169ae739e92 100644 --- a/Mathlib/RepresentationTheory/Homological/Resolution.lean +++ b/Mathlib/RepresentationTheory/Homological/Resolution.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Category.ModuleCat.Projective -import Mathlib.AlgebraicTopology.ExtraDegeneracy -import Mathlib.CategoryTheory.Abelian.Ext -import Mathlib.RepresentationTheory.Rep -import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced +module + +public import Mathlib.Algebra.Category.ModuleCat.Projective +public import Mathlib.AlgebraicTopology.ExtraDegeneracy +public import Mathlib.CategoryTheory.Abelian.Ext +public import Mathlib.RepresentationTheory.Rep +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced /-! # The standard and bar resolutions of `k` as a trivial `k`-linear `G`-representation @@ -58,6 +60,8 @@ computing group (co)homology. -/ +@[expose] public section + suppress_compilation noncomputable section diff --git a/Mathlib/RepresentationTheory/Induced.lean b/Mathlib/RepresentationTheory/Induced.lean index 5c2bd5fa4c4b56..a43abafba93f30 100644 --- a/Mathlib/RepresentationTheory/Induced.lean +++ b/Mathlib/RepresentationTheory/Induced.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RepresentationTheory.Coinvariants +module + +public import Mathlib.RepresentationTheory.Coinvariants /-! # Induced representations @@ -39,6 +41,8 @@ is used to prove Shapiro's lemma in -/ +@[expose] public section + universe u namespace Representation diff --git a/Mathlib/RepresentationTheory/Invariants.lean b/Mathlib/RepresentationTheory/Invariants.lean index 723705f9b8b3d5..56d1e8ef294dae 100644 --- a/Mathlib/RepresentationTheory/Invariants.lean +++ b/Mathlib/RepresentationTheory/Invariants.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Antoine Labelle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Labelle -/ -import Mathlib.RepresentationTheory.Basic -import Mathlib.RepresentationTheory.FDRep +module + +public import Mathlib.RepresentationTheory.Basic +public import Mathlib.RepresentationTheory.FDRep /-! # Subspace of invariants a group representation @@ -18,6 +20,8 @@ In order for the definition of the average element to make sense, we need to ass results that the order of `G` is invertible in `k` (e. g. `k` has characteristic `0`). -/ +@[expose] public section + suppress_compilation universe u diff --git a/Mathlib/RepresentationTheory/Maschke.lean b/Mathlib/RepresentationTheory/Maschke.lean index 8690edd9679367..943a78faf56a56 100644 --- a/Mathlib/RepresentationTheory/Maschke.lean +++ b/Mathlib/RepresentationTheory/Maschke.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.Algebra.MonoidAlgebra.Basic -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.Algebra.MonoidAlgebra.Basic +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Maschke's theorem @@ -31,6 +33,8 @@ It's not so far to give the usual statement, that every finite-dimensional repre of a finite group is semisimple (i.e. a direct sum of irreducibles). -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RepresentationTheory/Rep.lean b/Mathlib/RepresentationTheory/Rep.lean index be3a8869b98c32..678e261d82ad16 100644 --- a/Mathlib/RepresentationTheory/Rep.lean +++ b/Mathlib/RepresentationTheory/Rep.lean @@ -3,15 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.ModuleCat.Adjunctions -import Mathlib.Algebra.Category.ModuleCat.EpiMono -import Mathlib.Algebra.Category.ModuleCat.Limits -import Mathlib.Algebra.Category.ModuleCat.Colimits -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric -import Mathlib.Algebra.Category.ModuleCat.Projective -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.Action.Monoidal -import Mathlib.RepresentationTheory.Basic +module + +public import Mathlib.Algebra.Category.ModuleCat.Adjunctions +public import Mathlib.Algebra.Category.ModuleCat.EpiMono +public import Mathlib.Algebra.Category.ModuleCat.Limits +public import Mathlib.Algebra.Category.ModuleCat.Colimits +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +public import Mathlib.Algebra.Category.ModuleCat.Projective +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.Action.Monoidal +public import Mathlib.RepresentationTheory.Basic /-! # `Rep k G` is the category of `k`-linear representations of `G`. @@ -27,6 +29,8 @@ We construct the categorical equivalence `Rep k G ≌ ModuleCat (MonoidAlgebra k We verify that `Rep k G` is a `k`-linear abelian symmetric monoidal category with all (co)limits. -/ +@[expose] public section + suppress_compilation universe u diff --git a/Mathlib/RepresentationTheory/Submodule.lean b/Mathlib/RepresentationTheory/Submodule.lean index ab9c47c8e7c765..75dc75b80d5b42 100644 --- a/Mathlib/RepresentationTheory/Submodule.lean +++ b/Mathlib/RepresentationTheory/Submodule.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Module.Submodule.Invariant -import Mathlib.RepresentationTheory.Basic +module + +public import Mathlib.Algebra.Module.Submodule.Invariant +public import Mathlib.RepresentationTheory.Basic /-! # Invariant submodules of a group representation -/ +@[expose] public section + variable {k G V : Type*} [CommSemiring k] [Monoid G] [AddCommMonoid V] [Module k V] (ρ : Representation k G V) diff --git a/Mathlib/RepresentationTheory/Tannaka.lean b/Mathlib/RepresentationTheory/Tannaka.lean index a234b493f5fb6f..b55c286fe4b356 100644 --- a/Mathlib/RepresentationTheory/Tannaka.lean +++ b/Mathlib/RepresentationTheory/Tannaka.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yacine Benmeuraiem. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yacine Benmeuraiem -/ -import Mathlib.RepresentationTheory.FDRep +module + +public import Mathlib.RepresentationTheory.FDRep /-! # Tannaka duality for finite groups @@ -21,6 +23,8 @@ The main result is the isomorphism `equiv : G ≃* Aut (forget k G)`. -/ +@[expose] public section + noncomputable section open CategoryTheory MonoidalCategory ModuleCat Finset Pi diff --git a/Mathlib/RingTheory/AdicCompletion/Algebra.lean b/Mathlib/RingTheory/AdicCompletion/Algebra.lean index 0267abff86612c..f3e40fea368103 100644 --- a/Mathlib/RingTheory/AdicCompletion/Algebra.lean +++ b/Mathlib/RingTheory/AdicCompletion/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.Algebra.Algebra.Pi -import Mathlib.RingTheory.AdicCompletion.Basic +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.RingTheory.AdicCompletion.Basic /-! # Algebra instance on adic completion @@ -22,6 +24,8 @@ providing as much API as possible. -/ +@[expose] public section + suppress_compilation open Submodule diff --git a/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean b/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean index 85b677373bcb21..8172dfecdf4226 100644 --- a/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean +++ b/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.Algebra.FiveLemma -import Mathlib.LinearAlgebra.TensorProduct.Pi -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.AdicCompletion.Exactness -import Mathlib.RingTheory.Flat.Tensor +module + +public import Mathlib.Algebra.FiveLemma +public import Mathlib.LinearAlgebra.TensorProduct.Pi +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.AdicCompletion.Exactness +public import Mathlib.RingTheory.Flat.Tensor /-! @@ -35,6 +37,8 @@ As a corollary we obtain -/ +@[expose] public section + suppress_compilation universe u v diff --git a/Mathlib/RingTheory/AdicCompletion/Basic.lean b/Mathlib/RingTheory/AdicCompletion/Basic.lean index 95e2474926fe37..c699a571b8bc61 100644 --- a/Mathlib/RingTheory/AdicCompletion/Basic.lean +++ b/Mathlib/RingTheory/AdicCompletion/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Judith Ludwig, Christian Merten -/ -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.LinearAlgebra.SModEq -import Mathlib.RingTheory.Jacobson.Ideal -import Mathlib.RingTheory.Ideal.Quotient.PowTransition +module + +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.LinearAlgebra.SModEq +public import Mathlib.RingTheory.Jacobson.Ideal +public import Mathlib.RingTheory.Ideal.Quotient.PowTransition /-! # Completion of a module with respect to an ideal. @@ -26,6 +28,8 @@ with respect to an ideal `I`: -/ +@[expose] public section + suppress_compilation open Submodule diff --git a/Mathlib/RingTheory/AdicCompletion/Exactness.lean b/Mathlib/RingTheory/AdicCompletion/Exactness.lean index 20d563f9082fae..58432e6dfca930 100644 --- a/Mathlib/RingTheory/AdicCompletion/Exactness.lean +++ b/Mathlib/RingTheory/AdicCompletion/Exactness.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.Algebra.Exact -import Mathlib.RingTheory.AdicCompletion.Functoriality -import Mathlib.RingTheory.Filtration +module + +public import Mathlib.Algebra.Exact +public import Mathlib.RingTheory.AdicCompletion.Functoriality +public import Mathlib.RingTheory.Filtration /-! # Exactness of adic completion @@ -26,6 +28,8 @@ All results are proven directly without using Mittag-Leffler systems. -/ +@[expose] public section + universe u v w t open LinearMap diff --git a/Mathlib/RingTheory/AdicCompletion/Functoriality.lean b/Mathlib/RingTheory/AdicCompletion/Functoriality.lean index ccefa2370b9a3a..f9b4f7476ebb96 100644 --- a/Mathlib/RingTheory/AdicCompletion/Functoriality.lean +++ b/Mathlib/RingTheory/AdicCompletion/Functoriality.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Judith Ludwig, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Christian Merten -/ -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.AdicCompletion.Algebra -import Mathlib.Algebra.DirectSum.Basic +module + +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.AdicCompletion.Algebra +public import Mathlib.Algebra.DirectSum.Basic /-! # Functoriality of adic completions @@ -24,6 +26,8 @@ In this file we establish functorial properties of the adic completion. -/ +@[expose] public section + suppress_compilation variable {R : Type*} [CommRing R] (I : Ideal R) diff --git a/Mathlib/RingTheory/AdicCompletion/LocalRing.lean b/Mathlib/RingTheory/AdicCompletion/LocalRing.lean index 607c54988dae6a..5d7e2ad621976b 100644 --- a/Mathlib/RingTheory/AdicCompletion/LocalRing.lean +++ b/Mathlib/RingTheory/AdicCompletion/LocalRing.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ +module -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.LocalRing.Defs +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.LocalRing.Defs /-! # Basic Properties of Complete Local Ring @@ -15,6 +16,8 @@ ia a local ring (complete local ring). -/ +@[expose] public section + variable {R : Type*} [CommRing R] (m : Ideal R) [hmax : m.IsMaximal] open Ideal Quotient diff --git a/Mathlib/RingTheory/AdicCompletion/Noetherian.lean b/Mathlib/RingTheory/AdicCompletion/Noetherian.lean index 56d98832598f16..79b0985e5009c5 100644 --- a/Mathlib/RingTheory/AdicCompletion/Noetherian.lean +++ b/Mathlib/RingTheory/AdicCompletion/Noetherian.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.Filtration +module + +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.Filtration /-! # Hausdorff-ness for Noetherian rings -/ +@[expose] public section + open IsLocalRing variable {R : Type*} [CommRing R] (I : Ideal R) (M : Type*) [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/AdicCompletion/Topology.lean b/Mathlib/RingTheory/AdicCompletion/Topology.lean index 67a609a3be17f9..6516d3ee5145b3 100644 --- a/Mathlib/RingTheory/AdicCompletion/Topology.lean +++ b/Mathlib/RingTheory/AdicCompletion/Topology.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology +module + +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology /-! @@ -16,6 +18,8 @@ import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology -/ +@[expose] public section + section UniformSpace open Topology Uniformity diff --git a/Mathlib/RingTheory/Adjoin/Basic.lean b/Mathlib/RingTheory/Adjoin/Basic.lean index 16f824a98f84ad..d4ebf512ee705e 100644 --- a/Mathlib/RingTheory/Adjoin/Basic.lean +++ b/Mathlib/RingTheory/Adjoin/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Algebra.Subalgebra.Prod -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.LinearAlgebra.Prod +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Prod +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.LinearAlgebra.Prod /-! # Adjoining elements to form subalgebras @@ -18,6 +20,8 @@ adjoin, algebra -/ +@[expose] public section + assert_not_exists Polynomial universe uR uS uA uB diff --git a/Mathlib/RingTheory/Adjoin/Dimension.lean b/Mathlib/RingTheory/Adjoin/Dimension.lean index 630dc116b81060..e70c4c785a64cf 100644 --- a/Mathlib/RingTheory/Adjoin/Dimension.lean +++ b/Mathlib/RingTheory/Adjoin/Dimension.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Group.Pointwise.Set.Card -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.RingTheory.Adjoin.Basic +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Card +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.RingTheory.Adjoin.Basic /-! # Some results on dimensions of algebra adjoin @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Adjoin.Basic This file contains some results on dimensions of `Algebra.adjoin`. -/ +@[expose] public section + open Module universe u v diff --git a/Mathlib/RingTheory/Adjoin/FG.lean b/Mathlib/RingTheory/Adjoin/FG.lean index 49bae2e93e208e..e061c0d5b96226 100644 --- a/Mathlib/RingTheory/Adjoin/FG.lean +++ b/Mathlib/RingTheory/Adjoin/FG.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Adjoining elements to form subalgebras @@ -25,6 +27,8 @@ adjoin, algebra, finitely-generated algebra -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Adjoin/Field.lean b/Mathlib/RingTheory/Adjoin/Field.lean index 8025f524b19484..5e7297478df0d3 100644 --- a/Mathlib/RingTheory/Adjoin/Field.lean +++ b/Mathlib/RingTheory/Adjoin/Field.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.AdjoinRoot +module + +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.AdjoinRoot /-! # Adjoining elements to a field @@ -19,6 +21,8 @@ Some lemmas on the ring generated by adjoining an element to a field. then `Algebra.adjoin F s` embeds in `L`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Adjoin/Polynomial.lean b/Mathlib/RingTheory/Adjoin/Polynomial.lean index ac0cd72f287987..aba98336608deb 100644 --- a/Mathlib/RingTheory/Adjoin/Polynomial.lean +++ b/Mathlib/RingTheory/Adjoin/Polynomial.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker -/ -import Mathlib.Algebra.Polynomial.AlgebraMap +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap /-! # Polynomials and adjoining roots @@ -14,6 +16,8 @@ import Mathlib.Algebra.Polynomial.AlgebraMap adjoining an element to a commutative (semi)ring gives a commutative (semi)ring -/ +@[expose] public section + noncomputable section open Finset diff --git a/Mathlib/RingTheory/Adjoin/PowerBasis.lean b/Mathlib/RingTheory/Adjoin/PowerBasis.lean index 6d1a5c28c8dda0..449dda28d8723b 100644 --- a/Mathlib/RingTheory/Adjoin/PowerBasis.lean +++ b/Mathlib/RingTheory/Adjoin/PowerBasis.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.PowerBasis -import Mathlib.LinearAlgebra.Matrix.Basis +module + +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.PowerBasis +public import Mathlib.LinearAlgebra.Matrix.Basis /-! # Power basis for `Algebra.adjoin R {x}` @@ -14,6 +16,8 @@ This file defines the canonical power basis on `Algebra.adjoin R {x}`, where `x` is an integral element over `R`. -/ +@[expose] public section + open Module Polynomial PowerBasis variable {K S : Type*} [Field K] [CommRing S] [Algebra K S] diff --git a/Mathlib/RingTheory/Adjoin/Tower.lean b/Mathlib/RingTheory/Adjoin/Tower.lean index ee67b642948fd8..cd35fd4dbf7361 100644 --- a/Mathlib/RingTheory/Adjoin/Tower.lean +++ b/Mathlib/RingTheory/Adjoin/Tower.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.Adjoin.FG +module + +public import Mathlib.RingTheory.Adjoin.FG /-! # Adjoining elements and being finitely generated in an algebra tower @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Adjoin.FG C is algebra-finite over A, and C is module-finite over B, then B is algebra-finite over A. -/ +@[expose] public section + open Pointwise diff --git a/Mathlib/RingTheory/AdjoinRoot.lean b/Mathlib/RingTheory/AdjoinRoot.lean index 6cdf7cb3b10cab..78bf14e6be3616 100644 --- a/Mathlib/RingTheory/AdjoinRoot.lean +++ b/Mathlib/RingTheory/AdjoinRoot.lean @@ -3,16 +3,18 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Chris Hughes -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.FieldTheory.Minpoly.Basic -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Ideal.Quotient.Noetherian -import Mathlib.RingTheory.PowerBasis -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.RingTheory.Polynomial.Quotient +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.FieldTheory.Minpoly.Basic +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Ideal.Quotient.Noetherian +public import Mathlib.RingTheory.PowerBasis +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.RingTheory.Polynomial.Quotient /-! # Adjoining roots of polynomials @@ -46,6 +48,8 @@ The main definitions are in the `AdjoinRoot` namespace. -/ +@[expose] public section + noncomputable section open Algebra (FinitePresentation FiniteType) diff --git a/Mathlib/RingTheory/AlgebraTower.lean b/Mathlib/RingTheory/AlgebraTower.lean index 975ed0bd1a5eb2..326fceb2acb014 100644 --- a/Mathlib/RingTheory/AlgebraTower.lean +++ b/Mathlib/RingTheory/AlgebraTower.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.LinearAlgebra.Basis.Basic +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.LinearAlgebra.Basis.Basic /-! # Towers of algebras @@ -23,6 +25,8 @@ of `A`, then `{bi cj | i ∈ I, j ∈ J}` is an `R`-basis of `A`. This statement base rings to be a field, so we also generalize the lemma to rings in this file. -/ +@[expose] public section + open Module open scoped Pointwise diff --git a/Mathlib/RingTheory/Algebraic/Basic.lean b/Mathlib/RingTheory/Algebraic/Basic.lean index 41d17475e34a49..8662543a63d985 100644 --- a/Mathlib/RingTheory/Algebraic/Basic.lean +++ b/Mathlib/RingTheory/Algebraic/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Algebraic.Defs -import Mathlib.RingTheory.Polynomial.Tower +module + +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Algebraic.Defs +public import Mathlib.RingTheory.Polynomial.Tower /-! # Algebraic elements and algebraic extensions @@ -18,6 +20,8 @@ The main result in this file proves transitivity of algebraicity: a tower of algebraic field extensions is algebraic. -/ +@[expose] public section + universe u v w open Polynomial nonZeroDivisors diff --git a/Mathlib/RingTheory/Algebraic/Cardinality.lean b/Mathlib/RingTheory/Algebraic/Cardinality.lean index e520e97253903a..a389977dd09443 100644 --- a/Mathlib/RingTheory/Algebraic/Cardinality.lean +++ b/Mathlib/RingTheory/Algebraic/Cardinality.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Polynomial.Cardinal -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.Algebraic.Defs +module + +public import Mathlib.Algebra.Polynomial.Cardinal +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.Algebraic.Defs /-! # Cardinality of algebraic extensions @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Algebraic.Defs This file contains results on cardinality of algebraic extensions. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Algebraic/Defs.lean b/Mathlib/RingTheory/Algebraic/Defs.lean index b1e0042b4bd310..6927514be63269 100644 --- a/Mathlib/RingTheory/Algebraic/Defs.lean +++ b/Mathlib/RingTheory/Algebraic/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.AlgebraMap +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap /-! # Algebraic elements and algebraic extensions @@ -26,6 +28,8 @@ An R-algebra is algebraic over R if and only if all its elements are algebraic o * `Subalgebra.isAlgebraic_iff`: a subalgebra is algebraic iff it is algebraic as an algebra. -/ +@[expose] public section + assert_not_exists IsIntegralClosure LinearIndependent IsLocalRing MvPolynomial universe u v w diff --git a/Mathlib/RingTheory/Algebraic/Integral.lean b/Mathlib/RingTheory/Algebraic/Integral.lean index cd21e785ee4fab..04bbf6996ccfa7 100644 --- a/Mathlib/RingTheory/Algebraic/Integral.lean +++ b/Mathlib/RingTheory/Algebraic/Integral.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.LinearAlgebra.Dimension.Localization -import Mathlib.RingTheory.Algebraic.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic -import Mathlib.RingTheory.Localization.BaseChange +module + +public import Mathlib.LinearAlgebra.Dimension.Localization +public import Mathlib.RingTheory.Algebraic.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic +public import Mathlib.RingTheory.Localization.BaseChange /-! # Algebraic elements and integral elements @@ -33,6 +35,8 @@ is algebraic and that every algebraic element over a field is integral. remains transcendental over any algebraic `R`-subalgebra that has no zero divisors. -/ +@[expose] public section + assert_not_exists IsLocalRing universe u v w diff --git a/Mathlib/RingTheory/Algebraic/LinearIndependent.lean b/Mathlib/RingTheory/Algebraic/LinearIndependent.lean index a8cd4b11006a1c..288a66c5ecd779 100644 --- a/Mathlib/RingTheory/Algebraic/LinearIndependent.lean +++ b/Mathlib/RingTheory/Algebraic/LinearIndependent.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.RingTheory.Algebraic.Defs +module + +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.RingTheory.Algebraic.Defs /-! # Linear independence of transcendental elements @@ -15,6 +17,8 @@ import Mathlib.RingTheory.Algebraic.Defs then `{(x - a)⁻¹ | a : F}` is linearly independent over `F`. -/ +@[expose] public section + open Polynomial section diff --git a/Mathlib/RingTheory/Algebraic/MvPolynomial.lean b/Mathlib/RingTheory/Algebraic/MvPolynomial.lean index 0de432433d874b..3b353ad30a6a39 100644 --- a/Mathlib/RingTheory/Algebraic/MvPolynomial.lean +++ b/Mathlib/RingTheory/Algebraic/MvPolynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Supported -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Algebraic.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Supported +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Algebraic.Basic /-! # Transcendental elements in `MvPolynomial` @@ -14,6 +16,8 @@ This file lists some results on some elements in `MvPolynomial σ R` being trans over the base ring `R` and subrings `MvPolynomial.supported` of `MvPolynomial σ R`. -/ +@[expose] public section + universe u v w open Polynomial diff --git a/Mathlib/RingTheory/Algebraic/Pi.lean b/Mathlib/RingTheory/Algebraic/Pi.lean index 57b5f116787c47..587817b124cd93 100644 --- a/Mathlib/RingTheory/Algebraic/Pi.lean +++ b/Mathlib/RingTheory/Algebraic/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.AlgebraMap +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap /-! # Algebraic functions @@ -11,6 +13,8 @@ import Mathlib.Algebra.Polynomial.AlgebraMap This file defines algebraic functions as the image of the `algebraMap R[X] (R → S)`. -/ +@[expose] public section + assert_not_exists IsIntegralClosure LinearIndependent IsLocalRing MvPolynomial open Polynomial diff --git a/Mathlib/RingTheory/AlgebraicIndependent/Adjoin.lean b/Mathlib/RingTheory/AlgebraicIndependent/Adjoin.lean index 66a7c7a829c695..b7bfb4a3f0bd0c 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/Adjoin.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/Adjoin.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra -import Mathlib.RingTheory.AlgebraicIndependent.Defs +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra +public import Mathlib.RingTheory.AlgebraicIndependent.Defs /-! # Algebraic Independence @@ -21,6 +23,8 @@ This file concerns adjoining an algebraic independent family to a field. `AlgebraicIndependent.aevalEquivField`. -/ +@[expose] public section + noncomputable section open Function Set Subalgebra MvPolynomial Algebra diff --git a/Mathlib/RingTheory/AlgebraicIndependent/AlgebraicClosure.lean b/Mathlib/RingTheory/AlgebraicIndependent/AlgebraicClosure.lean index e1a33f7a70d9cf..90f874c3d7a647 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/AlgebraicClosure.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/AlgebraicClosure.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.FieldTheory.AlgebraicClosure -import Mathlib.RingTheory.Algebraic.Integral -import Mathlib.RingTheory.AlgebraicIndependent.Transcendental +module + +public import Mathlib.FieldTheory.AlgebraicClosure +public import Mathlib.RingTheory.Algebraic.Integral +public import Mathlib.RingTheory.AlgebraicIndependent.Transcendental /-! # Algebraic independence persists to the algebraic closure @@ -20,6 +22,8 @@ import Mathlib.RingTheory.AlgebraicIndependent.Transcendental algebraically independent over the algebraic closure. -/ +@[expose] public section + open Function Algebra section diff --git a/Mathlib/RingTheory/AlgebraicIndependent/Basic.lean b/Mathlib/RingTheory/AlgebraicIndependent/Basic.lean index 5d24c626f9708e..20c92a73c74568 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/Basic.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.MvPolynomial.Monad -import Mathlib.Algebra.MvPolynomial.Supported -import Mathlib.RingTheory.AlgebraicIndependent.Defs -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.MvPolynomial.Basic +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.MvPolynomial.Monad +public import Mathlib.Algebra.MvPolynomial.Supported +public import Mathlib.RingTheory.AlgebraicIndependent.Defs +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.MvPolynomial.Basic /-! # Algebraic Independence @@ -25,6 +27,8 @@ transcendence basis, transcendence degree, transcendence -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/AlgebraicIndependent/Defs.lean b/Mathlib/RingTheory/AlgebraicIndependent/Defs.lean index 13782f15671102..bf0f60e87f4374 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/Defs.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.MvPolynomial.CommRing +module + +public import Mathlib.Algebra.MvPolynomial.CommRing /-! # Algebraic Independence @@ -36,6 +38,8 @@ We show that algebraic independence is preserved under injective maps of the ind -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean b/Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean index 5c81f625102826..53776481753041 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic -import Mathlib.FieldTheory.MvRatFunc.Rank -import Mathlib.RingTheory.Algebraic.Cardinality -import Mathlib.RingTheory.AlgebraicIndependent.Adjoin -import Mathlib.RingTheory.AlgebraicIndependent.Transcendental -import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +public import Mathlib.FieldTheory.MvRatFunc.Rank +public import Mathlib.RingTheory.Algebraic.Cardinality +public import Mathlib.RingTheory.AlgebraicIndependent.Adjoin +public import Mathlib.RingTheory.AlgebraicIndependent.Transcendental +public import Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis /-! # Cardinality of a transcendence basis @@ -28,6 +30,8 @@ transcendence basis, transcendence degree, transcendence -/ +@[expose] public section + noncomputable section open Function Set Subalgebra MvPolynomial Algebra diff --git a/Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean b/Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean index a33d060a840c72..a20637bb8c4ee3 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Combinatorics.Matroid.IndepAxioms -import Mathlib.Combinatorics.Matroid.Rank.Cardinal -import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra -import Mathlib.RingTheory.AlgebraicIndependent.Transcendental +module + +public import Mathlib.Combinatorics.Matroid.IndepAxioms +public import Mathlib.Combinatorics.Matroid.Rank.Cardinal +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Algebra +public import Mathlib.RingTheory.AlgebraicIndependent.Transcendental /-! # Transcendence basis @@ -32,6 +34,8 @@ transcendence basis, transcendence degree, transcendence -/ +@[expose] public section + noncomputable section open Function Set Subalgebra MvPolynomial Algebra diff --git a/Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean b/Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean index d834d49f806412..47386ea422feb6 100644 --- a/Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean +++ b/Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Fin.Tuple.Reflection -import Mathlib.RingTheory.Algebraic.MvPolynomial -import Mathlib.RingTheory.AlgebraicIndependent.Basic +module + +public import Mathlib.Data.Fin.Tuple.Reflection +public import Mathlib.RingTheory.Algebraic.MvPolynomial +public import Mathlib.RingTheory.AlgebraicIndependent.Basic /-! # Algebraic Independence @@ -21,6 +23,8 @@ transcendence -/ +@[expose] public section + noncomputable section open Function Set Subalgebra MvPolynomial Algebra diff --git a/Mathlib/RingTheory/Artinian/Algebra.lean b/Mathlib/RingTheory/Artinian/Algebra.lean index fb308d37ee3898..1d214158a37fd7 100644 --- a/Mathlib/RingTheory/Artinian/Algebra.lean +++ b/Mathlib/RingTheory/Artinian/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Michal Staromiejski. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michal Staromiejski -/ -import Mathlib.RingTheory.Artinian.Module -import Mathlib.RingTheory.IntegralClosure.Algebra.Defs -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +module + +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.RingTheory.IntegralClosure.Algebra.Defs +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic /-! # Algebras over Artinian rings @@ -13,6 +15,8 @@ import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic In this file we collect results about algebras over Artinian rings. -/ +@[expose] public section + namespace IsArtinianRing variable {R A : Type*} diff --git a/Mathlib/RingTheory/Artinian/Instances.lean b/Mathlib/RingTheory/Artinian/Instances.lean index b75ae29ad5d635..d6d4ab1ff816cf 100644 --- a/Mathlib/RingTheory/Artinian/Instances.lean +++ b/Mathlib/RingTheory/Artinian/Instances.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Divisibility.Prod -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.RingTheory.Artinian.Module +module + +public import Mathlib.Algebra.Divisibility.Prod +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.RingTheory.Artinian.Module /-! # Instances related to Artinian rings @@ -14,6 +16,8 @@ We show that every reduced Artinian ring and the polynomial ring over it are decomposition monoids, and every reduced Artinian ring is semisimple. -/ +@[expose] public section + namespace IsArtinianRing variable (R : Type*) [CommRing R] [IsArtinianRing R] [IsReduced R] diff --git a/Mathlib/RingTheory/Artinian/Module.lean b/Mathlib/RingTheory/Artinian/Module.lean index 815b6593fb9a65..0719986e612386 100644 --- a/Mathlib/RingTheory/Artinian/Module.lean +++ b/Mathlib/RingTheory/Artinian/Module.lean @@ -3,17 +3,19 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Group.Units.Opposite -import Mathlib.Algebra.Regular.Opposite -import Mathlib.Data.SetLike.Fintype -import Mathlib.Order.Filter.EventuallyConst -import Mathlib.RingTheory.Ideal.Prod -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Jacobson.Semiprimary -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.Spectrum.Maximal.Basic -import Mathlib.RingTheory.Spectrum.Prime.Basic +module + +public import Mathlib.Algebra.Group.Units.Opposite +public import Mathlib.Algebra.Regular.Opposite +public import Mathlib.Data.SetLike.Fintype +public import Mathlib.Order.Filter.EventuallyConst +public import Mathlib.RingTheory.Ideal.Prod +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Jacobson.Semiprimary +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.Spectrum.Maximal.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Basic /-! # Artinian rings and modules @@ -59,6 +61,8 @@ Artinian, artinian, Artinian ring, Artinian module, artinian ring, artinian modu -/ +@[expose] public section + open Set Filter Pointwise /-- `IsArtinian R M` is the proposition that `M` is an Artinian `R`-module, diff --git a/Mathlib/RingTheory/Artinian/Ring.lean b/Mathlib/RingTheory/Artinian/Ring.lean index a020e2f074e35b..4e4326cd94f87e 100644 --- a/Mathlib/RingTheory/Artinian/Ring.lean +++ b/Mathlib/RingTheory/Artinian/Ring.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Junyan Xu, Jujian Zhang -/ -import Mathlib.Algebra.Field.Equiv -import Mathlib.RingTheory.Artinian.Module -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +module + +public import Mathlib.Algebra.Field.Equiv +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic /-! # Artinian rings @@ -42,6 +44,8 @@ Artinian, artinian, Artinian ring, artinian ring -/ +@[expose] public section + open Set Submodule IsArtinian namespace IsArtinianRing diff --git a/Mathlib/RingTheory/Bezout.lean b/Mathlib/RingTheory/Bezout.lean index 7165d84edf0bea..05c83518e705cf 100644 --- a/Mathlib/RingTheory/Bezout.lean +++ b/Mathlib/RingTheory/Bezout.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.RingTheory.PrincipalIdealDomain /-! @@ -18,6 +20,8 @@ Notable examples include principal ideal rings, valuation rings, and the ring of -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Bialgebra/Basic.lean b/Mathlib/RingTheory/Bialgebra/Basic.lean index 149ce3846e2c3b..0f5ac591c98863 100644 --- a/Mathlib/RingTheory/Bialgebra/Basic.lean +++ b/Mathlib/RingTheory/Bialgebra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Ali Ramsey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ali Ramsey, Kevin Buzzard -/ -import Mathlib.RingTheory.Coalgebra.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.Coalgebra.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Bialgebras @@ -43,6 +45,8 @@ that satisfy the coalgebra axioms to define a bialgebra structure on `A`. bialgebra -/ +@[expose] public section + universe u v w open Function diff --git a/Mathlib/RingTheory/Bialgebra/Equiv.lean b/Mathlib/RingTheory/Bialgebra/Equiv.lean index ec0dcb03606255..fc30dd95d867a0 100644 --- a/Mathlib/RingTheory/Bialgebra/Equiv.lean +++ b/Mathlib/RingTheory/Bialgebra/Equiv.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RingTheory.Coalgebra.Equiv -import Mathlib.RingTheory.Bialgebra.Hom +module + +public import Mathlib.RingTheory.Coalgebra.Equiv +public import Mathlib.RingTheory.Bialgebra.Hom /-! # Isomorphisms of `R`-bialgebras @@ -21,6 +23,8 @@ This file defines bundled isomorphisms of `R`-bialgebras. We simply mimic the ea * `A ≃ₐc[R] B` : `R`-bialgebra equivalence from `A` to `B`. -/ +@[expose] public section + universe u v w u₁ variable {R : Type u} {A : Type v} {B : Type w} {C : Type u₁} diff --git a/Mathlib/RingTheory/Bialgebra/Hom.lean b/Mathlib/RingTheory/Bialgebra/Hom.lean index 19e68030ece035..b4659bc060de88 100644 --- a/Mathlib/RingTheory/Bialgebra/Hom.lean +++ b/Mathlib/RingTheory/Bialgebra/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov, Amelia Livingston -/ -import Mathlib.RingTheory.Coalgebra.Hom -import Mathlib.RingTheory.Bialgebra.Basic +module + +public import Mathlib.RingTheory.Coalgebra.Hom +public import Mathlib.RingTheory.Bialgebra.Basic /-! # Homomorphisms of `R`-bialgebras @@ -24,6 +26,8 @@ This file defines bundled homomorphisms of `R`-bialgebras. We simply mimic -/ +@[expose] public section + open TensorProduct Bialgebra Coalgebra Function universe u v w diff --git a/Mathlib/RingTheory/Bialgebra/MonoidAlgebra.lean b/Mathlib/RingTheory/Bialgebra/MonoidAlgebra.lean index 122f230a1ef978..208267c0b86e1d 100644 --- a/Mathlib/RingTheory/Bialgebra/MonoidAlgebra.lean +++ b/Mathlib/RingTheory/Bialgebra/MonoidAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Yaël Dillies, Michał Mrugała -/ -import Mathlib.RingTheory.Bialgebra.Hom -import Mathlib.RingTheory.Coalgebra.MonoidAlgebra +module + +public import Mathlib.RingTheory.Bialgebra.Hom +public import Mathlib.RingTheory.Coalgebra.MonoidAlgebra /-! # The bialgebra structure on monoid algebras @@ -22,6 +24,8 @@ coalgebra structure. `A[T;T⁻¹]` when `A` is an `R`-bialgebra. -/ +@[expose] public section + noncomputable section open Bialgebra diff --git a/Mathlib/RingTheory/Bialgebra/TensorProduct.lean b/Mathlib/RingTheory/Bialgebra/TensorProduct.lean index 1fb7112d53bd0c..150cd98c0f1585 100644 --- a/Mathlib/RingTheory/Bialgebra/TensorProduct.lean +++ b/Mathlib/RingTheory/Bialgebra/TensorProduct.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Andrew Yang -/ -import Mathlib.RingTheory.Bialgebra.Equiv -import Mathlib.RingTheory.Coalgebra.TensorProduct -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.Bialgebra.Equiv +public import Mathlib.RingTheory.Coalgebra.TensorProduct +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Tensor products of bialgebras @@ -16,6 +18,8 @@ instance on a tensor product of bialgebras, and the tensor product of two `Bialg -/ +@[expose] public section + open scoped TensorProduct namespace Bialgebra.TensorProduct diff --git a/Mathlib/RingTheory/Binomial.lean b/Mathlib/RingTheory/Binomial.lean index a145beddc4a28a..21d343d2e54fd2 100644 --- a/Mathlib/RingTheory/Binomial.lean +++ b/Mathlib/RingTheory/Binomial.lean @@ -3,15 +3,17 @@ Copyright (c) 2023 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Algebra.Group.Torsion -import Mathlib.Algebra.Polynomial.Smeval -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.Data.NNRat.Order -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.RingTheory.Polynomial.Pochhammer -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Module +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Algebra.Group.Torsion +public import Mathlib.Algebra.Polynomial.Smeval +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.Data.NNRat.Order +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.RingTheory.Polynomial.Pochhammer +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.Module /-! # Binomial rings @@ -62,6 +64,8 @@ Further results in Elliot's paper: -/ +@[expose] public section + open Function Polynomial /-- A binomial ring is a ring for which ascending Pochhammer evaluations are uniquely divisible by diff --git a/Mathlib/RingTheory/ChainOfDivisors.lean b/Mathlib/RingTheory/ChainOfDivisors.lean index ccc3d37e507727..64a287486b3e12 100644 --- a/Mathlib/RingTheory/ChainOfDivisors.lean +++ b/Mathlib/RingTheory/ChainOfDivisors.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Paul Lezeau -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.IsPrimePow -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity -import Mathlib.Order.Atoms -import Mathlib.Order.Hom.Bounded +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity +public import Mathlib.Order.Atoms +public import Mathlib.Order.Hom.Bounded /-! # Chains of divisors @@ -35,6 +37,8 @@ and the set of factors of `a`. -/ +@[expose] public section + assert_not_exists Field variable {M : Type*} [CancelCommMonoidWithZero M] diff --git a/Mathlib/RingTheory/ClassGroup.lean b/Mathlib/RingTheory/ClassGroup.lean index 4235d16155a086..9c8c0b05310d2f 100644 --- a/Mathlib/RingTheory/ClassGroup.lean +++ b/Mathlib/RingTheory/ClassGroup.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.DedekindDomain.Ideal.Basic +module + +public import Mathlib.RingTheory.DedekindDomain.Ideal.Basic /-! # The ideal class group @@ -27,6 +29,8 @@ The definition of `ClassGroup R` involves `FractionRing R`. However, the API sho identical no matter the choice of field of fractions for `R`. -/ +@[expose] public section + variable {R K : Type*} [CommRing R] [Field K] [Algebra R K] [IsFractionRing R K] diff --git a/Mathlib/RingTheory/Coalgebra/Basic.lean b/Mathlib/RingTheory/Coalgebra/Basic.lean index 65ffafd384c858..8acad8ddcaebe2 100644 --- a/Mathlib/RingTheory/Coalgebra/Basic.lean +++ b/Mathlib/RingTheory/Coalgebra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Ali Ramsey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ali Ramsey, Eric Wieser -/ -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.LinearAlgebra.TensorProduct.Associator +module + +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.LinearAlgebra.TensorProduct.Associator /-! # Coalgebras @@ -20,6 +22,8 @@ In this file we define `Coalgebra`, and provide instances for: * -/ +@[expose] public section + universe u v w open scoped TensorProduct diff --git a/Mathlib/RingTheory/Coalgebra/Equiv.lean b/Mathlib/RingTheory/Coalgebra/Equiv.lean index 4c0183f65d4b9e..b832f15b6c0d2c 100644 --- a/Mathlib/RingTheory/Coalgebra/Equiv.lean +++ b/Mathlib/RingTheory/Coalgebra/Equiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RingTheory.Coalgebra.Hom +module + +public import Mathlib.RingTheory.Coalgebra.Hom /-! # Isomorphisms of `R`-coalgebras @@ -20,6 +22,8 @@ This file defines bundled isomorphisms of `R`-coalgebras. We simply mimic the ea * `A ≃ₗc[R] B` : `R`-coalgebra equivalence from `A` to `B`. -/ +@[expose] public section + universe u v w variable {R A B C : Type*} diff --git a/Mathlib/RingTheory/Coalgebra/Hom.lean b/Mathlib/RingTheory/Coalgebra/Hom.lean index fb9bcd36d0653a..145b6dfb8d8dbc 100644 --- a/Mathlib/RingTheory/Coalgebra/Hom.lean +++ b/Mathlib/RingTheory/Coalgebra/Hom.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yury Kudryashov, Amelia Livingston -/ -import Mathlib.RingTheory.Coalgebra.Basic +module + +public import Mathlib.RingTheory.Coalgebra.Basic /-! # Homomorphisms of `R`-coalgebras @@ -23,6 +25,8 @@ This file defines bundled homomorphisms of `R`-coalgebras. We largely mimic -/ +@[expose] public section + open TensorProduct Coalgebra universe u v w diff --git a/Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean b/Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean index 28b6167249f25f..7eefcf55afb403 100644 --- a/Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean +++ b/Mathlib/RingTheory/Coalgebra/MonoidAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.Algebra.Polynomial.Laurent -import Mathlib.RingTheory.Coalgebra.Basic +module + +public import Mathlib.Algebra.Polynomial.Laurent +public import Mathlib.RingTheory.Coalgebra.Basic /-! # The coalgebra structure on monoid algebras @@ -21,6 +23,8 @@ corresponding structure on its coefficients, defined in `Mathlib/RingTheory/Coal `A[T;T⁻¹]` when `A` is an `R`-coalgebra. -/ +@[expose] public section + noncomputable section open Coalgebra diff --git a/Mathlib/RingTheory/Coalgebra/MulOpposite.lean b/Mathlib/RingTheory/Coalgebra/MulOpposite.lean index 2357ecc7dc709e..4e78ef678a409a 100644 --- a/Mathlib/RingTheory/Coalgebra/MulOpposite.lean +++ b/Mathlib/RingTheory/Coalgebra/MulOpposite.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Monica Omar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Monica Omar -/ -import Mathlib.RingTheory.Coalgebra.Basic +module + +public import Mathlib.RingTheory.Coalgebra.Basic /-! # MulOpposite of coalgebras @@ -12,6 +14,8 @@ Suppose `R` is a commutative semiring, and `A` is an `R`-coalgebra, then `Aᵐᵒᵖ` is an `R`-coalgebra, where we define the comultiplication and counit maps naturally. -/ +@[expose] public section + namespace MulOpposite open scoped TensorProduct diff --git a/Mathlib/RingTheory/Coalgebra/TensorProduct.lean b/Mathlib/RingTheory/Coalgebra/TensorProduct.lean index b2e80b1c414205..3708ada7cf4dfc 100644 --- a/Mathlib/RingTheory/Coalgebra/TensorProduct.lean +++ b/Mathlib/RingTheory/Coalgebra/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Andrew Yang -/ -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Coalgebra.Equiv +module + +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Coalgebra.Equiv /-! # Tensor products of coalgebras @@ -22,6 +24,8 @@ the base change `S ⊗[R] B` as an `S`-coalgebra. -/ +@[expose] public section + open TensorProduct variable {R S A B : Type*} [CommSemiring R] [CommSemiring S] [AddCommMonoid A] [AddCommMonoid B] diff --git a/Mathlib/RingTheory/Complex.lean b/Mathlib/RingTheory/Complex.lean index 797e0b8b66e9e5..b13dd985e4690c 100644 --- a/Mathlib/RingTheory/Complex.lean +++ b/Mathlib/RingTheory/Complex.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.LinearAlgebra.Complex.Module -import Mathlib.RingTheory.Norm.Defs -import Mathlib.RingTheory.Trace.Defs +module + +public import Mathlib.LinearAlgebra.Complex.Module +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.RingTheory.Trace.Defs /-! # Lemmas about `Algebra.trace` and `Algebra.norm` on `ℂ` -/ +@[expose] public section + open Complex diff --git a/Mathlib/RingTheory/Conductor.lean b/Mathlib/RingTheory/Conductor.lean index 0a217979deb612..44946af9f19b71 100644 --- a/Mathlib/RingTheory/Conductor.lean +++ b/Mathlib/RingTheory/Conductor.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Xavier Roblot, Andrew Yang -/ +module -import Mathlib.RingTheory.Localization.Submodule -import Mathlib.RingTheory.PowerBasis +public import Mathlib.RingTheory.Localization.Submodule +public import Mathlib.RingTheory.PowerBasis /-! # The conductor ideal @@ -15,6 +16,8 @@ This file defines the conductor ideal of an element `x` of `R`-algebra `S`. This -/ +@[expose] public section + variable (R : Type*) {S : Type*} [CommRing R] [CommRing S] [Algebra R S] open Ideal Polynomial DoubleQuot UniqueFactorizationMonoid Algebra RingHom diff --git a/Mathlib/RingTheory/Congruence/Basic.lean b/Mathlib/RingTheory/Congruence/Basic.lean index 5fcbac43eead89..0da7aec5a116bf 100644 --- a/Mathlib/RingTheory/Congruence/Basic.lean +++ b/Mathlib/RingTheory/Congruence/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Ring.Action.Basic -import Mathlib.GroupTheory.Congruence.Basic -import Mathlib.RingTheory.Congruence.Defs +module + +public import Mathlib.Algebra.Ring.Action.Basic +public import Mathlib.GroupTheory.Congruence.Basic +public import Mathlib.RingTheory.Congruence.Defs /-! # Congruence relations on rings @@ -27,6 +29,8 @@ Most of the time you likely want to use the `Ideal.Quotient` API that is built o * Copy across more API from `Con` and `AddCon` in `GroupTheory/Congruence.lean`. -/ +@[expose] public section + variable {α β R : Type*} namespace RingCon diff --git a/Mathlib/RingTheory/Congruence/BigOperators.lean b/Mathlib/RingTheory/Congruence/BigOperators.lean index 52d8c1aaa155f9..dbb69a2b44b2c9 100644 --- a/Mathlib/RingTheory/Congruence/BigOperators.lean +++ b/Mathlib/RingTheory/Congruence/BigOperators.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.GroupTheory.Congruence.BigOperators -import Mathlib.RingTheory.Congruence.Defs +module + +public import Mathlib.GroupTheory.Congruence.BigOperators +public import Mathlib.RingTheory.Congruence.Defs /-! # Interactions between `∑, ∏` and `RingCon` -/ +@[expose] public section + namespace RingCon /-- Congruence relation of a ring preserves finite sum indexed by a list. -/ diff --git a/Mathlib/RingTheory/Congruence/Defs.lean b/Mathlib/RingTheory/Congruence/Defs.lean index 5d9d4a905dfeba..72ab66c80d8e4e 100644 --- a/Mathlib/RingTheory/Congruence/Defs.lean +++ b/Mathlib/RingTheory/Congruence/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.GroupTheory.Congruence.Defs -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.GroupTheory.Congruence.Defs +public import Mathlib.Tactic.FastInstance /-! # Congruence relations on rings @@ -28,6 +30,8 @@ Most of the time you likely want to use the `Ideal.Quotient` API that is built o * Copy across more API from `Con` and `AddCon` in `GroupTheory/Congruence.lean`. -/ +@[expose] public section + /-- A congruence relation on a type with an addition and multiplication is an equivalence relation which preserves both. -/ diff --git a/Mathlib/RingTheory/Congruence/Opposite.lean b/Mathlib/RingTheory/Congruence/Opposite.lean index 71b6c466f5081c..584f92d58f5f15 100644 --- a/Mathlib/RingTheory/Congruence/Opposite.lean +++ b/Mathlib/RingTheory/Congruence/Opposite.lean @@ -3,9 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ +module -import Mathlib.RingTheory.Congruence.Basic -import Mathlib.GroupTheory.Congruence.Opposite +public import Mathlib.RingTheory.Congruence.Basic +public import Mathlib.GroupTheory.Congruence.Opposite /-! # Congruences on the opposite ring @@ -15,6 +16,8 @@ the opposite ring `Rᵐᵒᵖ`. -/ +@[expose] public section + variable {R : Type*} [Add R] [Mul R] namespace RingCon diff --git a/Mathlib/RingTheory/Coprime/Basic.lean b/Mathlib/RingTheory/Coprime/Basic.lean index ae9d80c48b8662..8a31ad43f2b0f5 100644 --- a/Mathlib/RingTheory/Coprime/Basic.lean +++ b/Mathlib/RingTheory/Coprime/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Ken Lee, Chris Hughes -/ -import Mathlib.Algebra.Group.Action.Units -import Mathlib.Algebra.Group.Nat.Units -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Logic.Basic -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Group.Action.Units +public import Mathlib.Algebra.Group.Nat.Units +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Logic.Basic +public import Mathlib.Tactic.Ring /-! # Coprime elements of a ring or monoid @@ -26,6 +28,8 @@ This file also contains lemmas about `IsRelPrime` parallel to `IsCoprime`. See also `RingTheory.Coprime.Lemmas` for further development of coprime elements. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Coprime/Ideal.lean b/Mathlib/RingTheory/Coprime/Ideal.lean index 86b3c0efbd6368..1297623323ae23 100644 --- a/Mathlib/RingTheory/Coprime/Ideal.lean +++ b/Mathlib/RingTheory/Coprime/Ideal.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Pierre-Alexandre Bazin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Pierre-Alexandre Bazin -/ -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.Ideal.Operations +module + +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.Ideal.Operations /-! # An additional lemma about coprime ideals @@ -14,6 +16,8 @@ This lemma generalises `exists_sum_eq_one_iff_pairwise_coprime` to the case of n It is on a separate file due to import requirements. -/ +@[expose] public section + namespace Ideal diff --git a/Mathlib/RingTheory/Coprime/Lemmas.lean b/Mathlib/RingTheory/Coprime/Lemmas.lean index fe6bcbab9e12a0..a71ee1a73216e0 100644 --- a/Mathlib/RingTheory/Coprime/Lemmas.lean +++ b/Mathlib/RingTheory/Coprime/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Ken Lee, Chris Hughes -/ -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Int.GCD -import Mathlib.RingTheory.Coprime.Basic +module + +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Data.Fintype.Basic +public import Mathlib.Data.Int.GCD +public import Mathlib.RingTheory.Coprime.Basic /-! # Additional lemmas about elements of a ring satisfying `IsCoprime` @@ -20,6 +22,8 @@ lemmas about `Pow` since these are easiest to prove via `Finset.prod`. -/ +@[expose] public section + universe u v open scoped Function -- required for scoped `on` notation diff --git a/Mathlib/RingTheory/CotangentLocalizationAway.lean b/Mathlib/RingTheory/CotangentLocalizationAway.lean index e2faa5d2c76962..3f19f025e45f0f 100644 --- a/Mathlib/RingTheory/CotangentLocalizationAway.lean +++ b/Mathlib/RingTheory/CotangentLocalizationAway.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Extension.Cotangent.LocalizationAway +module + +public import Mathlib.RingTheory.Extension.Cotangent.LocalizationAway deprecated_module (since := "2025-05-11") diff --git a/Mathlib/RingTheory/DedekindDomain/AdicValuation.lean b/Mathlib/RingTheory/DedekindDomain/AdicValuation.lean index 53d5fe534f6457..33a8aeea8a018f 100644 --- a/Mathlib/RingTheory/DedekindDomain/AdicValuation.lean +++ b/Mathlib/RingTheory/DedekindDomain/AdicValuation.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.Order.Ring.IsNonarchimedean -import Mathlib.Data.Int.WithZero -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas -import Mathlib.RingTheory.Valuation.ExtendToLocalization -import Mathlib.Topology.Algebra.Valued.ValuedField -import Mathlib.Topology.Algebra.Valued.WithVal +module + +public import Mathlib.Algebra.Order.Ring.IsNonarchimedean +public import Mathlib.Data.Int.WithZero +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +public import Mathlib.RingTheory.Valuation.ExtendToLocalization +public import Mathlib.Topology.Algebra.Valued.ValuedField +public import Mathlib.Topology.Algebra.Valued.WithVal /-! # Adic valuations on Dedekind domains @@ -58,6 +60,8 @@ We are only interested in Dedekind domains with Krull dimension 1. dedekind domain, dedekind ring, adic valuation -/ +@[expose] public section + noncomputable section open WithZero Multiplicative IsDedekindDomain diff --git a/Mathlib/RingTheory/DedekindDomain/Basic.lean b/Mathlib/RingTheory/DedekindDomain/Basic.lean index f207ee3797f131..3877c21ad10537 100644 --- a/Mathlib/RingTheory/DedekindDomain/Basic.lean +++ b/Mathlib/RingTheory/DedekindDomain/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.Polynomial.RationalRoot +module + +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.Polynomial.RationalRoot /-! # Dedekind rings and domains @@ -43,6 +45,8 @@ to add a `(h : ¬ IsField A)` assumption whenever this is explicitly needed. dedekind domain, dedekind ring -/ +@[expose] public section + variable (R A K : Type*) [CommRing R] [CommRing A] [Field K] diff --git a/Mathlib/RingTheory/DedekindDomain/Different.lean b/Mathlib/RingTheory/DedekindDomain/Different.lean index 4d24cc6140eaca..4c486836a28a51 100644 --- a/Mathlib/RingTheory/DedekindDomain/Different.lean +++ b/Mathlib/RingTheory/DedekindDomain/Different.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.NumberTheory.RamificationInertia.Unramified -import Mathlib.RingTheory.Conductor -import Mathlib.RingTheory.FractionalIdeal.Extended -import Mathlib.RingTheory.Trace.Quotient +module + +public import Mathlib.NumberTheory.RamificationInertia.Unramified +public import Mathlib.RingTheory.Conductor +public import Mathlib.RingTheory.FractionalIdeal.Extended +public import Mathlib.RingTheory.Trace.Quotient /-! # The different ideal @@ -32,6 +34,8 @@ import Mathlib.RingTheory.Trace.Quotient - Show properties of the different ideal -/ +@[expose] public section + open Module universe u diff --git a/Mathlib/RingTheory/DedekindDomain/Dvr.lean b/Mathlib/RingTheory/DedekindDomain/Dvr.lean index dcf21bfb39ab6a..f19d0d7800abbf 100644 --- a/Mathlib/RingTheory/DedekindDomain/Dvr.lean +++ b/Mathlib/RingTheory/DedekindDomain/Dvr.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio, Yongle Hu -/ -import Mathlib.RingTheory.DiscreteValuationRing.TFAE -import Mathlib.RingTheory.LocalProperties.IntegrallyClosed +module + +public import Mathlib.RingTheory.DiscreteValuationRing.TFAE +public import Mathlib.RingTheory.LocalProperties.IntegrallyClosed /-! # Dedekind domains @@ -42,6 +44,8 @@ to add a `(h : ¬ IsField A)` assumption whenever this is explicitly needed. dedekind domain, dedekind ring -/ +@[expose] public section + variable (A : Type*) [CommRing A] [IsDomain A] diff --git a/Mathlib/RingTheory/DedekindDomain/Factorization.lean b/Mathlib/RingTheory/DedekindDomain/Factorization.lean index 999459ef20222a..e9348db938ae25 100644 --- a/Mathlib/RingTheory/DedekindDomain/Factorization.lean +++ b/Mathlib/RingTheory/DedekindDomain/Factorization.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.NumberTheory.RamificationInertia.Basic -import Mathlib.Order.Filter.Cofinite +module + +public import Mathlib.NumberTheory.RamificationInertia.Basic +public import Mathlib.Order.Filter.Cofinite /-! # Factorization of ideals and fractional ideals of Dedekind domains @@ -48,6 +50,8 @@ Since we are only interested in the factorization of nonzero fractional ideals, dedekind domain, fractional ideal, ideal, factorization -/ +@[expose] public section + noncomputable section open scoped nonZeroDivisors @@ -717,7 +721,7 @@ lemma divMod_zero_of_not_le {a b c : FractionalIdeal R⁰ K} (hac : ¬ a ≤ c) c.divMod b a = 0 := by simp [divMod, hac] -set_option maxHeartbeats 210000 in +set_option maxHeartbeats 212000 in -- changed for new compiler /-- Let `I J I' J'` be nonzero fractional ideals in a Dedekind domain with `J ≤ I` and `J' ≤ I'`. If `I/J = I'/J'` in the group of fractional ideals (i.e. `I * J' = I' * J`), diff --git a/Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean b/Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean index 3d3f734e43222e..4edb122301e1a9 100644 --- a/Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean +++ b/Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.RingTheory.DedekindDomain.Factorization -import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace +module + +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.RingTheory.DedekindDomain.Factorization +public import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace /-! # The finite adèle ring of a Dedekind domain @@ -26,6 +28,8 @@ field, its finite adèle ring is just defined to be the trivial ring. finite adèle ring, dedekind domain -/ +@[expose] public section + variable (R : Type*) [CommRing R] [IsDedekindDomain R] {K : Type*} [Field K] [Algebra R K] [IsFractionRing R K] diff --git a/Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean b/Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean index 77610d8191c0d8..290ad4ad34e969 100644 --- a/Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean +++ b/Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Algebra.Subalgebra.Pointwise -import Mathlib.RingTheory.DedekindDomain.Basic -import Mathlib.RingTheory.FractionalIdeal.Inverse -import Mathlib.RingTheory.Spectrum.Prime.Basic +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Pointwise +public import Mathlib.RingTheory.DedekindDomain.Basic +public import Mathlib.RingTheory.FractionalIdeal.Inverse +public import Mathlib.RingTheory.Spectrum.Prime.Basic /-! # Dedekind domains and invertible ideals @@ -47,6 +49,8 @@ to add a `(h : ¬ IsField A)` assumption whenever this is explicitly needed. dedekind domain, dedekind ring -/ +@[expose] public section + variable (R A K : Type*) [CommRing R] [CommRing A] [Field K] open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean b/Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean index 00ec84c49de7ee..1ff82f65d8bc17 100644 --- a/Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean +++ b/Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.Algebra.Squarefree.Basic -import Mathlib.RingTheory.ChainOfDivisors -import Mathlib.RingTheory.DedekindDomain.Ideal.Basic -import Mathlib.RingTheory.Spectrum.Maximal.Localization -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso +module + +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.Algebra.Squarefree.Basic +public import Mathlib.RingTheory.ChainOfDivisors +public import Mathlib.RingTheory.DedekindDomain.Ideal.Basic +public import Mathlib.RingTheory.Spectrum.Maximal.Localization +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.OrderIso /-! # Dedekind domains and ideals @@ -37,6 +39,8 @@ to add a `(h : ¬ IsField A)` assumption whenever this is explicitly needed. dedekind domain, dedekind ring -/ +@[expose] public section + variable (R A K : Type*) [CommRing R] [CommRing A] [Field K] open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/RingTheory/DedekindDomain/Instances.lean b/Mathlib/RingTheory/DedekindDomain/Instances.lean index b839358141cae8..c75163aeeedac3 100644 --- a/Mathlib/RingTheory/DedekindDomain/Instances.lean +++ b/Mathlib/RingTheory/DedekindDomain/Instances.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.DedekindDomain.PID -import Mathlib.FieldTheory.Separable -import Mathlib.RingTheory.RingHom.Finite +module + +public import Mathlib.RingTheory.DedekindDomain.PID +public import Mathlib.FieldTheory.Separable +public import Mathlib.RingTheory.RingHom.Finite /-! # Instances for Dedekind domains @@ -26,6 +28,8 @@ special case of *the* localization at a prime ideal is useful in working with De -/ +@[expose] public section + open nonZeroDivisors IsLocalization Algebra IsFractionRing IsScalarTower attribute [local instance] FractionRing.liftAlgebra diff --git a/Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean b/Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean index 153e0e6c865d2d..bc2e8cd940fe7b 100644 --- a/Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean +++ b/Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.LinearAlgebra.BilinearForm.DualLattice -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.RingTheory.DedekindDomain.Basic -import Mathlib.RingTheory.Trace.Basic +module + +public import Mathlib.LinearAlgebra.BilinearForm.DualLattice +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.RingTheory.DedekindDomain.Basic +public import Mathlib.RingTheory.Trace.Basic /-! # Integral closure of Dedekind domains @@ -33,6 +35,8 @@ to add a `(h : ¬IsField A)` assumption whenever this is explicitly needed. dedekind domain, dedekind ring -/ +@[expose] public section + open Algebra Module open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/RingTheory/DedekindDomain/PID.lean b/Mathlib/RingTheory/DedekindDomain/PID.lean index fb6568da5ffdfb..a2d84010b159a4 100644 --- a/Mathlib/RingTheory/DedekindDomain/PID.lean +++ b/Mathlib/RingTheory/DedekindDomain/PID.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +module + +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas /-! # Criteria under which a Dedekind domain is a PID @@ -20,6 +22,8 @@ principal. it is a principal ideal domain. -/ +@[expose] public section + variable {R : Type*} [CommRing R] diff --git a/Mathlib/RingTheory/DedekindDomain/SInteger.lean b/Mathlib/RingTheory/DedekindDomain/SInteger.lean index 006742af2d6f20..49e3eb3a80843b 100644 --- a/Mathlib/RingTheory/DedekindDomain/SInteger.lean +++ b/Mathlib/RingTheory/DedekindDomain/SInteger.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.RingTheory.DedekindDomain.AdicValuation +module + +public import Mathlib.RingTheory.DedekindDomain.AdicValuation /-! # `S`-integers and `S`-units of fraction fields of Dedekind domains @@ -40,6 +42,8 @@ This file defines the subalgebra of `S`-integers of `K` and the subgroup of `S`- S integer, S-integer, S unit, S-unit -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean b/Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean index b051d8225ff67c..90a1b48d443ef3 100644 --- a/Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean +++ b/Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.Algebra.Group.Equiv.TypeTags -import Mathlib.Data.ZMod.QuotientGroup -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.Algebra.Group.Int.TypeTags +module + +public import Mathlib.Algebra.Group.Equiv.TypeTags +public import Mathlib.Data.ZMod.QuotientGroup +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.Algebra.Group.Int.TypeTags /-! # Selmer groups of fraction fields of Dedekind domains @@ -61,6 +63,8 @@ https://doc.sagemath.org/html/en/reference/number_fields/sage/rings/number_field class group, selmer group, unit group -/ +@[expose] public section + set_option quotPrecheck false local notation K "/" n => Kˣ ⧸ (powMonoidHom n : Kˣ →* Kˣ).range diff --git a/Mathlib/RingTheory/Derivation/Basic.lean b/Mathlib/RingTheory/Derivation/Basic.lean index 7b77440e4c0e06..0c74b7a2f6b1b3 100644 --- a/Mathlib/RingTheory/Derivation/Basic.lean +++ b/Mathlib/RingTheory/Derivation/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Andrew Yang -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative /-! # Derivations @@ -31,6 +33,8 @@ and `RingTheory.Derivation.ToSquareZero` for -/ +@[expose] public section + open Algebra /-- `D : Derivation R A M` is an `R`-linear map from `A` to `M` that satisfies the `leibniz` diff --git a/Mathlib/RingTheory/Derivation/DifferentialRing.lean b/Mathlib/RingTheory/Derivation/DifferentialRing.lean index b15cee6cc4045c..2a400909721192 100644 --- a/Mathlib/RingTheory/Derivation/DifferentialRing.lean +++ b/Mathlib/RingTheory/Derivation/DifferentialRing.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.RingTheory.Derivation.Basic /-! # Differential and Algebras @@ -12,6 +14,8 @@ This file defines derivations from a commutative ring to itself as a typeclass, use the x′ notation for the derivative of x. -/ +@[expose] public section + /-- A derivation from a ring to itself, as a typeclass. -/ @[ext] class Differential (R : Type*) [CommRing R] where @@ -29,7 +33,7 @@ A delaborator for the x′ notation. This is required because it's not direct fu so the default delaborator doesn't work. -/ @[app_delab DFunLike.coe] -def delabDeriv : Delab := do +meta def delabDeriv : Delab := do let e ← getExpr guard <| e.isAppOfArity' ``DFunLike.coe 6 guard <| (e.getArg!' 4).isAppOf' ``Differential.deriv diff --git a/Mathlib/RingTheory/Derivation/Lie.lean b/Mathlib/RingTheory/Derivation/Lie.lean index a07f1db5d5cbb5..15d5f7fc535834 100644 --- a/Mathlib/RingTheory/Derivation/Lie.lean +++ b/Mathlib/RingTheory/Derivation/Lie.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Andrew Yang -/ -import Mathlib.Algebra.Lie.OfAssociative -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.Algebra.Lie.OfAssociative +public import Mathlib.RingTheory.Derivation.Basic /-! # Results @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Derivation.Basic -/ +@[expose] public section + namespace Derivation diff --git a/Mathlib/RingTheory/Derivation/MapCoeffs.lean b/Mathlib/RingTheory/Derivation/MapCoeffs.lean index e7cca78558f1ea..44f7f08599a2fa 100644 --- a/Mathlib/RingTheory/Derivation/MapCoeffs.lean +++ b/Mathlib/RingTheory/Derivation/MapCoeffs.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.RingTheory.Derivation.DifferentialRing -import Mathlib.Algebra.Polynomial.Module.Basic -import Mathlib.Algebra.Polynomial.Derivation -import Mathlib.FieldTheory.Separable +module + +public import Mathlib.RingTheory.Derivation.DifferentialRing +public import Mathlib.Algebra.Polynomial.Module.Basic +public import Mathlib.Algebra.Polynomial.Derivation +public import Mathlib.FieldTheory.Separable /-! # Coefficient-wise derivation on polynomials @@ -17,6 +19,8 @@ show this forms a derivation, and prove `apply_eval_eq`, which shows that for a are generalizations of that for algebras. We also have a special case for `DifferentialAlgebra`s. -/ +@[expose] public section + noncomputable section open Polynomial Module diff --git a/Mathlib/RingTheory/Derivation/ToSquareZero.lean b/Mathlib/RingTheory/Derivation/ToSquareZero.lean index 32f556817b9161..4ab35d52e43584 100644 --- a/Mathlib/RingTheory/Derivation/ToSquareZero.lean +++ b/Mathlib/RingTheory/Derivation/ToSquareZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Andrew Yang -/ -import Mathlib.RingTheory.Derivation.Basic -import Mathlib.RingTheory.Ideal.Quotient.Operations +module + +public import Mathlib.RingTheory.Derivation.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Operations /-! # Results @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Ideal.Quotient.Operations -/ +@[expose] public section + section ToSquareZero diff --git a/Mathlib/RingTheory/DiscreteValuationRing/Basic.lean b/Mathlib/RingTheory/DiscreteValuationRing/Basic.lean index f558203abc7046..626e3c92f99f53 100644 --- a/Mathlib/RingTheory/DiscreteValuationRing/Basic.lean +++ b/Mathlib/RingTheory/DiscreteValuationRing/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Basic -import Mathlib.RingTheory.Valuation.PrimeMultiplicity -import Mathlib.RingTheory.Valuation.ValuationRing +module + +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Basic +public import Mathlib.RingTheory.Valuation.PrimeMultiplicity +public import Mathlib.RingTheory.Valuation.ValuationRing /-! # Discrete valuation rings @@ -44,6 +46,8 @@ We do not hence define `Uniformizer` at all, because we can use `Irreducible` in discrete valuation ring -/ +@[expose] public section + universe u open Ideal IsLocalRing diff --git a/Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean b/Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean index fe2cb950e0cff0..fe5d184a45e1bc 100644 --- a/Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean +++ b/Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.DedekindDomain.Basic -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Ideal.Cotangent +module + +public import Mathlib.RingTheory.DedekindDomain.Basic +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Ideal.Cotangent /-! @@ -25,6 +27,8 @@ Noetherian local domain that is not a field `(R, m, k)`: Also see `tfae_of_isNoetherianRing_of_isLocalRing_of_isDomain` for a version without `¬ IsField R`. -/ +@[expose] public section + variable (R : Type*) [CommRing R] diff --git a/Mathlib/RingTheory/Discriminant.lean b/Mathlib/RingTheory/Discriminant.lean index 5d108b69c6495c..39da7c3f42d433 100644 --- a/Mathlib/RingTheory/Discriminant.lean +++ b/Mathlib/RingTheory/Discriminant.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite -import Mathlib.RingTheory.Norm.Transitivity -import Mathlib.RingTheory.Trace.Basic +module + +public import Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite +public import Mathlib.RingTheory.Norm.Transitivity +public import Mathlib.RingTheory.Trace.Basic /-! # Discriminant of a family of vectors @@ -45,6 +47,8 @@ Our definition works for any `A`-algebra `B`, but note that if `B` is not free a then `trace A B = 0` by definition, so `discr A b = 0` for any `b`. -/ +@[expose] public section + universe u v w z diff --git a/Mathlib/RingTheory/DividedPowers/Basic.lean b/Mathlib/RingTheory/DividedPowers/Basic.lean index 859725f2f6a2c5..0e9bae9dc83eda 100644 --- a/Mathlib/RingTheory/DividedPowers/Basic.lean +++ b/Mathlib/RingTheory/DividedPowers/Basic.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Antoine Chambert-Loir & María-Inés de Frutos—Fernández. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María-Inés de Frutos—Fernández -/ +module -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.Combinatorics.Enumerative.Bell -import Mathlib.Data.Nat.Choose.Multinomial -import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.Combinatorics.Enumerative.Bell +public import Mathlib.Data.Nat.Choose.Multinomial +public import Mathlib.RingTheory.Ideal.Maps /-! # Divided powers @@ -63,6 +64,8 @@ modules*][Roby-1963] -/ +@[expose] public section + open Finset Nat Ideal section DividedPowersDefinition diff --git a/Mathlib/RingTheory/DividedPowers/DPMorphism.lean b/Mathlib/RingTheory/DividedPowers/DPMorphism.lean index 01854db0940f1d..5b44e1cbf6aadb 100644 --- a/Mathlib/RingTheory/DividedPowers/DPMorphism.lean +++ b/Mathlib/RingTheory/DividedPowers/DPMorphism.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.RingTheory.DividedPowers.Basic +module + +public import Mathlib.RingTheory.DividedPowers.Basic /-! # Divided power morphisms @@ -49,6 +51,8 @@ modules*][Roby-1963] * [N. Roby, *Les algèbres à puissances dividées*][Roby-1965] -/ +@[expose] public section + open Ideal Set SetLike namespace DividedPowers diff --git a/Mathlib/RingTheory/DividedPowers/Padic.lean b/Mathlib/RingTheory/DividedPowers/Padic.lean index 1ebcf0e9d22f60..cdbc34e707e288 100644 --- a/Mathlib/RingTheory/DividedPowers/Padic.lean +++ b/Mathlib/RingTheory/DividedPowers/Padic.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.NumberTheory.Padics.PadicIntegers -import Mathlib.RingTheory.DividedPowers.RatAlgebra +public import Mathlib.NumberTheory.Padics.PadicIntegers +public import Mathlib.RingTheory.DividedPowers.RatAlgebra /-! # Divided powers on ℤ_[p] @@ -23,6 +24,8 @@ TODO: If `K` is a `p`-adic local field with ring of integers `R` and uniformizer -/ +@[expose] public section + namespace PadicInt open DividedPowers DividedPowers.OfInvertibleFactorial Nat Ring diff --git a/Mathlib/RingTheory/DividedPowers/RatAlgebra.lean b/Mathlib/RingTheory/DividedPowers/RatAlgebra.lean index e15b4ea81fdb2a..3b2311f629f330 100644 --- a/Mathlib/RingTheory/DividedPowers/RatAlgebra.lean +++ b/Mathlib/RingTheory/DividedPowers/RatAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Data.Nat.Factorial.NatCast -import Mathlib.RingTheory.DividedPowers.Basic +module + +public import Mathlib.Data.Nat.Factorial.NatCast +public import Mathlib.RingTheory.DividedPowers.Basic /-! # Examples of divided power structures @@ -46,6 +48,8 @@ modules*][Roby-1963] -/ +@[expose] public section + open Nat Ring namespace DividedPowers diff --git a/Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean b/Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean index 80f5ed53d382b6..22e2fa854118e3 100644 --- a/Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean +++ b/Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.RingTheory.DividedPowers.DPMorphism -import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.DividedPowers.DPMorphism +public import Mathlib.RingTheory.Ideal.Quotient.Operations /-! # Sub-divided power-ideals @@ -69,6 +70,8 @@ lattice. * [N. Roby, *Les algèbres à puissances dividées*][Roby-1965] -/ +@[expose] public section + open Subtype namespace DividedPowers diff --git a/Mathlib/RingTheory/DualNumber.lean b/Mathlib/RingTheory/DualNumber.lean index c3ca40b9247e4e..5ffb83a9a4884d 100644 --- a/Mathlib/RingTheory/DualNumber.lean +++ b/Mathlib/RingTheory/DualNumber.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.DualNumber -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Algebra.DualNumber +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Algebraic properties of dual numbers @@ -19,6 +21,8 @@ import Mathlib.RingTheory.Nilpotent.Defs -/ +@[expose] public section + namespace TrivSqZeroExt variable {R M : Type*} diff --git a/Mathlib/RingTheory/EisensteinCriterion.lean b/Mathlib/RingTheory/EisensteinCriterion.lean index 76de8e802694b2..976d9fb3e38c8f 100644 --- a/Mathlib/RingTheory/EisensteinCriterion.lean +++ b/Mathlib/RingTheory/EisensteinCriterion.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Data.Nat.Cast.WithTop -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.Prime +module + +public import Mathlib.Data.Nat.Cast.WithTop +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.Prime deprecated_module "Auto-generated deprecation" (since := "2025-04-11") diff --git a/Mathlib/RingTheory/EssentialFiniteness.lean b/Mathlib/RingTheory/EssentialFiniteness.lean index 96eb5b04f8b0f1..d08f3c159a6a45 100644 --- a/Mathlib/RingTheory/EssentialFiniteness.lean +++ b/Mathlib/RingTheory/EssentialFiniteness.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Essentially of finite type algebras @@ -18,6 +20,8 @@ import Mathlib.RingTheory.TensorProduct.Basic -/ +@[expose] public section + open scoped TensorProduct namespace Algebra diff --git a/Mathlib/RingTheory/Etale/Basic.lean b/Mathlib/RingTheory/Etale/Basic.lean index 0ab5a651554e99..45189cb10b58a1 100644 --- a/Mathlib/RingTheory/Etale/Basic.lean +++ b/Mathlib/RingTheory/Etale/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.Quotient.Nilpotent -import Mathlib.RingTheory.Smooth.Basic -import Mathlib.RingTheory.Unramified.Basic +module + +public import Mathlib.RingTheory.Ideal.Quotient.Nilpotent +public import Mathlib.RingTheory.Smooth.Basic +public import Mathlib.RingTheory.Unramified.Basic /-! @@ -24,6 +26,8 @@ localization at an element. -/ +@[expose] public section + open scoped TensorProduct universe u diff --git a/Mathlib/RingTheory/Etale/Field.lean b/Mathlib/RingTheory/Etale/Field.lean index 2560433f6be666..e01a928d885df5 100644 --- a/Mathlib/RingTheory/Etale/Field.lean +++ b/Mathlib/RingTheory/Etale/Field.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Etale.Pi -import Mathlib.RingTheory.Unramified.Field +module + +public import Mathlib.RingTheory.Etale.Pi +public import Mathlib.RingTheory.Unramified.Field /-! # Étale algebras over fields @@ -29,6 +31,8 @@ Let `K` be a field, `A` be a `K`-algebra and `L` be a field extension of `K`. -/ +@[expose] public section + universe u diff --git a/Mathlib/RingTheory/Etale/Kaehler.lean b/Mathlib/RingTheory/Etale/Kaehler.lean index b2ad5259ef0629..269b974e224d41 100644 --- a/Mathlib/RingTheory/Etale/Kaehler.lean +++ b/Mathlib/RingTheory/Etale/Kaehler.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Etale.Basic -import Mathlib.RingTheory.Kaehler.JacobiZariski -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Smooth.Kaehler -import Mathlib.RingTheory.Flat.Localization +module + +public import Mathlib.RingTheory.Etale.Basic +public import Mathlib.RingTheory.Kaehler.JacobiZariski +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Smooth.Kaehler +public import Mathlib.RingTheory.Flat.Localization /-! # The differential module and étale algebras @@ -19,6 +21,8 @@ import Mathlib.RingTheory.Flat.Localization The canonical isomorphism `T ⊗[S] H¹(L_{S⁄R}) ≃ₗ[T] H¹(L_{T⁄R})` for `T` a localization of `S`. -/ +@[expose] public section + universe u variable (R S T : Type u) [CommRing R] [CommRing S] [CommRing T] diff --git a/Mathlib/RingTheory/Etale/Pi.lean b/Mathlib/RingTheory/Etale/Pi.lean index 0e50eccd56627f..a04380062b09eb 100644 --- a/Mathlib/RingTheory/Etale/Pi.lean +++ b/Mathlib/RingTheory/Etale/Pi.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Smooth.Pi -import Mathlib.RingTheory.Unramified.Pi -import Mathlib.RingTheory.Etale.Basic +module + +public import Mathlib.RingTheory.Smooth.Pi +public import Mathlib.RingTheory.Unramified.Pi +public import Mathlib.RingTheory.Etale.Basic /-! @@ -18,6 +20,8 @@ import Mathlib.RingTheory.Etale.Basic -/ +@[expose] public section + universe u v namespace Algebra.FormallyEtale diff --git a/Mathlib/RingTheory/EuclideanDomain.lean b/Mathlib/RingTheory/EuclideanDomain.lean index 2e2ef97176d946..5fe934c3377798 100644 --- a/Mathlib/RingTheory/EuclideanDomain.lean +++ b/Mathlib/RingTheory/EuclideanDomain.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Chris Hughes -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Lemmas about Euclidean domains @@ -20,6 +22,8 @@ probably be reproved in more generality and this file perhaps removed? euclidean domain -/ +@[expose] public section + section diff --git a/Mathlib/RingTheory/Extension.lean b/Mathlib/RingTheory/Extension.lean index 53d7ce6cfe8c25..e75aa2427c8378 100644 --- a/Mathlib/RingTheory/Extension.lean +++ b/Mathlib/RingTheory/Extension.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Extension.Basic +module + +public import Mathlib.RingTheory.Extension.Basic deprecated_module (since := "2025-05-11") diff --git a/Mathlib/RingTheory/Extension/Basic.lean b/Mathlib/RingTheory/Extension/Basic.lean index c210343a4a1a6e..6b7f62c11581a3 100644 --- a/Mathlib/RingTheory/Extension/Basic.lean +++ b/Mathlib/RingTheory/Extension/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.Ideal.Cotangent -import Mathlib.RingTheory.Localization.Defs +module + +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.Ideal.Cotangent +public import Mathlib.RingTheory.Localization.Defs /-! @@ -30,6 +32,8 @@ surjection `P →ₐ[R] R`. -/ +@[expose] public section + universe w u v open TensorProduct MvPolynomial diff --git a/Mathlib/RingTheory/Extension/Cotangent/Basic.lean b/Mathlib/RingTheory/Extension/Cotangent/Basic.lean index 915e907c428f3d..9970a37bb2aa40 100644 --- a/Mathlib/RingTheory/Extension/Cotangent/Basic.lean +++ b/Mathlib/RingTheory/Extension/Cotangent/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Kaehler.Polynomial -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.RingTheory.Extension.Presentation.Basic +module + +public import Mathlib.RingTheory.Kaehler.Polynomial +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.RingTheory.Extension.Presentation.Basic /-! @@ -35,6 +37,8 @@ apply them to infinitesimal smooth (or versal) extensions later. -/ +@[expose] public section + open KaehlerDifferential Module MvPolynomial TensorProduct namespace Algebra diff --git a/Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean b/Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean index 6df80705d7f5c2..0fa637990ab62b 100644 --- a/Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean +++ b/Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Extension.Presentation.Basic -import Mathlib.RingTheory.Smooth.StandardSmoothCotangent -import Mathlib.RingTheory.Kaehler.JacobiZariski +module + +public import Mathlib.RingTheory.Extension.Presentation.Basic +public import Mathlib.RingTheory.Smooth.StandardSmoothCotangent +public import Mathlib.RingTheory.Kaehler.JacobiZariski /-! # Cotangent and localization away @@ -30,6 +32,8 @@ and the splitting from the Jacobi Zariski sequence. - `Algebra.Generators.cotangentCompLocalizationAwayEquiv`: `J/J² ≃ₗ[T] T ⊗[S] (I/I²) × K/K²`. -/ +@[expose] public section + open TensorProduct MvPolynomial namespace Algebra.Generators diff --git a/Mathlib/RingTheory/Extension/Generators.lean b/Mathlib/RingTheory/Extension/Generators.lean index 3cd6e5b013f2f2..9b8f8245c571d6 100644 --- a/Mathlib/RingTheory/Extension/Generators.lean +++ b/Mathlib/RingTheory/Extension/Generators.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.Cotangent -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.MvPolynomial.Tower -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.RingTheory.Extension.Basic +module + +public import Mathlib.RingTheory.Ideal.Cotangent +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.MvPolynomial.Tower +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.RingTheory.Extension.Basic /-! @@ -44,6 +46,8 @@ unification hints. -/ +@[expose] public section + universe w u v open TensorProduct MvPolynomial diff --git a/Mathlib/RingTheory/Extension/Presentation/Basic.lean b/Mathlib/RingTheory/Extension/Presentation/Basic.lean index 64cea507acce78..d2faa60fec2023 100644 --- a/Mathlib/RingTheory/Extension/Presentation/Basic.lean +++ b/Mathlib/RingTheory/Extension/Presentation/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jung Tao Cheng, Christian Merten, Andrew Yang -/ -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.Extension.Generators -import Mathlib.RingTheory.MvPolynomial.Localization -import Mathlib.RingTheory.TensorProduct.MvPolynomial +module + +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.Extension.Generators +public import Mathlib.RingTheory.MvPolynomial.Localization +public import Mathlib.RingTheory.TensorProduct.MvPolynomial /-! @@ -40,6 +42,8 @@ in June 2024. -/ +@[expose] public section + universe t w u v open TensorProduct MvPolynomial diff --git a/Mathlib/RingTheory/Extension/Presentation/Core.lean b/Mathlib/RingTheory/Extension/Presentation/Core.lean index c4ab09fe138dc5..09dce7249815e4 100644 --- a/Mathlib/RingTheory/Extension/Presentation/Core.lean +++ b/Mathlib/RingTheory/Extension/Presentation/Core.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Extension.Presentation.Basic +module + +public import Mathlib.RingTheory.Extension.Presentation.Basic /-! # Presentations on subrings @@ -20,6 +22,8 @@ this API can be used to remove Noetherian hypothesis in certain cases. -/ +@[expose] public section + open TensorProduct variable {R S ι σ : Type*} [CommRing R] [CommRing S] [Algebra R S] diff --git a/Mathlib/RingTheory/Extension/Presentation/Submersive.lean b/Mathlib/RingTheory/Extension/Presentation/Submersive.lean index f7b6decad93c91..0bd107685c0143 100644 --- a/Mathlib/RingTheory/Extension/Presentation/Submersive.lean +++ b/Mathlib/RingTheory/Extension/Presentation/Submersive.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jung Tao Cheng, Christian Merten, Andrew Yang -/ -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.LinearAlgebra.Determinant -import Mathlib.RingTheory.Extension.Presentation.Basic +module + +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.RingTheory.Extension.Presentation.Basic /-! # Submersive presentations @@ -45,6 +47,8 @@ in June 2024. -/ +@[expose] public section + universe t t' w w' u v open TensorProduct Module MvPolynomial diff --git a/Mathlib/RingTheory/FilteredAlgebra/Basic.lean b/Mathlib/RingTheory/FilteredAlgebra/Basic.lean index 499394e8dbab88..5a4ea7154577d6 100644 --- a/Mathlib/RingTheory/FilteredAlgebra/Basic.lean +++ b/Mathlib/RingTheory/FilteredAlgebra/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ -import Mathlib.Algebra.Module.Defs -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Algebra.GradedMonoid -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.GradedMulAction +module + +public import Mathlib.Algebra.Module.Defs +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Algebra.GradedMonoid +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.GradedMulAction /-! # The filtration on abelian groups and rings @@ -30,6 +32,8 @@ In this file, we define the concept of filtration for abelian groups, rings, and -/ +@[expose] public section + section GeneralFiltration variable {ι A σ : Type*} [Preorder ι] [SetLike σ A] diff --git a/Mathlib/RingTheory/Filtration.lean b/Mathlib/RingTheory/Filtration.lean index fbf01e433d1b5f..df153d3d02977f 100644 --- a/Mathlib/RingTheory/Filtration.lean +++ b/Mathlib/RingTheory/Filtration.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Polynomial.Module.Basic -import Mathlib.RingTheory.Finiteness.Nakayama -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.ReesAlgebra +module + +public import Mathlib.Algebra.Polynomial.Module.Basic +public import Mathlib.RingTheory.Finiteness.Nakayama +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.ReesAlgebra /-! @@ -36,6 +38,8 @@ This file contains the definitions and basic results around (stable) `I`-filtrat -/ +@[expose] public section + variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R) open Polynomial diff --git a/Mathlib/RingTheory/FiniteLength.lean b/Mathlib/RingTheory/FiniteLength.lean index dd64b63874e952..1ad112ff102672 100644 --- a/Mathlib/RingTheory/FiniteLength.lean +++ b/Mathlib/RingTheory/FiniteLength.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.Artinian.Module +module + +public import Mathlib.RingTheory.Artinian.Module /-! # Modules of finite length @@ -19,6 +21,8 @@ We do not make `IsFiniteLength` a class, instead we use `[IsNoetherian R M] [IsA Finite length, Composition series -/ +@[expose] public section + variable (R : Type*) [Ring R] /-- A module of finite length is either trivial or a simple extension of a module known diff --git a/Mathlib/RingTheory/FinitePresentation.lean b/Mathlib/RingTheory/FinitePresentation.lean index fa6892e0e4b051..898e783dbc07b3 100644 --- a/Mathlib/RingTheory/FinitePresentation.lean +++ b/Mathlib/RingTheory/FinitePresentation.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.Finite.Sum -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.MvPolynomial.Tower +module + +public import Mathlib.Data.Finite.Sum +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.MvPolynomial.Tower /-! # Finiteness conditions in commutative algebra @@ -25,6 +27,8 @@ In this file we define several notions of finiteness that are common in commutat -/ +@[expose] public section + open Function (Surjective) open Polynomial diff --git a/Mathlib/RingTheory/FiniteStability.lean b/Mathlib/RingTheory/FiniteStability.lean index e6c01b482e9efa..82d73766dfe611 100644 --- a/Mathlib/RingTheory/FiniteStability.lean +++ b/Mathlib/RingTheory/FiniteStability.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.TensorProduct.MvPolynomial +module + +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.TensorProduct.MvPolynomial /-! @@ -16,6 +18,8 @@ stable under base change. -/ +@[expose] public section + open scoped TensorProduct universe w₁ w₂ w₃ diff --git a/Mathlib/RingTheory/FiniteType.lean b/Mathlib/RingTheory/FiniteType.lean index 1c7a959d7ffb91..87c56916b2786f 100644 --- a/Mathlib/RingTheory/FiniteType.lean +++ b/Mathlib/RingTheory/FiniteType.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.FreeAlgebra -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Adjoin.Tower -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Noetherian.Orzech +module + +public import Mathlib.Algebra.FreeAlgebra +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Adjoin.Tower +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Noetherian.Orzech /-! # Finiteness conditions in commutative algebra @@ -21,6 +23,8 @@ In this file we define a notion of finiteness that is common in commutative alge -/ +@[expose] public section + open Function (Surjective) open Polynomial diff --git a/Mathlib/RingTheory/Finiteness/Basic.lean b/Mathlib/RingTheory/Finiteness/Basic.lean index 8baae565847847..c88c22454ce2b9 100644 --- a/Mathlib/RingTheory/Finiteness/Basic.lean +++ b/Mathlib/RingTheory/Finiteness/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Order.Nonneg.Module -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.RingTheory.Finiteness.Defs +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Order.Nonneg.Module +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.RingTheory.Finiteness.Defs /-! # Basic results on finitely generated (sub)modules @@ -16,6 +18,8 @@ This file contains the basic results on `Submodule.FG` and `Module.Finite` that further imports. -/ +@[expose] public section + assert_not_exists Module.Basis Ideal.radical Matrix Subalgebra open Function (Surjective) diff --git a/Mathlib/RingTheory/Finiteness/Bilinear.lean b/Mathlib/RingTheory/Finiteness/Bilinear.lean index f639e81aa6f3bf..2a33553e8a1cc8 100644 --- a/Mathlib/RingTheory/Finiteness/Bilinear.lean +++ b/Mathlib/RingTheory/Finiteness/Bilinear.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.Algebra.Module.Submodule.Bilinear +module + +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.Algebra.Module.Submodule.Bilinear /-! # Finitely generated submodules and bilinear maps -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Finiteness/Cardinality.lean b/Mathlib/RingTheory/Finiteness/Cardinality.lean index bb4d72b7bd76b6..73cdfe2548d179 100644 --- a/Mathlib/RingTheory/Finiteness/Cardinality.lean +++ b/Mathlib/RingTheory/Finiteness/Cardinality.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.LinearAlgebra.Basis.Cardinality -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.LinearAlgebra.StdBasis -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.LinearAlgebra.Basis.Cardinality +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.LinearAlgebra.StdBasis +public import Mathlib.RingTheory.Finiteness.Basic /-! # Finite modules and types with finitely many elements @@ -16,6 +18,8 @@ This file relates `Module.Finite` and `_root_.Finite`. -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Finiteness/Defs.lean b/Mathlib/RingTheory/Finiteness/Defs.lean index 67f7a674eb1bf8..152024a75f0bcd 100644 --- a/Mathlib/RingTheory/Finiteness/Defs.lean +++ b/Mathlib/RingTheory/Finiteness/Defs.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Hom -import Mathlib.Data.Set.Finite.Lemmas -import Mathlib.Data.Finsupp.Defs -import Mathlib.GroupTheory.Finiteness -import Mathlib.RingTheory.Ideal.Span -import Mathlib.Tactic.Algebraize +module + +public import Mathlib.Algebra.Algebra.Hom +public import Mathlib.Data.Set.Finite.Lemmas +public import Mathlib.Data.Finsupp.Defs +public import Mathlib.GroupTheory.Finiteness +public import Mathlib.RingTheory.Ideal.Span +public import Mathlib.Tactic.Algebraize /-! # Finiteness conditions in commutative algebra @@ -25,6 +27,8 @@ In this file we define a notion of finiteness that is common in commutative alge -/ +@[expose] public section + assert_not_exists Module.Basis Ideal.radical Matrix Subalgebra open Function (Surjective) diff --git a/Mathlib/RingTheory/Finiteness/Finsupp.lean b/Mathlib/RingTheory/Finiteness/Finsupp.lean index 255ecd52a01049..8e6b0fc480f96f 100644 --- a/Mathlib/RingTheory/Finiteness/Finsupp.lean +++ b/Mathlib/RingTheory/Finiteness/Finsupp.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.Algebra.MonoidAlgebra.Module -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.Algebra.MonoidAlgebra.Module +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Finiteness.Basic /-! # Finiteness of (sub)modules and finitely supported functions -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Finiteness/Ideal.lean b/Mathlib/RingTheory/Finiteness/Ideal.lean index 796cba4970750b..50db40c10c4fdb 100644 --- a/Mathlib/RingTheory/Finiteness/Ideal.lean +++ b/Mathlib/RingTheory/Finiteness/Ideal.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.Finiteness.Finsupp -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.RingTheory.Finiteness.Finsupp +public import Mathlib.RingTheory.Ideal.Maps /-! # Finitely generated ideals @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Ideal.Maps Lemmas about finiteness of ideal operations. -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Finiteness/Lattice.lean b/Mathlib/RingTheory/Finiteness/Lattice.lean index 7cbb4d78a5b864..1c4c5724b1a664 100644 --- a/Mathlib/RingTheory/Finiteness/Lattice.lean +++ b/Mathlib/RingTheory/Finiteness/Lattice.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.Fintype.Lattice -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Data.Fintype.Lattice +public import Mathlib.RingTheory.Finiteness.Basic /-! # Finite suprema of finite modules -/ +@[expose] public section + namespace Submodule open Module diff --git a/Mathlib/RingTheory/Finiteness/Nakayama.lean b/Mathlib/RingTheory/Finiteness/Nakayama.lean index a247742c192c70..5f5163769795dd 100644 --- a/Mathlib/RingTheory/Finiteness/Nakayama.lean +++ b/Mathlib/RingTheory/Finiteness/Nakayama.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.RingTheory.Ideal.Operations +module + +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.RingTheory.Ideal.Operations /-! # Nakayama's lemma @@ -17,6 +19,8 @@ import Mathlib.RingTheory.Ideal.Operations -/ +@[expose] public section + namespace Submodule /-- **Nakayama's Lemma**. Atiyah-Macdonald 2.5, Eisenbud 4.7, Matsumura 2.2. -/ diff --git a/Mathlib/RingTheory/Finiteness/Nilpotent.lean b/Mathlib/RingTheory/Finiteness/Nilpotent.lean index fe625fe1b20e88..f2867177eae0c4 100644 --- a/Mathlib/RingTheory/Finiteness/Nilpotent.lean +++ b/Mathlib/RingTheory/Finiteness/Nilpotent.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Nilpotent.Lemmas +module + +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Nilpotent.Lemmas /-! # Nilpotent maps on finite modules -/ +@[expose] public section + variable {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] theorem Module.End.isNilpotent_iff_of_finite [Module.Finite R M] {f : End R M} : diff --git a/Mathlib/RingTheory/Finiteness/Prod.lean b/Mathlib/RingTheory/Finiteness/Prod.lean index ede2bbb27b2cc4..2ccd45f140cb3f 100644 --- a/Mathlib/RingTheory/Finiteness/Prod.lean +++ b/Mathlib/RingTheory/Finiteness/Prod.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.LinearAlgebra.Prod -import Mathlib.RingTheory.Finiteness.Defs +module + +public import Mathlib.LinearAlgebra.Prod +public import Mathlib.RingTheory.Finiteness.Defs /-! # Finitely generated product (sub)modules -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Finiteness/Projective.lean b/Mathlib/RingTheory/Finiteness/Projective.lean index 76bf92470cd3a6..656784294344d4 100644 --- a/Mathlib/RingTheory/Finiteness/Projective.lean +++ b/Mathlib/RingTheory/Finiteness/Projective.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.RingTheory.Finiteness.Cardinality +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.RingTheory.Finiteness.Cardinality /-! # Finite and projective modules -/ +@[expose] public section + open Function (Surjective) namespace Module diff --git a/Mathlib/RingTheory/Finiteness/Quotient.lean b/Mathlib/RingTheory/Finiteness/Quotient.lean index a01082aeb9277f..fbcf9676a97e17 100644 --- a/Mathlib/RingTheory/Finiteness/Quotient.lean +++ b/Mathlib/RingTheory/Finiteness/Quotient.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yongle Hu -/ -import Mathlib.Algebra.Group.Subgroup.Actions -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Ideal.Pointwise -import Mathlib.RingTheory.Ideal.Over +module + +public import Mathlib.Algebra.Group.Subgroup.Actions +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Ideal.Pointwise +public import Mathlib.RingTheory.Ideal.Over /-! # Finiteness of quotient modules -/ +@[expose] public section + variable {A B : Type*} [CommRing A] [CommRing B] [Algebra A B] variable (P : Ideal B) (p : Ideal A) [P.LiesOver p] diff --git a/Mathlib/RingTheory/Finiteness/Small.lean b/Mathlib/RingTheory/Finiteness/Small.lean index 27e65da9deb6b2..8eb94ed98924af 100644 --- a/Mathlib/RingTheory/Finiteness/Small.lean +++ b/Mathlib/RingTheory/Finiteness/Small.lean @@ -3,18 +3,22 @@ Copyright (c) 2025 Antoine Chambert-Loir, María-Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, Maria-Inés de Frutos-Fernandez -/ -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.RingTheory.FiniteType -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.LinearAlgebra.Basis.Cardinality -import Mathlib.LinearAlgebra.StdBasis -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.MvPolynomial.Basic -import Mathlib.Data.DFinsupp.Small +module + +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.RingTheory.FiniteType +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.LinearAlgebra.Basis.Cardinality +public import Mathlib.LinearAlgebra.StdBasis +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.MvPolynomial.Basic +public import Mathlib.Data.DFinsupp.Small /-! # Smallness properties of modules and algebras -/ +@[expose] public section + universe u namespace Submodule diff --git a/Mathlib/RingTheory/Finiteness/Subalgebra.lean b/Mathlib/RingTheory/Finiteness/Subalgebra.lean index 8fc5c7eaef08d7..533dd19f031f90 100644 --- a/Mathlib/RingTheory/Finiteness/Subalgebra.lean +++ b/Mathlib/RingTheory/Finiteness/Subalgebra.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Finiteness.Bilinear +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Finiteness.Bilinear /-! # Subalgebras that are finitely generated as submodules -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/Fintype.lean b/Mathlib/RingTheory/Fintype.lean index 7dffac7e14bb9e..8a0c9cfe5050c2 100644 --- a/Mathlib/RingTheory/Fintype.lean +++ b/Mathlib/RingTheory/Fintype.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.ZMod.Basic -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Data.ZMod.Basic +public import Mathlib.Tactic.NormNum /-! # Some facts about finite rings -/ +@[expose] public section + open Finset ZMod diff --git a/Mathlib/RingTheory/Flat/Basic.lean b/Mathlib/RingTheory/Flat/Basic.lean index 188232ed84897c..a115e60c978a41 100644 --- a/Mathlib/RingTheory/Flat/Basic.lean +++ b/Mathlib/RingTheory/Flat/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Jujian Zhang, Yongle Hu -/ -import Mathlib.Algebra.Colimit.TensorProduct -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.Finiteness.Small -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.Algebra.Colimit.TensorProduct +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.Finiteness.Small +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.RingTheory.TensorProduct.Finite /-! # Flat modules @@ -57,6 +59,8 @@ the current `Module.Flat` to `Module.MonoFlat`. -/ +@[expose] public section + assert_not_exists AddCircle universe v' u v w diff --git a/Mathlib/RingTheory/Flat/CategoryTheory.lean b/Mathlib/RingTheory/Flat/CategoryTheory.lean index c29e5a8192d973..e59ebf3e4d4971 100644 --- a/Mathlib/RingTheory/Flat/CategoryTheory.lean +++ b/Mathlib/RingTheory/Flat/CategoryTheory.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.RingTheory.Flat.Basic -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic +module + +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Basic /-! # Tensoring with a flat module is an exact functor @@ -28,6 +30,8 @@ In this file we prove that tensoring with a flat module is an exact functor. -/ +@[expose] public section + universe u open CategoryTheory MonoidalCategory ShortComplex.ShortExact diff --git a/Mathlib/RingTheory/Flat/Domain.lean b/Mathlib/RingTheory/Flat/Domain.lean index a1d52d9d70b099..bcc6e11d2d8f08 100644 --- a/Mathlib/RingTheory/Flat/Domain.lean +++ b/Mathlib/RingTheory/Flat/Domain.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.RingTheory.Flat.Localization +module + +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.RingTheory.Flat.Localization /-! # Flat modules in domains @@ -13,6 +15,8 @@ We show that the tensor product of two injective linear maps is injective if the and the ring is an integral domain. -/ +@[expose] public section + universe u variable {R M N : Type*} [CommRing R] [IsDomain R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/Flat/Equalizer.lean b/Mathlib/RingTheory/Flat/Equalizer.lean index 3618d01cce05a7..f9dd75fbb40b1a 100644 --- a/Mathlib/RingTheory/Flat/Equalizer.lean +++ b/Mathlib/RingTheory/Flat/Equalizer.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Flat.Basic +module + +public import Mathlib.RingTheory.Flat.Basic /-! # Base change along flat modules preserves equalizers @@ -13,6 +15,8 @@ preserves kernels and equalizers. -/ +@[expose] public section + universe t u noncomputable section diff --git a/Mathlib/RingTheory/Flat/EquationalCriterion.lean b/Mathlib/RingTheory/Flat/EquationalCriterion.lean index a75291da4523cc..68147fd04d0fac 100644 --- a/Mathlib/RingTheory/Flat/EquationalCriterion.lean +++ b/Mathlib/RingTheory/Flat/EquationalCriterion.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee, Junyan Xu -/ -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.LinearAlgebra.TensorProduct.Vanishing -import Mathlib.RingTheory.Flat.Tensor +module + +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.LinearAlgebra.TensorProduct.Vanishing +public import Mathlib.RingTheory.Flat.Tensor /-! # The equational criterion for flatness @@ -52,6 +54,8 @@ every finitely presented flat module is projective (`Module.Flat.projective_of_f -/ +@[expose] public section + variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] open LinearMap TensorProduct Finsupp diff --git a/Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean b/Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean index d3a9f0dcde9d8c..5fbf820d090dfc 100644 --- a/Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean +++ b/Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Christian Merten, Yi Song, Sihan Su. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Yi Song, Sihan Su -/ -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic -import Mathlib.RingTheory.Ideal.Over -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.Spectrum.Prime.RingHom -import Mathlib.RingTheory.TensorProduct.Quotient +module + +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +public import Mathlib.RingTheory.Ideal.Over +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.Spectrum.Prime.RingHom +public import Mathlib.RingTheory.TensorProduct.Quotient /-! # Properties of faithfully flat algebras @@ -36,6 +38,8 @@ Conversely, let `B` be a flat `A`-algebra: -/ +@[expose] public section + universe u v variable {A B : Type*} [CommRing A] [CommRing B] [Algebra A B] diff --git a/Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean b/Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean index da3352b59240b1..7e76d734a7c213 100644 --- a/Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean +++ b/Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Judith Ludwig, Florent Schaffhauser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Judith Ludwig, Florent Schaffhauser, Yunzhou Xie, Jujian Zhang -/ -import Mathlib.LinearAlgebra.TensorProduct.Quotient -import Mathlib.RingTheory.Flat.Stability +module + +public import Mathlib.LinearAlgebra.TensorProduct.Quotient +public import Mathlib.RingTheory.Flat.Stability /-! # Faithfully flat modules @@ -43,6 +45,8 @@ A module `M` over a commutative ring `R` is *faithfully flat* if it is flat and -/ +@[expose] public section + universe u v open TensorProduct DirectSum diff --git a/Mathlib/RingTheory/Flat/Localization.lean b/Mathlib/RingTheory/Flat/Localization.lean index 51e8941e157ad7..5d9459d0383868 100644 --- a/Mathlib/RingTheory/Flat/Localization.lean +++ b/Mathlib/RingTheory/Flat/Localization.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.Flat.Stability -import Mathlib.RingTheory.LocalProperties.Exactness +module + +public import Mathlib.RingTheory.Flat.Stability +public import Mathlib.RingTheory.LocalProperties.Exactness /-! # Flatness and localization @@ -22,6 +24,8 @@ In this file we show that localizations are flat, and flatness is a local proper over `Localization.Away s`, then `M` is flat over `R`. -/ +@[expose] public section + open IsLocalizedModule LocalizedModule LinearMap TensorProduct variable {R : Type*} (S : Type*) [CommSemiring R] [CommSemiring S] [Algebra R S] diff --git a/Mathlib/RingTheory/Flat/Stability.lean b/Mathlib/RingTheory/Flat/Stability.lean index e0d835cfafb32a..9f95ca51ae6388 100644 --- a/Mathlib/RingTheory/Flat/Stability.lean +++ b/Mathlib/RingTheory/Flat/Stability.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Flat.Basic -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.Algebra.Module.LocalizedModule.Basic +module + +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.Algebra.Module.LocalizedModule.Basic /-! # Flatness is stable under composition and base change @@ -25,6 +27,8 @@ We show that flatness is stable under composition and base change. for the localization of `R` at `S`. -/ +@[expose] public section + universe u v w t open Function (Injective Surjective) diff --git a/Mathlib/RingTheory/Flat/Tensor.lean b/Mathlib/RingTheory/Flat/Tensor.lean index e632f93f20bb79..07e22220549624 100644 --- a/Mathlib/RingTheory/Flat/Tensor.lean +++ b/Mathlib/RingTheory/Flat/Tensor.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Jujian Zhang -/ -import Mathlib.Algebra.Module.CharacterModule -import Mathlib.RingTheory.Flat.Basic +module + +public import Mathlib.Algebra.Module.CharacterModule +public import Mathlib.RingTheory.Flat.Basic /-! # Flat modules @@ -24,6 +26,8 @@ See . tensor product of the inclusion `I → R` and the identity `M → M` is injective. -/ +@[expose] public section + universe u v namespace Module.Flat diff --git a/Mathlib/RingTheory/Flat/TorsionFree.lean b/Mathlib/RingTheory/Flat/TorsionFree.lean index 3f824c604d0671..b24a927db0487d 100644 --- a/Mathlib/RingTheory/Flat/TorsionFree.lean +++ b/Mathlib/RingTheory/Flat/TorsionFree.lean @@ -3,12 +3,13 @@ Copyright (c) 2025 Matthew Jasper. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Matthew Jasper, Kevin Buzzard -/ +module -import Mathlib.Algebra.Module.Torsion -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.Flat.Tensor -import Mathlib.RingTheory.Ideal.IsPrincipal +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.Flat.Tensor +public import Mathlib.RingTheory.Ideal.IsPrincipal /-! # Relationships between flatness and torsionfreeness. @@ -26,6 +27,8 @@ domains and valuation rings. the complement of any maximal ideal is a valuation ring then `Torsion R M = ⊥` iff `M` is a flat `R`-module. -/ + +@[expose] public section -- TODO: Add definition and properties of Prüfer domains. -- TODO: Use `IsTorsionFree`. diff --git a/Mathlib/RingTheory/FractionalIdeal/Basic.lean b/Mathlib/RingTheory/FractionalIdeal/Basic.lean index d143709abe0dfa..3d8ac4e0038476 100644 --- a/Mathlib/RingTheory/FractionalIdeal/Basic.lean +++ b/Mathlib/RingTheory/FractionalIdeal/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.RingTheory.Localization.Integer -import Mathlib.RingTheory.Localization.Submodule +module + +public import Mathlib.RingTheory.Localization.Integer +public import Mathlib.RingTheory.Localization.Submodule /-! # Fractional ideals @@ -53,6 +55,8 @@ making the localization a field. fractional ideal, fractional ideals, invertible ideal -/ +@[expose] public section + open IsLocalization Pointwise nonZeroDivisors diff --git a/Mathlib/RingTheory/FractionalIdeal/Extended.lean b/Mathlib/RingTheory/FractionalIdeal/Extended.lean index 7c9b90ca616a4b..773bb63f4be0cc 100644 --- a/Mathlib/RingTheory/FractionalIdeal/Extended.lean +++ b/Mathlib/RingTheory/FractionalIdeal/Extended.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 James Sundstrom. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: James Sundstrom -/ -import Mathlib.RingTheory.FractionalIdeal.Basic +module + +public import Mathlib.RingTheory.FractionalIdeal.Basic /-! # Extension of fractional ideals @@ -30,6 +32,8 @@ This file defines the extension of a fractional ideal along a ring homomorphism. fractional ideal, fractional ideals, extended, extension -/ +@[expose] public section + open IsLocalization FractionalIdeal Submodule namespace FractionalIdeal diff --git a/Mathlib/RingTheory/FractionalIdeal/Inverse.lean b/Mathlib/RingTheory/FractionalIdeal/Inverse.lean index 397ffda83fde29..870b1fab2900f0 100644 --- a/Mathlib/RingTheory/FractionalIdeal/Inverse.lean +++ b/Mathlib/RingTheory/FractionalIdeal/Inverse.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kenji Nakagawa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenji Nakagawa, Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.RingTheory.FractionalIdeal.Operations +module + +public import Mathlib.RingTheory.FractionalIdeal.Operations /-! # Inverse operator for fractional ideals @@ -28,6 +30,8 @@ The theorem that all nonzero fractional ideals are invertible in a Dedekind doma fractional ideal, invertible ideal -/ +@[expose] public section + assert_not_exists IsDedekindDomain variable (R A K : Type*) [CommRing R] [CommRing A] [Field K] diff --git a/Mathlib/RingTheory/FractionalIdeal/Norm.lean b/Mathlib/RingTheory/FractionalIdeal/Norm.lean index dc5d6715be0db5..ec70d0a45857d2 100644 --- a/Mathlib/RingTheory/FractionalIdeal/Norm.lean +++ b/Mathlib/RingTheory/FractionalIdeal/Norm.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.RingTheory.FractionalIdeal.Basic -import Mathlib.RingTheory.Ideal.Norm.AbsNorm -import Mathlib.RingTheory.Localization.NormTrace +module + +public import Mathlib.RingTheory.FractionalIdeal.Basic +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm +public import Mathlib.RingTheory.Localization.NormTrace /-! @@ -27,6 +29,8 @@ ideal of `R` and `I.den` an element of `R⁰` such that `I.den • I = I.num`. norm of its generator -/ +@[expose] public section + open Module open scoped Pointwise nonZeroDivisors diff --git a/Mathlib/RingTheory/FractionalIdeal/Operations.lean b/Mathlib/RingTheory/FractionalIdeal/Operations.lean index 5fc955f23b9fed..fd38e51179b490 100644 --- a/Mathlib/RingTheory/FractionalIdeal/Operations.lean +++ b/Mathlib/RingTheory/FractionalIdeal/Operations.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.RingTheory.FractionalIdeal.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic -import Mathlib.RingTheory.LocalRing.Basic -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.RingTheory.FractionalIdeal.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +public import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.Tactic.FieldSimp /-! # More operations on fractional ideals @@ -34,6 +36,8 @@ Let `K` be the localization of `R` at `R⁰ = R \ {0}` (i.e. the field of fracti fractional ideal, fractional ideals, invertible ideal -/ +@[expose] public section + open IsLocalization Pointwise nonZeroDivisors diff --git a/Mathlib/RingTheory/FreeCommRing.lean b/Mathlib/RingTheory/FreeCommRing.lean index 04fa70a352f26b..f5d8010dfbfd88 100644 --- a/Mathlib/RingTheory/FreeCommRing.lean +++ b/Mathlib/RingTheory/FreeCommRing.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Johan Commelin -/ -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Logic.Equiv.Functor -import Mathlib.RingTheory.FreeRing +module + +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Logic.Equiv.Functor +public import Mathlib.RingTheory.FreeRing /-! # Free commutative rings @@ -45,6 +47,8 @@ of monomials in this free commutative ring. free commutative ring, free ring -/ +@[expose] public section + assert_not_exists Cardinal noncomputable section diff --git a/Mathlib/RingTheory/FreeRing.lean b/Mathlib/RingTheory/FreeRing.lean index 602cbab488db0f..4be157f05c5d3a 100644 --- a/Mathlib/RingTheory/FreeRing.lean +++ b/Mathlib/RingTheory/FreeRing.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Johan Commelin -/ -import Mathlib.Algebra.FreeMonoid.Basic -import Mathlib.GroupTheory.FreeAbelianGroup +module + +public import Mathlib.Algebra.FreeMonoid.Basic +public import Mathlib.GroupTheory.FreeAbelianGroup /-! # Free rings @@ -27,6 +29,8 @@ free ring -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Frobenius.lean b/Mathlib/RingTheory/Frobenius.lean index 5f3cc8ad129fa5..951f3688fe1fb3 100644 --- a/Mathlib/RingTheory/Frobenius.lean +++ b/Mathlib/RingTheory/Frobenius.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.RingTheory.Invariant.Basic -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.RingTheory.Unramified.Locus +module + +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.RingTheory.Invariant.Basic +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.RingTheory.Unramified.Locus /-! # Frobenius elements @@ -43,6 +45,8 @@ Let `G` be a finite group acting on a ring `S`, and `R` is the fixed subring of - `IsArithFrobAt.exists_of_isInvariant`: Frobenius element exists. -/ +@[expose] public section + variable {R S : Type*} [CommRing R] [CommRing S] [Algebra R S] /-- `φ : S →ₐ[R] S` is an (arithmetic) Frobenius at `Q` if diff --git a/Mathlib/RingTheory/Generators.lean b/Mathlib/RingTheory/Generators.lean index f15da9c90abff3..74df71968641a5 100644 --- a/Mathlib/RingTheory/Generators.lean +++ b/Mathlib/RingTheory/Generators.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Extension.Generators +module + +public import Mathlib.RingTheory.Extension.Generators deprecated_module (since := "2025-05-11") diff --git a/Mathlib/RingTheory/GradedAlgebra/Basic.lean b/Mathlib/RingTheory/GradedAlgebra/Basic.lean index 2df3e67dc2ebbc..ce323849c82f87 100644 --- a/Mathlib/RingTheory/GradedAlgebra/Basic.lean +++ b/Mathlib/RingTheory/GradedAlgebra/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Kevin Buzzard, Jujian Zhang, Fangming Li -/ -import Mathlib.Algebra.DirectSum.Algebra -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Algebra.DirectSum.Internal -import Mathlib.Algebra.DirectSum.Ring +module + +public import Mathlib.Algebra.DirectSum.Algebra +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Algebra.DirectSum.Internal +public import Mathlib.Algebra.DirectSum.Ring /-! # Internally-graded rings and algebras @@ -39,6 +41,8 @@ represented with `𝒜 : ι → Submodule ℕ A` and `𝒜 : ι → Submodule graded algebra, graded ring, graded semiring, decomposition -/ +@[expose] public section + open DirectSum diff --git a/Mathlib/RingTheory/GradedAlgebra/FiniteType.lean b/Mathlib/RingTheory/GradedAlgebra/FiniteType.lean index a62b7a6302c63d..0d615b4e0c5fba 100644 --- a/Mathlib/RingTheory/GradedAlgebra/FiniteType.lean +++ b/Mathlib/RingTheory/GradedAlgebra/FiniteType.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Harald Carlens, Andrew Yang, Jujian Zhang -/ -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! @@ -15,6 +17,8 @@ generated by homogeneous elements of positive degree. -/ +@[expose] public section + variable {R₀ ι S : Type*} [DecidableEq ι] [AddCommMonoid ι] variable [CommRing R₀] [CommRing S] [Algebra R₀ S] variable (𝒜 : ι → Submodule R₀ S) [GradedAlgebra 𝒜] diff --git a/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean b/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean index a1a855544a5f74..fd808c1a977eb5 100644 --- a/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean +++ b/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Eric Wieser -/ -import Mathlib.LinearAlgebra.Finsupp.SumProd -import Mathlib.RingTheory.GradedAlgebra.Basic -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Submodule +module + +public import Mathlib.LinearAlgebra.Finsupp.SumProd +public import Mathlib.RingTheory.GradedAlgebra.Basic +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Submodule /-! # Homogeneous ideals of a graded algebra @@ -41,6 +43,8 @@ to `Ideal.IsHomogeneous.iff_exists` as quickly as possible. graded algebra, homogeneous -/ +@[expose] public section + open SetLike DirectSum Set diff --git a/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean b/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean index c05c0bf76871d7..7c674ae2f1ccb7 100644 --- a/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean +++ b/Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Eric Wieser -/ -import Mathlib.RingTheory.GradedAlgebra.Basic -import Mathlib.Algebra.GradedMulAction +module + +public import Mathlib.RingTheory.GradedAlgebra.Basic +public import Mathlib.Algebra.GradedMulAction /-! # Homogeneous submodules of a graded module @@ -33,6 +35,8 @@ synthesization order. graded algebra, homogeneous -/ +@[expose] public section + open SetLike DirectSum Pointwise Set variable {ιA ιM σA σM A M : Type*} diff --git a/Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean b/Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean index 8ddb15eb3c5730..7b0705aa2e13d2 100644 --- a/Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean +++ b/Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Eric Wieser -/ -import Mathlib.Algebra.Group.Submonoid.Finsupp -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.RingTheory.Adjoin.Basic -import Mathlib.RingTheory.GradedAlgebra.FiniteType -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.Away.Basic +module + +public import Mathlib.Algebra.Group.Submonoid.Finsupp +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.RingTheory.Adjoin.Basic +public import Mathlib.RingTheory.GradedAlgebra.FiniteType +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.Away.Basic /-! # Homogeneous Localization @@ -69,6 +71,8 @@ circumvent this, we quotient `NumDenSameDeg 𝒜 x` by the kernel of `c ↦ c.nu -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/GradedAlgebra/Noetherian.lean b/Mathlib/RingTheory/GradedAlgebra/Noetherian.lean index 84c30d7a18a4d6..be3f9ccc68974d 100644 --- a/Mathlib/RingTheory/GradedAlgebra/Noetherian.lean +++ b/Mathlib/RingTheory/GradedAlgebra/Noetherian.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Fangming Li. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fangming Li -/ -import Mathlib.RingTheory.GradedAlgebra.Basic -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.RingTheory.GradedAlgebra.Basic +public import Mathlib.RingTheory.Noetherian.Basic /-! # The properties of a graded Noetherian ring. @@ -13,6 +15,8 @@ This file proves that the 0-th grade of a Noetherian ring is also a Noetherian ring. -/ +@[expose] public section + variable {ι A σ : Type*} variable [Ring A] [IsNoetherianRing A] variable [DecidableEq ι] [AddCommMonoid ι] [PartialOrder ι] [CanonicallyOrderedAdd ι] diff --git a/Mathlib/RingTheory/GradedAlgebra/Radical.lean b/Mathlib/RingTheory/GradedAlgebra/Radical.lean index b788baa317434f..232c6d525d37cc 100644 --- a/Mathlib/RingTheory/GradedAlgebra/Radical.lean +++ b/Mathlib/RingTheory/GradedAlgebra/Radical.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Eric Wieser -/ -import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal +module + +public import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal /-! @@ -33,6 +35,8 @@ fails for a non-cancellative set see `Counterexamples/HomogeneousPrimeNotPrime.l homogeneous, radical -/ +@[expose] public section + open GradedRing DirectSum SetLike Finset diff --git a/Mathlib/RingTheory/Grassmannian.lean b/Mathlib/RingTheory/Grassmannian.lean index 3dcf30833cec40..e3893a21e02345 100644 --- a/Mathlib/RingTheory/Grassmannian.lean +++ b/Mathlib/RingTheory/Grassmannian.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.RingTheory.Spectrum.Prime.FreeLocus +public import Mathlib.RingTheory.Spectrum.Prime.FreeLocus /-! # Grassmannians @@ -48,6 +49,8 @@ to `G(n - k, V; F)` and also to `G(k, V →ₗ[F] F; F)`, where `n` is the dimen - Representability of `Module.Grassmannian.functor R M k`. -/ +@[expose] public section + universe u v w namespace Module diff --git a/Mathlib/RingTheory/HahnSeries/Addition.lean b/Mathlib/RingTheory/HahnSeries/Addition.lean index 569c689708539b..945ed470c298b1 100644 --- a/Mathlib/RingTheory/HahnSeries/Addition.lean +++ b/Mathlib/RingTheory/HahnSeries/Addition.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Basic -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.Group.Support -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Data.Finsupp.SMul -import Mathlib.RingTheory.HahnSeries.Basic -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.Group.Support +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Data.Finsupp.SMul +public import Mathlib.RingTheory.HahnSeries.Basic +public import Mathlib.Tactic.FastInstance /-! # Additive properties of Hahn series @@ -26,6 +28,8 @@ coefficients in `R`, whose supports are partially well-ordered. With further str - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + open Finset Function diff --git a/Mathlib/RingTheory/HahnSeries/Basic.lean b/Mathlib/RingTheory/HahnSeries/Basic.lean index be59722cf0fe5f..99c93c31e863c8 100644 --- a/Mathlib/RingTheory/HahnSeries/Basic.lean +++ b/Mathlib/RingTheory/HahnSeries/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop -import Mathlib.Data.Finsupp.Defs -import Mathlib.Order.WellFoundedSet +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Algebra.Order.Monoid.Unbundled.WithTop +public import Mathlib.Data.Finsupp.Defs +public import Mathlib.Order.WellFoundedSet /-! # Hahn Series @@ -34,6 +36,8 @@ in the file `Mathlib/RingTheory/LaurentSeries.lean`. - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + open Finset Function diff --git a/Mathlib/RingTheory/HahnSeries/HEval.lean b/Mathlib/RingTheory/HahnSeries/HEval.lean index 5bc806e28c9bf4..53def30f6b9b08 100644 --- a/Mathlib/RingTheory/HahnSeries/HEval.lean +++ b/Mathlib/RingTheory/HahnSeries/HEval.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.RingTheory.HahnSeries.Summable -import Mathlib.RingTheory.PowerSeries.Basic +module + +public import Mathlib.RingTheory.HahnSeries.Summable +public import Mathlib.RingTheory.PowerSeries.Basic /-! # Evaluation of power series in Hahn Series @@ -25,6 +27,8 @@ given by substitution of the generating variable to an element of strictly posit -/ +@[expose] public section + open Finset Function noncomputable section diff --git a/Mathlib/RingTheory/HahnSeries/HahnEmbedding.lean b/Mathlib/RingTheory/HahnSeries/HahnEmbedding.lean index 4e539a55c62894..d50052da3226a9 100644 --- a/Mathlib/RingTheory/HahnSeries/HahnEmbedding.lean +++ b/Mathlib/RingTheory/HahnSeries/HahnEmbedding.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Order.Module.HahnEmbedding -import Mathlib.Algebra.Module.LinearMap.Rat -import Mathlib.Algebra.Field.Rat -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Data.Real.Embedding -import Mathlib.GroupTheory.DivisibleHull +module + +public import Mathlib.Algebra.Order.Module.HahnEmbedding +public import Mathlib.Algebra.Module.LinearMap.Rat +public import Mathlib.Algebra.Field.Rat +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Data.Real.Embedding +public import Mathlib.GroupTheory.DivisibleHull /-! @@ -24,6 +26,8 @@ Archimedean classes of the group. The theorem is stated as `hahnEmbedding_isOrde -/ +@[expose] public section + open ArchimedeanClass variable (M : Type*) [AddCommGroup M] [LinearOrder M] [IsOrderedAddMonoid M] diff --git a/Mathlib/RingTheory/HahnSeries/Lex.lean b/Mathlib/RingTheory/HahnSeries/Lex.lean index 25487dae7aabe1..9869091a873650 100644 --- a/Mathlib/RingTheory/HahnSeries/Lex.lean +++ b/Mathlib/RingTheory/HahnSeries/Lex.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Weiyi Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Weiyi Wang -/ -import Mathlib.Algebra.Order.Archimedean.Class -import Mathlib.Order.Hom.Lex -import Mathlib.Order.PiLex -import Mathlib.RingTheory.HahnSeries.Addition +module + +public import Mathlib.Algebra.Order.Archimedean.Class +public import Mathlib.Order.Hom.Lex +public import Mathlib.Order.PiLex +public import Mathlib.RingTheory.HahnSeries.Addition /-! @@ -23,6 +25,8 @@ it is an ordered group when `R` is. -/ +@[expose] public section + namespace HahnSeries variable {Γ R : Type*} [LinearOrder Γ] diff --git a/Mathlib/RingTheory/HahnSeries/Multiplication.lean b/Mathlib/RingTheory/HahnSeries/Multiplication.lean index 2a6d6f86c27de7..885be34d672e40 100644 --- a/Mathlib/RingTheory/HahnSeries/Multiplication.lean +++ b/Mathlib/RingTheory/HahnSeries/Multiplication.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, Scott Carnahan -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.GroupWithZero.Regular -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Data.Finset.MulAntidiagonal -import Mathlib.Data.Finset.SMulAntidiagonal -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.RingTheory.HahnSeries.Addition +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.GroupWithZero.Regular +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Data.Finset.MulAntidiagonal +public import Mathlib.Data.Finset.SMulAntidiagonal +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.RingTheory.HahnSeries.Addition /-! # Multiplicative properties of Hahn series @@ -45,6 +47,8 @@ The following may be useful for composing vertex operators, but they seem to tak - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + open Finset Function Pointwise noncomputable section diff --git a/Mathlib/RingTheory/HahnSeries/PowerSeries.lean b/Mathlib/RingTheory/HahnSeries/PowerSeries.lean index 9f179d605b2944..f2a4bb83f6f71f 100644 --- a/Mathlib/RingTheory/HahnSeries/PowerSeries.lean +++ b/Mathlib/RingTheory/HahnSeries/PowerSeries.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.RingTheory.HahnSeries.Multiplication -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors -import Mathlib.Data.Finsupp.PWO +module + +public import Mathlib.RingTheory.HahnSeries.Multiplication +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors +public import Mathlib.Data.Finsupp.PWO /-! # Comparison between Hahn series and power series @@ -32,6 +34,8 @@ we get the more familiar semiring of formal power series with coefficients in `R - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + open Finset Function Pointwise Polynomial diff --git a/Mathlib/RingTheory/HahnSeries/Summable.lean b/Mathlib/RingTheory/HahnSeries/Summable.lean index e9ca38bfec68f1..255b9f96a5d64a 100644 --- a/Mathlib/RingTheory/HahnSeries/Summable.lean +++ b/Mathlib/RingTheory/HahnSeries/Summable.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.Ring.Action.Rat -import Mathlib.RingTheory.HahnSeries.Multiplication -import Mathlib.Data.Rat.Cast.Lemmas +module + +public import Mathlib.Algebra.Ring.Action.Rat +public import Mathlib.RingTheory.HahnSeries.Multiplication +public import Mathlib.Data.Rat.Cast.Lemmas /-! # Summable families of Hahn Series @@ -42,6 +44,8 @@ commutative domain. - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + open Finset Function diff --git a/Mathlib/RingTheory/HahnSeries/Valuation.lean b/Mathlib/RingTheory/HahnSeries/Valuation.lean index 63eff5021771e3..905bcf9b13636c 100644 --- a/Mathlib/RingTheory/HahnSeries/Valuation.lean +++ b/Mathlib/RingTheory/HahnSeries/Valuation.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.RingTheory.HahnSeries.Multiplication -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.RingTheory.HahnSeries.Multiplication +public import Mathlib.RingTheory.Valuation.Basic /-! # Valuations on Hahn Series rings @@ -23,6 +25,8 @@ admits an additive valuation given by `orderTop`. - [J. van der Hoeven, *Operators on Generalized Power Series*][van_der_hoeven] -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Henselian.lean b/Mathlib/RingTheory/Henselian.lean index 076591a5100934..3e16dbd7d1b2b9 100644 --- a/Mathlib/RingTheory/Henselian.lean +++ b/Mathlib/RingTheory/Henselian.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Polynomial.Taylor -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.AdicCompletion.Basic +module + +public import Mathlib.Algebra.Polynomial.Taylor +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.AdicCompletion.Basic /-! # Henselian rings @@ -52,6 +54,8 @@ https://gist.github.com/jcommelin/47d94e4af092641017a97f7f02bf9598 -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/HopfAlgebra/Basic.lean b/Mathlib/RingTheory/HopfAlgebra/Basic.lean index 63e1c4a3b70b96..64a64c432ff51e 100644 --- a/Mathlib/RingTheory/HopfAlgebra/Basic.lean +++ b/Mathlib/RingTheory/HopfAlgebra/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Ali Ramsey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ali Ramsey -/ -import Mathlib.RingTheory.Bialgebra.Basic +module + +public import Mathlib.RingTheory.Bialgebra.Basic /-! # Hopf algebras @@ -40,6 +42,8 @@ so we could deduce the facts here from an equivalence `HopfAlgCat R ≌ Hopf (Mo -/ +@[expose] public section + open Bialgebra universe u v w diff --git a/Mathlib/RingTheory/HopfAlgebra/MonoidAlgebra.lean b/Mathlib/RingTheory/HopfAlgebra/MonoidAlgebra.lean index da52ce3eba23cb..747f755e06a8de 100644 --- a/Mathlib/RingTheory/HopfAlgebra/MonoidAlgebra.lean +++ b/Mathlib/RingTheory/HopfAlgebra/MonoidAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston -/ -import Mathlib.RingTheory.Bialgebra.MonoidAlgebra -import Mathlib.RingTheory.HopfAlgebra.Basic +module + +public import Mathlib.RingTheory.Bialgebra.MonoidAlgebra +public import Mathlib.RingTheory.HopfAlgebra.Basic /-! # The Hopf algebra structure on group algebras @@ -22,6 +24,8 @@ results about the `R`-Hopf algebra instance on `A[G]`, building upon results in is a group scheme. -/ +@[expose] public section + noncomputable section open HopfAlgebra diff --git a/Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean b/Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean index 879e4365354778..62706afae60a13 100644 --- a/Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean +++ b/Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Amelia Livingston. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Amelia Livingston, Andrew Yang -/ -import Mathlib.RingTheory.HopfAlgebra.Basic -import Mathlib.RingTheory.Bialgebra.TensorProduct +module + +public import Mathlib.RingTheory.HopfAlgebra.Basic +public import Mathlib.RingTheory.Bialgebra.TensorProduct /-! # Tensor products of Hopf algebras @@ -13,6 +15,8 @@ We define the Hopf algebra instance on the tensor product of two Hopf algebras. -/ +@[expose] public section + open Coalgebra TensorProduct HopfAlgebra /-- Upgrade a bialgebra to a Hopf algebra by specifying the antipode as an algebra map with diff --git a/Mathlib/RingTheory/HopkinsLevitzki.lean b/Mathlib/RingTheory/HopkinsLevitzki.lean index 9955067e22d171..97d6698f5b37a1 100644 --- a/Mathlib/RingTheory/HopkinsLevitzki.lean +++ b/Mathlib/RingTheory/HopkinsLevitzki.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.RingTheory.FiniteLength -import Mathlib.RingTheory.Noetherian.Nilpotent -import Mathlib.RingTheory.Spectrum.Prime.Noetherian -import Mathlib.RingTheory.KrullDimension.Zero +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.RingTheory.FiniteLength +public import Mathlib.RingTheory.Noetherian.Nilpotent +public import Mathlib.RingTheory.Spectrum.Prime.Noetherian +public import Mathlib.RingTheory.KrullDimension.Zero /-! ## The Hopkins–Levitzki theorem @@ -30,6 +32,8 @@ import Mathlib.RingTheory.KrullDimension.Zero * [F. Lorenz, *Algebra: Volume II: Fields with Structure, Algebras and Advanced Topics*][Lorenz2008] -/ +@[expose] public section + universe u variable (R₀ R : Type*) (M : Type u) [Ring R₀] [Ring R] [Module R₀ R] diff --git a/Mathlib/RingTheory/Ideal/AssociatedPrime.lean b/Mathlib/RingTheory/Ideal/AssociatedPrime.lean index 6e427e7ea779eb..9ba0257a95ffb3 100644 --- a/Mathlib/RingTheory/Ideal/AssociatedPrime.lean +++ b/Mathlib/RingTheory/Ideal/AssociatedPrime.lean @@ -3,8 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ +module -import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-04-20") diff --git a/Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean b/Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean index c832711875e74d..123077a626c56a 100644 --- a/Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean +++ b/Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Exact -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.RingTheory.Ideal.IsPrimary -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.Algebra.Exact +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.RingTheory.Ideal.IsPrimary +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Noetherian.Defs /-! @@ -32,6 +34,8 @@ Generalize this to a non-commutative setting once there are annihilator for non- -/ +@[expose] public section + variable {R : Type*} [CommRing R] (I J : Ideal R) (M : Type*) [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean b/Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean index f7811d78e60a67..e0bc3d2df4aef2 100644 --- a/Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean +++ b/Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jinzhao Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jinzhao Pan -/ -import Mathlib.Order.RelSeries -import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic -import Mathlib.RingTheory.Noetherian.Basic -import Mathlib.RingTheory.Spectrum.Prime.Defs +module + +public import Mathlib.Order.RelSeries +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic +public import Mathlib.RingTheory.Noetherian.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Defs /-! @@ -36,6 +38,8 @@ associated primes. -/ +@[expose] public section + universe u v variable {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] diff --git a/Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean b/Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean index 0062cb95de6756..790033df39f7c1 100644 --- a/Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean +++ b/Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ -import Mathlib.Algebra.Module.LocalizedModule.Basic -import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic -import Mathlib.RingTheory.Localization.AtPrime.Basic +module + +public import Mathlib.Algebra.Module.LocalizedModule.Basic +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic +public import Mathlib.RingTheory.Localization.AtPrime.Basic /-! @@ -26,6 +28,8 @@ TODO: deduce from the above that every minimal element in support is in `Ass(M)` -/ +@[expose] public section + variable {R : Type*} [CommRing R] (S : Submonoid R) (R' : Type*) [CommRing R'] [Algebra R R'] [IsLocalization S R'] diff --git a/Mathlib/RingTheory/Ideal/Basic.lean b/Mathlib/RingTheory/Ideal/Basic.lean index 19623003c1c8bf..8c936fe56a107f 100644 --- a/Mathlib/RingTheory/Ideal/Basic.lean +++ b/Mathlib/RingTheory/Ideal/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Field.IsField -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.RingTheory.Ideal.Maximal -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.RingTheory.Ideal.Maximal +public import Mathlib.Tactic.FinCases /-! @@ -27,6 +29,8 @@ Note that over commutative rings, left ideals and two-sided ideals are equivalen Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + variable {ι α β F : Type*} diff --git a/Mathlib/RingTheory/Ideal/Basis.lean b/Mathlib/RingTheory/Ideal/Basis.lean index 343862cc28594b..1b4d72f90a4e7d 100644 --- a/Mathlib/RingTheory/Ideal/Basis.lean +++ b/Mathlib/RingTheory/Ideal/Basis.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.LinearAlgebra.Basis.Defs -import Mathlib.LinearAlgebra.Basis.Submodule -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.LinearAlgebra.Basis.Defs +public import Mathlib.LinearAlgebra.Basis.Submodule +public import Mathlib.RingTheory.Ideal.Span /-! # The basis of ideals @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Ideal.Span Some results involving `Ideal` and `Basis`. -/ +@[expose] public section + open Module namespace Ideal diff --git a/Mathlib/RingTheory/Ideal/BigOperators.lean b/Mathlib/RingTheory/Ideal/BigOperators.lean index 0b543fa41a0f70..d9f2374f2cd364 100644 --- a/Mathlib/RingTheory/Ideal/BigOperators.lean +++ b/Mathlib/RingTheory/Ideal/BigOperators.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Module.Submodule.Basic -import Mathlib.RingTheory.Ideal.Defs +module + +public import Mathlib.Algebra.Module.Submodule.Basic +public import Mathlib.RingTheory.Ideal.Defs /-! @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Ideal.Defs This contains some results on the big operators `∑` and `∏` interacting with the `Ideal` type. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/Colon.lean b/Mathlib/RingTheory/Ideal/Colon.lean index 725c7ccc6949e3..70f8bee9410a30 100644 --- a/Mathlib/RingTheory/Ideal/Colon.lean +++ b/Mathlib/RingTheory/Ideal/Colon.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Ring.Action.Pointwise.Set -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.Algebra.Ring.Action.Pointwise.Set +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Maps /-! # The colon ideal @@ -15,6 +17,8 @@ The normal notation for this would be `N : P` which has already been taken by ty -/ +@[expose] public section + namespace Submodule open Pointwise diff --git a/Mathlib/RingTheory/Ideal/Cotangent.lean b/Mathlib/RingTheory/Ideal/Cotangent.lean index 91a6ad7af4b7ef..551270b336189c 100644 --- a/Mathlib/RingTheory/Ideal/Cotangent.lean +++ b/Mathlib/RingTheory/Ideal/Cotangent.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition -import Mathlib.LinearAlgebra.FiniteDimensional.Defs -import Mathlib.RingTheory.Filtration -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.Nakayama +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.Dimension.FreeAndStrongRankCondition +public import Mathlib.LinearAlgebra.FiniteDimensional.Defs +public import Mathlib.RingTheory.Filtration +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.Nakayama /-! # The module `I ⧸ I ^ 2` @@ -24,6 +26,8 @@ Additional support is also given to the cotangent space `m ⧸ m ^ 2` of a local -/ +@[expose] public section + namespace Ideal diff --git a/Mathlib/RingTheory/Ideal/Defs.lean b/Mathlib/RingTheory/Ideal/Defs.lean index 824becd80daee5..08374aeeb7e412 100644 --- a/Mathlib/RingTheory/Ideal/Defs.lean +++ b/Mathlib/RingTheory/Ideal/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Module.Submodule.Defs -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Module.Submodule.Defs +public import Mathlib.Tactic.Abel /-! @@ -22,6 +24,8 @@ Note that over commutative rings, left ideals and two-sided ideals are equivalen Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/GoingDown.lean b/Mathlib/RingTheory/Ideal/GoingDown.lean index 46c9627b96d203..8843f05b2881f3 100644 --- a/Mathlib/RingTheory/Ideal/GoingDown.lean +++ b/Mathlib/RingTheory/Ideal/GoingDown.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Christian Merten, Yi Song, Sihan Su. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Yi Song, Sihan Su -/ -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.Flat.FaithfullyFlat.Algebra -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Algebra +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! # Going down @@ -27,6 +29,8 @@ of `S` lying above `q`, there exists a prime `P ≤ Q` of `S` lying above `p`. -/ +@[expose] public section + /-- An `R`-algebra `S` satisfies `Algebra.HasGoingDown R S` if for every pair of prime ideals `p ≤ q` of `R` with `Q` a prime of `S` lying above `q`, there exists a diff --git a/Mathlib/RingTheory/Ideal/GoingUp.lean b/Mathlib/RingTheory/Ideal/GoingUp.lean index 98e4ba21f9865b..1380045c339791 100644 --- a/Mathlib/RingTheory/Ideal/GoingUp.lean +++ b/Mathlib/RingTheory/Ideal/GoingUp.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yongle Hu -/ -import Mathlib.RingTheory.Ideal.Over -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.Integral +module + +public import Mathlib.RingTheory.Ideal.Over +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.Integral /-! # Ideals over/under ideals in integral extensions @@ -21,6 +23,8 @@ Once mathlib has more material on the localization at a prime ideal, the results can be proven using more general going-up/going-down theory. -/ +@[expose] public section + open Polynomial Submodule open scoped Pointwise diff --git a/Mathlib/RingTheory/Ideal/Height.lean b/Mathlib/RingTheory/Ideal/Height.lean index a1ea7dde58faf0..2562d717fe2f54 100644 --- a/Mathlib/RingTheory/Ideal/Height.lean +++ b/Mathlib/RingTheory/Ideal/Height.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wanyi He, Jiedong Jiang, Jingting Wang, Andrew Yang, Shouxin Zhang -/ -import Mathlib.Algebra.Module.SpanRank -import Mathlib.RingTheory.Spectrum.Prime.Noetherian -import Mathlib.RingTheory.Ideal.MinimalPrime.Localization +module + +public import Mathlib.Algebra.Module.SpanRank +public import Mathlib.RingTheory.Spectrum.Prime.Noetherian +public import Mathlib.RingTheory.Ideal.MinimalPrime.Localization /-! # The Height of an Ideal @@ -22,6 +24,8 @@ In this file, we define the height of a prime ideal and the height of an ideal. -/ +@[expose] public section + variable {R : Type*} [CommRing R] (I : Ideal R) open Ideal diff --git a/Mathlib/RingTheory/Ideal/IdempotentFG.lean b/Mathlib/RingTheory/Ideal/IdempotentFG.lean index 707f70ab3dad0a..cbf49df6b846d1 100644 --- a/Mathlib/RingTheory/Ideal/IdempotentFG.lean +++ b/Mathlib/RingTheory/Ideal/IdempotentFG.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Buzzard -/ -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.Order.Basic -import Mathlib.RingTheory.Finiteness.Nakayama +module + +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.Order.Basic +public import Mathlib.RingTheory.Finiteness.Nakayama /-! ## Lemmas on idempotent finitely generated ideals -/ +@[expose] public section + namespace Ideal diff --git a/Mathlib/RingTheory/Ideal/Int.lean b/Mathlib/RingTheory/Ideal/Int.lean index 68c6dd09e499dc..57148ef871f3b4 100644 --- a/Mathlib/RingTheory/Ideal/Int.lean +++ b/Mathlib/RingTheory/Ideal/Int.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Algebra.Field.ZMod -import Mathlib.RingTheory.Ideal.Norm.AbsNorm +module + +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.RingTheory.Ideal.Norm.AbsNorm /-! # Ideal of `ℤ` @@ -29,6 +31,8 @@ In particular, for `I` an ideal of a ring `R` extending `ℤ`, we prove several -/ +@[expose] public section + instance Int.ideal_span_isMaximal_of_prime (p : ℕ) [Fact (Nat.Prime p)] : (Ideal.span {(p : ℤ)}).IsMaximal := Ideal.Quotient.maximal_of_isField _ <| diff --git a/Mathlib/RingTheory/Ideal/IsPrimary.lean b/Mathlib/RingTheory/Ideal/IsPrimary.lean index b5a1fdc06cc624..8a923861827f04 100644 --- a/Mathlib/RingTheory/Ideal/IsPrimary.lean +++ b/Mathlib/RingTheory/Ideal/IsPrimary.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yakov Pechersky -/ -import Mathlib.RingTheory.IsPrimary -import Mathlib.RingTheory.Ideal.Operations +module + +public import Mathlib.RingTheory.IsPrimary +public import Mathlib.RingTheory.Ideal.Operations /-! # Primary ideals @@ -21,6 +23,8 @@ Uses a specialized phrasing of `Submodule.IsPrimary` to have better API-piercing -/ +@[expose] public section + namespace Ideal variable {R : Type*} [CommSemiring R] diff --git a/Mathlib/RingTheory/Ideal/IsPrincipal.lean b/Mathlib/RingTheory/Ideal/IsPrincipal.lean index 7b92ce59f99184..6efd443055280b 100644 --- a/Mathlib/RingTheory/Ideal/IsPrincipal.lean +++ b/Mathlib/RingTheory/Ideal/IsPrincipal.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Principal Ideals @@ -24,6 +26,8 @@ This file deals with the set of principal ideals of a `CommRing R`. `Associates R⁰` and the submonoid of non-zero-divisors principal ideals of `R`. -/ +@[expose] public section + variable {R : Type*} [CommRing R] namespace Ideal diff --git a/Mathlib/RingTheory/Ideal/IsPrincipalPowQuotient.lean b/Mathlib/RingTheory/Ideal/IsPrincipalPowQuotient.lean index 1273a5b855b2aa..6240683dbc6b06 100644 --- a/Mathlib/RingTheory/Ideal/IsPrincipalPowQuotient.lean +++ b/Mathlib/RingTheory/Ideal/IsPrincipalPowQuotient.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! # Quotients of powers of principal ideals @@ -26,6 +28,8 @@ formed as ring equivs. -/ +@[expose] public section + namespace Ideal diff --git a/Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean b/Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean index d7d4063e36edf9..cd9f0fead4e767 100644 --- a/Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean +++ b/Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wanyi He, Jiedong Jiang, Christian Merten, Jingting Wang, Andrew Yang, Shouxin Zhang -/ -import Mathlib.RingTheory.HopkinsLevitzki -import Mathlib.RingTheory.Ideal.Height -import Mathlib.RingTheory.Localization.Submodule -import Mathlib.RingTheory.Nakayama +module + +public import Mathlib.RingTheory.HopkinsLevitzki +public import Mathlib.RingTheory.Ideal.Height +public import Mathlib.RingTheory.Localization.Submodule +public import Mathlib.RingTheory.Nakayama /-! # Krull's Height Theorem @@ -37,6 +39,8 @@ In this file, we prove **Krull's principal ideal theorem** (also known as by no more than `n` elements. -/ +@[expose] public section + variable {R : Type*} [CommRing R] [IsNoetherianRing R] lemma IsLocalRing.quotient_artinian_of_mem_minimalPrimes_of_isLocalRing diff --git a/Mathlib/RingTheory/Ideal/Lattice.lean b/Mathlib/RingTheory/Ideal/Lattice.lean index 79af6931ebc7ca..6473136cf6808f 100644 --- a/Mathlib/RingTheory/Ideal/Lattice.lean +++ b/Mathlib/RingTheory/Ideal/Lattice.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.RingTheory.Ideal.Defs -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.RingTheory.Ideal.Defs +public import Mathlib.Tactic.Ring /-! # The lattice of ideals in a ring @@ -17,6 +19,8 @@ Some basic results on lattice operations on ideals: `⊥`, `⊤`, `⊔`, `⊓`. Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/Maps.lean b/Mathlib/RingTheory/Ideal/Maps.lean index 4a1ecd0c55ec0f..6759246e55f454 100644 --- a/Mathlib/RingTheory/Ideal/Maps.lean +++ b/Mathlib/RingTheory/Ideal/Maps.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Data.DFinsupp.Module -import Mathlib.RingTheory.Ideal.Operations +module + +public import Mathlib.Data.DFinsupp.Module +public import Mathlib.RingTheory.Ideal.Operations /-! # Maps on modules and ideals @@ -13,6 +15,8 @@ Main definitions include `Ideal.map`, `Ideal.comap`, `RingHom.ker`, `Module.anni and `Submodule.annihilator`. -/ +@[expose] public section + assert_not_exists Module.Basis -- See `RingTheory.Ideal.Basis` Submodule.hasQuotient -- See `RingTheory.Ideal.Quotient.Operations` diff --git a/Mathlib/RingTheory/Ideal/Maximal.lean b/Mathlib/RingTheory/Ideal/Maximal.lean index 3139aae5cd1d87..4bfde73bb934a8 100644 --- a/Mathlib/RingTheory/Ideal/Maximal.lean +++ b/Mathlib/RingTheory/Ideal/Maximal.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.Ideal.Prime -import Mathlib.RingTheory.Ideal.Span +module + +public import Mathlib.RingTheory.Ideal.Prime +public import Mathlib.RingTheory.Ideal.Span /-! @@ -23,6 +25,8 @@ Note that over commutative rings, left ideals and two-sided ideals are equivalen Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean b/Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean index eef35cd5202501..57b385988f7d43 100644 --- a/Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean +++ b/Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.IsPrimary -import Mathlib.Order.Minimal +module + +public import Mathlib.RingTheory.Ideal.IsPrimary +public import Mathlib.Order.Minimal /-! @@ -25,6 +27,8 @@ Further results that need the theory of localizations can be found in -/ +@[expose] public section + assert_not_exists Localization -- See `RingTheory/Ideal/Minimal/Localization.lean` section diff --git a/Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean b/Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean index c07d4fb53f4cff..8fadce29a07eae 100644 --- a/Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean +++ b/Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.MinimalPrime.Basic -import Mathlib.RingTheory.Localization.AtPrime.Basic +module + +public import Mathlib.RingTheory.Ideal.MinimalPrime.Basic +public import Mathlib.RingTheory.Localization.AtPrime.Basic /-! @@ -29,6 +31,8 @@ of localizations the resulting ring only has a single prime ideal. -/ +@[expose] public section + section diff --git a/Mathlib/RingTheory/Ideal/NatInt.lean b/Mathlib/RingTheory/Ideal/NatInt.lean index 759f5d68a6aa5d..d54627178a05c7 100644 --- a/Mathlib/RingTheory/Ideal/NatInt.lean +++ b/Mathlib/RingTheory/Ideal/NatInt.lean @@ -3,13 +3,15 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.Data.Nat.Prime.Int -import Mathlib.RingTheory.Int.Basic -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.KrullDimension.Basic -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.RingTheory.Int.Basic +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.KrullDimension.Basic +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Prime ideals in ℕ and ℤ @@ -22,6 +24,8 @@ import Mathlib.RingTheory.PrincipalIdealDomain * `Ideal.isPrime_int_iff` : the prime ideals in ℤ are ⟨0⟩ and ⟨p⟩ (for prime `p`). -/ +@[expose] public section + /-- The natural numbers form a local semiring. -/ instance : IsLocalRing ℕ where isUnit_or_isUnit_of_add_one {a b} hab := by diff --git a/Mathlib/RingTheory/Ideal/Nonunits.lean b/Mathlib/RingTheory/Ideal/Nonunits.lean index 0387a81319fd06..7002d2ee321e94 100644 --- a/Mathlib/RingTheory/Ideal/Nonunits.lean +++ b/Mathlib/RingTheory/Ideal/Nonunits.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.Ideal.Maximal +module + +public import Mathlib.RingTheory.Ideal.Maximal /-! # The set of non-invertible elements of a monoid @@ -17,6 +19,8 @@ import Mathlib.RingTheory.Ideal.Maximal * `exists_max_ideal_of_mem_nonunits`: every element of `nonunits` is contained in a maximal ideal -/ +@[expose] public section + variable {F α β : Type*} {a b : α} diff --git a/Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean b/Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean index 34c3769a53fba1..5037780bc41cc9 100644 --- a/Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean +++ b/Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.Algebra.CharP.Quotient -import Mathlib.LinearAlgebra.FreeModule.Determinant -import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient -import Mathlib.LinearAlgebra.FreeModule.IdealQuotient -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas -import Mathlib.RingTheory.Ideal.Basis -import Mathlib.RingTheory.Norm.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative +module + +public import Mathlib.Algebra.CharP.Quotient +public import Mathlib.LinearAlgebra.FreeModule.Determinant +public import Mathlib.LinearAlgebra.FreeModule.Finite.CardQuotient +public import Mathlib.LinearAlgebra.FreeModule.IdealQuotient +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas +public import Mathlib.RingTheory.Ideal.Basis +public import Mathlib.RingTheory.Norm.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative /-! @@ -37,6 +39,8 @@ the quotient `R ⧸ I` (setting it to 0 if the cardinality is infinite). norm of its generator -/ +@[expose] public section + open Module open scoped nonZeroDivisors diff --git a/Mathlib/RingTheory/Ideal/Norm/RelNorm.lean b/Mathlib/RingTheory/Ideal/Norm/RelNorm.lean index 3a0d8727b98be6..0e3f8e6b21d82b 100644 --- a/Mathlib/RingTheory/Ideal/Norm/RelNorm.lean +++ b/Mathlib/RingTheory/Ideal/Norm/RelNorm.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Alex J. Best -/ -import Mathlib.RingTheory.DedekindDomain.Instances -import Mathlib.RingTheory.IntegralClosure.IntegralRestrict +module + +public import Mathlib.RingTheory.DedekindDomain.Instances +public import Mathlib.RingTheory.IntegralClosure.IntegralRestrict /-! @@ -27,6 +29,8 @@ spanned by the norms of elements in `I`. -/ +@[expose] public section + open scoped nonZeroDivisors section SpanNorm diff --git a/Mathlib/RingTheory/Ideal/Oka.lean b/Mathlib/RingTheory/Ideal/Oka.lean index 5f64b5415c187b..970809a6ad5ce7 100644 --- a/Mathlib/RingTheory/Ideal/Oka.lean +++ b/Mathlib/RingTheory/Ideal/Oka.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Anthony Fernandes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anthony Fernandes, Marc Robin -/ -import Mathlib.RingTheory.Ideal.Colon +module + +public import Mathlib.RingTheory.Ideal.Colon /-! # Oka predicates @@ -23,6 +25,8 @@ This file introduces the notion of Oka predicates and standard results about the - [lam_reyes_2009]: *Oka and Ako ideal families in commutative rings*, 2009 -/ +@[expose] public section + namespace Ideal variable {R : Type*} [CommSemiring R] diff --git a/Mathlib/RingTheory/Ideal/Operations.lean b/Mathlib/RingTheory/Ideal/Operations.lean index edcf356232cf8f..be6660f3ccfcf8 100644 --- a/Mathlib/RingTheory/Ideal/Operations.lean +++ b/Mathlib/RingTheory/Ideal/Operations.lean @@ -3,18 +3,22 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Algebra.Operations -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Data.Fintype.Lattice -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +module + +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Data.Fintype.Lattice +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic /-! # More operations on modules and ideals -/ +@[expose] public section + assert_not_exists Module.Basis -- See `RingTheory.Ideal.Basis` Submodule.hasQuotient -- See `RingTheory.Ideal.Quotient.Operations` diff --git a/Mathlib/RingTheory/Ideal/Over.lean b/Mathlib/RingTheory/Ideal/Over.lean index 342c79af1fa836..7a0ccd6cdde1ea 100644 --- a/Mathlib/RingTheory/Ideal/Over.lean +++ b/Mathlib/RingTheory/Ideal/Over.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Yongle Hu -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Group.Subgroup.Actions -import Mathlib.RingTheory.Ideal.Pointwise -import Mathlib.RingTheory.Ideal.Quotient.Operations +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Group.Subgroup.Actions +public import Mathlib.RingTheory.Ideal.Pointwise +public import Mathlib.RingTheory.Ideal.Quotient.Operations /-! # Ideals over/under ideals @@ -17,6 +19,8 @@ Let `f : R →+* S` be a ring homomorphism (typically a ring extension), `I` an This is expressed here by writing `I = J.comap f`. -/ +@[expose] public section + -- for going-up results about integral extensions, see `Mathlib/RingTheory/Ideal/GoingUp.lean` assert_not_exists Algebra.IsIntegral diff --git a/Mathlib/RingTheory/Ideal/Pointwise.lean b/Mathlib/RingTheory/Ideal/Pointwise.lean index 79e7af727e9282..fb172c1a0c12b4 100644 --- a/Mathlib/RingTheory/Ideal/Pointwise.lean +++ b/Mathlib/RingTheory/Ideal/Pointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.Ring.Action.End -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.Algebra.Ring.Action.End +public import Mathlib.RingTheory.Ideal.Maps /-! # Pointwise instances on `Ideal`s @@ -20,6 +22,8 @@ Where possible, try to keep them in sync. -/ +@[expose] public section + open Set diff --git a/Mathlib/RingTheory/Ideal/Prime.lean b/Mathlib/RingTheory/Ideal/Prime.lean index e6c51bed6e5442..2fbdb5807b7794 100644 --- a/Mathlib/RingTheory/Ideal/Prime.lean +++ b/Mathlib/RingTheory/Ideal/Prime.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.Ideal.Lattice +module + +public import Mathlib.RingTheory.Ideal.Lattice /-! @@ -16,6 +18,8 @@ This file contains the definition of `Ideal.IsPrime` for prime ideals. Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/Prod.lean b/Mathlib/RingTheory/Ideal/Prod.lean index 846edf42978bbc..65b50d461b5e33 100644 --- a/Mathlib/RingTheory/Ideal/Prod.lean +++ b/Mathlib/RingTheory/Ideal/Prod.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.RingTheory.Ideal.Maps /-! # Ideals in product rings @@ -14,6 +16,8 @@ product `I × J`, viewed as an ideal of `R × S`. In `ideal_prod_eq` we show tha `p × S` or `R × p`, where `p` is a prime ideal. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Ideal/Quotient/Basic.lean b/Mathlib/RingTheory/Ideal/Quotient/Basic.lean index 224ac94933ddcb..8a0b66a49887c4 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Basic.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro, Anne Baanen -/ -import Mathlib.GroupTheory.QuotientGroup.Finite -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.RingTheory.Congruence.Basic -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.Tactic.FinCases +module + +public import Mathlib.GroupTheory.QuotientGroup.Finite +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.RingTheory.Congruence.Basic +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.Tactic.FinCases /-! # Ideal quotients @@ -24,6 +26,8 @@ See `Algebra.RingQuot` for quotients of semirings. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/Quotient/Defs.lean b/Mathlib/RingTheory/Ideal/Quotient/Defs.lean index 9c73dc56118f1f..2a3962a6bcaaa1 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Defs.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro, Anne Baanen -/ -import Mathlib.LinearAlgebra.Quotient.Defs -import Mathlib.RingTheory.Congruence.Defs -import Mathlib.RingTheory.Ideal.Defs +module + +public import Mathlib.LinearAlgebra.Quotient.Defs +public import Mathlib.RingTheory.Congruence.Defs +public import Mathlib.RingTheory.Ideal.Defs /-! # Ideal quotients @@ -24,6 +26,8 @@ See `Algebra.RingQuot` for quotients of non-commutative rings. - `Ideal.quotEquivOfEq`: quotienting by equal ideals gives isomorphic rings -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Ideal/Quotient/Index.lean b/Mathlib/RingTheory/Ideal/Quotient/Index.lean index c456d33a04d168..d6495732b9b2ef 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Index.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Index.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.Data.Finsupp.Fintype -import Mathlib.GroupTheory.Index -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.LinearAlgebra.TensorProduct.Quotient -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.RingTheory.Finiteness.Cardinality -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.Data.Finsupp.Fintype +public import Mathlib.GroupTheory.Index +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.LinearAlgebra.TensorProduct.Quotient +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.TensorProduct.Finite /-! # Indices of ideals @@ -26,6 +28,8 @@ import Mathlib.RingTheory.TensorProduct.Finite -/ +@[expose] public section + variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] variable (I : Ideal R) {N : Submodule R M} diff --git a/Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean b/Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean index b375f12f59e0fa..d9579012239516 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Nilpotent.Lemmas +module + +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Nilpotent.Lemmas /-! # Nilpotent elements in quotient rings -/ +@[expose] public section + theorem Ideal.isRadical_iff_quotient_reduced {R : Type*} [CommRing R] (I : Ideal R) : I.IsRadical ↔ IsReduced (R ⧸ I) := by conv_lhs => rw [← @Ideal.mk_ker R _ I] diff --git a/Mathlib/RingTheory/Ideal/Quotient/Noetherian.lean b/Mathlib/RingTheory/Ideal/Quotient/Noetherian.lean index 2f2f268de19984..3fd031021adc3c 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Noetherian.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Noetherian.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Noetherian.Basic /-! # Noetherian quotient rings and quotient modules -/ +@[expose] public section + instance Ideal.Quotient.isNoetherianRing {R : Type*} [CommRing R] [IsNoetherianRing R] (I : Ideal R) : IsNoetherianRing (R ⧸ I) := isNoetherianRing_iff.mpr <| isNoetherian_of_tower R <| inferInstance diff --git a/Mathlib/RingTheory/Ideal/Quotient/Operations.lean b/Mathlib/RingTheory/Ideal/Quotient/Operations.lean index d45c7008f68d81..600d4460c6aec8 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/Operations.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/Operations.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Patrick Massot -/ -import Mathlib.Algebra.Algebra.Subalgebra.Operations -import Mathlib.Algebra.Ring.Fin -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Ideal.Quotient.Basic +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Operations +public import Mathlib.Algebra.Ring.Fin +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Basic /-! # More operations on modules and ideals related to quotients @@ -25,6 +27,8 @@ import Mathlib.RingTheory.Ideal.Quotient.Basic `ZMod`). -/ +@[expose] public section + universe u v w namespace RingHom diff --git a/Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean b/Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean index 0d53eea79c558f..7460fbf086dca7 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Jiedong Jiang -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.Algebra.Algebra.Operations -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.Algebra.Algebra.Operations +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.Ideal.Maps /-! # The quotient map from `R ⧸ I ^ m` to `R ⧸ I ^ n` where `m ≥ n` @@ -25,6 +27,8 @@ to `R ⧸ I ^ n` induced by the natural inclusion `I ^ n → I ^ m`. ## Main results -/ +@[expose] public section + /- Since `Mathlib/LinearAlgebra/Quotient/Basic.lean` and `Mathlib/RingTheory/Ideal/Quotient/Defs.lean` do not import each other, and the first file that imports both of them is `Mathlib/RingTheory/Ideal/Quotient/Operations.lean`, which has already diff --git a/Mathlib/RingTheory/Ideal/Span.lean b/Mathlib/RingTheory/Ideal/Span.lean index eb603da425a266..20df4587d0282b 100644 --- a/Mathlib/RingTheory/Ideal/Span.lean +++ b/Mathlib/RingTheory/Ideal/Span.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Ring.Idempotent -import Mathlib.Algebra.Ring.Regular -import Mathlib.LinearAlgebra.Span.Basic -import Mathlib.RingTheory.Ideal.Lattice +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Ring.Idempotent +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.LinearAlgebra.Span.Basic +public import Mathlib.RingTheory.Ideal.Lattice /-! # Ideals generated by a set of elements @@ -19,6 +21,8 @@ This file defines `Ideal.span s` as the ideal generated by the subset `s` of the Support right ideals, and two-sided ideals over non-commutative rings. -/ +@[expose] public section + universe u variable {α : Type u} diff --git a/Mathlib/RingTheory/Idempotents.lean b/Mathlib/RingTheory/Idempotents.lean index 61f8a4ff515824..6855a4c84550d2 100644 --- a/Mathlib/RingTheory/Idempotents.lean +++ b/Mathlib/RingTheory/Idempotents.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.BigOperators.Fin -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Algebra.BigOperators.Fin +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Nilpotent.Defs /-! @@ -36,6 +38,8 @@ In this file we provide various results regarding idempotent elements in rings. a ring isomorphism `R ≃ ∏ R ⧸ ⟨1 - eᵢ⟩`. -/ +@[expose] public section + section Semiring variable {R S : Type*} [Semiring R] [Semiring S] (f : R →+* S) diff --git a/Mathlib/RingTheory/Int/Basic.lean b/Mathlib/RingTheory/Int/Basic.lean index 1ec97b72bac391..11677efe7a7d25 100644 --- a/Mathlib/RingTheory/Int/Basic.lean +++ b/Mathlib/RingTheory/Int/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Algebra.GCDMonoid.Nat -import Mathlib.Data.Nat.Prime.Int -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Algebra.GCDMonoid.Nat +public import Mathlib.Data.Nat.Prime.Int +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Divisibility over ℤ @@ -27,6 +29,8 @@ cases of ℤ being examples of structures in ring theory. prime, irreducible, integers, normalization monoid, gcd monoid, greatest common divisor -/ +@[expose] public section + namespace Int diff --git a/Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean b/Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean index 2468d22a184927..09809d28857beb 100644 --- a/Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean +++ b/Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap -import Mathlib.RingTheory.IntegralClosure.Algebra.Defs -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Charpoly.LinearMap +public import Mathlib.RingTheory.IntegralClosure.Algebra.Defs +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic /-! # Integral closure of a subring. @@ -19,6 +21,8 @@ Let `R` be a `CommRing` and let `A` be an R-algebra. * `integralClosure R A` : the integral closure of `R` in an `R`-algebra `A`. -/ +@[expose] public section + open Polynomial Submodule diff --git a/Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean b/Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean index b9d16d6f48e5f6..870be403bbeeec 100644 --- a/Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean +++ b/Mathlib/RingTheory/IntegralClosure/Algebra/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs +module + +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs /-! # Integral algebras @@ -16,6 +18,8 @@ Let `R` be a `CommRing` and let `A` be an R-algebra. over the base ring. -/ +@[expose] public section + open Polynomial Submodule diff --git a/Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean b/Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean index 30c506e9f08289..79c2a63beee560 100644 --- a/Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean +++ b/Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Andrew Yang, Patrick Lutz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.DedekindDomain.IntegralClosure -import Mathlib.RingTheory.RingHom.Finite -import Mathlib.RingTheory.Localization.LocalizationLocalization -import Mathlib.RingTheory.Localization.NormTrace -import Mathlib.RingTheory.Norm.Transitivity +module + +public import Mathlib.RingTheory.DedekindDomain.IntegralClosure +public import Mathlib.RingTheory.RingHom.Finite +public import Mathlib.RingTheory.Localization.LocalizationLocalization +public import Mathlib.RingTheory.Localization.NormTrace +public import Mathlib.RingTheory.Norm.Transitivity /-! # Restriction of various maps between fields to integrally closed subrings. @@ -24,6 +26,8 @@ defined to be the restriction of the trace map of `Frac(B)/Frac(A)`. defined to be the restriction of the norm map of `Frac(B)/Frac(A)`. -/ + +@[expose] public section open nonZeroDivisors variable (A K L L₂ L₃ B B₂ B₃ : Type*) diff --git a/Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean b/Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean index 996731e2899d16..3de9162d2952d1 100644 --- a/Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean +++ b/Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Localization.Integral -import Mathlib.RingTheory.Localization.LocalizationLocalization +module + +public import Mathlib.RingTheory.Localization.Integral +public import Mathlib.RingTheory.Localization.LocalizationLocalization /-! # Integrally closed rings @@ -51,6 +53,8 @@ but we could also consider a version of `NormalDomain` that only requires the lo `IsIntegrallyClosed` (even for Noetherian rings?). -/ +@[expose] public section + open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean b/Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean index 77e14015dd9577..08e5260954ce60 100644 --- a/Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean +++ b/Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs -import Mathlib.Algebra.Polynomial.Expand -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Finiteness.Subalgebra -import Mathlib.RingTheory.Polynomial.Tower +module + +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs +public import Mathlib.Algebra.Polynomial.Expand +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Finiteness.Subalgebra +public import Mathlib.RingTheory.Polynomial.Tower /-! # Properties of integral elements. @@ -15,6 +17,8 @@ import Mathlib.RingTheory.Polynomial.Tower We prove basic properties of integral elements in a ring extension. -/ +@[expose] public section + open Polynomial Submodule section Ring diff --git a/Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean b/Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean index eae0e386ac19de..66988894a6c922 100644 --- a/Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean +++ b/Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.Degree.Definitions -import Mathlib.Algebra.Polynomial.Eval.Defs -import Mathlib.Tactic.Algebraize +module + +public import Mathlib.Algebra.Polynomial.Degree.Definitions +public import Mathlib.Algebra.Polynomial.Eval.Defs +public import Mathlib.Tactic.Algebraize /-! # Integral closure of a subring. @@ -23,6 +25,8 @@ Let `R` be a `CommRing` and let `A` be an R-algebra. coefficients in `R`. -/ +@[expose] public section + open Polynomial section Ring diff --git a/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean b/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean index 830975bfb2cb7f..9d50bdfb70eded 100644 --- a/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean +++ b/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.IntegralClosure.Algebra.Basic -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Defs -import Mathlib.RingTheory.Polynomial.IntegralNormalization -import Mathlib.RingTheory.Polynomial.ScaleRoots -import Mathlib.RingTheory.TensorProduct.MvPolynomial +module + +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.IntegralClosure.Algebra.Basic +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Defs +public import Mathlib.RingTheory.Polynomial.IntegralNormalization +public import Mathlib.RingTheory.Polynomial.ScaleRoots +public import Mathlib.RingTheory.TensorProduct.MvPolynomial /-! # # Integral closure as a characteristic predicate @@ -18,6 +20,8 @@ We prove basic properties of `IsIntegralClosure`. -/ +@[expose] public section + open Polynomial Submodule section inv diff --git a/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Defs.lean b/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Defs.lean index 50467f58cba3f5..213bb1549f3617 100644 --- a/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Defs.lean +++ b/Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs +module + +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs /-! # Integral closure as a characteristic predicate @@ -17,6 +19,8 @@ Let `R` be a `CommRing` and let `A` be an R-algebra. (the image of) `A`. -/ +@[expose] public section + /-- `IsIntegralClosure A R B` is the characteristic predicate stating `A` is the integral closure of `R` in `B`, i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`. diff --git a/Mathlib/RingTheory/IntegralDomain.lean b/Mathlib/RingTheory/IntegralDomain.lean index afab087d644b79..8de288df205988 100644 --- a/Mathlib/RingTheory/IntegralDomain.lean +++ b/Mathlib/RingTheory/IntegralDomain.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Chris Hughes -/ -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Data.Fintype.Inv -import Mathlib.GroupTheory.SpecificGroups.Cyclic -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Data.Fintype.Inv +public import Mathlib.GroupTheory.SpecificGroups.Cyclic +public import Mathlib.Tactic.FieldSimp /-! # Integral domains @@ -28,6 +30,8 @@ is in `Mathlib/RingTheory/LittleWedderburn.lean`. integral domain, finite integral domain, finite field -/ +@[expose] public section + section open Finset Polynomial Function diff --git a/Mathlib/RingTheory/Invariant.lean b/Mathlib/RingTheory/Invariant.lean index 85156879145008..da69e4cea4ae4c 100644 --- a/Mathlib/RingTheory/Invariant.lean +++ b/Mathlib/RingTheory/Invariant.lean @@ -3,6 +3,8 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.RingTheory.Invariant.Basic +module + +public import Mathlib.RingTheory.Invariant.Basic deprecated_module (since := "2025-05-24") diff --git a/Mathlib/RingTheory/Invariant/Basic.lean b/Mathlib/RingTheory/Invariant/Basic.lean index 13f090feb7bb29..2359c748f1d0f2 100644 --- a/Mathlib/RingTheory/Invariant/Basic.lean +++ b/Mathlib/RingTheory/Invariant/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.RingTheory.Invariant.Defs -import Mathlib.RingTheory.IntegralClosure.IntegralRestrict +module + +public import Mathlib.RingTheory.Invariant.Defs +public import Mathlib.RingTheory.IntegralClosure.IntegralRestrict /-! # Invariant Extensions of Rings @@ -36,6 +38,8 @@ If `Q` is a prime ideal of `B` lying over a prime ideal `P` of `A`, then an automorphism of `B/Q`. -/ +@[expose] public section + open scoped Pointwise section Galois diff --git a/Mathlib/RingTheory/Invariant/Defs.lean b/Mathlib/RingTheory/Invariant/Defs.lean index 69a29dbdb7161d..d1c22b8888fb98 100644 --- a/Mathlib/RingTheory/Invariant/Defs.lean +++ b/Mathlib/RingTheory/Invariant/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Algebra.Algebra.Defs +module + +public import Mathlib.Algebra.Algebra.Defs /-! # Invariant Extensions of Rings @@ -16,6 +18,8 @@ of some finite Galois extension of number fields, and `A := 𝓞K` and `B := integers. -/ +@[expose] public section + namespace Algebra variable (A B G : Type*) [CommSemiring A] [Semiring B] [Algebra A B] diff --git a/Mathlib/RingTheory/Invariant/Profinite.lean b/Mathlib/RingTheory/Invariant/Profinite.lean index 0e832e15178a5c..1a510fadec7cf7 100644 --- a/Mathlib/RingTheory/Invariant/Profinite.lean +++ b/Mathlib/RingTheory/Invariant/Profinite.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Invariant.Basic -import Mathlib.Topology.Algebra.ClopenNhdofOne -import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Limits -import Mathlib.CategoryTheory.CofilteredSystem +module + +public import Mathlib.RingTheory.Invariant.Basic +public import Mathlib.Topology.Algebra.ClopenNhdofOne +public import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Limits +public import Mathlib.CategoryTheory.CofilteredSystem /-! # Invariant Extensions of Rings @@ -27,6 +29,8 @@ Let `G` be a profinite group acting continuously on a -/ +@[expose] public section + open scoped Pointwise section ProfiniteGrp diff --git a/Mathlib/RingTheory/IsAdjoinRoot.lean b/Mathlib/RingTheory/IsAdjoinRoot.lean index 4f6f8225470b10..9870f6f05d4707 100644 --- a/Mathlib/RingTheory/IsAdjoinRoot.lean +++ b/Mathlib/RingTheory/IsAdjoinRoot.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed -import Mathlib.RingTheory.PowerBasis +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed +public import Mathlib.RingTheory.PowerBasis /-! # A predicate on adjoining roots of polynomial @@ -56,6 +58,8 @@ Using `IsAdjoinRoot` to map out of `S`: `f`, if `f` is irreducible and monic, and `R` is a GCD domain -/ +@[expose] public section + open Module Polynomial noncomputable section diff --git a/Mathlib/RingTheory/IsPrimary.lean b/Mathlib/RingTheory/IsPrimary.lean index 15790229a6481f..f987724710cbf7 100644 --- a/Mathlib/RingTheory/IsPrimary.lean +++ b/Mathlib/RingTheory/IsPrimary.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Ideal.Operations +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Ideal.Operations /-! # Primary submodules @@ -31,6 +33,8 @@ to define the nilpotency of `r : R`. -/ +@[expose] public section + open Pointwise namespace Submodule diff --git a/Mathlib/RingTheory/IsTensorProduct.lean b/Mathlib/RingTheory/IsTensorProduct.lean index bcb55add58dc6c..cc7e57d375d905 100644 --- a/Mathlib/RingTheory/IsTensorProduct.lean +++ b/Mathlib/RingTheory/IsTensorProduct.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.TensorProduct.Basic /-! # The characteristic predicate of tensor product @@ -28,6 +30,8 @@ import Mathlib.RingTheory.TensorProduct.Basic -/ +@[expose] public section + universe u v₁ v₂ v₃ v₄ diff --git a/Mathlib/RingTheory/Jacobson/Artinian.lean b/Mathlib/RingTheory/Jacobson/Artinian.lean index 5ef1957cdebaef..41dfa470a5c1dc 100644 --- a/Mathlib/RingTheory/Jacobson/Artinian.lean +++ b/Mathlib/RingTheory/Jacobson/Artinian.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu, Andrew Yang -/ -import Mathlib.RingTheory.HopkinsLevitzki -import Mathlib.RingTheory.Jacobson.Ring +module + +public import Mathlib.RingTheory.HopkinsLevitzki +public import Mathlib.RingTheory.Jacobson.Ring /-! # Artinian rings over Jacobson rings @@ -15,6 +17,8 @@ then `A` is finite over `R` if and only if `A` is an Artinian ring. -/ +@[expose] public section + variable (R A : Type*) [CommRing R] [CommRing A] [Algebra R A] [Algebra.FiniteType R A] attribute [local instance] IsArtinianRing.fieldOfSubtypeIsMaximal in diff --git a/Mathlib/RingTheory/Jacobson/Ideal.lean b/Mathlib/RingTheory/Jacobson/Ideal.lean index 6b1281b0532b35..2ccb6aa129f43c 100644 --- a/Mathlib/RingTheory/Jacobson/Ideal.lean +++ b/Mathlib/RingTheory/Jacobson/Ideal.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Devon Tuma, Wojciech Nawrocki -/ -import Mathlib.RingTheory.Ideal.IsPrimary -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.TwoSidedIdeal.Operations -import Mathlib.RingTheory.Jacobson.Radical +module + +public import Mathlib.RingTheory.Ideal.IsPrimary +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.RingTheory.Jacobson.Radical /-! # Jacobson radical @@ -45,6 +47,8 @@ Jacobson, Jacobson radical, Local Ideal -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Jacobson/Polynomial.lean b/Mathlib/RingTheory/Jacobson/Polynomial.lean index c102d0db7133bd..ba57b2110b17b9 100644 --- a/Mathlib/RingTheory/Jacobson/Polynomial.lean +++ b/Mathlib/RingTheory/Jacobson/Polynomial.lean @@ -3,13 +3,17 @@ Copyright (c) 2020 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Devon Tuma -/ -import Mathlib.RingTheory.Jacobson.Ideal -import Mathlib.RingTheory.Polynomial.Quotient +module + +public import Mathlib.RingTheory.Jacobson.Ideal +public import Mathlib.RingTheory.Polynomial.Quotient /-! # Jacobson radical of polynomial ring -/ +@[expose] public section + namespace Ideal section Polynomial diff --git a/Mathlib/RingTheory/Jacobson/Radical.lean b/Mathlib/RingTheory/Jacobson/Radical.lean index 6a9521407eaf5f..c0b2454d61dac2 100644 --- a/Mathlib/RingTheory/Jacobson/Radical.lean +++ b/Mathlib/RingTheory/Jacobson/Radical.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! # Jacobson radical of modules and rings @@ -24,6 +26,8 @@ it is in fact a two-sided ideal, and equals the intersection of all maximal righ * [F. Lorenz, *Algebra: Volume II: Fields with Structure, Algebras and Advanced Topics*][Lorenz2008] -/ +@[expose] public section + assert_not_exists Cardinal namespace Module diff --git a/Mathlib/RingTheory/Jacobson/Ring.lean b/Mathlib/RingTheory/Jacobson/Ring.lean index 118d23a48d3801..de2ecf6de6ccaf 100644 --- a/Mathlib/RingTheory/Jacobson/Ring.lean +++ b/Mathlib/RingTheory/Jacobson/Ring.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Devon Tuma -/ -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.Jacobson.Polynomial -import Mathlib.RingTheory.Artinian.Module +module + +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.Jacobson.Polynomial +public import Mathlib.RingTheory.Artinian.Module /-! # Jacobson Rings @@ -37,6 +39,8 @@ Let `R` be a commutative ring. Jacobson rings are defined using the first of the Jacobson, Jacobson Ring -/ +@[expose] public section + universe u open Polynomial diff --git a/Mathlib/RingTheory/Jacobson/Semiprimary.lean b/Mathlib/RingTheory/Jacobson/Semiprimary.lean index 178a97f436f9e3..48f3a5cc2adc4b 100644 --- a/Mathlib/RingTheory/Jacobson/Semiprimary.lean +++ b/Mathlib/RingTheory/Jacobson/Semiprimary.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.Jacobson.Radical -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.RingTheory.Jacobson.Radical +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Semiprimary rings @@ -16,6 +18,8 @@ import Mathlib.RingTheory.SimpleModule.Basic `Ring.jacobson R` is nilpotent and `R ⧸ Ring.jacobson R` is semisimple. -/ +@[expose] public section + variable (R R₂ M M₂ : Type*) [Ring R] [Ring R₂] variable [AddCommGroup M] [Module R M] [AddCommGroup M₂] [Module R₂ M₂] variable {τ₁₂ : R →+* R₂} [RingHomSurjective τ₁₂] diff --git a/Mathlib/RingTheory/Kaehler/Basic.lean b/Mathlib/RingTheory/Kaehler/Basic.lean index 4629b3d8f5dbc8..583ff7b969fa8f 100644 --- a/Mathlib/RingTheory/Kaehler/Basic.lean +++ b/Mathlib/RingTheory/Kaehler/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Andrew Yang -/ -import Mathlib.RingTheory.Derivation.ToSquareZero -import Mathlib.RingTheory.Ideal.Cotangent -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.RingTheory.EssentialFiniteness -import Mathlib.Algebra.Exact -import Mathlib.LinearAlgebra.TensorProduct.RightExactness +module + +public import Mathlib.RingTheory.Derivation.ToSquareZero +public import Mathlib.RingTheory.Ideal.Cotangent +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.RingTheory.EssentialFiniteness +public import Mathlib.Algebra.Exact +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness /-! # The module of Kähler differentials @@ -44,6 +46,8 @@ import Mathlib.LinearAlgebra.TensorProduct.RightExactness - Define the `IsKaehlerDifferential` predicate. -/ +@[expose] public section + suppress_compilation noncomputable section KaehlerDifferential diff --git a/Mathlib/RingTheory/Kaehler/CotangentComplex.lean b/Mathlib/RingTheory/Kaehler/CotangentComplex.lean index e0d842ff89ff12..ca0e61b4130fcd 100644 --- a/Mathlib/RingTheory/Kaehler/CotangentComplex.lean +++ b/Mathlib/RingTheory/Kaehler/CotangentComplex.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Extension.Cotangent.Basic +module + +public import Mathlib.RingTheory.Extension.Cotangent.Basic deprecated_module (since := "2025-05-11") diff --git a/Mathlib/RingTheory/Kaehler/JacobiZariski.lean b/Mathlib/RingTheory/Kaehler/JacobiZariski.lean index 67ca3eb933e8ca..a58fa6436c8de0 100644 --- a/Mathlib/RingTheory/Kaehler/JacobiZariski.lean +++ b/Mathlib/RingTheory/Kaehler/JacobiZariski.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Extension.Cotangent.Basic -import Mathlib.RingTheory.Extension.Generators -import Mathlib.Algebra.Module.SnakeLemma +module + +public import Mathlib.RingTheory.Extension.Cotangent.Basic +public import Mathlib.RingTheory.Extension.Generators +public import Mathlib.Algebra.Module.SnakeLemma /-! @@ -27,6 +29,8 @@ and the exactness lemmas are - `KaehlerDifferential.map_surjective` -/ +@[expose] public section + open KaehlerDifferential Module MvPolynomial TensorProduct namespace Algebra @@ -239,6 +243,8 @@ lemma δAux_C (r) : δAux R Q (C r) = 1 ⊗ₜ D R S r := by rw [← monomial_zero', δAux_monomial, Finsupp.prod_zero_index] +set_option synthInstance.maxHeartbeats 30000 in +-- TODO: unclear increase from module system port, should be investigated variable {Q} {Q'} in lemma δAux_toAlgHom (f : Hom Q Q') (x) : δAux R Q' (f.toAlgHom x) = δAux R Q x + Finsupp.linearCombination _ (δAux R Q' ∘ f.val) @@ -261,6 +267,8 @@ lemma δAux_toAlgHom (f : Hom Q Q') (x) : rw [add_left_comm] rfl +set_option synthInstance.maxHeartbeats 30000 in +-- TODO: unclear increase from module system port, should be investigated lemma δAux_ofComp (x : (Q.comp P).Ring) : δAux R Q ((Q.ofComp P).toAlgHom x) = P.toExtension.toKaehler.baseChange T (CotangentSpace.compEquiv Q P diff --git a/Mathlib/RingTheory/Kaehler/Polynomial.lean b/Mathlib/RingTheory/Kaehler/Polynomial.lean index e8e4a0d9402aba..03f9d153f0b42e 100644 --- a/Mathlib/RingTheory/Kaehler/Polynomial.lean +++ b/Mathlib/RingTheory/Kaehler/Polynomial.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Kaehler.Basic -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.Algebra.Polynomial.Derivation +module + +public import Mathlib.RingTheory.Kaehler.Basic +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.Algebra.Polynomial.Derivation /-! # The Kähler differential module of polynomial algebras -/ +@[expose] public section + open Algebra Module open scoped TensorProduct diff --git a/Mathlib/RingTheory/Kaehler/TensorProduct.lean b/Mathlib/RingTheory/Kaehler/TensorProduct.lean index 7388b4b56496d3..ab8ad224e884e1 100644 --- a/Mathlib/RingTheory/Kaehler/TensorProduct.lean +++ b/Mathlib/RingTheory/Kaehler/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Kaehler.Basic -import Mathlib.RingTheory.Localization.BaseChange +module + +public import Mathlib.RingTheory.Kaehler.Basic +public import Mathlib.RingTheory.Localization.BaseChange /-! # Kähler differential module under base change @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Localization.BaseChange -/ +@[expose] public section + variable (R S A B : Type*) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] variable [Algebra R A] [Algebra R B] variable [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] @@ -42,6 +46,8 @@ lemma mulActionBaseChange_smul_zero (a : A) : a • (0 : S ⊗[R] Ω[A⁄R]) = 0 := by rw [← zero_tmul _ (0 : Ω[A⁄R]), mulActionBaseChange_smul_tmul, smul_zero] +set_option synthInstance.maxHeartbeats 80000 in +-- TODO: unclear increase from module system port, should be investigated @[local simp] lemma mulActionBaseChange_smul_add (a : A) (x y : S ⊗[R] Ω[A⁄R]) : a • (x + y) = a • x + a • y := by @@ -176,6 +182,8 @@ lemma tensorKaehlerEquiv_left_inv [Algebra.IsPushout R S A B] : rfl · simp only [map_add, TensorProduct.tmul_add, *] +set_option synthInstance.maxHeartbeats 21000 in +-- TODO: unclear increase from module system port, should be investigated /-- The canonical isomorphism `(S ⊗[R] Ω[A⁄R]) ≃ₗ[S] Ω[B⁄S]` for `B = S ⊗[R] A`. -/ @[simps! symm_apply] noncomputable def tensorKaehlerEquiv [h : Algebra.IsPushout R S A B] : diff --git a/Mathlib/RingTheory/KrullDimension/Basic.lean b/Mathlib/RingTheory/KrullDimension/Basic.lean index d7c5a555a3512a..ee713efb69b5d0 100644 --- a/Mathlib/RingTheory/KrullDimension/Basic.lean +++ b/Mathlib/RingTheory/KrullDimension/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fangming Li, Jujian Zhang -/ -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.Order.KrullDimension -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.Ideal.MinimalPrime.Basic -import Mathlib.RingTheory.Jacobson.Radical -import Mathlib.RingTheory.Spectrum.Prime.Basic +module + +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.Order.KrullDimension +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.MinimalPrime.Basic +public import Mathlib.RingTheory.Jacobson.Radical +public import Mathlib.RingTheory.Spectrum.Prime.Basic /-! # Krull dimensions of (commutative) rings @@ -19,6 +21,8 @@ of its prime spectrum. Unfolding this definition, it is the length of the longes prime ideals ordered by strict inclusion. -/ +@[expose] public section + open Order /-- diff --git a/Mathlib/RingTheory/KrullDimension/Field.lean b/Mathlib/RingTheory/KrullDimension/Field.lean index bc8ebdf09a3873..0fefdc14079a26 100644 --- a/Mathlib/RingTheory/KrullDimension/Field.lean +++ b/Mathlib/RingTheory/KrullDimension/Field.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fangming Li, Jujian Zhang -/ -import Mathlib.RingTheory.KrullDimension.Basic +module + +public import Mathlib.RingTheory.KrullDimension.Basic /-! # The Krull dimension of a field @@ -11,6 +13,8 @@ import Mathlib.RingTheory.KrullDimension.Basic This file proves that the Krull dimension of a field is zero. -/ +@[expose] public section + open Order @[simp] diff --git a/Mathlib/RingTheory/KrullDimension/Module.lean b/Mathlib/RingTheory/KrullDimension/Module.lean index 57ec6d6f7d23d8..023d1e730393b0 100644 --- a/Mathlib/RingTheory/KrullDimension/Module.lean +++ b/Mathlib/RingTheory/KrullDimension/Module.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ -import Mathlib.RingTheory.KrullDimension.NonZeroDivisors -import Mathlib.RingTheory.Spectrum.Prime.Module +module + +public import Mathlib.RingTheory.KrullDimension.NonZeroDivisors +public import Mathlib.RingTheory.Spectrum.Prime.Module /-! @@ -16,6 +18,8 @@ the krull dimension of its support. It is equal to the krull dimension of `R / A -/ +@[expose] public section + variable (R : Type*) [CommRing R] variable (M : Type*) [AddCommGroup M] [Module R M] (N : Type*) [AddCommGroup N] [Module R N] diff --git a/Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean b/Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean index 0c5b888745b353..22158de9422b0f 100644 --- a/Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean +++ b/Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.MinimalPrime.Localization -import Mathlib.RingTheory.KrullDimension.Basic -import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.RingTheory.Spectrum.Prime.RingHom +module + +public import Mathlib.RingTheory.Ideal.MinimalPrime.Localization +public import Mathlib.RingTheory.KrullDimension.Basic +public import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.RingTheory.Spectrum.Prime.RingHom /-! @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Spectrum.Prime.RingHom - `ringKrullDim_add_enatCard_le_ringKrullDim_mvPolynomial`: `dim R + #σ ≤ dim R[σ]`. -/ +@[expose] public section + open scoped nonZeroDivisors variable {R S : Type*} [CommRing R] [CommRing S] diff --git a/Mathlib/RingTheory/KrullDimension/PID.lean b/Mathlib/RingTheory/KrullDimension/PID.lean index 4be8248d1f73f0..f27f06f6ac2f49 100644 --- a/Mathlib/RingTheory/KrullDimension/PID.lean +++ b/Mathlib/RingTheory/KrullDimension/PID.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jingting Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jingting Wang -/ -import Mathlib.RingTheory.Ideal.Height -import Mathlib.RingTheory.KrullDimension.Zero -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.RingTheory.Ideal.Height +public import Mathlib.RingTheory.KrullDimension.Zero +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # The Krull dimension of a principal ideal domain @@ -13,6 +15,8 @@ import Mathlib.RingTheory.PrincipalIdealDomain In this file, we proved some results about the dimension of a principal ideal domain. -/ +@[expose] public section + instance IsPrincipalIdealRing.krullDimLE_one (R : Type*) [CommRing R] [IsPrincipalIdealRing R] : Ring.KrullDimLE 1 R := by refine Ring.krullDimLE_one_iff.2 fun I hI ↦ or_iff_not_imp_left.2 fun hI' ↦ ?_ diff --git a/Mathlib/RingTheory/KrullDimension/Polynomial.lean b/Mathlib/RingTheory/KrullDimension/Polynomial.lean index 82d798591b487a..b09193f366544f 100644 --- a/Mathlib/RingTheory/KrullDimension/Polynomial.lean +++ b/Mathlib/RingTheory/KrullDimension/Polynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jingting Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jingting Wang -/ -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.RingTheory.KrullDimension.PID -import Mathlib.RingTheory.LocalRing.ResidueField.Fiber +module + +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.RingTheory.KrullDimension.PID +public import Mathlib.RingTheory.LocalRing.ResidueField.Fiber /-! # Krull dimension of polynomial ring @@ -18,6 +20,8 @@ This file proves properties of the krull dimension of the polynomial ring over a `R` is less than `2 * (ringKrullDim R) + 1`. -/ +@[expose] public section + theorem Polynomial.ringKrullDim_le {R : Type*} [CommRing R] : ringKrullDim (Polynomial R) ≤ 2 * (ringKrullDim R) + 1 := by rw [ringKrullDim, ringKrullDim] diff --git a/Mathlib/RingTheory/KrullDimension/Zero.lean b/Mathlib/RingTheory/KrullDimension/Zero.lean index 9cfb4b66464cdf..18575b6cecb444 100644 --- a/Mathlib/RingTheory/KrullDimension/Zero.lean +++ b/Mathlib/RingTheory/KrullDimension/Zero.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Jacobson.Ring -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.RingTheory.Jacobson.Ring +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! @@ -15,6 +17,8 @@ Basic definitions and lemmas are provided in `Mathlib/RingTheory/KrullDimension/ -/ +@[expose] public section + section CommSemiring variable {R : Type*} [CommSemiring R] [Ring.KrullDimLE 0 R] (I : Ideal R) diff --git a/Mathlib/RingTheory/Lasker.lean b/Mathlib/RingTheory/Lasker.lean index 8f522d48f8d1e8..6f591d030c75c6 100644 --- a/Mathlib/RingTheory/Lasker.lean +++ b/Mathlib/RingTheory/Lasker.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Order.Irreducible -import Mathlib.RingTheory.Ideal.Colon -import Mathlib.RingTheory.Ideal.IsPrimary -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.Order.Irreducible +public import Mathlib.RingTheory.Ideal.Colon +public import Mathlib.RingTheory.Ideal.IsPrimary +public import Mathlib.RingTheory.Noetherian.Defs /-! # Lasker ring @@ -28,6 +30,8 @@ Also, one needs to prove that the radicals of minimal decompositions are indepen -/ +@[expose] public section + section IsLasker variable (R : Type*) [CommSemiring R] diff --git a/Mathlib/RingTheory/LaurentSeries.lean b/Mathlib/RingTheory/LaurentSeries.lean index 5f6956e400fa60..98eadbd3999a71 100644 --- a/Mathlib/RingTheory/LaurentSeries.lean +++ b/Mathlib/RingTheory/LaurentSeries.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson, María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Data.Int.Interval -import Mathlib.FieldTheory.RatFunc.AsPolynomial -import Mathlib.RingTheory.Binomial -import Mathlib.RingTheory.HahnSeries.PowerSeries -import Mathlib.RingTheory.HahnSeries.Summable -import Mathlib.RingTheory.PowerSeries.Inverse -import Mathlib.RingTheory.PowerSeries.Trunc -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.Topology.UniformSpace.DiscreteUniformity +module + +public import Mathlib.Data.Int.Interval +public import Mathlib.FieldTheory.RatFunc.AsPolynomial +public import Mathlib.RingTheory.Binomial +public import Mathlib.RingTheory.HahnSeries.PowerSeries +public import Mathlib.RingTheory.HahnSeries.Summable +public import Mathlib.RingTheory.PowerSeries.Inverse +public import Mathlib.RingTheory.PowerSeries.Trunc +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.Topology.UniformSpace.DiscreteUniformity /-! @@ -83,6 +85,8 @@ type with a zero. They are denoted `R⸨X⸩`. to `K⟦X⟧`. -/ + +@[expose] public section universe u open scoped PowerSeries diff --git a/Mathlib/RingTheory/Length.lean b/Mathlib/RingTheory/Length.lean index 89b13f3808b8d2..6b799444c79f4c 100644 --- a/Mathlib/RingTheory/Length.lean +++ b/Mathlib/RingTheory/Length.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Exact -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.Order.KrullDimension -import Mathlib.RingTheory.FiniteLength +module + +public import Mathlib.Algebra.Exact +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.Order.KrullDimension +public import Mathlib.RingTheory.FiniteLength /-! @@ -21,6 +23,8 @@ import Mathlib.RingTheory.FiniteLength -/ +@[expose] public section + variable (R M : Type*) [Ring R] [AddCommGroup M] [Module R M] /-- The length of a module, defined as the krull dimension of its submodule lattice. -/ diff --git a/Mathlib/RingTheory/LinearDisjoint.lean b/Mathlib/RingTheory/LinearDisjoint.lean index 443cc078926c9e..9e0d981776543d 100644 --- a/Mathlib/RingTheory/LinearDisjoint.lean +++ b/Mathlib/RingTheory/LinearDisjoint.lean @@ -3,18 +3,20 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Algebra.Subalgebra.MulOpposite -import Mathlib.Algebra.Algebra.Subalgebra.Rank -import Mathlib.Algebra.Polynomial.Basis -import Mathlib.LinearAlgebra.LinearDisjoint -import Mathlib.LinearAlgebra.TensorProduct.Subalgebra -import Mathlib.RingTheory.Adjoin.Dimension -import Mathlib.RingTheory.Algebraic.Basic -import Mathlib.RingTheory.IntegralClosure.Algebra.Defs -import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic -import Mathlib.RingTheory.Norm.Defs -import Mathlib.RingTheory.TensorProduct.Nontrivial -import Mathlib.RingTheory.Trace.Defs +module + +public import Mathlib.Algebra.Algebra.Subalgebra.MulOpposite +public import Mathlib.Algebra.Algebra.Subalgebra.Rank +public import Mathlib.Algebra.Polynomial.Basis +public import Mathlib.LinearAlgebra.LinearDisjoint +public import Mathlib.LinearAlgebra.TensorProduct.Subalgebra +public import Mathlib.RingTheory.Adjoin.Dimension +public import Mathlib.RingTheory.Algebraic.Basic +public import Mathlib.RingTheory.IntegralClosure.Algebra.Defs +public import Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.RingTheory.TensorProduct.Nontrivial +public import Mathlib.RingTheory.Trace.Defs /-! @@ -129,6 +131,8 @@ linearly disjoint, linearly independent, tensor product -/ +@[expose] public section + open Module open scoped TensorProduct diff --git a/Mathlib/RingTheory/LittleWedderburn.lean b/Mathlib/RingTheory/LittleWedderburn.lean index 387721620d7f37..f3375e4fea4a81 100644 --- a/Mathlib/RingTheory/LittleWedderburn.lean +++ b/Mathlib/RingTheory/LittleWedderburn.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Eric Rodriguez -/ -import Mathlib.Algebra.GroupWithZero.Action.Center -import Mathlib.GroupTheory.ClassEquation -import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval +module + +public import Mathlib.Algebra.GroupWithZero.Action.Center +public import Mathlib.GroupTheory.ClassEquation +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Eval /-! # Wedderburn's Little Theorem @@ -34,6 +36,8 @@ below proof is free, then the proof works nearly verbatim. -/ +@[expose] public section + open scoped Polynomial open Fintype diff --git a/Mathlib/RingTheory/LocalProperties/Basic.lean b/Mathlib/RingTheory/LocalProperties/Basic.lean index 14c8c18db4a623..98df94263c6e68 100644 --- a/Mathlib/RingTheory/LocalProperties/Basic.lean +++ b/Mathlib/RingTheory/LocalProperties/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Localization.Submodule -import Mathlib.RingTheory.LocalProperties.Submodule -import Mathlib.RingTheory.RingHomProperties +module + +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Localization.Submodule +public import Mathlib.RingTheory.LocalProperties.Submodule +public import Mathlib.RingTheory.RingHomProperties /-! # Local properties of commutative rings @@ -41,6 +43,8 @@ In this file, we define local properties in general. -/ +@[expose] public section + open scoped Pointwise universe u diff --git a/Mathlib/RingTheory/LocalProperties/Exactness.lean b/Mathlib/RingTheory/LocalProperties/Exactness.lean index f04a50f93ea975..213001c16ef00a 100644 --- a/Mathlib/RingTheory/LocalProperties/Exactness.lean +++ b/Mathlib/RingTheory/LocalProperties/Exactness.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Sihan Su. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sihan Su, Yongle Hu, Yi Song -/ -import Mathlib.Algebra.Exact -import Mathlib.RingTheory.LocalProperties.Submodule -import Mathlib.RingTheory.Localization.Algebra -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.Algebra.Module.LocalizedModule.AtPrime -import Mathlib.Algebra.Module.LocalizedModule.Away +module + +public import Mathlib.Algebra.Exact +public import Mathlib.RingTheory.LocalProperties.Submodule +public import Mathlib.RingTheory.Localization.Algebra +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.Algebra.Module.LocalizedModule.AtPrime +public import Mathlib.Algebra.Module.LocalizedModule.Away /-! # Local properties about linear maps @@ -18,6 +20,8 @@ injectivity, surjectivity, bijectivity and exactness of linear maps are local pr More precisely, we show that these can be checked at maximal ideals and on standard covers. -/ +@[expose] public section + open Submodule LocalizedModule Ideal LinearMap section isLocalized_maximal diff --git a/Mathlib/RingTheory/LocalProperties/IntegrallyClosed.lean b/Mathlib/RingTheory/LocalProperties/IntegrallyClosed.lean index e084cc69370fcc..b51d2c0c65fb9e 100644 --- a/Mathlib/RingTheory/LocalProperties/IntegrallyClosed.lean +++ b/Mathlib/RingTheory/LocalProperties/IntegrallyClosed.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu -/ -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Spectrum.Maximal.Localization +module + +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Spectrum.Maximal.Localization /-! # `IsIntegrallyClosed` is a local property @@ -18,6 +20,8 @@ In this file, we prove that `IsIntegrallyClosed` is a local property. if `Rₘ` is integral closed for any maximal ideal `m` of `R`. -/ +@[expose] public section + open scoped nonZeroDivisors open Localization Ideal IsLocalization diff --git a/Mathlib/RingTheory/LocalProperties/Projective.lean b/Mathlib/RingTheory/LocalProperties/Projective.lean index 7b2101d77b98b5..317ca0453d4ddc 100644 --- a/Mathlib/RingTheory/LocalProperties/Projective.lean +++ b/Mathlib/RingTheory/LocalProperties/Projective.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, David Swinarski -/ -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.Dimension.Constructions -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.RingTheory.LocalProperties.Submodule +module + +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.Dimension.Constructions +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.RingTheory.LocalProperties.Submodule /-! @@ -25,6 +27,8 @@ import Mathlib.RingTheory.LocalProperties.Submodule -/ +@[expose] public section + universe uM variable {R N N' : Type*} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] diff --git a/Mathlib/RingTheory/LocalProperties/Reduced.lean b/Mathlib/RingTheory/LocalProperties/Reduced.lean index be125e7a5e6ee2..5fded8504d6f08 100644 --- a/Mathlib/RingTheory/LocalProperties/Reduced.lean +++ b/Mathlib/RingTheory/LocalProperties/Reduced.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Nilpotent.Defs /-! # `IsReduced` is a local property @@ -20,6 +22,8 @@ Let `R` be a commutative ring, `M` be a submonoid of `R`. -/ +@[expose] public section + /-- `M⁻¹R` is reduced if `R` is reduced. -/ theorem isReduced_localizationPreserves : LocalizationPreserves fun R _ => IsReduced R := by introv R _ _ diff --git a/Mathlib/RingTheory/LocalProperties/Semilocal.lean b/Mathlib/RingTheory/LocalProperties/Semilocal.lean index e5c679ac8d3f2a..dcea00c88b88d2 100644 --- a/Mathlib/RingTheory/LocalProperties/Semilocal.lean +++ b/Mathlib/RingTheory/LocalProperties/Semilocal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yiming Fu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yiming Fu -/ -import Mathlib.RingTheory.DedekindDomain.PID -import Mathlib.RingTheory.KrullDimension.PID +module + +public import Mathlib.RingTheory.DedekindDomain.PID +public import Mathlib.RingTheory.KrullDimension.PID /-! # Local properties for semilocal rings @@ -22,6 +24,8 @@ finitely many maximal ideals). integral domain `A` is a PID if its localization at every maximal ideal is a PID. -/ +@[expose] public section + section CommSemiring variable {R : Type*} [CommSemiring R] [Finite (MaximalSpectrum R)] diff --git a/Mathlib/RingTheory/LocalProperties/Submodule.lean b/Mathlib/RingTheory/LocalProperties/Submodule.lean index bdd55f1374a627..aa7ce543625272 100644 --- a/Mathlib/RingTheory/LocalProperties/Submodule.lean +++ b/Mathlib/RingTheory/LocalProperties/Submodule.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, David Swinarski -/ -import Mathlib.Algebra.Module.LocalizedModule.Submodule -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.Away.Basic +module + +public import Mathlib.Algebra.Module.LocalizedModule.Submodule +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.Away.Basic /-! # Local properties of modules and submodules @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Localization.Away.Basic In this file, we show that several conditions on submodules can be checked on stalks. -/ +@[expose] public section + open scoped nonZeroDivisors variable {R M M₁ : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] diff --git a/Mathlib/RingTheory/LocalRing/Basic.lean b/Mathlib/RingTheory/LocalRing/Basic.lean index 4230df2afea881..e5f63bbb1f1ecf 100644 --- a/Mathlib/RingTheory/LocalRing/Basic.lean +++ b/Mathlib/RingTheory/LocalRing/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.LocalRing.Defs -import Mathlib.RingTheory.Ideal.Nonunits +module + +public import Mathlib.RingTheory.LocalRing.Defs +public import Mathlib.RingTheory.Ideal.Nonunits /-! @@ -14,6 +16,8 @@ We prove basic properties of local rings. -/ +@[expose] public section + variable {R S : Type*} namespace IsLocalRing diff --git a/Mathlib/RingTheory/LocalRing/Defs.lean b/Mathlib/RingTheory/LocalRing/Defs.lean index ef1307a4b6747c..f3dc182208db41 100644 --- a/Mathlib/RingTheory/LocalRing/Defs.lean +++ b/Mathlib/RingTheory/LocalRing/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Group.Units.Defs -import Mathlib.Algebra.Ring.Defs +module + +public import Mathlib.Algebra.Group.Units.Defs +public import Mathlib.Algebra.Ring.Defs /-! @@ -20,6 +22,8 @@ Define local rings as commutative rings having a unique maximal ideal. `IsLocalRing.of_unique_max_ideal` and `IsLocalRing.maximal_ideal_unique`. -/ + +@[expose] public section /-- A semiring is local if it is nontrivial and `a` or `b` is a unit whenever `a + b = 1`. Note that `IsLocalRing` is a predicate. -/ class IsLocalRing (R : Type*) [Semiring R] : Prop extends Nontrivial R where diff --git a/Mathlib/RingTheory/LocalRing/LocalSubring.lean b/Mathlib/RingTheory/LocalRing/LocalSubring.lean index 280f6377212da4..5eaa7cc9c8df34 100644 --- a/Mathlib/RingTheory/LocalRing/LocalSubring.lean +++ b/Mathlib/RingTheory/LocalRing/LocalSubring.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang, Yaël Dillies, Javier López-Contreras. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Yaël Dillies, Javier López-Contreras -/ -import Mathlib.Tactic.FieldSimp -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.Localization.AtPrime.Basic +module + +public import Mathlib.Tactic.FieldSimp +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.Localization.AtPrime.Basic /-! @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Localization.AtPrime.Basic - `LocalSubring.ofPrime`: The localization of a subring as a `LocalSubring`. -/ +@[expose] public section + open IsLocalRing Set variable {R S : Type*} [CommRing R] [CommRing S] diff --git a/Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean b/Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean index 00cbe005ffd5bc..185dc905aeff60 100644 --- a/Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean +++ b/Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.Jacobson.Ideal -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Defs -import Mathlib.RingTheory.Spectrum.Maximal.Defs +module + +public import Mathlib.RingTheory.Jacobson.Ideal +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Defs +public import Mathlib.RingTheory.Spectrum.Maximal.Defs /-! @@ -15,6 +17,8 @@ We prove basic properties of the maximal ideal of a local ring. -/ +@[expose] public section + variable {R S K : Type*} section CommSemiring diff --git a/Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean b/Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean index 07ffec4f04e26f..02c3f6eadec3d6 100644 --- a/Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean +++ b/Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.LocalRing.Basic +module + +public import Mathlib.RingTheory.LocalRing.Basic /-! @@ -18,6 +20,8 @@ We define the maximal ideal of a local ring as the ideal of all nonunits. -/ +@[expose] public section + namespace IsLocalRing variable (R : Type*) [CommSemiring R] [IsLocalRing R] diff --git a/Mathlib/RingTheory/LocalRing/Module.lean b/Mathlib/RingTheory/LocalRing/Module.lean index 8d2cb73932b414..d5f0d14ad180d0 100644 --- a/Mathlib/RingTheory/LocalRing/Module.lean +++ b/Mathlib/RingTheory/LocalRing/Module.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.Algebra.Module.Torsion -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Flat.EquationalCriterion -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.Nakayama -import Mathlib.RingTheory.Support +module + +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Flat.EquationalCriterion +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.Nakayama +public import Mathlib.RingTheory.Support /-! # Finite modules over local rings @@ -30,6 +32,8 @@ This file gathers various results about finite modules over a local ring `(R, `l` is a split injection if and only if `k ⊗ l` is a (split) injection. -/ +@[expose] public section + open Module universe u diff --git a/Mathlib/RingTheory/LocalRing/NonLocalRing.lean b/Mathlib/RingTheory/LocalRing/NonLocalRing.lean index a68ad3e578b45a..8d55042e878b5d 100644 --- a/Mathlib/RingTheory/LocalRing/NonLocalRing.lean +++ b/Mathlib/RingTheory/LocalRing/NonLocalRing.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Michal Staromiejski. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michal Staromiejski -/ -import Mathlib.Algebra.Ring.Pi -import Mathlib.Algebra.Ring.Prod -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.Spectrum.Maximal.Basic +module + +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.Spectrum.Maximal.Basic /-! @@ -30,6 +32,8 @@ This file gathers some results about non-local rings. -/ +@[expose] public section + namespace IsLocalRing /-- If two non-units sum to 1 in a (semi)ring `R` then `R` is not local. -/ diff --git a/Mathlib/RingTheory/LocalRing/Quotient.lean b/Mathlib/RingTheory/LocalRing/Quotient.lean index 2c9c509fd36148..ad5f8ed50de815 100644 --- a/Mathlib/RingTheory/LocalRing/Quotient.lean +++ b/Mathlib/RingTheory/LocalRing/Quotient.lean @@ -3,16 +3,17 @@ Copyright (c) 2024 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Riccardo Brasca -/ - -import Mathlib.LinearAlgebra.Dimension.DivisionRing -import Mathlib.LinearAlgebra.FreeModule.PID -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.RingTheory.Artinian.Ring -import Mathlib.RingTheory.Ideal.Over -import Mathlib.RingTheory.Ideal.Quotient.Index -import Mathlib.RingTheory.LocalRing.ResidueField.Defs -import Mathlib.RingTheory.LocalRing.RingHom.Basic -import Mathlib.RingTheory.Nakayama +module + +public import Mathlib.LinearAlgebra.Dimension.DivisionRing +public import Mathlib.LinearAlgebra.FreeModule.PID +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.RingTheory.Artinian.Ring +public import Mathlib.RingTheory.Ideal.Over +public import Mathlib.RingTheory.Ideal.Quotient.Index +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs +public import Mathlib.RingTheory.LocalRing.RingHom.Basic +public import Mathlib.RingTheory.Nakayama /-! @@ -20,6 +21,8 @@ We gather results about the quotients of local rings. -/ +@[expose] public section + open Submodule FiniteDimensional Module variable {R S : Type*} [CommRing R] [CommRing S] [Algebra R S] [IsLocalRing R] [Module.Finite R S] diff --git a/Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean b/Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean index 427379e1f71cab..9dd1f1567bedec 100644 --- a/Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean +++ b/Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Ring.Action.End -import Mathlib.RingTheory.Finiteness.Cardinality -import Mathlib.RingTheory.LocalRing.ResidueField.Defs -import Mathlib.RingTheory.LocalRing.RingHom.Basic +module + +public import Mathlib.Algebra.Ring.Action.End +public import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs +public import Mathlib.RingTheory.LocalRing.RingHom.Basic /-! @@ -16,6 +18,8 @@ We prove basic properties of the residue field of a local ring. -/ +@[expose] public section + variable {R S T : Type*} namespace IsLocalRing diff --git a/Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean b/Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean index 96feec040ae8d0..97ec3689024df9 100644 --- a/Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean +++ b/Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +module + +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic /-! @@ -16,6 +18,8 @@ import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic * `IsLocalRing.residue`: The quotient map from a local ring to its residue field. -/ +@[expose] public section + namespace IsLocalRing variable (R : Type*) [CommRing R] [IsLocalRing R] diff --git a/Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean b/Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean index 7f95ccb5c1e0c2..b060f8d1873bb0 100644 --- a/Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean +++ b/Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jingting Wang, Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jingting Wang, Junyan Xu -/ -import Mathlib.RingTheory.Spectrum.Prime.RingHom -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.TensorProduct.Quotient +module + +public import Mathlib.RingTheory.Spectrum.Prime.RingHom +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.TensorProduct.Quotient /-! # The fiber of a ring homomorphism at a prime ideal @@ -18,6 +20,8 @@ import Mathlib.RingTheory.TensorProduct.Quotient the prime spectrum of the tensor product of `S` and the residue field of `p`. -/ +@[expose] public section + open Algebra TensorProduct in /-- The `OrderIso` between fiber of a ring homomorphism `algebraMap R S : R →+* S` at a prime ideal `p : PrimeSpectrum R` and the prime spectrum of the tensor product of `S` and the residue field of diff --git a/Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean b/Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean index ddaae4d1b148b2..2bdd74d2858ee3 100644 --- a/Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean +++ b/Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.FractionRing +module + +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.FractionRing /-! # The residue field of a prime ideal @@ -15,6 +17,8 @@ and provide an `IsFractionRing (R ⧸ I) I.ResidueField` instance. -/ +@[expose] public section + variable {R A} [CommRing R] [CommRing A] [Algebra R A] variable (I : Ideal R) [I.IsPrime] diff --git a/Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean b/Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean index 84859cf20d0c81..b29b854e86ed93 100644 --- a/Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean +++ b/Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean @@ -3,11 +3,15 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.FieldTheory.Separable +module + +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.FieldTheory.Separable /-! # Instances on residue fields -/ +@[expose] public section + variable {R A B : Type*} [CommRing R] [CommRing A] [CommRing B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] diff --git a/Mathlib/RingTheory/LocalRing/RingHom/Basic.lean b/Mathlib/RingTheory/LocalRing/RingHom/Basic.lean index 3b77ce726cf7cd..4ea3ab460d3cec 100644 --- a/Mathlib/RingTheory/LocalRing/RingHom/Basic.lean +++ b/Mathlib/RingTheory/LocalRing/RingHom/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Chris Hughes, Mario Carneiro -/ -import Mathlib.Algebra.Group.Units.Hom -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.Algebra.Group.Units.Hom +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.Ideal.Maps /-! @@ -16,6 +18,8 @@ We prove basic properties of local rings homomorphisms. -/ +@[expose] public section + variable {R S T : Type*} section diff --git a/Mathlib/RingTheory/LocalRing/Subring.lean b/Mathlib/RingTheory/LocalRing/Subring.lean index 9e08329fed6991..71fa74728c3e55 100644 --- a/Mathlib/RingTheory/LocalRing/Subring.lean +++ b/Mathlib/RingTheory/LocalRing/Subring.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Michal Staromiejski. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michal Staromiejski -/ -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.RingTheory.LocalRing.Defs +module + +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.RingTheory.LocalRing.Defs /-! # Subrings of local rings @@ -13,6 +15,8 @@ import Mathlib.RingTheory.LocalRing.Defs We prove basic properties of subrings of local rings. -/ +@[expose] public section + namespace IsLocalRing variable {R S} [Semiring R] [Semiring S] diff --git a/Mathlib/RingTheory/Localization/Algebra.lean b/Mathlib/RingTheory/Localization/Algebra.lean index 18646f264fa894..b7df71c3566997 100644 --- a/Mathlib/RingTheory/Localization/Algebra.lean +++ b/Mathlib/RingTheory/Localization/Algebra.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Module.LocalizedModule.IsLocalization -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.Localization.Ideal -import Mathlib.RingTheory.PolynomialAlgebra +module + +public import Mathlib.Algebra.Module.LocalizedModule.IsLocalization +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.Localization.Ideal +public import Mathlib.RingTheory.PolynomialAlgebra /-! # Localization of algebra maps @@ -23,6 +25,8 @@ as the translation is currently tedious and can be unified easily after the loca -/ +@[expose] public section + variable {R S P : Type*} (Q : Type*) [CommSemiring R] [CommSemiring S] [CommSemiring P] [CommSemiring Q] {M : Submonoid R} {T : Submonoid P} diff --git a/Mathlib/RingTheory/Localization/AsSubring.lean b/Mathlib/RingTheory/Localization/AsSubring.lean index a6a2752076b6ef..e82bb13abf254c 100644 --- a/Mathlib/RingTheory/Localization/AsSubring.lean +++ b/Mathlib/RingTheory/Localization/AsSubring.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Junyan Xu -/ -import Mathlib.RingTheory.Localization.LocalizationLocalization -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.Algebra.Algebra.Subalgebra.Tower +module + +public import Mathlib.RingTheory.Localization.LocalizationLocalization +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.Algebra.Algebra.Subalgebra.Tower /-! @@ -17,6 +19,8 @@ as a subalgebra of the field `K` over `A`. -/ +@[expose] public section + namespace Localization diff --git a/Mathlib/RingTheory/Localization/AtPrime.lean b/Mathlib/RingTheory/Localization/AtPrime.lean index d5773a53e001d1..ef48389d9b664c 100644 --- a/Mathlib/RingTheory/Localization/AtPrime.lean +++ b/Mathlib/RingTheory/Localization/AtPrime.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Localization.AtPrime.Basic +module + +public import Mathlib.RingTheory.Localization.AtPrime.Basic deprecated_module (since := "2025-08-01") diff --git a/Mathlib/RingTheory/Localization/AtPrime/Basic.lean b/Mathlib/RingTheory/Localization/AtPrime/Basic.lean index 79e5e8e803ed7d..bf5cea52828256 100644 --- a/Mathlib/RingTheory/Localization/AtPrime/Basic.lean +++ b/Mathlib/RingTheory/Localization/AtPrime/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.RingTheory.Ideal.Over -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.Localization.Ideal -import Mathlib.RingTheory.Ideal.MinimalPrime.Basic +module + +public import Mathlib.RingTheory.Ideal.Over +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.Localization.Ideal +public import Mathlib.RingTheory.Ideal.MinimalPrime.Basic /-! # Localizations of commutative rings at the complement of a prime ideal @@ -32,6 +34,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] (S : Type*) [CommSemiring S] variable [Algebra R S] {P : Type*} [CommSemiring P] diff --git a/Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean b/Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean index 90ef14f9b04e7f..f4ba717b4493f7 100644 --- a/Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean +++ b/Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean @@ -3,14 +3,18 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.RingTheory.Localization.Away.Basic +module + +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.RingTheory.Localization.Away.Basic /-! The `R`-`AlgEquiv` between the localization of `R` away from `r` and `R` with an inverse of `r` adjoined. -/ +@[expose] public section + open Polynomial AdjoinRoot Localization variable {R : Type*} [CommRing R] diff --git a/Mathlib/RingTheory/Localization/Away/Basic.lean b/Mathlib/RingTheory/Localization/Away/Basic.lean index 83e6b599a86e93..2d67b14d87a3b6 100644 --- a/Mathlib/RingTheory/Localization/Away/Basic.lean +++ b/Mathlib/RingTheory/Localization/Away/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.GroupTheory.MonoidLocalization.Away -import Mathlib.Algebra.Algebra.Pi -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity +module + +public import Mathlib.GroupTheory.MonoidLocalization.Away +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity /-! # Localizations away from an element @@ -28,6 +30,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + section CommSemiring diff --git a/Mathlib/RingTheory/Localization/Away/Lemmas.lean b/Mathlib/RingTheory/Localization/Away/Lemmas.lean index 5a4f868d8eadfa..70a7c32959e6a2 100644 --- a/Mathlib/RingTheory/Localization/Away/Lemmas.lean +++ b/Mathlib/RingTheory/Localization/Away/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.Localization.Submodule +module + +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.Localization.Submodule /-! # More lemmas on localization away @@ -13,6 +15,8 @@ This file contains lemmas on localization away from an element requiring more im -/ +@[expose] public section + variable {R : Type*} [CommRing R] namespace IsLocalization.Away diff --git a/Mathlib/RingTheory/Localization/BaseChange.lean b/Mathlib/RingTheory/Localization/BaseChange.lean index 4f7f8103294c06..f1b665427ca3fc 100644 --- a/Mathlib/RingTheory/Localization/BaseChange.lean +++ b/Mathlib/RingTheory/Localization/BaseChange.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Jujian Zhang -/ -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.RingTheory.IsTensorProduct -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.Localization.Module +module + +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.Localization.Module /-! # Localized Module @@ -19,6 +21,8 @@ localize `M` by `S`. This gives us a `Localization S`-module. * `isLocalizedModule_iff_isBaseChange` : A localization of modules corresponds to a base change. -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] (S : Submonoid R) (A : Type*) [CommSemiring A] [Algebra R A] [IsLocalization S A] {M : Type*} [AddCommMonoid M] [Module R M] diff --git a/Mathlib/RingTheory/Localization/Basic.lean b/Mathlib/RingTheory/Localization/Basic.lean index 96027360a754fa..78f42760a74a76 100644 --- a/Mathlib/RingTheory/Localization/Basic.lean +++ b/Mathlib/RingTheory/Localization/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Field.IsField -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Data.Finite.Prod -import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.OreLocalization.Ring +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Field.IsField +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Data.Finite.Prod +public import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.OreLocalization.Ring /-! # Localizations of commutative rings @@ -68,6 +70,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + assert_not_exists Ideal open Function diff --git a/Mathlib/RingTheory/Localization/Cardinality.lean b/Mathlib/RingTheory/Localization/Cardinality.lean index 41bd47cd9c36a7..7741353b0f4564 100644 --- a/Mathlib/RingTheory/Localization/Cardinality.lean +++ b/Mathlib/RingTheory/Localization/Cardinality.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.GroupTheory.MonoidLocalization.Cardinality -import Mathlib.RingTheory.OreLocalization.Cardinality +module + +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.GroupTheory.MonoidLocalization.Cardinality +public import Mathlib.RingTheory.OreLocalization.Cardinality /-! # Cardinality of localizations @@ -23,6 +25,8 @@ submonoid, then your localization is trivial (see `IsLocalization.uniqueOfZeroMe -/ +@[expose] public section + open Cardinal nonZeroDivisors diff --git a/Mathlib/RingTheory/Localization/Defs.lean b/Mathlib/RingTheory/Localization/Defs.lean index ff59a36d1d22f8..5957ab7af49063 100644 --- a/Mathlib/RingTheory/Localization/Defs.lean +++ b/Mathlib/RingTheory/Localization/Defs.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Defs -import Mathlib.Algebra.Regular.Basic -import Mathlib.Algebra.Ring.NonZeroDivisors -import Mathlib.Data.Fintype.Prod -import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero -import Mathlib.RingTheory.OreLocalization.Ring -import Mathlib.Tactic.ApplyFun -import Mathlib.Tactic.Ring +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.Regular.Basic +public import Mathlib.Algebra.Ring.NonZeroDivisors +public import Mathlib.Data.Fintype.Prod +public import Mathlib.GroupTheory.MonoidLocalization.MonoidWithZero +public import Mathlib.RingTheory.OreLocalization.Ring +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Tactic.Ring /-! # Localizations of commutative rings @@ -82,6 +84,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + assert_not_exists AlgHom Ideal open Function diff --git a/Mathlib/RingTheory/Localization/Finiteness.lean b/Mathlib/RingTheory/Localization/Finiteness.lean index 984d576665a5a2..efbcdce0678560 100644 --- a/Mathlib/RingTheory/Localization/Finiteness.lean +++ b/Mathlib/RingTheory/Localization/Finiteness.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Module.LocalizedModule.Int -import Mathlib.RingTheory.Localization.Algebra -import Mathlib.RingTheory.RingHom.Finite +module + +public import Mathlib.Algebra.Module.LocalizedModule.Int +public import Mathlib.RingTheory.Localization.Algebra +public import Mathlib.RingTheory.RingHom.Finite /-! @@ -25,6 +27,8 @@ In this file we establish behaviour of `Module.Finite` under localizations. -/ +@[expose] public section + universe u v w t namespace Module.Finite diff --git a/Mathlib/RingTheory/Localization/FractionRing.lean b/Mathlib/RingTheory/Localization/FractionRing.lean index 66992dcc9b9c53..2377ee2084745d 100644 --- a/Mathlib/RingTheory/Localization/FractionRing.lean +++ b/Mathlib/RingTheory/Localization/FractionRing.lean @@ -3,13 +3,15 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.Algebra.Ring.Hom.InjSurj -import Mathlib.Algebra.Field.Equiv -import Mathlib.Algebra.Field.Subfield.Basic -import Mathlib.Algebra.Order.GroupWithZero.Submonoid -import Mathlib.Algebra.Order.Ring.Int -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.Algebra.Ring.Hom.InjSurj +public import Mathlib.Algebra.Field.Equiv +public import Mathlib.Algebra.Field.Subfield.Basic +public import Mathlib.Algebra.Order.GroupWithZero.Submonoid +public import Mathlib.Algebra.Order.Ring.Int +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.SimpleRing.Basic /-! # Fraction ring / fraction field Frac(R) as localization @@ -34,6 +36,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + assert_not_exists Ideal variable (R : Type*) [CommRing R] {M : Submonoid R} (S : Type*) [CommRing S] diff --git a/Mathlib/RingTheory/Localization/Free.lean b/Mathlib/RingTheory/Localization/Free.lean index 44fec9b0fe5332..8261fa4b13e092 100644 --- a/Mathlib/RingTheory/Localization/Free.lean +++ b/Mathlib/RingTheory/Localization/Free.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.RingTheory.Localization.Finiteness -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +module + +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.RingTheory.Localization.Finiteness +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition /-! # Free modules and localization @@ -23,6 +25,8 @@ import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -/ +@[expose] public section + variable {R M N N'} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] variable (S : Submonoid R) [AddCommGroup N'] [Module R N'] diff --git a/Mathlib/RingTheory/Localization/Ideal.lean b/Mathlib/RingTheory/Localization/Ideal.lean index 380aa5c6646b5f..756c2ada77a9db 100644 --- a/Mathlib/RingTheory/Localization/Ideal.lean +++ b/Mathlib/RingTheory/Localization/Ideal.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.GroupTheory.MonoidLocalization.Away -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.Spectrum.Prime.Defs -import Mathlib.Algebra.Algebra.Tower +module + +public import Mathlib.GroupTheory.MonoidLocalization.Away +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.Spectrum.Prime.Defs +public import Mathlib.Algebra.Algebra.Tower /-! # Ideals in localizations of commutative rings @@ -18,6 +20,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + namespace IsLocalization diff --git a/Mathlib/RingTheory/Localization/Integer.lean b/Mathlib/RingTheory/Localization/Integer.lean index 831e2565067269..ad2cbf8d4bb58e 100644 --- a/Mathlib/RingTheory/Localization/Integer.lean +++ b/Mathlib/RingTheory/Localization/Integer.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.Algebra.Group.Pointwise.Set.Scalar -import Mathlib.Algebra.Ring.Subsemiring.Basic -import Mathlib.RingTheory.Localization.Defs +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Scalar +public import Mathlib.Algebra.Ring.Subsemiring.Basic +public import Mathlib.RingTheory.Localization.Defs /-! # Integer elements of a localization @@ -23,6 +25,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] {M : Submonoid R} {S : Type*} [CommSemiring S] variable [Algebra R S] {P : Type*} [CommSemiring P] diff --git a/Mathlib/RingTheory/Localization/Integral.lean b/Mathlib/RingTheory/Localization/Integral.lean index 385abeb879011f..48667bb674592e 100644 --- a/Mathlib/RingTheory/Localization/Integral.lean +++ b/Mathlib/RingTheory/Localization/Integral.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.Polynomial.Lifts -import Mathlib.RingTheory.Algebraic.Integral -import Mathlib.RingTheory.IntegralClosure.Algebra.Basic -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Integer +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.Polynomial.Lifts +public import Mathlib.RingTheory.Algebraic.Integral +public import Mathlib.RingTheory.IntegralClosure.Algebra.Basic +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Integer /-! # Integral and algebraic elements of a fraction field @@ -22,6 +24,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + variable {R : Type*} [CommRing R] (M : Submonoid R) {S : Type*} [CommRing S] variable [Algebra R S] diff --git a/Mathlib/RingTheory/Localization/InvSubmonoid.lean b/Mathlib/RingTheory/Localization/InvSubmonoid.lean index ae86d17302eb6f..c6f2908a72881b 100644 --- a/Mathlib/RingTheory/Localization/InvSubmonoid.lean +++ b/Mathlib/RingTheory/Localization/InvSubmonoid.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.GroupTheory.Submonoid.Inverses -import Mathlib.RingTheory.FiniteType -import Mathlib.RingTheory.Localization.Defs +module + +public import Mathlib.GroupTheory.Submonoid.Inverses +public import Mathlib.RingTheory.FiniteType +public import Mathlib.RingTheory.Localization.Defs /-! # Submonoid of inverses @@ -24,6 +26,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + variable {R : Type*} [CommRing R] (M : Submonoid R) (S : Type*) [CommRing S] variable [Algebra R S] diff --git a/Mathlib/RingTheory/Localization/LocalizationLocalization.lean b/Mathlib/RingTheory/Localization/LocalizationLocalization.lean index dd480dff6c5870..c62ec1f8515df5 100644 --- a/Mathlib/RingTheory/Localization/LocalizationLocalization.lean +++ b/Mathlib/RingTheory/Localization/LocalizationLocalization.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.Localization.Basic -import Mathlib.RingTheory.Localization.FractionRing +module + +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.RingTheory.Localization.FractionRing /-! # Localizations of localizations @@ -19,6 +21,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + open Function diff --git a/Mathlib/RingTheory/Localization/Module.lean b/Mathlib/RingTheory/Localization/Module.lean index ccdfce5ca79a2c..e1e53a83f110cf 100644 --- a/Mathlib/RingTheory/Localization/Module.lean +++ b/Mathlib/RingTheory/Localization/Module.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu, Anne Baanen -/ -import Mathlib.Algebra.Module.LocalizedModule.IsLocalization -import Mathlib.LinearAlgebra.Basis.Basic -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Integer +module + +public import Mathlib.Algebra.Module.LocalizedModule.IsLocalization +public import Mathlib.LinearAlgebra.Basis.Basic +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Integer /-! # Modules / vector spaces over localizations / fraction fields @@ -24,6 +26,8 @@ This file contains some results about vector spaces over the field of fractions linear independent over `Frac(R)` -/ +@[expose] public section + open nonZeroDivisors diff --git a/Mathlib/RingTheory/Localization/NormTrace.lean b/Mathlib/RingTheory/Localization/NormTrace.lean index a341134b60cbb6..13d4442c9cce66 100644 --- a/Mathlib/RingTheory/Localization/NormTrace.lean +++ b/Mathlib/RingTheory/Localization/NormTrace.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Localization.Module -import Mathlib.RingTheory.Norm.Basic -import Mathlib.RingTheory.Discriminant +module + +public import Mathlib.RingTheory.Localization.Module +public import Mathlib.RingTheory.Norm.Basic +public import Mathlib.RingTheory.Discriminant /-! @@ -34,6 +36,8 @@ field norm, algebra norm, localization -/ +@[expose] public section + open Module open scoped nonZeroDivisors diff --git a/Mathlib/RingTheory/Localization/NumDen.lean b/Mathlib/RingTheory/Localization/NumDen.lean index c18982779c9dcc..7e713823423dea 100644 --- a/Mathlib/RingTheory/Localization/NumDen.lean +++ b/Mathlib/RingTheory/Localization/NumDen.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Integer -import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid +module + +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Integer +public import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid /-! # Numerator and denominator in a localization @@ -19,6 +21,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + namespace IsFractionRing diff --git a/Mathlib/RingTheory/Localization/Pi.lean b/Mathlib/RingTheory/Localization/Pi.lean index 7bbe8e501c7be4..356dacc59775e1 100644 --- a/Mathlib/RingTheory/Localization/Pi.lean +++ b/Mathlib/RingTheory/Localization/Pi.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Madison Crim. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Madison Crim -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Divisibility.Prod -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.RingTheory.Localization.Basic -import Mathlib.Algebra.Group.Pi.Units -import Mathlib.RingTheory.KrullDimension.Zero +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Divisibility.Prod +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.RingTheory.Localization.Basic +public import Mathlib.Algebra.Group.Pi.Units +public import Mathlib.RingTheory.KrullDimension.Zero /-! # Localizing a product of commutative rings @@ -29,6 +31,8 @@ See `Mathlib/RingTheory/Localization/Defs.lean` for a design overview. localization, commutative ring -/ +@[expose] public section + namespace IsLocalization variable {ι : Type*} (R S : ι → Type*) diff --git a/Mathlib/RingTheory/Localization/Submodule.lean b/Mathlib/RingTheory/Localization/Submodule.lean index 7faacee83eb50c..700b0b73c4670c 100644 --- a/Mathlib/RingTheory/Localization/Submodule.lean +++ b/Mathlib/RingTheory/Localization/Submodule.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen -/ -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Ideal -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.EssentialFiniteness +module + +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Ideal +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.EssentialFiniteness /-! # Submodules in localizations of commutative rings @@ -20,6 +22,8 @@ localization, ring localization, commutative ring localization, characteristic p commutative ring, field of fractions -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] (M : Submonoid R) (S : Type*) [CommSemiring S] variable [Algebra R S] diff --git a/Mathlib/RingTheory/MatrixAlgebra.lean b/Mathlib/RingTheory/MatrixAlgebra.lean index 50c5d257a92f30..e511f19cfdbfb2 100644 --- a/Mathlib/RingTheory/MatrixAlgebra.lean +++ b/Mathlib/RingTheory/MatrixAlgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Eric Wieser -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.Composition -import Mathlib.LinearAlgebra.Matrix.Kronecker -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Composition +public import Mathlib.LinearAlgebra.Matrix.Kronecker +public import Mathlib.RingTheory.TensorProduct.Basic /-! @@ -20,6 +22,8 @@ import Mathlib.RingTheory.TensorProduct.Basic where the forward map is the (tensor-ified) Kronecker product. -/ +@[expose] public section + open TensorProduct Algebra.TensorProduct Matrix variable {l m n p : Type*} {R S A B M N : Type*} diff --git a/Mathlib/RingTheory/MatrixPolynomialAlgebra.lean b/Mathlib/RingTheory/MatrixPolynomialAlgebra.lean index eb13096bc88547..402355dd279199 100644 --- a/Mathlib/RingTheory/MatrixPolynomialAlgebra.lean +++ b/Mathlib/RingTheory/MatrixPolynomialAlgebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Data.Matrix.Basis -import Mathlib.Data.Matrix.Composition -import Mathlib.RingTheory.MatrixAlgebra -import Mathlib.RingTheory.PolynomialAlgebra +module + +public import Mathlib.Data.Matrix.Basis +public import Mathlib.Data.Matrix.Composition +public import Mathlib.RingTheory.MatrixAlgebra +public import Mathlib.RingTheory.PolynomialAlgebra /-! # Algebra isomorphism between matrices of polynomials and polynomials of matrices @@ -23,6 +25,8 @@ coeff (matPolyEquiv m) k i j = coeff (m i j) k We will use this algebra isomorphism to prove the Cayley-Hamilton theorem. -/ +@[expose] public section + universe u v w open Polynomial TensorProduct diff --git a/Mathlib/RingTheory/Morita/Basic.lean b/Mathlib/RingTheory/Morita/Basic.lean index a780af81b7546a..af20cddd3d61d8 100644 --- a/Mathlib/RingTheory/Morita/Basic.lean +++ b/Mathlib/RingTheory/Morita/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Yunzhou Xie -/ -import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings -import Mathlib.CategoryTheory.Linear.LinearFunctor -import Mathlib.Algebra.Category.ModuleCat.Basic -import Mathlib.CategoryTheory.Adjunction.Limits +module + +public import Mathlib.Algebra.Category.ModuleCat.ChangeOfRings +public import Mathlib.CategoryTheory.Linear.LinearFunctor +public import Mathlib.Algebra.Category.ModuleCat.Basic +public import Mathlib.CategoryTheory.Adjunction.Limits /-! # Morita equivalence @@ -40,6 +42,8 @@ Morita Equivalence, Category Theory, Noncommutative Ring, Module Theory -/ +@[expose] public section + universe u₀ u₁ u₂ u₃ open CategoryTheory diff --git a/Mathlib/RingTheory/Multiplicity.lean b/Mathlib/RingTheory/Multiplicity.lean index 431e349d60357f..7607c251f902d9 100644 --- a/Mathlib/RingTheory/Multiplicity.lean +++ b/Mathlib/RingTheory/Multiplicity.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Chris Hughes, Daniel Weber -/ -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.ENat.Basic -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Ring.Int.Defs +public import Mathlib.Data.ENat.Basic +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Multiplicity of a divisor @@ -25,6 +27,8 @@ several basic results on it. * `FiniteMultiplicity a b`: a predicate denoting that the multiplicity of `a` in `b` is finite. -/ +@[expose] public section + assert_not_exists Field variable {α β : Type*} diff --git a/Mathlib/RingTheory/MvPolynomial.lean b/Mathlib/RingTheory/MvPolynomial.lean index 08b047f638673d..bf4f00a040188a 100644 --- a/Mathlib/RingTheory/MvPolynomial.lean +++ b/Mathlib/RingTheory/MvPolynomial.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.LinearAlgebra.Dimension.Finite -import Mathlib.LinearAlgebra.Dimension.StrongRankCondition -import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition -import Mathlib.RingTheory.MvPolynomial.Basic +module + +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.LinearAlgebra.Dimension.Finite +public import Mathlib.LinearAlgebra.Dimension.StrongRankCondition +public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition +public import Mathlib.RingTheory.MvPolynomial.Basic /-! # Multivariate polynomials over fields @@ -17,6 +19,8 @@ dimension of the space of multivariate polynomials over a field is equal to the finitely supported functions from the indexing set to `ℕ`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/MvPolynomial/Basic.lean b/Mathlib/RingTheory/MvPolynomial/Basic.lean index 5ba0d5f8ca684a..0d5921310af219 100644 --- a/Mathlib/RingTheory/MvPolynomial/Basic.lean +++ b/Mathlib/RingTheory/MvPolynomial/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.MvPolynomial.Degrees -import Mathlib.Data.DFinsupp.Small -import Mathlib.Data.Fintype.Pi -import Mathlib.LinearAlgebra.Finsupp.VectorSpace -import Mathlib.LinearAlgebra.FreeModule.Finite.Basic +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.MvPolynomial.Degrees +public import Mathlib.Data.DFinsupp.Small +public import Mathlib.Data.Fintype.Pi +public import Mathlib.LinearAlgebra.Finsupp.VectorSpace +public import Mathlib.LinearAlgebra.FreeModule.Finite.Basic /-! # Multivariate polynomials over commutative rings @@ -35,6 +37,8 @@ that the monomials form a basis. Generalise to noncommutative (semi)rings -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/MvPolynomial/EulerIdentity.lean b/Mathlib/RingTheory/MvPolynomial/EulerIdentity.lean index 30c453aa65390a..26ef7b16e4bc6e 100644 --- a/Mathlib/RingTheory/MvPolynomial/EulerIdentity.lean +++ b/Mathlib/RingTheory/MvPolynomial/EulerIdentity.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.RingTheory.MvPolynomial.Homogeneous +module + +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.RingTheory.MvPolynomial.Homogeneous /-! # Euler's homogeneous identity @@ -18,6 +20,8 @@ import Mathlib.RingTheory.MvPolynomial.Homogeneous * `IsWeightedHomogeneous.sum_weight_X_mul_pderiv`: the weighted version of Euler's identity. -/ +@[expose] public section + namespace MvPolynomial open Finsupp diff --git a/Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean b/Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean index 211258d832b29e..fcc91272b0970f 100644 --- a/Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean +++ b/Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ +module -import Mathlib.RingTheory.FreeCommRing +public import Mathlib.RingTheory.FreeCommRing /-! @@ -23,6 +24,8 @@ formulas whose realization is a property of an `MvPolynomial` -/ +@[expose] public section + assert_not_exists Cardinal variable {ι κ R : Type*} diff --git a/Mathlib/RingTheory/MvPolynomial/Groebner.lean b/Mathlib/RingTheory/MvPolynomial/Groebner.lean index e541a7ce1b40d2..553b9e207c1d80 100644 --- a/Mathlib/RingTheory/MvPolynomial/Groebner.lean +++ b/Mathlib/RingTheory/MvPolynomial/Groebner.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Data.Finsupp.Lex -import Mathlib.Data.Finsupp.MonomialOrder -import Mathlib.Data.Finsupp.WellFounded -import Mathlib.Data.List.TFAE -import Mathlib.RingTheory.MvPolynomial.Homogeneous -import Mathlib.RingTheory.MvPolynomial.MonomialOrder +module + +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Data.Finsupp.MonomialOrder +public import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.Data.List.TFAE +public import Mathlib.RingTheory.MvPolynomial.Homogeneous +public import Mathlib.RingTheory.MvPolynomial.MonomialOrder /-! # Division algorithm with respect to monomial orders @@ -44,6 +46,8 @@ The proof is done by induction, using two standard constructions -/ +@[expose] public section + namespace MonomialOrder open MvPolynomial diff --git a/Mathlib/RingTheory/MvPolynomial/Homogeneous.lean b/Mathlib/RingTheory/MvPolynomial/Homogeneous.lean index 109dc29f5b2e61..fa8792b005c8dc 100644 --- a/Mathlib/RingTheory/MvPolynomial/Homogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/Homogeneous.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Eric Wieser -/ -import Mathlib.Algebra.DirectSum.Internal -import Mathlib.Algebra.GradedMonoid -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.MvPolynomial.Variables -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.Algebra.DirectSum.Internal +public import Mathlib.Algebra.GradedMonoid +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.MvPolynomial.Variables +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous +public import Mathlib.SetTheory.Cardinal.Basic /-! # Homogeneous polynomials @@ -28,6 +30,8 @@ if all monomials occurring in `φ` have degree `n`. -/ +@[expose] public section + namespace MvPolynomial diff --git a/Mathlib/RingTheory/MvPolynomial/Ideal.lean b/Mathlib/RingTheory/MvPolynomial/Ideal.lean index de669fd310c465..20970f19b13bde 100644 --- a/Mathlib/RingTheory/MvPolynomial/Ideal.lean +++ b/Mathlib/RingTheory/MvPolynomial/Ideal.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.MonoidAlgebra.Ideal -import Mathlib.Algebra.MvPolynomial.Division +module + +public import Mathlib.Algebra.MonoidAlgebra.Ideal +public import Mathlib.Algebra.MvPolynomial.Division /-! # Lemmas about ideals of `MvPolynomial` @@ -17,6 +19,8 @@ Notably this contains results about monomial ideals. * `MvPolynomial.mem_ideal_span_X_image` -/ +@[expose] public section + variable {σ R : Type*} diff --git a/Mathlib/RingTheory/MvPolynomial/Localization.lean b/Mathlib/RingTheory/MvPolynomial/Localization.lean index b48d8320018bfd..1b032d2f852e46 100644 --- a/Mathlib/RingTheory/MvPolynomial/Localization.lean +++ b/Mathlib/RingTheory/MvPolynomial/Localization.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Module.LocalizedModule.IsLocalization -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.TensorProduct.MvPolynomial +module + +public import Mathlib.Algebra.Module.LocalizedModule.IsLocalization +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.TensorProduct.MvPolynomial /-! @@ -24,6 +26,8 @@ In this file we show some results connecting multivariate polynomial rings and l -/ +@[expose] public section + variable {σ R : Type*} [CommRing R] (M : Submonoid R) variable (S : Type*) [CommRing S] [Algebra R S] diff --git a/Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean b/Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean index 254f3d2a8e7955..1efbeac5d71669 100644 --- a/Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean +++ b/Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.Data.Finsupp.Lex -import Mathlib.Data.Finsupp.MonomialOrder -import Mathlib.Data.Finsupp.WellFounded -import Mathlib.Data.List.TFAE -import Mathlib.RingTheory.MvPolynomial.Homogeneous -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Data.Finsupp.Lex +public import Mathlib.Data.Finsupp.MonomialOrder +public import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.Data.List.TFAE +public import Mathlib.RingTheory.MvPolynomial.Homogeneous +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Degree and leading coefficient of polynomials with respect to a monomial order @@ -80,6 +82,8 @@ and a monomial order `m : MonomialOrder σ`. -/ +@[expose] public section + namespace MonomialOrder open MvPolynomial diff --git a/Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean b/Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean index 22baade1e5ae1a..a4262a91a5400b 100644 --- a/Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean +++ b/Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean @@ -3,11 +3,15 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ -import Mathlib.RingTheory.MvPolynomial.MonomialOrder -import Mathlib.Data.Finsupp.MonomialOrder.DegLex +module + +public import Mathlib.RingTheory.MvPolynomial.MonomialOrder +public import Mathlib.Data.Finsupp.MonomialOrder.DegLex /-! # Some lemmas about the degree lexicographic monomial order on multivariate polynomials -/ +@[expose] public section + namespace MvPolynomial open MonomialOrder Finsupp diff --git a/Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean b/Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean index 79283f22cd39d4..dab72d6a95b142 100644 --- a/Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean +++ b/Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hanting Zhang, Johan Commelin -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Combinatorics.Enumerative.Partition +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Combinatorics.Enumerative.Partition /-! # Symmetric Polynomials and Elementary Symmetric Polynomials @@ -53,6 +55,8 @@ As in other polynomial files, we typically use the notation: -/ +@[expose] public section + open Equiv (Perm) diff --git a/Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean b/Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean index 43926ee811294e..e0aac641976db0 100644 --- a/Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean +++ b/Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs -import Mathlib.RingTheory.MvPolynomial.Tower -import Mathlib.Data.Finsupp.Notation -import Mathlib.Data.Finsupp.WellFounded +module + +public import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs +public import Mathlib.RingTheory.MvPolynomial.Tower +public import Mathlib.Data.Finsupp.Notation +public import Mathlib.Data.Finsupp.WellFounded /-! # The Fundamental Theorem of Symmetric Polynomials @@ -50,6 +52,8 @@ injective whenever `n ≤ m`, and then transfer the results to any Fintype `σ`. -/ +@[expose] public section + variable {σ τ R : Type*} {n m k : ℕ} open AddMonoidAlgebra Finset diff --git a/Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean b/Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean index 945a29a8a505ae..eab274641bc32d 100644 --- a/Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean +++ b/Mathlib/RingTheory/MvPolynomial/Symmetric/NewtonIdentities.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Michael Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Lee -/ -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Rename -import Mathlib.Data.Fintype.Basic -import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Rename +public import Mathlib.Data.Fintype.Basic +public import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs /-! # Newton's Identities @@ -39,6 +41,8 @@ terms). See [zeilberger1984] for the combinatorial proof of Newton's identities. -/ +@[expose] public section + open Equiv (Perm) open MvPolynomial diff --git a/Mathlib/RingTheory/MvPolynomial/Tower.lean b/Mathlib/RingTheory/MvPolynomial/Tower.lean index 50e13e4b6442d1..c85dff4356fec1 100644 --- a/Mathlib/RingTheory/MvPolynomial/Tower.lean +++ b/Mathlib/RingTheory/MvPolynomial/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yuyang Zhao. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuyang Zhao -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Algebra.MvPolynomial.Eval +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Algebra.MvPolynomial.Eval /-! # Algebra towers for multivariate polynomial @@ -18,6 +20,8 @@ When you update this file, you can also try to make a corresponding update in `RingTheory.Polynomial.Tower`. -/ +@[expose] public section + variable (R A B : Type*) {σ : Type*} diff --git a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean index 02628070f6f3ef..08dc1fe1f1a6d6 100644 --- a/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean +++ b/Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Algebra.DirectSum.Decomposition -import Mathlib.Algebra.GradedMonoid -import Mathlib.Algebra.MvPolynomial.Basic -import Mathlib.Algebra.Order.Monoid.Canonical.Defs -import Mathlib.Data.Finsupp.Weight -import Mathlib.RingTheory.GradedAlgebra.Basic +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Algebra.DirectSum.Decomposition +public import Mathlib.Algebra.GradedMonoid +public import Mathlib.Algebra.MvPolynomial.Basic +public import Mathlib.Algebra.Order.Monoid.Canonical.Defs +public import Mathlib.Data.Finsupp.Weight +public import Mathlib.RingTheory.GradedAlgebra.Basic /-! # Weighted homogeneous polynomials @@ -43,6 +45,8 @@ occurring in `φ` have the same weighted degree `m`. components. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/MvPowerSeries/Basic.lean b/Mathlib/RingTheory/MvPowerSeries/Basic.lean index 06622ada00e1ec..152c665151784d 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Basic.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Basic.lean @@ -3,12 +3,13 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ +module -import Mathlib.Algebra.Order.Antidiag.Finsupp -import Mathlib.Data.Finsupp.Weight -import Mathlib.Tactic.Linarith -import Mathlib.LinearAlgebra.Pi -import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.Algebra.Order.Antidiag.Finsupp +public import Mathlib.Data.Finsupp.Weight +public import Mathlib.Tactic.Linarith +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.Algebra.MvPolynomial.Eval /-! # Formal (multivariate) power series @@ -73,6 +74,8 @@ it should not be hard to fill in the details. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/MvPowerSeries/Evaluation.lean b/Mathlib/RingTheory/MvPowerSeries/Evaluation.lean index 48a680f345495c..3f4fcc5f7525da 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Evaluation.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Evaluation.lean @@ -3,15 +3,16 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.MvPowerSeries.PiTopology -import Mathlib.RingTheory.MvPowerSeries.Trunc -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.Algebra.TopologicallyNilpotent -import Mathlib.Topology.Algebra.LinearTopology -import Mathlib.Topology.Algebra.UniformRing +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.MvPowerSeries.PiTopology +public import Mathlib.RingTheory.MvPowerSeries.Trunc +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.Algebra.TopologicallyNilpotent +public import Mathlib.Topology.Algebra.LinearTopology +public import Mathlib.Topology.Algebra.UniformRing /-! # Evaluation of multivariate power series @@ -41,6 +42,8 @@ Under `Continuous φ` and `HasEval a`, the following lemmas furnish the properti -/ +@[expose] public section + namespace MvPowerSeries open Topology diff --git a/Mathlib/RingTheory/MvPowerSeries/Inverse.lean b/Mathlib/RingTheory/MvPowerSeries/Inverse.lean index aca199240f94aa..06680e17e25a9b 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Inverse.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Inverse.lean @@ -3,11 +3,12 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ +module -import Mathlib.Algebra.Group.Units.Basic -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors -import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.Algebra.Group.Units.Basic +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.RingTheory.MvPowerSeries.NoZeroDivisors +public import Mathlib.RingTheory.LocalRing.Basic /-! # Formal (multivariate) power series - Inverses @@ -36,6 +37,8 @@ Instances are defined: -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/MvPowerSeries/LexOrder.lean b/Mathlib/RingTheory/MvPowerSeries/LexOrder.lean index d76906049ca0cb..1148d2f15b4878 100644 --- a/Mathlib/RingTheory/MvPowerSeries/LexOrder.lean +++ b/Mathlib/RingTheory/MvPowerSeries/LexOrder.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.Data.Finsupp.WellFounded /-! LexOrder of multivariate power series @@ -16,6 +17,8 @@ the smallest exponent in the support. -/ +@[expose] public section + namespace MvPowerSeries variable {σ R : Type*} diff --git a/Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean b/Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean index ca26ad3848983d..42bd01b6e8a81e 100644 --- a/Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean +++ b/Mathlib/RingTheory/MvPowerSeries/LinearTopology.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Data.Finsupp.Interval -import Mathlib.RingTheory.Ideal.Quotient.Defs -import Mathlib.RingTheory.MvPowerSeries.PiTopology -import Mathlib.Topology.Algebra.LinearTopology -import Mathlib.RingTheory.TwoSidedIdeal.Operations +module + +public import Mathlib.Data.Finsupp.Interval +public import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.MvPowerSeries.PiTopology +public import Mathlib.Topology.Algebra.LinearTopology +public import Mathlib.RingTheory.TwoSidedIdeal.Operations /-! # Linear topology on the ring of multivariate power series @@ -37,6 +39,8 @@ To recover the ring case, it would remain to show that the isomorphism between -/ +@[expose] public section + namespace MvPowerSeries namespace LinearTopology diff --git a/Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean b/Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean index 1073f84500f64c..d694729efb0d26 100644 --- a/Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean +++ b/Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Data.Finsupp.WellFounded -import Mathlib.RingTheory.MvPowerSeries.LexOrder -import Mathlib.RingTheory.MvPowerSeries.Order +public import Mathlib.Data.Finsupp.WellFounded +public import Mathlib.RingTheory.MvPowerSeries.LexOrder +public import Mathlib.RingTheory.MvPowerSeries.Order /-! # ZeroDivisors in a MvPowerSeries ring @@ -34,6 +35,8 @@ The analogue of `Polynomial.notMem_nonZeroDivisors_iff` but not in general. See [Fields1971] -/ +@[expose] public section + noncomputable section open Finset (antidiagonal mem_antidiagonal) diff --git a/Mathlib/RingTheory/MvPowerSeries/Order.lean b/Mathlib/RingTheory/MvPowerSeries/Order.lean index da9a87744f671e..5a13c59915224b 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Order.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Order.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos Fernandez. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.Data.ENat.Basic -import Mathlib.Data.Finsupp.Weight -import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.Data.ENat.Basic +public import Mathlib.Data.Finsupp.Weight +public import Mathlib.RingTheory.MvPowerSeries.Basic /-! # Order of multivariate power series @@ -114,6 +115,8 @@ TODO: Define a coercion to MvPolynomial. -/ +@[expose] public section + namespace MvPowerSeries noncomputable section diff --git a/Mathlib/RingTheory/MvPowerSeries/PiTopology.lean b/Mathlib/RingTheory/MvPowerSeries/PiTopology.lean index 67893707b0de79..bcd31f590af3e0 100644 --- a/Mathlib/RingTheory/MvPowerSeries/PiTopology.lean +++ b/Mathlib/RingTheory/MvPowerSeries/PiTopology.lean @@ -3,17 +3,19 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.RingTheory.MvPowerSeries.Order -import Mathlib.RingTheory.MvPowerSeries.Trunc -import Mathlib.RingTheory.Nilpotent.Defs -import Mathlib.Topology.Algebra.InfiniteSum.Constructions -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Instances.ENat -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.Algebra.InfiniteSum.Ring -import Mathlib.Topology.Algebra.TopologicallyNilpotent -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +module + +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.RingTheory.MvPowerSeries.Order +public import Mathlib.RingTheory.MvPowerSeries.Trunc +public import Mathlib.RingTheory.Nilpotent.Defs +public import Mathlib.Topology.Algebra.InfiniteSum.Constructions +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Instances.ENat +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.Algebra.InfiniteSum.Ring +public import Mathlib.Topology.Algebra.TopologicallyNilpotent +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions /-! # Product topology on multivariate power series @@ -77,6 +79,8 @@ But future contributors wishing to clean this up should feel free to give it a t -/ +@[expose] public section + namespace MvPowerSeries open Function Filter diff --git a/Mathlib/RingTheory/MvPowerSeries/Substitution.lean b/Mathlib/RingTheory/MvPowerSeries/Substitution.lean index 9e944c5b2793bb..1005290f9e665c 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Substitution.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Substitution.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos Fernández -/ +module -import Mathlib.RingTheory.MvPowerSeries.Evaluation -import Mathlib.RingTheory.MvPowerSeries.LinearTopology -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.Topology.UniformSpace.DiscreteUniformity +public import Mathlib.RingTheory.MvPowerSeries.Evaluation +public import Mathlib.RingTheory.MvPowerSeries.LinearTopology +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.Topology.UniformSpace.DiscreteUniformity /-! # Substitutions in multivariate power series @@ -56,6 +57,8 @@ as it is discrete. the kernel of `algebraMap R S` is a nil ideal. -/ +@[expose] public section + namespace MvPowerSeries variable {σ : Type*} diff --git a/Mathlib/RingTheory/MvPowerSeries/Trunc.lean b/Mathlib/RingTheory/MvPowerSeries/Trunc.lean index 13980db387e1d2..b43b72d54b926d 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Trunc.lean @@ -3,10 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ +module -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.Data.Finsupp.Interval -import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.Data.Finsupp.Interval +public import Mathlib.Algebra.MvPolynomial.Eval /-! @@ -49,6 +50,8 @@ import Mathlib.Algebra.MvPolynomial.Eval -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Nakayama.lean b/Mathlib/RingTheory/Nakayama.lean index 72d95db28d93b0..4079c8d0325610 100644 --- a/Mathlib/RingTheory/Nakayama.lean +++ b/Mathlib/RingTheory/Nakayama.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Finiteness.Nakayama -import Mathlib.RingTheory.Jacobson.Ideal +module + +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Finiteness.Nakayama +public import Mathlib.RingTheory.Jacobson.Ideal /-! # Nakayama's lemma @@ -42,6 +44,8 @@ Note that a version of Statement (1) in Nakayama, Jacobson -/ +@[expose] public section + variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/Nilpotent/Basic.lean b/Mathlib/RingTheory/Nilpotent/Basic.lean index 9de3ec1d20adb8..20b4aac15a2779 100644 --- a/Mathlib/RingTheory/Nilpotent/Basic.lean +++ b/Mathlib/RingTheory/Nilpotent/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Algebra.GroupWithZero.Action.Defs -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.NoZeroSMulDivisors.Defs -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.Data.Nat.Lattice -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Algebra.GroupWithZero.Action.Defs +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.NoZeroSMulDivisors.Defs +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.Data.Nat.Lattice +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Nilpotent elements @@ -29,6 +31,8 @@ For the definition of `nilradical`, see `Mathlib/RingTheory/Nilpotent/Lemmas.lea -/ +@[expose] public section + universe u v open Function Set diff --git a/Mathlib/RingTheory/Nilpotent/Defs.lean b/Mathlib/RingTheory/Nilpotent/Defs.lean index 4d335741e1d85d..c0e5ecd4b5bc20 100644 --- a/Mathlib/RingTheory/Nilpotent/Defs.lean +++ b/Mathlib/RingTheory/Nilpotent/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.GroupWithZero.Hom -import Mathlib.Algebra.GroupWithZero.Units.Basic -import Mathlib.Algebra.Ring.Defs -import Mathlib.Data.Nat.Lattice +module + +public import Mathlib.Algebra.GroupWithZero.Hom +public import Mathlib.Algebra.GroupWithZero.Units.Basic +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.Data.Nat.Lattice /-! # Definition of nilpotent elements @@ -24,6 +26,8 @@ and `Mathlib/RingTheory/Nilpotent/Lemmas.lean`. -/ +@[expose] public section + universe u v open Function Set diff --git a/Mathlib/RingTheory/Nilpotent/Exp.lean b/Mathlib/RingTheory/Nilpotent/Exp.lean index 893e37438f0ee3..aac827f35e181c 100644 --- a/Mathlib/RingTheory/Nilpotent/Exp.lean +++ b/Mathlib/RingTheory/Nilpotent/Exp.lean @@ -3,16 +3,18 @@ Copyright (c) 2025 Janos Wolosz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Janos Wolosz -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Algebra.Module.BigOperators -import Mathlib.Algebra.Module.Rat -import Mathlib.Data.Nat.Cast.Field -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Algebra.Module.BigOperators +public import Mathlib.Algebra.Module.Rat +public import Mathlib.Data.Nat.Cast.Field +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.Tactic.FieldSimp /-! # Exponential map on algebras @@ -39,6 +41,8 @@ over a characteristic zero field. algebra, exponential map, nilpotent -/ +@[expose] public section + namespace IsNilpotent variable {A : Type*} [Ring A] [Module ℚ A] diff --git a/Mathlib/RingTheory/Nilpotent/Lemmas.lean b/Mathlib/RingTheory/Nilpotent/Lemmas.lean index 893f750556c120..b2e8589e7f3acd 100644 --- a/Mathlib/RingTheory/Nilpotent/Lemmas.lean +++ b/Mathlib/RingTheory/Nilpotent/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.Matrix.ToLin -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.LinearAlgebra.Matrix.ToLin +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Nilpotent elements @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Nilpotent.Defs This file contains results about nilpotent elements that involve ring theory. -/ +@[expose] public section + assert_not_exists Cardinal universe u v diff --git a/Mathlib/RingTheory/NoetherNormalization.lean b/Mathlib/RingTheory/NoetherNormalization.lean index f8102a82c7208e..792bad87e0ce49 100644 --- a/Mathlib/RingTheory/NoetherNormalization.lean +++ b/Mathlib/RingTheory/NoetherNormalization.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sihan Su. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Sihan Su, Wan Lin, Xiaoyang Su -/ -import Mathlib.Algebra.MvPolynomial.Monad -import Mathlib.Data.List.Indexes -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Monad +public import Mathlib.Data.List.Indexes +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic /-! # Noether normalization lemma This file contains a proof by Nagata of the Noether normalization lemma. @@ -48,6 +50,8 @@ Composing `φ` and `g` we get the desired map since both `φ` and `g` are inject ## TODO * In the final theorems, consider setting `s` equal to the Krull dimension of `R`. -/ + +@[expose] public section open Polynomial MvPolynomial Ideal BigOperators Nat RingHom List variable {k : Type*} [Field k] {n : ℕ} (f : MvPolynomial (Fin (n + 1)) k) diff --git a/Mathlib/RingTheory/Noetherian/Basic.lean b/Mathlib/RingTheory/Noetherian/Basic.lean index 710c423cc1215f..176abaa4570a76 100644 --- a/Mathlib/RingTheory/Noetherian/Basic.lean +++ b/Mathlib/RingTheory/Noetherian/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Buzzard -/ -import Mathlib.Algebra.Order.SuccPred.PartialSups -import Mathlib.LinearAlgebra.Quotient.Basic -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.Finiteness.Cardinality -import Mathlib.RingTheory.Finiteness.Finsupp -import Mathlib.RingTheory.Ideal.Prod +module + +public import Mathlib.Algebra.Order.SuccPred.PartialSups +public import Mathlib.LinearAlgebra.Quotient.Basic +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.RingTheory.Finiteness.Finsupp +public import Mathlib.RingTheory.Ideal.Prod /-! # Noetherian rings and modules @@ -51,6 +53,8 @@ Noetherian, noetherian, Noetherian ring, Noetherian module, noetherian ring, noe -/ +@[expose] public section + assert_not_exists Matrix open Set Pointwise diff --git a/Mathlib/RingTheory/Noetherian/Defs.lean b/Mathlib/RingTheory/Noetherian/Defs.lean index 9c834575bd84d2..a760abb1ed8606 100644 --- a/Mathlib/RingTheory/Noetherian/Defs.lean +++ b/Mathlib/RingTheory/Noetherian/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Buzzard -/ -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.RingTheory.Finiteness.Basic /-! # Noetherian rings and modules @@ -47,6 +49,8 @@ Noetherian, noetherian, Noetherian ring, Noetherian module, noetherian ring, noe -/ +@[expose] public section + assert_not_exists Finsupp.linearCombination Matrix Pi.basis open Set Pointwise diff --git a/Mathlib/RingTheory/Noetherian/Filter.lean b/Mathlib/RingTheory/Noetherian/Filter.lean index 95540b392f9d39..5cd81e4a596f2b 100644 --- a/Mathlib/RingTheory/Noetherian/Filter.lean +++ b/Mathlib/RingTheory/Noetherian/Filter.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Buzzard -/ -import Mathlib.Order.Filter.EventuallyConst -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.Order.Filter.EventuallyConst +public import Mathlib.RingTheory.Noetherian.Defs /-! # Noetherian modules and finiteness of chains @@ -27,6 +29,8 @@ Noetherian, noetherian, Noetherian ring, Noetherian module, noetherian ring, noe -/ +@[expose] public section + open Set Filter Pointwise diff --git a/Mathlib/RingTheory/Noetherian/Nilpotent.lean b/Mathlib/RingTheory/Noetherian/Nilpotent.lean index 59b27c6afab0fb..aed77030b44bb4 100644 --- a/Mathlib/RingTheory/Noetherian/Nilpotent.lean +++ b/Mathlib/RingTheory/Noetherian/Nilpotent.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.Noetherian.Defs /-! # Nilpotent ideals in Noetherian rings @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Noetherian.Defs * `IsNoetherianRing.isNilpotent_nilradical` -/ +@[expose] public section + open IsNoetherian theorem IsNoetherianRing.isNilpotent_nilradical (R : Type*) [CommSemiring R] [IsNoetherianRing R] : diff --git a/Mathlib/RingTheory/Noetherian/OfPrime.lean b/Mathlib/RingTheory/Noetherian/OfPrime.lean index 978a344c83a1b4..3a252a92251459 100644 --- a/Mathlib/RingTheory/Noetherian/OfPrime.lean +++ b/Mathlib/RingTheory/Noetherian/OfPrime.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Anthony Fernandes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anthony Fernandes, Marc Robin -/ -import Mathlib.RingTheory.Ideal.Oka -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.Ideal.BigOperators +module + +public import Mathlib.RingTheory.Ideal.Oka +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.Ideal.BigOperators /-! # Noetherian rings and prime ideals @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Ideal.BigOperators - [cohen1950]: *Commutative rings with restricted minimum condition*, I. S. Cohen, Theorem 2 -/ +@[expose] public section + variable {R : Type*} [CommRing R] namespace Ideal diff --git a/Mathlib/RingTheory/Noetherian/Orzech.lean b/Mathlib/RingTheory/Noetherian/Orzech.lean index e70d76bde5a579..ed2d8f1243cb19 100644 --- a/Mathlib/RingTheory/Noetherian/Orzech.lean +++ b/Mathlib/RingTheory/Noetherian/Orzech.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro, Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kevin Buzzard -/ -import Mathlib.Algebra.Module.Submodule.IterateMapComap -import Mathlib.Order.PartialSups -import Mathlib.RingTheory.Noetherian.Basic -import Mathlib.RingTheory.OrzechProperty +module + +public import Mathlib.Algebra.Module.Submodule.IterateMapComap +public import Mathlib.Order.PartialSups +public import Mathlib.RingTheory.Noetherian.Basic +public import Mathlib.RingTheory.OrzechProperty /-! # Noetherian rings have the Orzech property @@ -19,6 +21,8 @@ import Mathlib.RingTheory.OrzechProperty * `IsNoetherianRing.orzechProperty`: Any Noetherian ring satisfies the Orzech property. -/ +@[expose] public section + open Set Filter Pointwise diff --git a/Mathlib/RingTheory/Noetherian/UniqueFactorizationDomain.lean b/Mathlib/RingTheory/Noetherian/UniqueFactorizationDomain.lean index b4751612885123..4b4271bdac3cf6 100644 --- a/Mathlib/RingTheory/Noetherian/UniqueFactorizationDomain.lean +++ b/Mathlib/RingTheory/Noetherian/UniqueFactorizationDomain.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.RingTheory.Noetherian.Defs -import Mathlib.RingTheory.UniqueFactorizationDomain.Ideal +module + +public import Mathlib.RingTheory.Noetherian.Defs +public import Mathlib.RingTheory.UniqueFactorizationDomain.Ideal /-! # Noetherian domains have unique factorization @@ -13,6 +15,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.Ideal # IsNoetherianRing.wfDvdMonoid -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] [IsDomain R] -- see Note [lower instance priority] diff --git a/Mathlib/RingTheory/NonUnitalSubring/Basic.lean b/Mathlib/RingTheory/NonUnitalSubring/Basic.lean index 837a52dec43da9..ff67ec5a5399bf 100644 --- a/Mathlib/RingTheory/NonUnitalSubring/Basic.lean +++ b/Mathlib/RingTheory/NonUnitalSubring/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.GroupTheory.Subsemigroup.Center -import Mathlib.RingTheory.NonUnitalSubring.Defs -import Mathlib.RingTheory.NonUnitalSubsemiring.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.GroupTheory.Subsemigroup.Center +public import Mathlib.RingTheory.NonUnitalSubring.Defs +public import Mathlib.RingTheory.NonUnitalSubsemiring.Basic /-! # `NonUnitalSubring`s @@ -63,6 +65,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` non-unital subring -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/NonUnitalSubring/Defs.lean b/Mathlib/RingTheory/NonUnitalSubring/Defs.lean index 146a95997a7b25..d0c027e387cfaa 100644 --- a/Mathlib/RingTheory/NonUnitalSubring/Defs.lean +++ b/Mathlib/RingTheory/NonUnitalSubring/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.RingTheory.NonUnitalSubsemiring.Defs -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.RingTheory.NonUnitalSubsemiring.Defs +public import Mathlib.Tactic.FastInstance /-! # `NonUnitalSubring`s @@ -35,6 +37,8 @@ Lattice inclusion (e.g. `≤` and `⊓`) is used rather than set notation (`⊆` non-unital subring -/ +@[expose] public section + assert_not_exists RelIso universe u v w diff --git a/Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean b/Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean index 16c11f9e19650e..806d072dd78c82 100644 --- a/Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean +++ b/Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean @@ -3,19 +3,21 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Group.Submonoid.Membership -import Mathlib.Algebra.Group.Subsemigroup.Membership -import Mathlib.Algebra.Group.Subsemigroup.Operations -import Mathlib.Algebra.GroupWithZero.Center -import Mathlib.Algebra.Ring.Center -import Mathlib.Algebra.Ring.Centralizer -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Ring.Submonoid.Basic -import Mathlib.Data.Set.Finite.Range -import Mathlib.GroupTheory.Submonoid.Center -import Mathlib.GroupTheory.Subsemigroup.Centralizer -import Mathlib.RingTheory.NonUnitalSubsemiring.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.Membership +public import Mathlib.Algebra.Group.Subsemigroup.Membership +public import Mathlib.Algebra.Group.Subsemigroup.Operations +public import Mathlib.Algebra.GroupWithZero.Center +public import Mathlib.Algebra.Ring.Center +public import Mathlib.Algebra.Ring.Centralizer +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Ring.Submonoid.Basic +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.GroupTheory.Submonoid.Center +public import Mathlib.GroupTheory.Subsemigroup.Centralizer +public import Mathlib.RingTheory.NonUnitalSubsemiring.Defs /-! # Bundled non-unital subsemirings @@ -24,6 +26,8 @@ We define the `CompleteLattice` structure, and non-unital subsemiring `map`, `comap` and range (`srange`) of a `NonUnitalRingHom` etc. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean b/Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean index d11294a9cfdf57..8f04e7734d818d 100644 --- a/Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean +++ b/Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Ring.Hom.Defs -import Mathlib.Algebra.Ring.InjSurj -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Tactic.FastInstance +module + +public import Mathlib.Algebra.Ring.Hom.Defs +public import Mathlib.Algebra.Ring.InjSurj +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Tactic.FastInstance /-! # Bundled non-unital subsemirings @@ -15,6 +17,8 @@ We define bundled non-unital subsemirings and some standard constructions: `subtype` and `inclusion` ring homomorphisms. -/ +@[expose] public section + assert_not_exists RelIso universe u v w diff --git a/Mathlib/RingTheory/Norm/Basic.lean b/Mathlib/RingTheory/Norm/Basic.lean index 88ee6d99bf5ab0..4d8201dd541952 100644 --- a/Mathlib/RingTheory/Norm/Basic.lean +++ b/Mathlib/RingTheory/Norm/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Norm.Defs -import Mathlib.FieldTheory.PrimitiveElement -import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly -import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv +module + +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.FieldTheory.PrimitiveElement +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly +public import Mathlib.LinearAlgebra.Matrix.ToLinearEquiv /-! # Norm for (finite) ring extensions @@ -35,6 +37,8 @@ See also `Algebra.trace`, which is defined similarly as the trace of -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Norm/Defs.lean b/Mathlib/RingTheory/Norm/Defs.lean index 31e1b7a810cf2f..103722df80cbc2 100644 --- a/Mathlib/RingTheory/Norm/Defs.lean +++ b/Mathlib/RingTheory/Norm/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.LinearAlgebra.Determinant +module + +public import Mathlib.LinearAlgebra.Determinant /-! # Norm for (finite) ring extensions @@ -32,6 +34,8 @@ See also `Algebra.trace`, which is defined similarly as the trace of -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Norm/Transitivity.lean b/Mathlib/RingTheory/Norm/Transitivity.lean index 6b23c239c0dbec..08a4ec7cd70371 100644 --- a/Mathlib/RingTheory/Norm/Transitivity.lean +++ b/Mathlib/RingTheory/Norm/Transitivity.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.LinearAlgebra.Matrix.Block -import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff -import Mathlib.RingTheory.Norm.Defs -import Mathlib.RingTheory.PolynomialAlgebra -import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs -import Mathlib.FieldTheory.IntermediateField.Algebraic -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.RingTheory.Norm.Basic -import Mathlib.FieldTheory.Galois.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Block +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.RingTheory.PolynomialAlgebra +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs +public import Mathlib.FieldTheory.IntermediateField.Algebraic +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.RingTheory.Norm.Basic +public import Mathlib.FieldTheory.Galois.Basic /-! # Transitivity of algebra norm @@ -26,6 +28,8 @@ about the roots of the minimal polynomial of `s` over `R`. -/ +@[expose] public section + variable {R S A n m : Type*} [CommRing R] [CommRing S] variable (M : Matrix m m S) [DecidableEq m] [DecidableEq n] (k : m) open Matrix Polynomial diff --git a/Mathlib/RingTheory/NormTrace.lean b/Mathlib/RingTheory/NormTrace.lean index 1509ea80b4e9c0..7e609555e40128 100644 --- a/Mathlib/RingTheory/NormTrace.lean +++ b/Mathlib/RingTheory/NormTrace.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Norm.Defs -import Mathlib.RingTheory.Trace.Defs +module + +public import Mathlib.RingTheory.Norm.Defs +public import Mathlib.RingTheory.Trace.Defs /-! # Relation between norms and traces -/ +@[expose] public section + open Module lemma Algebra.norm_one_add_smul {A B} [CommRing A] [CommRing B] [Algebra A B] diff --git a/Mathlib/RingTheory/Nullstellensatz.lean b/Mathlib/RingTheory/Nullstellensatz.lean index 1b8d2d803545fa..45961c2d77f548 100644 --- a/Mathlib/RingTheory/Nullstellensatz.lean +++ b/Mathlib/RingTheory/Nullstellensatz.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Devon Tuma. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Devon Tuma -/ -import Mathlib.RingTheory.Jacobson.Ring -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.RingTheory.Spectrum.Prime.Basic +module + +public import Mathlib.RingTheory.Jacobson.Ring +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Basic /-! # Nullstellensatz @@ -21,6 +23,8 @@ The machinery around `vanishingIdeal` and `zeroLocus` is also minimal, I only ad directly needed in this proof, since I'm not sure if they are the right approach. -/ +@[expose] public section + open Ideal noncomputable section diff --git a/Mathlib/RingTheory/OrderOfVanishing.lean b/Mathlib/RingTheory/OrderOfVanishing.lean index 701f71d42ebce0..58822c70050c46 100644 --- a/Mathlib/RingTheory/OrderOfVanishing.lean +++ b/Mathlib/RingTheory/OrderOfVanishing.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Raphael Douglas Giles. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Raphael Douglas Giles -/ -import Mathlib.RingTheory.KrullDimension.NonZeroDivisors -import Mathlib.RingTheory.Length -import Mathlib.RingTheory.HopkinsLevitzki +module + +public import Mathlib.RingTheory.KrullDimension.NonZeroDivisors +public import Mathlib.RingTheory.Length +public import Mathlib.RingTheory.HopkinsLevitzki /-! # Order of vanishing @@ -15,6 +17,8 @@ the ring by the ideal generated by that element. We also define the extension of field of fractions -/ +@[expose] public section + open LinearMap Pointwise IsLocalization Ideal WithZero variable {R : Type*} {M : Type*} [AddCommMonoid M] diff --git a/Mathlib/RingTheory/OreLocalization/Basic.lean b/Mathlib/RingTheory/OreLocalization/Basic.lean index a5d4f516488a4d..c75d49ab62426e 100644 --- a/Mathlib/RingTheory/OreLocalization/Basic.lean +++ b/Mathlib/RingTheory/OreLocalization/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge, Andrew Yang -/ -import Mathlib.Algebra.Group.Submonoid.DistribMulAction -import Mathlib.GroupTheory.OreLocalization.Basic -import Mathlib.Algebra.GroupWithZero.Defs +module + +public import Mathlib.Algebra.Group.Submonoid.DistribMulAction +public import Mathlib.GroupTheory.OreLocalization.Basic +public import Mathlib.Algebra.GroupWithZero.Defs /-! @@ -24,6 +26,8 @@ localization, Ore, non-commutative -/ +@[expose] public section + assert_not_exists RelIso universe u @@ -141,8 +145,8 @@ private def add : X[S⁻¹] → X[S⁻¹] → X[S⁻¹] := fun x => simp only [one_smul, one_mul, mul_smul, ← hb, Submonoid.smul_def, ← mul_assoc, and_true] simp only [smul_smul, hd]) -instance : Add X[S⁻¹] := - ⟨add⟩ +instance : Add X[S⁻¹] where + add := private add theorem oreDiv_add_oreDiv {r r' : X} {s s' : S} : r /ₒ s + r' /ₒ s' = diff --git a/Mathlib/RingTheory/OreLocalization/Cardinality.lean b/Mathlib/RingTheory/OreLocalization/Cardinality.lean index c41a0992d1786c..e0ec19ddc028ed 100644 --- a/Mathlib/RingTheory/OreLocalization/Cardinality.lean +++ b/Mathlib/RingTheory/OreLocalization/Cardinality.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.GroupTheory.OreLocalization.Cardinality -import Mathlib.RingTheory.OreLocalization.Ring +module + +public import Mathlib.GroupTheory.OreLocalization.Cardinality +public import Mathlib.RingTheory.OreLocalization.Ring /-! # Cardinality of Ore localizations of rings @@ -12,6 +14,8 @@ import Mathlib.RingTheory.OreLocalization.Ring This file contains some results on cardinality of Ore localizations of rings. -/ +@[expose] public section + universe u open Cardinal diff --git a/Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean b/Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean index 2b82f6bb3c0fd7..22374c758ebf25 100644 --- a/Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean +++ b/Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge, Andrew Yang -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.RingTheory.OreLocalization.Basic +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.RingTheory.OreLocalization.Basic /-! # Ore Localization over nonZeroDivisors in monoids with zeros. -/ +@[expose] public section + open scoped nonZeroDivisors namespace OreLocalization diff --git a/Mathlib/RingTheory/OreLocalization/OreSet.lean b/Mathlib/RingTheory/OreLocalization/OreSet.lean index f720b6f1b88ebe..114ca745b1fe68 100644 --- a/Mathlib/RingTheory/OreLocalization/OreSet.lean +++ b/Mathlib/RingTheory/OreLocalization/OreSet.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge -/ -import Mathlib.Algebra.Group.Submonoid.Defs -import Mathlib.Algebra.GroupWithZero.Basic -import Mathlib.Algebra.Ring.Regular -import Mathlib.GroupTheory.OreLocalization.OreSet +module + +public import Mathlib.Algebra.Group.Submonoid.Defs +public import Mathlib.Algebra.GroupWithZero.Basic +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.GroupTheory.OreLocalization.OreSet /-! @@ -20,6 +22,8 @@ This file contains results on left Ore sets for rings and monoids with zero. -/ +@[expose] public section + assert_not_exists RelIso namespace OreLocalization diff --git a/Mathlib/RingTheory/OreLocalization/Ring.lean b/Mathlib/RingTheory/OreLocalization/Ring.lean index 99cd17eecd062f..87b775f92eb372 100644 --- a/Mathlib/RingTheory/OreLocalization/Ring.lean +++ b/Mathlib/RingTheory/OreLocalization/Ring.lean @@ -3,10 +3,11 @@ Copyright (c) 2022 Jakob von Raumer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob von Raumer, Kevin Klinge, Andrew Yang -/ +module -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Field.Defs -import Mathlib.RingTheory.OreLocalization.NonZeroDivisors +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Field.Defs +public import Mathlib.RingTheory.OreLocalization.NonZeroDivisors /-! @@ -17,6 +18,8 @@ The `Monoid` and `DistribMulAction` instances and additive versions are provided -/ +@[expose] public section + assert_not_exists Subgroup universe u diff --git a/Mathlib/RingTheory/OrzechProperty.lean b/Mathlib/RingTheory/OrzechProperty.lean index 9cd8c13f367a88..ecf4b8ffa5157c 100644 --- a/Mathlib/RingTheory/OrzechProperty.lean +++ b/Mathlib/RingTheory/OrzechProperty.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Module.TransferInstance -import Mathlib.RingTheory.Finiteness.Cardinality +module + +public import Mathlib.Algebra.Module.TransferInstance +public import Mathlib.RingTheory.Finiteness.Cardinality /-! @@ -42,6 +44,8 @@ free module, rank, Orzech property, (strong) rank condition, invariant basis num -/ +@[expose] public section + universe u v w open Function diff --git a/Mathlib/RingTheory/Perfection.lean b/Mathlib/RingTheory/Perfection.lean index b0ce13314d0466..a268a42b2d8463 100644 --- a/Mathlib/RingTheory/Perfection.lean +++ b/Mathlib/RingTheory/Perfection.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Frobenius -import Mathlib.Algebra.CharP.Pi -import Mathlib.Algebra.CharP.Quotient -import Mathlib.Algebra.CharP.Subring -import Mathlib.Analysis.SpecialFunctions.Pow.NNReal -import Mathlib.FieldTheory.Perfect -import Mathlib.RingTheory.Valuation.Integers +module + +public import Mathlib.Algebra.CharP.Frobenius +public import Mathlib.Algebra.CharP.Pi +public import Mathlib.Algebra.CharP.Quotient +public import Mathlib.Algebra.CharP.Subring +public import Mathlib.Analysis.SpecialFunctions.Pow.NNReal +public import Mathlib.FieldTheory.Perfect +public import Mathlib.RingTheory.Valuation.Integers /-! # Ring Perfection and Tilt @@ -23,6 +25,8 @@ Define the valuation on the tilt, and define a characteristic predicate for the -/ +@[expose] public section + universe u₁ u₂ u₃ u₄ diff --git a/Mathlib/RingTheory/Perfectoid/Untilt.lean b/Mathlib/RingTheory/Perfectoid/Untilt.lean index 838eedf603a7b2..36ec8b62d6dee7 100644 --- a/Mathlib/RingTheory/Perfectoid/Untilt.lean +++ b/Mathlib/RingTheory/Perfectoid/Untilt.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang -/ +module -import Mathlib.NumberTheory.Basic -import Mathlib.RingTheory.AdicCompletion.Basic -import Mathlib.RingTheory.Perfection +public import Mathlib.NumberTheory.Basic +public import Mathlib.RingTheory.AdicCompletion.Basic +public import Mathlib.RingTheory.Perfection /-! # Untilt Function @@ -32,6 +33,8 @@ is not the untilt *functor*. Perfectoid, Tilting equivalence, Untilt -/ +@[expose] public section + open Perfection Ideal noncomputable section diff --git a/Mathlib/RingTheory/PiTensorProduct.lean b/Mathlib/RingTheory/PiTensorProduct.lean index 3f237c1991ded6..7c2b4e7077a5d2 100644 --- a/Mathlib/RingTheory/PiTensorProduct.lean +++ b/Mathlib/RingTheory/PiTensorProduct.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.LinearAlgebra.PiTensorProduct -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.Algebra.Equiv -import Mathlib.Data.Finset.NoncommProd +public import Mathlib.LinearAlgebra.PiTensorProduct +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.Algebra.Equiv +public import Mathlib.Data.Finset.NoncommProd /-! # Tensor product of `R`-algebras and rings @@ -18,6 +19,8 @@ with structure map defined by `r ↦ r • 1`. In particular if we take `R` to be `ℤ`, then this collapses into the tensor product of rings. -/ +@[expose] public section + open TensorProduct Function variable {ι R' R : Type*} {A : ι → Type*} diff --git a/Mathlib/RingTheory/PicardGroup.lean b/Mathlib/RingTheory/PicardGroup.lean index 0db6e7866e1400..15f3a4f92dedfe 100644 --- a/Mathlib/RingTheory/PicardGroup.lean +++ b/Mathlib/RingTheory/PicardGroup.lean @@ -3,17 +3,19 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.Algebra.Module.LocalizedModule.Submodule -import Mathlib.CategoryTheory.Monoidal.Skeleton -import Mathlib.LinearAlgebra.Contraction -import Mathlib.LinearAlgebra.TensorProduct.Finiteness -import Mathlib.LinearAlgebra.TensorProduct.RightExactness -import Mathlib.LinearAlgebra.TensorProduct.Submodule -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.LocalRing.Module +module + +public import Mathlib.Algebra.Category.ModuleCat.Monoidal.Symmetric +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.Algebra.Module.LocalizedModule.Submodule +public import Mathlib.CategoryTheory.Monoidal.Skeleton +public import Mathlib.LinearAlgebra.Contraction +public import Mathlib.LinearAlgebra.TensorProduct.Finiteness +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness +public import Mathlib.LinearAlgebra.TensorProduct.Submodule +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.LocalRing.Module /-! # The Picard group of a commutative ring @@ -59,6 +61,8 @@ Show: - Exhibit isomorphism with sheaf cohomology `H¹(Spec R, 𝓞ˣ)`. -/ +@[expose] public section + open TensorProduct universe u v diff --git a/Mathlib/RingTheory/Polynomial/Basic.lean b/Mathlib/RingTheory/Polynomial/Basic.lean index 205bce79330d01..acacbef43cf43d 100644 --- a/Mathlib/RingTheory/Polynomial/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.Algebra.Polynomial.BigOperators -import Mathlib.Algebra.Ring.GeomSum -import Mathlib.RingTheory.Noetherian.Basic +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.Algebra.Polynomial.BigOperators +public import Mathlib.Algebra.Ring.GeomSum +public import Mathlib.RingTheory.Noetherian.Basic /-! # Ring-theoretic supplement of Algebra.Polynomial. @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Noetherian.Basic Hilbert basis theorem, that if a ring is Noetherian then so is its polynomial ring. -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Bernstein.lean b/Mathlib/RingTheory/Polynomial/Bernstein.lean index 5ad28f02c29645..a505f5bc8d949e 100644 --- a/Mathlib/RingTheory/Polynomial/Bernstein.lean +++ b/Mathlib/RingTheory/Polynomial/Bernstein.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.MvPolynomial.PDeriv -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.Data.Nat.Choose.Sum -import Mathlib.LinearAlgebra.LinearIndependent.Lemmas -import Mathlib.RingTheory.Polynomial.Pochhammer +module + +public import Mathlib.Algebra.MvPolynomial.PDeriv +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.Data.Nat.Choose.Sum +public import Mathlib.LinearAlgebra.LinearIndependent.Lemmas +public import Mathlib.RingTheory.Polynomial.Pochhammer /-! # Bernstein polynomials @@ -33,6 +35,8 @@ approximations of a continuous function `f : C([0,1], ℝ)`, and shows that thes to `f`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Polynomial/Chebyshev.lean b/Mathlib/RingTheory/Polynomial/Chebyshev.lean index 0d8d9820aeb0be..6b0f95c04d0adb 100644 --- a/Mathlib/RingTheory/Polynomial/Chebyshev.lean +++ b/Mathlib/RingTheory/Polynomial/Chebyshev.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Julian Kuelshammer, Heather Macbeth, Mitchell Lee -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Algebra.Ring.NegOnePow -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Algebra.Ring.NegOnePow +public import Mathlib.Tactic.LinearCombination /-! # Chebyshev polynomials @@ -56,6 +58,8 @@ and do not have `map (Int.castRingHom R)` interfering all the time. * Prove minimax properties of Chebyshev polynomials. -/ +@[expose] public section + namespace Polynomial.Chebyshev open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Content.lean b/Mathlib/RingTheory/Polynomial/Content.lean index 64eb195cc8820a..48913445affb44 100644 --- a/Mathlib/RingTheory/Polynomial/Content.lean +++ b/Mathlib/RingTheory/Polynomial/Content.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.GCDMonoid.Finset -import Mathlib.Algebra.Polynomial.CancelLeads -import Mathlib.Algebra.Polynomial.EraseLead -import Mathlib.Algebra.Polynomial.FieldDivision +module + +public import Mathlib.Algebra.GCDMonoid.Finset +public import Mathlib.Algebra.Polynomial.CancelLeads +public import Mathlib.Algebra.Polynomial.EraseLead +public import Mathlib.Algebra.Polynomial.FieldDivision /-! # GCD structures on polynomials @@ -29,6 +31,8 @@ This has nothing to do with minimal polynomials of primitive elements in finite -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/ContentIdeal.lean b/Mathlib/RingTheory/Polynomial/ContentIdeal.lean index 17c8e512b8797a..b4b5ff625a6a48 100644 --- a/Mathlib/RingTheory/Polynomial/ContentIdeal.lean +++ b/Mathlib/RingTheory/Polynomial/ContentIdeal.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ +module -import Mathlib.Order.CompletePartialOrder -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.Order.CompletePartialOrder +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Polynomial.Content /-! # The content ideal of a polynomial @@ -39,6 +40,8 @@ Let `p : R[X]`. -/ +@[expose] public section + namespace Polynomial open Ideal diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean index 4676d3faeb51ec..cef0bdc907b6af 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.FieldTheory.RatFunc.AsPolynomial -import Mathlib.NumberTheory.ArithmeticFunction -import Mathlib.RingTheory.RootsOfUnity.Complex +module + +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.FieldTheory.RatFunc.AsPolynomial +public import Mathlib.NumberTheory.ArithmeticFunction +public import Mathlib.RingTheory.RootsOfUnity.Complex /-! # Cyclotomic polynomials. @@ -40,6 +42,8 @@ To get the standard cyclotomic polynomials, we use `unique_int_coeff_of_cycl`, w to get a polynomial with integer coefficients and then we map it to `R[X]`, for any ring `R`. -/ +@[expose] public section + open scoped Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean index b896f38b6b60ba..2362bdaf926af0 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots -import Mathlib.Tactic.ByContra -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.NumberTheory.Padics.PadicVal.Basic -import Mathlib.Analysis.Complex.Arg +module + +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots +public import Mathlib.Tactic.ByContra +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.NumberTheory.Padics.PadicVal.Basic +public import Mathlib.Analysis.Complex.Arg /-! # Evaluating cyclotomic polynomials @@ -18,6 +20,8 @@ This file states some results about evaluating cyclotomic polynomials in various * `Polynomial.cyclotomic_pos` : `∀ x, 0 < eval x (cyclotomic n R)` if `2 < n`. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean index 48380c1c964065..48848400dcd640 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Algebra.Algebra.ZMod -import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots +module + +public import Mathlib.Algebra.Algebra.ZMod +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots /-! # Cyclotomic polynomials and `expand`. @@ -25,6 +27,8 @@ We gather results relating cyclotomic polynomials and `expand`. `cyclotomic (p ^ k * m) R = (cyclotomic m R) ^ (p ^ k - p ^ (k - 1))`. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean index 6e46d5b199f250..ab542c0bfaabdd 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.FieldTheory.Finite.GaloisField -import Mathlib.RingTheory.SimpleModule.Basic -import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots -import Mathlib.Algebra.CharP.CharAndCard +module + +public import Mathlib.FieldTheory.Finite.GaloisField +public import Mathlib.RingTheory.SimpleModule.Basic +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Roots +public import Mathlib.Algebra.CharP.CharAndCard /-! # Factorization of cyclotomic polynomials over finite fields @@ -22,6 +24,8 @@ field of characteristic `p`, where `p` and `n` are coprime. -/ +@[expose] public section + namespace Polynomial variable {K : Type*} [Field K] [Fintype K] {p f n : ℕ} {P : K[X]} diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean index 56703bcd29db04..1ce8cd29406cc9 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.Polynomial.Cyclotomic.Basic -import Mathlib.RingTheory.RootsOfUnity.Minpoly +module + +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Basic +public import Mathlib.RingTheory.RootsOfUnity.Minpoly /-! # Roots of cyclotomic polynomials. @@ -30,6 +32,8 @@ To prove `Polynomial.cyclotomic.irreducible`, the irreducibility of `cyclotomic primitive root of unity `μ : K`, where `K` is a field of characteristic `0`. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/DegreeLT.lean b/Mathlib/RingTheory/Polynomial/DegreeLT.lean index 0a4ca91daf604c..61f9e1c5feb3d8 100644 --- a/Mathlib/RingTheory/Polynomial/DegreeLT.lean +++ b/Mathlib/RingTheory/Polynomial/DegreeLT.lean @@ -3,12 +3,13 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Kenny Lau -/ +module -import Mathlib.Algebra.Polynomial.Div -import Mathlib.Algebra.Polynomial.Taylor -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Matrix.Block -import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.Algebra.Polynomial.Taylor +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Matrix.Block +public import Mathlib.RingTheory.Polynomial.Basic /-! # Polynomials with degree strictly less than `n` @@ -34,6 +35,8 @@ This file contains the properties of the submodule of polynomials of degree less -/ +@[expose] public section + open Module namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Dickson.lean b/Mathlib/RingTheory/Polynomial/Dickson.lean index f7aed4487a72fc..ad1e6ab658618c 100644 --- a/Mathlib/RingTheory/Polynomial/Dickson.lean +++ b/Mathlib/RingTheory/Polynomial/Dickson.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Julian Kuelshammer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Julian Kuelshammer -/ -import Mathlib.Algebra.CharP.Algebra -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.CharP.Lemmas -import Mathlib.Algebra.EuclideanDomain.Field -import Mathlib.Algebra.Field.ZMod -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.RingTheory.Polynomial.Chebyshev +module + +public import Mathlib.Algebra.CharP.Algebra +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.CharP.Lemmas +public import Mathlib.Algebra.EuclideanDomain.Field +public import Mathlib.Algebra.Field.ZMod +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.RingTheory.Polynomial.Chebyshev /-! # Dickson polynomials @@ -47,6 +49,8 @@ When `a=0` they are just the family of monomials `X ^ n`. matrices of simple connected graphs which annihilate `dickson 2 1`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean b/Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean index 63be0492a58553..99b6adbf2dc4d3 100644 --- a/Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion -import Mathlib.RingTheory.Polynomial.ScaleRoots +module + +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion +public import Mathlib.RingTheory.Polynomial.ScaleRoots /-! # Eisenstein polynomials @@ -27,6 +29,8 @@ useful since it is sometimes better behaved (for example it is stable under `Pol -/ +@[expose] public section + universe u v w z diff --git a/Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean b/Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean index 2df1e532bb71c3..6ba745865c466f 100644 --- a/Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean +++ b/Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Antoine Chambert-Loir -/ +module -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.Ideal.Quotient.Operations /-! # The Eisenstein criterion @@ -52,6 +53,8 @@ There are two obstructions, though : -/ +@[expose] public section + namespace Polynomial open Ideal.Quotient Ideal RingHom diff --git a/Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean b/Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean index be2abb441c061d..fd1bf47df4a1a7 100644 --- a/Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean +++ b/Mathlib/RingTheory/Polynomial/Eisenstein/Distinguished.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ +module -import Mathlib.RingTheory.Polynomial.Eisenstein.Basic -import Mathlib.RingTheory.PowerSeries.Order +public import Mathlib.RingTheory.Polynomial.Eisenstein.Basic +public import Mathlib.RingTheory.PowerSeries.Order /-! # Distinguished polynomial @@ -15,6 +16,8 @@ and develop the most basic lemmas about it. -/ +@[expose] public section + open scoped Polynomial open PowerSeries Ideal Quotient diff --git a/Mathlib/RingTheory/Polynomial/Eisenstein/Generalized.lean b/Mathlib/RingTheory/Polynomial/Eisenstein/Generalized.lean index 5763f4e75987ca..4155080ac10ee2 100644 --- a/Mathlib/RingTheory/Polynomial/Eisenstein/Generalized.lean +++ b/Mathlib/RingTheory/Polynomial/Eisenstein/Generalized.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.Ideal.Quotient.Defs +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.Ideal.Quotient.Defs deprecated_module "Auto-generated deprecation" (since := "2025-04-11") diff --git a/Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean b/Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean index 20ea4eaf7f12ea..e701bdfca859a5 100644 --- a/Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean +++ b/Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca -/ -import Mathlib.Data.Nat.Choose.Dvd -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.Norm.Transitivity -import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand +module + +public import Mathlib.Data.Nat.Choose.Dvd +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.Norm.Transitivity +public import Mathlib.RingTheory.Polynomial.Cyclotomic.Expand /-! # Eisenstein polynomials @@ -22,6 +24,8 @@ In this file we gather more miscellaneous results about Eisenstein polynomials -/ +@[expose] public section + universe u v w z variable {R : Type u} diff --git a/Mathlib/RingTheory/Polynomial/GaussLemma.lean b/Mathlib/RingTheory/Polynomial/GaussLemma.lean index 33e3d2b37538da..ddea91d048a3a8 100644 --- a/Mathlib/RingTheory/Polynomial/GaussLemma.lean +++ b/Mathlib/RingTheory/Polynomial/GaussLemma.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.FieldTheory.SplittingField.Construction -import Mathlib.RingTheory.Localization.Integral -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.Polynomial.Content +module + +public import Mathlib.FieldTheory.SplittingField.Construction +public import Mathlib.RingTheory.Localization.Integral +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.Polynomial.Content /-! # Gauss's Lemma @@ -35,6 +37,8 @@ Gauss's Lemma is one of a few results pertaining to irreducibility of primitive -/ +@[expose] public section + open scoped nonZeroDivisors Polynomial diff --git a/Mathlib/RingTheory/Polynomial/GaussNorm.lean b/Mathlib/RingTheory/Polynomial/GaussNorm.lean index a010d520476963..3cbafb305846ee 100644 --- a/Mathlib/RingTheory/Polynomial/GaussNorm.lean +++ b/Mathlib/RingTheory/Polynomial/GaussNorm.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ +module -import Mathlib.RingTheory.PowerSeries.GaussNorm +public import Mathlib.RingTheory.PowerSeries.GaussNorm /-! # Gauss norm for polynomials @@ -27,6 +28,8 @@ non-negative function with `v 0 = 0` and `c ≥ 0`. * `Polynomial.gaussNorm_eq_zero_iff`: if `v x = 0 ↔ x = 0` for all `x : R`, then the Gauss norm is zero if and only if the polynomial is zero. -/ + +@[expose] public section variable {R F : Type*} [Semiring R] [FunLike F R ℝ] (v : F) (c : ℝ) namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Hermite/Basic.lean b/Mathlib/RingTheory/Polynomial/Hermite/Basic.lean index e934fce0407db7..4ca226cf5a472a 100644 --- a/Mathlib/RingTheory/Polynomial/Hermite/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Hermite/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Luke Mantle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Luke Mantle -/ -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.Data.Nat.Factorial.DoubleFactorial +module + +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.Data.Nat.Factorial.DoubleFactorial /-! # Hermite polynomials @@ -34,6 +36,8 @@ This file defines `Polynomial.hermite n`, the `n`th probabilists' Hermite polyno -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean b/Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean index 65478e2e1e2e0c..980953d592ed66 100644 --- a/Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean +++ b/Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Luke Mantle. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Luke Mantle, Jake Levinson -/ -import Mathlib.RingTheory.Polynomial.Hermite.Basic -import Mathlib.Analysis.Calculus.Deriv.Add -import Mathlib.Analysis.Calculus.Deriv.Polynomial -import Mathlib.Analysis.SpecialFunctions.Exp -import Mathlib.Analysis.SpecialFunctions.ExpDeriv +module + +public import Mathlib.RingTheory.Polynomial.Hermite.Basic +public import Mathlib.Analysis.Calculus.Deriv.Add +public import Mathlib.Analysis.Calculus.Deriv.Polynomial +public import Mathlib.Analysis.SpecialFunctions.Exp +public import Mathlib.Analysis.SpecialFunctions.ExpDeriv /-! # Hermite polynomials and Gaussians @@ -27,6 +29,8 @@ polynomial factor occurring in the `n`th derivative of a Gaussian. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Polynomial/HilbertPoly.lean b/Mathlib/RingTheory/Polynomial/HilbertPoly.lean index 1d357a6f5f7396..505fbe5539789a 100644 --- a/Mathlib/RingTheory/Polynomial/HilbertPoly.lean +++ b/Mathlib/RingTheory/Polynomial/HilbertPoly.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Fangming Li. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fangming Li, Jujian Zhang -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.Algebra.Polynomial.Roots -import Mathlib.Order.Interval.Set.Infinite -import Mathlib.RingTheory.Polynomial.Pochhammer -import Mathlib.RingTheory.PowerSeries.WellKnown -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.Algebra.Polynomial.Roots +public import Mathlib.Order.Interval.Set.Infinite +public import Mathlib.RingTheory.Polynomial.Pochhammer +public import Mathlib.RingTheory.PowerSeries.WellKnown +public import Mathlib.Tactic.FieldSimp /-! # Hilbert polynomials @@ -37,6 +39,8 @@ if `d! = 0` in `F`, then the polynomial `(X + 1)···(X + d)/d!` no longer work * Hilbert polynomials of finitely generated graded modules over Noetherian rings. -/ +@[expose] public section + open Nat PowerSeries variable (F : Type*) [Field F] diff --git a/Mathlib/RingTheory/Polynomial/Ideal.lean b/Mathlib/RingTheory/Polynomial/Ideal.lean index 569a891ce23fae..c385f265566a4f 100644 --- a/Mathlib/RingTheory/Polynomial/Ideal.lean +++ b/Mathlib/RingTheory/Polynomial/Ideal.lean @@ -3,14 +3,18 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.Algebra.Polynomial.RingDivision -import Mathlib.RingTheory.Adjoin.Polynomial -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.Algebra.Polynomial.RingDivision +public import Mathlib.RingTheory.Adjoin.Polynomial +public import Mathlib.RingTheory.Ideal.Maps /-! # Ideals in polynomial rings -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/IntegralNormalization.lean b/Mathlib/RingTheory/Polynomial/IntegralNormalization.lean index 0f4ad28486a1ff..bbd509b159b886 100644 --- a/Mathlib/RingTheory/Polynomial/IntegralNormalization.lean +++ b/Mathlib/RingTheory/Polynomial/IntegralNormalization.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Johannes Hölzl, Kim Morrison, Jens Wagemaker, Andrew Yang, Yuyang Zhao -/ -import Mathlib.Algebra.Polynomial.Monic -import Mathlib.RingTheory.Polynomial.ScaleRoots +module + +public import Mathlib.Algebra.Polynomial.Monic +public import Mathlib.RingTheory.Polynomial.ScaleRoots /-! # Theory of monic polynomials @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Polynomial.ScaleRoots We define `integralNormalization`, which relate arbitrary polynomials to monic ones. -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/IrreducibleRing.lean b/Mathlib/RingTheory/Polynomial/IrreducibleRing.lean index c833c264d92f6a..7c4990330678bb 100644 --- a/Mathlib/RingTheory/Polynomial/IrreducibleRing.lean +++ b/Mathlib/RingTheory/Polynomial/IrreducibleRing.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.Algebra.Polynomial.Eval.Irreducible -import Mathlib.RingTheory.Polynomial.Nilpotent +module + +public import Mathlib.Algebra.Polynomial.Eval.Irreducible +public import Mathlib.RingTheory.Polynomial.Nilpotent /-! @@ -25,6 +27,8 @@ polynomial, irreducible ring, nilradical, prime ideal -/ +@[expose] public section + open Polynomial noncomputable section diff --git a/Mathlib/RingTheory/Polynomial/Nilpotent.lean b/Mathlib/RingTheory/Polynomial/Nilpotent.lean index bac6a0ee734250..2c02a6c9c7cb29 100644 --- a/Mathlib/RingTheory/Polynomial/Nilpotent.lean +++ b/Mathlib/RingTheory/Polynomial/Nilpotent.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Emilie Uthaiwat, Oliver Nash -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Div -import Mathlib.Algebra.Polynomial.Identities -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.RingTheory.Nilpotent.Lemmas +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.Algebra.Polynomial.Identities +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.RingTheory.Nilpotent.Lemmas /-! # Nilpotency in polynomial rings. @@ -21,6 +23,8 @@ This file is a place for results related to nilpotency in (single-variable) poly -/ +@[expose] public section + namespace Polynomial variable {R : Type*} {r : R} diff --git a/Mathlib/RingTheory/Polynomial/Opposites.lean b/Mathlib/RingTheory/Polynomial/Opposites.lean index 71bb0258f1e1e0..7b6aa06c5a099c 100644 --- a/Mathlib/RingTheory/Polynomial/Opposites.lean +++ b/Mathlib/RingTheory/Polynomial/Opposites.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.Algebra.Polynomial.Degree.Support -import Mathlib.Tactic.NoncommRing +module + +public import Mathlib.Algebra.Polynomial.Degree.Support +public import Mathlib.Tactic.NoncommRing /-! # Interactions between `R[X]` and `Rᵐᵒᵖ[X]` @@ -12,6 +14,8 @@ This file contains the basic API for "pushing through" the isomorphism `opRingEquiv : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X]`. It allows going back and forth between a polynomial ring over a semiring and the polynomial ring over the opposite semiring. -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Pochhammer.lean b/Mathlib/RingTheory/Polynomial/Pochhammer.lean index cda553758d3c67..535758db46a164 100644 --- a/Mathlib/RingTheory/Polynomial/Pochhammer.lean +++ b/Mathlib/RingTheory/Polynomial/Pochhammer.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.Algebra.Polynomial.Eval.Algebra -import Mathlib.Tactic.Abel +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.Algebra.Polynomial.Eval.Algebra +public import Mathlib.Tactic.Abel /-! # The Pochhammer polynomials @@ -33,6 +35,8 @@ There is lots more in this direction: * q-factorials, q-binomials, q-Pochhammer. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Polynomial/Quotient.lean b/Mathlib/RingTheory/Polynomial/Quotient.lean index 24ad4e2a1b959a..e86b31c5d10550 100644 --- a/Mathlib/RingTheory/Polynomial/Quotient.lean +++ b/Mathlib/RingTheory/Polynomial/Quotient.lean @@ -3,19 +3,23 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, David Kurniadi Angdinata, Devon Tuma, Riccardo Brasca -/ -import Mathlib.Algebra.Field.Equiv -import Mathlib.Algebra.Polynomial.Div -import Mathlib.Algebra.Polynomial.Eval.SMul -import Mathlib.GroupTheory.GroupAction.Ring -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.RingTheory.Polynomial.Ideal -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.Field.Equiv +public import Mathlib.Algebra.Polynomial.Div +public import Mathlib.Algebra.Polynomial.Eval.SMul +public import Mathlib.GroupTheory.GroupAction.Ring +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.Polynomial.Ideal +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Quotients of polynomial rings -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Radical.lean b/Mathlib/RingTheory/Polynomial/Radical.lean index 1b2114bb6388af..0e8ee36507be93 100644 --- a/Mathlib/RingTheory/Polynomial/Radical.lean +++ b/Mathlib/RingTheory/Polynomial/Radical.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jineon Baek, Seewoo Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jineon Baek, Seewoo Lee -/ -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.RingTheory.Polynomial.Wronskian -import Mathlib.RingTheory.Radical -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative +module + +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.RingTheory.Polynomial.Wronskian +public import Mathlib.RingTheory.Radical +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicative /-! # Radical of a polynomial @@ -15,6 +17,8 @@ This file proves some theorems on `radical` and `divRadical` of polynomials. See `RingTheory.Radical` for the definition of `radical` and `divRadical`. -/ +@[expose] public section + open Polynomial UniqueFactorizationMonoid UniqueFactorizationDomain EuclideanDomain variable {k : Type*} [Field k] [DecidableEq k] diff --git a/Mathlib/RingTheory/Polynomial/RationalRoot.lean b/Mathlib/RingTheory/Polynomial/RationalRoot.lean index 92b6cb06e53f91..7b7db5a648fdd6 100644 --- a/Mathlib/RingTheory/Polynomial/RationalRoot.lean +++ b/Mathlib/RingTheory/Polynomial/RationalRoot.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.Localization.NumDen -import Mathlib.RingTheory.Polynomial.ScaleRoots +module + +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.Localization.NumDen +public import Mathlib.RingTheory.Polynomial.ScaleRoots /-! # Rational root theorem and integral root theorem @@ -25,6 +27,8 @@ Finally, we use this to show unique factorization domains are integrally closed. * https://en.wikipedia.org/wiki/Rational_root_theorem -/ +@[expose] public section + open scoped Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean b/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean index 87435db7a7a48f..a79293b47f2154 100644 --- a/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Anne Baanen -/ +module -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.LinearAlgebra.Matrix.Determinant.Basic +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.LinearAlgebra.Matrix.Determinant.Basic /-! # Resultant of two polynomials @@ -34,6 +35,8 @@ This file contains basic facts about resultant of two polynomials over commutati -/ +@[expose] public section + open Set namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/ScaleRoots.lean b/Mathlib/RingTheory/Polynomial/ScaleRoots.lean index 92d815e5304fa0..f985f8df4b99e5 100644 --- a/Mathlib/RingTheory/Polynomial/ScaleRoots.lean +++ b/Mathlib/RingTheory/Polynomial/ScaleRoots.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Devon Tuma -/ -import Mathlib.Algebra.GroupWithZero.NonZeroDivisors -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.RingTheory.Coprime.Basic -import Mathlib.Tactic.AdaptationNote +module + +public import Mathlib.Algebra.GroupWithZero.NonZeroDivisors +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.RingTheory.Coprime.Basic +public import Mathlib.Tactic.AdaptationNote /-! # Scaling the roots of a polynomial @@ -15,6 +17,8 @@ This file defines `scaleRoots p s` for a polynomial `p` in one variable and a ri be the polynomial with root `r * s` for each root `r` of `p` and proves some basic results about it. -/ +@[expose] public section + variable {R S A K : Type*} diff --git a/Mathlib/RingTheory/Polynomial/Selmer.lean b/Mathlib/RingTheory/Polynomial/Selmer.lean index a9f87f48140418..76dc6b43789ec2 100644 --- a/Mathlib/RingTheory/Polynomial/Selmer.lean +++ b/Mathlib/RingTheory/Polynomial/Selmer.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Analysis.Complex.Polynomial.UnitTrinomial -import Mathlib.RingTheory.Polynomial.GaussLemma -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.Analysis.Complex.Polynomial.UnitTrinomial +public import Mathlib.RingTheory.Polynomial.GaussLemma +public import Mathlib.Tactic.LinearCombination /-! # Irreducibility of Selmer Polynomials @@ -19,6 +21,8 @@ This file proves irreducibility of the Selmer polynomials `X ^ n - X - 1`. TODO: Show that the Selmer polynomials have full Galois group. -/ +@[expose] public section + namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/SeparableDegree.lean b/Mathlib/RingTheory/Polynomial/SeparableDegree.lean index 45c865a7e96c4e..85c755c07fd0dc 100644 --- a/Mathlib/RingTheory/Polynomial/SeparableDegree.lean +++ b/Mathlib/RingTheory/Polynomial/SeparableDegree.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Jakob Scholbach. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jakob Scholbach -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.FieldTheory.Separable +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.FieldTheory.Separable /-! @@ -33,6 +35,8 @@ This file contains basics about the separable degree of a polynomial. separable degree, degree, polynomial -/ +@[expose] public section + noncomputable section namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/ShiftedLegendre.lean b/Mathlib/RingTheory/Polynomial/ShiftedLegendre.lean index 11972ea38471f3..83ad88c954cf85 100644 --- a/Mathlib/RingTheory/Polynomial/ShiftedLegendre.lean +++ b/Mathlib/RingTheory/Polynomial/ShiftedLegendre.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Junqi Liu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junqi Liu, Jinzhao Pan -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative /-! # shifted Legendre Polynomials @@ -26,6 +28,8 @@ polynomial in `ℤ[X]`. We prove some basic properties of the Legendre polynomia shifted Legendre polynomials, derivative -/ +@[expose] public section + open Nat BigOperators Finset namespace Polynomial diff --git a/Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean b/Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean index f19825a814fae7..65441fac4dc39f 100644 --- a/Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean +++ b/Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Qinchuan Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Qinchuan Zhang -/ -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.LinearCombination -import Mathlib.RingTheory.Polynomial.Vieta +module + +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.LinearCombination +public import Mathlib.RingTheory.Polynomial.Vieta /-! # Vieta's Formula for polynomial of small degrees. -/ +@[expose] public section + namespace Polynomial variable {R T S : Type*} diff --git a/Mathlib/RingTheory/Polynomial/Tower.lean b/Mathlib/RingTheory/Polynomial/Tower.lean index b8d94b30dc8c59..650ddaf615cebe 100644 --- a/Mathlib/RingTheory/Polynomial/Tower.lean +++ b/Mathlib/RingTheory/Polynomial/Tower.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yuyang Zhao -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.Polynomial.AlgebraMap +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.Polynomial.AlgebraMap /-! # Algebra towers for polynomial @@ -17,6 +19,8 @@ When you update this file, you can also try to make a corresponding update in `RingTheory.MvPolynomial.Tower`. -/ +@[expose] public section + open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/UniqueFactorization.lean b/Mathlib/RingTheory/Polynomial/UniqueFactorization.lean index 6ad478b7a9f0fa..6845b3e05ec018 100644 --- a/Mathlib/RingTheory/Polynomial/UniqueFactorization.lean +++ b/Mathlib/RingTheory/Polynomial/UniqueFactorization.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.RingTheory.Polynomial.Content -import Mathlib.RingTheory.UniqueFactorizationDomain.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Finite -import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid +module + +public import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.Polynomial.Content +public import Mathlib.RingTheory.UniqueFactorizationDomain.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Finite +public import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid /-! # Unique factorization for univariate and multivariate polynomials @@ -20,6 +22,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.GCDMonoid number of variables). -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/Polynomial/Vieta.lean b/Mathlib/RingTheory/Polynomial/Vieta.lean index 3b409d9bec96a4..c1946b74c815ef 100644 --- a/Mathlib/RingTheory/Polynomial/Vieta.lean +++ b/Mathlib/RingTheory/Polynomial/Vieta.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hanting Zhang -/ -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs +module + +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.RingTheory.MvPolynomial.Symmetric.Defs /-! # Vieta's Formula @@ -22,6 +24,8 @@ we derive `Polynomial.coeff_eq_esymm_roots_of_card`, the relationship between th the roots of `p` for a polynomial `p` that splits (i.e. having as many roots as its degree). -/ +@[expose] public section + open Finset Polynomial namespace Multiset diff --git a/Mathlib/RingTheory/Polynomial/Wronskian.lean b/Mathlib/RingTheory/Polynomial/Wronskian.lean index d5cc4959cda486..6db9139024104b 100644 --- a/Mathlib/RingTheory/Polynomial/Wronskian.lean +++ b/Mathlib/RingTheory/Polynomial/Wronskian.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Jineon Baek and Seewoo Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jineon Baek, Seewoo Lee -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Derivative -import Mathlib.LinearAlgebra.SesquilinearForm.Basic -import Mathlib.RingTheory.Coprime.Basic +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Derivative +public import Mathlib.LinearAlgebra.SesquilinearForm.Basic +public import Mathlib.RingTheory.Coprime.Basic /-! # Wronskian of a pair of polynomial @@ -27,6 +29,8 @@ We also prove basic properties of it. - Define Wronskian for n-tuple of polynomials, not necessarily two. -/ +@[expose] public section + noncomputable section open scoped Polynomial diff --git a/Mathlib/RingTheory/PolynomialAlgebra.lean b/Mathlib/RingTheory/PolynomialAlgebra.lean index cd69b09056803b..d84da39a1cd54a 100644 --- a/Mathlib/RingTheory/PolynomialAlgebra.lean +++ b/Mathlib/RingTheory/PolynomialAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.RingTheory.IsTensorProduct +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.RingTheory.IsTensorProduct /-! # Base change of polynomial algebras @@ -12,6 +14,8 @@ import Mathlib.RingTheory.IsTensorProduct Given `[CommSemiring R] [Semiring A] [Algebra R A]` we show `A[X] ≃ₐ[R] (A ⊗[R] R[X])`. -/ +@[expose] public section + -- This file should not become entangled with `RingTheory/MatrixAlgebra`. assert_not_exists Matrix diff --git a/Mathlib/RingTheory/PolynomialLaw/Basic.lean b/Mathlib/RingTheory/PolynomialLaw/Basic.lean index e7052b4e84af8d..ed23ab7468e9f1 100644 --- a/Mathlib/RingTheory/PolynomialLaw/Basic.lean +++ b/Mathlib/RingTheory/PolynomialLaw/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir & María-Inés de Frutos-Fernández. Al Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir & María-Inés de Frutos-Fernández -/ -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.TensorProduct.Associator +module + +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.TensorProduct.Associator /-! # Polynomial laws on modules @@ -42,6 +44,8 @@ Annales scientifiques de l’École Normale Supérieure 80 (3): 213‑348](Roby- -/ +@[expose] public section + universe u noncomputable section PolynomialLaw diff --git a/Mathlib/RingTheory/PowerBasis.lean b/Mathlib/RingTheory/PowerBasis.lean index 304e9983ab748d..d56f1d763e1802 100644 --- a/Mathlib/RingTheory/PowerBasis.lean +++ b/Mathlib/RingTheory/PowerBasis.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.FieldTheory.Minpoly.Field -import Mathlib.LinearAlgebra.SModEq -import Mathlib.RingTheory.Ideal.BigOperators +module + +public import Mathlib.FieldTheory.Minpoly.Field +public import Mathlib.LinearAlgebra.SModEq +public import Mathlib.RingTheory.Ideal.BigOperators /-! # Power basis @@ -40,6 +42,8 @@ power basis, powerbasis -/ +@[expose] public section + open Finsupp Module Polynomial variable {R S T : Type*} [CommRing R] [Ring S] [Algebra R S] diff --git a/Mathlib/RingTheory/PowerSeries/Basic.lean b/Mathlib/RingTheory/PowerSeries/Basic.lean index 6b81cf3aff5fc5..ce2f36b6eea0c4 100644 --- a/Mathlib/RingTheory/PowerSeries/Basic.lean +++ b/Mathlib/RingTheory/PowerSeries/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ -import Mathlib.Algebra.CharP.Defs -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Basic -import Mathlib.RingTheory.MvPowerSeries.Basic -import Mathlib.Tactic.MoveAdd -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.RingTheory.Ideal.Basic +module + +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Basic +public import Mathlib.RingTheory.MvPowerSeries.Basic +public import Mathlib.Tactic.MoveAdd +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.RingTheory.Ideal.Basic /-! # Formal power series (in one variable) @@ -46,6 +48,8 @@ Occasionally this leads to proofs that are uglier than expected. -/ +@[expose] public section + noncomputable section open Finset (antidiagonal mem_antidiagonal) diff --git a/Mathlib/RingTheory/PowerSeries/Binomial.lean b/Mathlib/RingTheory/PowerSeries/Binomial.lean index 9cfdaeabea4ee4..3e92eb09f1e21e 100644 --- a/Mathlib/RingTheory/PowerSeries/Binomial.lean +++ b/Mathlib/RingTheory/PowerSeries/Binomial.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Scott Carnahan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Scott Carnahan -/ -import Mathlib.RingTheory.Binomial -import Mathlib.RingTheory.PowerSeries.WellKnown +module + +public import Mathlib.RingTheory.Binomial +public import Mathlib.RingTheory.PowerSeries.WellKnown /-! # Binomial Power Series @@ -27,6 +29,8 @@ commutative binomial ring `R`. -/ +@[expose] public section + open Finset BigOperators suppress_compilation diff --git a/Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean b/Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean index e4dceb9cf81516..bbdd8a027f97fe 100644 --- a/Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean +++ b/Mathlib/RingTheory/PowerSeries/CoeffMulMem.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.PowerSeries.Basic +module + +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.PowerSeries.Basic /-! @@ -33,6 +35,8 @@ import Mathlib.RingTheory.PowerSeries.Basic -/ +@[expose] public section + namespace PowerSeries variable {A : Type*} [Semiring A] {I J : Ideal A} {f g : A⟦X⟧} (n : ℕ) diff --git a/Mathlib/RingTheory/PowerSeries/Derivative.lean b/Mathlib/RingTheory/PowerSeries/Derivative.lean index 608a6582e812dc..1d8503d210309e 100644 --- a/Mathlib/RingTheory/PowerSeries/Derivative.lean +++ b/Mathlib/RingTheory/PowerSeries/Derivative.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Richard M. Hill. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Richard M. Hill -/ -import Mathlib.RingTheory.PowerSeries.Trunc -import Mathlib.RingTheory.PowerSeries.Inverse -import Mathlib.RingTheory.Derivation.Basic +module + +public import Mathlib.RingTheory.PowerSeries.Trunc +public import Mathlib.RingTheory.PowerSeries.Inverse +public import Mathlib.RingTheory.Derivation.Basic /-! # Definitions @@ -24,6 +26,8 @@ $\exp ( \log (1+X)) = 1+X$ by differentiating twice. This is abbreviated `d⁄dX R`. -/ +@[expose] public section + namespace PowerSeries open Polynomial Derivation Nat diff --git a/Mathlib/RingTheory/PowerSeries/Evaluation.lean b/Mathlib/RingTheory/PowerSeries/Evaluation.lean index 2af1a2748b6cda..50e36c33b3834f 100644 --- a/Mathlib/RingTheory/PowerSeries/Evaluation.lean +++ b/Mathlib/RingTheory/PowerSeries/Evaluation.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ +module -import Mathlib.RingTheory.MvPowerSeries.Evaluation -import Mathlib.RingTheory.PowerSeries.PiTopology -import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.RingTheory.MvPowerSeries.Evaluation +public import Mathlib.RingTheory.PowerSeries.PiTopology +public import Mathlib.Algebra.MvPolynomial.Equiv /-! # Evaluation of power series @@ -42,6 +43,8 @@ the following lemmas furnish the properties of evaluation: We refer to the documentation of `MvPowerSeries.eval₂` for more details. -/ + +@[expose] public section namespace PowerSeries open WithPiTopology diff --git a/Mathlib/RingTheory/PowerSeries/GaussNorm.lean b/Mathlib/RingTheory/PowerSeries/GaussNorm.lean index 9a0c2802f325b8..02a7cea4d4d21b 100644 --- a/Mathlib/RingTheory/PowerSeries/GaussNorm.lean +++ b/Mathlib/RingTheory/PowerSeries/GaussNorm.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Fabrizio Barroero. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fabrizio Barroero -/ +module -import Mathlib.Data.Real.Archimedean -import Mathlib.RingTheory.PowerSeries.Order +public import Mathlib.Data.Real.Archimedean +public import Mathlib.RingTheory.PowerSeries.Order /-! # Gauss norm for power series @@ -28,6 +29,8 @@ In case `f` is a polynomial, `v` is a non-negative function with `v 0 = 0` and ` zero. -/ +@[expose] public section + namespace PowerSeries variable {R F : Type*} [Semiring R] [FunLike F R ℝ] (v : F) (c : ℝ) (f : R⟦X⟧) diff --git a/Mathlib/RingTheory/PowerSeries/Inverse.lean b/Mathlib/RingTheory/PowerSeries/Inverse.lean index 43858f332da2bc..5c9be3f1307672 100644 --- a/Mathlib/RingTheory/PowerSeries/Inverse.lean +++ b/Mathlib/RingTheory/PowerSeries/Inverse.lean @@ -3,14 +3,15 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau, María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ +module -import Mathlib.Algebra.Polynomial.FieldDivision -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.MvPowerSeries.Inverse -import Mathlib.RingTheory.PowerSeries.NoZeroDivisors -import Mathlib.RingTheory.LocalRing.ResidueField.Defs -import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity -import Mathlib.Data.ENat.Lattice +public import Mathlib.Algebra.Polynomial.FieldDivision +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.MvPowerSeries.Inverse +public import Mathlib.RingTheory.PowerSeries.NoZeroDivisors +public import Mathlib.RingTheory.LocalRing.ResidueField.Defs +public import Mathlib.RingTheory.UniqueFactorizationDomain.Multiplicity +public import Mathlib.Data.ENat.Lattice /-! # Formal power series - Inverses @@ -27,6 +28,8 @@ field of `k⟦X⟧` and `k`, when `k` is a field. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean b/Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean index b7f7f1a4003d4b..e4ecf665cf4173 100644 --- a/Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean +++ b/Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ -import Mathlib.RingTheory.PowerSeries.Order -import Mathlib.RingTheory.Ideal.Maps +module + +public import Mathlib.RingTheory.PowerSeries.Order +public import Mathlib.RingTheory.Ideal.Maps /-! # Power series over rings with no zero divisors @@ -20,6 +22,8 @@ If `R` has `NoZeroDivisors`, then so does `R⟦X⟧`. -/ +@[expose] public section + variable {R : Type*} diff --git a/Mathlib/RingTheory/PowerSeries/Order.lean b/Mathlib/RingTheory/PowerSeries/Order.lean index c5741611f83c8e..1196425d8f7e97 100644 --- a/Mathlib/RingTheory/PowerSeries/Order.lean +++ b/Mathlib/RingTheory/PowerSeries/Order.lean @@ -3,10 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ +module -import Mathlib.Algebra.CharP.Defs -import Mathlib.RingTheory.Multiplicity -import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.Algebra.CharP.Defs +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.RingTheory.PowerSeries.Basic /-! # Formal power series (in one variable) - Order @@ -24,6 +25,8 @@ dividing out the largest power of X that divides `f`, that is its order. This is proving that `R⟦X⟧` is a normalization monoid, which is done in `PowerSeries.Inverse`. -/ + +@[expose] public section noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/PowerSeries/PiTopology.lean b/Mathlib/RingTheory/PowerSeries/PiTopology.lean index d5328006dcce79..e16ab11e8a7b1b 100644 --- a/Mathlib/RingTheory/PowerSeries/PiTopology.lean +++ b/Mathlib/RingTheory/PowerSeries/PiTopology.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.RingTheory.MvPowerSeries.PiTopology -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.RingTheory.PowerSeries.Order -import Mathlib.RingTheory.PowerSeries.Trunc -import Mathlib.LinearAlgebra.Finsupp.Pi -import Mathlib.Topology.Algebra.InfiniteSum.Ring +module + +public import Mathlib.RingTheory.MvPowerSeries.PiTopology +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.RingTheory.PowerSeries.Order +public import Mathlib.RingTheory.PowerSeries.Trunc +public import Mathlib.LinearAlgebra.Finsupp.Pi +public import Mathlib.Topology.Algebra.InfiniteSum.Ring /-! # Product topology on power series @@ -48,6 +50,8 @@ TODO: add the similar result for the series of homogeneous components. -/ +@[expose] public section + namespace PowerSeries diff --git a/Mathlib/RingTheory/PowerSeries/Restricted.lean b/Mathlib/RingTheory/PowerSeries/Restricted.lean index e2606bcc34015a..956fa5ce61d765 100644 --- a/Mathlib/RingTheory/PowerSeries/Restricted.lean +++ b/Mathlib/RingTheory/PowerSeries/Restricted.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 William Coram. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: William Coram -/ +module -import Mathlib.Analysis.Normed.Group.Ultra -import Mathlib.Analysis.RCLike.Basic -import Mathlib.RingTheory.PowerSeries.Basic -import Mathlib.Tactic.Bound +public import Mathlib.Analysis.Normed.Group.Ultra +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.RingTheory.PowerSeries.Basic +public import Mathlib.Tactic.Bound /-! # Restricted power series @@ -17,6 +18,8 @@ import Mathlib.Tactic.Bound -/ +@[expose] public section + namespace PowerSeries variable {R : Type*} [NormedRing R] (c : ℝ) diff --git a/Mathlib/RingTheory/PowerSeries/Substitution.lean b/Mathlib/RingTheory/PowerSeries/Substitution.lean index bce1546b4980b1..542d489891e63b 100644 --- a/Mathlib/RingTheory/PowerSeries/Substitution.lean +++ b/Mathlib/RingTheory/PowerSeries/Substitution.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Antoine Chambert-Loir, María Inés de Frutos Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos Fernández -/ +module -import Mathlib.RingTheory.MvPowerSeries.Substitution -import Mathlib.RingTheory.PowerSeries.Evaluation +public import Mathlib.RingTheory.MvPowerSeries.Substitution +public import Mathlib.RingTheory.PowerSeries.Evaluation /-! # Substitutions in power series @@ -20,6 +21,8 @@ do not immediately apply and a “primed” version is provided here. -/ +@[expose] public section + namespace PowerSeries variable diff --git a/Mathlib/RingTheory/PowerSeries/Trunc.lean b/Mathlib/RingTheory/PowerSeries/Trunc.lean index 1dd829216c693c..68c28c1f8ab258 100644 --- a/Mathlib/RingTheory/PowerSeries/Trunc.lean +++ b/Mathlib/RingTheory/PowerSeries/Trunc.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kenny Lau -/ -import Mathlib.Algebra.Polynomial.Coeff -import Mathlib.Algebra.Polynomial.Degree.Lemmas -import Mathlib.RingTheory.PowerSeries.Basic +module + +public import Mathlib.Algebra.Polynomial.Coeff +public import Mathlib.Algebra.Polynomial.Degree.Lemmas +public import Mathlib.RingTheory.PowerSeries.Basic /-! @@ -17,6 +19,8 @@ and `0` otherwise. -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean b/Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean index d93c31cfcf865c..66f26a354f9667 100644 --- a/Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean +++ b/Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished -import Mathlib.RingTheory.PowerSeries.CoeffMulMem -import Mathlib.RingTheory.PowerSeries.Inverse -import Mathlib.RingTheory.PowerSeries.Trunc +module + +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.Polynomial.Eisenstein.Distinguished +public import Mathlib.RingTheory.PowerSeries.CoeffMulMem +public import Mathlib.RingTheory.PowerSeries.Inverse +public import Mathlib.RingTheory.PowerSeries.Trunc /-! @@ -87,6 +89,8 @@ such ring has only one maximal ideal, and hence it is a complete local ring. -/ +@[expose] public section + open scoped Polynomial namespace PowerSeries diff --git a/Mathlib/RingTheory/PowerSeries/WellKnown.lean b/Mathlib/RingTheory/PowerSeries/WellKnown.lean index 80147ffe221538..fb1e355f7963e8 100644 --- a/Mathlib/RingTheory/PowerSeries/WellKnown.lean +++ b/Mathlib/RingTheory/PowerSeries/WellKnown.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Data.Nat.Cast.Field -import Mathlib.RingTheory.PowerSeries.Basic +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Data.Nat.Cast.Field +public import Mathlib.RingTheory.PowerSeries.Basic /-! # Definition of well-known power series @@ -24,6 +26,8 @@ In this file we define the following power series: exponential functions. -/ +@[expose] public section + namespace PowerSeries diff --git a/Mathlib/RingTheory/Presentation.lean b/Mathlib/RingTheory/Presentation.lean index 899423053dea3b..5f34fa339e3cfd 100644 --- a/Mathlib/RingTheory/Presentation.lean +++ b/Mathlib/RingTheory/Presentation.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Extension.Presentation.Basic +module + +public import Mathlib.RingTheory.Extension.Presentation.Basic deprecated_module (since := "2025-05-11") diff --git a/Mathlib/RingTheory/Prime.lean b/Mathlib/RingTheory/Prime.lean index 26748fbbde3d52..2cf67e14cf83d3 100644 --- a/Mathlib/RingTheory/Prime.lean +++ b/Mathlib/RingTheory/Prime.lean @@ -3,17 +3,21 @@ Copyright (c) 2020 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes -/ -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Algebra.Prime.Defs -import Mathlib.Algebra.Ring.Units -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Algebra.Prime.Defs +public import Mathlib.Algebra.Ring.Units +public import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # Prime elements in rings This file contains lemmas about prime elements of commutative rings. -/ +@[expose] public section + section CancelCommMonoidWithZero diff --git a/Mathlib/RingTheory/PrincipalIdealDomain.lean b/Mathlib/RingTheory/PrincipalIdealDomain.lean index b1fb5b83c01883..b99b0d7832fc3e 100644 --- a/Mathlib/RingTheory/PrincipalIdealDomain.lean +++ b/Mathlib/RingTheory/PrincipalIdealDomain.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Hughes, Morenikeji Neri -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.EuclideanDomain.Field -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.RingTheory.Ideal.Prod -import Mathlib.RingTheory.Ideal.Nonunits -import Mathlib.RingTheory.Noetherian.UniqueFactorizationDomain +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.EuclideanDomain.Field +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.RingTheory.Ideal.Prod +public import Mathlib.RingTheory.Ideal.Nonunits +public import Mathlib.RingTheory.Noetherian.UniqueFactorizationDomain /-! # Principal ideal rings, principal ideal domains, and Bézout rings @@ -36,6 +38,8 @@ Theorems about PID's are in the `PrincipalIdealRing` namespace. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean b/Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean index 966531ac1df58e..cd787b7c0a7cd1 100644 --- a/Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean +++ b/Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Chris Hughes. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.RingTheory.Ideal.Oka -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.RingTheory.Ideal.Oka +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Principal ideal domains and prime ideals @@ -15,6 +17,8 @@ import Mathlib.RingTheory.PrincipalIdealDomain ring. -/ +@[expose] public section + variable {R : Type*} [CommSemiring R] namespace Ideal diff --git a/Mathlib/RingTheory/QuotSMulTop.lean b/Mathlib/RingTheory/QuotSMulTop.lean index 5b60e2a8e0aaa1..2e2ffa03a99999 100644 --- a/Mathlib/RingTheory/QuotSMulTop.lean +++ b/Mathlib/RingTheory/QuotSMulTop.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Brendan Murphy. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Brendan Murphy -/ -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.TensorProduct.Quotient -import Mathlib.LinearAlgebra.TensorProduct.RightExactness +module + +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.TensorProduct.Quotient +public import Mathlib.LinearAlgebra.TensorProduct.RightExactness /-! # Reducing a module modulo an element of the ring @@ -21,6 +23,8 @@ of fiddling with simple tensors. module, commutative algebra -/ +@[expose] public section + open scoped Pointwise variable {R} [CommRing R] (r : R) (M : Type*) {M' M''} diff --git a/Mathlib/RingTheory/Radical.lean b/Mathlib/RingTheory/Radical.lean index d9282050681607..2cdfec916ec729 100644 --- a/Mathlib/RingTheory/Radical.lean +++ b/Mathlib/RingTheory/Radical.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Jineon Baek, Seewoo Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jineon Baek, Seewoo Lee, Bhavik Mehta, Arend Mellendijk -/ -import Mathlib.Algebra.EuclideanDomain.Basic -import Mathlib.Algebra.Order.Group.Finset -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors -import Mathlib.RingTheory.UniqueFactorizationDomain.Nat -import Mathlib.RingTheory.Nilpotent.Basic -import Mathlib.Data.Nat.PrimeFin -import Mathlib.Algebra.Squarefree.Basic +module + +public import Mathlib.Algebra.EuclideanDomain.Basic +public import Mathlib.Algebra.Order.Group.Finset +public import Mathlib.RingTheory.Coprime.Lemmas +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +public import Mathlib.RingTheory.UniqueFactorizationDomain.Nat +public import Mathlib.RingTheory.Nilpotent.Basic +public import Mathlib.Data.Nat.PrimeFin +public import Mathlib.Algebra.Squarefree.Basic /-! # Radical of an element of a unique factorization normalization monoid @@ -54,6 +56,8 @@ This is different from the radical of an ideal. `Ideal.radical (Ideal.span {a}) = Ideal.span {radical a}`. -/ +@[expose] public section + noncomputable section namespace UniqueFactorizationMonoid diff --git a/Mathlib/RingTheory/ReesAlgebra.lean b/Mathlib/RingTheory/ReesAlgebra.lean index bac6110bf8b1e3..c0d217139ad82d 100644 --- a/Mathlib/RingTheory/ReesAlgebra.lean +++ b/Mathlib/RingTheory/ReesAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.BigOperators -import Mathlib.RingTheory.FiniteType +module + +public import Mathlib.RingTheory.Ideal.BigOperators +public import Mathlib.RingTheory.FiniteType /-! @@ -23,6 +25,8 @@ implies that the rees algebra over a Noetherian ring is still Noetherian. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Regular/Category.lean b/Mathlib/RingTheory/Regular/Category.lean index f97a8c3650e588..58af83ccc63c96 100644 --- a/Mathlib/RingTheory/Regular/Category.lean +++ b/Mathlib/RingTheory/Regular/Category.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jingting Wang, Wanyi He, Nailin Guan -/ -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.RingTheory.QuotSMulTop +module + +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.RingTheory.QuotSMulTop /-! # Categorical constructions for `IsSMulRegular` -/ +@[expose] public section + universe u v w variable {R : Type u} [CommRing R] (M : ModuleCat.{v} R) diff --git a/Mathlib/RingTheory/Regular/Depth.lean b/Mathlib/RingTheory/Regular/Depth.lean index bee3d072c3425e..b6cabf59b21550 100644 --- a/Mathlib/RingTheory/Regular/Depth.lean +++ b/Mathlib/RingTheory/Regular/Depth.lean @@ -3,13 +3,15 @@ Copyright (c) 2025 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Yi Song -/ -import Mathlib.Algebra.Module.FinitePresentation -import Mathlib.LinearAlgebra.Dual.Lemmas -import Mathlib.RingTheory.Ideal.AssociatedPrime.Finiteness -import Mathlib.RingTheory.Ideal.AssociatedPrime.Localization -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.Regular.IsSMulRegular -import Mathlib.RingTheory.Support +module + +public import Mathlib.Algebra.Module.FinitePresentation +public import Mathlib.LinearAlgebra.Dual.Lemmas +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Finiteness +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Localization +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.Regular.IsSMulRegular +public import Mathlib.RingTheory.Support /-! @@ -26,6 +28,8 @@ This is the case if `Depth[I](M) = 0`. -/ +@[expose] public section + open IsLocalRing LinearMap Module namespace IsSMulRegular diff --git a/Mathlib/RingTheory/Regular/Flat.lean b/Mathlib/RingTheory/Regular/Flat.lean index 2d5d2fa7c93b92..af67d2ded74427 100644 --- a/Mathlib/RingTheory/Regular/Flat.lean +++ b/Mathlib/RingTheory/Regular/Flat.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu, Nailin Guan -/ -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.Regular.RegularSequence +module + +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.Regular.RegularSequence /-! # `RingTheory.Sequence.IsWeaklyRegular` is stable under flat base change @@ -17,6 +19,8 @@ import Mathlib.RingTheory.Regular.RegularSequence `N`-sequence. -/ +@[expose] public section + namespace RingTheory.Sequence open Module diff --git a/Mathlib/RingTheory/Regular/IsSMulRegular.lean b/Mathlib/RingTheory/Regular/IsSMulRegular.lean index 9ba8dcd48ebd8a..4716257da46938 100644 --- a/Mathlib/RingTheory/Regular/IsSMulRegular.lean +++ b/Mathlib/RingTheory/Regular/IsSMulRegular.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Brendan Murphy. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Brendan Murphy -/ -import Mathlib.Algebra.Module.Torsion -import Mathlib.RingTheory.Flat.Basic -import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic -import Mathlib.RingTheory.QuotSMulTop +module + +public import Mathlib.Algebra.Module.Torsion +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.RingTheory.Ideal.AssociatedPrime.Basic +public import Mathlib.RingTheory.QuotSMulTop /-! # Lemmas about the `IsSMulRegular` Predicate @@ -24,6 +26,8 @@ it's supposed to import a minimal amount of the algebraic hierarchy. module, regular element, commutative algebra -/ +@[expose] public section + section Congr variable {R S M N} [Semiring R] [Semiring S] {σ : R →+* S} {σ' : S →+* R} diff --git a/Mathlib/RingTheory/Regular/RegularSequence.lean b/Mathlib/RingTheory/Regular/RegularSequence.lean index fad68714e1a60c..bc72b1dc0a26b7 100644 --- a/Mathlib/RingTheory/Regular/RegularSequence.lean +++ b/Mathlib/RingTheory/Regular/RegularSequence.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Brendan Murphy. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Brendan Murphy -/ -import Mathlib.RingTheory.Artinian.Module -import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic -import Mathlib.RingTheory.Nakayama -import Mathlib.RingTheory.Regular.IsSMulRegular +module + +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic +public import Mathlib.RingTheory.Nakayama +public import Mathlib.RingTheory.Regular.IsSMulRegular /-! # Regular sequences and weakly regular sequences @@ -23,6 +25,8 @@ TODO: Koszul regular sequences, H_1-regular sequences, quasi-regular sequences, module, regular element, regular sequence, commutative algebra -/ +@[expose] public section + universe u v open scoped Pointwise diff --git a/Mathlib/RingTheory/RingHom/Bijective.lean b/Mathlib/RingTheory/RingHom/Bijective.lean index d432ac63a971e6..0891422603ff6b 100644 --- a/Mathlib/RingTheory/RingHom/Bijective.lean +++ b/Mathlib/RingTheory/RingHom/Bijective.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.LocalProperties.Exactness +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.LocalProperties.Exactness /-! # Meta properties of bijective ring homomorphisms @@ -17,6 +19,8 @@ We don't define a `RingHom.Bijective` predicate, but use `fun f ↦ Function.Bij the ring hom property. -/ +@[expose] public section + open TensorProduct variable {R S : Type*} [CommRing R] [CommRing S] diff --git a/Mathlib/RingTheory/RingHom/Etale.lean b/Mathlib/RingTheory/RingHom/Etale.lean index ead0712dc39ac5..f4967cb5f30009 100644 --- a/Mathlib/RingTheory/RingHom/Etale.lean +++ b/Mathlib/RingTheory/RingHom/Etale.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.RingHom.Smooth -import Mathlib.RingTheory.RingHom.Unramified +module + +public import Mathlib.RingTheory.RingHom.Smooth +public import Mathlib.RingTheory.RingHom.Unramified /-! # Étale ring homomorphisms @@ -12,6 +14,8 @@ import Mathlib.RingTheory.RingHom.Unramified We show the meta properties of étale morphisms. -/ +@[expose] public section + universe u namespace RingHom diff --git a/Mathlib/RingTheory/RingHom/FaithfullyFlat.lean b/Mathlib/RingTheory/RingHom/FaithfullyFlat.lean index 6a778a0a331526..da8d951434f67c 100644 --- a/Mathlib/RingTheory/RingHom/FaithfullyFlat.lean +++ b/Mathlib/RingTheory/RingHom/FaithfullyFlat.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Joël Riou -/ -import Mathlib.RingTheory.RingHom.Flat +module + +public import Mathlib.RingTheory.RingHom.Flat /-! # Faithfully flat ring maps @@ -12,6 +14,8 @@ A ring map `f : R →+* S` is faithfully flat if `S` is faithfully flat as an `R the same as being flat and a surjection on prime spectra. -/ +@[expose] public section + namespace RingHom variable {R S : Type*} [CommRing R] [CommRing S] {f : R →+* S} diff --git a/Mathlib/RingTheory/RingHom/Finite.lean b/Mathlib/RingTheory/RingHom/Finite.lean index 56595db7a9b5ee..9799a0798311d2 100644 --- a/Mathlib/RingTheory/RingHom/Finite.lean +++ b/Mathlib/RingTheory/RingHom/Finite.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Localization.Integer -import Mathlib.RingTheory.TensorProduct.Finite +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Localization.Integer +public import Mathlib.RingTheory.TensorProduct.Finite /-! @@ -22,6 +24,8 @@ Let `R` be a commutative ring, `S` is an `R`-algebra, `M` be a submonoid of `R`. -/ +@[expose] public section + namespace RingHom diff --git a/Mathlib/RingTheory/RingHom/FinitePresentation.lean b/Mathlib/RingTheory/RingHom/FinitePresentation.lean index 78e595b7a3df33..4e5525628fcd68 100644 --- a/Mathlib/RingTheory/RingHom/FinitePresentation.lean +++ b/Mathlib/RingTheory/RingHom/FinitePresentation.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Localization.Finiteness -import Mathlib.RingTheory.RingHom.FiniteType -import Mathlib.RingTheory.Localization.Away.AdjoinRoot +module + +public import Mathlib.RingTheory.Localization.Finiteness +public import Mathlib.RingTheory.RingHom.FiniteType +public import Mathlib.RingTheory.Localization.Away.AdjoinRoot /-! @@ -15,6 +17,8 @@ The main result is `RingHom.finitePresentation_isLocal`. -/ +@[expose] public section + open scoped Pointwise TensorProduct namespace Algebra.FinitePresentation diff --git a/Mathlib/RingTheory/RingHom/FiniteType.lean b/Mathlib/RingTheory/RingHom/FiniteType.lean index d3e51f3dae7823..e82e1a8505a429 100644 --- a/Mathlib/RingTheory/RingHom/FiniteType.lean +++ b/Mathlib/RingTheory/RingHom/FiniteType.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.FiniteStability -import Mathlib.RingTheory.Localization.InvSubmonoid -import Mathlib.RingTheory.RingHom.Finite +module + +public import Mathlib.RingTheory.FiniteStability +public import Mathlib.RingTheory.Localization.InvSubmonoid +public import Mathlib.RingTheory.RingHom.Finite /-! @@ -23,6 +25,8 @@ Let `R` be a commutative ring, `S` is an `R`-algebra, `M` be a submonoid of `R`. -/ +@[expose] public section + section Algebra open scoped Pointwise TensorProduct diff --git a/Mathlib/RingTheory/RingHom/Flat.lean b/Mathlib/RingTheory/RingHom/Flat.lean index 28cada86f15861..517ba0a03b9a86 100644 --- a/Mathlib/RingTheory/RingHom/Flat.lean +++ b/Mathlib/RingTheory/RingHom/Flat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.Flat.Localization -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Ideal.GoingDown +module + +public import Mathlib.RingTheory.Flat.Localization +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Ideal.GoingDown /-! # Flat ring homomorphisms @@ -14,6 +16,8 @@ In this file we define flat ring homomorphisms and show their meta properties. -/ +@[expose] public section + universe u v open TensorProduct diff --git a/Mathlib/RingTheory/RingHom/Injective.lean b/Mathlib/RingTheory/RingHom/Injective.lean index 07e8adfbcc28db..7975629adde771 100644 --- a/Mathlib/RingTheory/RingHom/Injective.lean +++ b/Mathlib/RingTheory/RingHom/Injective.lean @@ -3,10 +3,14 @@ Copyright (c) 2024 Andrew Yang, Qi Ge, Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Qi Ge, Christian Merten -/ -import Mathlib.RingTheory.RingHomProperties +module + +public import Mathlib.RingTheory.RingHomProperties /-! # Meta properties of injective ring homomorphisms -/ +@[expose] public section + lemma _root_.RingHom.injective_stableUnderComposition : RingHom.StableUnderComposition (fun f ↦ Function.Injective f) := by intro R S T _ _ _ f g hf hg diff --git a/Mathlib/RingTheory/RingHom/Integral.lean b/Mathlib/RingTheory/RingHom/Integral.lean index e7c90de55906f1..6acf44867d309c 100644 --- a/Mathlib/RingTheory/RingHom/Integral.lean +++ b/Mathlib/RingTheory/RingHom/Integral.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Localization.Integral +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Localization.Integral /-! @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Localization.Integral -/ +@[expose] public section + namespace RingHom diff --git a/Mathlib/RingTheory/RingHom/Locally.lean b/Mathlib/RingTheory/RingHom/Locally.lean index 7305d2efb025ac..125c30622511f8 100644 --- a/Mathlib/RingTheory/RingHom/Locally.lean +++ b/Mathlib/RingTheory/RingHom/Locally.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Localization.BaseChange -import Mathlib.RingTheory.Localization.Away.Lemmas +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Localization.BaseChange +public import Mathlib.RingTheory.Localization.Away.Lemmas /-! # Target local closure of ring homomorphism properties @@ -40,6 +42,8 @@ composition, base change, etc., so is `Locally P`. -/ +@[expose] public section + universe u v open TensorProduct diff --git a/Mathlib/RingTheory/RingHom/OpenImmersion.lean b/Mathlib/RingTheory/RingHom/OpenImmersion.lean index 6e32b610e33235..45d7eb59fd15a1 100644 --- a/Mathlib/RingTheory/RingHom/OpenImmersion.lean +++ b/Mathlib/RingTheory/RingHom/OpenImmersion.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ +module -import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.LocalProperties.Basic /-! # Standard Open Immersion @@ -13,6 +14,8 @@ morphism is a localization map away from some element. We also define the equiva `Algebra.IsStandardOpenImmersion`. -/ +@[expose] public section + universe u namespace Algebra diff --git a/Mathlib/RingTheory/RingHom/Smooth.lean b/Mathlib/RingTheory/RingHom/Smooth.lean index ec117b518444e9..a274b0834d2103 100644 --- a/Mathlib/RingTheory/RingHom/Smooth.lean +++ b/Mathlib/RingTheory/RingHom/Smooth.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.RingHom.FinitePresentation -import Mathlib.RingTheory.Smooth.Locus +module + +public import Mathlib.RingTheory.RingHom.FinitePresentation +public import Mathlib.RingTheory.Smooth.Locus /-! # Smooth ring homomorphisms @@ -13,6 +15,8 @@ In this file we define smooth ring homomorphisms and show their meta properties. -/ +@[expose] public section + universe u variable {R S : Type u} [CommRing R] [CommRing S] diff --git a/Mathlib/RingTheory/RingHom/StandardSmooth.lean b/Mathlib/RingTheory/RingHom/StandardSmooth.lean index 67e6744e580f80..a727db63b13434 100644 --- a/Mathlib/RingTheory/RingHom/StandardSmooth.lean +++ b/Mathlib/RingTheory/RingHom/StandardSmooth.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.RingTheory.Smooth.StandardSmooth -import Mathlib.Tactic.Algebraize +module + +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.RingTheory.Smooth.StandardSmooth +public import Mathlib.Tactic.Algebraize /-! # Standard smooth ring homomorphisms @@ -27,6 +29,8 @@ This contribution was created as part of the AIM workshop "Formalizing algebraic in June 2024. -/ + +@[expose] public section universe t t' w w' u v variable (n m : ℕ) diff --git a/Mathlib/RingTheory/RingHom/Surjective.lean b/Mathlib/RingTheory/RingHom/Surjective.lean index b9731cfe643d73..4f5f6616d60fe3 100644 --- a/Mathlib/RingTheory/RingHom/Surjective.lean +++ b/Mathlib/RingTheory/RingHom/Surjective.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalProperties.Basic +module + +public import Mathlib.RingTheory.LocalProperties.Basic /-! @@ -21,6 +23,8 @@ Let `R` be a commutative ring, `M` be a submonoid of `R`. -/ +@[expose] public section + namespace RingHom diff --git a/Mathlib/RingTheory/RingHom/Unramified.lean b/Mathlib/RingTheory/RingHom/Unramified.lean index 7e48c201c1c297..a94ccfaa056d1b 100644 --- a/Mathlib/RingTheory/RingHom/Unramified.lean +++ b/Mathlib/RingTheory/RingHom/Unramified.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Unramified.Locus -import Mathlib.RingTheory.LocalProperties.Basic +module + +public import Mathlib.RingTheory.Unramified.Locus +public import Mathlib.RingTheory.LocalProperties.Basic /-! @@ -12,6 +14,8 @@ import Mathlib.RingTheory.LocalProperties.Basic -/ +@[expose] public section + namespace RingHom variable {R : Type*} {S : Type*} [CommRing R] [CommRing S] diff --git a/Mathlib/RingTheory/RingHomProperties.lean b/Mathlib/RingTheory/RingHomProperties.lean index 92ee12989459d2..884df1600a0a7b 100644 --- a/Mathlib/RingTheory/RingHomProperties.lean +++ b/Mathlib/RingTheory/RingHomProperties.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.CategoryTheory.Iso -import Mathlib.CategoryTheory.MorphismProperty.Limits -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.IsTensorProduct +module + +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.CategoryTheory.Iso +public import Mathlib.CategoryTheory.MorphismProperty.Limits +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.IsTensorProduct /-! # Properties of ring homomorphisms @@ -24,6 +26,8 @@ The following meta-properties of predicates on ring homomorphisms are defined -/ +@[expose] public section + universe u diff --git a/Mathlib/RingTheory/RingInvo.lean b/Mathlib/RingTheory/RingInvo.lean index d645dd03c33d5d..91840656467cec 100644 --- a/Mathlib/RingTheory/RingInvo.lean +++ b/Mathlib/RingTheory/RingInvo.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Andreas Swerdlow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andreas Swerdlow, Kenny Lau -/ -import Mathlib.Algebra.Ring.Equiv -import Mathlib.Algebra.Ring.Opposite +module + +public import Mathlib.Algebra.Ring.Equiv +public import Mathlib.Algebra.Ring.Opposite /-! # Ring involutions @@ -25,6 +27,8 @@ We provide a coercion to a function `R → Rᵐᵒᵖ`. Ring involution -/ +@[expose] public section + variable {F : Type*} (R : Type*) /-- A ring involution -/ diff --git a/Mathlib/RingTheory/RootsOfUnity/AlgebraicallyClosed.lean b/Mathlib/RingTheory/RootsOfUnity/AlgebraicallyClosed.lean index d9fe8ca5912457..dd8f688a95ef89 100644 --- a/Mathlib/RingTheory/RootsOfUnity/AlgebraicallyClosed.lean +++ b/Mathlib/RingTheory/RootsOfUnity/AlgebraicallyClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity -import Mathlib.NumberTheory.Cyclotomic.Basic +module + +public import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity +public import Mathlib.NumberTheory.Cyclotomic.Basic /-! # Instances for HasEnoughRootsOfUnity @@ -14,6 +16,8 @@ and `n` is not divisible by the characteristic. In particular, when `F` has char this hold for all `n ≠ 0`. -/ +@[expose] public section + variable (F : Type*) [Field F] (n k : ℕ) [NeZero (n : F)] namespace IsSepClosed diff --git a/Mathlib/RingTheory/RootsOfUnity/Basic.lean b/Mathlib/RingTheory/RootsOfUnity/Basic.lean index 0e97c722855d14..e6a9ee49b87d10 100644 --- a/Mathlib/RingTheory/RootsOfUnity/Basic.lean +++ b/Mathlib/RingTheory/RootsOfUnity/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.CharP.Reduced -import Mathlib.RingTheory.IntegralDomain +module + +public import Mathlib.Algebra.CharP.Reduced +public import Mathlib.RingTheory.IntegralDomain -- TODO: remove Mathlib.Algebra.CharP.Reduced and move the last two lemmas to Lemmas /-! @@ -34,6 +36,8 @@ Note that `rootsOfUnity 0 M` is the top subgroup of `Mˣ` (as the condition `ζ^ satisfied for all units). -/ +@[expose] public section + noncomputable section open Polynomial diff --git a/Mathlib/RingTheory/RootsOfUnity/Complex.lean b/Mathlib/RingTheory/RootsOfUnity/Complex.lean index 9c4fac9b165646..fc964566587183 100644 --- a/Mathlib/RingTheory/RootsOfUnity/Complex.lean +++ b/Mathlib/RingTheory/RootsOfUnity/Complex.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Log -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.Tactic.Rify +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Log +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.Tactic.Rify /-! # Complex roots of unity @@ -22,6 +24,8 @@ are exactly the complex numbers `exp (2 * π * I * (i / n))` for `i ∈ Finset.r -/ +@[expose] public section + namespace Complex diff --git a/Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean b/Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean index 55fc8f3da38483..a8fe5a878511da 100644 --- a/Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean +++ b/Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Riccardo Brasca -/ -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +module + +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots /-! # Cyclotomic units. @@ -29,6 +31,8 @@ Often, `Associated a b` is everything one needs, and it is more convenient to us other version for completeness. -/ +@[expose] public section + open Polynomial Finset Nat variable {n i j p : ℕ} {A K : Type*} {ζ : A} diff --git a/Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean b/Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean index e989b06f602aa9..873e7f0f2e67a9 100644 --- a/Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean +++ b/Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +module + +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots /-! # Commutative monoids with enough roots of unity @@ -15,6 +17,8 @@ targets for homomorphisms from groups of exponent (dividing) `n`; for example, the homomorphisms can then be used to separate elements of the source group. -/ +@[expose] public section + /-- This is a type class recording that a commutative monoid `M` contains primitive `n`th roots of unity and such that the group of `n`th roots of unity is cyclic. diff --git a/Mathlib/RingTheory/RootsOfUnity/Lemmas.lean b/Mathlib/RingTheory/RootsOfUnity/Lemmas.lean index 8be8a8878fde7a..4d814c87e2da7a 100644 --- a/Mathlib/RingTheory/RootsOfUnity/Lemmas.lean +++ b/Mathlib/RingTheory/RootsOfUnity/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.FieldTheory.KummerExtension +module + +public import Mathlib.FieldTheory.KummerExtension /-! # More results on primitive roots of unity @@ -18,6 +20,8 @@ see `IsPrimitiveRoot.prod_one_sub_pow_eq_order` and its variant We use this to deduce that `n` is divisible by `(μ - 1)^k` in `ℤ[μ] ⊆ R` when `k < n`. -/ +@[expose] public section + variable {R : Type*} [CommRing R] [IsDomain R] namespace IsPrimitiveRoot diff --git a/Mathlib/RingTheory/RootsOfUnity/Minpoly.lean b/Mathlib/RingTheory/RootsOfUnity/Minpoly.lean index 0e2fa0822e878c..724ec18e2dd290 100644 --- a/Mathlib/RingTheory/RootsOfUnity/Minpoly.lean +++ b/Mathlib/RingTheory/RootsOfUnity/Minpoly.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Riccardo Brasca, Johan Commelin -/ -import Mathlib.Algebra.GCDMonoid.IntegrallyClosed -import Mathlib.FieldTheory.Finite.Basic -import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed -import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots -import Mathlib.RingTheory.UniqueFactorizationDomain.Nat +module + +public import Mathlib.Algebra.GCDMonoid.IntegrallyClosed +public import Mathlib.FieldTheory.Finite.Basic +public import Mathlib.FieldTheory.Minpoly.IsIntegrallyClosed +public import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots +public import Mathlib.RingTheory.UniqueFactorizationDomain.Nat /-! # Minimal polynomial of roots of unity @@ -21,6 +23,8 @@ We gather several results about minimal polynomial of root of unity. -/ +@[expose] public section + open minpoly Polynomial diff --git a/Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean b/Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean index 2fd6a12123758b..8e51fb30c10a70 100644 --- a/Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean +++ b/Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.Nat.Factorization.LCM -import Mathlib.Algebra.Group.TypeTags.Finite -import Mathlib.RingTheory.RootsOfUnity.Basic +module + +public import Mathlib.Data.Nat.Factorization.LCM +public import Mathlib.Algebra.Group.TypeTags.Finite +public import Mathlib.RingTheory.RootsOfUnity.Basic /-! # Primitive roots of unity @@ -42,6 +44,8 @@ of the `Units`), but lemmas like `IsPrimitiveRoot.isUnit` and `IsPrimitiveRoot.coe_units_iff` should provide the necessary glue. -/ +@[expose] public section + noncomputable section open Polynomial Finset diff --git a/Mathlib/RingTheory/SimpleModule/Basic.lean b/Mathlib/RingTheory/SimpleModule/Basic.lean index 85deeb17a409c4..9651dcdf6503d5 100644 --- a/Mathlib/RingTheory/SimpleModule/Basic.lean +++ b/Mathlib/RingTheory/SimpleModule/Basic.lean @@ -3,18 +3,20 @@ Copyright (c) 2020 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Algebra.DirectSum.Module -import Mathlib.Data.Finite.Card -import Mathlib.Data.Matrix.Mul -import Mathlib.LinearAlgebra.DFinsupp -import Mathlib.LinearAlgebra.Finsupp.Span -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.LinearAlgebra.Projection -import Mathlib.Order.Atoms.Finite -import Mathlib.Order.CompactlyGenerated.Intervals -import Mathlib.Order.JordanHolder -import Mathlib.RingTheory.Ideal.Colon -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.Algebra.DirectSum.Module +public import Mathlib.Data.Finite.Card +public import Mathlib.Data.Matrix.Mul +public import Mathlib.LinearAlgebra.DFinsupp +public import Mathlib.LinearAlgebra.Finsupp.Span +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.LinearAlgebra.Projection +public import Mathlib.Order.Atoms.Finite +public import Mathlib.Order.CompactlyGenerated.Intervals +public import Mathlib.Order.JordanHolder +public import Mathlib.RingTheory.Ideal.Colon +public import Mathlib.RingTheory.Noetherian.Defs /-! # Simple Modules @@ -49,6 +51,8 @@ import Mathlib.RingTheory.Noetherian.Defs -/ +@[expose] public section + variable {ι : Type*} (R S : Type*) [Ring R] [Ring S] (M : Type*) [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean b/Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean index fc460e525d7887..99a59f2bfb9a40 100644 --- a/Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean +++ b/Mathlib/RingTheory/SimpleModule/InjectiveProjective.lean @@ -3,15 +3,19 @@ Copyright (c) 2025 Sophie Morel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sophie Morel -/ -import Mathlib.RingTheory.SimpleModule.Basic -import Mathlib.Algebra.Module.Injective -import Mathlib.Algebra.Module.Projective +module + +public import Mathlib.RingTheory.SimpleModule.Basic +public import Mathlib.Algebra.Module.Injective +public import Mathlib.Algebra.Module.Projective /-! If `R` is a semisimple ring, then any `R`-module is both injective and projective. -/ +@[expose] public section + namespace Module variable (R : Type*) [Ring R] [IsSemisimpleRing R] (M : Type*) [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/SimpleModule/IsAlgClosed.lean b/Mathlib/RingTheory/SimpleModule/IsAlgClosed.lean index f39a61bd12e442..2288d9288015b1 100644 --- a/Mathlib/RingTheory/SimpleModule/IsAlgClosed.lean +++ b/Mathlib/RingTheory/SimpleModule/IsAlgClosed.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.RingTheory.SimpleModule.WedderburnArtin +module + +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.RingTheory.SimpleModule.WedderburnArtin /-! # Wedderburn–Artin Theorem over an algebraically closed field -/ +@[expose] public section + variable (F R : Type*) [Field F] [IsAlgClosed F] [Ring R] [Algebra F R] /-- The **Wedderburn–Artin Theorem** over algebraically closed fields: a finite-dimensional diff --git a/Mathlib/RingTheory/SimpleModule/Isotypic.lean b/Mathlib/RingTheory/SimpleModule/Isotypic.lean index 86e27696af26f5..bdeb7b12ad49a6 100644 --- a/Mathlib/RingTheory/SimpleModule/Isotypic.lean +++ b/Mathlib/RingTheory/SimpleModule/Isotypic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Order.CompleteSublattice -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Order.CompleteSublattice +public import Mathlib.RingTheory.SimpleModule.Basic /-! # Isotypic modules and isotypic components @@ -40,6 +42,8 @@ isotypic component, fully invariant submodule -/ +@[expose] public section + universe u variable (R₀ R : Type*) (M : Type u) (N S : Type*) [CommSemiring R₀] diff --git a/Mathlib/RingTheory/SimpleModule/Rank.lean b/Mathlib/RingTheory/SimpleModule/Rank.lean index 848739b9176f5a..da7e14c0620084 100644 --- a/Mathlib/RingTheory/SimpleModule/Rank.lean +++ b/Mathlib/RingTheory/SimpleModule/Rank.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.RingTheory.SimpleModule.Basic +module + +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.RingTheory.SimpleModule.Basic /-! # A module over a division ring is simple iff it has rank one -/ +@[expose] public section + theorem isSimpleModule_iff_finrank_eq_one {R M} [DivisionRing R] [AddCommGroup M] [Module R M] : IsSimpleModule R M ↔ Module.finrank R M = 1 := ⟨fun h ↦ have := h.nontrivial; have ⟨v, hv⟩ := exists_ne (0 : M) diff --git a/Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean b/Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean index a6372d3f7740bb..c0741dd24a2a72 100644 --- a/Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean +++ b/Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.RingTheory.FiniteLength -import Mathlib.RingTheory.SimpleModule.Isotypic -import Mathlib.RingTheory.SimpleRing.Congr +module + +public import Mathlib.RingTheory.FiniteLength +public import Mathlib.RingTheory.SimpleModule.Isotypic +public import Mathlib.RingTheory.SimpleRing.Congr /-! # Wedderburn–Artin Theorem @@ -37,6 +39,8 @@ import Mathlib.RingTheory.SimpleRing.Congr -/ +@[expose] public section + universe u variable (R₀ : Type*) {R : Type u} [CommSemiring R₀] [Ring R] [Algebra R₀ R] diff --git a/Mathlib/RingTheory/SimpleRing/Basic.lean b/Mathlib/RingTheory/SimpleRing/Basic.lean index fdefa59d502995..3f492f6d39859d 100644 --- a/Mathlib/RingTheory/SimpleRing/Basic.lean +++ b/Mathlib/RingTheory/SimpleRing/Basic.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.SimpleRing.Defs -import Mathlib.Algebra.Ring.Opposite -import Mathlib.RingTheory.TwoSidedIdeal.Kernel +public import Mathlib.RingTheory.SimpleRing.Defs +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.RingTheory.TwoSidedIdeal.Kernel /-! # Basic Properties of Simple rings @@ -22,6 +23,8 @@ A ring `R` is **simple** if it has only two two-sided ideals, namely `⊥` and ` -/ +@[expose] public section + assert_not_exists Finset variable (R : Type*) [NonUnitalNonAssocRing R] diff --git a/Mathlib/RingTheory/SimpleRing/Congr.lean b/Mathlib/RingTheory/SimpleRing/Congr.lean index e6d5be578c9763..15d6e01e6586db 100644 --- a/Mathlib/RingTheory/SimpleRing/Congr.lean +++ b/Mathlib/RingTheory/SimpleRing/Congr.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.SimpleRing.Basic -import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.RingTheory.TwoSidedIdeal.Operations /-! # Simpleness is preserved by ring isomorphism/surjective ring homomorphisms @@ -15,6 +16,8 @@ nontrivial, then `S` is also simple. If `R` is a simple (non-unital non-assoc) ring then any ring isomorphic to `R` is also simple. -/ +@[expose] public section + namespace IsSimpleRing lemma of_surjective {R S : Type*} [NonAssocRing R] [NonAssocRing S] [Nontrivial S] diff --git a/Mathlib/RingTheory/SimpleRing/Defs.lean b/Mathlib/RingTheory/SimpleRing/Defs.lean index f25b1418e9ce8a..3c59f506ee1970 100644 --- a/Mathlib/RingTheory/SimpleRing/Defs.lean +++ b/Mathlib/RingTheory/SimpleRing/Defs.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.TwoSidedIdeal.Lattice -import Mathlib.Order.Atoms +public import Mathlib.RingTheory.TwoSidedIdeal.Lattice +public import Mathlib.Order.Atoms /-! # Simple rings @@ -17,6 +18,8 @@ A ring `R` is **simple** if it has only two two-sided ideals, namely `⊥` and ` -/ +@[expose] public section + /-- A ring `R` is **simple** if it has only two two-sided ideals, namely `⊥` and `⊤`. diff --git a/Mathlib/RingTheory/SimpleRing/Field.lean b/Mathlib/RingTheory/SimpleRing/Field.lean index af9c899e2268b1..d24b6bd2ea471e 100644 --- a/Mathlib/RingTheory/SimpleRing/Field.lean +++ b/Mathlib/RingTheory/SimpleRing/Field.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.SimpleRing.Basic -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.Algebra.Field.Equiv +public import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.Algebra.Field.Equiv /-! # Simple ring and fields @@ -17,6 +18,8 @@ import Mathlib.Algebra.Field.Equiv -/ +@[expose] public section + namespace IsSimpleRing open TwoSidedIdeal in diff --git a/Mathlib/RingTheory/SimpleRing/Matrix.lean b/Mathlib/RingTheory/SimpleRing/Matrix.lean index ca10a2b7673976..97b4d33f526f28 100644 --- a/Mathlib/RingTheory/SimpleRing/Matrix.lean +++ b/Mathlib/RingTheory/SimpleRing/Matrix.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.LinearAlgebra.Matrix.Ideal -import Mathlib.RingTheory.SimpleRing.Basic +module + +public import Mathlib.LinearAlgebra.Matrix.Ideal +public import Mathlib.RingTheory.SimpleRing.Basic /-! The matrix ring over a simple ring is simple -/ +@[expose] public section + namespace IsSimpleRing variable (ι A : Type*) [Ring A] [Fintype ι] [Nonempty ι] diff --git a/Mathlib/RingTheory/SimpleRing/Principal.lean b/Mathlib/RingTheory/SimpleRing/Principal.lean index 9acd0011089728..f24212d615a911 100644 --- a/Mathlib/RingTheory/SimpleRing/Principal.lean +++ b/Mathlib/RingTheory/SimpleRing/Principal.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ +module -import Mathlib.RingTheory.PrincipalIdealDomain -import Mathlib.RingTheory.SimpleRing.Field -import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.RingTheory.PrincipalIdealDomain +public import Mathlib.RingTheory.SimpleRing.Field +public import Mathlib.RingTheory.TwoSidedIdeal.Operations /-! # A commutative simple ring is a principal ideal domain @@ -15,6 +16,8 @@ Indeed, it is a field. -/ +@[expose] public section + variable {R : Type*} [CommRing R] [IsSimpleRing R] instance : IsSimpleOrder (Ideal R) := TwoSidedIdeal.orderIsoIdeal.symm.isSimpleOrder diff --git a/Mathlib/RingTheory/Smooth/Basic.lean b/Mathlib/RingTheory/Smooth/Basic.lean index 5075e8f7a38bda..e59dd15856c060 100644 --- a/Mathlib/RingTheory/Smooth/Basic.lean +++ b/Mathlib/RingTheory/Smooth/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.FinitePresentation -import Mathlib.RingTheory.FiniteStability -import Mathlib.RingTheory.Ideal.Cotangent -import Mathlib.RingTheory.Ideal.Quotient.Nilpotent -import Mathlib.RingTheory.Localization.Away.AdjoinRoot -import Mathlib.RingTheory.Localization.Away.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.FinitePresentation +public import Mathlib.RingTheory.FiniteStability +public import Mathlib.RingTheory.Ideal.Cotangent +public import Mathlib.RingTheory.Ideal.Quotient.Nilpotent +public import Mathlib.RingTheory.Localization.Away.AdjoinRoot +public import Mathlib.RingTheory.Localization.Away.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! @@ -28,6 +30,8 @@ localization at an element. -/ +@[expose] public section + open scoped TensorProduct universe u diff --git a/Mathlib/RingTheory/Smooth/Kaehler.lean b/Mathlib/RingTheory/Smooth/Kaehler.lean index 01724dfea129c9..dd3699caf1514c 100644 --- a/Mathlib/RingTheory/Smooth/Kaehler.lean +++ b/Mathlib/RingTheory/Smooth/Kaehler.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Extension.Cotangent.Basic -import Mathlib.RingTheory.Smooth.Basic -import Mathlib.Algebra.Module.Projective -import Mathlib.Tactic.StacksAttribute +module + +public import Mathlib.RingTheory.Extension.Cotangent.Basic +public import Mathlib.RingTheory.Smooth.Basic +public import Mathlib.Algebra.Module.Projective +public import Mathlib.Tactic.StacksAttribute /-! # Relation of smoothness and `Ω[S⁄R]` @@ -47,6 +49,8 @@ import Mathlib.Tactic.StacksAttribute -/ +@[expose] public section + universe u open TensorProduct KaehlerDifferential diff --git a/Mathlib/RingTheory/Smooth/Local.lean b/Mathlib/RingTheory/Smooth/Local.lean index fb3de6bca16316..92b5ddd5a3c8ab 100644 --- a/Mathlib/RingTheory/Smooth/Local.lean +++ b/Mathlib/RingTheory/Smooth/Local.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalRing.Module -import Mathlib.RingTheory.Smooth.Kaehler -import Mathlib.RingTheory.TensorProduct.Free +module + +public import Mathlib.RingTheory.LocalRing.Module +public import Mathlib.RingTheory.Smooth.Kaehler +public import Mathlib.RingTheory.TensorProduct.Free /-! # Formally smooth local algebras -/ +@[expose] public section + open TensorProduct IsLocalRing KaehlerDifferential /-- diff --git a/Mathlib/RingTheory/Smooth/Locus.lean b/Mathlib/RingTheory/Smooth/Locus.lean index b40b2f95a19fa9..bf721dcd37d20b 100644 --- a/Mathlib/RingTheory/Smooth/Locus.lean +++ b/Mathlib/RingTheory/Smooth/Locus.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Etale.Kaehler -import Mathlib.RingTheory.Spectrum.Prime.FreeLocus -import Mathlib.RingTheory.Support +module + +public import Mathlib.RingTheory.Etale.Kaehler +public import Mathlib.RingTheory.Spectrum.Prime.FreeLocus +public import Mathlib.RingTheory.Support /-! # Smooth locus of an algebra @@ -22,6 +24,8 @@ Some of them are true for arbitrary algebras but the proof is substantially hard - `Algebra.isOpen_smoothLocus` : The smooth locus is open. -/ +@[expose] public section + universe u variable (R A : Type u) [CommRing R] [CommRing A] [Algebra R A] diff --git a/Mathlib/RingTheory/Smooth/Pi.lean b/Mathlib/RingTheory/Smooth/Pi.lean index 9252a99680b1e6..e5ae0acd03f11a 100644 --- a/Mathlib/RingTheory/Smooth/Pi.lean +++ b/Mathlib/RingTheory/Smooth/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Idempotents -import Mathlib.RingTheory.Smooth.Basic +module + +public import Mathlib.RingTheory.Idempotents +public import Mathlib.RingTheory.Smooth.Basic /-! @@ -17,6 +19,8 @@ import Mathlib.RingTheory.Smooth.Basic -/ +@[expose] public section + universe u v namespace Algebra.FormallySmooth diff --git a/Mathlib/RingTheory/Smooth/StandardSmooth.lean b/Mathlib/RingTheory/Smooth/StandardSmooth.lean index 39715b5391b65f..a9b14102dd8047 100644 --- a/Mathlib/RingTheory/Smooth/StandardSmooth.lean +++ b/Mathlib/RingTheory/Smooth/StandardSmooth.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jung Tao Cheng, Christian Merten, Andrew Yang -/ -import Mathlib.RingTheory.Extension.Presentation.Submersive +module + +public import Mathlib.RingTheory.Extension.Presentation.Submersive /-! # Standard smooth algebras @@ -39,6 +41,8 @@ in June 2024. -/ +@[expose] public section + universe t t' w w' u v open TensorProduct Module MvPolynomial diff --git a/Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean b/Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean index fa001d94bbef78..70fda4d623ae0d 100644 --- a/Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean +++ b/Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.LinearAlgebra.Basis.Exact -import Mathlib.RingTheory.Extension.Cotangent.Basic -import Mathlib.RingTheory.Smooth.StandardSmooth -import Mathlib.RingTheory.Smooth.Kaehler -import Mathlib.RingTheory.Etale.Basic +module + +public import Mathlib.LinearAlgebra.Basis.Exact +public import Mathlib.RingTheory.Extension.Cotangent.Basic +public import Mathlib.RingTheory.Smooth.StandardSmooth +public import Mathlib.RingTheory.Smooth.Kaehler +public import Mathlib.RingTheory.Etale.Basic /-! # Cotangent complex of a submersive presentation @@ -27,6 +29,8 @@ We also provide the corresponding instances for standard smooth algebras as coro We keep the notation `I = ker(R[X] → S)` in all docstrings of this file. -/ +@[expose] public section + universe u namespace Algebra diff --git a/Mathlib/RingTheory/Spectrum/Maximal/Basic.lean b/Mathlib/RingTheory/Spectrum/Maximal/Basic.lean index 8d3d1890f3386c..2d6b6a16a80779 100644 --- a/Mathlib/RingTheory/Spectrum/Maximal/Basic.lean +++ b/Mathlib/RingTheory/Spectrum/Maximal/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.RingTheory.Spectrum.Maximal.Defs -import Mathlib.RingTheory.Spectrum.Prime.Defs +module + +public import Mathlib.RingTheory.Spectrum.Maximal.Defs +public import Mathlib.RingTheory.Spectrum.Prime.Defs /-! # Maximal spectrum of a commutative (semi)ring @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Spectrum.Prime.Defs Basic properties the maximal spectrum of a ring. -/ +@[expose] public section + noncomputable section variable (R S P : Type*) [CommSemiring R] [CommSemiring S] [CommSemiring P] diff --git a/Mathlib/RingTheory/Spectrum/Maximal/Defs.lean b/Mathlib/RingTheory/Spectrum/Maximal/Defs.lean index c36f9c92e873e2..2cb491971a093e 100644 --- a/Mathlib/RingTheory/Spectrum/Maximal/Defs.lean +++ b/Mathlib/RingTheory/Spectrum/Maximal/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.RingTheory.Ideal.Maximal +module + +public import Mathlib.RingTheory.Ideal.Maximal /-! # Maximal spectrum of a commutative (semi)ring @@ -17,6 +19,8 @@ It is naturally a subset of the prime spectrum endowed with the subspace topolog i.e., the set of all maximal ideals of `R`. -/ +@[expose] public section + /-- The maximal spectrum of a commutative (semi)ring `R` is the type of all maximal ideals of `R`. -/ @[ext] diff --git a/Mathlib/RingTheory/Spectrum/Maximal/Localization.lean b/Mathlib/RingTheory/Spectrum/Maximal/Localization.lean index 3310c228983a73..673671a0409253 100644 --- a/Mathlib/RingTheory/Spectrum/Maximal/Localization.lean +++ b/Mathlib/RingTheory/Spectrum/Maximal/Localization.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.RingTheory.Localization.AsSubring -import Mathlib.RingTheory.Spectrum.Maximal.Basic -import Mathlib.RingTheory.Spectrum.Prime.RingHom +module + +public import Mathlib.RingTheory.Localization.AsSubring +public import Mathlib.RingTheory.Spectrum.Maximal.Basic +public import Mathlib.RingTheory.Spectrum.Prime.RingHom /-! # Maximal spectrum of a commutative (semi)ring @@ -13,6 +15,8 @@ import Mathlib.RingTheory.Spectrum.Prime.RingHom Localization results. -/ +@[expose] public section + noncomputable section variable (R S P : Type*) [CommSemiring R] [CommSemiring S] [CommSemiring P] diff --git a/Mathlib/RingTheory/Spectrum/Maximal/Topology.lean b/Mathlib/RingTheory/Spectrum/Maximal/Topology.lean index 9846b9ba929036..5854088d94790d 100644 --- a/Mathlib/RingTheory/Spectrum/Maximal/Topology.lean +++ b/Mathlib/RingTheory/Spectrum/Maximal/Topology.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 David Kurniadi Angdinata. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Kurniadi Angdinata -/ -import Mathlib.RingTheory.Spectrum.Maximal.Basic -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.RingTheory.Spectrum.Maximal.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! # The Zariski topology on the maximal spectrum of a commutative (semi)ring @@ -15,6 +17,8 @@ The Zariski topology on the maximal spectrum is defined as the subspace topology natural inclusion into the prime spectrum to avoid API duplication for zero loci. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/Spectrum/Prime/Basic.lean b/Mathlib/RingTheory/Spectrum/Prime/Basic.lean index a1bd010b91a96e..4ef05e1eaf510c 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Basic.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Filippo A. E. Nuccio, Andrew Yang -/ -import Mathlib.RingTheory.Ideal.MinimalPrime.Basic -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.Noetherian.Basic -import Mathlib.RingTheory.Spectrum.Prime.Defs +module + +public import Mathlib.RingTheory.Ideal.MinimalPrime.Basic +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.Noetherian.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Defs /-! # Prime spectrum of a commutative (semi)ring @@ -39,6 +41,8 @@ and Chris Hughes (on an earlier repository). * [P. Samuel, *Algebraic Theory of Numbers*][samuel1967] -/ +@[expose] public section + -- A dividing line between this file and `Mathlib/RingTheory/Spectrum/Prime/Topology.lean` is -- that we should not depend on the Zariski topology here assert_not_exists TopologicalSpace diff --git a/Mathlib/RingTheory/Spectrum/Prime/Chevalley.lean b/Mathlib/RingTheory/Spectrum/Prime/Chevalley.lean index d2f2c58ab7bcf0..f5e39c2607aa43 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Chevalley.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Chevalley.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.GoingDown -import Mathlib.RingTheory.Spectrum.Prime.ChevalleyComplexity +module + +public import Mathlib.RingTheory.Ideal.GoingDown +public import Mathlib.RingTheory.Spectrum.Prime.ChevalleyComplexity /-! # Chevalley's theorem @@ -13,6 +15,8 @@ In this file we provide the usual (algebraic) version of Chevalley's theorem. For the proof see `Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean`. -/ +@[expose] public section + variable {R S : Type*} [CommRing R] [CommRing S] open Function Localization MvPolynomial Polynomial TensorProduct PrimeSpectrum Topology diff --git a/Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean b/Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean index 593912ad7a87fc..02f451e4f0a2b4 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Algebra.Order.SuccPred.WithBot -import Mathlib.Algebra.Polynomial.CoeffMem -import Mathlib.Data.DFinsupp.WellFounded -import Mathlib.RingTheory.Spectrum.Prime.ConstructibleSet -import Mathlib.RingTheory.Spectrum.Prime.Polynomial +module + +public import Mathlib.Algebra.Order.SuccPred.WithBot +public import Mathlib.Algebra.Polynomial.CoeffMem +public import Mathlib.Data.DFinsupp.WellFounded +public import Mathlib.RingTheory.Spectrum.Prime.ConstructibleSet +public import Mathlib.RingTheory.Spectrum.Prime.Polynomial /-! # Chevalley's theorem with complexity bound @@ -58,6 +60,8 @@ not give an explicit bound on the complexity. -/ +@[expose] public section + variable {R₀ R S M A : Type*} [CommRing R₀] [CommRing R] [Algebra R₀ R] [CommRing S] [Algebra R₀ S] variable [AddCommGroup M] [Module R M] [CommRing A] [Algebra R A] {n : ℕ} diff --git a/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean b/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean index ec21b652ef0e80..09259234c3c11e 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.Order.SuccPred.WithBot -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.Order.SuccPred.WithBot +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! # Constructible sets in the prime spectrum @@ -13,6 +15,8 @@ This file provides tooling for manipulating constructible sets in the prime spec -/ +@[expose] public section + open Finset Topology open scoped Polynomial diff --git a/Mathlib/RingTheory/Spectrum/Prime/Defs.lean b/Mathlib/RingTheory/Spectrum/Prime/Defs.lean index f7323775114ae7..04f5f93f11f5bf 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Defs.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Filippo A. E. Nuccio, Andrew Yang -/ -import Mathlib.RingTheory.Ideal.Prime +module + +public import Mathlib.RingTheory.Ideal.Prime /-! # Prime spectrum of a commutative (semi)ring as a type @@ -21,6 +23,8 @@ which is constructed in `AlgebraicGeometry.StructureSheaf`.) i.e., the set of all prime ideals of `R`. -/ +@[expose] public section + /-- The prime spectrum of a commutative (semi)ring `R` is the type of all prime ideals of `R`. It is naturally endowed with a topology (the Zariski topology), diff --git a/Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean b/Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean index 7c7c720202650c..be331586ef5c90 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean @@ -3,16 +3,18 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Flat.Stability -import Mathlib.RingTheory.LocalProperties.Projective -import Mathlib.RingTheory.LocalRing.Module -import Mathlib.RingTheory.Localization.Free -import Mathlib.RingTheory.Localization.LocalizationLocalization -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.RingTheory.TensorProduct.Free -import Mathlib.RingTheory.TensorProduct.IsBaseChangePi -import Mathlib.RingTheory.Support +module + +public import Mathlib.RingTheory.Flat.Stability +public import Mathlib.RingTheory.LocalProperties.Projective +public import Mathlib.RingTheory.LocalRing.Module +public import Mathlib.RingTheory.Localization.Free +public import Mathlib.RingTheory.Localization.LocalizationLocalization +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.RingTheory.TensorProduct.Free +public import Mathlib.RingTheory.TensorProduct.IsBaseChangePi +public import Mathlib.RingTheory.Support /-! @@ -32,6 +34,8 @@ Let `M` be a finitely presented `R`-module. -/ +@[expose] public section + universe uR uM variable (R : Type uR) (M : Type uM) [CommRing R] [AddCommGroup M] [Module R M] diff --git a/Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean b/Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean index d7cd15c759d891..21474a553ba60c 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Junyan Xu -/ -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.RingTheory.Flat.Basic -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.RingTheory.Flat.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! # Purely inseparable extensions are universal homeomorphisms @@ -22,6 +24,8 @@ homeomorphism, i.e. it stays a homeomorphism after arbitrary base change. homeomorphism for a purely inseparable field extension `K` over `k`. -/ +@[expose] public section + open TensorProduct variable (k K R S : Type*) [Field k] [Field K] [Algebra k K] [CommRing R] [Algebra k R] [CommRing S] diff --git a/Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean b/Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean index ec694a8273fb3a..d90c8675e29f20 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/IsOpenComapC.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.RingTheory.Spectrum.Prime.Topology +module + +public import Mathlib.RingTheory.Polynomial.Basic +public import Mathlib.RingTheory.Spectrum.Prime.Topology /-! The morphism `Spec R[x] --> Spec R` induced by the natural inclusion `R --> R[x]` is an open map. @@ -14,6 +16,8 @@ The main result is the first part of the statement of Lemma 00FB in the Stacks P https://stacks.math.columbia.edu/tag/00FB -/ +@[expose] public section + open Ideal Polynomial PrimeSpectrum Set diff --git a/Mathlib/RingTheory/Spectrum/Prime/Jacobson.lean b/Mathlib/RingTheory/Spectrum/Prime/Jacobson.lean index da5caf27f1e40a..7451288be91601 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Jacobson.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Jacobson.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Jacobson.Ring -import Mathlib.RingTheory.Spectrum.Prime.Noetherian -import Mathlib.Topology.JacobsonSpace +module + +public import Mathlib.RingTheory.Jacobson.Ring +public import Mathlib.RingTheory.Spectrum.Prime.Noetherian +public import Mathlib.Topology.JacobsonSpace /-! # The prime spectrum of a Jacobson ring @@ -21,6 +23,8 @@ import Mathlib.Topology.JacobsonSpace (i.e. `x` is both a minimal prime and a maximal ideal) -/ +@[expose] public section + open Ideal variable {R : Type*} [CommRing R] diff --git a/Mathlib/RingTheory/Spectrum/Prime/LTSeries.lean b/Mathlib/RingTheory/Spectrum/Prime/LTSeries.lean index e8a080350780a9..73fbde4d894c6e 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/LTSeries.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/LTSeries.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Yongle Hu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yongle Hu -/ -import Mathlib.RingTheory.Ideal.KrullsHeightTheorem +module + +public import Mathlib.RingTheory.Ideal.KrullsHeightTheorem /-! # Lemmas about `LTSeries` in the prime spectrum @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Ideal.KrullsHeightTheorem $x \in \mathfrak{q}_1$, $\mathfrak{p}_0 = \mathfrak{q}_0$ and $\mathfrak{p}_n = \mathfrak{q}_n$. -/ +@[expose] public section + variable {R : Type*} [CommRing R] [IsNoetherianRing R] local notation "𝔪" => IsLocalRing.maximalIdeal R diff --git a/Mathlib/RingTheory/Spectrum/Prime/Module.lean b/Mathlib/RingTheory/Spectrum/Prime/Module.lean index 558610b57e0ae9..154e8ffc53d142 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Module.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Module.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.Support +module + +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.Support /-! @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Support -/ +@[expose] public section + variable {R A M : Type*} [CommRing R] [AddCommGroup M] [Module R M] [CommRing A] [Algebra R A] [Module A M] diff --git a/Mathlib/RingTheory/Spectrum/Prime/Noetherian.lean b/Mathlib/RingTheory/Spectrum/Prime/Noetherian.lean index f5aaba23cdef76..ae19fc00b2da9d 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Noetherian.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Noetherian.lean @@ -3,15 +3,19 @@ Copyright (c) 2020 Filippo A. E. Nuccio. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Filippo A. E. Nuccio, Andrew Yang -/ -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.Ideal.Quotient.Noetherian -import Mathlib.RingTheory.Artinian.Module -import Mathlib.Topology.NoetherianSpace +module + +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.Ideal.Quotient.Noetherian +public import Mathlib.RingTheory.Artinian.Module +public import Mathlib.Topology.NoetherianSpace /-! This file proves additional properties of the prime spectrum a ring is Noetherian. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean b/Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean index b73ce6509b34b7..91638259aa0045 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Charpoly.BaseChange -import Mathlib.LinearAlgebra.Eigenspace.Zero -import Mathlib.RingTheory.AdjoinRoot -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.TensorProduct.MvPolynomial +module + +public import Mathlib.LinearAlgebra.Charpoly.BaseChange +public import Mathlib.LinearAlgebra.Eigenspace.Zero +public import Mathlib.RingTheory.AdjoinRoot +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.TensorProduct.MvPolynomial /-! @@ -27,6 +29,8 @@ Also see `AlgebraicGeometry/AffineSpace` for the affine space over arbitrary sch -/ +@[expose] public section + open Polynomial TensorProduct PrimeSpectrum variable {R M A} [CommRing R] [AddCommGroup M] [Module R M] [CommRing A] [Algebra R A] diff --git a/Mathlib/RingTheory/Spectrum/Prime/RingHom.lean b/Mathlib/RingTheory/Spectrum/Prime/RingHom.lean index c583502cbf74d9..769b690852dbb2 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/RingHom.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/RingHom.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Filippo A. E. Nuccio, Andrew Yang -/ -import Mathlib.RingTheory.Spectrum.Prime.Basic -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.Spectrum.Prime.Basic +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Functoriality of the prime spectrum @@ -19,6 +21,8 @@ In this file we define the induced map on prime spectra induced by a ring homomo -/ +@[expose] public section + universe u v variable (R : Type u) (S : Type v) diff --git a/Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean b/Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean index 1a6d5b7d6f2162..e8a392aaccb15a 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/TensorProduct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.SurjectiveOnStalks +module + +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.SurjectiveOnStalks /-! @@ -17,6 +19,8 @@ import Mathlib.RingTheory.SurjectiveOnStalks (where `Spec S × Spec T` is the Cartesian product with the product topology). -/ +@[expose] public section + variable (R S T : Type*) [CommRing R] [CommRing S] [Algebra R S] variable [CommRing T] [Algebra R T] diff --git a/Mathlib/RingTheory/Spectrum/Prime/Topology.lean b/Mathlib/RingTheory/Spectrum/Prime/Topology.lean index a1f9d522a9f7b1..227cc020de8ad6 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/Topology.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/Topology.lean @@ -3,17 +3,19 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Order.Ring.Idempotent -import Mathlib.Order.Heyting.Hom -import Mathlib.RingTheory.Finiteness.Ideal -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.Ideal.MinimalPrime.Localization -import Mathlib.RingTheory.KrullDimension.Basic -import Mathlib.RingTheory.Localization.Algebra -import Mathlib.RingTheory.Spectrum.Maximal.Localization -import Mathlib.Topology.Constructible -import Mathlib.Topology.KrullDimension -import Mathlib.Topology.Spectral.Basic +module + +public import Mathlib.Algebra.Order.Ring.Idempotent +public import Mathlib.Order.Heyting.Hom +public import Mathlib.RingTheory.Finiteness.Ideal +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.Ideal.MinimalPrime.Localization +public import Mathlib.RingTheory.KrullDimension.Basic +public import Mathlib.RingTheory.Localization.Algebra +public import Mathlib.RingTheory.Spectrum.Maximal.Localization +public import Mathlib.Topology.Constructible +public import Mathlib.Topology.KrullDimension +public import Mathlib.Topology.Spectral.Basic /-! # The Zariski topology on the prime spectrum of a commutative (semi)ring @@ -102,6 +104,8 @@ In the prime spectrum of a commutative semiring: -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/RingTheory/Support.lean b/Mathlib/RingTheory/Support.lean index 5b93ac690d4e55..ddedfe501c32fe 100644 --- a/Mathlib/RingTheory/Support.lean +++ b/Mathlib/RingTheory/Support.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Algebra.Exact -import Mathlib.RingTheory.Ideal.Colon -import Mathlib.RingTheory.Localization.Finiteness -import Mathlib.RingTheory.Nakayama -import Mathlib.RingTheory.Spectrum.Prime.Basic +module + +public import Mathlib.Algebra.Exact +public import Mathlib.RingTheory.Ideal.Colon +public import Mathlib.RingTheory.Localization.Finiteness +public import Mathlib.RingTheory.Nakayama +public import Mathlib.RingTheory.Spectrum.Prime.Basic /-! @@ -31,6 +33,8 @@ depending on the Zariski topology. `Supp_A (A ⊗ M) = f♯ ⁻¹ Supp M` where `f♯ : Spec A → Spec R`. (stacks#0BUR) -/ +@[expose] public section + -- Basic files in `RingTheory` should avoid depending on the Zariski topology -- See `Mathlib/RingTheory/Spectrum/Prime/Module.lean` assert_not_exists TopologicalSpace diff --git a/Mathlib/RingTheory/SurjectiveOnStalks.lean b/Mathlib/RingTheory/SurjectiveOnStalks.lean index 0340d31e69424a..ef05bc786e5a4c 100644 --- a/Mathlib/RingTheory/SurjectiveOnStalks.lean +++ b/Mathlib/RingTheory/SurjectiveOnStalks.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Localization.AtPrime.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.RingTheory.Localization.AtPrime.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Ring Homomorphisms surjective on stalks @@ -18,6 +20,8 @@ that surjections and localizations satisfy this. -/ +@[expose] public section + variable {R : Type*} [CommRing R] (M : Submonoid R) {S : Type*} [CommRing S] variable {T : Type*} [CommRing T] variable {g : S →+* T} {f : R →+* S} diff --git a/Mathlib/RingTheory/TensorProduct/Basic.lean b/Mathlib/RingTheory/TensorProduct/Basic.lean index b3c8e1fd61eb1d..154d5a2f527cb8 100644 --- a/Mathlib/RingTheory/TensorProduct/Basic.lean +++ b/Mathlib/RingTheory/TensorProduct/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin -/ -import Mathlib.Algebra.Algebra.RestrictScalars -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Module.Rat -import Mathlib.LinearAlgebra.TensorProduct.Tower +module + +public import Mathlib.Algebra.Algebra.RestrictScalars +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Module.Rat +public import Mathlib.LinearAlgebra.TensorProduct.Tower /-! # The tensor product of R-algebras @@ -33,6 +35,8 @@ multiplication is characterized by `(a₁ ⊗ₜ b₁) * (a₂ ⊗ₜ b₂) = (a -/ +@[expose] public section + assert_not_exists Equiv.Perm.cycleType open scoped TensorProduct diff --git a/Mathlib/RingTheory/TensorProduct/DirectLimitFG.lean b/Mathlib/RingTheory/TensorProduct/DirectLimitFG.lean index 5efa54517eb4ef..6ec71f735bd8c8 100644 --- a/Mathlib/RingTheory/TensorProduct/DirectLimitFG.lean +++ b/Mathlib/RingTheory/TensorProduct/DirectLimitFG.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Antoine Chambert-Loir and María-Inés de Frutos Fernández. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María-Inés de Frutos Fernández -/ +module -import Mathlib.LinearAlgebra.TensorProduct.DirectLimit -import Mathlib.LinearAlgebra.TensorProduct.Tower -import Mathlib.RingTheory.Adjoin.FG +public import Mathlib.LinearAlgebra.TensorProduct.DirectLimit +public import Mathlib.LinearAlgebra.TensorProduct.Tower +public import Mathlib.RingTheory.Adjoin.FG /-! # Tensor products and finitely generated submodules @@ -43,6 +44,8 @@ tensor products of finitely-generated modules. as a linear equivalence. -/ +@[expose] public section + open Submodule LinearMap section Semiring diff --git a/Mathlib/RingTheory/TensorProduct/Finite.lean b/Mathlib/RingTheory/TensorProduct/Finite.lean index 08867e189df472..76cad4bb2f79c7 100644 --- a/Mathlib/RingTheory/TensorProduct/Finite.lean +++ b/Mathlib/RingTheory/TensorProduct/Finite.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin -/ -import Mathlib.LinearAlgebra.Isomorphisms -import Mathlib.RingTheory.Finiteness.Basic -import Mathlib.RingTheory.Finiteness.Bilinear -import Mathlib.RingTheory.Ideal.Quotient.Basic -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.Isomorphisms +public import Mathlib.RingTheory.Finiteness.Basic +public import Mathlib.RingTheory.Finiteness.Bilinear +public import Mathlib.RingTheory.Ideal.Quotient.Basic +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Finiteness of the tensor product of (sub)modules @@ -17,6 +19,8 @@ is again finitely generated. -/ +@[expose] public section + open Function (Surjective) open Finsupp diff --git a/Mathlib/RingTheory/TensorProduct/Free.lean b/Mathlib/RingTheory/TensorProduct/Free.lean index 1e0c7147b36020..aed084c35b63fc 100644 --- a/Mathlib/RingTheory/TensorProduct/Free.lean +++ b/Mathlib/RingTheory/TensorProduct/Free.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Johan Commelin -/ -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.LinearAlgebra.Finsupp.Pi -import Mathlib.LinearAlgebra.FreeModule.Basic -import Mathlib.LinearAlgebra.Matrix.ToLin +module + +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.LinearAlgebra.Finsupp.Pi +public import Mathlib.LinearAlgebra.FreeModule.Basic +public import Mathlib.LinearAlgebra.Matrix.ToLin /-! # Results on bases of tensor products @@ -22,6 +24,8 @@ and deduce that `Module.Free` is stable under base change. -/ +@[expose] public section + assert_not_exists Cardinal open Module diff --git a/Mathlib/RingTheory/TensorProduct/IsBaseChangePi.lean b/Mathlib/RingTheory/TensorProduct/IsBaseChangePi.lean index 5ef9ffdf7eac1d..278ee0ee405be1 100644 --- a/Mathlib/RingTheory/TensorProduct/IsBaseChangePi.lean +++ b/Mathlib/RingTheory/TensorProduct/IsBaseChangePi.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.LinearAlgebra.TensorProduct.Pi -import Mathlib.LinearAlgebra.TensorProduct.Prod -import Mathlib.RingTheory.Localization.BaseChange +module + +public import Mathlib.LinearAlgebra.TensorProduct.Pi +public import Mathlib.LinearAlgebra.TensorProduct.Prod +public import Mathlib.RingTheory.Localization.BaseChange /-! # Base change commutes with finite products @@ -14,6 +16,8 @@ In particular, localization of modules commutes with finite products. We also show the binary product versions. -/ +@[expose] public section + variable {R S : Type*} [CommSemiring R] [CommSemiring S] [Algebra R S] namespace IsBaseChange diff --git a/Mathlib/RingTheory/TensorProduct/MvPolynomial.lean b/Mathlib/RingTheory/TensorProduct/MvPolynomial.lean index 50ecc36d9df61a..fbd5d35b3fc288 100644 --- a/Mathlib/RingTheory/TensorProduct/MvPolynomial.lean +++ b/Mathlib/RingTheory/TensorProduct/MvPolynomial.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.LinearAlgebra.DirectSum.Finsupp -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.RingTheory.TensorProduct.Basic -import Mathlib.Algebra.MvPolynomial.Equiv -import Mathlib.RingTheory.IsTensorProduct +public import Mathlib.LinearAlgebra.DirectSum.Finsupp +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.RingTheory.TensorProduct.Basic +public import Mathlib.Algebra.MvPolynomial.Equiv +public import Mathlib.RingTheory.IsTensorProduct /-! @@ -38,6 +39,8 @@ Let `Semiring R`, `Algebra R S` and `Module R N`. are morphisms for the algebra structure by `MvPolynomial σ R`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/RingTheory/TensorProduct/Nontrivial.lean b/Mathlib/RingTheory/TensorProduct/Nontrivial.lean index c78b9bdcadd72e..6bb7b093deab83 100644 --- a/Mathlib/RingTheory/TensorProduct/Nontrivial.lean +++ b/Mathlib/RingTheory/TensorProduct/Nontrivial.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jz Pan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jz Pan -/ -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic -import Mathlib.RingTheory.Localization.FractionRing +module + +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.RingTheory.Flat.FaithfullyFlat.Basic +public import Mathlib.RingTheory.Localization.FractionRing /-! @@ -15,6 +17,8 @@ This file contains some more results on nontriviality of tensor product of algeb -/ +@[expose] public section + open TensorProduct namespace Algebra.TensorProduct diff --git a/Mathlib/RingTheory/TensorProduct/Pi.lean b/Mathlib/RingTheory/TensorProduct/Pi.lean index c2a18582825cb1..35890be8f4e9b9 100644 --- a/Mathlib/RingTheory/TensorProduct/Pi.lean +++ b/Mathlib/RingTheory/TensorProduct/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.LinearAlgebra.TensorProduct.Pi -import Mathlib.LinearAlgebra.TensorProduct.Prod -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.LinearAlgebra.TensorProduct.Pi +public import Mathlib.LinearAlgebra.TensorProduct.Prod +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Tensor product and products of algebras @@ -16,6 +18,8 @@ is a direct application of `Mathlib/LinearAlgebra/TensorProduct/Pi.lean` to the -/ +@[expose] public section + open TensorProduct namespace Algebra.TensorProduct diff --git a/Mathlib/RingTheory/TensorProduct/Quotient.lean b/Mathlib/RingTheory/TensorProduct/Quotient.lean index 55c10cf2bdbd48..36ede6bb50b364 100644 --- a/Mathlib/RingTheory/TensorProduct/Quotient.lean +++ b/Mathlib/RingTheory/TensorProduct/Quotient.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Christian Merten, Yi Song, Sihan Su. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten, Yi Song, Sihan Su -/ -import Mathlib.LinearAlgebra.TensorProduct.Quotient -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.TensorProduct.Basic +module + +public import Mathlib.LinearAlgebra.TensorProduct.Quotient +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.TensorProduct.Basic /-! # Interaction between quotients and tensor products for algebras @@ -19,6 +21,8 @@ This file proves algebra analogs of the isomorphisms in `B ⧸ (I.map <| algebraMap A B) ≃ₐ[B] B ⊗[A] (A ⧸ I)` -/ +@[expose] public section + open TensorProduct namespace Algebra.TensorProduct diff --git a/Mathlib/RingTheory/Trace/Basic.lean b/Mathlib/RingTheory/Trace/Basic.lean index ba60621347de4e..9f90a94a8a4bac 100644 --- a/Mathlib/RingTheory/Trace/Basic.lean +++ b/Mathlib/RingTheory/Trace/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.FieldTheory.Galois.Basic -import Mathlib.FieldTheory.Minpoly.MinpolyDiv -import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.LinearAlgebra.Determinant -import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly -import Mathlib.LinearAlgebra.Vandermonde -import Mathlib.RingTheory.Trace.Defs +module + +public import Mathlib.FieldTheory.Galois.Basic +public import Mathlib.FieldTheory.Minpoly.MinpolyDiv +public import Mathlib.FieldTheory.IsAlgClosed.AlgebraicClosure +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.LinearAlgebra.Determinant +public import Mathlib.LinearAlgebra.Matrix.Charpoly.Minpoly +public import Mathlib.LinearAlgebra.Vandermonde +public import Mathlib.RingTheory.Trace.Defs /-! # Trace for (finite) ring extensions. @@ -42,6 +44,8 @@ the roots of the minimal polynomial of `s` over `R`. -/ +@[expose] public section + universe u v w z variable {R S T : Type*} [CommRing R] [CommRing S] [CommRing T] diff --git a/Mathlib/RingTheory/Trace/Defs.lean b/Mathlib/RingTheory/Trace/Defs.lean index 84138028af48d4..7e90ee02a8e124 100644 --- a/Mathlib/RingTheory/Trace/Defs.lean +++ b/Mathlib/RingTheory/Trace/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.Matrix.BilinearForm -import Mathlib.LinearAlgebra.Trace +module + +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.Matrix.BilinearForm +public import Mathlib.LinearAlgebra.Trace /-! # Trace for (finite) ring extensions. @@ -41,6 +43,8 @@ For now, the definitions assume `S` is commutative, so the choice doesn't matter -/ +@[expose] public section + universe w diff --git a/Mathlib/RingTheory/Trace/Quotient.lean b/Mathlib/RingTheory/Trace/Quotient.lean index 2cb79c6c86318d..5fd3cd810e82c0 100644 --- a/Mathlib/RingTheory/Trace/Quotient.lean +++ b/Mathlib/RingTheory/Trace/Quotient.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Riccardo Brasca. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Riccardo Brasca -/ +module -import Mathlib.RingTheory.DedekindDomain.Dvr -import Mathlib.RingTheory.IntegralClosure.IntegralRestrict -import Mathlib.RingTheory.LocalRing.Quotient +public import Mathlib.RingTheory.DedekindDomain.Dvr +public import Mathlib.RingTheory.IntegralClosure.IntegralRestrict +public import Mathlib.RingTheory.LocalRing.Quotient /-! @@ -20,6 +21,8 @@ quotients and localizations. -/ +@[expose] public section + variable {R S : Type*} [CommRing R] [CommRing S] [Algebra R S] open IsLocalRing FiniteDimensional Submodule diff --git a/Mathlib/RingTheory/TwoSidedIdeal/Basic.lean b/Mathlib/RingTheory/TwoSidedIdeal/Basic.lean index ede3bcce035fb8..379c991815f38f 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/Basic.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/Basic.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.Tactic.Abel -import Mathlib.Algebra.Ring.Opposite -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.RingTheory.Congruence.Opposite +public import Mathlib.Tactic.Abel +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.RingTheory.Congruence.Opposite /-! # Two Sided Ideals @@ -24,6 +25,8 @@ In this file, for any `Ring R`, we reinterpret `I : RingCon R` as a two-sided-id -/ +@[expose] public section + assert_not_exists LinearMap open MulOpposite diff --git a/Mathlib/RingTheory/TwoSidedIdeal/BigOperators.lean b/Mathlib/RingTheory/TwoSidedIdeal/BigOperators.lean index c7fcfd8697546d..1a44f3f9c2e4d0 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/BigOperators.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/BigOperators.lean @@ -3,15 +3,18 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.Congruence.BigOperators -import Mathlib.RingTheory.TwoSidedIdeal.Basic +public import Mathlib.RingTheory.Congruence.BigOperators +public import Mathlib.RingTheory.TwoSidedIdeal.Basic /-! # Interactions between `∑, ∏` and two-sided ideals -/ +@[expose] public section + namespace TwoSidedIdeal section sum diff --git a/Mathlib/RingTheory/TwoSidedIdeal/Instances.lean b/Mathlib/RingTheory/TwoSidedIdeal/Instances.lean index d8bd529922910e..f4385e4a15d10b 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/Instances.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/Instances.lean @@ -3,12 +3,16 @@ Copyright (c) 2024. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: euprunin -/ -import Mathlib.Algebra.Ring.Defs -import Mathlib.RingTheory.NonUnitalSubring.Defs -import Mathlib.RingTheory.TwoSidedIdeal.Basic +module + +public import Mathlib.Algebra.Ring.Defs +public import Mathlib.RingTheory.NonUnitalSubring.Defs +public import Mathlib.RingTheory.TwoSidedIdeal.Basic /-! # Additional instances for two-sided ideals. -/ + +@[expose] public section instance {R} [NonUnitalNonAssocRing R] : NonUnitalSubringClass (TwoSidedIdeal R) R where mul_mem _ hb := TwoSidedIdeal.mul_mem_left _ _ _ hb diff --git a/Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean b/Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean index dc6cfbf95275d9..28adff84aadc70 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Jujian. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Jujian Zhang -/ +module -import Mathlib.RingTheory.TwoSidedIdeal.Basic -import Mathlib.RingTheory.TwoSidedIdeal.Lattice +public import Mathlib.RingTheory.TwoSidedIdeal.Basic +public import Mathlib.RingTheory.TwoSidedIdeal.Lattice /-! # Kernel of a ring homomorphism as a two-sided ideal @@ -16,6 +17,8 @@ We put this in a separate file so that we could import it in `SimpleRing/Basic.l importing any finiteness result. -/ +@[expose] public section + assert_not_exists Finset namespace TwoSidedIdeal diff --git a/Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean b/Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean index d2f41fad09143c..baf39d6809aa73 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean @@ -3,13 +3,16 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.RingTheory.TwoSidedIdeal.Basic +public import Mathlib.RingTheory.TwoSidedIdeal.Basic /-! # The complete lattice structure on two-sided ideals -/ +@[expose] public section + namespace TwoSidedIdeal variable (R : Type*) [NonUnitalNonAssocRing R] diff --git a/Mathlib/RingTheory/TwoSidedIdeal/Operations.lean b/Mathlib/RingTheory/TwoSidedIdeal/Operations.lean index 6b29aaffa598eb..df0595b4084c39 100644 --- a/Mathlib/RingTheory/TwoSidedIdeal/Operations.lean +++ b/Mathlib/RingTheory/TwoSidedIdeal/Operations.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Jireh Loreaux, Yunzhou Xie -/ -import Mathlib.Algebra.Group.Subgroup.Map -import Mathlib.Algebra.Module.Opposite -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.RingTheory.Congruence.Opposite -import Mathlib.RingTheory.Ideal.Defs -import Mathlib.RingTheory.TwoSidedIdeal.Lattice -import Mathlib.Algebra.Group.Pointwise.Set.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Map +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.RingTheory.Congruence.Opposite +public import Mathlib.RingTheory.Ideal.Defs +public import Mathlib.RingTheory.TwoSidedIdeal.Lattice +public import Mathlib.Algebra.Group.Pointwise.Set.Basic /-! # Operations on two-sided ideals @@ -39,6 +41,8 @@ This file defines operations on two-sided ideals of a ring `R`. ideal and `asIdeal : TwoSidedIdeal R → Ideal R` the inclusion map. -/ +@[expose] public section + namespace TwoSidedIdeal section NonUnitalNonAssocRing diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean index 5b27980cdc51ce..9ae6de8b9961d6 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Algebra.BigOperators.Associated -import Mathlib.Data.ENat.Basic -import Mathlib.RingTheory.UniqueFactorizationDomain.Defs +module + +public import Mathlib.Algebra.BigOperators.Associated +public import Mathlib.Data.ENat.Basic +public import Mathlib.RingTheory.UniqueFactorizationDomain.Defs /-! # Basic results un unique factorization monoids @@ -25,6 +27,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.Defs to get relatively prime elements. -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean index 7bbf24774a965a..3f80b6de9fa2ff 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Algebra.BigOperators.Group.Multiset.Basic -import Mathlib.Algebra.Group.Submonoid.BigOperators -import Mathlib.Algebra.GroupWithZero.Associated -import Mathlib.Algebra.GroupWithZero.Submonoid.Primal -import Mathlib.Order.WellFounded +module + +public import Mathlib.Algebra.BigOperators.Group.Multiset.Basic +public import Mathlib.Algebra.Group.Submonoid.BigOperators +public import Mathlib.Algebra.GroupWithZero.Associated +public import Mathlib.Algebra.GroupWithZero.Submonoid.Primal +public import Mathlib.Order.WellFounded /-! # Unique factorization @@ -19,6 +21,8 @@ import Mathlib.Order.WellFounded `Irreducible` is equivalent to `Prime` -/ +@[expose] public section + assert_not_exists Field Finsupp Ideal variable {α : Type*} diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean index e0b06d00398ba0..8ba214cadd91ea 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Data.Finsupp.Multiset -import Mathlib.RingTheory.UniqueFactorizationDomain.Basic -import Mathlib.Tactic.Ring +module + +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.RingTheory.UniqueFactorizationDomain.Basic +public import Mathlib.Tactic.Ring /-! # Set of factors @@ -19,6 +21,8 @@ import Mathlib.Tactic.Ring -/ +@[expose] public section + variable {α : Type*} local infixl:50 " ~ᵤ " => Associated diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean index ea8309c12177f3..20948f359d370b 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Finiteness of divisors @@ -13,6 +15,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors finitely many divisors. -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Finsupp.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Finsupp.lean index a901b3c83b1a34..950740acf4d4fb 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Finsupp.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Finsupp.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Data.Finsupp.Multiset -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.Data.Finsupp.Multiset +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Factors as finsupp @@ -13,6 +15,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors * `UniqueFactorizationMonoid.factorization`: the multiset of irreducible factors as a `Finsupp`. -/ +@[expose] public section + variable {α : Type*} local infixl:50 " ~ᵤ " => Associated diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean index 74940f8f2ed5fe..7970bd0488387f 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.RingTheory.UniqueFactorizationDomain.FactorSet -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.RingTheory.UniqueFactorizationDomain.FactorSet +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Building GCD out of unique factorization @@ -13,6 +15,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors * `UniqueFactorizationMonoid.toGCDMonoid`: choose a GCD monoid structure given unique factorization. -/ +@[expose] public section + variable {α : Type*} local infixl:50 " ~ᵤ " => Associated diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean index 76a9fb5c099410..8fbb413a0172a1 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.RingTheory.Ideal.Operations -import Mathlib.RingTheory.UniqueFactorizationDomain.Defs +module + +public import Mathlib.RingTheory.Ideal.Operations +public import Mathlib.RingTheory.UniqueFactorizationDomain.Defs /-! # Unique factorization and ascending chain condition on ideals @@ -15,6 +17,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.Defs chain condition on principal ideals. -/ +@[expose] public section + variable {α : Type*} open UniqueFactorizationMonoid in diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean index 4e9d7b8a38d34f..d62191643ab02d 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Multiplicative maps on unique factorization domains @@ -15,6 +17,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors primes `p`, and `f` is multiplicative on coprime elements, then `f` is multiplicative everywhere. -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean index fe334019d18215..9a691d3c1d644d 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.RingTheory.Multiplicity -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Unique factorization and multiplicity @@ -16,6 +18,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors occurs in the `normalizedFactors`. -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean index 3f50d006bd20b6..06086e026574e4 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Data.ENat.Basic -import Mathlib.Data.Nat.Factors -import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors +module + +public import Mathlib.Data.ENat.Basic +public import Mathlib.Data.Nat.Factors +public import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors /-! # Unique factorization of natural numbers @@ -15,6 +17,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors * `Nat.instUniqueFactorizationMonoid`: the natural numbers have unique factorization -/ +@[expose] public section + assert_not_exists Field namespace Nat diff --git a/Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean b/Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean index d5ea7b340b8d11..6bc8c91dc0468d 100644 --- a/Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean +++ b/Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Jens Wagemaker, Aaron Anderson -/ -import Mathlib.Algebra.GCDMonoid.Basic -import Mathlib.Data.Multiset.OrderedMonoid -import Mathlib.RingTheory.UniqueFactorizationDomain.Basic +module + +public import Mathlib.Algebra.GCDMonoid.Basic +public import Mathlib.Data.Multiset.OrderedMonoid +public import Mathlib.RingTheory.UniqueFactorizationDomain.Basic /-! # Unique factorization and normalization @@ -16,6 +18,8 @@ import Mathlib.RingTheory.UniqueFactorizationDomain.Basic * `UniqueFactorizationMonoid.normalizationMonoid`: choose a way of normalizing the elements of a UFM -/ +@[expose] public section + assert_not_exists Field variable {α : Type*} diff --git a/Mathlib/RingTheory/Unramified/Basic.lean b/Mathlib/RingTheory/Unramified/Basic.lean index dcc56f367fc95a..2abc2bc2589371 100644 --- a/Mathlib/RingTheory/Unramified/Basic.lean +++ b/Mathlib/RingTheory/Unramified/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.FiniteStability -import Mathlib.RingTheory.Ideal.Quotient.Nilpotent -import Mathlib.RingTheory.Kaehler.Basic -import Mathlib.RingTheory.Localization.Away.AdjoinRoot +module + +public import Mathlib.RingTheory.FiniteStability +public import Mathlib.RingTheory.Ideal.Quotient.Nilpotent +public import Mathlib.RingTheory.Kaehler.Basic +public import Mathlib.RingTheory.Localization.Away.AdjoinRoot /-! @@ -30,6 +32,8 @@ localization at an element. -/ +@[expose] public section + open scoped TensorProduct universe u v w diff --git a/Mathlib/RingTheory/Unramified/Field.lean b/Mathlib/RingTheory/Unramified/Field.lean index f2507196d7a717..3a19b350ed029a 100644 --- a/Mathlib/RingTheory/Unramified/Field.lean +++ b/Mathlib/RingTheory/Unramified/Field.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.FieldTheory.PurelyInseparable.Basic -import Mathlib.RingTheory.Artinian.Ring -import Mathlib.RingTheory.LocalProperties.Basic -import Mathlib.Algebra.Polynomial.Taylor -import Mathlib.RingTheory.Unramified.Finite +module + +public import Mathlib.FieldTheory.PurelyInseparable.Basic +public import Mathlib.RingTheory.Artinian.Ring +public import Mathlib.RingTheory.LocalProperties.Basic +public import Mathlib.Algebra.Polynomial.Taylor +public import Mathlib.RingTheory.Unramified.Finite /-! # Unramified algebras over fields @@ -29,6 +31,8 @@ Let `K` be a field, `A` be a `K`-algebra and `L` be a field extension of `K`. -/ +@[expose] public section + open Algebra Module Polynomial open scoped TensorProduct diff --git a/Mathlib/RingTheory/Unramified/Finite.lean b/Mathlib/RingTheory/Unramified/Finite.lean index 4864c84b4f41bf..e9ae72fb2a4f59 100644 --- a/Mathlib/RingTheory/Unramified/Finite.lean +++ b/Mathlib/RingTheory/Unramified/Finite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Ideal.IdempotentFG -import Mathlib.RingTheory.Unramified.Basic -import Mathlib.RingTheory.Flat.Stability +module + +public import Mathlib.RingTheory.Ideal.IdempotentFG +public import Mathlib.RingTheory.Unramified.Basic +public import Mathlib.RingTheory.Flat.Stability /-! # Various results about unramified algebras @@ -30,6 +32,8 @@ of formally unramified algebras which are essentially of finite type. -/ +@[expose] public section + open Algebra Module open scoped TensorProduct diff --git a/Mathlib/RingTheory/Unramified/LocalRing.lean b/Mathlib/RingTheory/Unramified/LocalRing.lean index 0a62708c26b3b3..884a6a98069b85 100644 --- a/Mathlib/RingTheory/Unramified/LocalRing.lean +++ b/Mathlib/RingTheory/Unramified/LocalRing.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.LocalRing.Module -import Mathlib.RingTheory.LocalRing.ResidueField.Ideal -import Mathlib.RingTheory.Unramified.Field -import Mathlib.RingTheory.Unramified.Locus +module + +public import Mathlib.RingTheory.LocalRing.Module +public import Mathlib.RingTheory.LocalRing.ResidueField.Ideal +public import Mathlib.RingTheory.Unramified.Field +public import Mathlib.RingTheory.Unramified.Locus /-! # Unramified algebras over local rings @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Unramified.Locus Then `A` is unramified at `p` if and only if `κ(q)/κ(p)` is separable, and `pS_q = qS_q`. -/ +@[expose] public section + open IsLocalRing namespace Algebra diff --git a/Mathlib/RingTheory/Unramified/Locus.lean b/Mathlib/RingTheory/Unramified/Locus.lean index 0e86e025d41d90..e05a761e2ed329 100644 --- a/Mathlib/RingTheory/Unramified/Locus.lean +++ b/Mathlib/RingTheory/Unramified/Locus.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Spectrum.Prime.Topology -import Mathlib.RingTheory.Etale.Kaehler -import Mathlib.RingTheory.Support +module + +public import Mathlib.RingTheory.Spectrum.Prime.Topology +public import Mathlib.RingTheory.Etale.Kaehler +public import Mathlib.RingTheory.Support /-! # Unramified locus of an algebra @@ -20,6 +22,8 @@ import Mathlib.RingTheory.Support If `A` is (essentially) of finite type over `R`, then the unramified locus is open. -/ +@[expose] public section + universe u namespace Algebra diff --git a/Mathlib/RingTheory/Unramified/Pi.lean b/Mathlib/RingTheory/Unramified/Pi.lean index 742791026e97f6..f7117692eb6969 100644 --- a/Mathlib/RingTheory/Unramified/Pi.lean +++ b/Mathlib/RingTheory/Unramified/Pi.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Unramified.Basic +module + +public import Mathlib.RingTheory.Unramified.Basic /-! @@ -16,6 +18,8 @@ import Mathlib.RingTheory.Unramified.Basic -/ +@[expose] public section + namespace Algebra.FormallyUnramified universe u v diff --git a/Mathlib/RingTheory/Valuation/AlgebraInstances.lean b/Mathlib/RingTheory/Valuation/AlgebraInstances.lean index 0f76fe15e064f3..9bc686e30ad538 100644 --- a/Mathlib/RingTheory/Valuation/AlgebraInstances.lean +++ b/Mathlib/RingTheory/Valuation/AlgebraInstances.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic -import Mathlib.RingTheory.Valuation.ValuationSubring +module + +public import Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic +public import Mathlib.RingTheory.Valuation.ValuationSubring /-! # Algebra instances @@ -22,6 +24,8 @@ of a field with a valuation, as well as their unit balls. valuation injects into its integral closure in a field extension `L` of `K`. -/ +@[expose] public section + open Function Valuation open scoped WithZero diff --git a/Mathlib/RingTheory/Valuation/Archimedean.lean b/Mathlib/RingTheory/Valuation/Archimedean.lean index e5c04bdb399bd8..55e16b2e79ed60 100644 --- a/Mathlib/RingTheory/Valuation/Archimedean.lean +++ b/Mathlib/RingTheory/Valuation/Archimedean.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.GroupTheory.ArchimedeanDensely -import Mathlib.RingTheory.Valuation.ValuationRing +module + +public import Mathlib.GroupTheory.ArchimedeanDensely +public import Mathlib.RingTheory.Valuation.ValuationRing /-! # Ring of integers under a given valuation in an multiplicatively archimedean codomain -/ +@[expose] public section + section Field variable {F Γ₀ O : Type*} [Field F] [LinearOrderedCommGroupWithZero Γ₀] diff --git a/Mathlib/RingTheory/Valuation/Basic.lean b/Mathlib/RingTheory/Valuation/Basic.lean index 9fbf0f734fc7ca..8e429a87cd350d 100644 --- a/Mathlib/RingTheory/Valuation/Basic.lean +++ b/Mathlib/RingTheory/Valuation/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Johan Commelin, Patrick Massot -/ -import Mathlib.Algebra.GroupWithZero.Submonoid.Instances -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Algebra.GroupWithZero.Submonoid.Instances +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.Algebra.Order.Ring.Basic +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.Tactic.TFAE /-! @@ -58,6 +60,8 @@ If ever someone extends `Valuation`, we should fully comply to the `DFunLike` by boilerplate lemmas to `ValuationClass`. -/ +@[expose] public section + open Function Ideal noncomputable section diff --git a/Mathlib/RingTheory/Valuation/Discrete/Basic.lean b/Mathlib/RingTheory/Valuation/Discrete/Basic.lean index d79418eae82452..acad2ffb27fa7d 100644 --- a/Mathlib/RingTheory/Valuation/Discrete/Basic.lean +++ b/Mathlib/RingTheory/Valuation/Discrete/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.Algebra.GroupWithZero.Range -import Mathlib.Algebra.Order.Group.Cyclic -import Mathlib.RingTheory.DedekindDomain.AdicValuation -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.PrincipalIdealDomainOfPrime +module + +public import Mathlib.Algebra.GroupWithZero.Range +public import Mathlib.Algebra.Order.Group.Cyclic +public import Mathlib.RingTheory.DedekindDomain.AdicValuation +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.PrincipalIdealDomainOfPrime /-! # Discrete Valuations @@ -58,6 +60,8 @@ discrete, we use the name `IsRankOneDiscrete` to refer to discrete valuations in ) -/ +@[expose] public section + namespace Valuation open LinearOrderedCommGroup MonoidWithZeroHom Set Subgroup diff --git a/Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean b/Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean index 7b42a9159c684c..3f43da9a212ed2 100644 --- a/Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean +++ b/Mathlib/RingTheory/Valuation/DiscreteValuativeRel.lean @@ -3,10 +3,11 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ +module -import Mathlib.Algebra.GroupWithZero.Range -import Mathlib.GroupTheory.ArchimedeanDensely -import Mathlib.RingTheory.Valuation.RankOne +public import Mathlib.Algebra.GroupWithZero.Range +public import Mathlib.GroupTheory.ArchimedeanDensely +public import Mathlib.RingTheory.Valuation.RankOne /-! @@ -18,6 +19,8 @@ In the rank-one case, this is equivalent to the value group being isomorphic to -/ +@[expose] public section + namespace ValuativeRel variable {R : Type*} [CommRing R] [ValuativeRel R] diff --git a/Mathlib/RingTheory/Valuation/ExtendToLocalization.lean b/Mathlib/RingTheory/Valuation/ExtendToLocalization.lean index ccba55b7316145..904eae8ec5c268 100644 --- a/Mathlib/RingTheory/Valuation/ExtendToLocalization.lean +++ b/Mathlib/RingTheory/Valuation/ExtendToLocalization.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.RingTheory.Localization.Defs -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.RingTheory.Valuation.Basic /-! @@ -16,6 +18,8 @@ extended to the localization `S⁻¹A`. -/ +@[expose] public section + variable {A : Type*} [CommRing A] {Γ : Type*} [LinearOrderedCommGroupWithZero Γ] (v : Valuation A Γ) {S : Submonoid A} (hS : S ≤ v.supp.primeCompl) (B : Type*) [CommRing B] diff --git a/Mathlib/RingTheory/Valuation/Extension.lean b/Mathlib/RingTheory/Valuation/Extension.lean index 75d05e9a17731e..f20358415dccd4 100644 --- a/Mathlib/RingTheory/Valuation/Extension.lean +++ b/Mathlib/RingTheory/Valuation/Extension.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang, Bichang Lei, María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.RingTheory.Valuation.ValuationSubring +module + +public import Mathlib.RingTheory.Valuation.ValuationSubring /-! # Extension of Valuations @@ -44,6 +46,8 @@ without first determining the normalizations once and for all. Valuation, Extension of Valuations -/ + +@[expose] public section namespace Valuation variable {R A ΓR ΓA : Type*} [CommRing R] [Ring A] diff --git a/Mathlib/RingTheory/Valuation/Integers.lean b/Mathlib/RingTheory/Valuation/Integers.lean index cdd925167bf9b5..74ea7ae872108a 100644 --- a/Mathlib/RingTheory/Valuation/Integers.lean +++ b/Mathlib/RingTheory/Valuation/Integers.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau -/ -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.RingTheory.Valuation.Basic /-! # Ring of integers under a given valuation @@ -13,6 +15,8 @@ The elements with valuation less than or equal to 1. TODO: Define characteristic predicate. -/ +@[expose] public section + open Set universe u v w diff --git a/Mathlib/RingTheory/Valuation/Integral.lean b/Mathlib/RingTheory/Valuation/Integral.lean index 3d61bc481d0627..84a5284aba736b 100644 --- a/Mathlib/RingTheory/Valuation/Integral.lean +++ b/Mathlib/RingTheory/Valuation/Integral.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Yakov Pechersky -/ -import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed -import Mathlib.RingTheory.Valuation.ValuationRing +module + +public import Mathlib.RingTheory.IntegralClosure.IntegrallyClosed +public import Mathlib.RingTheory.Valuation.ValuationRing /-! # Integral elements over the ring of integers of a valuation @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Valuation.ValuationRing The ring of integers is integrally closed inside the original ring. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/RingTheory/Valuation/IntegrallyClosed.lean b/Mathlib/RingTheory/Valuation/IntegrallyClosed.lean index e69c6f400786b6..a8ba4e2e4f2e91 100644 --- a/Mathlib/RingTheory/Valuation/IntegrallyClosed.lean +++ b/Mathlib/RingTheory/Valuation/IntegrallyClosed.lean @@ -1,3 +1,5 @@ -import Mathlib.RingTheory.Valuation.Integral +module + +public import Mathlib.RingTheory.Valuation.Integral deprecated_module (since := "2025-09-07") diff --git a/Mathlib/RingTheory/Valuation/LocalSubring.lean b/Mathlib/RingTheory/Valuation/LocalSubring.lean index e5c5b3c554f44c..be22ed8615d044 100644 --- a/Mathlib/RingTheory/Valuation/LocalSubring.lean +++ b/Mathlib/RingTheory/Valuation/LocalSubring.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang, Yaël Dillies, Javier López-Contreras. All righ Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Yaël Dillies, Javier López-Contreras -/ -import Mathlib.RingTheory.Ideal.GoingUp -import Mathlib.RingTheory.LocalRing.LocalSubring -import Mathlib.RingTheory.Polynomial.Ideal -import Mathlib.RingTheory.Valuation.ValuationSubring +module + +public import Mathlib.RingTheory.Ideal.GoingUp +public import Mathlib.RingTheory.LocalRing.LocalSubring +public import Mathlib.RingTheory.Polynomial.Ideal +public import Mathlib.RingTheory.Valuation.ValuationSubring /-! @@ -17,6 +19,8 @@ Note that the order on local subrings is not merely inclusion but domination. -/ +@[expose] public section + open IsLocalRing variable {R S K : Type*} [CommRing R] [CommRing S] [Field K] diff --git a/Mathlib/RingTheory/Valuation/Minpoly.lean b/Mathlib/RingTheory/Valuation/Minpoly.lean index 3dd9d7b332a434..b254ae0e9d6773 100644 --- a/Mathlib/RingTheory/Valuation/Minpoly.lean +++ b/Mathlib/RingTheory/Valuation/Minpoly.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 María Inés de Frutos-Fernández, Filippo A. E. Nuccio. All Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández, Filippo A. E. Nuccio -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Basic +public import Mathlib.RingTheory.Valuation.Basic /-! # Minimal polynomials. @@ -21,6 +23,8 @@ Let `K` be a field with a valuation `v` and let `L` be a field extension of `K`. is helpful for defining the valuation on `L` inducing `v`. -/ +@[expose] public section + open Module minpoly Polynomial variable {K : Type*} [Field K] {Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀] diff --git a/Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean b/Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean index 835372b91040ea..24b07c6462f452 100644 --- a/Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean +++ b/Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean @@ -3,13 +3,17 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Chris Hughes -/ -import Mathlib.RingTheory.Multiplicity -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.RingTheory.Multiplicity +public import Mathlib.RingTheory.Valuation.Basic /-! # `multiplicity` of a prime in an integral domain as an additive valuation -/ +@[expose] public section + variable {R : Type*} [CommRing R] [IsDomain R] {p : R} /-- `multiplicity` of a prime in an integral domain as an additive valuation to `ℕ∞`. -/ diff --git a/Mathlib/RingTheory/Valuation/Quotient.lean b/Mathlib/RingTheory/Valuation/Quotient.lean index 7110a822e7edb1..5c4364f0e8abd4 100644 --- a/Mathlib/RingTheory/Valuation/Quotient.lean +++ b/Mathlib/RingTheory/Valuation/Quotient.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Johan Commelin, Patrick Massot -/ -import Mathlib.RingTheory.Ideal.Quotient.Operations -import Mathlib.RingTheory.Valuation.Basic +module + +public import Mathlib.RingTheory.Ideal.Quotient.Operations +public import Mathlib.RingTheory.Valuation.Basic /-! # The valuation on a quotient ring @@ -15,6 +17,8 @@ on `R / J` = `Ideal.Quotient J` is `onQuot v h`. -/ +@[expose] public section + namespace Valuation diff --git a/Mathlib/RingTheory/Valuation/RamificationGroup.lean b/Mathlib/RingTheory/Valuation/RamificationGroup.lean index 1e1be09cf8c9a9..526324963c84ef 100644 --- a/Mathlib/RingTheory/Valuation/RamificationGroup.lean +++ b/Mathlib/RingTheory/Valuation/RamificationGroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Michail Karatarakis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michail Karatarakis -/ -import Mathlib.RingTheory.LocalRing.ResidueField.Basic -import Mathlib.RingTheory.Valuation.ValuationSubring +module + +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic +public import Mathlib.RingTheory.Valuation.ValuationSubring /-! # Ramification groups @@ -14,6 +16,8 @@ The decomposition subgroup and inertia subgroups. TODO: Define higher ramification groups in lower numbering -/ +@[expose] public section + namespace ValuationSubring diff --git a/Mathlib/RingTheory/Valuation/RankOne.lean b/Mathlib/RingTheory/Valuation/RankOne.lean index 531139bc596089..e8b1493d0ab85c 100644 --- a/Mathlib/RingTheory/Valuation/RankOne.lean +++ b/Mathlib/RingTheory/Valuation/RankOne.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.Order.Group.Units -import Mathlib.Algebra.Order.GroupWithZero.WithZero -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.Data.Real.Embedding -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +module + +public import Mathlib.Algebra.Order.Group.Units +public import Mathlib.Algebra.Order.GroupWithZero.WithZero +public import Mathlib.Analysis.SpecialFunctions.Pow.Real +public import Mathlib.Data.Real.Embedding +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic /-! # Rank one valuations @@ -23,6 +25,8 @@ We define rank one valuations. valuation, rank one -/ +@[expose] public section + noncomputable section open Function Multiplicative diff --git a/Mathlib/RingTheory/Valuation/ValExtension.lean b/Mathlib/RingTheory/Valuation/ValExtension.lean index 7c7a8d5756001f..1615346a57eeb2 100644 --- a/Mathlib/RingTheory/Valuation/ValExtension.lean +++ b/Mathlib/RingTheory/Valuation/ValExtension.lean @@ -3,6 +3,8 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang, Bichang Lei -/ -import Mathlib.RingTheory.Valuation.Extension +module + +public import Mathlib.RingTheory.Valuation.Extension deprecated_module (since := "2025-05-06") diff --git a/Mathlib/RingTheory/Valuation/ValuationRing.lean b/Mathlib/RingTheory/Valuation/ValuationRing.lean index 5a32635a9b752e..56f6e2b9a39e98 100644 --- a/Mathlib/RingTheory/Valuation/ValuationRing.lean +++ b/Mathlib/RingTheory/Valuation/ValuationRing.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.RingTheory.Bezout -import Mathlib.RingTheory.LocalRing.Basic -import Mathlib.RingTheory.Localization.FractionRing -import Mathlib.RingTheory.Localization.Integer -import Mathlib.RingTheory.Valuation.Integers -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.FieldSimp +module + +public import Mathlib.RingTheory.Bezout +public import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.RingTheory.Localization.FractionRing +public import Mathlib.RingTheory.Localization.Integer +public import Mathlib.RingTheory.Valuation.Integers +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.FieldSimp /-! # Valuation Rings @@ -42,6 +44,8 @@ The `ValuationRing` class is kept to be in sync with the literature. -/ +@[expose] public section + assert_not_exists IsDiscreteValuationRing universe u v w diff --git a/Mathlib/RingTheory/Valuation/ValuationSubring.lean b/Mathlib/RingTheory/Valuation/ValuationSubring.lean index fd54a49ab1e114..ebd997fbcaa6aa 100644 --- a/Mathlib/RingTheory/Valuation/ValuationSubring.lean +++ b/Mathlib/RingTheory/Valuation/ValuationSubring.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Junyan Xu, Jack McKoen -/ -import Mathlib.RingTheory.Valuation.ValuationRing -import Mathlib.RingTheory.Localization.AsSubring -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Algebra.Ring.Subring.Pointwise -import Mathlib.Algebra.Ring.Action.Field -import Mathlib.RingTheory.LocalRing.ResidueField.Basic +module + +public import Mathlib.RingTheory.Valuation.ValuationRing +public import Mathlib.RingTheory.Localization.AsSubring +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Algebra.Ring.Subring.Pointwise +public import Mathlib.Algebra.Ring.Action.Field +public import Mathlib.RingTheory.LocalRing.ResidueField.Basic /-! @@ -20,6 +22,8 @@ The order structure on `ValuationSubring K`. -/ +@[expose] public section + universe u diff --git a/Mathlib/RingTheory/Valuation/ValuativeRel.lean b/Mathlib/RingTheory/Valuation/ValuativeRel.lean index 3ac79cb41ecd6b..ab7f1ad8939f2a 100644 --- a/Mathlib/RingTheory/Valuation/ValuativeRel.lean +++ b/Mathlib/RingTheory/Valuation/ValuativeRel.lean @@ -3,6 +3,8 @@ Copyright (c) 2025 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Liu, Adam Topaz -/ -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +module + +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic deprecated_module (since := "2025-08-14") diff --git a/Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean b/Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean index e93254d741b543..34ebddf681a3e2 100644 --- a/Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean +++ b/Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Liu, Adam Topaz -/ -import Mathlib.RingTheory.Valuation.Basic -import Mathlib.Data.NNReal.Defs -import Mathlib.Topology.Defs.Filter +module + +public import Mathlib.RingTheory.Valuation.Basic +public import Mathlib.Data.NNReal.Defs +public import Mathlib.Topology.Defs.Filter /-! @@ -58,6 +60,8 @@ Once such a refactor happens, `ValuativeRel` could be renamed to `Valued`. -/ +@[expose] public section + noncomputable section /-- The class `[ValuativeRel R]` class introduces an operator `x ≤ᵥ y : Prop` for `x y : R` diff --git a/Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean b/Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean index 896a05958ba579..76b5b8c8c1e46f 100644 --- a/Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean +++ b/Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ +module -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic /-! @@ -20,6 +21,8 @@ A trivial valuative relation is equivalent to the value group being isomorphic t -/ +@[expose] public section + namespace ValuativeRel variable {R Γ : Type} [CommRing R] [DecidableEq R] [IsDomain R] diff --git a/Mathlib/RingTheory/WittVector/Basic.lean b/Mathlib/RingTheory/WittVector/Basic.lean index af434d419fc26e..8dbd6651db88f8 100644 --- a/Mathlib/RingTheory/WittVector/Basic.lean +++ b/Mathlib/RingTheory/WittVector/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.MvPolynomial.Counit -import Mathlib.Algebra.MvPolynomial.Invertible -import Mathlib.RingTheory.WittVector.Defs +module + +public import Mathlib.Algebra.MvPolynomial.Counit +public import Mathlib.Algebra.MvPolynomial.Invertible +public import Mathlib.RingTheory.WittVector.Defs /-! # Witt vectors @@ -44,6 +46,8 @@ in this file. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/Compare.lean b/Mathlib/RingTheory/WittVector/Compare.lean index c99776913713c3..05104abe353024 100644 --- a/Mathlib/RingTheory/WittVector/Compare.lean +++ b/Mathlib/RingTheory/WittVector/Compare.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.RingTheory.WittVector.Truncated -import Mathlib.RingTheory.WittVector.Identities -import Mathlib.NumberTheory.Padics.RingHoms +module + +public import Mathlib.RingTheory.WittVector.Truncated +public import Mathlib.RingTheory.WittVector.Identities +public import Mathlib.NumberTheory.Padics.RingHoms /-! @@ -27,6 +29,8 @@ of the inverse limit of `ZMod (p^n)`. * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/Complete.lean b/Mathlib/RingTheory/WittVector/Complete.lean index e4b92e55059e5d..43e4c7c9cde762 100644 --- a/Mathlib/RingTheory/WittVector/Complete.lean +++ b/Mathlib/RingTheory/WittVector/Complete.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang -/ -import Mathlib.RingTheory.WittVector.Domain -import Mathlib.RingTheory.WittVector.Truncated -import Mathlib.RingTheory.AdicCompletion.Basic +module + +public import Mathlib.RingTheory.WittVector.Domain +public import Mathlib.RingTheory.WittVector.Truncated +public import Mathlib.RingTheory.AdicCompletion.Basic /-! # The ring of Witt vectors is p-torsion free and p-adically complete @@ -24,6 +26,8 @@ when `k` is a perfect ring of characteristic `p`. Define the map `𝕎 k / p ≃+* k`. -/ +@[expose] public section + namespace WittVector variable {p : ℕ} [hp : Fact (Nat.Prime p)] {k : Type*} [CommRing k] diff --git a/Mathlib/RingTheory/WittVector/Defs.lean b/Mathlib/RingTheory/WittVector/Defs.lean index b185ee61d434a8..8a475614bf098f 100644 --- a/Mathlib/RingTheory/WittVector/Defs.lean +++ b/Mathlib/RingTheory/WittVector/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.RingTheory.WittVector.StructurePolynomial +module + +public import Mathlib.RingTheory.WittVector.StructurePolynomial /-! # Witt vectors @@ -35,6 +37,8 @@ We use notation `𝕎 R`, entered `\bbW`, for the Witt vectors over `R`. * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean b/Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean index 6e03e278cd77dd..950d98a39f6ae8 100644 --- a/Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean +++ b/Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Heather Macbeth, Johan Commelin -/ -import Mathlib.RingTheory.WittVector.Domain -import Mathlib.RingTheory.WittVector.MulCoeff -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.Tactic.LinearCombination +module + +public import Mathlib.RingTheory.WittVector.Domain +public import Mathlib.RingTheory.WittVector.MulCoeff +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.Tactic.LinearCombination /-! @@ -25,6 +27,8 @@ When `k` is also a field, this `b` can be chosen to be a unit of `𝕎 k`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/Domain.lean b/Mathlib/RingTheory/WittVector/Domain.lean index ce2d17555dd2c6..8b2095f0f1923d 100644 --- a/Mathlib/RingTheory/WittVector/Domain.lean +++ b/Mathlib/RingTheory/WittVector/Domain.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.RingTheory.WittVector.Identities +module + +public import Mathlib.RingTheory.WittVector.Identities /-! @@ -31,6 +33,8 @@ the 0th component of which must be nonzero. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/Frobenius.lean b/Mathlib/RingTheory/WittVector/Frobenius.lean index 0d16b7c69af4ac..e9c40bc3d6df9f 100644 --- a/Mathlib/RingTheory/WittVector/Frobenius.lean +++ b/Mathlib/RingTheory/WittVector/Frobenius.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.ZMod -import Mathlib.Data.Nat.Multiplicity -import Mathlib.FieldTheory.Perfect -import Mathlib.RingTheory.WittVector.Basic -import Mathlib.RingTheory.WittVector.IsPoly +module + +public import Mathlib.Algebra.Algebra.ZMod +public import Mathlib.Data.Nat.Multiplicity +public import Mathlib.FieldTheory.Perfect +public import Mathlib.RingTheory.WittVector.Basic +public import Mathlib.RingTheory.WittVector.IsPoly /-! ## The Frobenius operator @@ -45,6 +47,8 @@ and bundle it into `WittVector.frobenius`. * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector diff --git a/Mathlib/RingTheory/WittVector/FrobeniusFractionField.lean b/Mathlib/RingTheory/WittVector/FrobeniusFractionField.lean index 7dc06bca406661..7d5cea3366322c 100644 --- a/Mathlib/RingTheory/WittVector/FrobeniusFractionField.lean +++ b/Mathlib/RingTheory/WittVector/FrobeniusFractionField.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Heather Macbeth -/ -import Mathlib.Data.Nat.Cast.WithTop -import Mathlib.FieldTheory.IsAlgClosed.Basic -import Mathlib.RingTheory.WittVector.DiscreteValuationRing +module + +public import Mathlib.Data.Nat.Cast.WithTop +public import Mathlib.FieldTheory.IsAlgClosed.Basic +public import Mathlib.RingTheory.WittVector.DiscreteValuationRing /-! # Solving equations about the Frobenius map on the field of fractions of `𝕎 k` @@ -35,6 +37,8 @@ The result is a dependency for the proof of `WittVector.isocrystal_classificatio the classification of one-dimensional isocrystals over an algebraically closed field. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/Identities.lean b/Mathlib/RingTheory/WittVector/Identities.lean index f9f2bf7378b469..fead83e4032c3c 100644 --- a/Mathlib/RingTheory/WittVector/Identities.lean +++ b/Mathlib/RingTheory/WittVector/Identities.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.WittVector.Frobenius -import Mathlib.RingTheory.WittVector.Verschiebung -import Mathlib.RingTheory.WittVector.MulP +module + +public import Mathlib.RingTheory.WittVector.Frobenius +public import Mathlib.RingTheory.WittVector.Verschiebung +public import Mathlib.RingTheory.WittVector.MulP /-! ## Identities between operations on the ring of Witt vectors @@ -25,6 +27,8 @@ In this file we derive common identities between the Frobenius and Verschiebung * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector diff --git a/Mathlib/RingTheory/WittVector/InitTail.lean b/Mathlib/RingTheory/WittVector/InitTail.lean index f53ca4bc3ddb67..5bebe4948273c6 100644 --- a/Mathlib/RingTheory/WittVector/InitTail.lean +++ b/Mathlib/RingTheory/WittVector/InitTail.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin, Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.RingTheory.WittVector.Basic -import Mathlib.RingTheory.WittVector.IsPoly +module + +public import Mathlib.RingTheory.WittVector.Basic +public import Mathlib.RingTheory.WittVector.IsPoly /-! @@ -33,6 +35,8 @@ and shows how that polynomial interacts with `MvPolynomial.bind₁`. -/ +@[expose] public section + variable {p : ℕ} (n : ℕ) {R : Type*} [CommRing R] diff --git a/Mathlib/RingTheory/WittVector/IsPoly.lean b/Mathlib/RingTheory/WittVector/IsPoly.lean index b5aadc246594d4..7ece8ed820402f 100644 --- a/Mathlib/RingTheory/WittVector/IsPoly.lean +++ b/Mathlib/RingTheory/WittVector/IsPoly.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.MvPolynomial.Funext -import Mathlib.Algebra.Ring.ULift -import Mathlib.RingTheory.WittVector.Basic +module + +public import Mathlib.Algebra.MvPolynomial.Funext +public import Mathlib.Algebra.Ring.ULift +public import Mathlib.RingTheory.WittVector.Basic /-! # The `IsPoly` predicate @@ -88,6 +90,8 @@ Proofs of identities between polynomial functions will often follow the pattern * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector universe u @@ -408,7 +412,7 @@ so it is easier (and prettier) to put it in a tactic script. -/ syntax (name := ghostCalc) "ghost_calc" (ppSpace colGt term:max)* : tactic -private def runIntro (ref : Syntax) (n : Name) : TacticM FVarId := do +private meta def runIntro (ref : Syntax) (n : Name) : TacticM FVarId := do let fvarId ← liftMetaTacticAux fun g => do let (fv, g') ← g.intro n return (fv, [g']) @@ -416,7 +420,7 @@ private def runIntro (ref : Syntax) (n : Name) : TacticM FVarId := do Elab.Term.addLocalVarInfo ref (mkFVar fvarId) return fvarId -private def getLocalOrIntro (t : Term) : TacticM FVarId := do +private meta def getLocalOrIntro (t : Term) : TacticM FVarId := do match t with | `(_) => runIntro t `_ | `($id:ident) => getFVarId id <|> runIntro id id.getId diff --git a/Mathlib/RingTheory/WittVector/Isocrystal.lean b/Mathlib/RingTheory/WittVector/Isocrystal.lean index c5841d2c7fe6c7..dbc4a3196aa536 100644 --- a/Mathlib/RingTheory/WittVector/Isocrystal.lean +++ b/Mathlib/RingTheory/WittVector/Isocrystal.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.RingTheory.WittVector.FrobeniusFractionField +module + +public import Mathlib.RingTheory.WittVector.FrobeniusFractionField /-! @@ -50,6 +52,8 @@ This file introduces notation in the scope `Isocrystal`. -/ +@[expose] public section + noncomputable section open Module diff --git a/Mathlib/RingTheory/WittVector/MulCoeff.lean b/Mathlib/RingTheory/WittVector/MulCoeff.lean index 585193e575189a..c9e68a8b840b1d 100644 --- a/Mathlib/RingTheory/WittVector/MulCoeff.lean +++ b/Mathlib/RingTheory/WittVector/MulCoeff.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Heather Macbeth -/ -import Mathlib.Algebra.MvPolynomial.Supported -import Mathlib.RingTheory.WittVector.Truncated +module + +public import Mathlib.Algebra.MvPolynomial.Supported +public import Mathlib.RingTheory.WittVector.Truncated /-! # Leading terms of Witt vector multiplication @@ -25,6 +27,8 @@ that needs to happen in characteristic 0. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/RingTheory/WittVector/MulP.lean b/Mathlib/RingTheory/WittVector/MulP.lean index 478eabf80b10f0..8f60f4eaeb1a14 100644 --- a/Mathlib/RingTheory/WittVector/MulP.lean +++ b/Mathlib/RingTheory/WittVector/MulP.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.WittVector.IsPoly +module + +public import Mathlib.RingTheory.WittVector.IsPoly /-! ## Multiplication by `n` in the ring of Witt vectors @@ -23,6 +25,8 @@ and Verschiebung is equal to multiplication by `p`. * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector diff --git a/Mathlib/RingTheory/WittVector/StructurePolynomial.lean b/Mathlib/RingTheory/WittVector/StructurePolynomial.lean index cd1204c44b6f56..e39a81568b3040 100644 --- a/Mathlib/RingTheory/WittVector/StructurePolynomial.lean +++ b/Mathlib/RingTheory/WittVector/StructurePolynomial.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.FieldTheory.Finite.Polynomial -import Mathlib.NumberTheory.Basic -import Mathlib.RingTheory.WittVector.WittPolynomial +module + +public import Mathlib.FieldTheory.Finite.Polynomial +public import Mathlib.NumberTheory.Basic +public import Mathlib.RingTheory.WittVector.WittPolynomial /-! # Witt structure polynomials @@ -83,6 +85,8 @@ dvd_sub_pow_of_dvd_sub {R : Type*} [CommRing R] {p : ℕ} {a b : R} : * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + open MvPolynomial Set diff --git a/Mathlib/RingTheory/WittVector/Teichmuller.lean b/Mathlib/RingTheory/WittVector/Teichmuller.lean index d90c9006aefbaf..580588e88e33f0 100644 --- a/Mathlib/RingTheory/WittVector/Teichmuller.lean +++ b/Mathlib/RingTheory/WittVector/Teichmuller.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.WittVector.Basic +module + +public import Mathlib.RingTheory.WittVector.Basic /-! # Teichmüller lifts @@ -25,6 +27,8 @@ This file defines `WittVector.teichmuller`, a monoid hom `R →* 𝕎 R`, which * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector diff --git a/Mathlib/RingTheory/WittVector/Truncated.lean b/Mathlib/RingTheory/WittVector/Truncated.lean index 6ac8d178932a34..bd6d8b6cdfb91c 100644 --- a/Mathlib/RingTheory/WittVector/Truncated.lean +++ b/Mathlib/RingTheory/WittVector/Truncated.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.RingTheory.WittVector.InitTail +module + +public import Mathlib.RingTheory.WittVector.InitTail /-! @@ -34,6 +36,8 @@ The ring of Witt vectors is the projective limit of all the rings of truncated W * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + open Function (Injective Surjective) diff --git a/Mathlib/RingTheory/WittVector/Verschiebung.lean b/Mathlib/RingTheory/WittVector/Verschiebung.lean index 77f0738a28b7c4..7cd46cd4950ffc 100644 --- a/Mathlib/RingTheory/WittVector/Verschiebung.lean +++ b/Mathlib/RingTheory/WittVector/Verschiebung.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.RingTheory.WittVector.Basic -import Mathlib.RingTheory.WittVector.IsPoly +module + +public import Mathlib.RingTheory.WittVector.Basic +public import Mathlib.RingTheory.WittVector.IsPoly /-! ## The Verschiebung operator @@ -16,6 +18,8 @@ import Mathlib.RingTheory.WittVector.IsPoly * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + namespace WittVector diff --git a/Mathlib/RingTheory/WittVector/WittPolynomial.lean b/Mathlib/RingTheory/WittVector/WittPolynomial.lean index 51799840807e42..689bf498630fa1 100644 --- a/Mathlib/RingTheory/WittVector/WittPolynomial.lean +++ b/Mathlib/RingTheory/WittVector/WittPolynomial.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Robert Y. Lewis -/ -import Mathlib.Algebra.CharP.Invertible -import Mathlib.Algebra.MvPolynomial.Variables -import Mathlib.Algebra.MvPolynomial.CommRing -import Mathlib.Algebra.MvPolynomial.Expand -import Mathlib.Algebra.Order.Ring.Rat -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.ZMod.Basic +module + +public import Mathlib.Algebra.CharP.Invertible +public import Mathlib.Algebra.MvPolynomial.Variables +public import Mathlib.Algebra.MvPolynomial.CommRing +public import Mathlib.Algebra.MvPolynomial.Expand +public import Mathlib.Algebra.Order.Ring.Rat +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.ZMod.Basic /-! # Witt polynomials @@ -56,6 +58,8 @@ In this file we use the following notation * [Commelin and Lewis, *Formalizing the Ring of Witt Vectors*][CL21] -/ +@[expose] public section + open MvPolynomial diff --git a/Mathlib/RingTheory/ZMod.lean b/Mathlib/RingTheory/ZMod.lean index 05fe8d62529611..53dd6f85d6aec0 100644 --- a/Mathlib/RingTheory/ZMod.lean +++ b/Mathlib/RingTheory/ZMod.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Algebra.Squarefree.Basic -import Mathlib.Algebra.EuclideanDomain.Int -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Nilpotent.Lemmas -import Mathlib.RingTheory.PrincipalIdealDomain +module + +public import Mathlib.Algebra.Squarefree.Basic +public import Mathlib.Algebra.EuclideanDomain.Int +public import Mathlib.Data.ZMod.Basic +public import Mathlib.RingTheory.Nilpotent.Lemmas +public import Mathlib.RingTheory.PrincipalIdealDomain /-! # Ring-theoretic facts about `ZMod n` @@ -21,6 +23,8 @@ We collect a few facts about `ZMod n` that need some ring theory to be proved/st * `isReduced_zmod`: `ZMod n` is reduced for all squarefree `n`. -/ +@[expose] public section + /-- The ring homomorphism `ℤ → ZMod n` has kernel generated by `n`. -/ theorem ZMod.ker_intCastRingHom (n : ℕ) : RingHom.ker (Int.castRingHom (ZMod n)) = Ideal.span ({(n : ℤ)} : Set ℤ) := by diff --git a/Mathlib/RingTheory/ZMod/Torsion.lean b/Mathlib/RingTheory/ZMod/Torsion.lean index c8973be5dd9df8..55bfd47c8f3df3 100644 --- a/Mathlib/RingTheory/ZMod/Torsion.lean +++ b/Mathlib/RingTheory/ZMod/Torsion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.RingTheory.RootsOfUnity.EnoughRootsOfUnity +public import Mathlib.FieldTheory.Finite.Basic /-! # Torsion group of `ZMod p` for prime `p` @@ -13,6 +15,8 @@ This file shows that the `ZMod p` has `p - 1` roots-of-unity. -/ +@[expose] public section + namespace ZMod lemma rootsOfUnity_eq_top {p : ℕ} [Fact p.Prime] : diff --git a/Mathlib/RingTheory/ZMod/UnitsCyclic.lean b/Mathlib/RingTheory/ZMod/UnitsCyclic.lean index 29360cb0e6f8c2..8df89fbde1a402 100644 --- a/Mathlib/RingTheory/ZMod/UnitsCyclic.lean +++ b/Mathlib/RingTheory/ZMod/UnitsCyclic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, Junyan Xu -/ -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Analysis.Normed.Ring.Lemmas -import Mathlib.Data.Nat.Choose.Dvd -import Mathlib.Data.ZMod.Units -import Mathlib.FieldTheory.Finite.Basic +module + +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Analysis.Normed.Ring.Lemmas +public import Mathlib.Data.Nat.Choose.Dvd +public import Mathlib.Data.ZMod.Units +public import Mathlib.FieldTheory.Finite.Basic /-! # Cyclicity of the units of `ZMod n` @@ -47,6 +49,8 @@ The proofs mostly follow [Ireland and Rosen, -/ +@[expose] public section + open scoped Nat namespace ZMod diff --git a/Mathlib/SetTheory/Cardinal/Aleph.lean b/Mathlib/SetTheory/Cardinal/Aleph.lean index 1453b167b5db3a..5b8c4fd6c0282d 100644 --- a/Mathlib/SetTheory/Cardinal/Aleph.lean +++ b/Mathlib/SetTheory/Cardinal/Aleph.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Cardinal.ToNat -import Mathlib.SetTheory.Cardinal.ENat -import Mathlib.SetTheory.Ordinal.Enum +module + +public import Mathlib.SetTheory.Cardinal.ToNat +public import Mathlib.SetTheory.Cardinal.ENat +public import Mathlib.SetTheory.Ordinal.Enum /-! # Omega, aleph, and beth functions @@ -37,6 +39,8 @@ The following notations are scoped to the `Cardinal` namespace. `Mathlib/SetTheory/Cardinal/Continuum.lean`. -/ +@[expose] public section + assert_not_exists Field Finsupp Module Cardinal.mul_eq_self noncomputable section diff --git a/Mathlib/SetTheory/Cardinal/Arithmetic.lean b/Mathlib/SetTheory/Cardinal/Arithmetic.lean index 46b12d3806374a..e376f147253e83 100644 --- a/Mathlib/SetTheory/Cardinal/Arithmetic.lean +++ b/Mathlib/SetTheory/Cardinal/Arithmetic.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn -/ -import Mathlib.SetTheory.Cardinal.Aleph +module + +public import Mathlib.SetTheory.Cardinal.Aleph /-! # Cardinal arithmetic @@ -23,6 +25,8 @@ ordinal numbers. This is done within this file. cardinal arithmetic (for infinite cardinals) -/ +@[expose] public section + assert_not_exists Module Finsupp Ordinal.log noncomputable section diff --git a/Mathlib/SetTheory/Cardinal/Basic.lean b/Mathlib/SetTheory/Cardinal/Basic.lean index c21d5f5d10a137..80227f6695ba48 100644 --- a/Mathlib/SetTheory/Cardinal/Basic.lean +++ b/Mathlib/SetTheory/Cardinal/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Data.Countable.Small -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Data.Fintype.Powerset -import Mathlib.Data.Nat.Cast.Order.Basic -import Mathlib.Data.Set.Countable -import Mathlib.Logic.Small.Set -import Mathlib.Logic.UnivLE -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Data.Countable.Small +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Data.Fintype.Powerset +public import Mathlib.Data.Nat.Cast.Order.Basic +public import Mathlib.Data.Set.Countable +public import Mathlib.Logic.Small.Set +public import Mathlib.Logic.UnivLE +public import Mathlib.SetTheory.Cardinal.Order /-! # Basic results on cardinal numbers @@ -32,6 +34,8 @@ cardinal number, cardinal arithmetic, cardinal exponentiation, aleph, Cantor's theorem, König's theorem, Konig's theorem -/ +@[expose] public section + assert_not_exists Field open List (Vector) diff --git a/Mathlib/SetTheory/Cardinal/Cofinality.lean b/Mathlib/SetTheory/Cardinal/Cofinality.lean index ac806165d7aad3..7e56560322936c 100644 --- a/Mathlib/SetTheory/Cardinal/Cofinality.lean +++ b/Mathlib/SetTheory/Cardinal/Cofinality.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.SetTheory.Ordinal.FixedPoint +module + +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.SetTheory.Ordinal.FixedPoint /-! # Cofinality @@ -28,6 +30,8 @@ This file contains the definition of cofinality of an order and an ordinal numbe If `c` is a cardinal number, its cofinality is `c.ord.cof`. -/ +@[expose] public section + noncomputable section open Function Cardinal Set Order diff --git a/Mathlib/SetTheory/Cardinal/Continuum.lean b/Mathlib/SetTheory/Cardinal/Continuum.lean index 82e98ce2089bee..48469e5cf7bd6a 100644 --- a/Mathlib/SetTheory/Cardinal/Continuum.lean +++ b/Mathlib/SetTheory/Cardinal/Continuum.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.SetTheory.Cardinal.Arithmetic +module + +public import Mathlib.SetTheory.Cardinal.Arithmetic /-! # Cardinality of continuum @@ -16,6 +18,8 @@ We also prove some `simp` lemmas about cardinal arithmetic involving `𝔠`. - `𝔠` : notation for `Cardinal.continuum` in scope `Cardinal`. -/ +@[expose] public section + namespace Cardinal diff --git a/Mathlib/SetTheory/Cardinal/CountableCover.lean b/Mathlib/SetTheory/Cardinal/CountableCover.lean index 750e83b0f60a29..0c74209ca22c21 100644 --- a/Mathlib/SetTheory/Cardinal/CountableCover.lean +++ b/Mathlib/SetTheory/Cardinal/CountableCover.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.Order.Filter.Finite -import Mathlib.Order.Filter.Map +module + +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.Order.Filter.Finite +public import Mathlib.Order.Filter.Map /-! # Cardinality of a set with a countable cover @@ -17,6 +19,8 @@ cardinality `≤ a`. Then `t` itself has cardinality at most `a`. This is proved Versions are also given when `t = univ`, and with `= a` instead of `≤ a`. -/ +@[expose] public section + open Set Order Filter open scoped Cardinal diff --git a/Mathlib/SetTheory/Cardinal/Defs.lean b/Mathlib/SetTheory/Cardinal/Defs.lean index 2dc6e41594c133..d974a5518b2bd0 100644 --- a/Mathlib/SetTheory/Cardinal/Defs.lean +++ b/Mathlib/SetTheory/Cardinal/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Data.ULift -import Mathlib.Util.Delaborators -import Mathlib.Util.AssertExists +module + +public import Mathlib.Data.ULift +public import Mathlib.Util.Delaborators +public import Mathlib.Util.AssertExists /-! # Cardinal Numbers @@ -47,6 +49,8 @@ cardinal number, cardinal arithmetic, cardinal exponentiation, aleph, Cantor's theorem, König's theorem, Konig's theorem -/ +@[expose] public section + assert_not_exists Monoid open List Function Set diff --git a/Mathlib/SetTheory/Cardinal/Divisibility.lean b/Mathlib/SetTheory/Cardinal/Divisibility.lean index d8f6542b050db6..993fb2a850a11d 100644 --- a/Mathlib/SetTheory/Cardinal/Divisibility.lean +++ b/Mathlib/SetTheory/Cardinal/Divisibility.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Rodriguez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Rodriguez -/ -import Mathlib.Algebra.IsPrimePow -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.Tactic.WLOG +module + +public import Mathlib.Algebra.IsPrimePow +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.Tactic.WLOG /-! # Cardinal Divisibility @@ -28,6 +30,8 @@ Note furthermore that no infinite cardinal is irreducible -/ +@[expose] public section + namespace Cardinal diff --git a/Mathlib/SetTheory/Cardinal/ENat.lean b/Mathlib/SetTheory/Cardinal/ENat.lean index 3ce4a1bf422263..829365531b0d0f 100644 --- a/Mathlib/SetTheory/Cardinal/ENat.lean +++ b/Mathlib/SetTheory/Cardinal/ENat.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Hom.Ring -import Mathlib.Data.ENat.Basic -import Mathlib.SetTheory.Cardinal.Basic +module + +public import Mathlib.Algebra.Order.Hom.Ring +public import Mathlib.Data.ENat.Basic +public import Mathlib.SetTheory.Cardinal.Basic /-! # Conversion between `Cardinal` and `ℕ∞` @@ -28,6 +30,8 @@ Since it is not registered as a coercion, the argument about delaboration does n set theory, cardinals, extended natural numbers -/ +@[expose] public section + assert_not_exists Field open Function Set diff --git a/Mathlib/SetTheory/Cardinal/Embedding.lean b/Mathlib/SetTheory/Cardinal/Embedding.lean index 0727b0cc44a030..255f6427422b9a 100644 --- a/Mathlib/SetTheory/Cardinal/Embedding.lean +++ b/Mathlib/SetTheory/Cardinal/Embedding.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 Antoine Chambert-Loir. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir -/ +module -import Mathlib.Data.ENat.Lattice -import Mathlib.Data.Fin.Tuple.Embedding -import Mathlib.Data.Finite.Card -import Mathlib.Data.Set.Card +public import Mathlib.Data.ENat.Lattice +public import Mathlib.Data.Fin.Tuple.Embedding +public import Mathlib.Data.Finite.Card +public import Mathlib.Data.Set.Card /-! # Existence of embeddings from finite types @@ -32,6 +33,8 @@ Let `s : Set α` be a finite set. map from `Fin (m + n) ↪ α` to `Fin m ↪ α` is surjective. -/ +@[expose] public section + open Set Fin Function Function.Embedding namespace Fin.Embedding diff --git a/Mathlib/SetTheory/Cardinal/Finite.lean b/Mathlib/SetTheory/Cardinal/Finite.lean index 8ce0c38dcd9880..a38b0a2709b59f 100644 --- a/Mathlib/SetTheory/Cardinal/Finite.lean +++ b/Mathlib/SetTheory/Cardinal/Finite.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.Data.ENat.Pow -import Mathlib.Data.ULift -import Mathlib.Data.ZMod.Defs -import Mathlib.SetTheory.Cardinal.ToNat -import Mathlib.SetTheory.Cardinal.ENat +module + +public import Mathlib.Data.ENat.Pow +public import Mathlib.Data.ULift +public import Mathlib.Data.ZMod.Defs +public import Mathlib.SetTheory.Cardinal.ToNat +public import Mathlib.SetTheory.Cardinal.ENat /-! # Finite Cardinality Functions @@ -20,6 +22,8 @@ import Mathlib.SetTheory.Cardinal.ENat If `α` is infinite, `ENat.card α = ⊤`. -/ +@[expose] public section + assert_not_exists Field open Cardinal Function diff --git a/Mathlib/SetTheory/Cardinal/Finsupp.lean b/Mathlib/SetTheory/Cardinal/Finsupp.lean index 58272d0bd6da62..c8d9f1f62cd489 100644 --- a/Mathlib/SetTheory/Cardinal/Finsupp.lean +++ b/Mathlib/SetTheory/Cardinal/Finsupp.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios, Junyan Xu -/ -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.Data.Finsupp.Basic -import Mathlib.Data.Finsupp.Multiset +module + +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.Data.Finsupp.Basic +public import Mathlib.Data.Finsupp.Multiset /-! # Results on the cardinality of finitely supported functions and multisets. -/ +@[expose] public section + universe u v namespace Cardinal diff --git a/Mathlib/SetTheory/Cardinal/Free.lean b/Mathlib/SetTheory/Cardinal/Free.lean index efc12ebda4791b..5f796c07235a48 100644 --- a/Mathlib/SetTheory/Cardinal/Free.lean +++ b/Mathlib/SetTheory/Cardinal/Free.lean @@ -3,14 +3,16 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Daniel Weber -/ -import Mathlib.Algebra.FreeAbelianGroup.Finsupp -import Mathlib.Algebra.Ring.TransferInstance -import Mathlib.Data.Finsupp.Fintype -import Mathlib.Data.ZMod.Defs -import Mathlib.GroupTheory.FreeGroup.Reduce -import Mathlib.RingTheory.FreeCommRing -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.SetTheory.Cardinal.Finsupp +module + +public import Mathlib.Algebra.FreeAbelianGroup.Finsupp +public import Mathlib.Algebra.Ring.TransferInstance +public import Mathlib.Data.Finsupp.Fintype +public import Mathlib.Data.ZMod.Defs +public import Mathlib.GroupTheory.FreeGroup.Reduce +public import Mathlib.RingTheory.FreeCommRing +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.SetTheory.Cardinal.Finsupp /-! # Cardinalities of free constructions @@ -22,6 +24,8 @@ Combined with the ring `Fin n` for the finite cases, this lets us show that ther any cardinality. -/ +@[expose] public section + universe u variable (α : Type u) diff --git a/Mathlib/SetTheory/Cardinal/HasCardinalLT.lean b/Mathlib/SetTheory/Cardinal/HasCardinalLT.lean index 0acdb59e0b6f26..d30f123eeaa68e 100644 --- a/Mathlib/SetTheory/Cardinal/HasCardinalLT.lean +++ b/Mathlib/SetTheory/Cardinal/HasCardinalLT.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.SetTheory.Cardinal.Regular +module + +public import Mathlib.SetTheory.Cardinal.Regular /-! # The property of being of cardinality less than a cardinal @@ -14,6 +16,8 @@ Given `X : Type u` and `κ : Cardinal.{v}`, we introduce a predicate -/ +@[expose] public section + universe w v u u' /-- The property that the cardinal of a type `X : Type u` is less than `κ : Cardinal.{v}`. -/ diff --git a/Mathlib/SetTheory/Cardinal/NatCount.lean b/Mathlib/SetTheory/Cardinal/NatCount.lean index d6291e34f8d22c..941e1a3edf3dec 100644 --- a/Mathlib/SetTheory/Cardinal/NatCount.lean +++ b/Mathlib/SetTheory/Cardinal/NatCount.lean @@ -3,9 +3,10 @@ Copyright (c) 2021 Vladimir Goryachev. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vladimir Goryachev -/ +module -import Mathlib.Data.Nat.Count -import Mathlib.Data.Set.Card +public import Mathlib.Data.Nat.Count +public import Mathlib.Data.Set.Card /-! # Counting on ℕ @@ -13,6 +14,8 @@ import Mathlib.Data.Set.Card This file provides lemmas about the relation of `Nat.count` with cardinality functions. -/ +@[expose] public section + namespace Nat open Nat Count diff --git a/Mathlib/SetTheory/Cardinal/Order.lean b/Mathlib/SetTheory/Cardinal/Order.lean index a95bf0409c5e4b..ed8de7d243429e 100644 --- a/Mathlib/SetTheory/Cardinal/Order.lean +++ b/Mathlib/SetTheory/Cardinal/Order.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Algebra.Order.Ring.Canonical -import Mathlib.Data.Fintype.Option -import Mathlib.Order.InitialSeg -import Mathlib.Order.Nat -import Mathlib.Order.SuccPred.CompleteLinearOrder -import Mathlib.SetTheory.Cardinal.Defs -import Mathlib.SetTheory.Cardinal.SchroederBernstein +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Algebra.Order.Ring.Canonical +public import Mathlib.Data.Fintype.Option +public import Mathlib.Order.InitialSeg +public import Mathlib.Order.Nat +public import Mathlib.Order.SuccPred.CompleteLinearOrder +public import Mathlib.SetTheory.Cardinal.Defs +public import Mathlib.SetTheory.Cardinal.SchroederBernstein /-! # Order on cardinal numbers @@ -57,6 +59,8 @@ cardinal number, cardinal arithmetic, cardinal exponentiation, aleph, Cantor's theorem, König's theorem, Konig's theorem -/ +@[expose] public section + assert_not_exists Field open List Function Order Set @@ -229,7 +233,7 @@ instance commSemiring : CommSemiring Cardinal.{u} where npow_succ n c := by rw [cast_succ, power_add, power_one] natCast n := lift #(Fin n) natCast_zero := rfl - natCast_succ n := cast_succ n + natCast_succ n := private cast_succ n theorem mk_bool : #Bool = 2 := by simp diff --git a/Mathlib/SetTheory/Cardinal/Ordinal.lean b/Mathlib/SetTheory/Cardinal/Ordinal.lean index bd4e947e346296..10665a7a1a00a5 100644 --- a/Mathlib/SetTheory/Cardinal/Ordinal.lean +++ b/Mathlib/SetTheory/Cardinal/Ordinal.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Cardinal.Arithmetic -import Mathlib.SetTheory.Ordinal.Principal +module + +public import Mathlib.SetTheory.Cardinal.Arithmetic +public import Mathlib.SetTheory.Ordinal.Principal /-! # Ordinal arithmetic with cardinals @@ -12,6 +14,8 @@ import Mathlib.SetTheory.Ordinal.Principal This file collects results about the cardinality of different ordinal operations. -/ +@[expose] public section + universe u v open Cardinal Ordinal Set diff --git a/Mathlib/SetTheory/Cardinal/Pigeonhole.lean b/Mathlib/SetTheory/Cardinal/Pigeonhole.lean index c2e5a565d90414..53ed2c18890d3c 100644 --- a/Mathlib/SetTheory/Cardinal/Pigeonhole.lean +++ b/Mathlib/SetTheory/Cardinal/Pigeonhole.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn -/ -import Mathlib.Data.Set.Finite.Lattice -import Mathlib.SetTheory.Cardinal.Regular +module + +public import Mathlib.Data.Set.Finite.Lattice +public import Mathlib.SetTheory.Cardinal.Regular /-! # Infinite pigeonhole principle @@ -16,6 +18,8 @@ This file proves variants of the infinite pigeonhole principle. Generalize universes of results. -/ +@[expose] public section + open Order Ordinal Set universe u diff --git a/Mathlib/SetTheory/Cardinal/Regular.lean b/Mathlib/SetTheory/Cardinal/Regular.lean index d3796fd0df6c13..41561ceb092187 100644 --- a/Mathlib/SetTheory/Cardinal/Regular.lean +++ b/Mathlib/SetTheory/Cardinal/Regular.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Cardinal.Cofinality -import Mathlib.SetTheory.Ordinal.FixedPoint +module + +public import Mathlib.SetTheory.Cardinal.Cofinality +public import Mathlib.SetTheory.Ordinal.FixedPoint /-! # Regular cardinals @@ -25,6 +27,8 @@ This file defines regular and inaccessible cardinals. * Define singular cardinals. -/ +@[expose] public section + universe u v open Function Cardinal Set Order Ordinal diff --git a/Mathlib/SetTheory/Cardinal/SchroederBernstein.lean b/Mathlib/SetTheory/Cardinal/SchroederBernstein.lean index 5fc2594d5fabe6..f75bacc3cf89d3 100644 --- a/Mathlib/SetTheory/Cardinal/SchroederBernstein.lean +++ b/Mathlib/SetTheory/Cardinal/SchroederBernstein.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Piecewise -import Mathlib.Order.FixedPoints -import Mathlib.Order.Zorn +module + +public import Mathlib.Data.Set.Piecewise +public import Mathlib.Order.FixedPoints +public import Mathlib.Order.Zorn /-! # Schröder-Bernstein theorem, well-ordering of cardinals @@ -25,6 +27,8 @@ Cardinals are naturally ordered by `α ≤ β ↔ ∃ f : a → β, Injective f` Cardinals are defined and further developed in the folder `SetTheory.Cardinal`. -/ +@[expose] public section + open Set Function diff --git a/Mathlib/SetTheory/Cardinal/Subfield.lean b/Mathlib/SetTheory/Cardinal/Subfield.lean index 1321265bb6ef69..07001d7491d112 100644 --- a/Mathlib/SetTheory/Cardinal/Subfield.lean +++ b/Mathlib/SetTheory/Cardinal/Subfield.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Algebra.Field.Subfield.Basic -import Mathlib.Data.W.Cardinal -import Mathlib.Tactic.FinCases +module + +public import Mathlib.Algebra.Field.Subfield.Basic +public import Mathlib.Data.W.Cardinal +public import Mathlib.Tactic.FinCases /-! # Cardinality of the division ring generated by a set @@ -19,6 +21,8 @@ explicit universal objects. -/ +@[expose] public section + universe u variable {α : Type u} (s : Set α) diff --git a/Mathlib/SetTheory/Cardinal/ToNat.lean b/Mathlib/SetTheory/Cardinal/ToNat.lean index d0bd010cfc2362..ba1755e048a552 100644 --- a/Mathlib/SetTheory/Cardinal/ToNat.lean +++ b/Mathlib/SetTheory/Cardinal/ToNat.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Anderson -/ -import Mathlib.SetTheory.Cardinal.ENat +module + +public import Mathlib.SetTheory.Cardinal.ENat /-! # Projection from cardinal numbers to natural numbers @@ -13,6 +15,8 @@ sending all infinite cardinals to zero. We also prove basic lemmas about this definition. -/ +@[expose] public section + assert_not_exists Field universe u v diff --git a/Mathlib/SetTheory/Cardinal/UnivLE.lean b/Mathlib/SetTheory/Cardinal/UnivLE.lean index 9804af015f6161..619b7c8d2c5c32 100644 --- a/Mathlib/SetTheory/Cardinal/UnivLE.lean +++ b/Mathlib/SetTheory/Cardinal/UnivLE.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Logic.UnivLE -import Mathlib.SetTheory.Ordinal.Basic +module + +public import Mathlib.Logic.UnivLE +public import Mathlib.SetTheory.Ordinal.Basic /-! # UnivLE and cardinals -/ +@[expose] public section + noncomputable section universe u v diff --git a/Mathlib/SetTheory/Descriptive/Tree.lean b/Mathlib/SetTheory/Descriptive/Tree.lean index d920840ad3861a..a4993baea05c0d 100644 --- a/Mathlib/SetTheory/Descriptive/Tree.lean +++ b/Mathlib/SetTheory/Descriptive/Tree.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Sven Manthe. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sven Manthe -/ -import Mathlib.Order.CompleteLattice.SetLike +module + +public import Mathlib.Order.CompleteLattice.SetLike /-! # Trees in the sense of descriptive set theory @@ -16,6 +18,8 @@ sequences that are stable under taking prefixes. * `tree A`: a (possibly infinite) tree of depth at most `ω` with nodes in `A` -/ +@[expose] public section + namespace Descriptive /-- A tree is a set of finite sequences, implemented as `List A`, that is stable under diff --git a/Mathlib/SetTheory/Game/Basic.lean b/Mathlib/SetTheory/Game/Basic.lean index f15ea8fbe98fad..3994f51e23e9c9 100644 --- a/Mathlib/SetTheory/Game/Basic.lean +++ b/Mathlib/SetTheory/Game/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Isabel Longbottom, Kim Morrison, Apurva Nakade, Yuyang Zhao -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.SetTheory.PGame.Algebra -import Mathlib.Tactic.Abel -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.SetTheory.PGame.Algebra +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Basic` in the CGT repo " @@ -25,6 +27,8 @@ imply `x * z ≈ y * z`. Hence, multiplication is not a well-defined operation o the abelian group structure on games allows us to simplify many proofs for pre-games. -/ +@[expose] public section + -- Porting note: many definitions here are noncomputable as the compiler does not support PGame.rec noncomputable section diff --git a/Mathlib/SetTheory/Game/Birthday.lean b/Mathlib/SetTheory/Game/Birthday.lean index fa02df4e58a27b..51ebb3feeef693 100644 --- a/Mathlib/SetTheory/Game/Birthday.lean +++ b/Mathlib/SetTheory/Game/Birthday.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Algebra.Order.Group.OrderIso -import Mathlib.SetTheory.Game.Ordinal -import Mathlib.SetTheory.Ordinal.NaturalOps -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Group.OrderIso +public import Mathlib.SetTheory.Game.Ordinal +public import Mathlib.SetTheory.Ordinal.NaturalOps +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Birthday` in the CGT repo " @@ -34,6 +36,8 @@ other hand, the birthday of a game more closely matches Conway's original descri - Characterize the birthdays of other basic arithmetical operations. -/ +@[expose] public section + universe u open Ordinal diff --git a/Mathlib/SetTheory/Game/Domineering.lean b/Mathlib/SetTheory/Game/Domineering.lean index a7c3e9d02ce2c2..411e0f4bf16eaf 100644 --- a/Mathlib/SetTheory/Game/Domineering.lean +++ b/Mathlib/SetTheory/Game/Domineering.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.SetTheory.Game.State -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Game.State +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Specific.Domineering` in the CGT repo " @@ -24,6 +26,8 @@ Specifically to domineering, we need the fact that disjoint parts of the chessboard give sums of games. -/ +@[expose] public section + namespace SetTheory namespace PGame diff --git a/Mathlib/SetTheory/Game/Impartial.lean b/Mathlib/SetTheory/Game/Impartial.lean index 0fc3302d9a60b4..a4a307af70b220 100644 --- a/Mathlib/SetTheory/Game/Impartial.lean +++ b/Mathlib/SetTheory/Game/Impartial.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson -/ -import Mathlib.SetTheory.Game.Basic -import Mathlib.Tactic.NthRewrite -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Game.Basic +public import Mathlib.Tactic.NthRewrite +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Impartial.Basic` in the CGT repo " @@ -20,6 +22,8 @@ no matter what moves are played. This allows for games such as poker-nim to be c impartial. -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/Game/Nim.lean b/Mathlib/SetTheory/Game/Nim.lean index 1646249724b54d..2779cd0a227659 100644 --- a/Mathlib/SetTheory/Game/Nim.lean +++ b/Mathlib/SetTheory/Game/Nim.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Fox Thomson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fox Thomson, Markus Himmel -/ -import Mathlib.SetTheory.Game.Birthday -import Mathlib.SetTheory.Game.Impartial -import Mathlib.SetTheory.Nimber.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Game.Birthday +public import Mathlib.SetTheory.Game.Impartial +public import Mathlib.SetTheory.Nimber.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Specific.Nim` in the CGT repo " @@ -33,6 +35,8 @@ moves. We expose `toLeftMovesNim` and `toRightMovesNim` to conveniently convert `o` into a left or right move of `nim o`, and vice versa. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/SetTheory/Game/Ordinal.lean b/Mathlib/SetTheory/Game/Ordinal.lean index 18fe4693dfc6fd..0fecd77434e1cd 100644 --- a/Mathlib/SetTheory/Game/Ordinal.lean +++ b/Mathlib/SetTheory/Game/Ordinal.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Game.Basic -import Mathlib.SetTheory.Ordinal.NaturalOps -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Game.Basic +public import Mathlib.SetTheory.Ordinal.NaturalOps +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Ordinal` in the CGT repo " @@ -25,6 +27,8 @@ The map to surreals is defined in `Ordinal.toSurreal`. - `Ordinal.toPGameEmbedding`: The order embedding version of the previous map. -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/Game/Short.lean b/Mathlib/SetTheory/Game/Short.lean index a401b975ace871..6136c5a9a9af45 100644 --- a/Mathlib/SetTheory/Game/Short.lean +++ b/Mathlib/SetTheory/Game/Short.lean @@ -3,11 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ +module -import Mathlib.Data.Fintype.Basic -import Mathlib.SetTheory.Cardinal.Regular -import Mathlib.SetTheory.Game.Birthday -import Mathlib.Tactic.Linter.DeprecatedModule +public import Mathlib.Data.Fintype.Basic +public import Mathlib.SetTheory.Cardinal.Regular +public import Mathlib.SetTheory.Game.Birthday +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.Short` in the CGT repo " @@ -24,6 +25,8 @@ short games, although unfortunately in practice `decide` doesn't seem to be able prove anything using these instances. -/ +@[expose] public section + -- Porting note: The local instances `moveLeftShort'` and `fintypeLeft` (and resp. `Right`) -- trigger this error. set_option synthInstance.checkSynthOrder false diff --git a/Mathlib/SetTheory/Game/State.lean b/Mathlib/SetTheory/Game/State.lean index 78408c5f9c95df..90446140c0111c 100644 --- a/Mathlib/SetTheory/Game/State.lean +++ b/Mathlib/SetTheory/Game/State.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.SetTheory.Game.Short -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Game.Short +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.ConcreteGame` in the CGT repo " @@ -26,6 +28,8 @@ relying on general well-foundedness seems to be poisonous to computation? See `SetTheory/Game/Domineering` for an example using this construction. -/ +@[expose] public section + universe u namespace SetTheory diff --git a/Mathlib/SetTheory/Lists.lean b/Mathlib/SetTheory/Lists.lean index 9c4512e05223c3..64e090143f4060 100644 --- a/Mathlib/SetTheory/Lists.lean +++ b/Mathlib/SetTheory/Lists.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Sigma.Basic -import Mathlib.Algebra.Order.Ring.Nat +module + +public import Mathlib.Data.Sigma.Basic +public import Mathlib.Algebra.Order.Ring.Nat /-! # A computable model of ZFA without infinity @@ -39,6 +41,8 @@ This calls for a two-step definition of ZFA lists: equivalence. -/ +@[expose] public section + variable {α : Type*} diff --git a/Mathlib/SetTheory/Nimber/Basic.lean b/Mathlib/SetTheory/Nimber/Basic.lean index afd581203fa675..9fe2a192e878e1 100644 --- a/Mathlib/SetTheory/Nimber/Basic.lean +++ b/Mathlib/SetTheory/Nimber/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Data.Nat.Bitwise -import Mathlib.SetTheory.Ordinal.Family -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Data.Nat.Bitwise +public import Mathlib.SetTheory.Ordinal.Family +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Nimber.Basic` in the CGT repo " @@ -41,6 +43,8 @@ isomorphisms `Ordinal.toNimber` and `Nimber.toOrdinal` allow us to cast between needed. -/ +@[expose] public section + universe u v open Function Order diff --git a/Mathlib/SetTheory/Nimber/Field.lean b/Mathlib/SetTheory/Nimber/Field.lean index 54e44ae43bd066..118c1a6a623d78 100644 --- a/Mathlib/SetTheory/Nimber/Field.lean +++ b/Mathlib/SetTheory/Nimber/Field.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Algebra.CharP.Two -import Mathlib.SetTheory.Nimber.Basic -import Mathlib.Tactic.Abel -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.CharP.Two +public import Mathlib.SetTheory.Nimber.Basic +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Nimber.Field` in the CGT repo " @@ -29,6 +31,8 @@ uses mutual induction and mimics the definition for the surreal inverse. This de - Show the nimbers are algebraically closed. -/ +@[expose] public section + universe u v open Function Order diff --git a/Mathlib/SetTheory/Ordinal/Arithmetic.lean b/Mathlib/SetTheory/Ordinal/Arithmetic.lean index 323b03e28d5e3d..4b5b0324ec2259 100644 --- a/Mathlib/SetTheory/Ordinal/Arithmetic.lean +++ b/Mathlib/SetTheory/Ordinal/Arithmetic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.SuccPred.InitialSeg -import Mathlib.SetTheory.Ordinal.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.SuccPred.InitialSeg +public import Mathlib.SetTheory.Ordinal.Basic /-! # Ordinal arithmetic @@ -45,6 +47,8 @@ Some properties of the operations are also used to discuss general tools on ordi Various other basic arithmetic results are given in `Principal.lean` instead. -/ +@[expose] public section + assert_not_exists Field Module noncomputable section diff --git a/Mathlib/SetTheory/Ordinal/Basic.lean b/Mathlib/SetTheory/Ordinal/Basic.lean index 8c84551738f832..bb3d2c35983349 100644 --- a/Mathlib/SetTheory/Ordinal/Basic.lean +++ b/Mathlib/SetTheory/Ordinal/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn -/ -import Mathlib.Algebra.Order.SuccPred -import Mathlib.Data.Sum.Order -import Mathlib.Order.IsNormal -import Mathlib.SetTheory.Cardinal.Basic -import Mathlib.Tactic.PPWithUniv +module + +public import Mathlib.Algebra.Order.SuccPred +public import Mathlib.Data.Sum.Order +public import Mathlib.Order.IsNormal +public import Mathlib.SetTheory.Cardinal.Basic +public import Mathlib.Tactic.PPWithUniv /-! # Ordinals @@ -55,6 +57,8 @@ for the empty set by convention. * `ω` is a notation for the first infinite ordinal in the scope `Ordinal`. -/ +@[expose] public section + assert_not_exists Module Field noncomputable section @@ -836,7 +840,7 @@ instance : NoMaxOrder Ordinal := ⟨fun _ => ⟨_, succ_le_iff'.1 le_rfl⟩⟩ instance : SuccOrder Ordinal.{u} := - SuccOrder.ofSuccLeIff (fun o => o + 1) succ_le_iff' + SuccOrder.ofSuccLeIff (fun o => o + 1) (by exact succ_le_iff') instance : SuccAddOrder Ordinal := ⟨fun _ => rfl⟩ diff --git a/Mathlib/SetTheory/Ordinal/CantorNormalForm.lean b/Mathlib/SetTheory/Ordinal/CantorNormalForm.lean index 87490f9e76fbb8..0f85f68ce2e251 100644 --- a/Mathlib/SetTheory/Ordinal/CantorNormalForm.lean +++ b/Mathlib/SetTheory/Ordinal/CantorNormalForm.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Violeta Hernández Palacios -/ -import Mathlib.Data.Finsupp.AList -import Mathlib.SetTheory.Ordinal.Exponential -import Mathlib.SetTheory.Ordinal.Family +module + +public import Mathlib.Data.Finsupp.AList +public import Mathlib.SetTheory.Ordinal.Exponential +public import Mathlib.SetTheory.Ordinal.Family /-! # Cantor Normal Form @@ -28,6 +30,8 @@ normal form: - Prove the basic results relating the CNF to the arithmetic operations on ordinals. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/SetTheory/Ordinal/Enum.lean b/Mathlib/SetTheory/Ordinal/Enum.lean index acf99ec6c8a1e9..464bbd682daf21 100644 --- a/Mathlib/SetTheory/Ordinal/Enum.lean +++ b/Mathlib/SetTheory/Ordinal/Enum.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.Family +module + +public import Mathlib.SetTheory.Ordinal.Family /-! # Enumerating sets of ordinals by ordinals @@ -18,6 +20,8 @@ We define this correspondence as `enumOrd`, and use it to then define an order i This can be thought of as an ordinal analog of `Nat.nth`. -/ +@[expose] public section + universe u open Order Set diff --git a/Mathlib/SetTheory/Ordinal/Exponential.lean b/Mathlib/SetTheory/Ordinal/Exponential.lean index 3181ec75f55b72..bb225947674ef2 100644 --- a/Mathlib/SetTheory/Ordinal/Exponential.lean +++ b/Mathlib/SetTheory/Ordinal/Exponential.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.Family +module + +public import Mathlib.SetTheory.Ordinal.Family /-! # Ordinal exponential @@ -12,6 +14,8 @@ related by the lemma `Ordinal.opow_le_iff_le_log : b ^ c ≤ x ↔ c ≤ log b x `b`, `c`. -/ +@[expose] public section + noncomputable section open Function Set Equiv Order diff --git a/Mathlib/SetTheory/Ordinal/Family.lean b/Mathlib/SetTheory/Ordinal/Family.lean index 83b856abc2e016..9993fb211e2166 100644 --- a/Mathlib/SetTheory/Ordinal/Family.lean +++ b/Mathlib/SetTheory/Ordinal/Family.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Floris van Doorn, Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.Arithmetic +module + +public import Mathlib.SetTheory.Ordinal.Arithmetic /-! # Arithmetic on families of ordinals @@ -18,6 +20,8 @@ import Mathlib.SetTheory.Ordinal.Arithmetic Various other basic arithmetic results are given in `Principal.lean` instead. -/ +@[expose] public section + assert_not_exists Field Module noncomputable section diff --git a/Mathlib/SetTheory/Ordinal/FixedPoint.lean b/Mathlib/SetTheory/Ordinal/FixedPoint.lean index 2afc1d6d69c22b..6b24c81e3f2f76 100644 --- a/Mathlib/SetTheory/Ordinal/FixedPoint.lean +++ b/Mathlib/SetTheory/Ordinal/FixedPoint.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Violeta Hernández Palacios, Mario Carneiro. All rights reser Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios, Mario Carneiro -/ -import Mathlib.Logic.Small.List -import Mathlib.SetTheory.Ordinal.Enum -import Mathlib.SetTheory.Ordinal.Exponential +module + +public import Mathlib.Logic.Small.List +public import Mathlib.SetTheory.Ordinal.Enum +public import Mathlib.SetTheory.Ordinal.Exponential /-! # Fixed points of normal functions @@ -26,6 +28,8 @@ Moreover, we prove some lemmas about the fixed points of specific normal functio * `deriv_mul_eq_opow_omega0_mul`: a characterization of the derivative of multiplication. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean b/Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean index b212f8cac09168..e60b748efd06ab 100644 --- a/Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean +++ b/Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Ira Fesefeldt. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ira Fesefeldt -/ -import Mathlib.SetTheory.Ordinal.Arithmetic +module + +public import Mathlib.SetTheory.Ordinal.Arithmetic /-! # Ordinal Approximants for the Fixed points on complete lattices @@ -37,6 +39,8 @@ ordinals from mathlib. It still allows an approximation scheme indexed over the fixed point, complete lattice, monotone function, ordinals, approximation -/ +@[expose] public section + namespace Cardinal universe u diff --git a/Mathlib/SetTheory/Ordinal/NaturalOps.lean b/Mathlib/SetTheory/Ordinal/NaturalOps.lean index e3223b124b254c..5fe255e15a522f 100644 --- a/Mathlib/SetTheory/Ordinal/NaturalOps.lean +++ b/Mathlib/SetTheory/Ordinal/NaturalOps.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.Family -import Mathlib.Tactic.Abel -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.SetTheory.Ordinal.Family +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.NatOrdinal` in the CGT repo " @@ -44,6 +46,8 @@ between both types, we attempt to prove and state most results on `Ordinal`. form. -/ +@[expose] public section + universe u v open Function Order Set diff --git a/Mathlib/SetTheory/Ordinal/Notation.lean b/Mathlib/SetTheory/Ordinal/Notation.lean index 403f7dff263dff..66dea8efcf395f 100644 --- a/Mathlib/SetTheory/Ordinal/Notation.lean +++ b/Mathlib/SetTheory/Ordinal/Notation.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Data.Ordering.Lemmas -import Mathlib.Data.PNat.Basic -import Mathlib.SetTheory.Ordinal.Principal -import Mathlib.Tactic.NormNum +module + +public import Mathlib.Algebra.Ring.Divisibility.Basic +public import Mathlib.Data.Ordering.Lemmas +public import Mathlib.Data.PNat.Basic +public import Mathlib.SetTheory.Ordinal.Principal +public import Mathlib.Tactic.NormNum /-! # Ordinal notation @@ -24,6 +26,8 @@ Various operations (addition, subtraction, multiplication, exponentiation) are defined on `ONote` and `NONote`. -/ +@[expose] public section + open Ordinal Order diff --git a/Mathlib/SetTheory/Ordinal/Principal.lean b/Mathlib/SetTheory/Ordinal/Principal.lean index e2656043f8858c..e5c67495ec955b 100644 --- a/Mathlib/SetTheory/Ordinal/Principal.lean +++ b/Mathlib/SetTheory/Ordinal/Principal.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.FixedPoint +module + +public import Mathlib.SetTheory.Ordinal.FixedPoint /-! # Principal ordinals @@ -26,6 +28,8 @@ We define principal or indecomposable ordinals, and we prove the standard proper of `fun x ↦ ω ^ x`. -/ +@[expose] public section + universe u open Order diff --git a/Mathlib/SetTheory/Ordinal/Rank.lean b/Mathlib/SetTheory/Ordinal/Rank.lean index 6cfa867715e9b4..cba2406e83081f 100644 --- a/Mathlib/SetTheory/Ordinal/Rank.lean +++ b/Mathlib/SetTheory/Ordinal/Rank.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.SetTheory.Ordinal.Family +module + +public import Mathlib.SetTheory.Ordinal.Family /-! # Rank in a well-founded relation @@ -12,6 +14,8 @@ For `r` a well-founded relation, `IsWellFounded.rank r a` is recursively defined ordinal greater than the ranks of all elements below `a`. -/ +@[expose] public section + universe u variable {α : Type u} {a b : α} diff --git a/Mathlib/SetTheory/Ordinal/Topology.lean b/Mathlib/SetTheory/Ordinal/Topology.lean index 4300a1b960a7a9..01cfe1776d7e27 100644 --- a/Mathlib/SetTheory/Ordinal/Topology.lean +++ b/Mathlib/SetTheory/Ordinal/Topology.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.Enum -import Mathlib.Tactic.TFAE -import Mathlib.Topology.Order.IsNormal -import Mathlib.Topology.Order.Monotone +module + +public import Mathlib.SetTheory.Ordinal.Enum +public import Mathlib.Tactic.TFAE +public import Mathlib.Topology.Order.IsNormal +public import Mathlib.Topology.Order.Monotone /-! ### Topology of ordinals @@ -23,6 +25,8 @@ We prove some miscellaneous results involving the order topology of ordinals. normal iff the set is closed. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/SetTheory/Ordinal/Veblen.lean b/Mathlib/SetTheory/Ordinal/Veblen.lean index 3052879e53fbd4..a35f41dc067900 100644 --- a/Mathlib/SetTheory/Ordinal/Veblen.lean +++ b/Mathlib/SetTheory/Ordinal/Veblen.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.Ordinal.FixedPoint +module + +public import Mathlib.SetTheory.Ordinal.FixedPoint /-! # Veblen hierarchy @@ -37,6 +39,8 @@ The following notation is scoped to the `Ordinal` namespace. * [Larry W. Miller, Normal functions and constructive ordinal notations][Miller_1976] -/ +@[expose] public section + noncomputable section open Order Set diff --git a/Mathlib/SetTheory/PGame/Algebra.lean b/Mathlib/SetTheory/PGame/Algebra.lean index 090653cc63a854..72ad72568c7868 100644 --- a/Mathlib/SetTheory/PGame/Algebra.lean +++ b/Mathlib/SetTheory/PGame/Algebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Isabel Longbottom, Kim Morrison, Yuyang Zhao -/ -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.SetTheory.PGame.Order -import Mathlib.Data.Nat.Cast.Defs -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.ZeroLEOne +public import Mathlib.SetTheory.PGame.Order +public import Mathlib.Data.Nat.Cast.Defs +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.IGame` in the CGT repo " @@ -32,6 +34,8 @@ equivalence relations at the level of pregames, the notion of a `Relabelling` of `x + (y + z)` and `(x + y) + z`. -/ +@[expose] public section + namespace SetTheory.PGame open Function Relation diff --git a/Mathlib/SetTheory/PGame/Basic.lean b/Mathlib/SetTheory/PGame/Basic.lean index 121ac31f2267c8..4413f2bca5cd02 100644 --- a/Mathlib/SetTheory/PGame/Basic.lean +++ b/Mathlib/SetTheory/PGame/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Isabel Longbottom, Kim Morrison, Yuyang Zhao -/ -import Mathlib.Logic.Equiv.Defs -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Logic.Equiv.Defs +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.IGame` in the CGT repo " @@ -67,6 +69,8 @@ An interested reader may like to formalise some of the material from * [André Joyal, *Remarques sur la théorie des jeux à deux personnes*][joyal1977] -/ +@[expose] public section + namespace SetTheory open Function Relation diff --git a/Mathlib/SetTheory/PGame/Order.lean b/Mathlib/SetTheory/PGame/Order.lean index c747bfdb6e9bed..a1f80c5a079663 100644 --- a/Mathlib/SetTheory/PGame/Order.lean +++ b/Mathlib/SetTheory/PGame/Order.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Mario Carneiro, Isabel Longbottom, Kim Morrison, Yuyang Zhao -/ -import Mathlib.Logic.Small.Defs -import Mathlib.Order.GameAdd -import Mathlib.SetTheory.PGame.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Logic.Small.Defs +public import Mathlib.Order.GameAdd +public import Mathlib.SetTheory.PGame.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Game.IGame` in the CGT repo " @@ -33,6 +35,8 @@ Later, games will be defined as the quotient by the `≈` relation; that is to s `Antisymmetrization` of `SetTheory.PGame`. -/ +@[expose] public section + namespace SetTheory.PGame open Function Relation diff --git a/Mathlib/SetTheory/Surreal/Basic.lean b/Mathlib/SetTheory/Surreal/Basic.lean index c89188658bf6f7..ad5847d9d946b0 100644 --- a/Mathlib/SetTheory/Surreal/Basic.lean +++ b/Mathlib/SetTheory/Surreal/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison -/ -import Mathlib.Algebra.Order.Hom.Monoid -import Mathlib.SetTheory.Game.Ordinal -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Order.Hom.Monoid +public import Mathlib.SetTheory.Game.Ordinal +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Surreal.Basic` in the CGT repo " @@ -51,6 +53,8 @@ One can also map all the ordinals into the surreals! -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/Surreal/Dyadic.lean b/Mathlib/SetTheory/Surreal/Dyadic.lean index c2352675a58686..843a8f98d86046 100644 --- a/Mathlib/SetTheory/Surreal/Dyadic.lean +++ b/Mathlib/SetTheory/Surreal/Dyadic.lean @@ -3,15 +3,17 @@ Copyright (c) 2021 Apurva Nakade. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Apurva Nakade -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.Algebra.Ring.Regular -import Mathlib.GroupTheory.MonoidLocalization.Away -import Mathlib.RingTheory.Localization.Defs -import Mathlib.SetTheory.Game.Birthday -import Mathlib.SetTheory.Surreal.Multiplication -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.Algebra.Ring.Regular +public import Mathlib.GroupTheory.MonoidLocalization.Away +public import Mathlib.RingTheory.Localization.Defs +public import Mathlib.SetTheory.Game.Birthday +public import Mathlib.SetTheory.Surreal.Multiplication +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Surreal.Dyadic` in the CGT repo " @@ -33,6 +35,8 @@ extend this to an embedding of dyadic rationals into `Surreal` and use Cauchy se rational numbers to construct an ordered field embedding of ℝ into `Surreal`. -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/Surreal/Multiplication.lean b/Mathlib/SetTheory/Surreal/Multiplication.lean index 04510a6ce8707a..ae3ce1c80e7257 100644 --- a/Mathlib/SetTheory/Surreal/Multiplication.lean +++ b/Mathlib/SetTheory/Surreal/Multiplication.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Theodore Hwa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison, Violeta Hernández Palacios, Junyan Xu, Theodore Hwa -/ -import Mathlib.Logic.Hydra -import Mathlib.SetTheory.Surreal.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Mathlib.Logic.Hydra +public import Mathlib.SetTheory.Surreal.Basic +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "This module is now at `CombinatorialGames.Surreal.Multiplication` in the CGT repo " @@ -67,6 +69,8 @@ The whole proof features a clear separation into lemmas of different roles: -/ +@[expose] public section + universe u open SetTheory Game PGame WellFounded diff --git a/Mathlib/SetTheory/ZFC/Basic.lean b/Mathlib/SetTheory/ZFC/Basic.lean index 6188e8d36234e7..74a9eba1c517c7 100644 --- a/Mathlib/SetTheory/ZFC/Basic.lean +++ b/Mathlib/SetTheory/ZFC/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.SetLike.Basic -import Mathlib.Logic.Small.Basic -import Mathlib.SetTheory.ZFC.PSet +module + +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.SetLike.Basic +public import Mathlib.Logic.Small.Basic +public import Mathlib.SetTheory.ZFC.PSet /-! # A model of ZFC @@ -35,6 +37,8 @@ To avoid confusion between the Lean `Set` and the ZFC `Set`, docstrings in this respectively as "`Set`" and "ZFC set". -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/ZFC/Class.lean b/Mathlib/SetTheory/ZFC/Class.lean index 1ce2aa9acd4902..a3a1bf5a17fd5c 100644 --- a/Mathlib/SetTheory/ZFC/Class.lean +++ b/Mathlib/SetTheory/ZFC/Class.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.SetTheory.ZFC.Ordinal +module + +public import Mathlib.SetTheory.ZFC.Ordinal /-! # ZFC classes @@ -20,6 +22,8 @@ definitionally equal to ours. * `ZFSet.isOrdinal_notMem_univ`: The Burali-Forti paradox. Ordinals form a proper class. -/ +@[expose] public section + universe u diff --git a/Mathlib/SetTheory/ZFC/Ordinal.lean b/Mathlib/SetTheory/ZFC/Ordinal.lean index 6606e83b35e078..9e2987132692b2 100644 --- a/Mathlib/SetTheory/ZFC/Ordinal.lean +++ b/Mathlib/SetTheory/ZFC/Ordinal.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.GameAdd -import Mathlib.Order.RelIso.Set -import Mathlib.SetTheory.ZFC.Basic +module + +public import Mathlib.Order.GameAdd +public import Mathlib.Order.RelIso.Set +public import Mathlib.SetTheory.ZFC.Basic /-! # Von Neumann ordinals @@ -24,6 +26,8 @@ under `∈`. - Build correspondences between these set notions and those of the standard `Ordinal` type. -/ +@[expose] public section + universe u variable {x y z w : ZFSet.{u}} diff --git a/Mathlib/SetTheory/ZFC/PSet.lean b/Mathlib/SetTheory/ZFC/PSet.lean index a2fddae4a2b31c..eefcd23941b732 100644 --- a/Mathlib/SetTheory/ZFC/PSet.lean +++ b/Mathlib/SetTheory/ZFC/PSet.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Data.Set.Lattice /-! # Pre-sets @@ -24,6 +26,8 @@ quotient of pre-sets by extensional equality. * `PSet.omega`: The von Neumann ordinal `ω` as a `PSet`. -/ +@[expose] public section + universe u v diff --git a/Mathlib/SetTheory/ZFC/Rank.lean b/Mathlib/SetTheory/ZFC/Rank.lean index a035c9c8b4b96f..6d2b003cb6af79 100644 --- a/Mathlib/SetTheory/ZFC/Rank.lean +++ b/Mathlib/SetTheory/ZFC/Rank.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dexin Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dexin Zhang -/ -import Mathlib.Logic.UnivLE -import Mathlib.SetTheory.Ordinal.Rank -import Mathlib.SetTheory.ZFC.Basic +module + +public import Mathlib.Logic.UnivLE +public import Mathlib.SetTheory.Ordinal.Rank +public import Mathlib.SetTheory.ZFC.Basic /-! # Ordinal ranks of PSet and ZFSet @@ -20,6 +22,8 @@ same as the indexing types. * `ZFSet.rank`: Ordinal rank of a ZFC set. -/ +@[expose] public section + universe u v open Ordinal Order diff --git a/Mathlib/SetTheory/ZFC/VonNeumann.lean b/Mathlib/SetTheory/ZFC/VonNeumann.lean index 0b2ed20a085319..0282f4c8cec2b4 100644 --- a/Mathlib/SetTheory/ZFC/VonNeumann.lean +++ b/Mathlib/SetTheory/ZFC/VonNeumann.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.SetTheory.ZFC.Class -import Mathlib.SetTheory.ZFC.Ordinal -import Mathlib.SetTheory.ZFC.Rank +module + +public import Mathlib.SetTheory.ZFC.Class +public import Mathlib.SetTheory.ZFC.Ordinal +public import Mathlib.SetTheory.ZFC.Rank /-! # Von Neumann hierarchy @@ -19,6 +21,8 @@ that `⋃ o, V_ o = univ`. - `V_ o` is notation for `vonNeumann o`. It is scoped in the `ZFSet` namespace. -/ +@[expose] public section + universe u open Order diff --git a/Mathlib/Std/Data/HashMap.lean b/Mathlib/Std/Data/HashMap.lean index dc2872910a9d30..e32ef19a95b1e9 100644 --- a/Mathlib/Std/Data/HashMap.lean +++ b/Mathlib/Std/Data/HashMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Lean FRO. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Std.Data.HashMap.AdditionalOperations -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public import Std.Data.HashMap.AdditionalOperations +public import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module (since := "2025-08-18") @@ -14,6 +16,8 @@ deprecated_module (since := "2025-08-18") This is now reimplemented in the Lean standard library. -/ +@[expose] public section + namespace Std.HashMap variable {α β γ : Type _} [BEq α] [Hashable α] diff --git a/Mathlib/Tactic.lean b/Mathlib/Tactic.lean index 7c84ad58f54057..f426171da8f763 100644 --- a/Mathlib/Tactic.lean +++ b/Mathlib/Tactic.lean @@ -1,307 +1,309 @@ -import Mathlib.Tactic.Abel -import Mathlib.Tactic.AdaptationNote -import Mathlib.Tactic.Algebraize -import Mathlib.Tactic.ApplyAt -import Mathlib.Tactic.ApplyCongr -import Mathlib.Tactic.ApplyFun -import Mathlib.Tactic.ApplyWith -import Mathlib.Tactic.ArithMult -import Mathlib.Tactic.ArithMult.Init -import Mathlib.Tactic.Attr.Core -import Mathlib.Tactic.Attr.Register -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Bound -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Tactic.Bound.Init -import Mathlib.Tactic.ByContra -import Mathlib.Tactic.CC -import Mathlib.Tactic.CC.Addition -import Mathlib.Tactic.CC.Datatypes -import Mathlib.Tactic.CC.Lemmas -import Mathlib.Tactic.CC.MkProof -import Mathlib.Tactic.CancelDenoms -import Mathlib.Tactic.CancelDenoms.Core -import Mathlib.Tactic.Cases -import Mathlib.Tactic.CasesM -import Mathlib.Tactic.CategoryTheory.BicategoricalComp -import Mathlib.Tactic.CategoryTheory.Bicategory.Basic -import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes -import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize -import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence -import Mathlib.Tactic.CategoryTheory.BicategoryCoherence -import Mathlib.Tactic.CategoryTheory.CheckCompositions -import Mathlib.Tactic.CategoryTheory.Coherence -import Mathlib.Tactic.CategoryTheory.Coherence.Basic -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes -import Mathlib.Tactic.CategoryTheory.Coherence.Normalize -import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.Tactic.CategoryTheory.IsoReassoc -import Mathlib.Tactic.CategoryTheory.Monoidal.Basic -import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes -import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize -import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence -import Mathlib.Tactic.CategoryTheory.MonoidalComp -import Mathlib.Tactic.CategoryTheory.Reassoc -import Mathlib.Tactic.CategoryTheory.Slice -import Mathlib.Tactic.CategoryTheory.ToApp -import Mathlib.Tactic.Change -import Mathlib.Tactic.Check -import Mathlib.Tactic.Choose -import Mathlib.Tactic.Clean -import Mathlib.Tactic.ClearExcept -import Mathlib.Tactic.ClearExclamation -import Mathlib.Tactic.Clear_ -import Mathlib.Tactic.Coe -import Mathlib.Tactic.Common -import Mathlib.Tactic.ComputeDegree -import Mathlib.Tactic.CongrExclamation -import Mathlib.Tactic.CongrM -import Mathlib.Tactic.Constructor -import Mathlib.Tactic.Continuity -import Mathlib.Tactic.Continuity.Init -import Mathlib.Tactic.ContinuousFunctionalCalculus -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Conv -import Mathlib.Tactic.Convert -import Mathlib.Tactic.Core -import Mathlib.Tactic.DeclarationNames -import Mathlib.Tactic.DefEqTransformations -import Mathlib.Tactic.DepRewrite -import Mathlib.Tactic.DeprecateTo -import Mathlib.Tactic.DeriveCountable -import Mathlib.Tactic.DeriveEncodable -import Mathlib.Tactic.DeriveFintype -import Mathlib.Tactic.DeriveTraversable -import Mathlib.Tactic.ENatToNat -import Mathlib.Tactic.Eqns -import Mathlib.Tactic.ErwQuestion -import Mathlib.Tactic.Eval -import Mathlib.Tactic.ExistsI -import Mathlib.Tactic.Explode -import Mathlib.Tactic.Explode.Datatypes -import Mathlib.Tactic.Explode.Pretty -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.ExtractGoal -import Mathlib.Tactic.ExtractLets -import Mathlib.Tactic.FBinop -import Mathlib.Tactic.FailIfNoProgress -import Mathlib.Tactic.FastInstance -import Mathlib.Tactic.Field -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.FieldSimp.Attr -import Mathlib.Tactic.FieldSimp.Discharger -import Mathlib.Tactic.FieldSimp.Lemmas -import Mathlib.Tactic.FinCases -import Mathlib.Tactic.Find -import Mathlib.Tactic.FindSyntax -import Mathlib.Tactic.Finiteness -import Mathlib.Tactic.Finiteness.Attr -import Mathlib.Tactic.FunProp -import Mathlib.Tactic.FunProp.Attr -import Mathlib.Tactic.FunProp.ContDiff -import Mathlib.Tactic.FunProp.Core -import Mathlib.Tactic.FunProp.Decl -import Mathlib.Tactic.FunProp.Differentiable -import Mathlib.Tactic.FunProp.Elab -import Mathlib.Tactic.FunProp.FunctionData -import Mathlib.Tactic.FunProp.Mor -import Mathlib.Tactic.FunProp.Theorems -import Mathlib.Tactic.FunProp.ToBatteries -import Mathlib.Tactic.FunProp.Types -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.GCongr.Core -import Mathlib.Tactic.GCongr.CoreAttrs -import Mathlib.Tactic.GCongr.ForwardAttr -import Mathlib.Tactic.GRewrite -import Mathlib.Tactic.GRewrite.Core -import Mathlib.Tactic.GRewrite.Elab -import Mathlib.Tactic.Generalize -import Mathlib.Tactic.GeneralizeProofs -import Mathlib.Tactic.Group -import Mathlib.Tactic.GuardGoalNums -import Mathlib.Tactic.GuardHypNums -import Mathlib.Tactic.Have -import Mathlib.Tactic.HaveI -import Mathlib.Tactic.HigherOrder -import Mathlib.Tactic.Hint -import Mathlib.Tactic.ITauto -import Mathlib.Tactic.InferParam -import Mathlib.Tactic.Inhabit -import Mathlib.Tactic.IntervalCases -import Mathlib.Tactic.IrreducibleDef -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Lift -import Mathlib.Tactic.LiftLets -import Mathlib.Tactic.Linarith -import Mathlib.Tactic.Linarith.Datatypes -import Mathlib.Tactic.Linarith.Frontend -import Mathlib.Tactic.Linarith.Lemmas -import Mathlib.Tactic.Linarith.Oracle.FourierMotzkin -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm -import Mathlib.Tactic.Linarith.Parsing -import Mathlib.Tactic.Linarith.Preprocessing -import Mathlib.Tactic.Linarith.Verification -import Mathlib.Tactic.LinearCombination -import Mathlib.Tactic.LinearCombination' -import Mathlib.Tactic.LinearCombination.Lemmas -import Mathlib.Tactic.Linter -import Mathlib.Tactic.Linter.CommandRanges -import Mathlib.Tactic.Linter.CommandStart -import Mathlib.Tactic.Linter.DeprecatedModule -import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter -import Mathlib.Tactic.Linter.DirectoryDependency -import Mathlib.Tactic.Linter.DocPrime -import Mathlib.Tactic.Linter.DocString -import Mathlib.Tactic.Linter.FindDeprecations -import Mathlib.Tactic.Linter.FlexibleLinter -import Mathlib.Tactic.Linter.GlobalAttributeIn -import Mathlib.Tactic.Linter.HashCommandLinter -import Mathlib.Tactic.Linter.HaveLetLinter -import Mathlib.Tactic.Linter.Header -import Mathlib.Tactic.Linter.Lint -import Mathlib.Tactic.Linter.MinImports -import Mathlib.Tactic.Linter.Multigoal -import Mathlib.Tactic.Linter.OldObtain -import Mathlib.Tactic.Linter.PPRoundtrip -import Mathlib.Tactic.Linter.Style -import Mathlib.Tactic.Linter.TextBased -import Mathlib.Tactic.Linter.UnusedTactic -import Mathlib.Tactic.Linter.UnusedTacticExtension -import Mathlib.Tactic.Linter.UpstreamableDecl -import Mathlib.Tactic.Measurability -import Mathlib.Tactic.Measurability.Init -import Mathlib.Tactic.MinImports -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.ModCases -import Mathlib.Tactic.Module -import Mathlib.Tactic.Monotonicity -import Mathlib.Tactic.Monotonicity.Attr -import Mathlib.Tactic.Monotonicity.Basic -import Mathlib.Tactic.Monotonicity.Lemmas -import Mathlib.Tactic.MoveAdd -import Mathlib.Tactic.NoncommRing -import Mathlib.Tactic.Nontriviality -import Mathlib.Tactic.Nontriviality.Core -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.NormNum.Abs -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.NormNum.BigOperators -import Mathlib.Tactic.NormNum.Core -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Tactic.NormNum.Eq -import Mathlib.Tactic.NormNum.GCD -import Mathlib.Tactic.NormNum.Ineq -import Mathlib.Tactic.NormNum.Inv -import Mathlib.Tactic.NormNum.Irrational -import Mathlib.Tactic.NormNum.IsCoprime -import Mathlib.Tactic.NormNum.LegendreSymbol -import Mathlib.Tactic.NormNum.ModEq -import Mathlib.Tactic.NormNum.NatFactorial -import Mathlib.Tactic.NormNum.NatFib -import Mathlib.Tactic.NormNum.NatLog -import Mathlib.Tactic.NormNum.NatSqrt -import Mathlib.Tactic.NormNum.OfScientific -import Mathlib.Tactic.NormNum.Ordinal -import Mathlib.Tactic.NormNum.Parity -import Mathlib.Tactic.NormNum.Pow -import Mathlib.Tactic.NormNum.PowMod -import Mathlib.Tactic.NormNum.Prime -import Mathlib.Tactic.NormNum.RealSqrt -import Mathlib.Tactic.NormNum.Result -import Mathlib.Tactic.NthRewrite -import Mathlib.Tactic.Observe -import Mathlib.Tactic.OfNat -import Mathlib.Tactic.Order -import Mathlib.Tactic.Order.CollectFacts -import Mathlib.Tactic.Order.Graph.Basic -import Mathlib.Tactic.Order.Graph.Tarjan -import Mathlib.Tactic.Order.Preprocessing -import Mathlib.Tactic.PNatToNat -import Mathlib.Tactic.PPWithUniv -import Mathlib.Tactic.Peel -import Mathlib.Tactic.Polyrith -import Mathlib.Tactic.Positivity -import Mathlib.Tactic.Positivity.Basic -import Mathlib.Tactic.Positivity.Core -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Tactic.ProdAssoc -import Mathlib.Tactic.Propose -import Mathlib.Tactic.ProxyType -import Mathlib.Tactic.Push -import Mathlib.Tactic.Push.Attr -import Mathlib.Tactic.Qify -import Mathlib.Tactic.RSuffices -import Mathlib.Tactic.Recall -import Mathlib.Tactic.Recover -import Mathlib.Tactic.ReduceModChar -import Mathlib.Tactic.ReduceModChar.Ext -import Mathlib.Tactic.Relation.Rfl -import Mathlib.Tactic.Relation.Symm -import Mathlib.Tactic.Rename -import Mathlib.Tactic.RenameBVar -import Mathlib.Tactic.Replace -import Mathlib.Tactic.RewriteSearch -import Mathlib.Tactic.Rify -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Ring.Basic -import Mathlib.Tactic.Ring.Compare -import Mathlib.Tactic.Ring.NamePolyVars -import Mathlib.Tactic.Ring.PNat -import Mathlib.Tactic.Ring.RingNF -import Mathlib.Tactic.Sat.FromLRAT -import Mathlib.Tactic.Says -import Mathlib.Tactic.ScopedNS -import Mathlib.Tactic.Set -import Mathlib.Tactic.SetLike -import Mathlib.Tactic.SimpIntro -import Mathlib.Tactic.SimpRw -import Mathlib.Tactic.Simproc.Divisors -import Mathlib.Tactic.Simproc.ExistsAndEq -import Mathlib.Tactic.Simproc.Factors -import Mathlib.Tactic.Simps.Basic -import Mathlib.Tactic.Simps.NotationClass -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.Spread -import Mathlib.Tactic.StacksAttribute -import Mathlib.Tactic.Subsingleton -import Mathlib.Tactic.Substs -import Mathlib.Tactic.SuccessIfFailWithMsg -import Mathlib.Tactic.SudoSetOption -import Mathlib.Tactic.SuppressCompilation -import Mathlib.Tactic.SwapVar -import Mathlib.Tactic.TFAE -import Mathlib.Tactic.TacticAnalysis -import Mathlib.Tactic.TacticAnalysis.Declarations -import Mathlib.Tactic.Tauto -import Mathlib.Tactic.TautoSet -import Mathlib.Tactic.TermCongr -import Mathlib.Tactic.ToAdditive -import Mathlib.Tactic.ToAdditive.Frontend -import Mathlib.Tactic.ToAdditive.GuessName -import Mathlib.Tactic.ToExpr -import Mathlib.Tactic.ToLevel -import Mathlib.Tactic.Trace -import Mathlib.Tactic.TryThis -import Mathlib.Tactic.TypeCheck -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.UnsetOption -import Mathlib.Tactic.Use -import Mathlib.Tactic.Variable -import Mathlib.Tactic.WLOG -import Mathlib.Tactic.Widget.Calc -import Mathlib.Tactic.Widget.CommDiag -import Mathlib.Tactic.Widget.CongrM -import Mathlib.Tactic.Widget.Conv -import Mathlib.Tactic.Widget.GCongr -import Mathlib.Tactic.Widget.InteractiveUnfold -import Mathlib.Tactic.Widget.LibraryRewrite -import Mathlib.Tactic.Widget.SelectInsertParamsClass -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Tactic.Widget.StringDiagram -import Mathlib.Tactic.WithoutCDot -import Mathlib.Tactic.Zify +module + +public import Mathlib.Tactic.Abel +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Tactic.Algebraize +public import Mathlib.Tactic.ApplyAt +public import Mathlib.Tactic.ApplyCongr +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Tactic.ApplyWith +public import Mathlib.Tactic.ArithMult +public import Mathlib.Tactic.ArithMult.Init +public import Mathlib.Tactic.Attr.Core +public import Mathlib.Tactic.Attr.Register +public import Mathlib.Tactic.Basic +public import Mathlib.Tactic.Bound +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Tactic.Bound.Init +public import Mathlib.Tactic.ByContra +public import Mathlib.Tactic.CC +public import Mathlib.Tactic.CC.Addition +public import Mathlib.Tactic.CC.Datatypes +public import Mathlib.Tactic.CC.Lemmas +public import Mathlib.Tactic.CC.MkProof +public import Mathlib.Tactic.CancelDenoms +public import Mathlib.Tactic.CancelDenoms.Core +public import Mathlib.Tactic.Cases +public import Mathlib.Tactic.CasesM +public import Mathlib.Tactic.CategoryTheory.BicategoricalComp +public import Mathlib.Tactic.CategoryTheory.Bicategory.Basic +public import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes +public import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize +public import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence +public import Mathlib.Tactic.CategoryTheory.BicategoryCoherence +public import Mathlib.Tactic.CategoryTheory.CheckCompositions +public import Mathlib.Tactic.CategoryTheory.Coherence +public import Mathlib.Tactic.CategoryTheory.Coherence.Basic +public import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +public import Mathlib.Tactic.CategoryTheory.Coherence.Normalize +public import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.Tactic.CategoryTheory.IsoReassoc +public import Mathlib.Tactic.CategoryTheory.Monoidal.Basic +public import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes +public import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize +public import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence +public import Mathlib.Tactic.CategoryTheory.MonoidalComp +public import Mathlib.Tactic.CategoryTheory.Reassoc +public import Mathlib.Tactic.CategoryTheory.Slice +public import Mathlib.Tactic.CategoryTheory.ToApp +public import Mathlib.Tactic.Change +public import Mathlib.Tactic.Check +public import Mathlib.Tactic.Choose +public import Mathlib.Tactic.Clean +public import Mathlib.Tactic.ClearExcept +public import Mathlib.Tactic.ClearExclamation +public import Mathlib.Tactic.Clear_ +public import Mathlib.Tactic.Coe +public import Mathlib.Tactic.Common +public import Mathlib.Tactic.ComputeDegree +public import Mathlib.Tactic.CongrExclamation +public import Mathlib.Tactic.CongrM +public import Mathlib.Tactic.Constructor +public import Mathlib.Tactic.Continuity +public import Mathlib.Tactic.Continuity.Init +public import Mathlib.Tactic.ContinuousFunctionalCalculus +public import Mathlib.Tactic.Contrapose +public import Mathlib.Tactic.Conv +public import Mathlib.Tactic.Convert +public import Mathlib.Tactic.Core +public import Mathlib.Tactic.DeclarationNames +public import Mathlib.Tactic.DefEqTransformations +public import Mathlib.Tactic.DepRewrite +public import Mathlib.Tactic.DeprecateTo +public import Mathlib.Tactic.DeriveCountable +public import Mathlib.Tactic.DeriveEncodable +public import Mathlib.Tactic.DeriveFintype +public import Mathlib.Tactic.DeriveTraversable +public import Mathlib.Tactic.ENatToNat +public import Mathlib.Tactic.Eqns +public import Mathlib.Tactic.ErwQuestion +public import Mathlib.Tactic.Eval +public import Mathlib.Tactic.ExistsI +public import Mathlib.Tactic.Explode +public import Mathlib.Tactic.Explode.Datatypes +public import Mathlib.Tactic.Explode.Pretty +public import Mathlib.Tactic.ExtendDoc +public import Mathlib.Tactic.ExtractGoal +public import Mathlib.Tactic.ExtractLets +public import Mathlib.Tactic.FBinop +public import Mathlib.Tactic.FailIfNoProgress +public import Mathlib.Tactic.FastInstance +public import Mathlib.Tactic.Field +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Tactic.FieldSimp.Attr +public import Mathlib.Tactic.FieldSimp.Discharger +public import Mathlib.Tactic.FieldSimp.Lemmas +public import Mathlib.Tactic.FinCases +public import Mathlib.Tactic.Find +public import Mathlib.Tactic.FindSyntax +public import Mathlib.Tactic.Finiteness +public import Mathlib.Tactic.Finiteness.Attr +public import Mathlib.Tactic.FunProp +public import Mathlib.Tactic.FunProp.Attr +public import Mathlib.Tactic.FunProp.ContDiff +public import Mathlib.Tactic.FunProp.Core +public import Mathlib.Tactic.FunProp.Decl +public import Mathlib.Tactic.FunProp.Differentiable +public import Mathlib.Tactic.FunProp.Elab +public import Mathlib.Tactic.FunProp.FunctionData +public import Mathlib.Tactic.FunProp.Mor +public import Mathlib.Tactic.FunProp.Theorems +public import Mathlib.Tactic.FunProp.ToBatteries +public import Mathlib.Tactic.FunProp.Types +public import Mathlib.Tactic.GCongr +public import Mathlib.Tactic.GCongr.Core +public import Mathlib.Tactic.GCongr.CoreAttrs +public import Mathlib.Tactic.GCongr.ForwardAttr +public import Mathlib.Tactic.GRewrite +public import Mathlib.Tactic.GRewrite.Core +public import Mathlib.Tactic.GRewrite.Elab +public import Mathlib.Tactic.Generalize +public import Mathlib.Tactic.GeneralizeProofs +public import Mathlib.Tactic.Group +public import Mathlib.Tactic.GuardGoalNums +public import Mathlib.Tactic.GuardHypNums +public import Mathlib.Tactic.Have +public import Mathlib.Tactic.HaveI +public import Mathlib.Tactic.HigherOrder +public import Mathlib.Tactic.Hint +public import Mathlib.Tactic.ITauto +public import Mathlib.Tactic.InferParam +public import Mathlib.Tactic.Inhabit +public import Mathlib.Tactic.IntervalCases +public import Mathlib.Tactic.IrreducibleDef +public import Mathlib.Tactic.Lemma +public import Mathlib.Tactic.Lift +public import Mathlib.Tactic.LiftLets +public import Mathlib.Tactic.Linarith +public import Mathlib.Tactic.Linarith.Datatypes +public import Mathlib.Tactic.Linarith.Frontend +public import Mathlib.Tactic.Linarith.Lemmas +public import Mathlib.Tactic.Linarith.Oracle.FourierMotzkin +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector +public import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm +public import Mathlib.Tactic.Linarith.Parsing +public import Mathlib.Tactic.Linarith.Preprocessing +public import Mathlib.Tactic.Linarith.Verification +public import Mathlib.Tactic.LinearCombination +public import Mathlib.Tactic.LinearCombination' +public import Mathlib.Tactic.LinearCombination.Lemmas +public import Mathlib.Tactic.Linter +public import Mathlib.Tactic.Linter.CommandRanges +public import Mathlib.Tactic.Linter.CommandStart +public import Mathlib.Tactic.Linter.DeprecatedModule +public import Mathlib.Tactic.Linter.DeprecatedSyntaxLinter +public import Mathlib.Tactic.Linter.DirectoryDependency +public import Mathlib.Tactic.Linter.DocPrime +public import Mathlib.Tactic.Linter.DocString +public import Mathlib.Tactic.Linter.FindDeprecations +public import Mathlib.Tactic.Linter.FlexibleLinter +public import Mathlib.Tactic.Linter.GlobalAttributeIn +public import Mathlib.Tactic.Linter.HashCommandLinter +public import Mathlib.Tactic.Linter.HaveLetLinter +public import Mathlib.Tactic.Linter.Header +public import Mathlib.Tactic.Linter.Lint +public import Mathlib.Tactic.Linter.MinImports +public import Mathlib.Tactic.Linter.Multigoal +public import Mathlib.Tactic.Linter.OldObtain +public import Mathlib.Tactic.Linter.PPRoundtrip +public import Mathlib.Tactic.Linter.Style +public import Mathlib.Tactic.Linter.TextBased +public import Mathlib.Tactic.Linter.UnusedTactic +public import Mathlib.Tactic.Linter.UnusedTacticExtension +public import Mathlib.Tactic.Linter.UpstreamableDecl +public import Mathlib.Tactic.Measurability +public import Mathlib.Tactic.Measurability.Init +public import Mathlib.Tactic.MinImports +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.ModCases +public import Mathlib.Tactic.Module +public import Mathlib.Tactic.Monotonicity +public import Mathlib.Tactic.Monotonicity.Attr +public import Mathlib.Tactic.Monotonicity.Basic +public import Mathlib.Tactic.Monotonicity.Lemmas +public import Mathlib.Tactic.MoveAdd +public import Mathlib.Tactic.NoncommRing +public import Mathlib.Tactic.Nontriviality +public import Mathlib.Tactic.Nontriviality.Core +public import Mathlib.Tactic.NormNum +public import Mathlib.Tactic.NormNum.Abs +public import Mathlib.Tactic.NormNum.Basic +public import Mathlib.Tactic.NormNum.BigOperators +public import Mathlib.Tactic.NormNum.Core +public import Mathlib.Tactic.NormNum.DivMod +public import Mathlib.Tactic.NormNum.Eq +public import Mathlib.Tactic.NormNum.GCD +public import Mathlib.Tactic.NormNum.Ineq +public import Mathlib.Tactic.NormNum.Inv +public import Mathlib.Tactic.NormNum.Irrational +public import Mathlib.Tactic.NormNum.IsCoprime +public import Mathlib.Tactic.NormNum.LegendreSymbol +public import Mathlib.Tactic.NormNum.ModEq +public import Mathlib.Tactic.NormNum.NatFactorial +public import Mathlib.Tactic.NormNum.NatFib +public import Mathlib.Tactic.NormNum.NatLog +public import Mathlib.Tactic.NormNum.NatSqrt +public import Mathlib.Tactic.NormNum.OfScientific +public import Mathlib.Tactic.NormNum.Ordinal +public import Mathlib.Tactic.NormNum.Parity +public import Mathlib.Tactic.NormNum.Pow +public import Mathlib.Tactic.NormNum.PowMod +public import Mathlib.Tactic.NormNum.Prime +public import Mathlib.Tactic.NormNum.RealSqrt +public import Mathlib.Tactic.NormNum.Result +public import Mathlib.Tactic.NthRewrite +public import Mathlib.Tactic.Observe +public import Mathlib.Tactic.OfNat +public import Mathlib.Tactic.Order +public import Mathlib.Tactic.Order.CollectFacts +public import Mathlib.Tactic.Order.Graph.Basic +public import Mathlib.Tactic.Order.Graph.Tarjan +public import Mathlib.Tactic.Order.Preprocessing +public import Mathlib.Tactic.PNatToNat +public import Mathlib.Tactic.PPWithUniv +public import Mathlib.Tactic.Peel +public import Mathlib.Tactic.Polyrith +public import Mathlib.Tactic.Positivity +public import Mathlib.Tactic.Positivity.Basic +public import Mathlib.Tactic.Positivity.Core +public import Mathlib.Tactic.Positivity.Finset +public import Mathlib.Tactic.ProdAssoc +public import Mathlib.Tactic.Propose +public import Mathlib.Tactic.ProxyType +public import Mathlib.Tactic.Push +public import Mathlib.Tactic.Push.Attr +public import Mathlib.Tactic.Qify +public import Mathlib.Tactic.RSuffices +public import Mathlib.Tactic.Recall +public import Mathlib.Tactic.Recover +public import Mathlib.Tactic.ReduceModChar +public import Mathlib.Tactic.ReduceModChar.Ext +public import Mathlib.Tactic.Relation.Rfl +public import Mathlib.Tactic.Relation.Symm +public import Mathlib.Tactic.Rename +public import Mathlib.Tactic.RenameBVar +public import Mathlib.Tactic.Replace +public import Mathlib.Tactic.RewriteSearch +public import Mathlib.Tactic.Rify +public import Mathlib.Tactic.Ring +public import Mathlib.Tactic.Ring.Basic +public import Mathlib.Tactic.Ring.Compare +public import Mathlib.Tactic.Ring.NamePolyVars +public import Mathlib.Tactic.Ring.PNat +public import Mathlib.Tactic.Ring.RingNF +public import Mathlib.Tactic.Sat.FromLRAT +public import Mathlib.Tactic.Says +public import Mathlib.Tactic.ScopedNS +public import Mathlib.Tactic.Set +public import Mathlib.Tactic.SetLike +public import Mathlib.Tactic.SimpIntro +public import Mathlib.Tactic.SimpRw +public import Mathlib.Tactic.Simproc.Divisors +public import Mathlib.Tactic.Simproc.ExistsAndEq +public import Mathlib.Tactic.Simproc.Factors +public import Mathlib.Tactic.Simps.Basic +public import Mathlib.Tactic.Simps.NotationClass +public import Mathlib.Tactic.SplitIfs +public import Mathlib.Tactic.Spread +public import Mathlib.Tactic.StacksAttribute +public import Mathlib.Tactic.Subsingleton +public import Mathlib.Tactic.Substs +public import Mathlib.Tactic.SuccessIfFailWithMsg +public import Mathlib.Tactic.SudoSetOption +public import Mathlib.Tactic.SuppressCompilation +public import Mathlib.Tactic.SwapVar +public import Mathlib.Tactic.TFAE +public import Mathlib.Tactic.TacticAnalysis +public import Mathlib.Tactic.TacticAnalysis.Declarations +public import Mathlib.Tactic.Tauto +public import Mathlib.Tactic.TautoSet +public import Mathlib.Tactic.TermCongr +public import Mathlib.Tactic.ToAdditive +public import Mathlib.Tactic.ToAdditive.Frontend +public import Mathlib.Tactic.ToAdditive.GuessName +public import Mathlib.Tactic.ToExpr +public import Mathlib.Tactic.ToLevel +public import Mathlib.Tactic.Trace +public import Mathlib.Tactic.TryThis +public import Mathlib.Tactic.TypeCheck +public import Mathlib.Tactic.TypeStar +public import Mathlib.Tactic.UnsetOption +public import Mathlib.Tactic.Use +public import Mathlib.Tactic.Variable +public import Mathlib.Tactic.WLOG +public import Mathlib.Tactic.Widget.Calc +public import Mathlib.Tactic.Widget.CommDiag +public import Mathlib.Tactic.Widget.CongrM +public import Mathlib.Tactic.Widget.Conv +public import Mathlib.Tactic.Widget.GCongr +public import Mathlib.Tactic.Widget.InteractiveUnfold +public import Mathlib.Tactic.Widget.LibraryRewrite +public import Mathlib.Tactic.Widget.SelectInsertParamsClass +public import Mathlib.Tactic.Widget.SelectPanelUtils +public import Mathlib.Tactic.Widget.StringDiagram +public import Mathlib.Tactic.WithoutCDot +public import Mathlib.Tactic.Zify diff --git a/Mathlib/Tactic/Abel.lean b/Mathlib/Tactic/Abel.lean index c23f4d91692d02..12415e78a1b017 100644 --- a/Mathlib/Tactic/Abel.lean +++ b/Mathlib/Tactic/Abel.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.TryThis -import Mathlib.Util.AtLocation -import Mathlib.Util.AtomM.Recurse +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Tactic.TryThis +public meta import Mathlib.Util.AtLocation +public meta import Mathlib.Util.AtomM.Recurse /-! # The `abel` tactic @@ -15,6 +17,8 @@ Evaluate expressions in the language of additive, commutative monoids and groups -/ +public meta section + -- TODO: assert_not_exists NonUnitalNonAssociativeSemiring assert_not_exists OrderedAddCommMonoid TopologicalSpace PseudoMetricSpace @@ -123,9 +127,9 @@ def iapp (n : Name) (xs : Array Expr) : M Expr := do return c.app (if c.isGroup then addG n else n) c.inst xs /-- A type synonym used by `abel` to represent `n • x + a` in an additive commutative monoid. -/ -def term {α} [AddCommMonoid α] (n : ℕ) (x a : α) : α := n • x + a +@[expose] def term {α} [AddCommMonoid α] (n : ℕ) (x a : α) : α := n • x + a /-- A type synonym used by `abel` to represent `n • x + a` in an additive commutative group. -/ -def termg {α} [AddCommGroup α] (n : ℤ) (x a : α) : α := n • x + a +@[expose] def termg {α} [AddCommGroup α] (n : ℤ) (x a : α) : α := n • x + a /-- Evaluate a term with coefficient `n`, atom `x` and successor terms `a`. -/ def mkTerm (n x a : Expr) : M Expr := iapp ``term #[n, x, a] @@ -238,9 +242,9 @@ def evalNeg : NormalExpr → M (NormalExpr × Expr) (← read).app ``term_neg (← read).inst #[n.1, x.2, a, n'.expr, a', ← n'.getProof, h₂]) /-- A synonym for `•`, used internally in `abel`. -/ -def smul {α} [AddCommMonoid α] (n : ℕ) (x : α) : α := n • x +@[expose] def smul {α} [AddCommMonoid α] (n : ℕ) (x : α) : α := n • x /-- A synonym for `•`, used internally in `abel`. -/ -def smulg {α} [AddCommGroup α] (n : ℤ) (x : α) : α := n • x +@[expose] def smulg {α} [AddCommGroup α] (n : ℤ) (x : α) : α := n • x theorem zero_smul {α} [AddCommMonoid α] (c) : smul c (0 : α) = 0 := by simp [smul, nsmul_zero] @@ -441,9 +445,9 @@ elab (name := abel1) "abel1" tk:"!"? : tactic => withMainContext do @[tactic_alt abel] macro (name := abel1!) "abel1!" : tactic => `(tactic| abel1 !) -theorem term_eq {α : Type*} [AddCommMonoid α] (n : ℕ) (x a : α) : term n x a = n • x + a := rfl +theorem term_eq {α : Type*} [AddCommMonoid α] (n : ℕ) (x a : α) : term n x a = n • x + a := (rfl) /-- A type synonym used by `abel` to represent `n • x + a` in an additive commutative group. -/ -theorem termg_eq {α : Type*} [AddCommGroup α] (n : ℤ) (x a : α) : termg n x a = n • x + a := rfl +theorem termg_eq {α : Type*} [AddCommGroup α] (n : ℤ) (x a : α) : termg n x a = n • x + a := (rfl) /-- True if this represents an atomic expression. -/ def NormalExpr.isAtom : NormalExpr → Bool diff --git a/Mathlib/Tactic/AdaptationNote.lean b/Mathlib/Tactic/AdaptationNote.lean index 76c6b0df66e792..63c9751f102489 100644 --- a/Mathlib/Tactic/AdaptationNote.lean +++ b/Mathlib/Tactic/AdaptationNote.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Lean.Meta.Tactic.TryThis +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis /-! # Adaptation notes @@ -15,6 +17,8 @@ has been changed to accommodate a change in Lean core. They typically require further action/maintenance to be taken in the future. -/ +public meta section + open Lean initialize registerTraceClass `adaptationNote diff --git a/Mathlib/Tactic/Algebraize.lean b/Mathlib/Tactic/Algebraize.lean index e860cd4db7d7c6..75820814228fea 100644 --- a/Mathlib/Tactic/Algebraize.lean +++ b/Mathlib/Tactic/Algebraize.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Nick Kuhn, Arend Mellendijk, Christian Merten, Calle Sönne, Adam Topaz -/ +module -import Mathlib.Algebra.Algebra.Tower +public meta import Mathlib.Algebra.Algebra.Tower /-! @@ -71,6 +72,8 @@ To avoid searching through the local context and adding corresponding `Algebra` `algebraize_only` which only adds `Algebra` and `IsScalarTower` instances. -/ +public meta section + open Lean Elab Tactic Term Meta namespace Lean.Attr diff --git a/Mathlib/Tactic/ApplyAt.lean b/Mathlib/Tactic/ApplyAt.lean index 982eaf4df55b63..39e330126e61d6 100644 --- a/Mathlib/Tactic/ApplyAt.lean +++ b/Mathlib/Tactic/ApplyAt.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Lean.Elab.Tactic.ElabTerm -import Mathlib.Lean.Meta.Basic +module + +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Mathlib.Lean.Meta.Basic /-! # Apply at @@ -12,6 +14,8 @@ import Mathlib.Lean.Meta.Basic A tactic for applying functions at hypotheses. -/ +public meta section + open Lean Meta Elab Tactic Term namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/ApplyCongr.lean b/Mathlib/Tactic/ApplyCongr.lean index fa9ab51db58edc..aca51f4378011a 100644 --- a/Mathlib/Tactic/ApplyCongr.lean +++ b/Mathlib/Tactic/ApplyCongr.lean @@ -3,8 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lucas Allen, Kim Morrison -/ +module -import Mathlib.Tactic.Conv +public meta import Mathlib.Tactic.Conv /-! ## Introduce the `apply_congr` conv mode tactic. @@ -15,6 +16,8 @@ are not of the optimal shape. An example, described in the doc-string is rewriting inside the operand of a `Finset.sum`. -/ +public meta section + open Lean Expr Parser.Tactic Elab Command Elab.Tactic Meta Conv /-- diff --git a/Mathlib/Tactic/ApplyFun.lean b/Mathlib/Tactic/ApplyFun.lean index 728a8131cb44bf..dad0dd5b427099 100644 --- a/Mathlib/Tactic/ApplyFun.lean +++ b/Mathlib/Tactic/ApplyFun.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Keeley Hoek, Patrick Massot, Kim Morrison -/ -import Mathlib.Lean.Expr.Basic -import Mathlib.Order.Monotone.Basic -import Mathlib.Order.Hom.Basic +module + +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Order.Monotone.Basic +public meta import Mathlib.Order.Hom.Basic /-! # The `apply_fun` tactic. @@ -17,6 +19,8 @@ Apply a function to an equality or inequality in either a local hypothesis or th Using the `mono` tactic, we can attempt to automatically discharge `Monotone f` goals. -/ +public meta section + namespace Mathlib.Tactic open Lean Parser Elab Tactic Meta diff --git a/Mathlib/Tactic/ApplyWith.lean b/Mathlib/Tactic/ApplyWith.lean index c4ddb7097accc6..18e916224af087 100644 --- a/Mathlib/Tactic/ApplyWith.lean +++ b/Mathlib/Tactic/ApplyWith.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Eval -import Lean.Elab.Tactic.ElabTerm +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Eval +public meta import Lean.Elab.Tactic.ElabTerm /-! # The `applyWith` tactic @@ -13,6 +15,8 @@ The `applyWith` tactic is like `apply`, but allows passing a custom configuratio `apply` operation. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic Term diff --git a/Mathlib/Tactic/ArithMult.lean b/Mathlib/Tactic/ArithMult.lean index c2e5f0530ec2df..3b8b421fb51040 100644 --- a/Mathlib/Tactic/ArithMult.lean +++ b/Mathlib/Tactic/ArithMult.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Arend Mellendijk. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arend Mellendijk -/ +module -import Mathlib.Tactic.Basic -import Mathlib.Tactic.ArithMult.Init +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Tactic.ArithMult.Init /-! # Multiplicativity @@ -14,6 +15,8 @@ We define the arith_mult tactic using aesop -/ +public meta section + namespace ArithmeticFunction /-- diff --git a/Mathlib/Tactic/ArithMult/Init.lean b/Mathlib/Tactic/ArithMult/Init.lean index 40a20040c7bdc1..802730e2691360 100644 --- a/Mathlib/Tactic/ArithMult/Init.lean +++ b/Mathlib/Tactic/ArithMult/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Arend Mellendijk. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arend Mellendijk -/ +module -import Mathlib.Init -import Aesop +public meta import Mathlib.Init +public meta import Aesop /-! # arith_mult Rule Set @@ -15,4 +16,6 @@ This module defines the `IsMultiplicative` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +public meta section + declare_aesop_rule_sets [IsMultiplicative] diff --git a/Mathlib/Tactic/Attr/Core.lean b/Mathlib/Tactic/Attr/Core.lean index 6ff6bce6b64884..7acae3f4294b8d 100644 --- a/Mathlib/Tactic/Attr/Core.lean +++ b/Mathlib/Tactic/Attr/Core.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Tactic.Attr.Register +module + +public meta import Mathlib.Tactic.Attr.Register /-! # Simp tags for core lemmas @@ -13,6 +15,8 @@ declare all `simp` attributes used in `Mathlib` in `Mathlib/Tactic/Attr/Register from the core library and the `Batteries` library with these attributes in this file. -/ +public meta section + attribute [simp] id_map' attribute [functor_norm, monad_norm] seq_assoc pure_seq pure_bind bind_assoc bind_pure map_pure attribute [monad_norm] seq_eq_bind_map diff --git a/Mathlib/Tactic/Attr/Register.lean b/Mathlib/Tactic/Attr/Register.lean index e3651d8091c29a..41f79cd7f8e241 100644 --- a/Mathlib/Tactic/Attr/Register.lean +++ b/Mathlib/Tactic/Attr/Register.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Init -import Lean.Meta.Tactic.Simp.SimpTheorems -import Lean.Meta.Tactic.Simp.RegisterCommand -import Lean.LabelAttribute +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Simp.SimpTheorems +public meta import Lean.Meta.Tactic.Simp.RegisterCommand +public meta import Lean.LabelAttribute /-! # Attributes used in `Mathlib` @@ -18,6 +20,8 @@ of them in one file for two reasons: - this way it is easy to see which simp sets contain a given lemma. -/ +public meta section + /-- Simp set for `functor_norm` -/ register_simp_attr functor_norm diff --git a/Mathlib/Tactic/Basic.lean b/Mathlib/Tactic/Basic.lean index 8e243dc23504f4..d336e9cc1a784d 100644 --- a/Mathlib/Tactic/Basic.lean +++ b/Mathlib/Tactic/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kyle Miller -/ -import Lean -import Mathlib.Tactic.PPWithUniv -import Mathlib.Tactic.ExtendDoc -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.TypeStar -import Mathlib.Tactic.Linter.OldObtain -import Mathlib.Tactic.Simproc.ExistsAndEq +module + +public meta import Lean +public meta import Mathlib.Tactic.PPWithUniv +public meta import Mathlib.Tactic.ExtendDoc +public meta import Mathlib.Tactic.Lemma +public meta import Mathlib.Tactic.TypeStar +public meta import Mathlib.Tactic.Linter.OldObtain +public meta import Mathlib.Tactic.Simproc.ExistsAndEq /-! # Basic tactics and utilities for tactic writing @@ -23,6 +25,8 @@ and explicitly name the non-dependent hypotheses, context). -/ +public meta section + namespace Mathlib.Tactic open Lean Parser.Tactic Elab Command Elab.Tactic Meta @@ -155,7 +159,7 @@ def withResetServerInfo {α : Type} (t : TacticM α) : end Mathlib.Tactic /-- A mathlib library note: the note's content should be contained in its doc-string. -/ -def LibraryNote := Unit +@[expose] def LibraryNote := Unit open Lean in /-- `library_note2 «my note» /-- documentation -/` creates a library note named `my note` diff --git a/Mathlib/Tactic/Bound.lean b/Mathlib/Tactic/Bound.lean index 60b0bc685682d2..aeb85e5d72b2d7 100644 --- a/Mathlib/Tactic/Bound.lean +++ b/Mathlib/Tactic/Bound.lean @@ -3,12 +3,13 @@ Copyright (c) 2024 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving -/ +module -import Aesop -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Tactic.Lemma -import Mathlib.Tactic.Linarith.Frontend -import Mathlib.Tactic.NormNum.Core +public meta import Aesop +public meta import Mathlib.Tactic.Bound.Attribute +public meta import Mathlib.Tactic.Lemma +public meta import Mathlib.Tactic.Linarith.Frontend +public meta import Mathlib.Tactic.NormNum.Core /-! ## The `bound` tactic @@ -86,6 +87,8 @@ Currently the two types of guessing rules are We close numerical goals with `norm_num` and `linarith`. -/ +public meta section + open Lean Elab Meta Term Mathlib.Tactic Syntax open Lean.Elab.Tactic (liftMetaTactic liftMetaTactic' TacticM getMainGoal) diff --git a/Mathlib/Tactic/Bound/Attribute.lean b/Mathlib/Tactic/Bound/Attribute.lean index fcda67073f97ad..5bd83e5f9a2713 100644 --- a/Mathlib/Tactic/Bound/Attribute.lean +++ b/Mathlib/Tactic/Bound/Attribute.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving -/ -import Mathlib.Tactic.Bound.Init -import Qq -import Aesop +module + +public meta import Mathlib.Tactic.Bound.Init +public meta import Qq +public meta import Aesop /-! # The `bound` attribute @@ -15,6 +17,8 @@ converting it to either `norm apply` or `safe apply `. The classifica on the number and types of the lemma's hypotheses. -/ +public meta section + open Lean (MetaM) open Qq diff --git a/Mathlib/Tactic/Bound/Init.lean b/Mathlib/Tactic/Bound/Init.lean index 5ca4a86975928f..f1e01bd46e2329 100644 --- a/Mathlib/Tactic/Bound/Init.lean +++ b/Mathlib/Tactic/Bound/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Geoffrey Irving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving -/ +module -import Mathlib.Init -import Aesop.Frontend.Command +public meta import Mathlib.Init +public meta import Aesop.Frontend.Command /-! # Bound Rule Set @@ -15,4 +16,6 @@ This module defines the `Bound` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +public meta section + declare_aesop_rule_sets [Bound] diff --git a/Mathlib/Tactic/ByContra.lean b/Mathlib/Tactic/ByContra.lean index c04034caa40f4e..16f921a856a2a2 100644 --- a/Mathlib/Tactic/ByContra.lean +++ b/Mathlib/Tactic/ByContra.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard -/ -import Batteries.Tactic.Init -import Mathlib.Tactic.Push +module + +public meta import Batteries.Tactic.Init +public meta import Mathlib.Tactic.Push /-! # The `by_contra` tactic @@ -12,6 +14,8 @@ import Mathlib.Tactic.Push The `by_contra!` tactic is a variant of the `by_contra` tactic, for proofs of contradiction. -/ +public meta section + open Lean Lean.Parser Parser.Tactic Elab Command Elab.Tactic Meta /-- diff --git a/Mathlib/Tactic/CC.lean b/Mathlib/Tactic/CC.lean index 4183ce0d9dda7a..ad9956ea3afbd5 100644 --- a/Mathlib/Tactic/CC.lean +++ b/Mathlib/Tactic/CC.lean @@ -3,7 +3,9 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Miyahara Kō -/ -import Mathlib.Tactic.CC.Addition +module + +public meta import Mathlib.Tactic.CC.Addition /-! # Congruence closure @@ -49,6 +51,8 @@ derives `a = b` from `Nat.succ a = Nat.succ b`, and `Nat.succ a != Nat.zero` for (de Moura, Selsam IJCAR 2016). -/ +public meta section + universe u open Lean Meta Elab Tactic Std diff --git a/Mathlib/Tactic/CC/Addition.lean b/Mathlib/Tactic/CC/Addition.lean index 0d9b38f8d28448..e05900c15cc066 100644 --- a/Mathlib/Tactic/CC/Addition.lean +++ b/Mathlib/Tactic/CC/Addition.lean @@ -3,13 +3,17 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Miyahara Kō -/ -import Mathlib.Data.Option.Defs -import Mathlib.Tactic.CC.MkProof +module + +public meta import Mathlib.Data.Option.Defs +public meta import Mathlib.Tactic.CC.MkProof /-! # Process when an new equation is added to a congruence closure -/ +public meta section + universe u open Lean Meta Elab Tactic Std MessageData diff --git a/Mathlib/Tactic/CC/Datatypes.lean b/Mathlib/Tactic/CC/Datatypes.lean index 1495978c61d66d..a292a88cda35f5 100644 --- a/Mathlib/Tactic/CC/Datatypes.lean +++ b/Mathlib/Tactic/CC/Datatypes.lean @@ -3,10 +3,12 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Miyahara Kō -/ -import Batteries.Classes.Order -import Mathlib.Lean.Meta.Basic -import Mathlib.Lean.Meta.CongrTheorems -import Mathlib.Data.Ordering.Basic +module + +public meta import Batteries.Classes.Order +public meta import Mathlib.Lean.Meta.Basic +public meta import Mathlib.Lean.Meta.CongrTheorems +public meta import Mathlib.Data.Ordering.Basic /-! # Datatypes for `cc` @@ -19,6 +21,8 @@ We split them into their own file. This file is ported from C++ code, so many declarations lack documents. -/ +public meta section + universe u open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/CC/Lemmas.lean b/Mathlib/Tactic/CC/Lemmas.lean index a40559b28441f8..9f4e85ff97465f 100644 --- a/Mathlib/Tactic/CC/Lemmas.lean +++ b/Mathlib/Tactic/CC/Lemmas.lean @@ -3,11 +3,14 @@ Copyright (c) 2017 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! Lemmas use by the congruence closure module -/ +public meta section + namespace Mathlib.Tactic.CC theorem iff_eq_of_eq_true_left {a b : Prop} (h : a = True) : (a ↔ b) = b := diff --git a/Mathlib/Tactic/CC/MkProof.lean b/Mathlib/Tactic/CC/MkProof.lean index 70d8c8881bf43d..8442a512a5e746 100644 --- a/Mathlib/Tactic/CC/MkProof.lean +++ b/Mathlib/Tactic/CC/MkProof.lean @@ -3,15 +3,19 @@ Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Miyahara Kō -/ -import Mathlib.Tactic.CC.Datatypes -import Mathlib.Tactic.CC.Lemmas -import Mathlib.Tactic.Relation.Rfl -import Mathlib.Tactic.Relation.Symm +module + +public meta import Mathlib.Tactic.CC.Datatypes +public meta import Mathlib.Tactic.CC.Lemmas +public meta import Mathlib.Tactic.Relation.Rfl +public meta import Mathlib.Tactic.Relation.Symm /-! # Make proofs from a congruence closure -/ +public meta section + open Lean Meta Elab Tactic Std namespace Mathlib.Tactic.CC diff --git a/Mathlib/Tactic/CancelDenoms.lean b/Mathlib/Tactic/CancelDenoms.lean index a6da4ed45a5587..31a8a82de48b87 100644 --- a/Mathlib/Tactic/CancelDenoms.lean +++ b/Mathlib/Tactic/CancelDenoms.lean @@ -1,2 +1,4 @@ -import Mathlib.Tactic.CancelDenoms.Core -import Mathlib.Tactic.NormNum.Ineq +module + +public meta import Mathlib.Tactic.CancelDenoms.Core +public meta import Mathlib.Tactic.NormNum.Ineq diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index 8d103d557f6949..6b3db15aa2aeca 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Algebra.Field.Basic -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Data.Tree.Basic -import Mathlib.Logic.Basic -import Mathlib.Tactic.NormNum.Core -import Mathlib.Util.SynthesizeUsing -import Mathlib.Util.Qq +module + +public meta import Mathlib.Algebra.Field.Basic +public meta import Mathlib.Algebra.Order.Ring.Defs +public meta import Mathlib.Data.Tree.Basic +public meta import Mathlib.Logic.Basic +public meta import Mathlib.Tactic.NormNum.Core +public meta import Mathlib.Util.SynthesizeUsing +public meta import Mathlib.Util.Qq /-! # A tactic for canceling numeric denominators @@ -28,6 +30,8 @@ There are likely some rough edges to it. Improving this tactic would be a good project for someone interested in learning tactic programming. -/ +public meta section + open Lean Parser Tactic Mathlib Meta NormNum Qq initialize registerTraceClass `CancelDenoms diff --git a/Mathlib/Tactic/Cases.lean b/Mathlib/Tactic/Cases.lean index 4a60db6c5512b1..f619269549c204 100644 --- a/Mathlib/Tactic/Cases.lean +++ b/Mathlib/Tactic/Cases.lean @@ -3,10 +3,13 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Lean.Elab.Tactic.Induction -import Batteries.Tactic.OpenPrivate -import Mathlib.Lean.Expr.Basic -import Batteries.Data.List.Basic +module + +public meta import Lean.Elab.Tactic.Induction +public meta import Batteries.Tactic.OpenPrivate +public meta import Mathlib.Lean.Expr.Basic +public meta import Batteries.Data.List.Basic +import all Lean.Elab.Tactic.Induction /-! # Backward compatible implementation of lean 3 `cases` tactic @@ -34,6 +37,8 @@ example (h : p ∨ q) : q ∨ p := by Prefer `cases` or `rcases` when possible, because these tactics promote structured proofs. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Elab.Tactic @@ -67,7 +72,6 @@ def ElimApp.evalNames (elimInfo : ElimInfo) (alts : Array ElimApp.Alt) (withArg subgoals := subgoals.push g pure subgoals -open private getElimNameInfo generalizeTargets generalizeVars from Lean.Elab.Tactic.Induction /-- The `induction'` tactic is similar to the `induction` tactic in Lean 4 core, but with slightly different syntax (such as, no requirement to name the constructors). diff --git a/Mathlib/Tactic/CasesM.lean b/Mathlib/Tactic/CasesM.lean index cbd7fc43fd2e4f..e2377efa105b2f 100644 --- a/Mathlib/Tactic/CasesM.lean +++ b/Mathlib/Tactic/CasesM.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Tactic.Conv.Pattern +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Conv.Pattern /-! # `casesm`, `cases_type`, `constructorm` tactics @@ -12,6 +14,8 @@ import Lean.Elab.Tactic.Conv.Pattern These tactics implement repeated `cases` / `constructor` on anything satisfying a predicate. -/ +public meta section + namespace Lean.MVarId /-- diff --git a/Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean b/Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean index a43d5c5ea901b9..63fafcc81bbb49 100644 --- a/Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean +++ b/Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Basic +module + +public import Mathlib.CategoryTheory.Bicategory.Basic /-! # Bicategorical composition `⊗≫` (composition up to associators) @@ -13,6 +15,8 @@ which automatically inserts associators and unitors as needed to make the target of `f` match the source of `g`. -/ +@[expose] public section + universe w v u open CategoryTheory Bicategory diff --git a/Mathlib/Tactic/CategoryTheory/Bicategory/Basic.lean b/Mathlib/Tactic/CategoryTheory/Bicategory/Basic.lean index c5c2b1211b67f9..16721dca792912 100644 --- a/Mathlib/Tactic/CategoryTheory/Bicategory/Basic.lean +++ b/Mathlib/Tactic/CategoryTheory/Bicategory/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Basic -import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize -import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Basic +public meta import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Bicategory.PureCoherence /-! # `bicategory` tactic @@ -22,6 +24,8 @@ implementation. -/ +public meta section + open Lean Meta Elab Tactic open CategoryTheory Mathlib.Tactic.BicategoryLike diff --git a/Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean b/Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean index 612f243911df1b..ba2969d571dfbd 100644 --- a/Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean +++ b/Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes -import Mathlib.Tactic.CategoryTheory.BicategoricalComp +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +public meta import Mathlib.Tactic.CategoryTheory.BicategoricalComp /-! # Expressions for bicategories @@ -15,6 +17,8 @@ widgets. -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike Bicategory diff --git a/Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean b/Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean index 3e5b649bce64a3..ddaaa93a025bf6 100644 --- a/Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean +++ b/Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Normalize -import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes /-! # Normalization of 2-morphisms in bicategories @@ -14,6 +16,8 @@ This file provides the implementation of the normalization given in -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike Bicategory diff --git a/Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean b/Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean index b7d5b211a04788..5e79c4b2a8e803 100644 --- a/Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean +++ b/Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence -import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence +public meta import Mathlib.Tactic.CategoryTheory.Bicategory.Datatypes /-! # Coherence tactic for bicategories @@ -16,6 +18,8 @@ are equal. -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike Bicategory diff --git a/Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean b/Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean index a19b539a551fb4..bbba77a8a17f39 100644 --- a/Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean +++ b/Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.CategoryTheory.Bicategory.Coherence -import Mathlib.Tactic.CategoryTheory.BicategoricalComp +module + +public meta import Mathlib.CategoryTheory.Bicategory.Coherence +public meta import Mathlib.Tactic.CategoryTheory.BicategoricalComp /-! # A `coherence` tactic for bicategories @@ -19,6 +21,8 @@ tactic is given in `Mathlib/Tactic/CategoryTheory/Coherence.lean` at the same ti tactic for monoidal categories. -/ +public meta section + noncomputable section universe w v u diff --git a/Mathlib/Tactic/CategoryTheory/CheckCompositions.lean b/Mathlib/Tactic/CategoryTheory/CheckCompositions.lean index bbcd4cddd36002..511fc415d06a60 100644 --- a/Mathlib/Tactic/CategoryTheory/CheckCompositions.lean +++ b/Mathlib/Tactic/CategoryTheory/CheckCompositions.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Basic +module + +public meta import Mathlib.CategoryTheory.Category.Basic /-! The `check_compositions` tactic, @@ -16,6 +18,8 @@ although typically `simp` should reduce rather than increase the reported discre `check_compositions` may be useful in diagnosing uses of `erw` in the category theory library. -/ +public meta section + namespace Mathlib.Tactic.CheckCompositions open CategoryTheory diff --git a/Mathlib/Tactic/CategoryTheory/Coherence.lean b/Mathlib/Tactic/CategoryTheory/Coherence.lean index 6f14e14b905be5..c3bd42640cb080 100644 --- a/Mathlib/Tactic/CategoryTheory/Coherence.lean +++ b/Mathlib/Tactic/CategoryTheory/Coherence.lean @@ -3,10 +3,12 @@ Copyright (c) 2022. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Yuma Mizuno, Oleksandr Manzyuk -/ -import Mathlib.CategoryTheory.Monoidal.Free.Coherence -import Mathlib.Lean.Meta -import Mathlib.Tactic.CategoryTheory.BicategoryCoherence -import Mathlib.Tactic.CategoryTheory.MonoidalComp +module + +public meta import Mathlib.CategoryTheory.Monoidal.Free.Coherence +public meta import Mathlib.Lean.Meta +public meta import Mathlib.Tactic.CategoryTheory.BicategoryCoherence +public meta import Mathlib.Tactic.CategoryTheory.MonoidalComp /-! # A `coherence` tactic for monoidal categories @@ -23,6 +25,8 @@ are equal. -/ +public meta section + universe v u open CategoryTheory FreeMonoidalCategory diff --git a/Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean b/Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean index d2fcba2a85939e..b6473663dd4cda 100644 --- a/Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean +++ b/Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Normalize -import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence -import Mathlib.CategoryTheory.Category.Basic +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence +public meta import Mathlib.CategoryTheory.Category.Basic /-! # The Core function for `monoidal` and `bicategory` tactics @@ -21,6 +23,8 @@ It closes the goal at non-structural parts with `rfl` and the goal at structural -/ +public meta section + open Lean Meta Elab open CategoryTheory Mathlib.Tactic.BicategoryLike diff --git a/Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean b/Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean index fd8ae0077f8915..dcfbc3ee4ab1a6 100644 --- a/Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean +++ b/Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Lean.Meta.Basic -import Mathlib.Init +module + +public meta import Lean.Meta.Basic +public meta import Mathlib.Init /-! # Datatypes for bicategory like structures @@ -34,6 +36,8 @@ composition `η ≫ θ` of 2-morphisms `η` and `θ` in the monad `m`. -/ +public meta section + open Lean Meta namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean b/Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean index e8cc1f74df951d..2e08f1b772e9bd 100644 --- a/Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean +++ b/Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Lean.Meta.AppBuilder -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +module + +public meta import Lean.Meta.AppBuilder +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes /-! # Normalization of 2-morphisms in bicategories @@ -58,6 +60,8 @@ and `pf` is a proof that `e = e'`. -/ +public meta section + open Lean Meta namespace Mathlib.Tactic.BicategoryLike diff --git a/Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean b/Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean index b5894a43e0fb26..f5cc3791f24ea0 100644 --- a/Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean +++ b/Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Lean.Meta.Tactic.Apply -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +module + +public meta import Lean.Meta.Tactic.Apply +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes /-! # Coherence tactic @@ -25,6 +27,8 @@ The actual tactics that users will use are given in -/ +public meta section + open Lean Meta namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/CategoryTheory/Elementwise.lean b/Mathlib/Tactic/CategoryTheory/Elementwise.lean index 15b0d5b0563b95..e09e3a415ed1be 100644 --- a/Mathlib/Tactic/CategoryTheory/Elementwise.lean +++ b/Mathlib/Tactic/CategoryTheory/Elementwise.lean @@ -3,10 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Kyle Miller -/ +module -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.Util.AddRelatedDecl -import Batteries.Tactic.Lint +public meta import Mathlib.CategoryTheory.ConcreteCategory.Basic +public meta import Mathlib.Util.AddRelatedDecl +public meta import Batteries.Tactic.Lint /-! # Tools to reformulate category-theoretic lemmas in concrete categories @@ -32,6 +33,8 @@ This closely follows the implementation of the `@[reassoc]` attribute, due to Si reimplemented by Kim Morrison in Lean 4. -/ +public meta section + open Lean Meta Elab Tactic open Mathlib.Tactic diff --git a/Mathlib/Tactic/CategoryTheory/IsoReassoc.lean b/Mathlib/Tactic/CategoryTheory/IsoReassoc.lean index 20bd843efeba4f..23ffc92a0a8366 100644 --- a/Mathlib/Tactic/CategoryTheory/IsoReassoc.lean +++ b/Mathlib/Tactic/CategoryTheory/IsoReassoc.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Robin Carlier. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Carlier -/ -import Mathlib.CategoryTheory.Iso +module + +public meta import Mathlib.CategoryTheory.Iso /-! # Extension of `reassoc` to isomorphisms. @@ -20,6 +22,8 @@ This is useful for generating lemmas which the simplifier can use even on expres that are already right associated. -/ +public meta section + open Lean Meta Elab Tactic open Mathlib.Tactic diff --git a/Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean b/Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean index 15de5b9574ea68..e0015cc981f997 100644 --- a/Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean +++ b/Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Basic -import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize -import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Basic +public meta import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Monoidal.PureCoherence /-! # `monoidal` tactic @@ -22,6 +24,8 @@ implementation. -/ +public meta section + open Lean Meta Elab Tactic open CategoryTheory Mathlib.Tactic.BicategoryLike diff --git a/Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean b/Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean index b3639324ac9e24..31b7df8ef95268 100644 --- a/Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean +++ b/Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes -import Mathlib.Tactic.CategoryTheory.MonoidalComp +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Datatypes +public meta import Mathlib.Tactic.CategoryTheory.MonoidalComp /-! # Expressions for monoidal categories @@ -15,6 +17,8 @@ widgets. -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike MonoidalCategory diff --git a/Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean b/Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean index e99cdb8bb70b83..0b450ab1b714f7 100644 --- a/Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean +++ b/Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.Normalize -import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes /-! # Normalization of morphisms in monoidal categories @@ -14,6 +16,8 @@ This file provides the implementation of the normalization given in -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike MonoidalCategory diff --git a/Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean b/Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean index 0e07bf8959f440..7173ce461112bf 100644 --- a/Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean +++ b/Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence -import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes +module + +public meta import Mathlib.Tactic.CategoryTheory.Coherence.PureCoherence +public meta import Mathlib.Tactic.CategoryTheory.Monoidal.Datatypes /-! # Coherence tactic for monoidal categories @@ -16,6 +18,8 @@ are equal. -/ +public meta section + open Lean Meta Elab Qq open CategoryTheory Mathlib.Tactic.BicategoryLike MonoidalCategory diff --git a/Mathlib/Tactic/CategoryTheory/MonoidalComp.lean b/Mathlib/Tactic/CategoryTheory/MonoidalComp.lean index 22f55625c2e640..741201741acd38 100644 --- a/Mathlib/Tactic/CategoryTheory/MonoidalComp.lean +++ b/Mathlib/Tactic/CategoryTheory/MonoidalComp.lean @@ -3,7 +3,9 @@ Copyright (c) 2022. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Yuma Mizuno, Oleksandr Manzyuk -/ -import Mathlib.CategoryTheory.Monoidal.Category +module + +public import Mathlib.CategoryTheory.Monoidal.Category /-! # Monoidal composition `⊗≫` (composition up to associators) @@ -30,6 +32,8 @@ are completed as `𝟙 (V₁ ⊗ V₂ ⊗ V₃ ⊗ V₄ ⊗ V₅)` and `𝟙 (V -/ +@[expose] public section + universe v u open CategoryTheory MonoidalCategory diff --git a/Mathlib/Tactic/CategoryTheory/Reassoc.lean b/Mathlib/Tactic/CategoryTheory/Reassoc.lean index 785069a10e92d0..622b2c7cd39fca 100644 --- a/Mathlib/Tactic/CategoryTheory/Reassoc.lean +++ b/Mathlib/Tactic/CategoryTheory/Reassoc.lean @@ -3,10 +3,13 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Robin Carlier -/ -import Mathlib.CategoryTheory.Functor.Basic -import Mathlib.Lean.Meta.Simp -import Mathlib.Tactic.Simps.Basic -import Mathlib.Util.AddRelatedDecl +module + +public import Mathlib.CategoryTheory.Functor.Basic +public meta import Mathlib.CategoryTheory.Functor.Basic +public meta import Mathlib.Lean.Meta.Simp +public meta import Mathlib.Tactic.Simps.Basic +public meta import Mathlib.Util.AddRelatedDecl /-! # The `reassoc` attribute @@ -27,6 +30,8 @@ The `Mathlib.Tactic.CategoryTheory.IsoReassoc` extends `@[reassoc]` and `reassoc to support creating isomorphism reassociation lemmas. -/ +public meta section + open Lean Meta Elab Tactic open Mathlib.Tactic diff --git a/Mathlib/Tactic/CategoryTheory/Slice.lean b/Mathlib/Tactic/CategoryTheory/Slice.lean index 9049b9e98c8936..501089a3887937 100644 --- a/Mathlib/Tactic/CategoryTheory/Slice.lean +++ b/Mathlib/Tactic/CategoryTheory/Slice.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Basic -import Mathlib.Tactic.Conv +module + +public meta import Mathlib.CategoryTheory.Category.Basic +public meta import Mathlib.Tactic.Conv /-! # The `slice` tactic @@ -14,6 +16,8 @@ of `Category.comp`. -/ +public meta section + open CategoryTheory open Lean Parser.Tactic Elab Command Elab.Tactic Meta diff --git a/Mathlib/Tactic/CategoryTheory/ToApp.lean b/Mathlib/Tactic/CategoryTheory/ToApp.lean index 571d897a8b83f5..b73dc0e9f2dcb6 100644 --- a/Mathlib/Tactic/CategoryTheory/ToApp.lean +++ b/Mathlib/Tactic/CategoryTheory/ToApp.lean @@ -3,8 +3,11 @@ Copyright (c) 2024 Calle Sönne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne -/ -import Mathlib.CategoryTheory.Category.Cat -import Mathlib.Util.AddRelatedDecl +module + +public import Mathlib.CategoryTheory.Category.Cat +public meta import Mathlib.CategoryTheory.Category.Cat +public meta import Mathlib.Util.AddRelatedDecl /-! # The `to_app` attribute @@ -25,6 +28,8 @@ in `Cat` which contain components of 2-morphisms. There is also a term elaborator `to_app_of% t` for use within proofs. -/ +public meta section + open Lean Meta Elab Tactic open Mathlib.Tactic diff --git a/Mathlib/Tactic/Change.lean b/Mathlib/Tactic/Change.lean index 235826d756da20..49256740ecbae7 100644 --- a/Mathlib/Tactic/Change.lean +++ b/Mathlib/Tactic/Change.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Tactic.TryThis +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Tactic.TryThis /-! # Tactic `change? term` @@ -19,6 +20,8 @@ in the suggestion. This is helpful after tactics like `dsimp`, which can then be deleted. -/ +public meta section + /-- `change? term` unifies `term` with the current goal, then suggests explicit `change` syntax that uses the resulting unified term. diff --git a/Mathlib/Tactic/Check.lean b/Mathlib/Tactic/Check.lean index f2014e89708619..1179311abb5502 100644 --- a/Mathlib/Tactic/Check.lean +++ b/Mathlib/Tactic/Check.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Lean.PrettyPrinter -import Lean.Elab.SyntheticMVars +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Lean.PrettyPrinter +public meta import Lean.Elab.SyntheticMVars /-! # `#check` tactic @@ -17,6 +19,8 @@ since it elaborates `t` in a more tolerant way and so it can be possible to get For example, `#check` allows metavariables. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/Choose.lean b/Mathlib/Tactic/Choose.lean index 65541c3783eec1..07c678043c72bb 100644 --- a/Mathlib/Tactic/Choose.lean +++ b/Mathlib/Tactic/Choose.lean @@ -3,9 +3,10 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Floris van Doorn, Mario Carneiro, Reid Barton, Johan Commelin -/ +module -import Mathlib.Util.Tactic -import Mathlib.Logic.Function.Basic +public meta import Mathlib.Util.Tactic +public meta import Mathlib.Logic.Function.Basic /-! # `choose` tactic @@ -15,6 +16,8 @@ Performs Skolemization, that is, given `h : ∀ a:α, ∃ b:β, p a b |- G` prod TODO: switch to `rcases` syntax: `choose ⟨i, j, h₁ -⟩ := expr`. -/ +public meta section + open Lean Meta Elab Tactic namespace Mathlib.Tactic.Choose diff --git a/Mathlib/Tactic/Clean.lean b/Mathlib/Tactic/Clean.lean index 3e7eb9d2684ad3..b5598221dd341a 100644 --- a/Mathlib/Tactic/Clean.lean +++ b/Mathlib/Tactic/Clean.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Michail Karatarakis, Kyle Miller -/ -import Mathlib.Init -import Lean.Elab.SyntheticMVars +module + +public meta import Mathlib.Init +public meta import Lean.Elab.SyntheticMVars /-! # `clean%` term elaborator @@ -12,6 +14,8 @@ import Lean.Elab.SyntheticMVars Remove identity functions from a term. -/ +public meta section + open Lean Meta Elab namespace Lean.Expr diff --git a/Mathlib/Tactic/ClearExcept.lean b/Mathlib/Tactic/ClearExcept.lean index 47a882d444c05e..9498f1ba635893 100644 --- a/Mathlib/Tactic/ClearExcept.lean +++ b/Mathlib/Tactic/ClearExcept.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joshua Clune. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joshua Clune -/ -import Mathlib.Init -import Lean.Elab.Tactic.ElabTerm +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.ElabTerm /-! # The `clear*` tactic @@ -13,6 +15,8 @@ This file provides a variant of the `clear` tactic, which clears all hypotheses besides a provided list. -/ +public meta section + open Lean.Meta namespace Lean.Elab.Tactic diff --git a/Mathlib/Tactic/ClearExclamation.lean b/Mathlib/Tactic/ClearExclamation.lean index 5935d32048c321..4f46af51ebe9be 100644 --- a/Mathlib/Tactic/ClearExclamation.lean +++ b/Mathlib/Tactic/ClearExclamation.lean @@ -3,11 +3,15 @@ Copyright (c) 2022 Joshua Clune. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joshua Clune -/ -import Mathlib.Init -import Lean.Elab.Tactic.ElabTerm +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.ElabTerm /-! # `clear!` tactic -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab.Tactic diff --git a/Mathlib/Tactic/Clear_.lean b/Mathlib/Tactic/Clear_.lean index 0e2d325b31be1a..958a26a8a01076 100644 --- a/Mathlib/Tactic/Clear_.lean +++ b/Mathlib/Tactic/Clear_.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Joshua Clune. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joshua Clune -/ -import Mathlib.Init -import Lean.Meta.Tactic.Clear -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Clear +public meta import Lean.Elab.Tactic.Basic /-! # `clear_` tactic -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab.Tactic diff --git a/Mathlib/Tactic/Coe.lean b/Mathlib/Tactic/Coe.lean index ce4de64cb81eba..22638687b6a944 100644 --- a/Mathlib/Tactic/Coe.lean +++ b/Mathlib/Tactic/Coe.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init -import Lean.Elab.ElabRules +module + +public meta import Mathlib.Init +public meta import Lean.Elab.ElabRules /-! # Additional coercion notation @@ -18,6 +20,8 @@ Defines notation for coercions. 6. `(↥)` is equivalent to the eta-reduction of `(↥ ·)` -/ +public meta section + open Lean Meta namespace Lean.Elab.Term.CoeImpl diff --git a/Mathlib/Tactic/Common.lean b/Mathlib/Tactic/Common.lean index 20857243cc814b..42e3ee84409761 100644 --- a/Mathlib/Tactic/Common.lean +++ b/Mathlib/Tactic/Common.lean @@ -5,116 +5,118 @@ Authors: Kim Morrison -/ -- First import Aesop, Qq, and Plausible -import Aesop -import Qq -import Plausible +module + +public meta import Aesop +public meta import Qq +public meta import Plausible -- Tools for analysing imports, like `#find_home`, `#minimize_imports`, ... -import ImportGraph.Imports +public meta import ImportGraph.Imports -- Import common Batteries tactics and commands -import Batteries.Tactic.Basic -import Batteries.Tactic.Case -import Batteries.Tactic.HelpCmd -import Batteries.Tactic.Alias +public meta import Batteries.Tactic.Basic +public meta import Batteries.Tactic.Case +public meta import Batteries.Tactic.HelpCmd +public meta import Batteries.Tactic.Alias -- Import syntax for leansearch -import LeanSearchClient +public meta import LeanSearchClient -- Import Mathlib-specific linters. -import Mathlib.Tactic.Linter.Lint +public meta import Mathlib.Tactic.Linter.Lint -- Now import all tactics defined in Mathlib that do not require theory files. -import Mathlib.Tactic.ApplyCongr +public meta import Mathlib.Tactic.ApplyCongr -- ApplyFun imports `Mathlib/Order/Monotone/Basic.lean` -- import Mathlib.Tactic.ApplyFun -import Mathlib.Tactic.ApplyAt -import Mathlib.Tactic.ApplyWith -import Mathlib.Tactic.Basic -import Mathlib.Tactic.ByContra -import Mathlib.Tactic.CasesM -import Mathlib.Tactic.Check -import Mathlib.Tactic.Choose -import Mathlib.Tactic.ClearExclamation -import Mathlib.Tactic.ClearExcept -import Mathlib.Tactic.Clear_ -import Mathlib.Tactic.Coe -import Mathlib.Tactic.CongrExclamation -import Mathlib.Tactic.CongrM -import Mathlib.Tactic.Constructor -import Mathlib.Tactic.Contrapose -import Mathlib.Tactic.Conv -import Mathlib.Tactic.Convert -import Mathlib.Tactic.DefEqTransformations -import Mathlib.Tactic.DeprecateTo -import Mathlib.Tactic.ErwQuestion -import Mathlib.Tactic.Eqns -import Mathlib.Tactic.ExistsI -import Mathlib.Tactic.ExtractGoal -import Mathlib.Tactic.FailIfNoProgress -import Mathlib.Tactic.Find -import Mathlib.Tactic.FunProp -import Mathlib.Tactic.GCongr -import Mathlib.Tactic.GRewrite -import Mathlib.Tactic.GeneralizeProofs -import Mathlib.Tactic.GuardGoalNums -import Mathlib.Tactic.GuardHypNums -import Mathlib.Tactic.HigherOrder -import Mathlib.Tactic.Hint -import Mathlib.Tactic.InferParam -import Mathlib.Tactic.Inhabit -import Mathlib.Tactic.IrreducibleDef -import Mathlib.Tactic.Lift -import Mathlib.Tactic.Linter -import Mathlib.Tactic.MkIffOfInductiveProp +public meta import Mathlib.Tactic.ApplyAt +public meta import Mathlib.Tactic.ApplyWith +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Tactic.ByContra +public meta import Mathlib.Tactic.CasesM +public meta import Mathlib.Tactic.Check +public meta import Mathlib.Tactic.Choose +public meta import Mathlib.Tactic.ClearExclamation +public meta import Mathlib.Tactic.ClearExcept +public meta import Mathlib.Tactic.Clear_ +public meta import Mathlib.Tactic.Coe +public meta import Mathlib.Tactic.CongrExclamation +public meta import Mathlib.Tactic.CongrM +public meta import Mathlib.Tactic.Constructor +public meta import Mathlib.Tactic.Contrapose +public meta import Mathlib.Tactic.Conv +public meta import Mathlib.Tactic.Convert +public meta import Mathlib.Tactic.DefEqTransformations +public meta import Mathlib.Tactic.DeprecateTo +public meta import Mathlib.Tactic.ErwQuestion +public meta import Mathlib.Tactic.Eqns +public meta import Mathlib.Tactic.ExistsI +public meta import Mathlib.Tactic.ExtractGoal +public meta import Mathlib.Tactic.FailIfNoProgress +public meta import Mathlib.Tactic.Find +public meta import Mathlib.Tactic.FunProp +public meta import Mathlib.Tactic.GCongr +public meta import Mathlib.Tactic.GRewrite +public meta import Mathlib.Tactic.GeneralizeProofs +public meta import Mathlib.Tactic.GuardGoalNums +public meta import Mathlib.Tactic.GuardHypNums +public meta import Mathlib.Tactic.HigherOrder +public meta import Mathlib.Tactic.Hint +public meta import Mathlib.Tactic.InferParam +public meta import Mathlib.Tactic.Inhabit +public meta import Mathlib.Tactic.IrreducibleDef +public meta import Mathlib.Tactic.Lift +public meta import Mathlib.Tactic.Linter +public meta import Mathlib.Tactic.MkIffOfInductiveProp -- NormNum imports `Algebra.Order.Invertible`, `Data.Int.Basic`, `Data.Nat.Cast.Commute` -- import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.NthRewrite -import Mathlib.Tactic.Observe -import Mathlib.Tactic.OfNat +public meta import Mathlib.Tactic.NthRewrite +public meta import Mathlib.Tactic.Observe +public meta import Mathlib.Tactic.OfNat -- `positivity` imports `Data.Nat.Factorial.Basic`, but hopefully this can be rearranged. -- import Mathlib.Tactic.Positivity -import Mathlib.Tactic.Propose -import Mathlib.Tactic.Push -import Mathlib.Tactic.RSuffices -import Mathlib.Tactic.Recover -import Mathlib.Tactic.Relation.Rfl -import Mathlib.Tactic.Rename -import Mathlib.Tactic.RenameBVar -import Mathlib.Tactic.Says -import Mathlib.Tactic.ScopedNS -import Mathlib.Tactic.Set -import Mathlib.Tactic.SimpIntro -import Mathlib.Tactic.SimpRw -import Mathlib.Tactic.Simps.Basic -import Mathlib.Tactic.SplitIfs -import Mathlib.Tactic.Spread -import Mathlib.Tactic.Subsingleton -import Mathlib.Tactic.Substs -import Mathlib.Tactic.SuccessIfFailWithMsg -import Mathlib.Tactic.SudoSetOption -import Mathlib.Tactic.SwapVar -import Mathlib.Tactic.Tauto -import Mathlib.Tactic.TermCongr +public meta import Mathlib.Tactic.Propose +public meta import Mathlib.Tactic.Push +public meta import Mathlib.Tactic.RSuffices +public meta import Mathlib.Tactic.Recover +public meta import Mathlib.Tactic.Relation.Rfl +public meta import Mathlib.Tactic.Rename +public meta import Mathlib.Tactic.RenameBVar +public meta import Mathlib.Tactic.Says +public meta import Mathlib.Tactic.ScopedNS +public meta import Mathlib.Tactic.Set +public meta import Mathlib.Tactic.SimpIntro +public meta import Mathlib.Tactic.SimpRw +public meta import Mathlib.Tactic.Simps.Basic +public meta import Mathlib.Tactic.SplitIfs +public meta import Mathlib.Tactic.Spread +public meta import Mathlib.Tactic.Subsingleton +public meta import Mathlib.Tactic.Substs +public meta import Mathlib.Tactic.SuccessIfFailWithMsg +public meta import Mathlib.Tactic.SudoSetOption +public meta import Mathlib.Tactic.SwapVar +public meta import Mathlib.Tactic.Tauto +public meta import Mathlib.Tactic.TermCongr -- TFAE imports `Mathlib/Data/List/TFAE.lean` and thence `Mathlib/Data/List/Basic.lean`. -- import Mathlib.Tactic.TFAE -import Mathlib.Tactic.ToExpr -import Mathlib.Tactic.ToLevel -import Mathlib.Tactic.Trace -import Mathlib.Tactic.TypeCheck -import Mathlib.Tactic.UnsetOption -import Mathlib.Tactic.Use -import Mathlib.Tactic.Variable -import Mathlib.Tactic.Widget.Calc -import Mathlib.Tactic.Widget.CongrM -import Mathlib.Tactic.Widget.Conv -import Mathlib.Tactic.Widget.LibraryRewrite -import Mathlib.Tactic.WLOG -import Mathlib.Util.AssertExists -import Mathlib.Util.CountHeartbeats -import Mathlib.Util.PrintSorries -import Mathlib.Util.TransImports -import Mathlib.Util.WhatsNew +public meta import Mathlib.Tactic.ToExpr +public meta import Mathlib.Tactic.ToLevel +public meta import Mathlib.Tactic.Trace +public meta import Mathlib.Tactic.TypeCheck +public meta import Mathlib.Tactic.UnsetOption +public meta import Mathlib.Tactic.Use +public meta import Mathlib.Tactic.Variable +public meta import Mathlib.Tactic.Widget.Calc +public meta import Mathlib.Tactic.Widget.CongrM +public meta import Mathlib.Tactic.Widget.Conv +public meta import Mathlib.Tactic.Widget.LibraryRewrite +public meta import Mathlib.Tactic.WLOG +public meta import Mathlib.Util.AssertExists +public meta import Mathlib.Util.CountHeartbeats +public meta import Mathlib.Util.PrintSorries +public meta import Mathlib.Util.TransImports +public meta import Mathlib.Util.WhatsNew /-! This file imports all tactics which do not have significant theory imports, @@ -128,6 +130,8 @@ We also import theory-free linters, commands, and utilities which are useful to import hierarchy. -/ +public meta section + /-! # Register tactics with `hint`. Tactics with larger priority run first. -/ diff --git a/Mathlib/Tactic/ComputeDegree.lean b/Mathlib/Tactic/ComputeDegree.lean index d36a955b44322e..110d07d6f62aeb 100644 --- a/Mathlib/Tactic/ComputeDegree.lean +++ b/Mathlib/Tactic/ComputeDegree.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Algebra.Polynomial.Degree.Lemmas +public meta import Mathlib.Algebra.Polynomial.Degree.Lemmas /-! @@ -78,6 +79,8 @@ The leaves of the process are * `fvar`s `f`, to which we tautologically assign degree `natDegree f`. -/ +public meta section + open Polynomial namespace Mathlib.Tactic.ComputeDegree diff --git a/Mathlib/Tactic/CongrExclamation.lean b/Mathlib/Tactic/CongrExclamation.lean index 33edb85735a037..23f37d3ac542e5 100644 --- a/Mathlib/Tactic/CongrExclamation.lean +++ b/Mathlib/Tactic/CongrExclamation.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Lean.Elab.Tactic.Config -import Lean.Elab.Tactic.RCases -import Lean.Meta.Tactic.Assumption -import Lean.Meta.Tactic.Rfl -import Mathlib.Lean.Meta.CongrTheorems -import Mathlib.Logic.Basic +module + +public meta import Lean.Elab.Tactic.Config +public meta import Lean.Elab.Tactic.RCases +public meta import Lean.Meta.Tactic.Assumption +public meta import Lean.Meta.Tactic.Rfl +public meta import Mathlib.Lean.Meta.CongrTheorems +public meta import Mathlib.Logic.Basic /-! # The `congr!` tactic @@ -21,6 +23,8 @@ The `congr!` tactic is used by the `convert` and `convert_to` tactics. See the syntax docstring for more details. -/ +public meta section + universe u v open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/CongrM.lean b/Mathlib/Tactic/CongrM.lean index d64439d8edf9bf..ba33057ff3445e 100644 --- a/Mathlib/Tactic/CongrM.lean +++ b/Mathlib/Tactic/CongrM.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Moritz Doll, Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Gabriel Ebner, Damiano Testa, Kyle Miller -/ -import Mathlib.Tactic.TermCongr -import Mathlib.Tactic.WithoutCDot +module + +public meta import Mathlib.Tactic.TermCongr +public meta import Mathlib.Tactic.WithoutCDot /-! # The `congrm` tactic @@ -15,6 +17,8 @@ Roughly, `congrm e` is `refine congr(e')`, where `e'` is `e` with every `?m` pla replaced by `$(?m)`. -/ +public meta section + namespace Mathlib.Tactic open Lean Parser Elab Tactic Meta diff --git a/Mathlib/Tactic/Constructor.lean b/Mathlib/Tactic/Constructor.lean index 64adccae545b70..0a514f97900398 100644 --- a/Mathlib/Tactic/Constructor.lean +++ b/Mathlib/Tactic/Constructor.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Newell Jensen -/ -import Mathlib.Init -import Lean.Elab.SyntheticMVars -import Lean.Meta.Tactic.Constructor +module + +public meta import Mathlib.Init +public meta import Lean.Elab.SyntheticMVars +public meta import Lean.Meta.Tactic.Constructor /-! # The `fconstructor` and `econstructor` tactics @@ -16,6 +18,8 @@ except that - `econstructor` adds only non-dependent premises as new goals. -/ +public meta section + open Lean Elab Tactic /-- diff --git a/Mathlib/Tactic/Continuity.lean b/Mathlib/Tactic/Continuity.lean index e09088eb4ab362..40bd5ea1158f68 100644 --- a/Mathlib/Tactic/Continuity.lean +++ b/Mathlib/Tactic/Continuity.lean @@ -3,14 +3,17 @@ Copyright (c) 2023 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ +module -import Mathlib.Tactic.Continuity.Init +public meta import Mathlib.Tactic.Continuity.Init /-! # Continuity We define the `continuity` tactic using `aesop`. -/ +public meta section + attribute [aesop (rule_sets := [Continuous]) unfold norm] Function.comp /-- diff --git a/Mathlib/Tactic/Continuity/Init.lean b/Mathlib/Tactic/Continuity/Init.lean index e8ff04a4ed8524..8f8ed51c94c98e 100644 --- a/Mathlib/Tactic/Continuity/Init.lean +++ b/Mathlib/Tactic/Continuity/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jannis Limperg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jannis Limperg -/ +module -import Mathlib.Init -import Aesop +public meta import Mathlib.Init +public meta import Aesop /-! # Continuity Rule Set @@ -15,4 +16,6 @@ This module defines the `Continuous` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +public meta section + declare_aesop_rule_sets [Continuous] diff --git a/Mathlib/Tactic/ContinuousFunctionalCalculus.lean b/Mathlib/Tactic/ContinuousFunctionalCalculus.lean index 9eca49727383cf..94bfc9c23f2728 100644 --- a/Mathlib/Tactic/ContinuousFunctionalCalculus.lean +++ b/Mathlib/Tactic/ContinuousFunctionalCalculus.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Tactic.Core -import Mathlib.Tactic.FunProp -import Aesop +public meta import Mathlib.Tactic.Core +public meta import Mathlib.Tactic.FunProp +public meta import Aesop /-! @@ -15,6 +16,8 @@ import Aesop At the moment, these tactics are just wrappers, but potentially they could be more sophisticated. -/ +public meta section + declare_aesop_rule_sets [CStarAlgebra] /-- A tactic used to automatically discharge goals relating to the continuous functional calculus, diff --git a/Mathlib/Tactic/Contrapose.lean b/Mathlib/Tactic/Contrapose.lean index e52a9915dfc1a7..30f0f8705f3a14 100644 --- a/Mathlib/Tactic/Contrapose.lean +++ b/Mathlib/Tactic/Contrapose.lean @@ -3,8 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Tactic.Push +public meta import Mathlib.Tactic.Push /-! # Contrapose @@ -19,6 +20,8 @@ implication. * `contrapose h with new_h` uses the name `new_h` for the introduced hypothesis -/ + +public meta section namespace Mathlib.Tactic.Contrapose lemma mtr {p q : Prop} : (¬ q → ¬ p) → (p → q) := fun h hp ↦ by_contra (fun h' ↦ h h' hp) diff --git a/Mathlib/Tactic/Conv.lean b/Mathlib/Tactic/Conv.lean index c3936735e30323..696e4eb7c67db6 100644 --- a/Mathlib/Tactic/Conv.lean +++ b/Mathlib/Tactic/Conv.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init -import Lean.Elab.Tactic.Conv.Basic -import Lean.Elab.Command +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Conv.Basic +public meta import Lean.Elab.Command /-! Additional `conv` tactics. -/ +public meta section + namespace Mathlib.Tactic.Conv open Lean Parser.Tactic Parser.Tactic.Conv Elab.Tactic Meta diff --git a/Mathlib/Tactic/Convert.lean b/Mathlib/Tactic/Convert.lean index 17baa946a72000..670e2c07b002eb 100644 --- a/Mathlib/Tactic/Convert.lean +++ b/Mathlib/Tactic/Convert.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Kyle Miller -/ -import Mathlib.Tactic.CongrExclamation +module + +public meta import Mathlib.Tactic.CongrExclamation /-! # The `convert` tactic. -/ +public meta section + open Lean Meta Elab Tactic /-- diff --git a/Mathlib/Tactic/Core.lean b/Mathlib/Tactic/Core.lean index 74bd1872c66f7a..dd3ebdb99e5293 100644 --- a/Mathlib/Tactic/Core.lean +++ b/Mathlib/Tactic/Core.lean @@ -3,17 +3,21 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Aurélien Saue, Mario Carneiro -/ -import Lean.Elab.PreDefinition.Basic -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Tactic.Intro -import Mathlib.Lean.Expr.Basic -import Batteries.Tactic.OpenPrivate +module + +public meta import Lean.Elab.PreDefinition.Basic +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Tactic.Intro +public meta import Mathlib.Lean.Expr.Basic +public meta import Batteries.Tactic.OpenPrivate /-! # Generally useful tactics. -/ +public meta section + open Lean.Elab.Tactic namespace Lean diff --git a/Mathlib/Tactic/DeclarationNames.lean b/Mathlib/Tactic/DeclarationNames.lean index 1a966d8c3b88e1..c56a717c73ecd5 100644 --- a/Mathlib/Tactic/DeclarationNames.lean +++ b/Mathlib/Tactic/DeclarationNames.lean @@ -3,17 +3,20 @@ Copyright (c) 2024 Moritz Firsching. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Moritz Firsching -/ +module -import Lean.DeclarationRange -import Lean.ResolveName +public meta import Lean.DeclarationRange +public meta import Lean.ResolveName -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! This file contains functions that are used by multiple linters. -/ +public meta section + open Lean Parser Elab Command Meta namespace Mathlib.Linter diff --git a/Mathlib/Tactic/DefEqTransformations.lean b/Mathlib/Tactic/DefEqTransformations.lean index 2732a0805089b1..dae80be2891e60 100644 --- a/Mathlib/Tactic/DefEqTransformations.lean +++ b/Mathlib/Tactic/DefEqTransformations.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Tactic.Basic +module + +public meta import Mathlib.Tactic.Basic /-! # Tactics that transform types into definitionally equal types @@ -13,6 +15,8 @@ change hypotheses and the goal to things that are definitionally equal. It then provides a number of tactics that transform local hypotheses and/or the target. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Elab.Tactic diff --git a/Mathlib/Tactic/DepRewrite.lean b/Mathlib/Tactic/DepRewrite.lean index 6750b10877319b..62dc0510be7f39 100644 --- a/Mathlib/Tactic/DepRewrite.lean +++ b/Mathlib/Tactic/DepRewrite.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Aaron Liu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Aaron Liu, Wojciech Nawrocki -/ -import Lean.Elab.Tactic.Simp -import Lean.Elab.Tactic.Conv.Basic -import Lean.Elab.Tactic.Rewrite -import Mathlib.Init +module + +public meta import Lean.Elab.Tactic.Simp +public meta import Lean.Elab.Tactic.Conv.Basic +public meta import Lean.Elab.Tactic.Rewrite +public meta import Mathlib.Init /-! ## Dependent rewrite tactic -/ +public meta section + namespace Mathlib.Tactic.DepRewrite open Lean Meta diff --git a/Mathlib/Tactic/DeprecateTo.lean b/Mathlib/Tactic/DeprecateTo.lean index 7a60feef860665..e3911d1e8d33bc 100644 --- a/Mathlib/Tactic/DeprecateTo.lean +++ b/Mathlib/Tactic/DeprecateTo.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Batteries.Tactic.Alias -import Lean.Meta.Tactic.TryThis -import Mathlib.Lean.Expr.Basic -import Mathlib.Tactic.Lemma -import Std.Time.Format +module + +public meta import Batteries.Tactic.Alias +public meta import Lean.Meta.Tactic.TryThis +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Tactic.Lemma +public meta import Std.Time.Format /-! # `deprecate to` -- a deprecation tool @@ -38,6 +40,8 @@ TODO: * preserve formatting of existing command? -/ +public meta section + namespace Mathlib.Tactic.DeprecateTo open Lean Elab Term Command diff --git a/Mathlib/Tactic/DeriveCountable.lean b/Mathlib/Tactic/DeriveCountable.lean index bcba939388d028..80dc7e6033dbaf 100644 --- a/Mathlib/Tactic/DeriveCountable.lean +++ b/Mathlib/Tactic/DeriveCountable.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Lean.Meta.Transform -import Lean.Meta.Inductive -import Lean.Elab.Deriving.Basic -import Lean.Elab.Deriving.Util -import Mathlib.Data.Countable.Defs -import Mathlib.Data.Nat.Pairing +module + +public meta import Lean.Meta.Transform +public meta import Lean.Meta.Inductive +public meta import Lean.Elab.Deriving.Basic +public meta import Lean.Elab.Deriving.Util +public meta import Mathlib.Data.Countable.Defs +public meta import Mathlib.Data.Nat.Pairing /-! # `Countable` deriving handler @@ -16,6 +18,8 @@ import Mathlib.Data.Nat.Pairing Adds a deriving handler for the `Countable` class. -/ +public meta section + namespace Mathlib.Deriving.Countable open Lean Parser.Term Elab Deriving Meta diff --git a/Mathlib/Tactic/DeriveEncodable.lean b/Mathlib/Tactic/DeriveEncodable.lean index 9a0a50239c196c..c767020af29893 100644 --- a/Mathlib/Tactic/DeriveEncodable.lean +++ b/Mathlib/Tactic/DeriveEncodable.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Lean.Meta.Transform -import Lean.Meta.Inductive -import Lean.Elab.Deriving.Basic -import Lean.Elab.Deriving.Util +module + +public meta import Lean.Meta.Transform +public meta import Lean.Meta.Inductive +public meta import Lean.Elab.Deriving.Basic +public meta import Lean.Elab.Deriving.Util import Mathlib.Logic.Encodable.Basic import Mathlib.Data.Nat.Pairing @@ -19,6 +21,8 @@ The resulting `Encodable` instance should be considered to be opaque. The specific encoding used is an implementation detail. -/ +public section + namespace Mathlib.Deriving.Encodable open Lean Parser.Term Elab Deriving Meta @@ -126,7 +130,9 @@ private def S_equiv : S ≃ ℕ where · have := Nat.unpair_lt (by omega : 1 ≤ n' + 1) omega -instance : Encodable S := Encodable.ofEquiv ℕ S_equiv +private instance : Encodable S := Encodable.ofEquiv ℕ S_equiv + +public meta section /-! ### Implementation @@ -362,5 +368,3 @@ def mkEncodableInstance (declNames : Array Name) : CommandElabM Bool := do initialize registerDerivingHandler ``Encodable mkEncodableInstance registerTraceClass `Mathlib.Deriving.Encodable - -end Mathlib.Deriving.Encodable diff --git a/Mathlib/Tactic/DeriveFintype.lean b/Mathlib/Tactic/DeriveFintype.lean index a860ad5572e54e..ffd9e74250fcf2 100644 --- a/Mathlib/Tactic/DeriveFintype.lean +++ b/Mathlib/Tactic/DeriveFintype.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Tactic.ProxyType -import Mathlib.Data.Fintype.Basic -import Mathlib.Data.Fintype.Sigma -import Mathlib.Data.Fintype.Sum +module + +public meta import Mathlib.Tactic.ProxyType +public meta import Mathlib.Data.Fintype.Basic +public meta import Mathlib.Data.Fintype.Sigma +public meta import Mathlib.Data.Fintype.Sum /-! # The `Fintype` derive handler @@ -68,6 +70,8 @@ and instead it opts to construct the underlying `Finset` as a disjoint union of for each individual constructor's proxy type. -/ +public meta section + namespace Mathlib.Deriving.Fintype open Lean Elab Lean.Parser.Term open Meta Command diff --git a/Mathlib/Tactic/DeriveTraversable.lean b/Mathlib/Tactic/DeriveTraversable.lean index 06085f9ff00917..11ada1b5a7a4d2 100644 --- a/Mathlib/Tactic/DeriveTraversable.lean +++ b/Mathlib/Tactic/DeriveTraversable.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Control.Traversable.Lemmas -import Lean.Elab.Match -import Lean.Elab.Deriving.Basic -import Lean.Elab.PreDefinition.Main +module + +public meta import Mathlib.Control.Traversable.Lemmas +public meta import Lean.Elab.Match +public meta import Lean.Elab.Deriving.Basic +public meta import Lean.Elab.PreDefinition.Main /-! # Deriving handler for `Traversable` instances @@ -16,6 +18,8 @@ This module gives deriving handlers for `Functor`, `LawfulFunctor`, `Traversable example `deriving LawfulTraversable` all by itself gives all four. -/ +public meta section + namespace Mathlib.Deriving.Traversable open Lean Meta Elab Term Command Tactic Match List Monad Functor diff --git a/Mathlib/Tactic/ENatToNat.lean b/Mathlib/Tactic/ENatToNat.lean index 00d2fd045a51a8..626427573211b6 100644 --- a/Mathlib/Tactic/ENatToNat.lean +++ b/Mathlib/Tactic/ENatToNat.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Data.ENat.Basic +module + +public meta import Mathlib.Data.ENat.Basic /-! # `enat_to_nat` @@ -20,6 +22,8 @@ The implementation follows these steps: -/ +public meta section + namespace Mathlib.Tactic.ENatToNat attribute [enat_to_nat_top] OfNat.ofNat_ne_zero ne_eq not_false_eq_true diff --git a/Mathlib/Tactic/Eqns.lean b/Mathlib/Tactic/Eqns.lean index f5282e45d83114..62f125156d666c 100644 --- a/Mathlib/Tactic/Eqns.lean +++ b/Mathlib/Tactic/Eqns.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Init -import Lean.Meta.Eqns -import Batteries.Lean.NameMapAttribute -import Lean.Elab.Exception -import Lean.Elab.InfoTree.Main +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Eqns +public meta import Batteries.Lean.NameMapAttribute +public meta import Lean.Elab.Exception +public meta import Lean.Elab.InfoTree.Main /-! # The `@[eqns]` attribute @@ -29,6 +31,8 @@ theorem transpose_const {m n} (c : ℕ) : rw [transpose] ``` -/ + +public meta section open Lean Elab syntax (name := eqns) "eqns" (ppSpace ident)* : attr diff --git a/Mathlib/Tactic/ErwQuestion.lean b/Mathlib/Tactic/ErwQuestion.lean index 76caf31748e88f..c95bfa6afec7f6 100644 --- a/Mathlib/Tactic/ErwQuestion.lean +++ b/Mathlib/Tactic/ErwQuestion.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Elab.Tactic.Rewrite +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Rewrite /-! # The `erw?` tactic @@ -14,6 +16,8 @@ and then attempts to identify any subexpression which would block the use of `rw It does so by identifying subexpressions which are defeq, but not at reducible transparency. -/ +public meta section + open Lean Parser.Tactic Elab Tactic Meta namespace Mathlib.Tactic.Erw? diff --git a/Mathlib/Tactic/Eval.lean b/Mathlib/Tactic/Eval.lean index e8611d5425ea13..5165ec03b9d00f 100644 --- a/Mathlib/Tactic/Eval.lean +++ b/Mathlib/Tactic/Eval.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ +module -import Mathlib.Init -import Qq.Macro +public meta import Mathlib.Init +public meta import Qq.Macro /-! # The `eval%` term elaborator @@ -14,6 +15,8 @@ This file provides the `eval% x` term elaborator, which evaluates the constant ` in the interpreter, and interpolates it into the expression. -/ +public meta section + open Qq Lean Elab Term diff --git a/Mathlib/Tactic/ExistsI.lean b/Mathlib/Tactic/ExistsI.lean index 636ee485e54b79..73a9efe3068f08 100644 --- a/Mathlib/Tactic/ExistsI.lean +++ b/Mathlib/Tactic/ExistsI.lean @@ -3,14 +3,17 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Gabriel Ebner, Moritz Doll -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # The `existsi` tactic This file defines the `existsi` tactic: its purpose is to instantiate existential quantifiers. Internally, it applies the `refine` tactic. -/ +public meta section + namespace Mathlib.Tactic /-- diff --git a/Mathlib/Tactic/Explode.lean b/Mathlib/Tactic/Explode.lean index a9677acd6ddc90..3d174838772593 100644 --- a/Mathlib/Tactic/Explode.lean +++ b/Mathlib/Tactic/Explode.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Evgenia Karunus, Kyle Miller -/ -import Lean.Elab.Command -import Lean.PrettyPrinter -import Mathlib.Tactic.Explode.Datatypes -import Mathlib.Tactic.Explode.Pretty +module + +public meta import Lean.Elab.Command +public meta import Lean.PrettyPrinter +public meta import Mathlib.Tactic.Explode.Datatypes +public meta import Mathlib.Tactic.Explode.Pretty /-! # Explode command @@ -15,6 +17,8 @@ This file contains the main code behind the `#explode` command. If you have a theorem with a name `hi`, `#explode hi` will display a Fitch table. -/ +public meta section + open Lean namespace Mathlib.Explode diff --git a/Mathlib/Tactic/Explode/Datatypes.lean b/Mathlib/Tactic/Explode/Datatypes.lean index 174cd3101b14c3..e634baf2d713e2 100644 --- a/Mathlib/Tactic/Explode/Datatypes.lean +++ b/Mathlib/Tactic/Explode/Datatypes.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Evgenia Karunus, Kyle Miller -/ -import Mathlib.Init -import Lean.Util.Trace +module + +public meta import Mathlib.Init +public meta import Lean.Util.Trace /-! # Explode command: datatypes @@ -12,6 +14,8 @@ import Lean.Util.Trace This file contains datatypes used by the `#explode` command and their associated methods. -/ +public meta section + open Lean namespace Mathlib.Explode diff --git a/Mathlib/Tactic/Explode/Pretty.lean b/Mathlib/Tactic/Explode/Pretty.lean index 79d34b772d0ec8..fee4056f3271d8 100644 --- a/Mathlib/Tactic/Explode/Pretty.lean +++ b/Mathlib/Tactic/Explode/Pretty.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Evgenia Karunus, Kyle Miller -/ -import Lean.Meta.Basic -import Mathlib.Tactic.Explode.Datatypes +module + +public meta import Lean.Meta.Basic +public meta import Mathlib.Tactic.Explode.Datatypes /-! # Explode command: pretty @@ -12,6 +14,8 @@ import Mathlib.Tactic.Explode.Datatypes This file contains UI code to render the Fitch table. -/ +public meta section + open Lean namespace Mathlib.Explode diff --git a/Mathlib/Tactic/ExtendDoc.lean b/Mathlib/Tactic/ExtendDoc.lean index c1c86e3acdeb60..455ec7dc16e363 100644 --- a/Mathlib/Tactic/ExtendDoc.lean +++ b/Mathlib/Tactic/ExtendDoc.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init -import Lean.Elab.ElabRules -import Lean.DocString +public meta import Mathlib.Init +public meta import Lean.Elab.ElabRules +public meta import Lean.DocString /-! # `extend_doc` command @@ -24,6 +25,8 @@ does what is probably clear: it extends the doc-string of `decl` by adding the s At least one of `before` and `after` must appear, but either one of them is optional. -/ +public meta section + namespace Mathlib.Tactic.ExtendDocs /-- `extend_docs before after ` extends the diff --git a/Mathlib/Tactic/ExtractGoal.lean b/Mathlib/Tactic/ExtractGoal.lean index 2043441d9fbd4d..76ba2f1ecfce1d 100644 --- a/Mathlib/Tactic/ExtractGoal.lean +++ b/Mathlib/Tactic/ExtractGoal.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, Kyle Miller, Damiano Testa -/ -import Lean.Elab.Term -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Tactic.Cleanup -import Lean.PrettyPrinter -import Batteries.Lean.Meta.Inaccessible -import Mathlib.Tactic.MinImports +module + +public meta import Lean.Elab.Term +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Tactic.Cleanup +public meta import Lean.PrettyPrinter +public meta import Batteries.Lean.Meta.Inaccessible +public meta import Mathlib.Tactic.MinImports /-! # `extract_goal`: Format the current goal as a stand-alone example @@ -98,6 +100,8 @@ example : (X : Nat[X]) = X := by ``` -/ +public meta section + namespace Mathlib.Tactic.ExtractGoal open Lean Elab Tactic Meta diff --git a/Mathlib/Tactic/ExtractLets.lean b/Mathlib/Tactic/ExtractLets.lean index 472759c348e525..8f19df9cc18e19 100644 --- a/Mathlib/Tactic/ExtractLets.lean +++ b/Mathlib/Tactic/ExtractLets.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Lean.Expr.Basic -import Mathlib.Tactic.Basic -import Batteries.Tactic.Lint.Misc -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Tactic.Basic +public meta import Batteries.Tactic.Lint.Misc +public meta import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "The extract_let tactic was moved to Lean core; \ you can probably just remove this import" (since := "2025-05-02") diff --git a/Mathlib/Tactic/FBinop.lean b/Mathlib/Tactic/FBinop.lean index c48fd51aa4257c..71c00317642c93 100644 --- a/Mathlib/Tactic/FBinop.lean +++ b/Mathlib/Tactic/FBinop.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Lean.Elab.App -import Lean.Elab.BuiltinNotation -import Mathlib.Tactic.ToExpr +module + +public meta import Lean.Elab.App +public meta import Lean.Elab.BuiltinNotation +public meta import Mathlib.Tactic.ToExpr /-! # Elaborator for functorial binary operators @@ -27,6 +29,8 @@ with `S _`, which can help certain elaboration problems proceed (like for `{a,b, The main goal is to support generic set product notation and have it elaborate in a convenient way. -/ +public meta section + namespace FBinopElab open Lean Elab Term Meta diff --git a/Mathlib/Tactic/FailIfNoProgress.lean b/Mathlib/Tactic/FailIfNoProgress.lean index 00a6545c4d97cb..c8c6ddc202cd15 100644 --- a/Mathlib/Tactic/FailIfNoProgress.lean +++ b/Mathlib/Tactic/FailIfNoProgress.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Thomas Murrills. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Murrills -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Lean.Meta.Tactic.Util +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Lean.Meta.Tactic.Util /-! # Fail if no progress @@ -28,6 +30,8 @@ having any effect, e.g. `repeat (fail_if_no_progress simp <;> ring_nf)`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/FastInstance.lean b/Mathlib/Tactic/FastInstance.lean index e803d424553cec..40e761b76061d0 100644 --- a/Mathlib/Tactic/FastInstance.lean +++ b/Mathlib/Tactic/FastInstance.lean @@ -3,14 +3,17 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Kyle Miller -/ +module -import Lean.Elab.SyntheticMVars -import Lean -import Mathlib.Init +public meta import Lean.Elab.SyntheticMVars +public meta import Lean +public meta import Mathlib.Init /-! # The `fast_instance%` term elaborator -/ +public meta section + namespace Mathlib.Elab.FastInstance open Lean Meta Elab Term diff --git a/Mathlib/Tactic/Field.lean b/Mathlib/Tactic/Field.lean index 323223c0eed4fb..597d170c066db8 100644 --- a/Mathlib/Tactic/Field.lean +++ b/Mathlib/Tactic/Field.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Tactic.FieldSimp -import Mathlib.Tactic.Ring.Basic +module + +public meta import Mathlib.Tactic.FieldSimp +public meta import Mathlib.Tactic.Ring.Basic /-! # A tactic for proving algebraic goals in a field @@ -14,6 +16,8 @@ This file contains the `field` tactic, a finishing tactic which roughly consists -/ +public meta section + open Lean Meta Qq namespace Mathlib.Tactic.FieldSimp diff --git a/Mathlib/Tactic/FieldSimp.lean b/Mathlib/Tactic/FieldSimp.lean index e8979242ba6c56..5da4aa16102911 100644 --- a/Mathlib/Tactic/FieldSimp.lean +++ b/Mathlib/Tactic/FieldSimp.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, David Renshaw, Heather Macbeth, Arend Mellendijk, Michael Rothgang -/ -import Mathlib.Data.Ineq -import Mathlib.Tactic.FieldSimp.Attr -import Mathlib.Tactic.FieldSimp.Discharger -import Mathlib.Tactic.FieldSimp.Lemmas -import Mathlib.Util.AtLocation -import Mathlib.Util.AtomM.Recurse -import Mathlib.Util.SynthesizeUsing +module + +public meta import Mathlib.Data.Ineq +public meta import Mathlib.Tactic.FieldSimp.Attr +public meta import Mathlib.Tactic.FieldSimp.Discharger +public meta import Mathlib.Tactic.FieldSimp.Lemmas +public meta import Mathlib.Util.AtLocation +public meta import Mathlib.Util.AtomM.Recurse +public meta import Mathlib.Util.SynthesizeUsing /-! # `field_simp` tactic @@ -17,6 +19,8 @@ import Mathlib.Util.SynthesizeUsing Tactic to clear denominators in algebraic expressions. -/ +public meta section + open Lean Meta Qq namespace Mathlib.Tactic.FieldSimp @@ -255,7 +259,7 @@ namespace DenomCondition /-- Given a field-simp-normal-form expression `L` (a product of powers of atoms), a proof (according to the value of `DenomCondition`) of that expression's nonzeroness, strict positivity, etc. -/ -def proof {iM : Q(GroupWithZero $M)} (L : qNF M) : DenomCondition iM → Type +@[expose] def proof {iM : Q(GroupWithZero $M)} (L : qNF M) : DenomCondition iM → Type | .none => Unit | .nonzero => Q(NF.eval $(qNF.toNF L) ≠ 0) | .positive _ _ _ _ => Q(0 < NF.eval $(qNF.toNF L)) diff --git a/Mathlib/Tactic/FieldSimp/Attr.lean b/Mathlib/Tactic/FieldSimp/Attr.lean index a8a2369a6c7e02..51f12266201d58 100644 --- a/Mathlib/Tactic/FieldSimp/Attr.lean +++ b/Mathlib/Tactic/FieldSimp/Attr.lean @@ -3,10 +3,14 @@ Copyright (c) 2025 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # Attribute grouping the `field_simp` simprocs -/ +public meta section + open Lean Meta /-- Initialize the attribute `field` grouping the simprocs associated to the field_simp tactic. -/ diff --git a/Mathlib/Tactic/FieldSimp/Discharger.lean b/Mathlib/Tactic/FieldSimp/Discharger.lean index 2fc8ed6f6dc841..4d806e295b455c 100644 --- a/Mathlib/Tactic/FieldSimp/Discharger.lean +++ b/Mathlib/Tactic/FieldSimp/Discharger.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, David Renshaw -/ +module -import Mathlib.Tactic.Positivity.Core -import Mathlib.Util.DischargerAsTactic +public meta import Mathlib.Tactic.Positivity.Core +public meta import Mathlib.Util.DischargerAsTactic +import all Lean.Meta.Tactic.Simp.Rewrite /-! # Discharger for `field_simp` tactic @@ -35,6 +37,8 @@ fundamentally difficult. -/ +public meta section + namespace Mathlib.Tactic.FieldSimp open Lean Elab.Tactic Parser.Tactic Lean.Meta @@ -46,8 +50,6 @@ private def dischargerTraceMessage {ε : Type*} (prop : Expr) : | .error _ | .ok none => return m!"{crossEmoji} discharge {prop}" | .ok (some _) => return m!"{checkEmoji} discharge {prop}" -open private Simp.dischargeUsingAssumption? from Lean.Meta.Tactic.Simp.Rewrite - /-- Discharge strategy for the `field_simp` tactic. -/ partial def discharge (prop : Expr) : SimpM (Option Expr) := withTraceNode `Tactic.field_simp (dischargerTraceMessage prop) do diff --git a/Mathlib/Tactic/FieldSimp/Lemmas.lean b/Mathlib/Tactic/FieldSimp/Lemmas.lean index f5da7a6b2d6e87..0694dbe28c4f77 100644 --- a/Mathlib/Tactic/FieldSimp/Lemmas.lean +++ b/Mathlib/Tactic/FieldSimp/Lemmas.lean @@ -3,18 +3,25 @@ Copyright (c) 2025 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Arend Mellendijk, Michael Rothgang -/ -import Mathlib.Algebra.BigOperators.Group.List.Basic -import Mathlib.Algebra.Field.Power -import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic -import Mathlib.Util.Qq +module + +public import Mathlib.Algebra.BigOperators.Group.List.Basic +public import Mathlib.Algebra.Field.Power +public import Mathlib.Algebra.Order.GroupWithZero.Unbundled.Basic +public import Mathlib.Util.Qq +meta import Mathlib.Algebra.Group.Nat.Even +meta import Mathlib.Algebra.Group.Int.Even /-! # Lemmas for the field_simp tactic -/ +public section + open List namespace Mathlib.Tactic.FieldSimp +@[expose] public section section zpow' @@ -218,7 +225,7 @@ theorem cons_pos [GroupWithZero M] [PartialOrder M] [PosMulStrictMono M] [PosMul theorem atom_eq_eval [GroupWithZero M] (x : M) : x = NF.eval [(1, x)] := by simp [eval] variable (M) in -theorem one_eq_eval [GroupWithZero M] : (1:M) = NF.eval (M := M) [] := rfl +theorem one_eq_eval [GroupWithZero M] : (1:M) = NF.eval (M := M) [] := (rfl) theorem mul_eq_eval₁ [CommGroupWithZero M] (a₁ : ℤ × M) {a₂ : ℤ × M} {l₁ l₂ l : NF M} (h : l₁.eval * (a₂ ::ᵣ l₂).eval = l.eval) : @@ -365,10 +372,11 @@ theorem eval_cons_eq_eval_of_eq_of_eq [CommGroupWithZero M] (r : ℤ) (x : M) {t rw [← h', eval_cons, eval_cons, h] end NF +end /-! ### Negations of algebraic operations -/ -section Sign +@[expose] public meta section Sign open Lean Qq variable {v : Level} {M : Q(Type v)} diff --git a/Mathlib/Tactic/FinCases.lean b/Mathlib/Tactic/FinCases.lean index 0fb313ef81e297..951e0c8b429cbd 100644 --- a/Mathlib/Tactic/FinCases.lean +++ b/Mathlib/Tactic/FinCases.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Hanting Zhang -/ -import Mathlib.Tactic.Core -import Mathlib.Lean.Expr.Basic -import Mathlib.Data.Fintype.Basic +module + +public meta import Mathlib.Tactic.Core +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Data.Fintype.Basic /-! # The `fin_cases` tactic. @@ -17,6 +19,8 @@ or a hypothesis of the form `h : A`, where `[Fintype A]` is available, separate cases for each possible value. -/ +public meta section + open Lean.Meta namespace Lean.Elab.Tactic diff --git a/Mathlib/Tactic/Find.lean b/Mathlib/Tactic/Find.lean index 7f443d23561213..ed7f5753d1ed63 100644 --- a/Mathlib/Tactic/Find.lean +++ b/Mathlib/Tactic/Find.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ -import Mathlib.Init -import Batteries.Util.Cache -import Lean.HeadIndex -import Lean.Elab.Command +module + +public meta import Mathlib.Init +public meta import Batteries.Util.Cache +public meta import Lean.HeadIndex +public meta import Lean.Elab.Command /-! # The `#find` command and tactic. @@ -23,6 +25,8 @@ or the `find` tactic which looks for lemmas which are `apply`able against the cu -/ +public meta section + open Lean Std open Lean.Meta open Lean.Elab diff --git a/Mathlib/Tactic/FindSyntax.lean b/Mathlib/Tactic/FindSyntax.lean index 1eae08bc21b107..e97b3bfd2c3877 100644 --- a/Mathlib/Tactic/FindSyntax.lean +++ b/Mathlib/Tactic/FindSyntax.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Lean.Elab.Command -import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Mathlib.Init /-! # The `#find_syntax` command @@ -17,6 +18,8 @@ It also makes a very crude effort at regenerating what the syntax looks like, by `Expr`ession tree of the corresponding parser. -/ +public meta section + namespace Mathlib.FindSyntax open Lean Elab Command diff --git a/Mathlib/Tactic/Finiteness.lean b/Mathlib/Tactic/Finiteness.lean index 6de02f1520eb7f..496f2ee5d2ccc4 100644 --- a/Mathlib/Tactic/Finiteness.lean +++ b/Mathlib/Tactic/Finiteness.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Tactic.Positivity.Core +module + +public meta import Mathlib.Tactic.Positivity.Core /-! # Finiteness tactic @@ -37,6 +39,8 @@ Improve `finiteness` to also deal with other situations, such as balls in proper a locally finite measure. -/ +public meta section + open Aesop.BuiltinRules in attribute [aesop (rule_sets := [finiteness]) safe -50] assumption intros diff --git a/Mathlib/Tactic/Finiteness/Attr.lean b/Mathlib/Tactic/Finiteness/Attr.lean index 5c1f8f9027c22e..abf32285f05f93 100644 --- a/Mathlib/Tactic/Finiteness/Attr.lean +++ b/Mathlib/Tactic/Finiteness/Attr.lean @@ -3,9 +3,13 @@ Copyright (c) 2024 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Aesop -import Mathlib.Init +module + +public meta import Aesop +public meta import Mathlib.Init /-! # Finiteness tactic attribute -/ +public meta section + declare_aesop_rule_sets [finiteness] diff --git a/Mathlib/Tactic/FunProp.lean b/Mathlib/Tactic/FunProp.lean index 36f0fd3c2ffcb0..5366ebf758945d 100644 --- a/Mathlib/Tactic/FunProp.lean +++ b/Mathlib/Tactic/FunProp.lean @@ -3,15 +3,17 @@ Copyright (c) 2024 Tomas Skrivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomas Skrivan -/ -import Mathlib.Tactic.FunProp.Attr -import Mathlib.Tactic.FunProp.Core -import Mathlib.Tactic.FunProp.Decl -import Mathlib.Tactic.FunProp.Elab -import Mathlib.Tactic.FunProp.FunctionData -import Mathlib.Tactic.FunProp.Mor -import Mathlib.Tactic.FunProp.Theorems -import Mathlib.Tactic.FunProp.ToBatteries -import Mathlib.Tactic.FunProp.Types +module + +public meta import Mathlib.Tactic.FunProp.Attr +public meta import Mathlib.Tactic.FunProp.Core +public meta import Mathlib.Tactic.FunProp.Decl +public meta import Mathlib.Tactic.FunProp.Elab +public meta import Mathlib.Tactic.FunProp.FunctionData +public meta import Mathlib.Tactic.FunProp.Mor +public meta import Mathlib.Tactic.FunProp.Theorems +public meta import Mathlib.Tactic.FunProp.ToBatteries +public meta import Mathlib.Tactic.FunProp.Types /-! # Tactic `fun_prop` for proving function properties like `Continuous f`, `Differentiable ℝ f`, ... @@ -342,3 +344,5 @@ There are four types of theorems that are used a bit differently. is used together with `aesop` to discharge the `2 ≤ ∞` subgoal. -/ + +public meta section diff --git a/Mathlib/Tactic/FunProp/Attr.lean b/Mathlib/Tactic/FunProp/Attr.lean index 5566c0f9691790..e913fb00a00e2c 100644 --- a/Mathlib/Tactic/FunProp/Attr.lean +++ b/Mathlib/Tactic/FunProp/Attr.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Tactic.FunProp.Decl -import Mathlib.Tactic.FunProp.Theorems +module + +public meta import Mathlib.Tactic.FunProp.Decl +public meta import Mathlib.Tactic.FunProp.Theorems /-! ## `funProp` attribute -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/FunProp/ContDiff.lean b/Mathlib/Tactic/FunProp/ContDiff.lean index de919ec8d4bcb0..eaacd82259c5e7 100644 --- a/Mathlib/Tactic/FunProp/ContDiff.lean +++ b/Mathlib/Tactic/FunProp/ContDiff.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Tactic.FunProp -import Mathlib.Tactic.FunProp.Differentiable +module + +public meta import Mathlib.Analysis.Calculus.IteratedDeriv.Lemmas +public meta import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public meta import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public meta import Mathlib.Tactic.FunProp +public meta import Mathlib.Tactic.FunProp.Differentiable deprecated_module "fun_prop knows about ContDiff(At/On) directly; no need to import this file any more" diff --git a/Mathlib/Tactic/FunProp/Core.lean b/Mathlib/Tactic/FunProp/Core.lean index 2f6b51916ba666..6bf4e3659cffab 100644 --- a/Mathlib/Tactic/FunProp/Core.lean +++ b/Mathlib/Tactic/FunProp/Core.lean @@ -3,16 +3,20 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Tactic.FunProp.Theorems -import Mathlib.Tactic.FunProp.ToBatteries -import Mathlib.Tactic.FunProp.Types -import Mathlib.Lean.Expr.Basic -import Batteries.Tactic.Exact +module + +public meta import Mathlib.Tactic.FunProp.Theorems +public meta import Mathlib.Tactic.FunProp.ToBatteries +public meta import Mathlib.Tactic.FunProp.Types +public meta import Mathlib.Lean.Expr.Basic +public meta import Batteries.Tactic.Exact /-! # Tactic `fun_prop` for proving function properties like `Continuous f`, `Differentiable ℝ f`, ... -/ +public meta section + namespace Mathlib open Lean Meta Qq diff --git a/Mathlib/Tactic/FunProp/Decl.lean b/Mathlib/Tactic/FunProp/Decl.lean index 9fa9334d739adf..f54f70abea5a97 100644 --- a/Mathlib/Tactic/FunProp/Decl.lean +++ b/Mathlib/Tactic/FunProp/Decl.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! ## `funProp` environment extension that stores all registered function properties -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/FunProp/Differentiable.lean b/Mathlib/Tactic/FunProp/Differentiable.lean index 3c26d41a901047..951e0a86ad8a3a 100644 --- a/Mathlib/Tactic/FunProp/Differentiable.lean +++ b/Mathlib/Tactic/FunProp/Differentiable.lean @@ -3,16 +3,18 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Analysis.Calculus.FDeriv.Basic -import Mathlib.Analysis.Calculus.FDeriv.Comp -import Mathlib.Analysis.Calculus.FDeriv.Prod -import Mathlib.Analysis.Calculus.FDeriv.Pi -import Mathlib.Analysis.Calculus.FDeriv.Add -import Mathlib.Analysis.Calculus.FDeriv.Mul -import Mathlib.Analysis.Calculus.Deriv.Inv -import Mathlib.Analysis.SpecialFunctions.ExpDeriv -import Mathlib.Analysis.SpecialFunctions.Log.Deriv -import Mathlib.Tactic.FunProp +module + +public meta import Mathlib.Analysis.Calculus.FDeriv.Basic +public meta import Mathlib.Analysis.Calculus.FDeriv.Comp +public meta import Mathlib.Analysis.Calculus.FDeriv.Prod +public meta import Mathlib.Analysis.Calculus.FDeriv.Pi +public meta import Mathlib.Analysis.Calculus.FDeriv.Add +public meta import Mathlib.Analysis.Calculus.FDeriv.Mul +public meta import Mathlib.Analysis.Calculus.Deriv.Inv +public meta import Mathlib.Analysis.SpecialFunctions.ExpDeriv +public meta import Mathlib.Analysis.SpecialFunctions.Log.Deriv +public meta import Mathlib.Tactic.FunProp deprecated_module "fun_prop knows about Differentiable(At/On) directly; no need to import this file any more" diff --git a/Mathlib/Tactic/FunProp/Elab.lean b/Mathlib/Tactic/FunProp/Elab.lean index 8111fd1dd42e23..4122ba69968315 100644 --- a/Mathlib/Tactic/FunProp/Elab.lean +++ b/Mathlib/Tactic/FunProp/Elab.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Tactic.FunProp.Core +module + +public meta import Mathlib.Tactic.FunProp.Core /-! ## `funProp` tactic syntax -/ +public meta section + namespace Mathlib open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/FunProp/FunctionData.lean b/Mathlib/Tactic/FunProp/FunctionData.lean index 65116b33cbeaf6..8336233aa2765b 100644 --- a/Mathlib/Tactic/FunProp/FunctionData.lean +++ b/Mathlib/Tactic/FunProp/FunctionData.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Qq +module -import Mathlib.Tactic.FunProp.Mor -import Mathlib.Tactic.FunProp.ToBatteries +public meta import Qq + +public meta import Mathlib.Tactic.FunProp.Mor +public meta import Mathlib.Tactic.FunProp.ToBatteries /-! ## `funProp` data structure holding information about a function @@ -14,6 +16,8 @@ import Mathlib.Tactic.FunProp.ToBatteries `FunctionData` holds data about function in the form `fun x => f x₁ ... xₙ`. -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/FunProp/Mor.lean b/Mathlib/Tactic/FunProp/Mor.lean index 9ad1c190458ec4..77b2fa8daf302f 100644 --- a/Mathlib/Tactic/FunProp/Mor.lean +++ b/Mathlib/Tactic/FunProp/Mor.lean @@ -3,7 +3,10 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Init +module + +public meta import Mathlib.Init +public meta import Lean.Meta.CoeAttr /-! ## `funProp` Meta programming functions like in Lean.Expr.* but for working with bundled morphisms. @@ -20,6 +23,8 @@ expression changes. For example in: the head of expression is considered to be `f` and not `coe`. -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/FunProp/Theorems.lean b/Mathlib/Tactic/FunProp/Theorems.lean index 58d4ee710e220d..0f37d0ba9b433c 100644 --- a/Mathlib/Tactic/FunProp/Theorems.lean +++ b/Mathlib/Tactic/FunProp/Theorems.lean @@ -3,16 +3,20 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Tactic.FunProp.Decl -import Mathlib.Tactic.FunProp.Types -import Mathlib.Tactic.FunProp.FunctionData -import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize -import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup +module + +public meta import Mathlib.Tactic.FunProp.Decl +public meta import Mathlib.Tactic.FunProp.Types +public meta import Mathlib.Tactic.FunProp.FunctionData +public meta import Mathlib.Lean.Meta.RefinedDiscrTree.Initialize +public meta import Mathlib.Lean.Meta.RefinedDiscrTree.Lookup /-! ## `fun_prop` environment extensions storing theorems for `fun_prop` -/ +public meta section + namespace Mathlib open Lean Meta open Std (TreeMap) @@ -166,7 +170,7 @@ structure FunctionTheorem where form : TheoremForm deriving Inhabited, BEq -private local instance : Ord Name := ⟨Name.quickCmp⟩ +local instance : Ord Name := ⟨Name.quickCmp⟩ set_option linter.style.docString.empty false in /-- -/ diff --git a/Mathlib/Tactic/FunProp/ToBatteries.lean b/Mathlib/Tactic/FunProp/ToBatteries.lean index 6181cb3e51cd4b..519d3c9bcc5b81 100644 --- a/Mathlib/Tactic/FunProp/ToBatteries.lean +++ b/Mathlib/Tactic/FunProp/ToBatteries.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! ## `funProp` missing function from standard library -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/FunProp/Types.lean b/Mathlib/Tactic/FunProp/Types.lean index 454928eeda4808..a5d1bd36706ee2 100644 --- a/Mathlib/Tactic/FunProp/Types.lean +++ b/Mathlib/Tactic/FunProp/Types.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Tomáš Skřivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomáš Skřivan -/ -import Mathlib.Tactic.FunProp.FunctionData -import Mathlib.Lean.Meta.RefinedDiscrTree.Basic +module + +public meta import Mathlib.Tactic.FunProp.FunctionData +public meta import Mathlib.Lean.Meta.RefinedDiscrTree.Basic /-! ## `funProp` @@ -12,6 +14,8 @@ import Mathlib.Lean.Meta.RefinedDiscrTree.Basic this file defines environment extension for `funProp` -/ +public meta section + namespace Mathlib open Lean Meta diff --git a/Mathlib/Tactic/GCongr.lean b/Mathlib/Tactic/GCongr.lean index 4615c6ac1c0069..adfe08b488d8b7 100644 --- a/Mathlib/Tactic/GCongr.lean +++ b/Mathlib/Tactic/GCongr.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Mario Carneiro, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth -/ -import Mathlib.Tactic.GCongr.CoreAttrs -import Mathlib.Tactic.Hint +module + +public meta import Mathlib.Tactic.GCongr.CoreAttrs +public meta import Mathlib.Tactic.Hint /-! # Setup for the `gcongr` tactic The core implementation of the `gcongr` ("generalized congruence") tactic is in the file `Tactic.GCongr.Core`. -/ +public meta section + /-! We register `gcongr` with the `hint` tactic. -/ diff --git a/Mathlib/Tactic/GCongr/Core.lean b/Mathlib/Tactic/GCongr/Core.lean index 06d74b60aa7fe0..dbe3e0d62904c5 100644 --- a/Mathlib/Tactic/GCongr/Core.lean +++ b/Mathlib/Tactic/GCongr/Core.lean @@ -3,12 +3,15 @@ Copyright (c) 2023 Mario Carneiro, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth, Jovan Gerbscheid -/ -import Lean -import Batteries.Lean.Except -import Batteries.Tactic.Exact -import Mathlib.Lean.Elab.Term -import Mathlib.Tactic.GCongr.ForwardAttr -import Mathlib.Order.Defs.Unbundled +module + +public meta import Lean +public meta import Batteries.Lean.Except +public meta import Batteries.Tactic.Exact +public meta import Mathlib.Lean.Elab.Term +public meta import Mathlib.Tactic.GCongr.ForwardAttr +public meta import Mathlib.Order.Defs.Unbundled +import all Lean.Meta.Tactic.Apply /-! # The `gcongr` ("generalized congruence") tactic @@ -123,6 +126,8 @@ example {a b x c d : ℝ} (h1 : a ≤ b) (h2 : c ≤ d) : The `rel` tactic is finishing-only: it fails if any main or side goals are not resolved. -/ +public meta section + namespace Mathlib.Tactic.GCongr open Lean Meta @@ -414,7 +419,6 @@ def relImpRelLemma (arity : Nat) : List GCongrLemma := end Trans -open private isDefEqApply throwApplyError reorderGoals from Lean.Meta.Tactic.Apply in /-- `Lean.MVarId.applyWithArity` is a copy of `Lean.MVarId.apply`, where the arity of the applied function is given explicitly instead of being inferred. diff --git a/Mathlib/Tactic/GCongr/CoreAttrs.lean b/Mathlib/Tactic/GCongr/CoreAttrs.lean index c3248997128612..5a8b58f04da3cd 100644 --- a/Mathlib/Tactic/GCongr/CoreAttrs.lean +++ b/Mathlib/Tactic/GCongr/CoreAttrs.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Tactic.GCongr.Core +module + +public meta import Mathlib.Tactic.GCongr.Core /-! # gcongr attributes for lemmas up in the import chain @@ -12,6 +14,8 @@ In this file we add `gcongr` attribute to lemmas in `Lean.Init`. We may add lemmas from other files imported by `Mathlib/Tactic/GCongr/Core` later. -/ +public meta section + namespace Mathlib.Tactic.GCongr variable {a b c : Prop} diff --git a/Mathlib/Tactic/GCongr/ForwardAttr.lean b/Mathlib/Tactic/GCongr/ForwardAttr.lean index b2223676bf279e..7ee536ebac341c 100644 --- a/Mathlib/Tactic/GCongr/ForwardAttr.lean +++ b/Mathlib/Tactic/GCongr/ForwardAttr.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Mario Carneiro, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth -/ -import Mathlib.Init -import Batteries.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Batteries.Tactic.Basic /-! # Environment extension for the forward-reasoning part of the `gcongr` tactic -/ +public meta section + open Lean Meta Elab Tactic namespace Mathlib.Tactic.GCongr @@ -43,7 +47,8 @@ initialize registerBuiltinAttribute { add := fun declName stx kind => match stx with | `(attr| gcongr_forward) => do unless kind == AttributeKind.global do - throwError "invalid attribute 'gcongr_forward', must be global" + throwAttrMustBeGlobal `gcongr_forward kind + ensureAttrDeclIsMeta `gcongr_forward declName kind let env ← getEnv unless (env.getModuleIdxFor? declName).isNone do throwError "invalid attribute 'gcongr_forward', declaration is in an imported module" diff --git a/Mathlib/Tactic/GRewrite.lean b/Mathlib/Tactic/GRewrite.lean index 905e5f13f4acab..f6718134a23201 100644 --- a/Mathlib/Tactic/GRewrite.lean +++ b/Mathlib/Tactic/GRewrite.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Sebastian Zimmer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Zimmer, Mario Carneiro, Heather Macbeth, Jovan Gerbscheid -/ -import Mathlib.Tactic.GRewrite.Elab +module + +public meta import Mathlib.Tactic.GRewrite.Elab /-! @@ -13,3 +15,5 @@ The `grw`/`grewrite` tactic is a generalization of the `rewrite` tactic that wor other than equality. The core implementation of `grewrite` is in the file `Tactic.GRewrite.Core` -/ + +public meta section diff --git a/Mathlib/Tactic/GRewrite/Core.lean b/Mathlib/Tactic/GRewrite/Core.lean index 59031b8e36d2e3..703034861bffe6 100644 --- a/Mathlib/Tactic/GRewrite/Core.lean +++ b/Mathlib/Tactic/GRewrite/Core.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Sebastian Zimmer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Zimmer, Mario Carneiro, Heather Macbeth, Jovan Gerbscheid -/ -import Mathlib.Tactic.GCongr.Core +module + +public meta import Mathlib.Tactic.GCongr.Core /-! @@ -24,6 +26,8 @@ With the current implementation, we can instead use `nth_grw`. -/ +public meta section + open Lean Meta namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/GRewrite/Elab.lean b/Mathlib/Tactic/GRewrite/Elab.lean index ca9db44431699c..0636a7558cf095 100644 --- a/Mathlib/Tactic/GRewrite/Elab.lean +++ b/Mathlib/Tactic/GRewrite/Elab.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Sebastian Zimmer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Zimmer, Mario Carneiro, Heather Macbeth, Jovan Gerbscheid -/ -import Mathlib.Tactic.GRewrite.Core +module + +public meta import Mathlib.Tactic.GRewrite.Core /-! @@ -18,6 +20,8 @@ This file defines the tactics that use the backend defined in `Mathlib.Tactic.GR -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Parser Tactic diff --git a/Mathlib/Tactic/Generalize.lean b/Mathlib/Tactic/Generalize.lean index 20250ad5f6e41b..ad11a76e67b1d6 100644 --- a/Mathlib/Tactic/Generalize.lean +++ b/Mathlib/Tactic/Generalize.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Elab.Binders -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Tactic.Generalize +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Binders +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Tactic.Generalize /-! # Backwards compatibility shim for `generalize`. @@ -21,6 +23,8 @@ This file can be removed once all uses of the compatibility shim have been remov This would also allow removing this file. -/ +public meta section + open Lean Elab Tactic Meta in /-- Backwards compatibility shim for `generalize`. -/ elab "generalize'" h:ident " : " t:term:51 " = " x:ident : tactic => do diff --git a/Mathlib/Tactic/GeneralizeProofs.lean b/Mathlib/Tactic/GeneralizeProofs.lean index 8b468eb4c12ba7..f0e6b7b7f079a7 100644 --- a/Mathlib/Tactic/GeneralizeProofs.lean +++ b/Mathlib/Tactic/GeneralizeProofs.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Kyle Miller -/ -import Lean.Elab.Tactic.Config -import Lean.Elab.Tactic.Location -import Mathlib.Lean.Expr.Basic -import Batteries.Lean.Expr +module + +public meta import Lean.Elab.Tactic.Config +public meta import Lean.Elab.Tactic.Location +public meta import Mathlib.Lean.Expr.Basic +public meta import Batteries.Lean.Expr /-! # The `generalize_proofs` tactic @@ -32,6 +34,8 @@ One difference is that it the tactic tries to propagate expected types so that we get `1 < [1, 2].length` in the above example rather than `1 < Nat.succ 1`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Parser.Tactic Elab.Tactic diff --git a/Mathlib/Tactic/Group.lean b/Mathlib/Tactic/Group.lean index d13a0c7a879874..63da649de22784 100644 --- a/Mathlib/Tactic/Group.lean +++ b/Mathlib/Tactic/Group.lean @@ -3,9 +3,11 @@ Copyright (c) 2020. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Patrick Massot -/ -import Mathlib.Tactic.Ring -import Mathlib.Tactic.FailIfNoProgress -import Mathlib.Algebra.Group.Commutator +module + +public meta import Mathlib.Tactic.Ring +public meta import Mathlib.Tactic.FailIfNoProgress +public meta import Mathlib.Algebra.Group.Commutator /-! # `group` tactic @@ -22,6 +24,8 @@ some `ring` invocations. group_theory -/ +public meta section + namespace Mathlib.Tactic.Group open Lean diff --git a/Mathlib/Tactic/GuardGoalNums.lean b/Mathlib/Tactic/GuardGoalNums.lean index 27531fd64874f0..d96e8ca7ec5419 100644 --- a/Mathlib/Tactic/GuardGoalNums.lean +++ b/Mathlib/Tactic/GuardGoalNums.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic /-! @@ -12,6 +14,8 @@ A tactic stub file for the `guard_goal_nums` tactic. -/ +public meta section + open Lean Meta Elab Tactic /-- `guard_goal_nums n` succeeds if there are exactly `n` goals and fails otherwise. -/ diff --git a/Mathlib/Tactic/GuardHypNums.lean b/Mathlib/Tactic/GuardHypNums.lean index ad3202937bbcab..7cadaa9b758759 100644 --- a/Mathlib/Tactic/GuardHypNums.lean +++ b/Mathlib/Tactic/GuardHypNums.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic /-! A tactic stub file for the `guard_hyp_nums` tactic. -/ +public meta section + open Lean Meta Elab Tactic /-- diff --git a/Mathlib/Tactic/Have.lean b/Mathlib/Tactic/Have.lean index c8240ce05b77f8..016be4f0818cbe 100644 --- a/Mathlib/Tactic/Have.lean +++ b/Mathlib/Tactic/Have.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Arthur Paulino. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Edward Ayers, Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Binders -import Lean.Elab.SyntheticMVars -import Lean.Meta.Tactic.Assert +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Binders +public meta import Lean.Elab.SyntheticMVars +public meta import Lean.Meta.Tactic.Assert /-! # Extending `have`, `let` and `suffices` @@ -18,6 +20,8 @@ As a style choice, this should not be used in mathlib; but is provided for downs preferred the old style. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab.Tactic Meta Parser Term Syntax.MonadTraverser diff --git a/Mathlib/Tactic/HaveI.lean b/Mathlib/Tactic/HaveI.lean index d738aa0aa8f95f..b5222492d6436b 100644 --- a/Mathlib/Tactic/HaveI.lean +++ b/Mathlib/Tactic/HaveI.lean @@ -3,8 +3,9 @@ Copyright (c) 2023 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # Variants of `haveI`/`letI` for use in do-notation. @@ -16,6 +17,8 @@ This is necessary because the do-notation has a hardcoded list of keywords which as term-mode and do-elem syntax (like for example `let` or `have`). -/ +public meta section + namespace Mathlib.Tactic.HaveI local syntax "haveIDummy" letDecl : term diff --git a/Mathlib/Tactic/HigherOrder.lean b/Mathlib/Tactic/HigherOrder.lean index d85f1e947aa659..f725cdd3fd91c0 100644 --- a/Mathlib/Tactic/HigherOrder.lean +++ b/Mathlib/Tactic/HigherOrder.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Lean.Meta.Tactic.Apply -import Lean.Meta.Tactic.Assumption -import Lean.Meta.MatchUtil -import Lean.Meta.Tactic.Intro -import Lean.Elab.DeclarationRange -import Mathlib.Tactic.Attr.Register +module + +public meta import Lean.Meta.Tactic.Apply +public meta import Lean.Meta.Tactic.Assumption +public meta import Lean.Meta.MatchUtil +public meta import Lean.Meta.Tactic.Intro +public meta import Lean.Elab.DeclarationRange +public meta import Mathlib.Tactic.Attr.Register /-! # HigherOrder attribute @@ -18,6 +20,8 @@ This file defines the `@[higher_order]` attribute that applies to lemmas of the higher-order functions. -/ +public meta section + open Lean Name Meta Elab Expr Term namespace Lean.Parser.Attr diff --git a/Mathlib/Tactic/Hint.lean b/Mathlib/Tactic/Hint.lean index f1c9577aa27f0c..a9de0f460a958c 100644 --- a/Mathlib/Tactic/Hint.lean +++ b/Mathlib/Tactic/Hint.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Lean.Meta.Tactic.TryThis -import Batteries.Linter.UnreachableTactic -import Batteries.Control.Nondet.Basic -import Mathlib.Init -import Mathlib.Lean.Elab.InfoTree -import Mathlib.Tactic.Basic +module + +public meta import Lean.Meta.Tactic.TryThis +public meta import Batteries.Linter.UnreachableTactic +public meta import Batteries.Control.Nondet.Basic +public meta import Mathlib.Init +public meta import Mathlib.Lean.Elab.InfoTree +public meta import Mathlib.Tactic.Basic /-! # The `hint` tactic. @@ -21,6 +23,8 @@ on the current goal, and reports which ones succeed. It would be nice to run the tactics in parallel. -/ +public meta section + open Lean Elab Tactic open Lean.Meta.Tactic.TryThis diff --git a/Mathlib/Tactic/ITauto.lean b/Mathlib/Tactic/ITauto.lean index c76855dd47bf9f..7a5c5adc63786d 100644 --- a/Mathlib/Tactic/ITauto.lean +++ b/Mathlib/Tactic/ITauto.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Batteries.Tactic.Exact -import Batteries.Tactic.Init -import Mathlib.Logic.Basic -import Mathlib.Util.AtomM -import Qq +module + +public meta import Batteries.Tactic.Exact +public meta import Batteries.Tactic.Init +public meta import Mathlib.Logic.Basic +public meta import Mathlib.Util.AtomM +public meta import Qq /-! @@ -79,6 +81,8 @@ grammar if it matters.) propositional logic, intuitionistic logic, decision procedure -/ +public meta section + open Std (TreeMap TreeSet) @@ -99,22 +103,22 @@ inductive IProp : Type | and' : AndKind → IProp → IProp → IProp -- p ∧ q, p ↔ q, p = q | or : IProp → IProp → IProp -- p ∨ q | imp : IProp → IProp → IProp -- p → q - deriving Lean.ToExpr, DecidableEq + deriving Lean.ToExpr /-- Constructor for `p ∧ q`. -/ -@[match_pattern] def IProp.and : IProp → IProp → IProp := .and' .and +@[match_pattern, expose] def IProp.and : IProp → IProp → IProp := .and' .and /-- Constructor for `p ↔ q`. -/ -@[match_pattern] def IProp.iff : IProp → IProp → IProp := .and' .iff +@[match_pattern, expose] def IProp.iff : IProp → IProp → IProp := .and' .iff /-- Constructor for `p = q`. -/ -@[match_pattern] def IProp.eq : IProp → IProp → IProp := .and' .eq +@[match_pattern, expose] def IProp.eq : IProp → IProp → IProp := .and' .eq /-- Constructor for `¬ p`. -/ -@[match_pattern] def IProp.not (a : IProp) : IProp := a.imp .false +@[match_pattern, expose] def IProp.not (a : IProp) : IProp := a.imp .false /-- Constructor for `xor p q`. -/ -@[match_pattern] def IProp.xor (a b : IProp) : IProp := (a.and b.not).or (b.and a.not) +@[match_pattern, expose] def IProp.xor (a b : IProp) : IProp := (a.and b.not).or (b.and a.not) instance : Inhabited IProp := ⟨IProp.true⟩ diff --git a/Mathlib/Tactic/InferParam.lean b/Mathlib/Tactic/InferParam.lean index 61823d34ed51af..22083ed828d65a 100644 --- a/Mathlib/Tactic/InferParam.lean +++ b/Mathlib/Tactic/InferParam.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Lean.Meta.Tactic.Replace +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Lean.Meta.Tactic.Replace /-! # Infer an optional parameter @@ -14,6 +16,8 @@ In this file we define a tactic `infer_param` that closes a goal with default va this default value. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab Tactic Meta diff --git a/Mathlib/Tactic/Inhabit.lean b/Mathlib/Tactic/Inhabit.lean index 0ed8909be666c2..6d42cf25e170e7 100644 --- a/Mathlib/Tactic/Inhabit.lean +++ b/Mathlib/Tactic/Inhabit.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Joshua Clune. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joshua Clune -/ -import Lean.Elab.Tactic.ElabTerm -import Mathlib.Tactic.TypeStar +module + +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Mathlib.Tactic.TypeStar /-! Defines the `inhabit α` tactic, which tries to construct an `Inhabited α` instance, constructively or otherwise. -/ +public meta section + open Lean.Meta namespace Lean.Elab.Tactic diff --git a/Mathlib/Tactic/IntervalCases.lean b/Mathlib/Tactic/IntervalCases.lean index 3a465c511eba91..0f28750e6ea4ac 100644 --- a/Mathlib/Tactic/IntervalCases.lean +++ b/Mathlib/Tactic/IntervalCases.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Mario Carneiro -/ -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.FinCases -import Mathlib.Control.Basic +module + +public meta import Mathlib.Tactic.NormNum +public meta import Mathlib.Tactic.FinCases +public meta import Mathlib.Control.Basic /-! # Case bash on variables in finite intervals @@ -23,6 +25,8 @@ where the hypotheses should be of the form `hl : a ≤ n` and `hu : n < b`. In t `interval_cases` calls `fin_cases` on the resulting hypothesis `h : n ∈ Set.Ico a b`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Term Qq Int diff --git a/Mathlib/Tactic/IrreducibleDef.lean b/Mathlib/Tactic/IrreducibleDef.lean index 01c2f25bb25d8c..e4c40b1e1a0c43 100644 --- a/Mathlib/Tactic/IrreducibleDef.lean +++ b/Mathlib/Tactic/IrreducibleDef.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Data.Subtype -import Mathlib.Tactic.Eqns -import Mathlib.Util.TermReduce +module + +public meta import Mathlib.Data.Subtype +public meta import Mathlib.Tactic.Eqns +public meta import Mathlib.Util.TermReduce /-! # Irreducible definitions @@ -28,6 +30,8 @@ example : frobnicate a 0 = a := by -/ +public meta section + namespace Lean.Elab.Command open Term Meta diff --git a/Mathlib/Tactic/Lemma.lean b/Mathlib/Tactic/Lemma.lean index 10d49cd8d8a8f2..32979ffefb65ba 100644 --- a/Mathlib/Tactic/Lemma.lean +++ b/Mathlib/Tactic/Lemma.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kyle Miller -/ -import Mathlib.Init -import Lean.Parser.Command +module + +public meta import Mathlib.Init +public meta import Lean.Parser.Command /-! # Support for `lemma` as a synonym for `theorem`. -/ +public meta section + open Lean -- higher priority to override the one in Batteries diff --git a/Mathlib/Tactic/Lift.lean b/Mathlib/Tactic/Lift.lean index c7aa2e43be71e5..8816ee26e010dc 100644 --- a/Mathlib/Tactic/Lift.lean +++ b/Mathlib/Tactic/Lift.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Mathlib.Tactic.Basic -import Batteries.Lean.Expr -import Batteries.Lean.Meta.UnusedNames +module + +public meta import Mathlib.Tactic.Basic +public meta import Batteries.Lean.Expr +public meta import Batteries.Lean.Meta.UnusedNames /-! # lift tactic @@ -18,6 +20,8 @@ under a specified condition. lift, tactic -/ +public meta section + /-- A class specifying that you can lift elements from `α` to `β` assuming `cond` is true. Used by the tactic `lift`. -/ class CanLift (α β : Sort*) (coe : outParam <| β → α) (cond : outParam <| α → Prop) : Prop where diff --git a/Mathlib/Tactic/LiftLets.lean b/Mathlib/Tactic/LiftLets.lean index 622a72ecd765ba..690f3d6b925f12 100644 --- a/Mathlib/Tactic/LiftLets.lean +++ b/Mathlib/Tactic/LiftLets.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Linter.DeprecatedModule +module + +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Tactic.Linter.DeprecatedModule deprecated_module "The lift_lets tactic was moved to Lean core; \ you can probably just remove this import" (since := "2025-05-02") diff --git a/Mathlib/Tactic/Linarith.lean b/Mathlib/Tactic/Linarith.lean index 2f22414ea5b408..91ccbd5755b85b 100644 --- a/Mathlib/Tactic/Linarith.lean +++ b/Mathlib/Tactic/Linarith.lean @@ -3,12 +3,16 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Tactic.Linarith.Frontend -import Mathlib.Tactic.NormNum -import Mathlib.Tactic.Hint +module + +public meta import Mathlib.Tactic.Linarith.Frontend +public meta import Mathlib.Tactic.NormNum +public meta import Mathlib.Tactic.Hint /-! We register `linarith` with the `hint` tactic. -/ +public meta section + register_hint (priority := 100) linarith diff --git a/Mathlib/Tactic/Linarith/Datatypes.lean b/Mathlib/Tactic/Linarith/Datatypes.lean index 31bc178b446e87..42d715867ee455 100644 --- a/Mathlib/Tactic/Linarith/Datatypes.lean +++ b/Mathlib/Tactic/Linarith/Datatypes.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Tactic.Linarith.Lemmas -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Util.SynthesizeUsing +module + +public meta import Mathlib.Tactic.Linarith.Lemmas +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Util.SynthesizeUsing /-! # Datatypes for `linarith` @@ -16,6 +18,8 @@ We split them into their own file. This file also contains a few convenient auxiliary functions. -/ +public meta section + open Lean Elab Tactic Meta Qq initialize registerTraceClass `linarith @@ -207,7 +211,7 @@ splits. The first component, an `MVarId`, is the goal corresponding to this bran given as a metavariable. The `List Expr` component is the list of hypotheses for `linarith` in this branch. -/ -def Branch : Type := MVarId × List Expr +@[expose] def Branch : Type := MVarId × List Expr /-- Some preprocessors perform branching case splits. diff --git a/Mathlib/Tactic/Linarith/Frontend.lean b/Mathlib/Tactic/Linarith/Frontend.lean index 0293f9c5b401b7..2288b1d4d154a1 100644 --- a/Mathlib/Tactic/Linarith/Frontend.lean +++ b/Mathlib/Tactic/Linarith/Frontend.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Control.Basic -import Mathlib.Tactic.Linarith.Verification -import Mathlib.Tactic.Linarith.Preprocessing -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm -import Mathlib.Tactic.Ring.Basic -import Mathlib.Util.ElabWithoutMVars +module + +public meta import Mathlib.Control.Basic +public meta import Mathlib.Tactic.Linarith.Verification +public meta import Mathlib.Tactic.Linarith.Preprocessing +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm +public meta import Mathlib.Tactic.Ring.Basic +public meta import Mathlib.Util.ElabWithoutMVars /-! # `linarith`: solving linear arithmetic goals @@ -131,6 +133,8 @@ The components of `linarith` are spread between a number of files for the sake o linarith, nlinarith, lra, nra, Fourier-Motzkin, linear arithmetic, linear programming -/ +public meta section + open Lean Elab Parser Tactic Meta open Batteries diff --git a/Mathlib/Tactic/Linarith/Lemmas.lean b/Mathlib/Tactic/Linarith/Lemmas.lean index ac764ecc7d690d..0898ad3c35ded4 100644 --- a/Mathlib/Tactic/Linarith/Lemmas.lean +++ b/Mathlib/Tactic/Linarith/Lemmas.lean @@ -3,13 +3,15 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Batteries.Tactic.Lint.Basic -import Mathlib.Algebra.Order.Monoid.Unbundled.Basic -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.ZeroLEOne -import Mathlib.Data.Nat.Cast.Order.Ring -import Mathlib.Data.Int.Order.Basic -import Mathlib.Data.Ineq +module + +public meta import Batteries.Tactic.Lint.Basic +public meta import Mathlib.Algebra.Order.Monoid.Unbundled.Basic +public meta import Mathlib.Algebra.Order.Ring.Defs +public meta import Mathlib.Algebra.Order.ZeroLEOne +public meta import Mathlib.Data.Nat.Cast.Order.Ring +public meta import Mathlib.Data.Int.Order.Basic +public meta import Mathlib.Data.Ineq /-! # Lemmas for `linarith`. @@ -19,6 +21,8 @@ Those in the `Linarith` namespace should stay here. Those outside the `Linarith` namespace may be deleted as they are ported to mathlib4. -/ +public meta section + namespace Mathlib.Tactic.Linarith universe u diff --git a/Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean b/Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean index a5d98c22217ffc..093a297c535301 100644 --- a/Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean +++ b/Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Batteries.Lean.HashMap -import Mathlib.Tactic.Linarith.Datatypes +module + +public meta import Batteries.Lean.HashMap +public meta import Mathlib.Tactic.Linarith.Datatypes /-! # The Fourier-Motzkin elimination procedure @@ -29,6 +31,8 @@ We recursively eliminate all variables from the system. If we derive an empty cl we conclude that the original system was unsatisfiable. -/ +public meta section + open Batteries open Std (format ToFormat TreeSet) diff --git a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean index bc06ccdd841e80..23e71049504ff4 100644 --- a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean +++ b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Mathlib.Tactic.Linarith.Datatypes -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector +module + +public meta import Mathlib.Tactic.Linarith.Datatypes +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.PositiveVector /-! # The oracle based on Simplex Algorithm @@ -14,6 +16,8 @@ The algorithm's entry point is the function `Linarith.SimplexAlgorithm.findPosit See the file `PositiveVector.lean` for details of how the procedure works. -/ +public meta section + namespace Mathlib.Tactic.Linarith.SimplexAlgorithm /-- Preprocess the goal to pass it to `Linarith.SimplexAlgorithm.findPositiveVector`. -/ diff --git a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean index ceb91b57ac76c6..16dd2df3bf994d 100644 --- a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean +++ b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Datatypes.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Mathlib.Init -import Std.Data.HashMap.Basic +module + +public meta import Mathlib.Init +public meta import Std.Data.HashMap.Basic /-! # Datatypes for the Simplex Algorithm implementation -/ +public meta section + namespace Mathlib.Tactic.Linarith.SimplexAlgorithm /-- diff --git a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean index b4303c0c827c52..2f08fb6f8d3e61 100644 --- a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean +++ b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes +module + +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes /-! # Gaussian Elimination algorithm @@ -12,6 +14,8 @@ The first step of `Linarith.SimplexAlgorithm.findPositiveVector` is finding init solution which is done by standard Gaussian Elimination algorithm implemented in this file. -/ +public meta section + namespace Mathlib.Tactic.Linarith.SimplexAlgorithm.Gauss /-- The monad for the Gaussian Elimination algorithm. -/ diff --git a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/PositiveVector.lean b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/PositiveVector.lean index 87ef1c80a1f84a..855a9ed1817e31 100644 --- a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/PositiveVector.lean +++ b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/PositiveVector.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Lean.Meta.Basic -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss +module + +public meta import Lean.Meta.Basic +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.SimplexAlgorithm +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Gauss /-! # `linarith` certificate search as an LP problem @@ -33,6 +35,8 @@ The function `findPositiveVector` solves this problem. -/ +public meta section + namespace Mathlib.Tactic.Linarith.SimplexAlgorithm variable {matType : Nat → Nat → Type} [UsableInSimplexAlgorithm matType] diff --git a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean index 810dabd5434a90..b37fb1cf810408 100644 --- a/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean +++ b/Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Vasily Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasily Nesterov -/ -import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes +module + +public meta import Mathlib.Tactic.Linarith.Oracle.SimplexAlgorithm.Datatypes /-! # Simplex Algorithm @@ -12,6 +14,8 @@ To obtain required vector in `Linarith.SimplexAlgorithm.findPositiveVector` we r Algorithm. We use Bland's rule for pivoting, which guarantees that the algorithm terminates. -/ +public meta section + namespace Mathlib.Tactic.Linarith.SimplexAlgorithm /-- An exception in the `SimplexAlgorithmM` monad. -/ diff --git a/Mathlib/Tactic/Linarith/Parsing.lean b/Mathlib/Tactic/Linarith/Parsing.lean index 999a5064b6ebe2..1222345695ff41 100644 --- a/Mathlib/Tactic/Linarith/Parsing.lean +++ b/Mathlib/Tactic/Linarith/Parsing.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Tactic.Linarith.Datatypes +module + +public meta import Mathlib.Tactic.Linarith.Datatypes /-! # Parsing input expressions into linear form @@ -27,6 +29,8 @@ This is ultimately converted into a `Linexp` in the obvious way. `linearFormsAndMaxVar` is the main entry point into this file. Everything else is contained. -/ +public meta section + open Std (TreeMap) namespace Std.TreeMap diff --git a/Mathlib/Tactic/Linarith/Preprocessing.lean b/Mathlib/Tactic/Linarith/Preprocessing.lean index 8d5492a7888320..7be2f07be7be8f 100644 --- a/Mathlib/Tactic/Linarith/Preprocessing.lean +++ b/Mathlib/Tactic/Linarith/Preprocessing.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Control.Basic -import Mathlib.Lean.Meta.Tactic.Rewrite -import Mathlib.Tactic.CancelDenoms.Core -import Mathlib.Tactic.Linarith.Datatypes -import Mathlib.Tactic.Zify -import Mathlib.Util.AtomM +module + +public meta import Mathlib.Control.Basic +public meta import Mathlib.Lean.Meta.Tactic.Rewrite +public meta import Mathlib.Tactic.CancelDenoms.Core +public meta import Mathlib.Tactic.Linarith.Datatypes +public meta import Mathlib.Tactic.Zify +public meta import Mathlib.Util.AtomM /-! # Linarith preprocessing @@ -26,6 +28,8 @@ preprocessing steps by adding them to the `LinarithConfig` object. `Linarith.def is the main list, and generally none of these should be skipped unless you know what you're doing. -/ +public meta section + namespace Mathlib.Tactic.Linarith /-! ### Preprocessing -/ diff --git a/Mathlib/Tactic/Linarith/Verification.lean b/Mathlib/Tactic/Linarith/Verification.lean index 635bca8530c4a8..339db7ecc89a66 100644 --- a/Mathlib/Tactic/Linarith/Verification.lean +++ b/Mathlib/Tactic/Linarith/Verification.lean @@ -3,9 +3,10 @@ Copyright (c) 2020 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ +module -import Mathlib.Tactic.Linarith.Parsing -import Mathlib.Util.Qq +public meta import Mathlib.Tactic.Linarith.Parsing +public meta import Mathlib.Util.Qq /-! # Deriving a proof of false @@ -19,6 +20,8 @@ This file implements the reconstruction. The public facing declaration in this file is `proveFalseByLinarith`. -/ +public meta section + open Lean Elab Tactic Meta namespace Qq diff --git a/Mathlib/Tactic/LinearCombination'.lean b/Mathlib/Tactic/LinearCombination'.lean index 0e780eeb01b222..9581ecfc01a1cf 100644 --- a/Mathlib/Tactic/LinearCombination'.lean +++ b/Mathlib/Tactic/LinearCombination'.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Abby J. Goldberg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Abby J. Goldberg, Mario Carneiro -/ -import Mathlib.Tactic.Ring +module + +public meta import Mathlib.Tactic.Ring /-! # linear_combination' Tactic @@ -35,6 +37,8 @@ implementation, but this version is provided for backward-compatibility. -/ +public meta section + namespace Mathlib.Tactic.LinearCombination' open Lean open Elab Meta Term diff --git a/Mathlib/Tactic/LinearCombination.lean b/Mathlib/Tactic/LinearCombination.lean index dcf59bbc269d72..2cd48e2eca6e17 100644 --- a/Mathlib/Tactic/LinearCombination.lean +++ b/Mathlib/Tactic/LinearCombination.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Abby J. Goldberg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Abby J. Goldberg, Mario Carneiro, Heather Macbeth -/ -import Mathlib.Tactic.LinearCombination.Lemmas -import Mathlib.Tactic.Positivity.Core -import Mathlib.Tactic.Ring -import Mathlib.Tactic.Ring.Compare +module + +public meta import Mathlib.Tactic.LinearCombination.Lemmas +public meta import Mathlib.Tactic.Positivity.Core +public meta import Mathlib.Tactic.Ring +public meta import Mathlib.Tactic.Ring.Compare /-! # linear_combination Tactic @@ -35,6 +37,8 @@ Lastly, calls a normalization tactic on this target. -/ +public meta section + namespace Mathlib.Tactic.LinearCombination open Lean open Elab Meta Term Ineq diff --git a/Mathlib/Tactic/LinearCombination/Lemmas.lean b/Mathlib/Tactic/LinearCombination/Lemmas.lean index 18c244400fb4d3..592f6411733496 100644 --- a/Mathlib/Tactic/LinearCombination/Lemmas.lean +++ b/Mathlib/Tactic/LinearCombination/Lemmas.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Abby J. Goldberg. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Abby J. Goldberg, Mario Carneiro, Heather Macbeth -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.Order.Module.Defs -import Mathlib.Data.Ineq +module + +public meta import Mathlib.Algebra.Field.Defs +public meta import Mathlib.Algebra.Order.Module.Defs +public meta import Mathlib.Data.Ineq /-! # Lemmas for the linear_combination tactic @@ -13,6 +15,8 @@ import Mathlib.Data.Ineq These should not be used directly in user code. -/ +public meta section + open Lean namespace Mathlib.Tactic.LinearCombination diff --git a/Mathlib/Tactic/Linter.lean b/Mathlib/Tactic/Linter.lean index b1f0e187dc95e6..419862edf050aa 100644 --- a/Mathlib/Tactic/Linter.lean +++ b/Mathlib/Tactic/Linter.lean @@ -7,9 +7,10 @@ This file is ignored by `shake`: * it is in `ignoreAll`, meaning that all its imports are considered necessary; * it is in `ignoreImport`, meaning that where it is imported, it is considered necessary. -/ +module -import Mathlib.Tactic.Linter.DeprecatedModule -import Mathlib.Tactic.Linter.HaveLetLinter -import Mathlib.Tactic.Linter.MinImports -import Mathlib.Tactic.Linter.PPRoundtrip -import Mathlib.Tactic.Linter.UpstreamableDecl +public meta import Mathlib.Tactic.Linter.DeprecatedModule +public meta import Mathlib.Tactic.Linter.HaveLetLinter +public meta import Mathlib.Tactic.Linter.MinImports +public meta import Mathlib.Tactic.Linter.PPRoundtrip +public meta import Mathlib.Tactic.Linter.UpstreamableDecl diff --git a/Mathlib/Tactic/Linter/CommandRanges.lean b/Mathlib/Tactic/Linter/CommandRanges.lean index 4f7385de70f796..f6d52ec9be912e 100644 --- a/Mathlib/Tactic/Linter/CommandRanges.lean +++ b/Mathlib/Tactic/Linter/CommandRanges.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init -- `import Lean.Elab.Command` is enough +public meta import Mathlib.Init -- `import Lean.Elab.Command` is enough /-! # The "commandRanges" linter @@ -19,6 +20,8 @@ This linter is strictly tied to the `#clear_deprecations` command in `Mathlib/Tactic/Linter/FindDeprecations.lean`. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/CommandStart.lean b/Mathlib/Tactic/Linter/CommandStart.lean index cd44cdf4b458a7..52a7ff8b9575e7 100644 --- a/Mathlib/Tactic/Linter/CommandStart.lean +++ b/Mathlib/Tactic/Linter/CommandStart.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # The `commandStart` linter @@ -14,6 +15,8 @@ The `commandStart` linter emits a warning if * or the "hypotheses segment" of a declaration does not coincide with its pretty-printed version. -/ +public meta section + open Lean Elab Command Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/DeprecatedModule.lean b/Mathlib/Tactic/Linter/DeprecatedModule.lean index e8eda1ff75028f..107fec8dc146ec 100644 --- a/Mathlib/Tactic/Linter/DeprecatedModule.lean +++ b/Mathlib/Tactic/Linter/DeprecatedModule.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Std.Time.Format -import Mathlib.Init +module + +public meta import Std.Time.Format +public meta import Mathlib.Init /-! # The `deprecated.module` linter @@ -25,6 +27,8 @@ This triggers the `deprecated.module` linter to notify every file with `import A to instead import the *direct imports* of `A`, that is `B, ..., Z`. -/ +public meta section + open Lean Elab Command Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean b/Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean index f521c155d143ff..6c60c7b9d027bd 100644 --- a/Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean +++ b/Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Jeremy Tan, Adomas Baliuka -/ +module -import Lean.Elab.Command +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # Linter against deprecated syntax @@ -34,6 +35,8 @@ This linter is an incentive to discourage uses of such deprecated syntax, withou It is not inherently limited to tactics. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter.Style diff --git a/Mathlib/Tactic/Linter/DirectoryDependency.lean b/Mathlib/Tactic/Linter/DirectoryDependency.lean index fabb4b228fdb78..3d81326741e1a5 100644 --- a/Mathlib/Tactic/Linter/DirectoryDependency.lean +++ b/Mathlib/Tactic/Linter/DirectoryDependency.lean @@ -3,8 +3,11 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Lean.Elab.Command -import Lean.Elab.ParseImportsFast +module + +public meta import Lean.Elab.Command +public meta import Lean.Elab.ParseImportsFast +public meta import Lean.Linter.Basic -- This file is imported by the Header linter, hence has no mathlib imports. /-! # The `directoryDependency` linter @@ -14,6 +17,8 @@ independent. By specifying that one directory does not import from another, we c modularity of Mathlib. -/ +public meta section + -- XXX: is there a better long-time place for this /-- Parse all imports in a text file at `path` and return just their names: this is just a thin wrapper around `Lean.parseImports'`. @@ -91,7 +96,7 @@ prefixes `n₁'` of `n₁` and `n₂'` of `n₂` such that `n₁' R n₂'`. The current implementation is a `NameMap` of `NameSet`s, testing each prefix of `n₁` and `n₂` in turn. This can probably be optimized. -/ -def NamePrefixRel := NameMap NameSet +@[expose] def NamePrefixRel := NameMap NameSet namespace NamePrefixRel @@ -634,7 +639,7 @@ private def checkBlocklist (env : Environment) (mainModule : Name) (imports : Ar @[inherit_doc Mathlib.Linter.linter.directoryDependency] def directoryDependencyCheck (mainModule : Name) : CommandElabM (Array MessageData) := do - unless Linter.getLinterValue linter.directoryDependency (← getLinterOptions) do + unless Linter.getLinterValue linter.directoryDependency (← Linter.getLinterOptions) do return #[] let env ← getEnv let imports := env.allImportedModuleNames diff --git a/Mathlib/Tactic/Linter/DocPrime.lean b/Mathlib/Tactic/Linter/DocPrime.lean index 630155343be528..fd76c77a4ab75a 100644 --- a/Mathlib/Tactic/Linter/DocPrime.lean +++ b/Mathlib/Tactic/Linter/DocPrime.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Lean.Elab.Command +module + +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # The "docPrime" linter @@ -18,6 +20,8 @@ to an unprimed version of that declaration, or an explanation as to why no bette is possible. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/DocString.lean b/Mathlib/Tactic/Linter/DocString.lean index f41fb4f542cbcc..a88af20f6d644e 100644 --- a/Mathlib/Tactic/Linter/DocString.lean +++ b/Mathlib/Tactic/Linter/DocString.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang, Damiano Testa -/ +module -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # The "DocString" style linter @@ -12,6 +13,8 @@ import Mathlib.Tactic.Linter.Header The "DocString" linter validates style conventions regarding doc-string formatting. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/FindDeprecations.lean b/Mathlib/Tactic/Linter/FindDeprecations.lean index 65ddb0f672bdd9..eaced586a62342 100644 --- a/Mathlib/Tactic/Linter/FindDeprecations.lean +++ b/Mathlib/Tactic/Linter/FindDeprecations.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init -- `import ImportGraph.Imports` is enough +public meta import Mathlib.Init -- `import ImportGraph.Imports` is enough /-! # The `#clear_deprecations` command @@ -18,6 +19,8 @@ ending with `date₂`. See the doc-string for the command for more information. -/ +public meta section + open Lean Elab Command namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/Linter/FlexibleLinter.lean b/Mathlib/Tactic/Linter/FlexibleLinter.lean index c37cfee7ef13f6..9099e59bc42b74 100644 --- a/Mathlib/Tactic/Linter/FlexibleLinter.lean +++ b/Mathlib/Tactic/Linter/FlexibleLinter.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Lean.Elab.Command -import Mathlib.Tactic.Linter.Header +module + +public meta import Lean.Elab.Command +public meta import Mathlib.Tactic.Linter.Header /-! # The "flexible" linter @@ -89,6 +91,8 @@ We then propagate all the `FVarId`s that were present in the "before" goals to t while leaving untouched the ones in the "inert" goals. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/GlobalAttributeIn.lean b/Mathlib/Tactic/Linter/GlobalAttributeIn.lean index c46a210e67ef1c..bfec9739422818 100644 --- a/Mathlib/Tactic/Linter/GlobalAttributeIn.lean +++ b/Mathlib/Tactic/Linter/GlobalAttributeIn.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang, Damiano Testa -/ +module -import Lean.Elab.Command +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # Linter for `attribute [...] in` declarations @@ -76,6 +77,8 @@ example : False := by simp ``` -/ +public meta section + open Lean Elab Command Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/HashCommandLinter.lean b/Mathlib/Tactic/Linter/HashCommandLinter.lean index df8b17febe8c01..99789a4dc0dc75 100644 --- a/Mathlib/Tactic/Linter/HashCommandLinter.lean +++ b/Mathlib/Tactic/Linter/HashCommandLinter.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Lean.Elab.Command +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # `#`-command linter @@ -22,6 +23,8 @@ Most of them are noisy and get picked up anyway by CI, but even the quiet ones a outlive their in-development status. -/ +public meta section + namespace Mathlib.Linter /-- diff --git a/Mathlib/Tactic/Linter/HaveLetLinter.lean b/Mathlib/Tactic/Linter/HaveLetLinter.lean index 2de754eeeaa612..4945a0d36a7ae8 100644 --- a/Mathlib/Tactic/Linter/HaveLetLinter.lean +++ b/Mathlib/Tactic/Linter/HaveLetLinter.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init -import Lean.Elab.Command -import Lean.Server.InfoUtils -import Mathlib.Tactic.DeclarationNames +public meta import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Lean.Server.InfoUtils +public meta import Mathlib.Tactic.DeclarationNames /-! # The `have` vs `let` linter @@ -26,6 +27,8 @@ TODO: should the linter act on them as well? -/ +public meta section + open Lean Elab Command Meta namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/Header.lean b/Mathlib/Tactic/Linter/Header.lean index 166f64f158db02..925a910ca025bc 100644 --- a/Mathlib/Tactic/Linter/Header.lean +++ b/Mathlib/Tactic/Linter/Header.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang, Damiano Testa -/ -import Lean.Elab.Command -import Lean.Elab.ParseImportsFast -import Mathlib.Tactic.Linter.DirectoryDependency +module + +public meta import Lean.Elab.Command +public meta import Lean.Elab.ParseImportsFast +public meta import Mathlib.Tactic.Linter.DirectoryDependency /-! # The "header" linter @@ -48,6 +50,8 @@ could arise from this part and also flag that the file should contain a module d the `import` statements. -/ +public meta section + open Lean Elab Command Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/Lint.lean b/Mathlib/Tactic/Linter/Lint.lean index 486a03bbb571ce..bdd37dfe6f225d 100644 --- a/Mathlib/Tactic/Linter/Lint.lean +++ b/Mathlib/Tactic/Linter/Lint.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Batteries.Tactic.Lint -import Mathlib.Tactic.DeclarationNames +module + +public meta import Batteries.Tactic.Lint +public meta import Mathlib.Tactic.DeclarationNames /-! # Linters for Mathlib @@ -15,6 +17,8 @@ which concern the *behaviour* of the linted code, and not issues of code style o Perhaps these should be moved to Batteries in the future. -/ +public meta section + namespace Batteries.Tactic.Lint open Lean Meta diff --git a/Mathlib/Tactic/Linter/MinImports.lean b/Mathlib/Tactic/Linter/MinImports.lean index f976edcccad691..5d3153253116e5 100644 --- a/Mathlib/Tactic/Linter/MinImports.lean +++ b/Mathlib/Tactic/Linter/MinImports.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import ImportGraph.Imports -import Mathlib.Tactic.MinImports +module + +public meta import ImportGraph.Imports +public meta import Mathlib.Tactic.MinImports /-! # The `minImports` linter @@ -18,6 +20,8 @@ It also works incrementally, accumulating increasing import information. This is better suited, for instance, to split files. -/ +public meta section + open Lean Elab Command Linter /-! diff --git a/Mathlib/Tactic/Linter/Multigoal.lean b/Mathlib/Tactic/Linter/Multigoal.lean index df8bd77e6601d7..04fc3653d9a169 100644 --- a/Mathlib/Tactic/Linter/Multigoal.lean +++ b/Mathlib/Tactic/Linter/Multigoal.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Lean.Elab.Command +module + +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # The "multiGoal" linter @@ -37,6 +39,8 @@ TODO: Maybe revisit usages of `on_goal` and also nested `induction` and `cases`. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/OldObtain.lean b/Mathlib/Tactic/Linter/OldObtain.lean index f3afec0951719b..0383454f27aa35 100644 --- a/Mathlib/Tactic/Linter/OldObtain.lean +++ b/Mathlib/Tactic/Linter/OldObtain.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ +module -import Lean.Elab.Command +public meta import Lean.Elab.Command -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # The `oldObtain` linter, against stream-of-consciousness `obtain` @@ -49,6 +50,8 @@ case... but by now, the "old" syntax is not clearly better.) In the 30 replacements of the last PR, this occurred twice. In both cases, the `suffices` tactic could also be used, as was in fact clearer. -/ +public meta section + open Lean Elab Linter namespace Mathlib.Linter.Style diff --git a/Mathlib/Tactic/Linter/PPRoundtrip.lean b/Mathlib/Tactic/Linter/PPRoundtrip.lean index 88c575892d0b23..03be5f5248b900 100644 --- a/Mathlib/Tactic/Linter/PPRoundtrip.lean +++ b/Mathlib/Tactic/Linter/PPRoundtrip.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Lean.Elab.Command -import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Mathlib.Init /-! # The "ppRoundtrip" linter @@ -13,6 +14,8 @@ import Mathlib.Init The "ppRoundtrip" linter emits a warning when the syntax of a command differs substantially from the pretty-printed version of itself. -/ + +public meta section open Lean Elab Command Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/Style.lean b/Mathlib/Tactic/Linter/Style.lean index b39468014f9ec7..3fddfa7a739793 100644 --- a/Mathlib/Tactic/Linter/Style.lean +++ b/Mathlib/Tactic/Linter/Style.lean @@ -3,13 +3,14 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ +module -import Lean.Elab.Command -import Lean.Server.InfoUtils +public meta import Lean.Elab.Command +public meta import Lean.Server.InfoUtils -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header -import Mathlib.Tactic.DeclarationNames +public meta import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.DeclarationNames /-! ## Style linters @@ -41,6 +42,8 @@ All of these linters are enabled in mathlib by default, but disabled globally since they enforce conventions which are inherently subjective. -/ +public meta section + open Lean Parser Elab Command Meta Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/TextBased.lean b/Mathlib/Tactic/Linter/TextBased.lean index 64bb657a74f93e..4299d4cf76d129 100644 --- a/Mathlib/Tactic/Linter/TextBased.lean +++ b/Mathlib/Tactic/Linter/TextBased.lean @@ -3,10 +3,13 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ +module -import Batteries.Data.String.Matcher -import Mathlib.Data.Nat.Notation -import Lake.Util.Casing +public meta import Batteries.Data.String.Matcher +public meta import Mathlib.Data.Nat.Notation +public meta import Lake.Util.Casing + +public meta section -- Don't warn about the lake import: the above file has almost no imports, and this PR has been -- benchmarked. diff --git a/Mathlib/Tactic/Linter/UnusedTactic.lean b/Mathlib/Tactic/Linter/UnusedTactic.lean index 6d542c1614e933..ceadf36e3c95a0 100644 --- a/Mathlib/Tactic/Linter/UnusedTactic.lean +++ b/Mathlib/Tactic/Linter/UnusedTactic.lean @@ -3,13 +3,14 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Lean.Parser.Syntax -import Batteries.Tactic.Unreachable +public meta import Lean.Parser.Syntax +public meta import Batteries.Tactic.Unreachable -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header -import Mathlib.Tactic.Linter.UnusedTacticExtension +public meta import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.UnusedTacticExtension /-! # The unused tactic linter @@ -54,6 +55,8 @@ before and after and see if there is some change. Yet another linter copied from the `unreachableTactic` linter! -/ +public meta section + open Lean Elab Std Linter namespace Mathlib.Linter diff --git a/Mathlib/Tactic/Linter/UnusedTacticExtension.lean b/Mathlib/Tactic/Linter/UnusedTacticExtension.lean index d1688ce8ca2553..5f65fa6c8c3fb9 100644 --- a/Mathlib/Tactic/Linter/UnusedTacticExtension.lean +++ b/Mathlib/Tactic/Linter/UnusedTacticExtension.lean @@ -6,13 +6,17 @@ Authors: Damiano Testa -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +module + +public meta import Mathlib.Tactic.Linter.Header /-! This file defines the environment extension to keep track of which tactics are allowed to leave the tactic state unchanged and not trigger the unused tactic linter. -/ +public meta section + open Lean Elab Command namespace Mathlib.Linter.UnusedTactic diff --git a/Mathlib/Tactic/Linter/UpstreamableDecl.lean b/Mathlib/Tactic/Linter/UpstreamableDecl.lean index 5cdfbf0fe73004..74742d92538e98 100644 --- a/Mathlib/Tactic/Linter/UpstreamableDecl.lean +++ b/Mathlib/Tactic/Linter/UpstreamableDecl.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa, Anne Baanen -/ -import ImportGraph.Meta -import Mathlib.Init +module + +public meta import ImportGraph.Meta +public meta import Mathlib.Init /-! # The `upstreamableDecl` linter @@ -12,6 +14,8 @@ The `upstreamableDecl` linter detects declarations that could be moved to a file import hierarchy. This is intended to assist with splitting files. -/ +public meta section + open Lean Elab Command Linter /-- Does this declaration come from the current file? -/ diff --git a/Mathlib/Tactic/Measurability.lean b/Mathlib/Tactic/Measurability.lean index a21c374eb08c5b..2e48d60e8b07ea 100644 --- a/Mathlib/Tactic/Measurability.lean +++ b/Mathlib/Tactic/Measurability.lean @@ -3,15 +3,18 @@ Copyright (c) 2023 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.Tactic.Measurability.Init -import Mathlib.Algebra.Group.Defs +public meta import Mathlib.Tactic.Measurability.Init +public meta import Mathlib.Algebra.Group.Defs /-! # Measurability We define the `measurability` tactic using `aesop`. -/ +public meta section + open Lean.Parser.Tactic (optConfig) attribute [aesop (rule_sets := [Measurable]) unfold norm] Function.comp diff --git a/Mathlib/Tactic/Measurability/Init.lean b/Mathlib/Tactic/Measurability/Init.lean index 8d4de6f8f88c61..d4b28059b7e463 100644 --- a/Mathlib/Tactic/Measurability/Init.lean +++ b/Mathlib/Tactic/Measurability/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.Init -import Aesop +public meta import Mathlib.Init +public meta import Aesop /-! # Measurability Rule Set @@ -15,4 +16,6 @@ This module defines the `Measurable` Aesop rule set which is used by the they're declared is imported, so we must put this declaration into its own file. -/ +public meta section + declare_aesop_rule_sets [Measurable] diff --git a/Mathlib/Tactic/MinImports.lean b/Mathlib/Tactic/MinImports.lean index 035b5ac6de7d1a..ab6e379e05794a 100644 --- a/Mathlib/Tactic/MinImports.lean +++ b/Mathlib/Tactic/MinImports.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Lean.Elab.DefView -import Lean.Util.CollectAxioms -import ImportGraph.Imports -import ImportGraph.RequiredModules +module + +public meta import Lean.Elab.DefView +public meta import Lean.Util.CollectAxioms +public meta import ImportGraph.Imports +public meta import ImportGraph.RequiredModules -- Import this linter explicitly to ensure that -- this file has a valid copyright header and module docstring. -import Mathlib.Tactic.Linter.Header +public meta import Mathlib.Tactic.Linter.Header /-! # `#min_imports in` a command to find minimal imports @@ -55,6 +57,8 @@ to inspect the `InfoTrees` for each command and retrieve information from there. I have not looked into this yet. -/ +public meta section + open Lean Elab Command namespace Mathlib.Command.MinImports diff --git a/Mathlib/Tactic/MkIffOfInductiveProp.lean b/Mathlib/Tactic/MkIffOfInductiveProp.lean index 753e54fe6c554a..8de53746f1314b 100644 --- a/Mathlib/Tactic/MkIffOfInductiveProp.lean +++ b/Mathlib/Tactic/MkIffOfInductiveProp.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, David Renshaw -/ -import Lean.Elab.DeclarationRange -import Lean.Meta.Tactic.Cases -import Mathlib.Lean.Meta -import Mathlib.Lean.Name -import Mathlib.Tactic.TypeStar +module + +public meta import Lean.Elab.DeclarationRange +public meta import Lean.Meta.Tactic.Cases +public meta import Mathlib.Lean.Meta +public meta import Mathlib.Lean.Name +public meta import Mathlib.Tactic.TypeStar /-! # mk_iff_of_inductive_prop @@ -25,6 +27,8 @@ This tactic can be called using either the `mk_iff_of_inductive_prop` user comma the `mk_iff` attribute. -/ +public meta section + namespace Mathlib.Tactic.MkIff open Lean Meta Elab diff --git a/Mathlib/Tactic/ModCases.lean b/Mathlib/Tactic/ModCases.lean index 22158b8012d74b..06934ec8cdbc41 100644 --- a/Mathlib/Tactic/ModCases.lean +++ b/Mathlib/Tactic/ModCases.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth -/ -import Mathlib.Data.Int.ModEq -import Mathlib.Tactic.HaveI +module + +public meta import Mathlib.Data.Int.ModEq +public meta import Mathlib.Tactic.HaveI /-! # `mod_cases` tactic @@ -12,6 +14,8 @@ The `mod_cases` tactic does case disjunction on `e % n`, where `e : ℤ` or `e : to yield `n` new subgoals corresponding to the possible values of `e` modulo `n`. -/ +public meta section + namespace Mathlib.Tactic.ModCases open Lean Meta Elab Tactic Term Qq @@ -24,7 +28,7 @@ there exists `0 ≤ z < n` such that `a ≡ z (mod n)`. It asserts that if `∃ z, lb ≤ z < n ∧ a ≡ z (mod n)` holds, then `p` (where `p` is the current goal). -/ -def OnModCases (n : ℕ) (a : ℤ) (lb : ℕ) (p : Sort*) := +@[expose] def OnModCases (n : ℕ) (a : ℤ) (lb : ℕ) (p : Sort*) := ∀ z, lb ≤ z ∧ z < n ∧ a ≡ ↑z [ZMOD ↑n] → p /-- @@ -101,7 +105,7 @@ there exists `0 ≤ m < n` such that `a ≡ m (mod n)`. It asserts that if `∃ m, lb ≤ m < n ∧ a ≡ m (mod n)` holds, then `p` (where `p` is the current goal). -/ -def OnModCases (n : ℕ) (a : ℕ) (lb : ℕ) (p : Sort _) := +@[expose] def OnModCases (n : ℕ) (a : ℕ) (lb : ℕ) (p : Sort _) := ∀ m, lb ≤ m ∧ m < n ∧ a ≡ m [MOD n] → p /-- diff --git a/Mathlib/Tactic/Module.lean b/Mathlib/Tactic/Module.lean index d1745a6b5dd337..ffd06274fa9119 100644 --- a/Mathlib/Tactic/Module.lean +++ b/Mathlib/Tactic/Module.lean @@ -3,10 +3,13 @@ Copyright (c) 2024 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Algebra.BigOperators.GroupWithZero.Action -import Mathlib.Tactic.Ring -import Mathlib.Util.AtomM +module + +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Algebra.BigOperators.GroupWithZero.Action +public import Mathlib.Tactic.Ring +public import Mathlib.Util.AtomM +public meta import Mathlib.Algebra.Algebra.Defs /-! # A tactic for normalization over modules @@ -24,11 +27,15 @@ semirings which appear in the expression: for any two semirings `R` and `S` whic either `Algebra R S` or `Algebra S R`). -/ +public meta section + open Lean hiding Module open Meta Elab Qq Mathlib.Tactic List namespace Mathlib.Tactic.Module +@[expose] section + /-! ### Theory of lists of pairs (scalar, vector) This section contains the lemmas which are orchestrated by the `match_scalars` and `module` tactics @@ -206,7 +213,9 @@ theorem eval_algebraMap [CommSemiring S] [Semiring R] [Algebra S R] [AddMonoid M simp [IsScalarTower.algebraMap_smul] end NF +end +public meta section variable {u v : Level} /-! ### Lists of expressions representing scalars and vectors, and operations on such lists -/ @@ -257,7 +266,7 @@ the same `ℕ`-component `k`, then the expressions `x₁` and `x₂` are equal. The construction is as follows: merge the two lists, except that if pairs `(a₁, x₁)` and `(a₂, x₂)` appear in `l₁`, `l₂` respectively with the same `ℕ`-component `k`, then contribute a term `(a₁ + a₂, x₁)` to the output list with `ℕ`-component `k`. -/ -def add (iR : Q(Semiring $R)) : qNF R M → qNF R M → qNF R M +meta def add (iR : Q(Semiring $R)) : qNF R M → qNF R M → qNF R M | [], l => l | l, [] => l | ((a₁, x₁), k₁) ::ᵣ t₁, ((a₂, x₂), k₂) ::ᵣ t₂ => @@ -272,7 +281,7 @@ def add (iR : Q(Semiring $R)) : qNF R M → qNF R M → qNF R M and a natural number), recursively construct a proof that in the `$R`-module `$M`, the sum of the "linear combinations" represented by `l₁` and `l₂` is the linear combination represented by `Module.qNF.add iR l₁ l₁`. -/ -def mkAddProof {iR : Q(Semiring $R)} {iM : Q(AddCommMonoid $M)} (iRM : Q(Module $R $M)) +meta def mkAddProof {iR : Q(Semiring $R)} {iM : Q(AddCommMonoid $M)} (iRM : Q(Module $R $M)) (l₁ l₂ : qNF R M) : Q(NF.eval $(l₁.toNF) + NF.eval $(l₂.toNF) = NF.eval $((qNF.add iR l₁ l₂).toNF)) := match l₁, l₂ with @@ -646,4 +655,5 @@ elab "module" : tactic => Tactic.liftMetaFinishingTactic fun g ↦ do let l ← matchScalars g discard <| l.mapM fun mvar ↦ AtomM.run .instances (Ring.proveEq mvar) +end end Mathlib.Tactic.Module diff --git a/Mathlib/Tactic/Monotonicity.lean b/Mathlib/Tactic/Monotonicity.lean index 18fa5aa306dd71..942904caf94e5f 100644 --- a/Mathlib/Tactic/Monotonicity.lean +++ b/Mathlib/Tactic/Monotonicity.lean @@ -1,2 +1,4 @@ -import Mathlib.Tactic.Monotonicity.Basic -import Mathlib.Tactic.Monotonicity.Lemmas +module + +public meta import Mathlib.Tactic.Monotonicity.Basic +public meta import Mathlib.Tactic.Monotonicity.Lemmas diff --git a/Mathlib/Tactic/Monotonicity/Attr.lean b/Mathlib/Tactic/Monotonicity/Attr.lean index ce61e3c78dcdad..879f44bdb5b759 100644 --- a/Mathlib/Tactic/Monotonicity/Attr.lean +++ b/Mathlib/Tactic/Monotonicity/Attr.lean @@ -3,11 +3,15 @@ Copyright (c) 2023 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Init -import Lean.LabelAttribute +module + +public meta import Mathlib.Init +public meta import Lean.LabelAttribute /-! # The @[mono] attribute -/ +public meta section + namespace Mathlib.Tactic.Monotonicity syntax mono.side := &"left" <|> &"right" <|> &"both" diff --git a/Mathlib/Tactic/Monotonicity/Basic.lean b/Mathlib/Tactic/Monotonicity/Basic.lean index 550e892a4bab09..55cd57fa337b42 100644 --- a/Mathlib/Tactic/Monotonicity/Basic.lean +++ b/Mathlib/Tactic/Monotonicity/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Lean.Elab.Tactic.SolveByElim -import Mathlib.Tactic.Monotonicity.Attr +module + +public meta import Lean.Elab.Tactic.SolveByElim +public meta import Mathlib.Tactic.Monotonicity.Attr /-! # Monotonicity tactic @@ -23,6 +25,8 @@ local hypotheses and `rfl` are all applied repeatedly until nothing more is appl for this in Lean 3 was `mono*`. Both `mono` and `mono*` implement this behavior for now. -/ +public meta section + open Lean Elab Tactic Parser Tactic open Tactic SolveByElim diff --git a/Mathlib/Tactic/Monotonicity/Lemmas.lean b/Mathlib/Tactic/Monotonicity/Lemmas.lean index 726e6863177b40..8ebc85466d0b0f 100644 --- a/Mathlib/Tactic/Monotonicity/Lemmas.lean +++ b/Mathlib/Tactic/Monotonicity/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Algebra.Order.Group.Abs -import Mathlib.Algebra.Order.Ring.Defs -import Mathlib.Algebra.Order.Sub.Unbundled.Basic -import Mathlib.Data.Set.Lattice -import Mathlib.Tactic.Monotonicity.Attr +module + +public meta import Mathlib.Algebra.Order.Group.Abs +public meta import Mathlib.Algebra.Order.Ring.Defs +public meta import Mathlib.Algebra.Order.Sub.Unbundled.Basic +public meta import Mathlib.Data.Set.Lattice +public meta import Mathlib.Tactic.Monotonicity.Attr /-! # Lemmas for the `mono` tactic @@ -16,6 +18,8 @@ this file we tag a few foundational lemmas with the mono attribute. Lemmas in m are tagged in place. -/ +public meta section + open Set attribute [mono] le_refl -- added for Lean 4 version diff --git a/Mathlib/Tactic/MoveAdd.lean b/Mathlib/Tactic/MoveAdd.lean index d1d6811483f2d9..c344277bdb4438 100644 --- a/Mathlib/Tactic/MoveAdd.lean +++ b/Mathlib/Tactic/MoveAdd.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Damiano Testa -/ -import Mathlib.Algebra.Group.Basic -import Mathlib.Lean.Meta -import Mathlib.Order.Defs.LinearOrder +module + +public meta import Mathlib.Algebra.Group.Basic +public meta import Mathlib.Lean.Meta +public meta import Mathlib.Order.Defs.LinearOrder /-! @@ -100,6 +102,8 @@ Currently, no attempt is made at guiding `simp` by doing a `congr`-like destruct This will be the content of a later PR. -/ +public meta section + open Lean Expr /-- `getExprInputs e` inspects the outermost constructor of `e` and returns the array of all the diff --git a/Mathlib/Tactic/NoncommRing.lean b/Mathlib/Tactic/NoncommRing.lean index 468f60861ff447..2cc46290a03b36 100644 --- a/Mathlib/Tactic/NoncommRing.lean +++ b/Mathlib/Tactic/NoncommRing.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux, Kim Morrison, Oliver Nash -/ -import Mathlib.Algebra.Group.Action.Defs -import Mathlib.Tactic.Abel +module + +public meta import Mathlib.Algebra.Group.Action.Defs +public meta import Mathlib.Tactic.Abel /-! # The `noncomm_ring` tactic @@ -18,6 +20,8 @@ maximum recursion depth. to close the goal, and if that doesn't succeed, defaults to `abel_nf`. -/ +public meta section + namespace Mathlib.Tactic.NoncommRing section nat_lit_mul diff --git a/Mathlib/Tactic/Nontriviality.lean b/Mathlib/Tactic/Nontriviality.lean index 600c997ea7dabf..1e3dcf4efe9ac1 100644 --- a/Mathlib/Tactic/Nontriviality.lean +++ b/Mathlib/Tactic/Nontriviality.lean @@ -3,6 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro -/ -import Mathlib.Tactic.Nontriviality.Core +module + +public meta import Mathlib.Tactic.Nontriviality.Core /-! # The `nontriviality` tactic. -/ + +public meta section diff --git a/Mathlib/Tactic/Nontriviality/Core.lean b/Mathlib/Tactic/Nontriviality/Core.lean index b82013ad9f4149..409c4e81bd001e 100644 --- a/Mathlib/Tactic/Nontriviality/Core.lean +++ b/Mathlib/Tactic/Nontriviality/Core.lean @@ -3,12 +3,16 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro -/ -import Qq.MetaM -import Mathlib.Logic.Nontrivial.Basic -import Mathlib.Tactic.Attr.Core +module + +public meta import Qq.MetaM +public meta import Mathlib.Logic.Nontrivial.Basic +public meta import Mathlib.Tactic.Attr.Core /-! # The `nontriviality` tactic. -/ +public meta section + universe u namespace Mathlib.Tactic.Nontriviality diff --git a/Mathlib/Tactic/NormNum.lean b/Mathlib/Tactic/NormNum.lean index 449273435790c1..0fb55473c60b93 100644 --- a/Mathlib/Tactic/NormNum.lean +++ b/Mathlib/Tactic/NormNum.lean @@ -1,9 +1,11 @@ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.NormNum.OfScientific -import Mathlib.Tactic.NormNum.Abs -import Mathlib.Tactic.NormNum.Eq -import Mathlib.Tactic.NormNum.Ineq -import Mathlib.Tactic.NormNum.Pow -import Mathlib.Tactic.NormNum.Inv -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Data.Rat.Cast.Order +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Tactic.NormNum.OfScientific +public meta import Mathlib.Tactic.NormNum.Abs +public meta import Mathlib.Tactic.NormNum.Eq +public meta import Mathlib.Tactic.NormNum.Ineq +public meta import Mathlib.Tactic.NormNum.Pow +public meta import Mathlib.Tactic.NormNum.Inv +public meta import Mathlib.Tactic.NormNum.DivMod +public meta import Mathlib.Data.Rat.Cast.Order diff --git a/Mathlib/Tactic/NormNum/Abs.lean b/Mathlib/Tactic/NormNum/Abs.lean index a5ed945b8d232f..28e5a4630b144b 100644 --- a/Mathlib/Tactic/NormNum/Abs.lean +++ b/Mathlib/Tactic/NormNum/Abs.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 David Renshaw. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Renshaw -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.Nat.Cast.Order.Ring +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.Nat.Cast.Order.Ring /-! @@ -13,6 +15,8 @@ import Mathlib.Data.Nat.Cast.Order.Ring TODO: plugins for `mabs`, `norm`, `nnorm`, and `enorm`. -/ +public meta section + namespace Mathlib.Meta.NormNum open Lean.Meta Qq diff --git a/Mathlib/Tactic/NormNum/Basic.lean b/Mathlib/Tactic/NormNum/Basic.lean index b99fd22fb84d04..e3f82c5bee6e04 100644 --- a/Mathlib/Tactic/NormNum/Basic.lean +++ b/Mathlib/Tactic/NormNum/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Thomas Murrills -/ -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Algebra.Ring.Int.Defs -import Mathlib.Data.Nat.Cast.Basic -import Mathlib.Data.Nat.Cast.Commute -import Mathlib.Tactic.NormNum.Core -import Mathlib.Tactic.HaveI -import Mathlib.Tactic.ClearExclamation +module + +public meta import Mathlib.Algebra.GroupWithZero.Invertible +public meta import Mathlib.Algebra.Ring.Int.Defs +public meta import Mathlib.Data.Nat.Cast.Basic +public meta import Mathlib.Data.Nat.Cast.Commute +public meta import Mathlib.Tactic.NormNum.Core +public meta import Mathlib.Tactic.HaveI +public meta import Mathlib.Tactic.ClearExclamation /-! ## `norm_num` basic plugins @@ -23,6 +25,8 @@ This file adds `norm_num` plugins for See other files in this directory for many more plugins. -/ +public meta section + universe u namespace Mathlib diff --git a/Mathlib/Tactic/NormNum/BigOperators.lean b/Mathlib/Tactic/NormNum/BigOperators.lean index a62c24a2a0b563..55ab06d0de483d 100644 --- a/Mathlib/Tactic/NormNum/BigOperators.lean +++ b/Mathlib/Tactic/NormNum/BigOperators.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Floris van Doorn -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.List.FinRange -import Mathlib.Algebra.BigOperators.Group.Finset.Basic +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.List.FinRange +public meta import Mathlib.Algebra.BigOperators.Group.Finset.Basic /-! # `norm_num` plugin for big operators @@ -36,6 +38,8 @@ In particular, we can't use the plugin on sums containing variables. normalization?) -/ +public meta section + namespace Mathlib.Meta open Lean diff --git a/Mathlib/Tactic/NormNum/Core.lean b/Mathlib/Tactic/NormNum/Core.lean index 087ce9a7a6d672..482bd9182afc09 100644 --- a/Mathlib/Tactic/NormNum/Core.lean +++ b/Mathlib/Tactic/NormNum/Core.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Lean.Expr.Rat -import Mathlib.Tactic.Hint -import Mathlib.Tactic.NormNum.Result -import Mathlib.Util.AtLocation -import Mathlib.Util.Qq -import Lean.Elab.Tactic.Location +module + +public meta import Mathlib.Lean.Expr.Rat +public meta import Mathlib.Tactic.Hint +public meta import Mathlib.Tactic.NormNum.Result +public meta import Mathlib.Util.AtLocation +public meta import Mathlib.Util.Qq +public meta import Lean.Elab.Tactic.Location /-! ## `norm_num` core functionality @@ -19,6 +21,8 @@ The actual behavior is in `@[norm_num]`-tagged definitions in `Tactic.NormNum.Ba and elsewhere. -/ +public meta section + open Lean open Lean.Meta Qq Lean.Elab Term @@ -169,6 +173,7 @@ initialize registerBuiltinAttribute { add := fun declName stx kind ↦ match stx with | `(attr| norm_num $es,*) => do let env ← getEnv + ensureAttrDeclIsMeta `norm_num declName kind unless (env.getModuleIdxFor? declName).isNone do throwError "invalid attribute 'norm_num', declaration is in an imported module" if (IR.getSorryDep env declName).isSome then return -- ignore in progress definitions diff --git a/Mathlib/Tactic/NormNum/DivMod.lean b/Mathlib/Tactic/NormNum/DivMod.lean index 8d0b6b00bb7ab8..237f03a9d112da 100644 --- a/Mathlib/Tactic/NormNum/DivMod.lean +++ b/Mathlib/Tactic/NormNum/DivMod.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Mario Carneiro -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.NormNum.Ineq +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Tactic.NormNum.Ineq /-! # `norm_num` extension for integer div/mod and divides @@ -13,6 +15,8 @@ This file adds support for the `%`, `/`, and `∣` (divisibility) operators on ` to the `norm_num` tactic. -/ +public meta section + namespace Mathlib open Lean open Meta diff --git a/Mathlib/Tactic/NormNum/Eq.lean b/Mathlib/Tactic/NormNum/Eq.lean index dc43724befd5a6..125fc5ec32f2ea 100644 --- a/Mathlib/Tactic/NormNum/Eq.lean +++ b/Mathlib/Tactic/NormNum/Eq.lean @@ -3,12 +3,16 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Tactic.NormNum.Inv +module + +public meta import Mathlib.Tactic.NormNum.Inv /-! # `norm_num` extension for equalities -/ +public meta section + variable {α : Type*} open Lean Meta Qq diff --git a/Mathlib/Tactic/NormNum/GCD.lean b/Mathlib/Tactic/NormNum/GCD.lean index 0cbdb4fb5b5f08..f2285fa3308173 100644 --- a/Mathlib/Tactic/NormNum/GCD.lean +++ b/Mathlib/Tactic/NormNum/GCD.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kyle Miller, Eric Wieser -/ -import Mathlib.Algebra.Ring.Divisibility.Basic -import Mathlib.Data.Int.GCD -import Mathlib.Tactic.NormNum +module + +public meta import Mathlib.Algebra.Ring.Divisibility.Basic +public meta import Mathlib.Data.Int.GCD +public meta import Mathlib.Tactic.NormNum /-! # `norm_num` extensions for GCD-adjacent functions @@ -16,6 +18,8 @@ Note that `Nat.coprime` is reducible and defined in terms of `Nat.gcd`, so the ` also indirectly provides a `Nat.coprime` extension. -/ +public meta section + namespace Tactic namespace NormNum diff --git a/Mathlib/Tactic/NormNum/Ineq.lean b/Mathlib/Tactic/NormNum/Ineq.lean index e10cdd45532f6e..b35f61db9b5774 100644 --- a/Mathlib/Tactic/NormNum/Ineq.lean +++ b/Mathlib/Tactic/NormNum/Ineq.lean @@ -3,16 +3,20 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Tactic.NormNum.Eq -import Mathlib.Algebra.Order.Field.Defs -import Mathlib.Algebra.Order.Invertible -import Mathlib.Algebra.Order.Monoid.WithTop -import Mathlib.Algebra.Order.Ring.Cast +module + +public meta import Mathlib.Tactic.NormNum.Eq +public meta import Mathlib.Algebra.Order.Field.Defs +public meta import Mathlib.Algebra.Order.Invertible +public meta import Mathlib.Algebra.Order.Monoid.WithTop +public meta import Mathlib.Algebra.Order.Ring.Cast /-! # `norm_num` extensions for inequalities. -/ +public meta section + open Lean Meta Qq namespace Mathlib.Meta.NormNum diff --git a/Mathlib/Tactic/NormNum/Inv.lean b/Mathlib/Tactic/NormNum/Inv.lean index f94d782c8e54d6..485363c305a11c 100644 --- a/Mathlib/Tactic/NormNum/Inv.lean +++ b/Mathlib/Tactic/NormNum/Inv.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.Rat.Cast.CharZero -import Mathlib.Algebra.Field.Basic +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.Rat.Cast.CharZero +public meta import Mathlib.Algebra.Field.Basic /-! # `norm_num` plugins for `Rat.cast` and `⁻¹`. -/ +public meta section + variable {u : Lean.Level} namespace Mathlib.Meta.NormNum diff --git a/Mathlib/Tactic/NormNum/Irrational.lean b/Mathlib/Tactic/NormNum/Irrational.lean index 4613d54cd9a5ae..ed8049d59de7b8 100644 --- a/Mathlib/Tactic/NormNum/Irrational.lean +++ b/Mathlib/Tactic/NormNum/Irrational.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Analysis.SpecialFunctions.Pow.Real -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.Tactic.NormNum.GCD -import Mathlib.Tactic.Rify +module + +public meta import Mathlib.Analysis.SpecialFunctions.Pow.Real +public meta import Mathlib.NumberTheory.Real.Irrational +public meta import Mathlib.Tactic.NormNum.GCD +public meta import Mathlib.Tactic.Rify /-! # `norm_num` extension for `Irrational` @@ -25,6 +27,8 @@ Disprove `Irrational x` for rational `x`. -/ +public meta section + namespace Tactic namespace NormNum diff --git a/Mathlib/Tactic/NormNum/IsCoprime.lean b/Mathlib/Tactic/NormNum/IsCoprime.lean index abb193758c7a47..d126a04843a0e0 100644 --- a/Mathlib/Tactic/NormNum/IsCoprime.lean +++ b/Mathlib/Tactic/NormNum/IsCoprime.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.RingTheory.Coprime.Lemmas -import Mathlib.Tactic.NormNum.GCD +module + +public meta import Mathlib.RingTheory.Coprime.Lemmas +public meta import Mathlib.Tactic.NormNum.GCD /-! # `norm_num` extension for `IsCoprime` @@ -14,6 +16,8 @@ This module defines a `norm_num` extension for `IsCoprime` over `ℤ`. it does not correspond to the usual notion of coprime.) -/ +public meta section + namespace Tactic namespace NormNum diff --git a/Mathlib/Tactic/NormNum/LegendreSymbol.lean b/Mathlib/Tactic/NormNum/LegendreSymbol.lean index a9a22ac57b3069..965ce39884a731 100644 --- a/Mathlib/Tactic/NormNum/LegendreSymbol.lean +++ b/Mathlib/Tactic/NormNum/LegendreSymbol.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Michael Stoll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Stoll -/ -import Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol +module + +public meta import Mathlib.NumberTheory.LegendreSymbol.JacobiSymbol /-! # A `norm_num` extension for Jacobi and Legendre symbols @@ -44,6 +46,8 @@ where we encode the residue classes mod 2, mod 4, or mod 8 by using hypotheses l are the ones occurring in the use of QR above. -/ +public meta section + section Lemmas @@ -202,22 +206,27 @@ namespace Mathlib.Meta.NormNum open Lean Elab Tactic Qq +-- TODO: redefined here for reduction; should this be special-handled in quote4? +private meta def mkRawIntLit' (n : ℤ) : Q(ℤ) := + let lit : Q(ℕ) := .lit <| .natVal n.natAbs + if 0 ≤ n then q(.ofNat $lit) else q(.negOfNat $lit) + /-- This evaluates `r := jacobiSymNat a b` recursively using quadratic reciprocity and produces a proof term for the equality, assuming that `a < b` and `b` is odd. -/ partial def proveJacobiSymOdd (ea eb : Q(ℕ)) : (er : Q(ℤ)) × Q(jacobiSymNat $ea $eb = $er) := match eb.natLit! with | 1 => haveI : $eb =Q 1 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSymNat.one_right $ea)⟩ + ⟨mkRawIntLit' 1, q(jacobiSymNat.one_right $ea)⟩ | b => match ea.natLit! with | 0 => haveI : $ea =Q 0 := ⟨⟩ have hb : Q(Nat.beq ($eb / 2) 0 = false) := (q(Eq.refl false) : Expr) - ⟨mkRawIntLit 0, q(jacobiSymNat.zero_left $eb $hb)⟩ + ⟨mkRawIntLit' 0, q(jacobiSymNat.zero_left $eb $hb)⟩ | 1 => haveI : $ea =Q 1 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSymNat.one_left $eb)⟩ + ⟨mkRawIntLit' 1, q(jacobiSymNat.one_left $eb)⟩ | a => match a % 2 with | 0 => @@ -279,10 +288,10 @@ partial def proveJacobiSymNat (ea eb : Q(ℕ)) : (er : Q(ℤ)) × Q(jacobiSymNat match eb.natLit! with | 0 => haveI : $eb =Q 0 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSymNat.zero_right $ea)⟩ + ⟨mkRawIntLit' 1, q(jacobiSymNat.zero_right $ea)⟩ | 1 => haveI : $eb =Q 1 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSymNat.one_right $ea)⟩ + ⟨mkRawIntLit' 1, q(jacobiSymNat.one_right $ea)⟩ | b => match b % 2 with | 0 => @@ -290,17 +299,17 @@ partial def proveJacobiSymNat (ea eb : Q(ℕ)) : (er : Q(ℤ)) × Q(jacobiSymNat | 0 => have hb : Q(Nat.beq ($eb / 2) 0 = false) := (q(Eq.refl false) : Expr) show (er : Q(ℤ)) × Q(jacobiSymNat 0 $eb = $er) from - ⟨mkRawIntLit 0, q(jacobiSymNat.zero_left $eb $hb)⟩ + ⟨mkRawIntLit' 0, q(jacobiSymNat.zero_left $eb $hb)⟩ | 1 => show (er : Q(ℤ)) × Q(jacobiSymNat 1 $eb = $er) from - ⟨mkRawIntLit 1, q(jacobiSymNat.one_left $eb)⟩ + ⟨mkRawIntLit' 1, q(jacobiSymNat.one_left $eb)⟩ | a => match a % 2 with | 0 => have hb₀ : Q(Nat.beq ($eb / 2) 0 = false) := (q(Eq.refl false) : Expr) have ha : Q(Nat.mod $ea 2 = 0) := (q(Eq.refl 0) : Expr) have hb₁ : Q(Nat.mod $eb 2 = 0) := (q(Eq.refl 0) : Expr) - ⟨mkRawIntLit 0, q(jacobiSymNat.even_even $ea $eb $hb₀ $ha $hb₁)⟩ + ⟨mkRawIntLit' 0, q(jacobiSymNat.even_even $ea $eb $hb₀ $ha $hb₁)⟩ | _ => have ha : Q(Nat.mod $ea 2 = 1) := (q(Eq.refl 1) : Expr) have hb : Q(Nat.mod $eb 2 = 0) := (q(Eq.refl 0) : Expr) @@ -324,10 +333,10 @@ partial def proveJacobiSym (ea : Q(ℤ)) (eb : Q(ℕ)) : (er : Q(ℤ)) × Q(jaco match eb.natLit! with | 0 => haveI : $eb =Q 0 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSym.zero_right $ea)⟩ + ⟨mkRawIntLit' 1, q(jacobiSym.zero_right $ea)⟩ | 1 => haveI : $eb =Q 1 := ⟨⟩ - ⟨mkRawIntLit 1, q(jacobiSym.one_right $ea)⟩ + ⟨mkRawIntLit' 1, q(jacobiSym.one_right $ea)⟩ | b => have eb' := mkRawIntLit b have hb' : Q(($eb : ℤ) = $eb') := (q(Eq.refl $eb') : Expr) diff --git a/Mathlib/Tactic/NormNum/ModEq.lean b/Mathlib/Tactic/NormNum/ModEq.lean index 066b543bfcff8e..65145992c15194 100644 --- a/Mathlib/Tactic/NormNum/ModEq.lean +++ b/Mathlib/Tactic/NormNum/ModEq.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Concordance Inc. dba Harmonic. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Data.Int.ModEq +module + +public meta import Mathlib.Tactic.NormNum.DivMod +public meta import Mathlib.Data.Int.ModEq /-! # `norm_num` extensions for `Nat.ModEq` and `Int.ModEq` @@ -12,6 +14,8 @@ import Mathlib.Data.Int.ModEq In this file we define `norm_num` extensions for `a ≡ b [MOD n]` and `a ≡ b [ZMOD n]`. -/ +public meta section + namespace Mathlib.Meta.NormNum open Qq diff --git a/Mathlib/Tactic/NormNum/NatFactorial.lean b/Mathlib/Tactic/NormNum/NatFactorial.lean index 33fa40c0513390..67f69491b1cdc0 100644 --- a/Mathlib/Tactic/NormNum/NatFactorial.lean +++ b/Mathlib/Tactic/NormNum/NatFactorial.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sebastian Zimmer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Zimmer -/ -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Tactic.NormNum +module + +public meta import Mathlib.Data.Nat.Factorial.Basic +public meta import Mathlib.Tactic.NormNum /-! # `norm_num` extensions for factorials @@ -15,6 +17,8 @@ conquer strategy that improves performance and avoids exceeding the recursion de -/ +public meta section + namespace Mathlib.Meta.NormNum open Nat Qq Lean Elab.Tactic Meta diff --git a/Mathlib/Tactic/NormNum/NatFib.lean b/Mathlib/Tactic/NormNum/NatFib.lean index d407ef7a3bfff3..ab240551f84680 100644 --- a/Mathlib/Tactic/NormNum/NatFib.lean +++ b/Mathlib/Tactic/NormNum/NatFib.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Mario Carneiro -/ -import Mathlib.Data.Nat.Fib.Basic -import Mathlib.Tactic.NormNum +module + +public meta import Mathlib.Data.Nat.Fib.Basic +public meta import Mathlib.Tactic.NormNum /-! # `norm_num` extension for `Nat.fib` @@ -12,6 +14,8 @@ This `norm_num` extension uses a strategy parallel to that of `Nat.fastFib`, but produces proofs of what `Nat.fib` evaluates to. -/ +public meta section + namespace Mathlib.Meta.NormNum open Qq Lean Elab.Tactic diff --git a/Mathlib/Tactic/NormNum/NatLog.lean b/Mathlib/Tactic/NormNum/NatLog.lean index 4051ac0af48e3a..2cb1e4615c3438 100644 --- a/Mathlib/Tactic/NormNum/NatLog.lean +++ b/Mathlib/Tactic/NormNum/NatLog.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Andreas Gittis -/ -import Mathlib.Data.Nat.Log -import Mathlib.Tactic.NormNum +module + +public meta import Mathlib.Data.Nat.Log +public meta import Mathlib.Tactic.NormNum /-! # `norm_num` extensions for `Nat.log` and `Nat.clog` This module defines `norm_num` extensions for `Nat.log` and `Nat.clog`. -/ +public meta section + namespace Mathlib.Meta.NormNum open Qq Lean Elab.Tactic diff --git a/Mathlib/Tactic/NormNum/NatSqrt.lean b/Mathlib/Tactic/NormNum/NatSqrt.lean index a47e08ebe52aed..ab2d79d80c695d 100644 --- a/Mathlib/Tactic/NormNum/NatSqrt.lean +++ b/Mathlib/Tactic/NormNum/NatSqrt.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kyle Miller -/ -import Mathlib.Tactic.NormNum +module + +public meta import Mathlib.Tactic.NormNum /-! # `norm_num` extension for `Nat.sqrt` This module defines a `norm_num` extension for `Nat.sqrt`. -/ +public meta section + namespace Tactic namespace NormNum diff --git a/Mathlib/Tactic/NormNum/OfScientific.lean b/Mathlib/Tactic/NormNum/OfScientific.lean index 6e96965c945d94..910d5ca5012d62 100644 --- a/Mathlib/Tactic/NormNum/OfScientific.lean +++ b/Mathlib/Tactic/NormNum/OfScientific.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Thomas Murrills -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.Rat.Cast.Lemmas +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.Rat.Cast.Lemmas /-! ## `norm_num` plugin for scientific notation. -/ +public meta section + namespace Mathlib open Lean open Meta diff --git a/Mathlib/Tactic/NormNum/Ordinal.lean b/Mathlib/Tactic/NormNum/Ordinal.lean index 26c7d177d570d4..de30503e0c4843 100644 --- a/Mathlib/Tactic/NormNum/Ordinal.lean +++ b/Mathlib/Tactic/NormNum/Ordinal.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.SetTheory.Ordinal.Exponential -import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.SetTheory.Ordinal.Exponential +public meta import Mathlib.Tactic.NormNum.Basic /-! # `norm_num` extensions for Ordinals @@ -16,6 +17,8 @@ which without a right distributive law, ordinals do not have. We must therefore define new extensions for them. -/ +public meta section + namespace Mathlib.Meta.NormNum open Lean Lean.Meta Qq Ordinal diff --git a/Mathlib/Tactic/NormNum/Parity.lean b/Mathlib/Tactic/NormNum/Parity.lean index 23ca983c98bd95..0e8fca765cedb2 100644 --- a/Mathlib/Tactic/NormNum/Parity.lean +++ b/Mathlib/Tactic/NormNum/Parity.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Concordance Inc. dba Harmonic. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Ring.Int.Parity -import Mathlib.Tactic.NormNum.Core +module + +public meta import Mathlib.Algebra.Ring.Int.Parity +public meta import Mathlib.Tactic.NormNum.Core /-! # `norm_num` extensions for `Even` and `Odd` @@ -13,6 +15,8 @@ In this file we provide `norm_num` extensions for `Even n` and `Odd n`, where `n : ℕ` or `n : ℤ`. -/ +public meta section + namespace Mathlib.Meta.NormNum open Qq diff --git a/Mathlib/Tactic/NormNum/Pow.lean b/Mathlib/Tactic/NormNum/Pow.lean index d80e725c6178ad..d4e217a7e8700b 100644 --- a/Mathlib/Tactic/NormNum/Pow.lean +++ b/Mathlib/Tactic/NormNum/Pow.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Thomas Murrills -/ -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Tactic.NormNum.Basic +module + +public meta import Mathlib.Data.Int.Cast.Lemmas +public meta import Mathlib.Tactic.NormNum.Basic /-! ## `norm_num` plugin for `^`. -/ +public meta section + assert_not_exists RelIso namespace Mathlib diff --git a/Mathlib/Tactic/NormNum/PowMod.lean b/Mathlib/Tactic/NormNum/PowMod.lean index eae0681e58364e..bb8941873054c2 100644 --- a/Mathlib/Tactic/NormNum/PowMod.lean +++ b/Mathlib/Tactic/NormNum/PowMod.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Markus Himmel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Markus Himmel -/ -import Mathlib.Tactic.NormNum.Pow +module + +public meta import Mathlib.Tactic.NormNum.Pow /-! # `norm_num` handling for expressions of the form `a ^ b % m`. @@ -21,6 +23,8 @@ The approach taken here is identical to (and copied from) the development in `No -/ +public meta section + assert_not_exists RelIso set_option autoImplicit true diff --git a/Mathlib/Tactic/NormNum/Prime.lean b/Mathlib/Tactic/NormNum/Prime.lean index 6bfd08b11d1d9c..168f9dc7969c88 100644 --- a/Mathlib/Tactic/NormNum/Prime.lean +++ b/Mathlib/Tactic/NormNum/Prime.lean @@ -3,8 +3,10 @@ Copyright (c) 2015 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Jeremy Avigad, Mario Carneiro -/ -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.Nat.Prime.Basic +module + +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.Nat.Prime.Basic /-! # `norm_num` extensions on natural numbers @@ -24,6 +26,8 @@ Note: `evalMinFac.aux` does not raise a stack overflow, which can be checked by `prf'` in the recursive call by something like `(.sort .zero)` -/ +public meta section + open Nat Qq Lean Meta namespace Mathlib.Meta.NormNum diff --git a/Mathlib/Tactic/NormNum/RealSqrt.lean b/Mathlib/Tactic/NormNum/RealSqrt.lean index 33712c883f2cf9..0d11f2e755ee7d 100644 --- a/Mathlib/Tactic/NormNum/RealSqrt.lean +++ b/Mathlib/Tactic/NormNum/RealSqrt.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Data.Real.Sqrt +module + +public meta import Mathlib.Data.Real.Sqrt /-! # `norm_num` extension for `Real.sqrt` This module defines a `norm_num` extension for `Real.sqrt` and `NNReal.sqrt`. -/ +public meta section + namespace Tactic.NormNum open Qq Lean Lean.Meta Elab.Tactic Mathlib.Meta.NormNum NNReal diff --git a/Mathlib/Tactic/NormNum/Result.lean b/Mathlib/Tactic/NormNum/Result.lean index cbf347b80f33d3..4b89c341cf5b84 100644 --- a/Mathlib/Tactic/NormNum/Result.lean +++ b/Mathlib/Tactic/NormNum/Result.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Field.Defs -import Mathlib.Algebra.GroupWithZero.Invertible -import Mathlib.Data.Sigma.Basic -import Mathlib.Algebra.Ring.Nat -import Mathlib.Data.Int.Cast.Basic -import Qq.MetaM +module + +public import Mathlib.Algebra.Field.Defs +public import Mathlib.Algebra.GroupWithZero.Invertible +public meta import Mathlib.Data.Sigma.Basic +public import Mathlib.Algebra.Ring.Nat +public import Mathlib.Data.Int.Cast.Basic +public meta import Qq.MetaM /-! ## The `Result` type for `norm_num` @@ -23,6 +25,8 @@ or is either `true` or `false`. -/ +@[expose] public section + universe u variable {α : Type u} @@ -48,16 +52,16 @@ def instAddMonoidWithOne {α : Type u} [Ring α] : AddMonoidWithOne α := inferI lemma instAtLeastTwo (n : ℕ) : Nat.AtLeastTwo (n + 2) := inferInstance /-- Helper function to synthesize a typed `AddMonoidWithOne α` expression. -/ -def inferAddMonoidWithOne (α : Q(Type u)) : MetaM Q(AddMonoidWithOne $α) := +meta def inferAddMonoidWithOne (α : Q(Type u)) : MetaM Q(AddMonoidWithOne $α) := return ← synthInstanceQ q(AddMonoidWithOne $α) <|> throwError "not an AddMonoidWithOne" /-- Helper function to synthesize a typed `Semiring α` expression. -/ -def inferSemiring (α : Q(Type u)) : MetaM Q(Semiring $α) := +meta def inferSemiring (α : Q(Type u)) : MetaM Q(Semiring $α) := return ← synthInstanceQ q(Semiring $α) <|> throwError "not a semiring" /-- Helper function to synthesize a typed `Ring α` expression. -/ -def inferRing (α : Q(Type u)) : MetaM Q(Ring $α) := +meta def inferRing (α : Q(Type u)) : MetaM Q(Ring $α) := return ← synthInstanceQ q(Ring $α) <|> throwError "not a ring" /-- @@ -69,7 +73,7 @@ We use this internally to avoid unnecessary typeclass searches. This function is the inverse of `Expr.intLit!`. -/ -def mkRawIntLit (n : ℤ) : Q(ℤ) := +meta def mkRawIntLit (n : ℤ) : Q(ℤ) := let lit : Q(ℕ) := mkRawNatLit n.natAbs if 0 ≤ n then q(.ofNat $lit) else q(.negOfNat $lit) @@ -80,14 +84,14 @@ This `.lit (.natVal n)` internally to represent a natural number, rather than the preferred `OfNat.ofNat` form. We use this internally to avoid unnecessary typeclass searches. -/ -def mkRawRatLit (q : ℚ) : Q(ℚ) := +meta def mkRawRatLit (q : ℚ) : Q(ℚ) := let nlit : Q(ℤ) := mkRawIntLit q.num let dlit : Q(ℕ) := mkRawNatLit q.den q(mkRat $nlit $dlit) /-- Extract the raw natlit representing the absolute value of a raw integer literal (of the type produced by `Mathlib.Meta.NormNum.mkRawIntLit`) along with an equality proof. -/ -def rawIntLitNatAbs (n : Q(ℤ)) : (m : Q(ℕ)) × Q(Int.natAbs $n = $m) := +meta def rawIntLitNatAbs (n : Q(ℤ)) : (m : Q(ℕ)) × Q(Int.natAbs $n = $m) := if n.isAppOfArity ``Int.ofNat 1 then have m : Q(ℕ) := n.appArg! ⟨m, show Q(Int.natAbs (Int.ofNat $m) = $m) from q(Int.natAbs_natCast $m)⟩ @@ -105,7 +109,7 @@ This function is performance-critical, as many higher level tactics have to cons So rather than using typeclass search we hardcode the (relatively small) set of solutions to the typeclass problem. -/ -def mkOfNat (α : Q(Type u)) (_sα : Q(AddMonoidWithOne $α)) (lit : Q(ℕ)) : +meta def mkOfNat (α : Q(Type u)) (_sα : Q(AddMonoidWithOne $α)) (lit : Q(ℕ)) : MetaM ((a' : Q($α)) × Q($lit = $a')) := do if α.isConstOf ``Nat then let a' : Q(ℕ) := q(OfNat.ofNat $lit : ℕ) @@ -286,6 +290,8 @@ theorem IsNNRat.den_nz {α} [DivisionSemiring α] {a n d} : IsNNRat (a : α) n d theorem IsRat.den_nz {α} [DivisionRing α] {a n d} : IsRat (a : α) n d → (d : α) ≠ 0 | ⟨_, _⟩ => Invertible.ne_zero (d : α) +meta section + /-- The result of `norm_num` running on an expression `x` of type `α`. Untyped version of `Result`. -/ inductive Result' where @@ -305,33 +311,33 @@ section set_option linter.unusedVariables false /-- The result of `norm_num` running on an expression `x` of type `α`. -/ -@[nolint unusedArguments] def Result {α : Q(Type u)} (x : Q($α)) := Result' +@[nolint unusedArguments, expose] def Result {α : Q(Type u)} (x : Q($α)) := Result' instance {α : Q(Type u)} {x : Q($α)} : Inhabited (Result x) := inferInstanceAs (Inhabited Result') /-- The result is `proof : x`, where `x` is a (true) proposition. -/ -@[match_pattern, inline] def Result.isTrue {x : Q(Prop)} : +@[match_pattern, inline, expose] def Result.isTrue {x : Q(Prop)} : ∀ (proof : Q($x)), Result q($x) := Result'.isBool true /-- The result is `proof : ¬x`, where `x` is a (false) proposition. -/ -@[match_pattern, inline] def Result.isFalse {x : Q(Prop)} : +@[match_pattern, inline, expose] def Result.isFalse {x : Q(Prop)} : ∀ (proof : Q(¬$x)), Result q($x) := Result'.isBool false /-- The result is `lit : ℕ` (a raw nat literal) and `proof : isNat x lit`. -/ -@[match_pattern, inline] def Result.isNat {α : Q(Type u)} {x : Q($α)} : +@[match_pattern, inline, expose] def Result.isNat {α : Q(Type u)} {x : Q($α)} : ∀ (inst : Q(AddMonoidWithOne $α) := by assumption) (lit : Q(ℕ)) (proof : Q(IsNat $x $lit)), Result x := Result'.isNat /-- The result is `-lit` where `lit` is a raw nat literal and `proof : isInt x (.negOfNat lit)`. -/ -@[match_pattern, inline] def Result.isNegNat {α : Q(Type u)} {x : Q($α)} : +@[match_pattern, inline, expose] def Result.isNegNat {α : Q(Type u)} {x : Q($α)} : ∀ (inst : Q(Ring $α) := by assumption) (lit : Q(ℕ)) (proof : Q(IsInt $x (.negOfNat $lit))), Result x := Result'.isNegNat /-- The result is `proof : IsNNRat x n d`, where `n` a raw nat literal, `d` is a raw nat literal (not 0 or 1), `n` and `d` are coprime, and `q` is the value of `n / d`. -/ -@[match_pattern, inline] def Result.isNNRat {α : Q(Type u)} {x : Q($α)} : +@[match_pattern, inline, expose] def Result.isNNRat {α : Q(Type u)} {x : Q($α)} : ∀ (inst : Q(DivisionSemiring $α) := by assumption) (q : Rat) (n : Q(ℕ)) (d : Q(ℕ)) (proof : Q(IsNNRat $x $n $d)), Result x := Result'.isNNRat @@ -339,7 +345,7 @@ where `n` a raw nat literal, `d` is a raw nat literal (not 0 or 1), where `n` is `.negOfNat lit` with `lit` a raw nat literal, `d` is a raw nat literal (not 0 or 1), `n` and `d` are coprime, and `q` is the value of `n / d`. -/ -@[match_pattern, inline] def Result.isNegNNRat {α : Q(Type u)} {x : Q($α)} : +@[match_pattern, inline, expose] def Result.isNegNNRat {α : Q(Type u)} {x : Q($α)} : ∀ (inst : Q(DivisionRing $α) := by assumption) (q : Rat) (n : Q(ℕ)) (d : Q(ℕ)) (proof : Q(IsRat $x (.negOfNat $n) $d)), Result x := Result'.isNegNNRat @@ -571,6 +577,8 @@ def Result.eqTrans {α : Q(Type u)} {a b : Q($α)} (eq : Q($a = $b)) : Result b | .isNNRat inst q n d proof => Result.isNNRat inst q n d q($eq ▸ $proof) | .isNegNNRat inst q n d proof => Result.isNegNNRat inst q n d q($eq ▸ $proof) +end + end Meta.NormNum end Mathlib diff --git a/Mathlib/Tactic/NthRewrite.lean b/Mathlib/Tactic/NthRewrite.lean index 8df49ba10e25ff..c79233cf5f4738 100644 --- a/Mathlib/Tactic/NthRewrite.lean +++ b/Mathlib/Tactic/NthRewrite.lean @@ -3,8 +3,9 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # `nth_rewrite` tactic @@ -13,6 +14,8 @@ The tactic `nth_rewrite` and `nth_rw` are variants of `rewrite` and `rw` that on `n`th possible rewrite. -/ + +public meta section namespace Mathlib.Tactic open Lean Elab Tactic Meta Parser.Tactic diff --git a/Mathlib/Tactic/Observe.lean b/Mathlib/Tactic/Observe.lean index 51f0d54e232dd9..b44dfdacd14af3 100644 --- a/Mathlib/Tactic/Observe.lean +++ b/Mathlib/Tactic/Observe.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Init -import Lean.Meta.Tactic.TryThis -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Tactic.LibrarySearch +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Tactic.LibrarySearch /-! # The `observe` tactic. @@ -14,6 +16,8 @@ import Lean.Meta.Tactic.LibrarySearch `observe hp : p` asserts the proposition `p`, and tries to prove it using `exact?`. -/ +public meta section + namespace Mathlib.Tactic.LibrarySearch open Lean Meta Elab Tactic Meta.Tactic.TryThis LibrarySearch diff --git a/Mathlib/Tactic/OfNat.lean b/Mathlib/Tactic/OfNat.lean index fb3dbeebb64bd9..91862e13431218 100644 --- a/Mathlib/Tactic/OfNat.lean +++ b/Mathlib/Tactic/OfNat.lean @@ -3,10 +3,14 @@ Copyright (c) 2024 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # The `ofNat()` macro -/ +public meta section + /-- This macro is a shorthand for `OfNat.ofNat` combined with `no_index`. diff --git a/Mathlib/Tactic/Order.lean b/Mathlib/Tactic/Order.lean index 54b5dcabaf74eb..104448b1b47928 100644 --- a/Mathlib/Tactic/Order.lean +++ b/Mathlib/Tactic/Order.lean @@ -3,12 +3,14 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Tactic.ByContra -import Mathlib.Tactic.Order.CollectFacts -import Mathlib.Tactic.Order.Preprocessing -import Mathlib.Tactic.Order.Graph.Basic -import Mathlib.Tactic.Order.Graph.Tarjan -import Mathlib.Util.ElabWithoutMVars +module + +public meta import Mathlib.Tactic.ByContra +public meta import Mathlib.Tactic.Order.CollectFacts +public meta import Mathlib.Tactic.Order.Preprocessing +public meta import Mathlib.Tactic.Order.Graph.Basic +public meta import Mathlib.Tactic.Order.Graph.Tarjan +public meta import Mathlib.Util.ElabWithoutMVars /-! # `order` tactic @@ -141,6 +143,8 @@ For `⊤` and `⊥`, we add the edges `(x, ⊤)` and `(⊥, x)` for all vertices and `bot_le`, respectively. -/ +public meta section + namespace Mathlib.Tactic.Order open Lean Qq Elab Meta Tactic diff --git a/Mathlib/Tactic/Order/CollectFacts.lean b/Mathlib/Tactic/Order/CollectFacts.lean index 9e658faaf32550..9a42c8e378ceb9 100644 --- a/Mathlib/Tactic/Order/CollectFacts.lean +++ b/Mathlib/Tactic/Order/CollectFacts.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Order.BoundedOrder.Basic -import Mathlib.Order.Lattice -import Qq +module + +public meta import Mathlib.Order.BoundedOrder.Basic +public meta import Mathlib.Order.Lattice +public meta import Qq /-! # Facts collection for the `order` Tactic @@ -13,6 +15,8 @@ import Qq This file implements the collection of facts for the `order` tactic. -/ +public meta section + namespace Mathlib.Tactic.Order open Lean Qq Elab Meta Tactic diff --git a/Mathlib/Tactic/Order/Graph/Basic.lean b/Mathlib/Tactic/Order/Graph/Basic.lean index 365c35b2e7a7a8..59737eabb4f495 100644 --- a/Mathlib/Tactic/Order/Graph/Basic.lean +++ b/Mathlib/Tactic/Order/Graph/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Tactic.Order.CollectFacts +module + +public meta import Mathlib.Tactic.Order.CollectFacts /-! # Graphs for the `order` tactic @@ -12,6 +14,8 @@ This module defines the `Graph` structure and basic operations on it. The `order `≤`-graphs, where the vertices represent atoms, and an edge `(x, y)` exists if `x ≤ y`. -/ +public meta section + namespace Mathlib.Tactic.Order open Lean Expr Meta diff --git a/Mathlib/Tactic/Order/Graph/Tarjan.lean b/Mathlib/Tactic/Order/Graph/Tarjan.lean index f246085d4ce1f6..038fd3b7b442fb 100644 --- a/Mathlib/Tactic/Order/Graph/Tarjan.lean +++ b/Mathlib/Tactic/Order/Graph/Tarjan.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Tactic.Order.Graph.Basic +module + +public meta import Mathlib.Tactic.Order.Graph.Basic /-! # Tarjan's Algorithm @@ -12,6 +14,8 @@ This file implements Tarjan's algorithm for finding the strongly connected compo a graph. -/ +public meta section + namespace Mathlib.Tactic.Order.Graph /-- State for Tarjan's algorithm. -/ diff --git a/Mathlib/Tactic/Order/Preprocessing.lean b/Mathlib/Tactic/Order/Preprocessing.lean index f8d8556922785c..c9c277ce8d68a2 100644 --- a/Mathlib/Tactic/Order/Preprocessing.lean +++ b/Mathlib/Tactic/Order/Preprocessing.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Tactic.Order.CollectFacts +module + +public meta import Mathlib.Tactic.Order.CollectFacts /-! # Facts preprocessing for the `order` tactic @@ -12,6 +14,8 @@ In this file we implement the preprocessing procedure for the `order` tactic. See `Mathlib/Tactic/Order.lean` for details of preprocessing. -/ +public meta section + namespace Mathlib.Tactic.Order universe u diff --git a/Mathlib/Tactic/PNatToNat.lean b/Mathlib/Tactic/PNatToNat.lean index d8e3cb9da16000..bfaae9272da74f 100644 --- a/Mathlib/Tactic/PNatToNat.lean +++ b/Mathlib/Tactic/PNatToNat.lean @@ -3,7 +3,11 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Data.PNat.Basic +module + +public meta import Mathlib.Data.PNat.Basic +import all Lean.Elab.Tactic.Induction + /-! # `pnat_to_nat` @@ -17,9 +21,9 @@ The implementation follows these steps: -/ -namespace Mathlib.Tactic.PNatToNat +public meta section -open private getElimNameInfo generalizeTargets generalizeVars from Lean.Elab.Tactic.Induction +namespace Mathlib.Tactic.PNatToNat open Lean Meta Elab Tactic Qq diff --git a/Mathlib/Tactic/PPWithUniv.lean b/Mathlib/Tactic/PPWithUniv.lean index f8ab6d21522db5..efe70a3e004eaf 100644 --- a/Mathlib/Tactic/PPWithUniv.lean +++ b/Mathlib/Tactic/PPWithUniv.lean @@ -3,7 +3,10 @@ Copyright (c) 2023 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init +module + +public meta import Mathlib.Init +public meta import Lean.PrettyPrinter.Delaborator.Builtins /-! # Attribute to pretty-print universe level parameters by default @@ -13,6 +16,8 @@ of universe parameters for the associated declaration. This is helpful for defi `Ordinal`, where the universe levels are both relevant and not deducible from the arguments. -/ +public meta section + namespace Mathlib.PPWithUniv open Lean Parser PrettyPrinter Delaborator SubExpr Elab Command diff --git a/Mathlib/Tactic/Peel.lean b/Mathlib/Tactic/Peel.lean index 6139a947686426..7d3d6ec59d729d 100644 --- a/Mathlib/Tactic/Peel.lean +++ b/Mathlib/Tactic/Peel.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Tactic.Basic -import Mathlib.Order.Filter.Basic +module + +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Order.Filter.Basic /-! # The `peel` tactic @@ -21,6 +23,8 @@ immediately. In particular, `peel h using e` is equivalent to `peel h; exact e`. may be paired with any of the other features of `peel`. -/ +public meta section + namespace Mathlib.Tactic.Peel open Lean Expr Meta Elab Tactic @@ -84,21 +88,21 @@ syntax (name := peel) "peel" (num)? (ppSpace colGt term)? (" with" (ppSpace colGt (ident <|> hole))+)? (usingArg)? : tactic -private lemma and_imp_left_of_imp_imp {p q r : Prop} (h : r → p → q) : r ∧ p → r ∧ q := by tauto +lemma and_imp_left_of_imp_imp {p q r : Prop} (h : r → p → q) : r ∧ p → r ∧ q := by tauto -private theorem eventually_imp {α : Type*} {p q : α → Prop} {f : Filter α} +theorem eventually_imp {α : Type*} {p q : α → Prop} {f : Filter α} (hq : ∀ (x : α), p x → q x) (hp : ∀ᶠ (x : α) in f, p x) : ∀ᶠ (x : α) in f, q x := Filter.Eventually.mp hp (Filter.Eventually.of_forall hq) -private theorem frequently_imp {α : Type*} {p q : α → Prop} {f : Filter α} +theorem frequently_imp {α : Type*} {p q : α → Prop} {f : Filter α} (hq : ∀ (x : α), p x → q x) (hp : ∃ᶠ (x : α) in f, p x) : ∃ᶠ (x : α) in f, q x := Filter.Frequently.mp hp (Filter.Eventually.of_forall hq) -private theorem eventually_congr {α : Type*} {p q : α → Prop} {f : Filter α} +theorem eventually_congr {α : Type*} {p q : α → Prop} {f : Filter α} (hq : ∀ (x : α), p x ↔ q x) : (∀ᶠ (x : α) in f, p x) ↔ ∀ᶠ (x : α) in f, q x := by congr! 2; exact hq _ -private theorem frequently_congr {α : Type*} {p q : α → Prop} {f : Filter α} +theorem frequently_congr {α : Type*} {p q : α → Prop} {f : Filter α} (hq : ∀ (x : α), p x ↔ q x) : (∃ᶠ (x : α) in f, p x) ↔ ∃ᶠ (x : α) in f, q x := by congr! 2; exact hq _ diff --git a/Mathlib/Tactic/Polyrith.lean b/Mathlib/Tactic/Polyrith.lean index dd76acc511725b..44c62c19df6284 100644 --- a/Mathlib/Tactic/Polyrith.lean +++ b/Mathlib/Tactic/Polyrith.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Dhruv Bhatia. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dhruv Bhatia, Eric Wieser, Mario Carneiro, Thomas Zhu -/ -import Lean.Elab.Tactic.Basic -import Mathlib.Init +module + +public meta import Lean.Elab.Tactic.Basic +public meta import Mathlib.Init /-! @@ -20,6 +22,8 @@ can close goals requiring polynomial reasoning, but is not able to give a "Try this:" suggestion based on `linear_combination`. -/ +public meta section + namespace Mathlib.Tactic.Polyrith /-- diff --git a/Mathlib/Tactic/Positivity.lean b/Mathlib/Tactic/Positivity.lean index 7b2a24e70ec160..45575ef707987a 100644 --- a/Mathlib/Tactic/Positivity.lean +++ b/Mathlib/Tactic/Positivity.lean @@ -1,4 +1,6 @@ -import Mathlib.Tactic.Positivity.Basic -import Mathlib.Tactic.Positivity.Finset -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Data.Int.Order.Basic +module + +public meta import Mathlib.Tactic.Positivity.Basic +public meta import Mathlib.Tactic.Positivity.Finset +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Data.Int.Order.Basic diff --git a/Mathlib/Tactic/Positivity/Basic.lean b/Mathlib/Tactic/Positivity/Basic.lean index 2e767e0fdee23c..b65c263e19c916 100644 --- a/Mathlib/Tactic/Positivity/Basic.lean +++ b/Mathlib/Tactic/Positivity/Basic.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Mario Carneiro, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth, Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.PosPart -import Mathlib.Algebra.Order.Ring.Basic -import Mathlib.Algebra.Order.Hom.Basic -import Mathlib.Data.Int.CharZero -import Mathlib.Data.Nat.Factorial.Basic -import Mathlib.Data.NNRat.Defs -import Mathlib.Data.PNat.Defs -import Mathlib.Tactic.Positivity.Core -import Qq +module + +public meta import Mathlib.Algebra.Order.Group.PosPart +public meta import Mathlib.Algebra.Order.Ring.Basic +public meta import Mathlib.Algebra.Order.Hom.Basic +public meta import Mathlib.Data.Int.CharZero +public meta import Mathlib.Data.Nat.Factorial.Basic +public meta import Mathlib.Data.NNRat.Defs +public meta import Mathlib.Data.PNat.Defs +public meta import Mathlib.Tactic.Positivity.Core +public meta import Qq /-! ## `positivity` core extensions @@ -19,6 +21,8 @@ import Qq This file sets up the basic `positivity` extensions tagged with the `@[positivity]` attribute. -/ +public meta section + variable {α : Type*} namespace Mathlib.Meta.Positivity @@ -252,7 +256,7 @@ private theorem pow_zero_pos [Semiring α] [PartialOrder α] [IsOrderedRing α] /-- The `positivity` extension which identifies expressions of the form `a ^ (0 : ℕ)`. This extension is run in addition to the general `a ^ b` extension (they are overlapping). -/ @[positivity _ ^ (0 : ℕ)] -def evalPowZeroNat : PositivityExt where eval {u α} _zα _pα e := do +meta def evalPowZeroNat : PositivityExt where eval {u α} _zα _pα e := do let .app (.app _ (a : Q($α))) _ ← withReducible (whnf e) | throwError "not ^" let _a ← synthInstanceQ q(Semiring $α) let _a ← synthInstanceQ q(PartialOrder $α) @@ -263,7 +267,7 @@ def evalPowZeroNat : PositivityExt where eval {u α} _zα _pα e := do /-- The `positivity` extension which identifies expressions of the form `a ^ (b : ℕ)`, such that `positivity` successfully recognises both `a` and `b`. -/ @[positivity _ ^ (_ : ℕ)] -def evalPow : PositivityExt where eval {u α} zα pα e := do +meta def evalPow : PositivityExt where eval {u α} zα pα e := do let .app (.app _ (a : Q($α))) (b : Q(ℕ)) ← withReducible (whnf e) | throwError "not ^" let result ← catchNone do let .true := b.isAppOfArity ``OfNat.ofNat 3 | throwError "not a ^ n where n is a literal" @@ -318,7 +322,7 @@ private theorem abs_pos_of_ne_zero {α : Type*} [AddGroup α] [LinearOrder α] /-- The `positivity` extension which identifies expressions of the form `|a|`. -/ @[positivity |_|] -def evalAbs : PositivityExt where eval {_u} (α zα pα) (e : Q($α)) := do +meta def evalAbs : PositivityExt where eval {_u} (α zα pα) (e : Q($α)) := do let ~q(@abs _ (_) (_) $a) := e | throwError "not |·|" try match ← core zα pα a with @@ -333,7 +337,7 @@ def evalAbs : PositivityExt where eval {_u} (α zα pα) (e : Q($α)) := do let pa' ← mkAppM ``abs_nonneg #[a] pure (.nonnegative pa') -private theorem int_natAbs_pos {n : ℤ} (hn : 0 < n) : 0 < n.natAbs := +theorem int_natAbs_pos {n : ℤ} (hn : 0 < n) : 0 < n.natAbs := Int.natAbs_pos.mpr hn.ne' /-- Extension for the `positivity` tactic: `Int.natAbs` is positive when its input is. @@ -341,7 +345,7 @@ Since the output type of `Int.natAbs` is `ℕ`, the nonnegative case is handled `positivity` tactic. -/ @[positivity Int.natAbs _] -def evalNatAbs : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNatAbs : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(Int.natAbs $a) => let zα' : Q(Zero Int) := q(inferInstance) @@ -363,7 +367,7 @@ def evalNatAbs : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `Nat.cast` is always non-negative, and positive when its input is. -/ @[positivity Nat.cast _] -def evalNatCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNatCast : PositivityExt where eval {u α} _zα _pα e := do let ~q(@Nat.cast _ (_) ($a : ℕ)) := e | throwError "not Nat.cast" let zα' : Q(Zero Nat) := q(inferInstance) let pα' : Q(PartialOrder Nat) := q(inferInstance) @@ -381,7 +385,7 @@ def evalNatCast : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for the `positivity` tactic: `Int.cast` is positive (resp. non-negative) if its input is. -/ @[positivity Int.cast _] -def evalIntCast : PositivityExt where eval {u α} _zα _pα e := do +meta def evalIntCast : PositivityExt where eval {u α} _zα _pα e := do let ~q(@Int.cast _ (_) ($a : ℤ)) := e | throwError "not Int.cast" let zα' : Q(Zero Int) := q(inferInstance) let pα' : Q(PartialOrder Int) := q(inferInstance) @@ -409,7 +413,7 @@ def evalIntCast : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for `Nat.succ`. -/ @[positivity Nat.succ _] -def evalNatSucc : PositivityExt where eval {u α} _zα _pα e := do +meta def evalNatSucc : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.succ $a) => assertInstancesCommute @@ -418,7 +422,7 @@ def evalNatSucc : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for `PNat.val`. -/ @[positivity PNat.val _] -def evalPNatVal : PositivityExt where eval {u α} _zα _pα e := do +meta def evalPNatVal : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℕ), ~q(PNat.val $a) => assertInstancesCommute @@ -427,7 +431,7 @@ def evalPNatVal : PositivityExt where eval {u α} _zα _pα e := do /-- Extension for `Nat.factorial`. -/ @[positivity Nat.factorial _] -def evalFactorial : PositivityExt where eval {u α} _ _ e := do +meta def evalFactorial : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.factorial $a) => assertInstancesCommute @@ -436,7 +440,7 @@ def evalFactorial : PositivityExt where eval {u α} _ _ e := do /-- Extension for `Nat.ascFactorial`. -/ @[positivity Nat.ascFactorial _ _] -def evalAscFactorial : PositivityExt where eval {u α} _ _ e := do +meta def evalAscFactorial : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.ascFactorial ($n + 1) $k) => assertInstancesCommute @@ -448,7 +452,7 @@ Uses positivity of the left term, if available, then tries the right term. The implementation relies on the fact that `Positivity.core` on `ℕ` never returns `nonzero`. -/ @[positivity Nat.gcd _ _] -def evalNatGCD : PositivityExt where eval {u α} z p e := do +meta def evalNatGCD : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.gcd $a $b) => assertInstancesCommute @@ -462,7 +466,7 @@ def evalNatGCD : PositivityExt where eval {u α} z p e := do /-- Extension for `Nat.lcm`. -/ @[positivity Nat.lcm _ _] -def evalNatLCM : PositivityExt where eval {u α} z p e := do +meta def evalNatLCM : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.lcm $a $b) => assertInstancesCommute @@ -477,7 +481,7 @@ def evalNatLCM : PositivityExt where eval {u α} z p e := do /-- Extension for `Nat.sqrt`. -/ @[positivity Nat.sqrt _] -def evalNatSqrt : PositivityExt where eval {u α} z p e := do +meta def evalNatSqrt : PositivityExt where eval {u α} z p e := do match u, α, e with | 0, ~q(ℕ), ~q(Nat.sqrt $n) => assumeInstancesCommute @@ -489,7 +493,7 @@ def evalNatSqrt : PositivityExt where eval {u α} z p e := do /-- Extension for `Int.gcd`. Uses positivity of the left term, if available, then tries the right term. -/ @[positivity Int.gcd _ _] -def evalIntGCD : PositivityExt where eval {u α} _ _ e := do +meta def evalIntGCD : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Int.gcd $a $b) => let z ← synthInstanceQ (q(Zero ℤ) : Q(Type)) @@ -505,7 +509,7 @@ def evalIntGCD : PositivityExt where eval {u α} _ _ e := do /-- Extension for `Int.lcm`. -/ @[positivity Int.lcm _ _] -def evalIntLCM : PositivityExt where eval {u α} _ _ e := do +meta def evalIntLCM : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Int.lcm $a $b) => let z ← synthInstanceQ (q(Zero ℤ) : Q(Type)) @@ -522,13 +526,13 @@ def evalIntLCM : PositivityExt where eval {u α} _ _ e := do section NNRat open NNRat -private alias ⟨_, NNRat.num_pos_of_pos⟩ := num_pos -private alias ⟨_, NNRat.num_ne_zero_of_ne_zero⟩ := num_ne_zero +alias ⟨_, NNRat.num_pos_of_pos⟩ := num_pos +alias ⟨_, NNRat.num_ne_zero_of_ne_zero⟩ := num_ne_zero /-- The `positivity` extension which identifies expressions of the form `NNRat.num q`, such that `positivity` successfully recognises `q`. -/ @[positivity NNRat.num _] -def evalNNRatNum : PositivityExt where eval {u α} _ _ e := do +meta def evalNNRatNum : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(NNRat.num $a) => let zα : Q(Zero ℚ≥0) := q(inferInstance) @@ -542,7 +546,7 @@ def evalNNRatNum : PositivityExt where eval {u α} _ _ e := do /-- The `positivity` extension which identifies expressions of the form `Rat.den a`. -/ @[positivity NNRat.den _] -def evalNNRatDen : PositivityExt where eval {u α} _ _ e := do +meta def evalNNRatDen : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(NNRat.den $a) => assumeInstancesCommute @@ -559,14 +563,14 @@ end NNRat open Rat -private alias ⟨_, num_pos_of_pos⟩ := num_pos -private alias ⟨_, num_nonneg_of_nonneg⟩ := num_nonneg -private alias ⟨_, num_ne_zero_of_ne_zero⟩ := num_ne_zero +alias ⟨_, num_pos_of_pos⟩ := num_pos +alias ⟨_, num_nonneg_of_nonneg⟩ := num_nonneg +alias ⟨_, num_ne_zero_of_ne_zero⟩ := num_ne_zero /-- The `positivity` extension which identifies expressions of the form `Rat.num a`, such that `positivity` successfully recognises `a`. -/ @[positivity Rat.num _] -def evalRatNum : PositivityExt where eval {u α} _ _ e := do +meta def evalRatNum : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℤ), ~q(Rat.num $a) => let zα : Q(Zero ℚ) := q(inferInstance) @@ -581,7 +585,7 @@ def evalRatNum : PositivityExt where eval {u α} _ _ e := do /-- The `positivity` extension which identifies expressions of the form `Rat.den a`. -/ @[positivity Rat.den _] -def evalRatDen : PositivityExt where eval {u α} _ _ e := do +meta def evalRatDen : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Rat.den $a) => assumeInstancesCommute @@ -590,7 +594,7 @@ def evalRatDen : PositivityExt where eval {u α} _ _ e := do /-- Extension for `posPart`. `a⁺` is always nonnegative, and positive if `a` is. -/ @[positivity _⁺] -def evalPosPart : PositivityExt where eval {u α} zα pα e := do +meta def evalPosPart : PositivityExt where eval {u α} zα pα e := do match e with | ~q(@posPart _ $instαpospart $a) => let _instαlat ← synthInstanceQ q(Lattice $α) @@ -606,7 +610,7 @@ def evalPosPart : PositivityExt where eval {u α} zα pα e := do /-- Extension for `negPart`. `a⁻` is always nonnegative. -/ @[positivity _⁻] -def evalNegPart : PositivityExt where eval {u α} _ _ e := do +meta def evalNegPart : PositivityExt where eval {u α} _ _ e := do match e with | ~q(@negPart _ $instαnegpart $a) => let _instαlat ← synthInstanceQ q(Lattice $α) @@ -617,7 +621,7 @@ def evalNegPart : PositivityExt where eval {u α} _ _ e := do /-- Extension for the `positivity` tactic: nonnegative maps take nonnegative values. -/ @[positivity DFunLike.coe _ _] -def evalMap : PositivityExt where eval {_ β} _ _ e := do +meta def evalMap : PositivityExt where eval {_ β} _ _ e := do let .app (.app _ f) a ← whnfR e | throwError "not ↑f · where f is of NonnegHomClass" let pa ← mkAppOptM ``apply_nonneg #[none, none, β, none, none, none, none, f, a] diff --git a/Mathlib/Tactic/Positivity/Core.lean b/Mathlib/Tactic/Positivity/Core.lean index 1f3a11f7999507..8d9080d0ce5d1e 100644 --- a/Mathlib/Tactic/Positivity/Core.lean +++ b/Mathlib/Tactic/Positivity/Core.lean @@ -3,13 +3,15 @@ Copyright (c) 2022 Mario Carneiro, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth, Yaël Dillies -/ -import Mathlib.Tactic.NormNum.Core -import Mathlib.Tactic.HaveI -import Mathlib.Algebra.Order.Invertible -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Control.Basic -import Mathlib.Data.Nat.Cast.Basic -import Qq +module + +public meta import Mathlib.Tactic.NormNum.Core +public meta import Mathlib.Tactic.HaveI +public meta import Mathlib.Algebra.Order.Invertible +public meta import Mathlib.Algebra.Order.Ring.Cast +public meta import Mathlib.Control.Basic +public meta import Mathlib.Data.Nat.Cast.Basic +public meta import Qq /-! ## `positivity` core functionality @@ -20,6 +22,8 @@ The actual behavior is in `@[positivity]`-tagged definitions in `Tactic.Positivi and elsewhere. -/ +public meta section + open Lean open Lean.Meta Qq Lean.Elab Term @@ -102,6 +106,7 @@ initialize registerBuiltinAttribute { applicationTime := .afterCompilation add := fun declName stx kind => match stx with | `(attr| positivity $es,*) => do + ensureAttrDeclIsMeta `positivity declName kind unless kind == AttributeKind.global do throwError "invalid attribute 'positivity', must be global" let env ← getEnv diff --git a/Mathlib/Tactic/Positivity/Finset.lean b/Mathlib/Tactic/Positivity/Finset.lean index 1b3df2f43831c4..c05f7877454562 100644 --- a/Mathlib/Tactic/Positivity/Finset.lean +++ b/Mathlib/Tactic/Positivity/Finset.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Data.Finset.Density -import Mathlib.Tactic.NormNum.Basic -import Mathlib.Tactic.Positivity.Core +module + +public meta import Mathlib.Algebra.Order.BigOperators.Group.Finset +public meta import Mathlib.Data.Finset.Density +public meta import Mathlib.Tactic.NormNum.Basic +public meta import Mathlib.Tactic.Positivity.Core /-! # Positivity extensions for finsets @@ -16,6 +18,8 @@ they don't know about ordered fields) or in `Tactic.Positivity.Basic` (because i know about finiteness). -/ +public meta section + namespace Mathlib.Meta.Positivity open Qq Lean Meta Finset @@ -24,7 +28,7 @@ open Qq Lean Meta Finset It calls `Mathlib.Meta.proveFinsetNonempty` to attempt proving that the finset is nonempty. -/ @[positivity Finset.card _] -def evalFinsetCard : PositivityExt where eval {u α} _ _ e := do +meta def evalFinsetCard : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(Finset.card $s) => let some ps ← proveFinsetNonempty s | return .none @@ -34,7 +38,7 @@ def evalFinsetCard : PositivityExt where eval {u α} _ _ e := do /-- Extension for `Fintype.card`. `Fintype.card α` is positive if `α` is nonempty. -/ @[positivity Fintype.card _] -def evalFintypeCard : PositivityExt where eval {u α} _ _ e := do +meta def evalFintypeCard : PositivityExt where eval {u α} _ _ e := do match u, α, e with | 0, ~q(ℕ), ~q(@Fintype.card $β $instβ) => let instβno ← synthInstanceQ q(Nonempty $β) @@ -46,7 +50,7 @@ def evalFintypeCard : PositivityExt where eval {u α} _ _ e := do It calls `Mathlib.Meta.proveFinsetNonempty` to attempt proving that the finset is nonempty. -/ @[positivity Finset.dens _] -def evalFinsetDens : PositivityExt where eval {u 𝕜} _ _ e := do +meta def evalFinsetDens : PositivityExt where eval {u 𝕜} _ _ e := do match u, 𝕜, e with | 0, ~q(ℚ≥0), ~q(@Finset.dens $α $instα $s) => let some ps ← proveFinsetNonempty s | return .none @@ -65,7 +69,7 @@ example (s : Finset ℕ) (f : ℕ → ℤ) (hf : ∀ n, 0 ≤ f n) : 0 ≤ s.sum because `compareHyp` can't look for assumptions behind binders. -/ @[positivity Finset.sum _ _] -def evalFinsetSum : PositivityExt where eval {u α} zα pα e := do +meta def evalFinsetSum : PositivityExt where eval {u α} zα pα e := do match e with | ~q(@Finset.sum $ι _ $instα $s $f) => let i : Q($ι) ← mkFreshExprMVarQ q($ι) .syntheticOpaque diff --git a/Mathlib/Tactic/ProdAssoc.lean b/Mathlib/Tactic/ProdAssoc.lean index a6932768a3b359..21ae48a2293a3e 100644 --- a/Mathlib/Tactic/ProdAssoc.lean +++ b/Mathlib/Tactic/ProdAssoc.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.Lean.Expr.Basic -import Mathlib.Logic.Equiv.Defs +module + +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Logic.Equiv.Defs /-! # Associativity of products @@ -17,6 +19,8 @@ For example, gives the "obvious" equivalence between `(α × β) × (γ × δ)` and `α × (β × γ) × δ`. -/ +public meta section + namespace Lean.Expr open Lean Meta diff --git a/Mathlib/Tactic/Propose.lean b/Mathlib/Tactic/Propose.lean index 2b754cdd2c3a74..8c55aa83452424 100644 --- a/Mathlib/Tactic/Propose.lean +++ b/Mathlib/Tactic/Propose.lean @@ -3,13 +3,15 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Lean.Meta.Tactic.TryThis -import Lean.Meta.Tactic.SolveByElim -import Mathlib.Lean.Expr.Basic -import Mathlib.Lean.Meta -import Mathlib.Lean.Meta.Basic -import Batteries.Util.Cache -import Mathlib.Tactic.Core +module + +public meta import Lean.Meta.Tactic.TryThis +public meta import Lean.Meta.Tactic.SolveByElim +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Lean.Meta +public meta import Mathlib.Lean.Meta.Basic +public meta import Batteries.Util.Cache +public meta import Mathlib.Tactic.Core /-! # Propose @@ -33,6 +35,8 @@ example (K L M : List α) (w : L.Disjoint M) (m : K ⊆ L) : True := by ``` -/ +public meta section + namespace Mathlib.Tactic.Propose open Lean Meta Batteries.Tactic Tactic.TryThis diff --git a/Mathlib/Tactic/ProxyType.lean b/Mathlib/Tactic/ProxyType.lean index 787600c0960ddc..c9435e86757f63 100644 --- a/Mathlib/Tactic/ProxyType.lean +++ b/Mathlib/Tactic/ProxyType.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Tactic.Core -import Mathlib.Logic.Equiv.Defs +module + +public meta import Mathlib.Tactic.Core +public meta import Mathlib.Logic.Equiv.Defs /-! # Generating "proxy types" @@ -39,6 +41,8 @@ instance given `∀ i, Fintype (C i)`. -/ +public meta section + namespace Mathlib.ProxyType open Lean Elab Lean.Parser.Term open Meta Command diff --git a/Mathlib/Tactic/Push.lean b/Mathlib/Tactic/Push.lean index 50ead83a35fdf5..94bcc0590d4a55 100644 --- a/Mathlib/Tactic/Push.lean +++ b/Mathlib/Tactic/Push.lean @@ -4,11 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid, Patrick Massot, Simon Hudon, Alice Laroche, Frédéric Dupuis, Jireh Loreaux -/ -import Lean.Elab.Tactic.Location -import Mathlib.Tactic.Push.Attr -import Mathlib.Logic.Basic -import Mathlib.Tactic.Conv -import Mathlib.Util.AtLocation +module + +public meta import Lean.Elab.Tactic.Location +public meta import Mathlib.Tactic.Push.Attr +public meta import Mathlib.Logic.Basic +public meta import Mathlib.Tactic.Conv +public meta import Mathlib.Util.AtLocation /-! # The `push`, `push_neg` and `pull` tactics @@ -19,6 +21,8 @@ as local hypotheses and also works as a `conv` tactic. `push_neg` is a macro for The `pull` tactic does the reverse: it pulls the given constant towards the head of the expression. -/ +public meta section + namespace Mathlib.Tactic.Push variable (p q : Prop) {α : Sort*} (s : α → Prop) diff --git a/Mathlib/Tactic/Push/Attr.lean b/Mathlib/Tactic/Push/Attr.lean index 37ba72326680c1..7f5b444cd91304 100644 --- a/Mathlib/Tactic/Push/Attr.lean +++ b/Mathlib/Tactic/Push/Attr.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Lean.Expr.Basic +module + +public meta import Mathlib.Lean.Expr.Basic /-! # The `@[push]` attribute for the `push`, `push_neg` and `pull` tactics @@ -12,6 +14,8 @@ This file defines the `@[push]` attribute, so that it can be used without import the tactic itself. -/ +public meta section + namespace Mathlib.Tactic.Push open Lean Meta @@ -106,6 +110,9 @@ initialize registerBuiltinAttribute { name := `pushAttr descr := "attribute for push" add := fun declName stx kind => MetaM.run' do + -- Make sure `mkSimpTheoremFromConst` aux decls are sufficiently visible, like in + -- `addSimpTheorem`. + withExporting (isExporting := !isPrivateName declName) do let inv := !stx[1].isNone let isOnly := !stx[2].isNone let prio ← getAttrParamOptPrio stx[3] diff --git a/Mathlib/Tactic/Qify.lean b/Mathlib/Tactic/Qify.lean index f6f7a4f1b4b8db..f5e2876a3e05e1 100644 --- a/Mathlib/Tactic/Qify.lean +++ b/Mathlib/Tactic/Qify.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Mario Carneiro, Robert Y. Lewis -/ -import Mathlib.Algebra.Order.Ring.Cast -import Mathlib.Data.Int.Cast.Lemmas -import Mathlib.Data.NNRat.Defs -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Zify +module + +public meta import Mathlib.Algebra.Order.Ring.Cast +public meta import Mathlib.Data.Int.Cast.Lemmas +public meta import Mathlib.Data.NNRat.Defs +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Tactic.Zify /-! # `qify` tactic @@ -26,6 +28,8 @@ example (a b c x y z : ℕ) (h : ¬ x*y*z < 0) : c < a + 3*b := by ``` -/ +public meta section + namespace Mathlib.Tactic.Qify open Lean diff --git a/Mathlib/Tactic/RSuffices.lean b/Mathlib/Tactic/RSuffices.lean index ef0156c6581e31..bc01bb467e2967 100644 --- a/Mathlib/Tactic/RSuffices.lean +++ b/Mathlib/Tactic/RSuffices.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.Tactic.Basic +module + +public meta import Mathlib.Tactic.Basic /-! # `rsuffices` tactic @@ -13,6 +15,8 @@ of any syntax that would be valid in an `obtain` block. This tactic just calls ` on the expression, and then `rotate_left`. -/ +public meta section + namespace Mathlib.Tactic /-- diff --git a/Mathlib/Tactic/Recall.lean b/Mathlib/Tactic/Recall.lean index 5a0ef9f0f683f1..e4c76aa07dd918 100644 --- a/Mathlib/Tactic/Recall.lean +++ b/Mathlib/Tactic/Recall.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Mac Malone. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mac Malone, Kyle Miller -/ -import Mathlib.Init -import Lean.Elab.Command -import Lean.Elab.DeclUtil +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Lean.Elab.DeclUtil /-! # `recall` command -/ +public meta section + namespace Mathlib.Tactic.Recall /-- diff --git a/Mathlib/Tactic/Recover.lean b/Mathlib/Tactic/Recover.lean index f8eac78df5bdd5..35ce01fbe49cc5 100644 --- a/Mathlib/Tactic/Recover.lean +++ b/Mathlib/Tactic/Recover.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Siddhartha Gadgil. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Siddhartha Gadgil, Jannis Limperg -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # The `recover` tactic modifier @@ -14,6 +16,8 @@ applies the tactics and then adds goals that are not closed, starting from the original goal. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/ReduceModChar.lean b/Mathlib/Tactic/ReduceModChar.lean index a9b73382a76e9f..2138006aedab5f 100644 --- a/Mathlib/Tactic/ReduceModChar.lean +++ b/Mathlib/Tactic/ReduceModChar.lean @@ -3,12 +3,15 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Data.ZMod.Basic -import Mathlib.RingTheory.Polynomial.Basic -import Mathlib.Tactic.NormNum.DivMod -import Mathlib.Tactic.NormNum.PowMod -import Mathlib.Tactic.ReduceModChar.Ext -import Mathlib.Util.AtLocation +module + +public meta import Mathlib.Data.ZMod.Basic +public meta import Mathlib.RingTheory.Polynomial.Basic +public meta import Mathlib.Tactic.NormNum.DivMod +public meta import Mathlib.Tactic.NormNum.PowMod +public meta import Mathlib.Tactic.ReduceModChar.Ext +public meta import Mathlib.Util.AtLocation +import all Mathlib.Tactic.NormNum.DivMod -- for accessing `evalIntMod.go` /-! # `reduce_mod_char` tactic @@ -33,6 +36,8 @@ with multiplication by `p - 1`, and simp lemmas tagged `@[reduce_mod_char]` to c resulting expression: e.g. `1 * X + 0` becomes `X`. -/ +public meta section + open Lean Meta Simp open Lean.Elab open Tactic diff --git a/Mathlib/Tactic/ReduceModChar/Ext.lean b/Mathlib/Tactic/ReduceModChar/Ext.lean index 4e53350dd25396..b199c005f9718b 100644 --- a/Mathlib/Tactic/ReduceModChar/Ext.lean +++ b/Mathlib/Tactic/ReduceModChar/Ext.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ -import Mathlib.Init -import Lean.Meta.Tactic.Simp.Attr +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Simp.Attr /-! # `@[reduce_mod_char]` attribute @@ -12,6 +14,8 @@ import Lean.Meta.Tactic.Simp.Attr This file registers `@[reduce_mod_char]` as a `simp` attribute. -/ +public meta section + open Lean Meta /-- `@[reduce_mod_char]` is an attribute that tags lemmas for preprocessing and cleanup in the diff --git a/Mathlib/Tactic/Relation/Rfl.lean b/Mathlib/Tactic/Relation/Rfl.lean index 2abf31b41b4df3..de39fa3c80af7c 100644 --- a/Mathlib/Tactic/Relation/Rfl.lean +++ b/Mathlib/Tactic/Relation/Rfl.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Newell Jensen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Newell Jensen -/ -import Mathlib.Init -import Lean.Meta.Tactic.Rfl +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Rfl /-! # `Lean.MVarId.liftReflToEq` @@ -14,6 +16,8 @@ relation, that is, a relation which has a reflexive lemma tagged with the attrib If this can't be done, returns the original `MVarId`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic Rfl diff --git a/Mathlib/Tactic/Relation/Symm.lean b/Mathlib/Tactic/Relation/Symm.lean index aa240b55b3d280..d2ea74235c1092 100644 --- a/Mathlib/Tactic/Relation/Symm.lean +++ b/Mathlib/Tactic/Relation/Symm.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Meta.Tactic.Symm +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Symm /-! # `relSidesIfSymm?` -/ +public meta section + open Lean Meta Symm namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/Rename.lean b/Mathlib/Tactic/Rename.lean index 5d56eda7db2d6a..d00606fa9cc49f 100644 --- a/Mathlib/Tactic/Rename.lean +++ b/Mathlib/Tactic/Rename.lean @@ -3,14 +3,18 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Lean.Elab.Tactic.ElabTerm -import Mathlib.Init +module + +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Mathlib.Init /-! # The `rename'` tactic The `rename'` tactic renames one or several hypotheses. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab.Tactic Meta diff --git a/Mathlib/Tactic/RenameBVar.lean b/Mathlib/Tactic/RenameBVar.lean index db76e7084b5306..511497843f0d8e 100644 --- a/Mathlib/Tactic/RenameBVar.lean +++ b/Mathlib/Tactic/RenameBVar.lean @@ -3,10 +3,11 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Patrick Massot -/ +module -import Lean.Elab.Tactic.Location -import Mathlib.Util.Tactic -import Mathlib.Lean.Expr.Basic +public meta import Lean.Elab.Tactic.Location +public meta import Mathlib.Util.Tactic +public meta import Mathlib.Lean.Expr.Basic /-! # The `rename_bvar` tactic @@ -14,6 +15,8 @@ import Mathlib.Lean.Expr.Basic This file defines the `rename_bvar` tactic, for renaming bound variables. -/ +public meta section + namespace Mathlib.Tactic open Lean Parser Elab Tactic diff --git a/Mathlib/Tactic/Replace.lean b/Mathlib/Tactic/Replace.lean index 150bb27671e9f0..7d72eab14c2362 100644 --- a/Mathlib/Tactic/Replace.lean +++ b/Mathlib/Tactic/Replace.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Mario Carneiro -/ -import Mathlib.Tactic.Have +module + +public meta import Mathlib.Tactic.Have /-! # Extending `replace` @@ -15,6 +17,8 @@ As a style choice, this should not be used in mathlib; but is provided for downs preferred the old style. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab.Tactic diff --git a/Mathlib/Tactic/RewriteSearch.lean b/Mathlib/Tactic/RewriteSearch.lean index 5f505473be76bc..508c99c55ef148 100644 --- a/Mathlib/Tactic/RewriteSearch.lean +++ b/Mathlib/Tactic/RewriteSearch.lean @@ -3,12 +3,16 @@ Copyright (c) 2023 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic /-! # The `rw_search` tactic has been removed from Mathlib. -/ + +public meta section namespace Mathlib.Tactic.RewriteSearch open Lean Meta diff --git a/Mathlib/Tactic/Rify.lean b/Mathlib/Tactic/Rify.lean index 7a3f57cf173c12..d2a994defbeb86 100644 --- a/Mathlib/Tactic/Rify.lean +++ b/Mathlib/Tactic/Rify.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Mario Carneiro, Robert Y. Lewis, Patrick Massot -/ -import Mathlib.Data.Rat.Cast.Order -import Mathlib.Data.Real.Basic -import Mathlib.Tactic.Qify +module + +public meta import Mathlib.Data.Rat.Cast.Order +public meta import Mathlib.Data.Real.Basic +public meta import Mathlib.Tactic.Qify /-! # `rify` tactic @@ -31,6 +33,8 @@ example {n : ℕ} {k : ℤ} (hn : 8 ≤ n) (hk : 2 * k ≤ n + 2) : TODO: Investigate whether we should generalize this to other fields. -/ +public meta section + namespace Mathlib.Tactic.Rify open Lean diff --git a/Mathlib/Tactic/Ring.lean b/Mathlib/Tactic/Ring.lean index 1a19f9b955fc7d..ef9b110a2204e5 100644 --- a/Mathlib/Tactic/Ring.lean +++ b/Mathlib/Tactic/Ring.lean @@ -1,3 +1,5 @@ -import Mathlib.Tactic.Ring.Basic -import Mathlib.Tactic.Ring.RingNF -import Mathlib.Tactic.Ring.PNat +module + +public meta import Mathlib.Tactic.Ring.Basic +public meta import Mathlib.Tactic.Ring.RingNF +public meta import Mathlib.Tactic.Ring.PNat diff --git a/Mathlib/Tactic/Ring/Basic.lean b/Mathlib/Tactic/Ring/Basic.lean index 676e5e69f0cbd3..4cecf1843b02ab 100644 --- a/Mathlib/Tactic/Ring/Basic.lean +++ b/Mathlib/Tactic/Ring/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Aurélien Saue, Anne Baanen -/ -import Mathlib.Tactic.NormNum.Inv -import Mathlib.Tactic.NormNum.Pow -import Mathlib.Util.AtomM +module + +public meta import Mathlib.Tactic.NormNum.Inv +public meta import Mathlib.Tactic.NormNum.Pow +public meta import Mathlib.Util.AtomM /-! # `ring` tactic @@ -74,6 +76,8 @@ This feature wasn't needed yet, so it's not implemented yet. ring, semiring, exponent, power -/ +@[expose] public meta section + assert_not_exists OrderedAddCommMonoid namespace Mathlib.Tactic @@ -261,7 +265,7 @@ Constructs the expression corresponding to `.const n`. (The `.const` constructor does not check that the expression is correct.) -/ def ExProd.mkNat (n : ℕ) : (e : Q($α)) × ExProd sα e := - let lit : Q(ℕ) := mkRawNatLit n + let lit : Q(ℕ) := .lit (.natVal n) ⟨q(($lit).rawCast : $α), .const n none⟩ /-- @@ -960,6 +964,7 @@ def extractCoeff {a : Q(ℕ)} (va : ExProd sℕ a) : ExtractCoeff a := | .mul (x := a₁) (e := a₂) va₁ va₂ va₃ => let ⟨k, _, vc, pc⟩ := extractCoeff va₃ ⟨k, _, .mul va₁ va₂ vc, q(coeff_mul $a₁ $a₂ $pc)⟩ +termination_by structural a theorem pow_one_cast (a : R) : a ^ (nat_lit 1).rawCast = a := by simp diff --git a/Mathlib/Tactic/Ring/Compare.lean b/Mathlib/Tactic/Ring/Compare.lean index 785413ed50b2cf..5f1f55711dbff2 100644 --- a/Mathlib/Tactic/Ring/Compare.lean +++ b/Mathlib/Tactic/Ring/Compare.lean @@ -3,8 +3,11 @@ Copyright (c) 2024 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Tactic.Ring.Basic -import Mathlib.Tactic.NormNum.Ineq +module + +public meta import Mathlib.Tactic.Ring.Basic +public meta import Mathlib.Tactic.NormNum.Ineq +import all Mathlib.Tactic.NormNum.Ineq /-! # Automation for proving inequalities in commutative (semi)rings @@ -34,6 +37,8 @@ goals, so it is available to the user indirectly as the "degenerate" case of tha by calling `linear_combination` without arguments. -/ +public meta section + namespace Mathlib.Tactic.Ring open Lean Qq Meta diff --git a/Mathlib/Tactic/Ring/NamePolyVars.lean b/Mathlib/Tactic/Ring/NamePolyVars.lean index 106345dd6733ee..ed1003941b7d58 100644 --- a/Mathlib/Tactic/Ring/NamePolyVars.lean +++ b/Mathlib/Tactic/Ring/NamePolyVars.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.Algebra.MvPolynomial.Basic +module + +public meta import Mathlib.Algebra.MvPolynomial.Basic /-! The command `name_poly_vars` names variables in @@ -21,6 +23,8 @@ name_poly_vars X, Y, Z over R ``` -/ +public meta section + open Lean Elab Command namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/Ring/PNat.lean b/Mathlib/Tactic/Ring/PNat.lean index c758d3c934de61..0772e52388324d 100644 --- a/Mathlib/Tactic/Ring/PNat.lean +++ b/Mathlib/Tactic/Ring/PNat.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Tactic.Ring.Basic -import Mathlib.Data.PNat.Basic +module + +public meta import Mathlib.Tactic.Ring.Basic +public meta import Mathlib.Data.PNat.Basic /-! # Additional instances for `ring` over `PNat` @@ -13,6 +15,8 @@ This adds some instances which enable `ring` to work on `PNat` even though it is semiring, by lifting to `Nat`. -/ +public meta section + namespace Mathlib.Tactic.Ring instance : CSLift ℕ+ Nat where diff --git a/Mathlib/Tactic/Ring/RingNF.lean b/Mathlib/Tactic/Ring/RingNF.lean index a99484e75696dd..c90c7318ced3f3 100644 --- a/Mathlib/Tactic/Ring/RingNF.lean +++ b/Mathlib/Tactic/Ring/RingNF.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Anne Baanen -/ -import Mathlib.Tactic.Ring.Basic -import Mathlib.Tactic.TryThis -import Mathlib.Tactic.Conv -import Mathlib.Util.AtLocation -import Mathlib.Util.AtomM.Recurse -import Mathlib.Util.Qq +module + +public meta import Mathlib.Tactic.Ring.Basic +public meta import Mathlib.Tactic.TryThis +public meta import Mathlib.Tactic.Conv +public meta import Mathlib.Util.AtLocation +public meta import Mathlib.Util.AtomM.Recurse +public meta import Mathlib.Util.Qq /-! # `ring_nf` tactic @@ -20,6 +22,8 @@ such as `sin (x + y) + sin (y + x) = 2 * sin (x + y)`. -/ +public meta section + namespace Mathlib.Tactic open Lean open Qq Meta diff --git a/Mathlib/Tactic/Sat/FromLRAT.lean b/Mathlib/Tactic/Sat/FromLRAT.lean index c647451c4c4394..79098003c92c3d 100644 --- a/Mathlib/Tactic/Sat/FromLRAT.lean +++ b/Mathlib/Tactic/Sat/FromLRAT.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Algebra.Group.Nat.Defs -import Mathlib.Tactic.ByContra +module + +public meta import Mathlib.Algebra.Group.Nat.Defs +public meta import Mathlib.Tactic.ByContra /-! # `lrat_proof` command @@ -40,6 +42,8 @@ foo : ∀ (a a_1 : Prop), (¬a ∧ ¬a_1 ∨ a ∧ ¬a_1) ∨ ¬a ∧ a_1 ∨ a to load CNF / LRAT files from disk. -/ +@[expose] public meta section + open Lean hiding Literal open Std (HashMap) @@ -111,6 +115,7 @@ all literals in the clause are falsified. -/ def Valuation.satisfies (v : Valuation) : Clause → Prop | [] => False | l::c => v.neg l → v.satisfies c +termination_by structural ps => ps /-- `v.satisfies_fmla f` asserts that formula `f` is satisfied by the valuation. A formula is satisfied if all clauses in it are satisfied. -/ @@ -146,6 +151,7 @@ This is used to introduce assumptions about the first `n` values of `v` during r def Valuation.implies (v : Valuation) (p : Prop) : List Prop → Nat → Prop | [], _ => p | a::as, n => (v n ↔ a) → v.implies p as (n + 1) +termination_by structural ps => ps /-- `Valuation.mk [a, b, c]` is a valuation which is `a` at 0, `b` at 1 and `c` at 2, and false everywhere else. -/ @@ -153,6 +159,7 @@ def Valuation.mk : List Prop → Valuation | [], _ => False | a::_, 0 => a | _::as, n + 1 => mk as n +termination_by structural ps => ps /-- The fundamental relationship between `mk` and `implies`: `(mk ps).implies p ps 0` is equivalent to `p`. -/ diff --git a/Mathlib/Tactic/Says.lean b/Mathlib/Tactic/Says.lean index cb5d1cb4321922..f906bb34be826b 100644 --- a/Mathlib/Tactic/Says.lean +++ b/Mathlib/Tactic/Says.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Meta.Tactic.TryThis -import Batteries.Linter.UnreachableTactic -import Qq.Match -import Mathlib.Lean.Elab.InfoTree -import Mathlib.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis +public meta import Batteries.Linter.UnreachableTactic +public meta import Qq.Match +public meta import Mathlib.Lean.Elab.InfoTree +public meta import Mathlib.Tactic.Basic /-! # The `says` tactic combinator. @@ -27,6 +29,8 @@ If you use `set_option says.verify true` (set automatically during CI) then `X s runs `X` and verifies that it still prints "Try this: Y". -/ +public meta section + open Lean Elab Tactic open Lean.Meta.Tactic.TryThis diff --git a/Mathlib/Tactic/ScopedNS.lean b/Mathlib/Tactic/ScopedNS.lean index dd751fc5170b16..2067f8b3e76b1e 100644 --- a/Mathlib/Tactic/ScopedNS.lean +++ b/Mathlib/Tactic/ScopedNS.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Mario Carneiro -/ -import Mathlib.Util.WithWeakNamespace +module + +public meta import Mathlib.Util.WithWeakNamespace /-! # `scoped[NS]` syntax @@ -11,6 +13,8 @@ This is a replacement for the `localized` command in mathlib. It is similar to ` but it scopes the syntax in the specified namespace instead of the current namespace. -/ +public meta section + namespace Mathlib.Tactic open Lean diff --git a/Mathlib/Tactic/Set.lean b/Mathlib/Tactic/Set.lean index c86bca2378eefd..756607339e73cc 100644 --- a/Mathlib/Tactic/Set.lean +++ b/Mathlib/Tactic/Set.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Ian Benway. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ian Benway -/ -import Mathlib.Init -import Lean.Elab.Tactic.ElabTerm +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.ElabTerm /-! # The `set` tactic @@ -17,6 +19,8 @@ the local context and replaces `t` with `a` everywhere it can. `set! a := t with h` does not do any replacing. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab Elab.Tactic Meta diff --git a/Mathlib/Tactic/SetLike.lean b/Mathlib/Tactic/SetLike.lean index 5d365eeff3b633..1a2b9b56b3824f 100644 --- a/Mathlib/Tactic/SetLike.lean +++ b/Mathlib/Tactic/SetLike.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ +module -import Mathlib.Tactic.Basic -import Aesop +public meta import Mathlib.Tactic.Basic +public meta import Aesop /-! # SetLike Rule Set @@ -15,6 +16,8 @@ Aesop rule sets only become visible once the file in which they're declared is i so we must put this declaration into its own file. -/ +public meta section + declare_aesop_rule_sets [SetLike] (default := true) declare_aesop_rule_sets [SetLike!] (default := false) diff --git a/Mathlib/Tactic/SimpIntro.lean b/Mathlib/Tactic/SimpIntro.lean index 960c055a0159c4..13b5b2cd5e4fbe 100644 --- a/Mathlib/Tactic/SimpIntro.lean +++ b/Mathlib/Tactic/SimpIntro.lean @@ -3,11 +3,15 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Lean.Elab.Tactic.Simp -import Mathlib.Init +module + +public meta import Lean.Elab.Tactic.Simp +public meta import Mathlib.Init /-! # `simp_intro` tactic -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/SimpRw.lean b/Mathlib/Tactic/SimpRw.lean index be2d19e66621cf..a53d1eeb23c522 100644 --- a/Mathlib/Tactic/SimpRw.lean +++ b/Mathlib/Tactic/SimpRw.lean @@ -3,8 +3,9 @@ Copyright (c) 2020 Anne Baanen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Mario Carneiro, Alex J. Best -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # The `simp_rw` tactic @@ -13,6 +14,8 @@ This file defines the `simp_rw` tactic: it functions as a mix of `simp` and `rw` Like `rw`, it applies each rewrite rule in the given order, but like `simp` it repeatedly applies these rules and also under binders like `∀ x, ...`, `∃ x, ...` and `fun x ↦ ...`. -/ + +public meta section namespace Mathlib.Tactic open Lean Elab.Tactic diff --git a/Mathlib/Tactic/Simproc/Divisors.lean b/Mathlib/Tactic/Simproc/Divisors.lean index 199c00a241bb32..d54b4cbf9b1c9f 100644 --- a/Mathlib/Tactic/Simproc/Divisors.lean +++ b/Mathlib/Tactic/Simproc/Divisors.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau, Bhavik Mehta -/ -import Mathlib.NumberTheory.Divisors -import Mathlib.Util.Qq +module + +public meta import Mathlib.NumberTheory.Divisors +public meta import Mathlib.Util.Qq /-! # Divisor Simprocs @@ -14,6 +16,8 @@ This file implements (d)simprocs to compute various objects related to divisors: -/ +public meta section + open Lean Meta Simp Qq /-- The dsimproc `Nat.divisors_ofNat` computes the finset `Nat.divisors n` when `n` is a diff --git a/Mathlib/Tactic/Simproc/ExistsAndEq.lean b/Mathlib/Tactic/Simproc/ExistsAndEq.lean index 7171ce4e276dd1..3d655351d53a98 100644 --- a/Mathlib/Tactic/Simproc/ExistsAndEq.lean +++ b/Mathlib/Tactic/Simproc/ExistsAndEq.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Init -import Qq +module + +public meta import Mathlib.Init +public meta import Qq /-! # Simproc for `∃ a', ... ∧ a' = a ∧ ...` @@ -21,6 +23,8 @@ variables bound by existential quantifiers, those quantifiers are moved outside. For example, `∃ a, p a ∧ ∃ b, a = f b ∧ q b` will be rewritten as `∃ b, p (f b) ∧ q b`. -/ +public meta section + open Lean Meta Qq namespace ExistsAndEq diff --git a/Mathlib/Tactic/Simproc/Factors.lean b/Mathlib/Tactic/Simproc/Factors.lean index 08268918f5040c..fc00890fe00edb 100644 --- a/Mathlib/Tactic/Simproc/Factors.lean +++ b/Mathlib/Tactic/Simproc/Factors.lean @@ -3,8 +3,11 @@ Copyright (c) 2021 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Eric Wieser -/ -import Mathlib.Data.Nat.Factors -import Mathlib.Tactic.NormNum.Prime +module + +public meta import Mathlib.Data.Nat.Factors +public meta import Mathlib.Tactic.NormNum.Prime +import all Mathlib.Tactic.NormNum.Prime -- for accessing `evalMinFac.core` /-! # `simproc` for `Nat.primeFactorsList` @@ -13,6 +16,8 @@ Note that since `norm_num` can only produce numerals, we can't register this as a `norm_num` extension. -/ +public meta section + open Nat namespace Mathlib.Meta.Simproc diff --git a/Mathlib/Tactic/Simps/Basic.lean b/Mathlib/Tactic/Simps/Basic.lean index defbfa3fea667c..a9583cbdcc86e7 100644 --- a/Mathlib/Tactic/Simps/Basic.lean +++ b/Mathlib/Tactic/Simps/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ -import Lean.Elab.Tactic.Simp -import Lean.Elab.App -import Mathlib.Tactic.Simps.NotationClass -import Mathlib.Lean.Expr.Basic -import Mathlib.Tactic.Basic +module + +public meta import Lean.Elab.Tactic.Simp +public meta import Lean.Elab.App +public meta import Mathlib.Tactic.Simps.NotationClass +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Tactic.Basic /-! # Simps attribute @@ -51,6 +53,8 @@ There are some small changes in the attribute. None of them should have great ef structures, projections, simp, simplifier, generates declarations -/ + +public meta section open Lean Elab Parser Command open Meta hiding Config open Elab.Term hiding mkConst @@ -70,7 +74,7 @@ private def NameStruct.toName (n : NameStruct) : Name := | [x] => s!"{x}_def" | e => "_".intercalate e -instance : Coe NameStruct Name where coe := NameStruct.toName +private instance : Coe NameStruct Name where coe := NameStruct.toName /-- `update nm s isPrefix` adds `s` to the last component of `nm`, either as prefix or as suffix (specified by `isPrefix`). @@ -1055,7 +1059,7 @@ If `todo` is non-empty, it will generate exactly the names in `todo`. was just used. In that case we need to apply these projections before we continue changing `lhs`. `simpLemmas`: names of the simp lemmas added so far.(simpLemmas : Array Name) -/ -partial def addProjections (nm : NameStruct) (type lhs rhs : Expr) +private partial def addProjections (nm : NameStruct) (type lhs rhs : Expr) (args : Array Expr) (mustBeStr : Bool) (cfg : Config) (todo : List (String × Syntax)) (toApply : List Nat) : MetaM (Array Name) := do -- we don't want to unfold non-reducible definitions (like `Set`) to apply more arguments @@ -1206,7 +1210,8 @@ If `trc` is true, trace as if `trace.simps.verbose` is true. -/ def simpsTac (ref : Syntax) (nm : Name) (cfg : Config := {}) (todo : List (String × Syntax) := []) (trc := false) : AttrM (Array Name) := withOptions (· |>.updateBool `trace.simps.verbose (trc || ·)) <| do - let env ← getEnv + -- We need access to theorem bodies + let env ← withoutExporting getEnv let some d := env.find? nm | throwError "Declaration {nm} doesn't exist." let lhs : Expr := mkConst d.name <| d.levelParams.map Level.param let todo := todo.eraseDups |>.map fun (proj, stx) ↦ (proj ++ "_", stx) diff --git a/Mathlib/Tactic/Simps/NotationClass.lean b/Mathlib/Tactic/Simps/NotationClass.lean index 8d9581e228f0cd..9fc448e3feaace 100644 --- a/Mathlib/Tactic/Simps/NotationClass.lean +++ b/Mathlib/Tactic/Simps/NotationClass.lean @@ -3,11 +3,12 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn -/ +module -import Mathlib.Init -import Lean.Elab.Exception -import Batteries.Lean.NameMapAttribute -import Batteries.Tactic.Lint +public meta import Mathlib.Init +public meta import Lean.Elab.Exception +public meta import Batteries.Lean.NameMapAttribute +public meta import Batteries.Tactic.Lint /-! # `@[notation_class]` attribute for `@[simps]` @@ -19,6 +20,8 @@ We put this in a separate file so that we can already tag some declarations with in the file where we declare `@[simps]`. For further documentation, see `Tactic.Simps.Basic`. -/ +public meta section + /-- The `@[notation_class]` attribute specifies that this is a notation class, and this notation should be used instead of projections by `@[simps]`. * This is only important if the projection is written differently using notation, e.g. @@ -42,7 +45,7 @@ namespace Simps /-- The type of methods to find arguments for automatic projections for `simps`. We partly define this as a separate definition so that the unused arguments linter doesn't complain. -/ -def findArgType : Type := Name → Name → Array Expr → MetaM (Array (Option Expr)) +@[expose] def findArgType : Type := Name → Name → Array Expr → MetaM (Array (Option Expr)) /-- Find arguments for a notation class -/ def defaultfindArgs : findArgType := fun _ className args ↦ do diff --git a/Mathlib/Tactic/SplitIfs.lean b/Mathlib/Tactic/SplitIfs.lean index 37c42560433e72..6fc47decd171b0 100644 --- a/Mathlib/Tactic/SplitIfs.lean +++ b/Mathlib/Tactic/SplitIfs.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, David Renshaw -/ -import Lean.Elab.Tactic.Location -import Lean.Meta.Tactic.SplitIf -import Lean.Elab.Tactic.Simp -import Mathlib.Tactic.Core +module + +public meta import Lean.Elab.Tactic.Location +public meta import Lean.Meta.Tactic.SplitIf +public meta import Lean.Elab.Tactic.Simp +public meta import Mathlib.Tactic.Core /-! Tactic to split if-then-else expressions. -/ +public meta section + namespace Mathlib.Tactic open Lean Elab.Tactic Parser.Tactic Lean.Meta diff --git a/Mathlib/Tactic/Spread.lean b/Mathlib/Tactic/Spread.lean index 36c7fb615c6b77..69ddd849b78bcc 100644 --- a/Mathlib/Tactic/Spread.lean +++ b/Mathlib/Tactic/Spread.lean @@ -3,13 +3,17 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init -import Lean.Elab.Binders +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Binders /-! # Macro for spread syntax (`__ := instSomething`) in structures. -/ +public meta section + open Lean Parser.Term Macro /- diff --git a/Mathlib/Tactic/StacksAttribute.lean b/Mathlib/Tactic/StacksAttribute.lean index f12f6a7cf9fced..085bb63b209768 100644 --- a/Mathlib/Tactic/StacksAttribute.lean +++ b/Mathlib/Tactic/StacksAttribute.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ -import Lean.Elab.Command -import Mathlib.Init +module + +public meta import Lean.Elab.Command +public meta import Mathlib.Init /-! # The `stacks` and `kerodon` attributes @@ -17,6 +19,8 @@ While the Stacks Project is the main focus, because the tag format at Kerodon is compatible, the attribute can be used to tag results with Kerodon tags as well. -/ +public meta section + open Lean Elab namespace Mathlib.StacksTag diff --git a/Mathlib/Tactic/Subsingleton.lean b/Mathlib/Tactic/Subsingleton.lean index b5a458f1ebab31..5abda22f6e0b93 100644 --- a/Mathlib/Tactic/Subsingleton.lean +++ b/Mathlib/Tactic/Subsingleton.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Logic.Basic +module + +public meta import Mathlib.Logic.Basic /-! # `subsingleton` tactic @@ -14,6 +16,8 @@ To first approximation, it does `apply Subsingleton.elim` but it also will try ` and it is careful not to accidentally specialize `Sort _` to `Prop. -/ +public meta section + open Lean Meta /-- Returns the expression `Subsingleton ty`. -/ diff --git a/Mathlib/Tactic/Substs.lean b/Mathlib/Tactic/Substs.lean index aad863daed3e9d..6623a7433aad83 100644 --- a/Mathlib/Tactic/Substs.lean +++ b/Mathlib/Tactic/Substs.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Evan Lohn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Evan Lohn, Mario Carneiro -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # The `substs` macro @@ -11,6 +13,8 @@ import Mathlib.Init The `substs` macro applies the `subst` tactic to a list of hypothesis, in left to right order. -/ +public meta section + namespace Mathlib.Tactic.Substs diff --git a/Mathlib/Tactic/SuccessIfFailWithMsg.lean b/Mathlib/Tactic/SuccessIfFailWithMsg.lean index f9be7cbc410708..764b2417af2b78 100644 --- a/Mathlib/Tactic/SuccessIfFailWithMsg.lean +++ b/Mathlib/Tactic/SuccessIfFailWithMsg.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Simon Hudon, Sébastien Gouëzel, Kim Morrison, Thomas Murrills -/ -import Lean.Elab.Eval -import Lean.Elab.Tactic.BuiltinTactic -import Mathlib.Init -import Lean.Meta.Tactic.TryThis +module + +public meta import Lean.Elab.Eval +public meta import Lean.Elab.Tactic.BuiltinTactic +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis /-! # Success If Fail With Message @@ -17,6 +19,8 @@ It's mostly useful in tests, where we want to make sure that tactics fail in cer circumstances. -/ +public meta section + open Lean Meta Elab Tactic namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/SudoSetOption.lean b/Mathlib/Tactic/SudoSetOption.lean index 8457c4741033c3..ab7fd1698d8654 100644 --- a/Mathlib/Tactic/SudoSetOption.lean +++ b/Mathlib/Tactic/SudoSetOption.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init -import Lean.Elab.ElabRules +module + +public meta import Mathlib.Init +public meta import Lean.Elab.ElabRules /-! # Defines the `sudo set_option` command. @@ -12,6 +14,8 @@ import Lean.Elab.ElabRules Allows setting undeclared options. -/ +public meta section + open Lean Elab private def setOption {m : Type → Type} [Monad m] [MonadError m] diff --git a/Mathlib/Tactic/SuppressCompilation.lean b/Mathlib/Tactic/SuppressCompilation.lean index f75ba1706e5b77..97964dcbcd4039 100644 --- a/Mathlib/Tactic/SuppressCompilation.lean +++ b/Mathlib/Tactic/SuppressCompilation.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best, Mac Malone -/ -import Mathlib.Init -import Lean.Elab.Declaration +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Declaration /-! # Suppressing compilation to executable code in a file or in a section @@ -22,6 +24,8 @@ Note that `suppress_compilation` does not work with `notation3`. You need to pre declaration with `unsuppress_compilation` if `suppress_compilation` is active. -/ +public meta section + open Lean Parser Elab Command /-- Replacing `def` and `instance` by `noncomputable def` and `noncomputable instance`, designed diff --git a/Mathlib/Tactic/SwapVar.lean b/Mathlib/Tactic/SwapVar.lean index 96c6c0987b1800..25f87e55f6bcd8 100644 --- a/Mathlib/Tactic/SwapVar.lean +++ b/Mathlib/Tactic/SwapVar.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Arthur Paulino. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino -/ -import Lean.Elab.ElabRules -import Mathlib.Util.Tactic +module + +public meta import Lean.Elab.ElabRules +public meta import Mathlib.Util.Tactic /-! # Defines the `swap_var` tactic @@ -12,6 +14,8 @@ import Mathlib.Util.Tactic Swap the names of two hypotheses. -/ +public meta section + open Lean Meta Elab.Tactic namespace Mathlib.Tactic diff --git a/Mathlib/Tactic/TFAE.lean b/Mathlib/Tactic/TFAE.lean index 0d3d8558b69726..5f559fa4fbdd35 100644 --- a/Mathlib/Tactic/TFAE.lean +++ b/Mathlib/Tactic/TFAE.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Reid Barton, Simon Hudon, Thomas Murrills, Mario Carneiro -/ -import Qq -import Mathlib.Data.Nat.Notation -import Mathlib.Util.AtomM -import Mathlib.Data.List.TFAE -import Mathlib.Tactic.ExtendDoc +module + +public meta import Qq +public meta import Mathlib.Data.Nat.Notation +public meta import Mathlib.Util.AtomM +public meta import Mathlib.Data.List.TFAE +public meta import Mathlib.Tactic.ExtendDoc /-! # The Following Are Equivalent (TFAE) @@ -16,6 +18,8 @@ This file provides the tactics `tfae_have` and `tfae_finish` for proving goals o `TFAE [P₁, P₂, ...]`. -/ +public meta section + namespace Mathlib.Tactic.TFAE /-! # Parsing and syntax @@ -29,14 +33,14 @@ open Lean.Parser Term namespace Parser /- An arrow of the form `←`, `→`, or `↔`. -/ -private def impTo : Parser := leading_parser unicodeSymbol " → " " -> " -private def impFrom : Parser := leading_parser unicodeSymbol " ← " " <- " -private def impIff : Parser := leading_parser unicodeSymbol " ↔ " " <-> " -private def impArrow : Parser := leading_parser impTo <|> impFrom <|> impIff +def impTo : Parser := leading_parser unicodeSymbol " → " " -> " +def impFrom : Parser := leading_parser unicodeSymbol " ← " " <- " +def impIff : Parser := leading_parser unicodeSymbol " ↔ " " <-> " +def impArrow : Parser := leading_parser impTo <|> impFrom <|> impIff /-- A `tfae_have` type specification, e.g. `1 ↔ 3` The numbers refer to the proposition at the corresponding position in the `TFAE` goal (starting at 1). -/ -private def tfaeType := leading_parser num >> impArrow >> num +def tfaeType := leading_parser num >> impArrow >> num /-! The following parsers are similar to those for `have` in `Lean.Parser.Term`, but @@ -48,24 +52,24 @@ syntax (which, unlike `have`, omits `" : "`). /- We need this to ensure `<|>` in `tfaeHaveIdLhs` takes in the same number of syntax trees on each side. -/ -private def binder := leading_parser ppSpace >> binderIdent >> " : " +def binder := leading_parser ppSpace >> binderIdent >> " : " /- See `haveIdLhs`. We omit `many (ppSpace >> letIdBinder)`, as it makes no sense to add extra arguments to a `tfae_have` decl. -/ -private def tfaeHaveIdLhs := leading_parser +def tfaeHaveIdLhs := leading_parser (binder <|> hygieneInfo) >> tfaeType /- See `haveIdDecl`. E.g. `h : 1 → 3 := term`. -/ -private def tfaeHaveIdDecl := leading_parser (withAnonymousAntiquot := false) +def tfaeHaveIdDecl := leading_parser (withAnonymousAntiquot := false) atomic (tfaeHaveIdLhs >> " := ") >> termParser /- See `haveEqnsDecl`. E.g. `h : 1 → 3 | p => f p`. -/ -private def tfaeHaveEqnsDecl := leading_parser (withAnonymousAntiquot := false) +def tfaeHaveEqnsDecl := leading_parser (withAnonymousAntiquot := false) tfaeHaveIdLhs >> matchAlts /- See `letPatDecl`. E.g. `⟨mp, mpr⟩ : 1 ↔ 3 := term`. -/ -private def tfaeHavePatDecl := leading_parser (withAnonymousAntiquot := false) +def tfaeHavePatDecl := leading_parser (withAnonymousAntiquot := false) atomic (termParser >> pushNone >> " : " >> tfaeType >> " := ") >> termParser /- See `haveDecl`. Any of `tfaeHaveIdDecl`, `tfaeHavePatDecl`, or `tfaeHaveEqnsDecl`. -/ -private def tfaeHaveDecl := leading_parser (withAnonymousAntiquot := false) +def tfaeHaveDecl := leading_parser (withAnonymousAntiquot := false) tfaeHaveIdDecl <|> (ppSpace >> tfaeHavePatDecl) <|> tfaeHaveEqnsDecl end Parser diff --git a/Mathlib/Tactic/TacticAnalysis.lean b/Mathlib/Tactic/TacticAnalysis.lean index 64c9c2930575a9..3ce6be4b9e80a5 100644 --- a/Mathlib/Tactic/TacticAnalysis.lean +++ b/Mathlib/Tactic/TacticAnalysis.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen -/ +module -import Lean.Util.Heartbeats -import Lean.Server.InfoUtils -import Mathlib.Lean.ContextInfo -import Mathlib.Lean.Elab.Tactic.Meta +public meta import Lean.Util.Heartbeats +public meta import Lean.Server.InfoUtils +public meta import Mathlib.Lean.ContextInfo +public meta import Mathlib.Lean.Elab.Tactic.Meta +public meta import Lean.Compiler.IR.CompilerM /-! # Tactic analysis framework @@ -33,6 +35,8 @@ The `ComplexConfig` interface doesn't feel quite intuitive and flexible yet and in the future. Please do not rely on this interface being stable. -/ +public meta section + open Lean Elab Term Command Linter /-- The tactic analysis framework hooks into the linter to run analysis rounds on sequences diff --git a/Mathlib/Tactic/TacticAnalysis/Declarations.lean b/Mathlib/Tactic/TacticAnalysis/Declarations.lean index bf9626aecc3f3d..8febe29ad0a0a1 100644 --- a/Mathlib/Tactic/TacticAnalysis/Declarations.lean +++ b/Mathlib/Tactic/TacticAnalysis/Declarations.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Edward van de Meent -/ -import Mathlib.Tactic.TacticAnalysis -import Mathlib.Tactic.ExtractGoal -import Mathlib.Tactic.MinImports -import Lean.Elab.Tactic.Meta -import Lean.Elab.Command +module + +public meta import Mathlib.Tactic.TacticAnalysis +public meta import Mathlib.Tactic.ExtractGoal +public meta import Mathlib.Tactic.MinImports +public meta import Lean.Elab.Tactic.Meta +public meta import Lean.Elab.Command /-! # Tactic linters @@ -15,6 +17,8 @@ import Lean.Elab.Command This file defines passes to run from the tactic analysis framework. -/ +public meta section + open Lean Meta namespace Mathlib.TacticAnalysis diff --git a/Mathlib/Tactic/Tauto.lean b/Mathlib/Tactic/Tauto.lean index af49ecd0778f63..cae69248c7673c 100644 --- a/Mathlib/Tactic/Tauto.lean +++ b/Mathlib/Tactic/Tauto.lean @@ -3,16 +3,20 @@ Copyright (c) 2018 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon, David Renshaw -/ -import Mathlib.Tactic.CasesM -import Mathlib.Tactic.Core -import Mathlib.Lean.Elab.Tactic.Basic -import Mathlib.Logic.Basic -import Qq +module + +public meta import Mathlib.Tactic.CasesM +public meta import Mathlib.Tactic.Core +public meta import Mathlib.Lean.Elab.Tactic.Basic +public meta import Mathlib.Logic.Basic +public meta import Qq /-! The `tauto` tactic. -/ +public meta section + namespace Mathlib.Tactic.Tauto open Lean Elab.Tactic Parser.Tactic Lean.Meta MVarId Batteries.Tactic diff --git a/Mathlib/Tactic/TautoSet.lean b/Mathlib/Tactic/TautoSet.lean index 1e1ff6ebedb9e2..51ee3fbc5e109d 100644 --- a/Mathlib/Tactic/TautoSet.lean +++ b/Mathlib/Tactic/TautoSet.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Lenny Taelman. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Lenny Taelman -/ +module -import Mathlib.Data.Set.SymmDiff -import Mathlib.Data.Set.Disjoint +public meta import Mathlib.Data.Set.SymmDiff +public meta import Mathlib.Data.Set.Disjoint /-! # The `tauto_set` tactic -/ +public meta section + assert_not_exists RelIso namespace Mathlib.Tactic.TautoSet diff --git a/Mathlib/Tactic/TermCongr.lean b/Mathlib/Tactic/TermCongr.lean index b2f71e0f210994..9bb8f73468fb55 100644 --- a/Mathlib/Tactic/TermCongr.lean +++ b/Mathlib/Tactic/TermCongr.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Lean.Expr.Basic -import Mathlib.Lean.Meta.CongrTheorems -import Mathlib.Logic.Basic -import Mathlib.Tactic.CongrExclamation +module + +public meta import Mathlib.Lean.Expr.Basic +public meta import Mathlib.Lean.Meta.CongrTheorems +public meta import Mathlib.Logic.Basic +public meta import Mathlib.Tactic.CongrExclamation /-! # `congr(...)` congruence quotations @@ -47,6 +49,8 @@ it eagerly wants to solve for instance arguments. The current version is able to expected LHS and RHS to fill in arguments before solving for instance arguments. -/ +public meta section + universe u namespace Mathlib.Tactic.TermCongr @@ -105,7 +109,7 @@ we know whether we want an iff, eq, or heq, while also allowing it to choose to elaborate as an iff, eq, or heq. Later, the congruence generator handles any discrepancies. See `Mathlib/Tactic/TermCongr/CongrResult.lean`. -/ -@[reducible, nolint unusedArguments] +@[reducible, nolint unusedArguments, expose] def cHole {α : Sort u} (val : α) {p : Prop} (_pf : p) : α := val /-- For error reporting purposes, make the hole pretty print as its value. diff --git a/Mathlib/Tactic/ToAdditive.lean b/Mathlib/Tactic/ToAdditive.lean index 189f39d7e9474d..b782b5a80ccab3 100644 --- a/Mathlib/Tactic/ToAdditive.lean +++ b/Mathlib/Tactic/ToAdditive.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ -import Mathlib.Tactic.ToAdditive.Frontend +module + +public meta import Mathlib.Tactic.ToAdditive.Frontend /-! ## `@[to_additive]` attributes for basic types -/ +public meta section + attribute [to_additive self] Empty PEmpty Unit PUnit attribute [to_additive_change_numeral 2] OfNat OfNat.ofNat diff --git a/Mathlib/Tactic/ToAdditive/Frontend.lean b/Mathlib/Tactic/ToAdditive/Frontend.lean index 0ff2a6a4d68cd5..e28febe4050794 100644 --- a/Mathlib/Tactic/ToAdditive/Frontend.lean +++ b/Mathlib/Tactic/ToAdditive/Frontend.lean @@ -3,20 +3,23 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yury Kudryashov, Floris van Doorn, Jon Eugster -/ -import Batteries.Tactic.Trans -import Lean.Compiler.NoncomputableAttr -import Lean.Elab.Tactic.Ext -import Lean.Meta.Tactic.Rfl -import Lean.Meta.Tactic.Symm -import Lean.Meta.Tactic.TryThis -import Mathlib.Data.Array.Defs -import Mathlib.Data.Nat.Notation -import Mathlib.Lean.Expr.ReplaceRec -import Mathlib.Lean.Meta.Simp -import Mathlib.Lean.Name -import Mathlib.Tactic.Eqns -- just to copy the attribute -import Mathlib.Tactic.Simps.Basic -import Mathlib.Tactic.ToAdditive.GuessName +module + +public meta import Batteries.Tactic.Trans +public meta import Lean.Compiler.NoncomputableAttr +public meta import Lean.Elab.Tactic.Ext +public meta import Lean.Meta.Tactic.Rfl +public meta import Lean.Meta.Tactic.Symm +public meta import Lean.Meta.Tactic.TryThis +public meta import Mathlib.Data.Array.Defs +public meta import Mathlib.Data.Nat.Notation +public meta import Mathlib.Lean.Expr.ReplaceRec +public meta import Mathlib.Lean.Meta.Simp +public meta import Mathlib.Lean.Name +public meta import Mathlib.Tactic.Eqns -- just to copy the attribute +public meta import Mathlib.Tactic.Simps.Basic +public meta import Mathlib.Tactic.ToAdditive.GuessName +public meta import Lean.Meta.CoeAttr /-! # The `@[to_additive]` attribute. @@ -25,6 +28,8 @@ Implementation of the `to_additive` attribute. See the docstring of `ToAdditive.to_additive` for more information -/ +public meta section + open Lean Meta Elab Command Std namespace ToAdditive @@ -424,7 +429,13 @@ def findTranslation? (env : Environment) : Name → Option Name := falling back to translating a prefix of the name if the full name can't be translated. This allows translating automatically generated declarations such as `IsRegular.casesOn`. -/ def findPrefixTranslation (env : Environment) (nm : Name) : Name := - nm.mapPrefix (findTranslation? env) + nm.mapPrefix fun n ↦ do + if let some n' := findTranslation? env n then + return n' + if isPrivateName n then + let n' ← findTranslation? env (privateToUserName n) + return mkPrivateName env n' + none /-- Add a (multiplicative → additive) name translation to the translations map. -/ def insertTranslation (src tgt : Name) (failIfExists := true) : CoreM Unit := do @@ -805,9 +816,9 @@ def updateDecl (tgt : Name) (srcDecl : ConstantInfo) (reorder : List (List Nat)) /-- Abstracts the nested proofs in the value of `decl` if it is a def. -/ def declAbstractNestedProofs (decl : ConstantInfo) : MetaM ConstantInfo := do + let decl := decl.updateType (← withExporting <| Meta.abstractNestedProofs decl.type) if decl matches .defnInfo _ then - return decl.updateValue <| ← withDeclNameForAuxNaming decl.name do - Meta.abstractNestedProofs decl.value! + return decl.updateValue (← Meta.abstractNestedProofs decl.value!) else return decl @@ -816,6 +827,10 @@ def findTargetName (env : Environment) (src pre tgt_pre : Name) : CoreM Name := /- This covers auxiliary declarations like `match_i` and `proof_i`. -/ if let some post := pre.isPrefixOf? src then return tgt_pre ++ post + else if src.hasMacroScopes then + -- This branch should come before the next one because an aux def may be both private and macro + -- scoped - but really the next branch shouldn't just assume all private defs are eqns?? + mkFreshUserName src.eraseMacroScopes /- This covers equation lemmas (for other declarations). -/ else if let some post := privateToUserName? src then match findTranslation? env post.getPrefix with @@ -824,8 +839,6 @@ def findTargetName (env : Environment) (src pre tgt_pre : Name) : CoreM Name := -- this is an equation lemma for a declaration with `to_additive`. We will additivize this. -- Note: if this errors we could do this instead by calling `getEqnsFor?` | some addName => return src.updatePrefix <| mkPrivateName env addName - else if src.hasMacroScopes then - mkFreshUserName src.eraseMacroScopes else throwError "internal @[to_additive] error." @@ -842,7 +855,7 @@ we hadn't unfolded them in `declUnfoldAuxLemmas`. -/ def findAuxDecls (e : Expr) (pre : Name) : NameSet := e.foldConsts ∅ fun n l ↦ - if n.getPrefix == pre || isPrivateName n || n.hasMacroScopes then + if (privateToUserName n).getPrefix == privateToUserName pre || n.hasMacroScopes then l.insert n else l @@ -870,16 +883,16 @@ partial def transformDeclAux -- we find the additive name of `src` let tgt ← findTargetName env src pre tgt_pre -- we skip if we already transformed this declaration before. - if env.contains tgt then + if env.setExporting false |>.contains tgt then if tgt == src then -- Note: this can happen for equation lemmas of declarations without `@[to_additive]`. trace[to_additive_detail] "Auxiliary declaration {src} will be translated to itself." else trace[to_additive_detail] "Already visited {tgt} as translation of {src}." return - let srcDecl ← getConstInfo src + let srcDecl ← withoutExporting do getConstInfo src -- we first unfold all auxlemmas, since they are not always able to be additivized on their own - let srcDecl ← MetaM.run' do declUnfoldAuxLemmas srcDecl + let srcDecl ← withoutExporting do MetaM.run' do declUnfoldAuxLemmas srcDecl -- we then transform all auxiliary declarations generated when elaborating `pre` for n in findAuxDecls srcDecl.type pre do transformDeclAux cfg pre tgt_pre n @@ -894,6 +907,8 @@ partial def transformDeclAux if !pre.isPrefixOf src then insertTranslation src tgt -- now transform the source declaration + -- expose target body when source body is exposed + withExporting (isExporting := (← getEnv).setExporting true |>.find? src |>.any (·.hasValue)) do let trgDecl : ConstantInfo ← MetaM.run' <| if src == pre then updateDecl tgt srcDecl cfg.reorder cfg.dontTranslate @@ -906,7 +921,7 @@ partial def transformDeclAux try -- make sure that the type is correct, -- and emit a more helpful error message if it fails - MetaM.run' <| check value + withoutExporting <| MetaM.run' <| check value catch | Exception.error _ msg => throwError "@[to_additive] failed. \ The translated value is not type correct. For help, see the docstring \ @@ -1174,7 +1189,7 @@ def elabToAdditive : Syntax → CoreM Config mutual /-- Apply attributes to the multiplicative and additive declarations. -/ partial def applyAttributes (stx : Syntax) (rawAttrs : Array Syntax) (thisAttr src tgt : Name) - (argInfo : ArgInfo) : TermElabM (Array Name) := do + (argInfo : ArgInfo) : TermElabM (Array Name) := withoutExporting do -- we only copy the `instance` attribute, since `@[to_additive] instance` is nice to allow copyInstanceAttribute src tgt -- Warn users if the multiplicative version has an attribute @@ -1188,7 +1203,7 @@ partial def applyAttributes (stx : Syntax) (rawAttrs : Array Syntax) (thisAttr s calling @[{thisAttr}].\nThe preferred method is to use something like \ `@[{thisAttr} (attr := {appliedAttrs})]`\nto apply the attribute to both \ {src} and the target declaration {tgt}." - warnAttr stx Lean.Meta.Ext.extExtension + warnAttr stx Ext.extExtension (fun b n => (b.tree.values.any fun t => t.declName = n)) thisAttr `ext src tgt warnAttr stx Lean.Meta.Rfl.reflExt (·.values.contains ·) thisAttr `refl src tgt warnAttr stx Lean.Meta.Symm.symmExt (·.values.contains ·) thisAttr `symm src tgt @@ -1261,13 +1276,13 @@ the body using the `translations` dictionary. This is used to implement `@[to_additive]`. -/ partial def transformDecl (cfg : Config) (src tgt : Name) (argInfo : ArgInfo := {}) : - CoreM (Array Name) := do + CoreM (Array Name) := withDeclNameForAuxNaming tgt do transformDeclAux cfg src tgt src copyMetaData cfg src tgt argInfo /-- Verify that the type of given `srcDecl` translates to that of `tgtDecl`. -/ partial def checkExistingType (src tgt : Name) (reorder : List (List Nat)) (dont : List Ident) : - MetaM Unit := do + MetaM Unit := withoutExporting do let mut srcDecl ← getConstInfo src let tgtDecl ← getConstInfo tgt if 0 ∈ reorder.flatten then diff --git a/Mathlib/Tactic/ToAdditive/GuessName.lean b/Mathlib/Tactic/ToAdditive/GuessName.lean index a95e9323524183..eea3bb4a1d3308 100644 --- a/Mathlib/Tactic/ToAdditive/GuessName.lean +++ b/Mathlib/Tactic/ToAdditive/GuessName.lean @@ -3,14 +3,17 @@ Copyright (c) 2017 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Yury Kudryashov, Floris van Doorn, Jon Eugster -/ +module -import Std.Data.TreeMap.Basic -import Mathlib.Data.String.Defs +public meta import Std.Data.TreeMap.Basic +public meta import Mathlib.Data.String.Defs /-! # Name generation APIs for `to_additive` -/ +public meta section + open Std namespace ToAdditive diff --git a/Mathlib/Tactic/ToExpr.lean b/Mathlib/Tactic/ToExpr.lean index 3468f53cf1cc61..9c84e83dacdf0e 100644 --- a/Mathlib/Tactic/ToExpr.lean +++ b/Mathlib/Tactic/ToExpr.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Util.WhatsNew -import Mathlib.Tactic.AdaptationNote +module + +public meta import Mathlib.Util.WhatsNew +public meta import Mathlib.Tactic.AdaptationNote /-! # `ToExpr` instances for Mathlib -/ +public meta section + namespace Mathlib open Lean @@ -45,7 +49,7 @@ private def toExprMData (md : MData) : Expr := Id.run do return e instance : ToExpr MData where - toExpr := toExprMData + toExpr := private toExprMData toTypeExpr := mkConst ``MData deriving instance ToExpr for MVarId diff --git a/Mathlib/Tactic/ToLevel.lean b/Mathlib/Tactic/ToLevel.lean index 2c3b892b179235..cc6c4836173fd8 100644 --- a/Mathlib/Tactic/ToLevel.lean +++ b/Mathlib/Tactic/ToLevel.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Tactic.PPWithUniv +module + +public meta import Mathlib.Tactic.PPWithUniv /-! # `ToLevel` class @@ -15,6 +17,8 @@ override the ones from Lean 4 core. -/ +public meta section + namespace Lean attribute [pp_with_univ] toLevel diff --git a/Mathlib/Tactic/Trace.lean b/Mathlib/Tactic/Trace.lean index 2e5673d8cd7997..eb3416fe7b8b53 100644 --- a/Mathlib/Tactic/Trace.lean +++ b/Mathlib/Tactic/Trace.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Tactic.ElabTerm -import Lean.Meta.Eval +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.ElabTerm +public meta import Lean.Meta.Eval /-! # Defines the `trace` tactic. -/ +public meta section + open Lean Meta Elab Tactic /-- Evaluates a term to a string (when possible), and prints it as a trace message. -/ diff --git a/Mathlib/Tactic/TryThis.lean b/Mathlib/Tactic/TryThis.lean index f34ea59970cb96..304ceddc0bbff2 100644 --- a/Mathlib/Tactic/TryThis.lean +++ b/Mathlib/Tactic/TryThis.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Meta.Tactic.TryThis +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis /-! # 'Try this' tactic macro @@ -14,6 +16,8 @@ recommendations. (It is not the main implementation of 'Try this', which is implemented in Lean core, see `Lean.Meta.Tactic.TryThis`.) -/ +public meta section + namespace Mathlib.Tactic open Lean diff --git a/Mathlib/Tactic/TypeCheck.lean b/Mathlib/Tactic/TypeCheck.lean index 027d17e403e204..d615eabcfed320 100644 --- a/Mathlib/Tactic/TypeCheck.lean +++ b/Mathlib/Tactic/TypeCheck.lean @@ -3,15 +3,19 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Lean.Elab.SyntheticMVars +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Lean.Elab.SyntheticMVars /-! # The `type_check` tactic Define the `type_check` tactic: it type checks a given expression, and traces its type. -/ +public meta section + open Lean Elab Meta /-- Type check the given expression, and trace its type. -/ diff --git a/Mathlib/Tactic/TypeStar.lean b/Mathlib/Tactic/TypeStar.lean index 5020b12aabeb24..b92cdda1a4438f 100644 --- a/Mathlib/Tactic/TypeStar.lean +++ b/Mathlib/Tactic/TypeStar.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Matthew Robert Ballard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # Support for `Sort*` and `Type*`. @@ -11,6 +13,8 @@ import Mathlib.Init These elaborate as `Sort u` and `Type u` with a fresh implicit universe variable `u`. -/ +public meta section + open Lean /-- The syntax `variable (X Y ... Z : Sort*)` creates a new distinct implicit universe variable diff --git a/Mathlib/Tactic/UnsetOption.lean b/Mathlib/Tactic/UnsetOption.lean index 6d9929d02792af..151756332ed405 100644 --- a/Mathlib/Tactic/UnsetOption.lean +++ b/Mathlib/Tactic/UnsetOption.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Init -import Lean.Parser.Term -import Lean.Parser.Do -import Lean.Elab.Command +module + +public meta import Mathlib.Init +public meta import Lean.Parser.Term +public meta import Lean.Parser.Do +public meta import Lean.Elab.Command /-! # The `unset_option` command @@ -20,6 +22,8 @@ is cleaner not to write it explicitly, or for some options where the default behaviour is different from any user set value. -/ +public meta section + namespace Lean.Elab variable {m : Type → Type} [Monad m] [MonadOptions m] [MonadRef m] [MonadInfoTree m] diff --git a/Mathlib/Tactic/Use.lean b/Mathlib/Tactic/Use.lean index 61d77266772d0b..c67b98d1b5b77f 100644 --- a/Mathlib/Tactic/Use.lean +++ b/Mathlib/Tactic/Use.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Arthur Paulino. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Gabriel Ebner, Kyle Miller -/ -import Mathlib.Tactic.WithoutCDot -import Lean.Meta.Tactic.Util -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Tactic.WithoutCDot +public meta import Lean.Meta.Tactic.Util +public meta import Lean.Elab.Tactic.Basic /-! # The `use` tactic @@ -20,6 +22,8 @@ Note: The `use!` tactic is almost exactly the mathlib3 `use` except that it does applying `exists_prop`. See the failing test in `MathlibTest/Use.lean`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Tactic diff --git a/Mathlib/Tactic/Variable.lean b/Mathlib/Tactic/Variable.lean index add7aac9892756..9f29f6a405a2e7 100644 --- a/Mathlib/Tactic/Variable.lean +++ b/Mathlib/Tactic/Variable.lean @@ -3,8 +3,11 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Lean.Meta.Tactic.TryThis +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.TryThis +public meta import Lean.Linter.UnusedVariables /-! # The `variable?` command @@ -19,6 +22,8 @@ An inherent limitation with this command is that variables are recorded in the s from typeclass synthesis errors, and these might fail to round trip. -/ +public meta section + namespace Mathlib.Command.Variable open Lean Elab Command Parser.Term Meta @@ -305,7 +310,7 @@ where /-- Hint for the unused variables linter. Copies the one for `variable`. -/ @[unused_variables_ignore_fn] -def ignorevariable? : Lean.Linter.IgnoreFunction := fun _ stack _ => +def ignorevariable? : Linter.IgnoreFunction := fun _ stack _ => stack.matches [`null, none, `null, ``Mathlib.Command.Variable.variable?] || stack.matches [`null, none, `null, `null, ``Mathlib.Command.Variable.variable?] diff --git a/Mathlib/Tactic/WLOG.lean b/Mathlib/Tactic/WLOG.lean index 1c56a6e742d976..801b1b7658ab78 100644 --- a/Mathlib/Tactic/WLOG.lean +++ b/Mathlib/Tactic/WLOG.lean @@ -3,8 +3,11 @@ Copyright (c) 2018 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Johan Commelin, Reid Barton, Thomas Murrills -/ -import Mathlib.Tactic.Core -import Lean.Meta.Tactic.Cases +module + +public meta import Mathlib.Tactic.Core +public meta import Lean.Meta.Tactic.Cases +import all Lean.MetavarContext /-! @@ -18,6 +21,8 @@ The new goal will be placed at the top of the goal stack. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab Term Tactic MetavarContext.MkBinding @@ -46,7 +51,6 @@ structure WLOGResult where `hypothesisGoal`). -/ revertedFVarIds : Array FVarId -open private withFreshCache mkAuxMVarType from Lean.MetavarContext in /-- `wlog goal h P xs H` will return two goals: the `hypothesisGoal`, which adds an assumption `h : P` to the context of `goal`, and the `reductionGoal`, which requires showing that the case `h : ¬ P` can be reduced to the case where `P` holds (typically by symmetry). diff --git a/Mathlib/Tactic/Widget/Calc.lean b/Mathlib/Tactic/Widget/Calc.lean index c6f663b2a745b6..a727bb84cc630c 100644 --- a/Mathlib/Tactic/Widget/Calc.lean +++ b/Mathlib/Tactic/Widget/Calc.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Lean.Elab.Tactic.Calc -import Lean.Meta.Tactic.TryThis +module -import Mathlib.Data.String.Defs -import Mathlib.Tactic.Widget.SelectPanelUtils -import Batteries.CodeAction.Attr +public meta import Lean.Elab.Tactic.Calc +public meta import Lean.Meta.Tactic.TryThis + +public meta import Mathlib.Data.String.Defs +public meta import Mathlib.Tactic.Widget.SelectPanelUtils +public meta import Batteries.CodeAction.Attr /-! # Calc widget @@ -16,6 +18,8 @@ This file redefines the `calc` tactic so that it displays a widget panel allowin new calc steps with holes specified by selected sub-expressions in the goal. -/ +public meta section + section code_action open Batteries.CodeAction open Lean Server RequestM diff --git a/Mathlib/Tactic/Widget/CommDiag.lean b/Mathlib/Tactic/Widget/CommDiag.lean index abd2ed23e56452..5843940231f2ea 100644 --- a/Mathlib/Tactic/Widget/CommDiag.lean +++ b/Mathlib/Tactic/Widget/CommDiag.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Wojciech Nawrocki. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wojciech Nawrocki -/ -import ProofWidgets.Component.PenroseDiagram -import ProofWidgets.Presentation.Expr -import Mathlib.CategoryTheory.Category.Basic +module + +public meta import ProofWidgets.Component.PenroseDiagram +public meta import ProofWidgets.Presentation.Expr +public meta import Mathlib.CategoryTheory.Category.Basic /-! This module defines tactic/meta infrastructure for displaying commutative diagrams in the infoview. -/ +public meta section + open Lean in /-- If the expression is a function application of `fName` with 7 arguments, return those arguments. Otherwise return `none`. -/ diff --git a/Mathlib/Tactic/Widget/CongrM.lean b/Mathlib/Tactic/Widget/CongrM.lean index a5650d414fb8f6..f781ac2687de61 100644 --- a/Mathlib/Tactic/Widget/CongrM.lean +++ b/Mathlib/Tactic/Widget/CongrM.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ +module -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Tactic.CongrM +public meta import Mathlib.Tactic.Widget.SelectPanelUtils +public meta import Mathlib.Tactic.CongrM /-! # CongrM widget @@ -13,6 +14,8 @@ This file defines a `congrm?` tactic that displays a widget panel allowing to ge a `congrm` call with holes specified by selecting subexpressions in the goal. -/ +public meta section + open Lean Meta Server ProofWidgets diff --git a/Mathlib/Tactic/Widget/Conv.lean b/Mathlib/Tactic/Widget/Conv.lean index 2684bb0d3f7894..0f40e4a2297b94 100644 --- a/Mathlib/Tactic/Widget/Conv.lean +++ b/Mathlib/Tactic/Widget/Conv.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Robin Böhne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robin Böhne, Wojciech Nawrocki, Patrick Massot -/ -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Data.String.Defs -import Batteries.Tactic.Lint +module + +public meta import Mathlib.Tactic.Widget.SelectPanelUtils +public meta import Mathlib.Data.String.Defs +public meta import Batteries.Tactic.Lint /-! # Conv widget @@ -14,6 +16,8 @@ It defines a `conv?` tactic that displays a widget panel allowing to generate a `conv` call zooming to the subexpression selected in the goal. -/ +public meta section + open Lean Meta Server ProofWidgets diff --git a/Mathlib/Tactic/Widget/GCongr.lean b/Mathlib/Tactic/Widget/GCongr.lean index 0a198741f8f9ae..687e28703e9487 100644 --- a/Mathlib/Tactic/Widget/GCongr.lean +++ b/Mathlib/Tactic/Widget/GCongr.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Tactic.GCongr +module + +public meta import Mathlib.Tactic.Widget.SelectPanelUtils +public meta import Mathlib.Tactic.GCongr /-! # GCongr widget @@ -12,6 +14,8 @@ This file defines a `gcongr?` tactic that displays a widget panel allowing to ge a `gcongr` call with holes specified by selecting subexpressions in the goal. -/ +public meta section + open Lean Meta Server ProofWidgets /-- Return the link text and inserted text above and below of the gcongr widget. -/ diff --git a/Mathlib/Tactic/Widget/InteractiveUnfold.lean b/Mathlib/Tactic/Widget/InteractiveUnfold.lean index a1d073f6826c64..9a48f121fab981 100644 --- a/Mathlib/Tactic/Widget/InteractiveUnfold.lean +++ b/Mathlib/Tactic/Widget/InteractiveUnfold.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid -/ -import Mathlib.Tactic.NthRewrite -import Mathlib.Tactic.Widget.SelectPanelUtils -import Mathlib.Lean.GoalsLocation -import Mathlib.Lean.Meta.KAbstractPositions +module + +public meta import Mathlib.Tactic.NthRewrite +public meta import Mathlib.Tactic.Widget.SelectPanelUtils +public meta import Mathlib.Lean.GoalsLocation +public meta import Mathlib.Lean.Meta.KAbstractPositions /-! @@ -50,6 +52,8 @@ This is implemented with `isUserFriendly`. -/ +public meta section + open Lean Meta Server Widget ProofWidgets Jsx namespace Mathlib.Tactic.InteractiveUnfold diff --git a/Mathlib/Tactic/Widget/LibraryRewrite.lean b/Mathlib/Tactic/Widget/LibraryRewrite.lean index 1e1f4f10973995..df61a6916457a2 100644 --- a/Mathlib/Tactic/Widget/LibraryRewrite.lean +++ b/Mathlib/Tactic/Widget/LibraryRewrite.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid, Anand Rao -/ -import Mathlib.Lean.Meta.RefinedDiscrTree -import Mathlib.Tactic.Widget.InteractiveUnfold -import ProofWidgets.Component.FilterDetails +module + +public meta import Mathlib.Lean.Meta.RefinedDiscrTree +public meta import Mathlib.Tactic.Widget.InteractiveUnfold +public meta import ProofWidgets.Component.FilterDetails /-! # Point & click library rewriting @@ -55,6 +57,8 @@ Ways to extend `rw??`: -/ +public meta section + /-! ### Caching -/ namespace Mathlib.Tactic.LibraryRewrite diff --git a/Mathlib/Tactic/Widget/SelectInsertParamsClass.lean b/Mathlib/Tactic/Widget/SelectInsertParamsClass.lean index 3e7516b77eebad..5a52fdb5f51006 100644 --- a/Mathlib/Tactic/Widget/SelectInsertParamsClass.lean +++ b/Mathlib/Tactic/Widget/SelectInsertParamsClass.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Init -import Lean.Widget.InteractiveGoal -import Lean.Elab.Deriving.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Widget.InteractiveGoal +public meta import Lean.Elab.Deriving.Basic /-! # SelectInsertParamsClass @@ -14,6 +16,8 @@ Defines the basic class of parameters for a select and insert widget. This needs to be in a separate file in order to initialize the deriving handler. -/ +public meta section + open Lean Meta Server /-- Structures providing parameters for a Select and insert widget. -/ diff --git a/Mathlib/Tactic/Widget/SelectPanelUtils.lean b/Mathlib/Tactic/Widget/SelectPanelUtils.lean index 46733daefbecdf..89d7a38e3d8c7c 100644 --- a/Mathlib/Tactic/Widget/SelectPanelUtils.lean +++ b/Mathlib/Tactic/Widget/SelectPanelUtils.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Lean.Meta.ExprLens -import ProofWidgets.Component.MakeEditLink -import ProofWidgets.Component.OfRpcMethod -- needed in all files using this one. -import Mathlib.Tactic.Widget.SelectInsertParamsClass +module + +public meta import Lean.Meta.ExprLens +public meta import ProofWidgets.Component.MakeEditLink +public meta import ProofWidgets.Component.OfRpcMethod -- needed in all files using this one. +public meta import Mathlib.Tactic.Widget.SelectInsertParamsClass /-! # Selection panel utilities @@ -16,6 +18,8 @@ generating tactic calls based on selected sub-expressions in the main goal. There are also some minor helper functions. -/ +public meta section + open Lean Meta Server open Lean.SubExpr in diff --git a/Mathlib/Tactic/Widget/StringDiagram.lean b/Mathlib/Tactic/Widget/StringDiagram.lean index 43757bcd5d3da6..c1143aa5a83f9e 100644 --- a/Mathlib/Tactic/Widget/StringDiagram.lean +++ b/Mathlib/Tactic/Widget/StringDiagram.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Yuma Mizuno. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yuma Mizuno -/ -import ProofWidgets.Component.PenroseDiagram -import ProofWidgets.Component.Panel.Basic -import ProofWidgets.Presentation.Expr -import ProofWidgets.Component.HtmlDisplay -import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize -import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize +module + +public meta import ProofWidgets.Component.PenroseDiagram +public meta import ProofWidgets.Component.Panel.Basic +public meta import ProofWidgets.Presentation.Expr +public meta import ProofWidgets.Component.HtmlDisplay +public meta import Mathlib.Tactic.CategoryTheory.Bicategory.Normalize +public meta import Mathlib.Tactic.CategoryTheory.Monoidal.Normalize /-! # String Diagram Widget @@ -57,6 +59,8 @@ although the string diagram widget does not use it directly. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Elab diff --git a/Mathlib/Tactic/WithoutCDot.lean b/Mathlib/Tactic/WithoutCDot.lean index 3f45b751f5cc44..8b4e0e223669fd 100644 --- a/Mathlib/Tactic/WithoutCDot.lean +++ b/Mathlib/Tactic/WithoutCDot.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Lean.Elab.SyntheticMVars -import Mathlib.Init +module + +public meta import Lean.Elab.SyntheticMVars +public meta import Mathlib.Init /-! # The `without_cdot()` elaborator -/ +public meta section + namespace Lean.Elab.Term open Parser diff --git a/Mathlib/Tactic/Zify.lean b/Mathlib/Tactic/Zify.lean index 22a81b43bdfa32..8279fc1e656ffb 100644 --- a/Mathlib/Tactic/Zify.lean +++ b/Mathlib/Tactic/Zify.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll, Mario Carneiro, Robert Y. Lewis -/ -import Mathlib.Tactic.Basic -import Mathlib.Tactic.Attr.Register -import Mathlib.Data.Int.Cast.Basic -import Mathlib.Order.Basic +module + +public meta import Mathlib.Tactic.Basic +public meta import Mathlib.Tactic.Attr.Register +public meta import Mathlib.Data.Int.Cast.Basic +public meta import Mathlib.Order.Basic /-! # `zify` tactic @@ -24,6 +26,8 @@ example (a b c x y z : Nat) (h : ¬ x*y*z < 0) : c < a + 3*b := by ``` -/ +public meta section + namespace Mathlib.Tactic.Zify open Lean diff --git a/Mathlib/Testing/Plausible/Functions.lean b/Mathlib/Testing/Plausible/Functions.lean index de463a0c19345a..6cca42d1f9f4ab 100644 --- a/Mathlib/Testing/Plausible/Functions.lean +++ b/Mathlib/Testing/Plausible/Functions.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Data.Finsupp.ToDFinsupp -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Data.Int.Range -import Mathlib.Data.List.Sigma -import Plausible.Functions +module + +public meta import Mathlib.Data.Finsupp.ToDFinsupp +public meta import Mathlib.Algebra.Order.Group.Nat +public meta import Mathlib.Data.Int.Range +public meta import Mathlib.Data.List.Sigma +public meta import Plausible.Functions /-! ## `Plausible`: generators for functions @@ -40,6 +42,8 @@ their defining property is invariant through shrinking. Injective functions are an example of how complicated it can get. -/ +@[expose] public meta section + universe u v variable {α : Type u} {β : Type v} diff --git a/Mathlib/Testing/Plausible/Sampleable.lean b/Mathlib/Testing/Plausible/Sampleable.lean index 566573ce381cc6..db7694d1de3c6d 100644 --- a/Mathlib/Testing/Plausible/Sampleable.lean +++ b/Mathlib/Testing/Plausible/Sampleable.lean @@ -3,27 +3,31 @@ Copyright (c) 2022 Henrik Böving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henrik Böving, Simon Hudon -/ -import Mathlib.Data.Int.Order.Basic -import Mathlib.Data.List.Monad -import Mathlib.Data.PNat.Defs -import Plausible.Sampleable +module + +public import Mathlib.Data.Int.Order.Basic +public meta import Mathlib.Data.List.Monad +public meta import Mathlib.Data.PNat.Defs +public import Plausible.Sampleable /-! This module contains `Plausible.Shrinkable` and `Plausible.SampleableExt` instances for mathlib types. -/ +@[expose] public section + namespace Plausible open Random Gen section Shrinkers -instance Rat.shrinkable : Shrinkable Rat where +meta instance Rat.shrinkable : Shrinkable Rat where shrink r := (Shrinkable.shrink r.num).flatMap fun d => Nat.shrink r.den |>.map fun n => Rat.divInt d n -instance PNat.shrinkable : Shrinkable PNat where +meta instance PNat.shrinkable : Shrinkable PNat where shrink m := Nat.shrink m.natPred |>.map Nat.succPNat end Shrinkers @@ -32,7 +36,7 @@ section Samplers open SampleableExt -instance Rat.sampleableExt : SampleableExt Rat := +meta instance Rat.sampleableExt : SampleableExt Rat := mkSelfContained (do let d ← choose Int (-(← getSize)) (← getSize) (le_trans (Int.neg_nonpos_of_nonneg (Int.ofNat_zero_le _)) (Int.ofNat_zero_le _)) @@ -40,7 +44,7 @@ instance Rat.sampleableExt : SampleableExt Rat := return Rat.divInt d n) -instance PNat.sampleableExt : SampleableExt PNat := +meta instance PNat.sampleableExt : SampleableExt PNat := mkSelfContained (do let n ← chooseNat return Nat.succPNat n) diff --git a/Mathlib/Testing/Plausible/Testable.lean b/Mathlib/Testing/Plausible/Testable.lean index fe7c200f1ff21a..6f9c5b99151ba0 100644 --- a/Mathlib/Testing/Plausible/Testable.lean +++ b/Mathlib/Testing/Plausible/Testable.lean @@ -3,20 +3,24 @@ Copyright (c) 2022 Henrik Böving. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Henrik Böving, Simon Hudon -/ -import Plausible.Testable -import Mathlib.Logic.Basic +module + +public import Plausible.Testable +public import Mathlib.Logic.Basic /-! This module contains `Plausible.Testable` and `Plausible.PrintableProb` instances for mathlib types. -/ +@[expose] public section + namespace Plausible namespace Testable open TestResult -instance factTestable {p : Prop} [Testable p] : Testable (Fact p) where +meta instance factTestable {p : Prop} [Testable p] : Testable (Fact p) where run cfg min := do let h ← runProp p cfg min pure <| iff fact_iff h @@ -25,7 +29,7 @@ end Testable section PrintableProp -instance Fact.printableProp {p : Prop} [PrintableProp p] : PrintableProp (Fact p) where +meta instance Fact.printableProp {p : Prop} [PrintableProp p] : PrintableProp (Fact p) where printProp := printProp p end PrintableProp diff --git a/Mathlib/Topology/AlexandrovDiscrete.lean b/Mathlib/Topology/AlexandrovDiscrete.lean index 306b046e0e660d..db3a96b71d5486 100644 --- a/Mathlib/Topology/AlexandrovDiscrete.lean +++ b/Mathlib/Topology/AlexandrovDiscrete.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Data.Set.Image -import Mathlib.Topology.Bases -import Mathlib.Topology.Inseparable -import Mathlib.Topology.Compactness.NhdsKer +module + +public import Mathlib.Data.Set.Image +public import Mathlib.Topology.Bases +public import Mathlib.Topology.Inseparable +public import Mathlib.Topology.Compactness.NhdsKer /-! # Alexandrov-discrete topological spaces @@ -26,6 +28,8 @@ minimal neighborhood, which we call the *neighborhoods kernel* of the set. Alexandroff, discrete, finitely generated, fg space -/ +@[expose] public section + open Filter Set TopologicalSpace Topology /-- A topological space is **Alexandrov-discrete** or **finitely generated** if the intersection of diff --git a/Mathlib/Topology/Algebra/Affine.lean b/Mathlib/Topology/Algebra/Affine.lean index ae5e60686ed244..bff059ba4b83d8 100644 --- a/Mathlib/Topology/Algebra/Affine.lean +++ b/Mathlib/Topology/Algebra/Affine.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis, Attila Gáspár -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineMap -import Mathlib.LinearAlgebra.AffineSpace.Midpoint -import Mathlib.Topology.Algebra.Group.AddTorsor +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap +public import Mathlib.LinearAlgebra.AffineSpace.Midpoint +public import Mathlib.Topology.Algebra.Group.AddTorsor /-! # Topological properties of affine spaces and maps @@ -13,6 +15,8 @@ import Mathlib.Topology.Algebra.Group.AddTorsor This file contains a few facts regarding the continuity of affine maps. -/ +@[expose] public section + namespace AffineMap diff --git a/Mathlib/Topology/Algebra/AffineSubspace.lean b/Mathlib/Topology/Algebra/AffineSubspace.lean index aef862494ffb4e..eb390c38681362 100644 --- a/Mathlib/Topology/Algebra/AffineSubspace.lean +++ b/Mathlib/Topology/Algebra/AffineSubspace.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic -import Mathlib.Topology.Algebra.ContinuousAffineMap -import Mathlib.Topology.Algebra.Group.AddTorsor +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineSubspace.Basic +public import Mathlib.Topology.Algebra.ContinuousAffineMap +public import Mathlib.Topology.Algebra.Group.AddTorsor /-! # Topology of affine subspaces. @@ -19,6 +21,8 @@ affine map. -/ +@[expose] public section + namespace AffineSubspace diff --git a/Mathlib/Topology/Algebra/Algebra.lean b/Mathlib/Topology/Algebra/Algebra.lean index a8b633ba0e817d..13b9081b35b7d6 100644 --- a/Mathlib/Topology/Algebra/Algebra.lean +++ b/Mathlib/Topology/Algebra/Algebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Algebra.Algebra.Subalgebra.Lattice -import Mathlib.Algebra.Algebra.Tower -import Mathlib.Topology.Algebra.Module.LinearMap +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Lattice +public import Mathlib.Algebra.Algebra.Tower +public import Mathlib.Topology.Algebra.Module.LinearMap /-! # Topological (sub)algebras @@ -27,6 +29,8 @@ TODO: add continuous algebra isomorphisms. -/ +@[expose] public section + assert_not_exists Module.Basis open Algebra Set TopologicalSpace Topology diff --git a/Mathlib/Topology/Algebra/Algebra/Equiv.lean b/Mathlib/Topology/Algebra/Algebra/Equiv.lean index 14bce94c31f810..6c433e0be03b86 100644 --- a/Mathlib/Topology/Algebra/Algebra/Equiv.lean +++ b/Mathlib/Topology/Algebra/Algebra/Equiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.Topology.Algebra.Algebra +module + +public import Mathlib.Topology.Algebra.Algebra /-! # Isomorphisms of topological algebras @@ -29,6 +31,8 @@ are also topological spaces. * continuous, isomorphism, algebra -/ +@[expose] public section + open scoped Topology diff --git a/Mathlib/Topology/Algebra/Algebra/Rat.lean b/Mathlib/Topology/Algebra/Algebra/Rat.lean index f34ec7d28e12d5..352a3c842f5d67 100644 --- a/Mathlib/Topology/Algebra/Algebra/Rat.lean +++ b/Mathlib/Topology/Algebra/Algebra/Rat.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Algebra.Rat -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Algebra.Algebra.Rat +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Topological (sub)algebras over `Rat` @@ -16,6 +18,8 @@ This is just a minimal stub for now! -/ +@[expose] public section + section DivisionRing /-- The action induced by `DivisionRing.toRatAlgebra` is continuous. -/ diff --git a/Mathlib/Topology/Algebra/AsymptoticCone.lean b/Mathlib/Topology/Algebra/AsymptoticCone.lean index 6b771f5710527a..0471d00871cd2c 100644 --- a/Mathlib/Topology/Algebra/AsymptoticCone.lean +++ b/Mathlib/Topology/Algebra/AsymptoticCone.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Attila Gáspár. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Attila Gáspár -/ -import Mathlib.Analysis.Convex.Between -import Mathlib.Analysis.Convex.Topology -import Mathlib.Topology.Algebra.Group.AddTorsor +module + +public import Mathlib.Analysis.Convex.Between +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Topology.Algebra.Group.AddTorsor /-! # Asymptotic cone of a set @@ -33,6 +35,8 @@ convex set `s`, then every ray of direction `v` starting from the interior of `s `s`. -/ +@[expose] public section + open scoped Pointwise Topology open Filter diff --git a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean index adbf33f57ff6c8..a052a8b1c48bcd 100644 --- a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean +++ b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Nailin Guan, Yuyang Zhao -/ -import Mathlib.Algebra.Category.Grp.FiniteGrp -import Mathlib.Topology.Algebra.Group.ClosedSubgroup -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.Separation.Connected +module + +public import Mathlib.Algebra.Category.Grp.FiniteGrp +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.Separation.Connected /-! # Category of Profinite Groups @@ -28,6 +30,8 @@ disconnected. -/ +@[expose] public section + universe u v open CategoryTheory Topology diff --git a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean index 100dc2b9b6836e..c57f7dbf5fcc4d 100644 --- a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean +++ b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Youle Fang, Jujian Zhang, Yuyang Zhao -/ -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono -import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic -import Mathlib.Topology.Algebra.ClopenNhdofOne +module + +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +public import Mathlib.Topology.Algebra.Category.ProfiniteGrp.Basic +public import Mathlib.Topology.Algebra.ClopenNhdofOne /-! # A profinite group is the projective limit of finite groups @@ -31,6 +33,8 @@ its quotients by open normal subgroups. -/ +@[expose] public section + universe u open CategoryTheory IsTopologicalGroup diff --git a/Mathlib/Topology/Algebra/ClopenNhdofOne.lean b/Mathlib/Topology/Algebra/ClopenNhdofOne.lean index b0f3b0adf51ba1..9bb5e6f4354b64 100644 --- a/Mathlib/Topology/Algebra/ClopenNhdofOne.lean +++ b/Mathlib/Topology/Algebra/ClopenNhdofOne.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan, Yi Song, Xuchun Li -/ -import Mathlib.GroupTheory.Index -import Mathlib.Topology.Algebra.Group.ClosedSubgroup -import Mathlib.Topology.Algebra.OpenSubgroup -import Mathlib.Topology.Separation.Profinite -import Mathlib.Topology.Separation.Connected +module + +public import Mathlib.GroupTheory.Index +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup +public import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.Topology.Separation.Profinite +public import Mathlib.Topology.Separation.Connected /-! # Existence of an open normal subgroup in any clopen neighborhood of the neutral element @@ -18,6 +20,8 @@ there exists an open normal subgroup contained within it. This file is split out from the file `OpenSubgroup` because it needs more imports. -/ +@[expose] public section + namespace IsTopologicalGroup theorem exist_openNormalSubgroup_sub_clopen_nhds_of_one {G : Type*} [Group G] [TopologicalSpace G] diff --git a/Mathlib/Topology/Algebra/ClosedSubgroup.lean b/Mathlib/Topology/Algebra/ClosedSubgroup.lean index 43a2baafb04e87..e02e0f1789dc00 100644 --- a/Mathlib/Topology/Algebra/ClosedSubgroup.lean +++ b/Mathlib/Topology/Algebra/ClosedSubgroup.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.Algebra.Group.ClosedSubgroup +module + +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup deprecated_module (since := "2025-04-21") diff --git a/Mathlib/Topology/Algebra/ConstMulAction.lean b/Mathlib/Topology/Algebra/ConstMulAction.lean index c1db5a17a0a70e..2cdd4b5a59d9ec 100644 --- a/Mathlib/Topology/Algebra/ConstMulAction.lean +++ b/Mathlib/Topology/Algebra/ConstMulAction.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Alex Kontorovich, Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex Kontorovich, Heather Macbeth -/ -import Mathlib.Algebra.Group.Pointwise.Set.Lattice -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.Module.ULift -import Mathlib.GroupTheory.GroupAction.Defs -import Mathlib.Topology.Algebra.Constructions -import Mathlib.Topology.Algebra.Support +module + +public import Mathlib.Algebra.Group.Pointwise.Set.Lattice +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.Module.ULift +public import Mathlib.GroupTheory.GroupAction.Defs +public import Mathlib.Topology.Algebra.Constructions +public import Mathlib.Topology.Algebra.Support /-! # Monoid actions continuous in the second variable @@ -42,6 +44,8 @@ Hausdorff, discrete group, properly discontinuous, quotient space -/ +@[expose] public section + assert_not_exists IsOrderedRing open Topology Pointwise Filter Set TopologicalSpace diff --git a/Mathlib/Topology/Algebra/Constructions.lean b/Mathlib/Topology/Algebra/Constructions.lean index 92b299ef5f6ac7..ff10e7ba073f99 100644 --- a/Mathlib/Topology/Algebra/Constructions.lean +++ b/Mathlib/Topology/Algebra/Constructions.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Topological space structure on the opposite monoid and on the units group @@ -18,6 +20,8 @@ action, so we postpone the proofs of `HasContinuousMul Mᵐᵒᵖ` etc. till we topological space, opposite monoid, units -/ +@[expose] public section + variable {M N X : Type*} diff --git a/Mathlib/Topology/Algebra/Constructions/DomMulAct.lean b/Mathlib/Topology/Algebra/Constructions/DomMulAct.lean index 17cfc87ed3bb47..6c6fa4607063de 100644 --- a/Mathlib/Topology/Algebra/Constructions/DomMulAct.lean +++ b/Mathlib/Topology/Algebra/Constructions/DomMulAct.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.GroupTheory.GroupAction.DomAct.Basic +module + +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.GroupTheory.GroupAction.DomAct.Basic /-! # Topological space structure on `Mᵈᵐᵃ` and `Mᵈᵃᵃ` @@ -20,6 +22,8 @@ since the types aren't definitionally equal. topological space, group action, domain action -/ +@[expose] public section + open Filter TopologicalSpace Topology namespace DomMulAct diff --git a/Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean b/Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean index 3a337807846b04..06dc0630083bbe 100644 --- a/Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean +++ b/Mathlib/Topology/Algebra/ContinuousAffineEquiv.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Michael Rothgang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Michael Rothgang -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.ContinuousAffineMap +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineEquiv +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.ContinuousAffineMap /-! # Continuous affine equivalences @@ -32,6 +34,8 @@ with multiplication corresponding to composition in `AffineEquiv.group`. -/ +@[expose] public section + open Function /-- A continuous affine equivalence, denoted `P₁ ≃ᴬ[k] P₂`, between two affine topological spaces diff --git a/Mathlib/Topology/Algebra/ContinuousAffineMap.lean b/Mathlib/Topology/Algebra/ContinuousAffineMap.lean index 7f0cd4df86634f..c8e65b20e5b697 100644 --- a/Mathlib/Topology/Algebra/ContinuousAffineMap.lean +++ b/Mathlib/Topology/Algebra/ContinuousAffineMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.LinearAlgebra.AffineSpace.AffineMap -import Mathlib.Topology.Algebra.Module.LinearMapPiProd -import Mathlib.Topology.Algebra.Affine +module + +public import Mathlib.LinearAlgebra.AffineSpace.AffineMap +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd +public import Mathlib.Topology.Algebra.Affine /-! # Continuous affine maps. @@ -23,6 +25,8 @@ notation `A →A[R] B` for `ContinuousAlgHom`). Note that this is parallel to th for `ContinuousLinearMap R E F`. -/ +@[expose] public section + /-- A continuous map of affine spaces -/ structure ContinuousAffineMap (R : Type*) {V W : Type*} (P Q : Type*) [Ring R] [AddCommGroup V] diff --git a/Mathlib/Topology/Algebra/ContinuousMonoidHom.lean b/Mathlib/Topology/Algebra/ContinuousMonoidHom.lean index 30eacc4f888a8f..345f280dadfc14 100644 --- a/Mathlib/Topology/Algebra/ContinuousMonoidHom.lean +++ b/Mathlib/Topology/Algebra/ContinuousMonoidHom.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Nailin Guan -/ -import Mathlib.Algebra.Group.Equiv.Basic -import Mathlib.Topology.Algebra.Group.Defs +module + +public import Mathlib.Algebra.Group.Equiv.Basic +public import Mathlib.Topology.Algebra.Group.Defs /-! @@ -18,6 +20,8 @@ This file defines the space of continuous homomorphisms between two topological * `ContinuousAddMonoidHom A B`: The continuous additive homomorphisms `A →+ B`. -/ +@[expose] public section + assert_not_exists ContinuousLinearMap assert_not_exists ContinuousLinearEquiv diff --git a/Mathlib/Topology/Algebra/Equicontinuity.lean b/Mathlib/Topology/Algebra/Equicontinuity.lean index 8904e31c15061c..2c9aa4fcdf8f97 100644 --- a/Mathlib/Topology/Algebra/Equicontinuity.lean +++ b/Mathlib/Topology/Algebra/Equicontinuity.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Algebra.UniformConvergence -import Mathlib.Topology.UniformSpace.Equicontinuity +module + +public import Mathlib.Topology.Algebra.UniformConvergence +public import Mathlib.Topology.UniformSpace.Equicontinuity /-! # Algebra-related equicontinuity criteria -/ +@[expose] public section + open Function diff --git a/Mathlib/Topology/Algebra/Field.lean b/Mathlib/Topology/Algebra/Field.lean index d4e410ae5c023c..3315695a940cde 100644 --- a/Mathlib/Topology/Algebra/Field.lean +++ b/Mathlib/Topology/Algebra/Field.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison -/ -import Mathlib.Algebra.Field.Subfield.Defs -import Mathlib.Algebra.GroupWithZero.Divisibility -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Order.LocalExtr +module + +public import Mathlib.Algebra.Field.Subfield.Defs +public import Mathlib.Algebra.GroupWithZero.Divisibility +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Order.LocalExtr /-! # Topological fields @@ -18,6 +20,8 @@ non-zero element. -/ +@[expose] public section + variable {K : Type*} [DivisionRing K] [TopologicalSpace K] /-- Left-multiplication by a nonzero element of a topological division ring is proper, i.e., diff --git a/Mathlib/Topology/Algebra/FilterBasis.lean b/Mathlib/Topology/Algebra/FilterBasis.lean index 1704ff242581db..2868776d2b52ed 100644 --- a/Mathlib/Topology/Algebra/FilterBasis.lean +++ b/Mathlib/Topology/Algebra/FilterBasis.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Algebra.Module.Basic +module + +public import Mathlib.Topology.Algebra.Module.Basic /-! # Group and ring filter bases @@ -33,6 +35,8 @@ Given a group `G` and a ring `R`: * [N. Bourbaki, *General Topology*][bourbaki1966] -/ +@[expose] public section + open Filter Set TopologicalSpace Function diff --git a/Mathlib/Topology/Algebra/Group/AddTorsor.lean b/Mathlib/Topology/Algebra/Group/AddTorsor.lean index 78845d7f9a640c..ddde9246418bb5 100644 --- a/Mathlib/Topology/Algebra/Group/AddTorsor.lean +++ b/Mathlib/Topology/Algebra/Group/AddTorsor.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Attila Gáspár. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Attila Gáspár -/ -import Mathlib.Algebra.AddTorsor.Basic -import Mathlib.Topology.Algebra.Group.Pointwise +module + +public import Mathlib.Algebra.AddTorsor.Basic +public import Mathlib.Topology.Algebra.Group.Pointwise /-! # Topological torsors of additive groups @@ -13,6 +15,8 @@ This file defines topological torsors of additive groups, that is, torsors where continuous. -/ +@[expose] public section + open Topology section AddTorsor diff --git a/Mathlib/Topology/Algebra/Group/Basic.lean b/Mathlib/Topology/Algebra/Group/Basic.lean index 18e3af5a7247f3..0e6b4dc2d8f06e 100644 --- a/Mathlib/Topology/Algebra/Group/Basic.lean +++ b/Mathlib/Topology/Algebra/Group/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Algebra.Group.Subgroup.Pointwise -import Mathlib.Algebra.Group.Submonoid.Units -import Mathlib.Algebra.Group.Submonoid.MulOpposite -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Order.Filter.Bases.Finite -import Mathlib.Topology.Algebra.Group.Defs -import Mathlib.Topology.Algebra.Monoid -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Algebra.Group.Subgroup.Pointwise +public import Mathlib.Algebra.Group.Submonoid.Units +public import Mathlib.Algebra.Group.Submonoid.MulOpposite +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Order.Filter.Bases.Finite +public import Mathlib.Topology.Algebra.Group.Defs +public import Mathlib.Topology.Algebra.Monoid +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Topological groups @@ -34,6 +36,8 @@ groups. topological space, group, topological group -/ +@[expose] public section + open Set Filter TopologicalSpace Function Topology MulOpposite Pointwise universe u v w x diff --git a/Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean b/Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean index 95163774aeac9e..a1ff7910dcba6a 100644 --- a/Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean +++ b/Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Nailin Guan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nailin Guan -/ +module -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.GroupTheory.Index -import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.GroupTheory.Index +public import Mathlib.Topology.Algebra.Group.Quotient /-! # Closed subgroups of a topological group @@ -25,6 +26,8 @@ and its additive version `ClosedAddSubgroup`. Actually provide the `Order.Frame (ClosedSubgroup G)` instance. -/ +@[expose] public section + section universe u v diff --git a/Mathlib/Topology/Algebra/Group/Compact.lean b/Mathlib/Topology/Algebra/Group/Compact.lean index 21443b6f58054b..59397bba711a3c 100644 --- a/Mathlib/Topology/Algebra/Group/Compact.lean +++ b/Mathlib/Topology/Algebra/Group/Compact.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Sets.Compacts +module + +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Sets.Compacts /-! # Additional results on topological groups @@ -13,6 +15,8 @@ A result on topological groups that has been separated out as it requires more substantial imports developing positive compacts. -/ +@[expose] public section + universe u variable {G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G] diff --git a/Mathlib/Topology/Algebra/Group/CompactOpen.lean b/Mathlib/Topology/Algebra/Group/CompactOpen.lean index c1d607891ba777..36a25124e9fab8 100644 --- a/Mathlib/Topology/Algebra/Group/CompactOpen.lean +++ b/Mathlib/Topology/Algebra/Group/CompactOpen.lean @@ -3,16 +3,20 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning, Nailin Guan -/ -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.Equicontinuity -import Mathlib.Topology.Algebra.Group.Compact -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.UniformSpace.Ascoli +module + +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.Equicontinuity +public import Mathlib.Topology.Algebra.Group.Compact +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.UniformSpace.Ascoli /-! # The compact-open topology on continuous monoid morphisms. -/ +@[expose] public section + open Function Topology open scoped Pointwise diff --git a/Mathlib/Topology/Algebra/Group/Defs.lean b/Mathlib/Topology/Algebra/Group/Defs.lean index 2e4e9847e6f792..800778d5c6690b 100644 --- a/Mathlib/Topology/Algebra/Group/Defs.lean +++ b/Mathlib/Topology/Algebra/Group/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Definitions about topological groups @@ -25,6 +27,8 @@ where subtraction is not given by `a - b = a + (-b)`. We also provide convenience dot notation lemmas like `ContinuousAt.neg`. -/ +@[expose] public section + open scoped Topology universe u diff --git a/Mathlib/Topology/Algebra/Group/GroupTopology.lean b/Mathlib/Topology/Algebra/Group/GroupTopology.lean index 33e04a51678b81..8a9fb7afdae050 100644 --- a/Mathlib/Topology/Algebra/Group/GroupTopology.lean +++ b/Mathlib/Topology/Algebra/Group/GroupTopology.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Algebra.Group.Basic +module + +public import Mathlib.Topology.Algebra.Group.Basic /-! ### Lattice of group topologies @@ -19,6 +21,8 @@ Any function `f : α → β` induces `coinduced f : TopologicalSpace α → Grou The additive version `AddGroupTopology α` and corresponding results are provided as well. -/ +@[expose] public section + open Set Filter TopologicalSpace Function Topology Pointwise MulOpposite universe u v w x diff --git a/Mathlib/Topology/Algebra/Group/OpenMapping.lean b/Mathlib/Topology/Algebra/Group/OpenMapping.lean index 529a6fd1e40417..565e6b02be0076 100644 --- a/Mathlib/Topology/Algebra/Group/OpenMapping.lean +++ b/Mathlib/Topology/Algebra/Group/OpenMapping.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Baire.Lemmas -import Mathlib.Topology.Algebra.Group.Pointwise +module + +public import Mathlib.Topology.Baire.Lemmas +public import Mathlib.Topology.Algebra.Group.Pointwise /-! # Open mapping theorem for morphisms of topological groups @@ -19,6 +21,8 @@ the discrete topology, and `H` the real line with the usual topology. Both are l groups, and the identity from `G` to `H` is continuous but not open. -/ +@[expose] public section + open scoped Topology Pointwise open MulAction Set Function diff --git a/Mathlib/Topology/Algebra/Group/Pointwise.lean b/Mathlib/Topology/Algebra/Group/Pointwise.lean index 9b19edeaa6a2ad..1b18265242c7b0 100644 --- a/Mathlib/Topology/Algebra/Group/Pointwise.lean +++ b/Mathlib/Topology/Algebra/Group/Pointwise.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Algebra.Group.Basic +module + +public import Mathlib.Topology.Algebra.Group.Basic /-! # Pointwise operations on sets in topological groups -/ +@[expose] public section + open Set Filter TopologicalSpace Function Topology Pointwise MulOpposite universe u v w x diff --git a/Mathlib/Topology/Algebra/Group/Quotient.lean b/Mathlib/Topology/Algebra/Group/Quotient.lean index 9f16503436b663..926b9d5d90bb29 100644 --- a/Mathlib/Topology/Algebra/Group/Quotient.lean +++ b/Mathlib/Topology/Algebra/Group/Quotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot, Yury Kudryashov -/ -import Mathlib.GroupTheory.GroupAction.Quotient -import Mathlib.GroupTheory.QuotientGroup.Defs -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Maps.OpenQuotient +module + +public import Mathlib.GroupTheory.GroupAction.Quotient +public import Mathlib.GroupTheory.QuotientGroup.Defs +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Maps.OpenQuotient /-! # Topology on the quotient group @@ -15,6 +17,8 @@ In this file we define topology on `G ⧸ N`, where `N` is a subgroup of `G`, and prove basic properties of this topology. -/ +@[expose] public section + assert_not_exists Cardinal open Topology diff --git a/Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean b/Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean index d26f7becf098b0..fe61925a44cf37 100644 --- a/Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean +++ b/Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ +module -import Mathlib.Order.Filter.AtTopBot.Group -import Mathlib.Topology.Algebra.Group.Basic +public import Mathlib.Order.Filter.AtTopBot.Group +public import Mathlib.Topology.Algebra.Group.Basic /-! # Topological closure of the submonoid closure @@ -18,6 +19,8 @@ The proof is based on the following observation, see `mapClusterPt_self_zpow_atT each `x^m`, `m : ℤ` is a limit point (`MapClusterPt`) of the sequence `x^n`, `n : ℕ`, as `n → ∞`. -/ +@[expose] public section + open Filter Function Set open scoped Topology diff --git a/Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean b/Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean index 04a3f7f9c5851c..43246d15b687fd 100644 --- a/Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean +++ b/Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.GroupTheory.Commutator.Basic -import Mathlib.Tactic.Group -import Mathlib.Topology.Algebra.Group.Basic +module + +public import Mathlib.GroupTheory.Commutator.Basic +public import Mathlib.Tactic.Group +public import Mathlib.Topology.Algebra.Group.Basic /-! # The topological abelianization of a group. @@ -26,6 +28,8 @@ group, topological abelianization -/ +@[expose] public section + variable (G : Type*) [Group G] [TopologicalSpace G] [IsTopologicalGroup G] instance instNormalCommutatorClosure : (commutator G).topologicalClosure.Normal := diff --git a/Mathlib/Topology/Algebra/GroupCompletion.lean b/Mathlib/Topology/Algebra/GroupCompletion.lean index 2362829f5ee93a..a83d1ee6a73d7e 100644 --- a/Mathlib/Topology/Algebra/GroupCompletion.lean +++ b/Mathlib/Topology/Algebra/GroupCompletion.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Topology.UniformSpace.Completion -import Mathlib.Topology.Algebra.Group.Pointwise +module + +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Topology.UniformSpace.Completion +public import Mathlib.Topology.Algebra.Group.Pointwise /-! # Completion of topological groups: @@ -28,6 +30,8 @@ the main constructions deal with continuous group morphisms. from `Completion G` to `Completion H`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Algebra/GroupWithZero.lean b/Mathlib/Topology/Algebra/GroupWithZero.lean index 50d4acd5fbe33b..f7b3657b304324 100644 --- a/Mathlib/Topology/Algebra/GroupWithZero.lean +++ b/Mathlib/Topology/Algebra/GroupWithZero.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Pi.Lemmas -import Mathlib.Algebra.GroupWithZero.Units.Equiv -import Mathlib.Topology.Algebra.Monoid -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Algebra.Group.Pi.Lemmas +public import Mathlib.Algebra.GroupWithZero.Units.Equiv +public import Mathlib.Topology.Algebra.Monoid +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Topological group with zero @@ -29,6 +31,8 @@ consistency of notation. On a `GroupWithZero` with continuous multiplication, we also define left and right multiplication as homeomorphisms. -/ + +@[expose] public section open Topology Filter Function /-! diff --git a/Mathlib/Topology/Algebra/Indicator.lean b/Mathlib/Topology/Algebra/Indicator.lean index 081c0ec9c67d25..f02909bef94f7d 100644 --- a/Mathlib/Topology/Algebra/Indicator.lean +++ b/Mathlib/Topology/Algebra/Indicator.lean @@ -3,14 +3,18 @@ Copyright (c) 2024 PFR contributors. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: PFR contributors -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Topology.Piecewise -import Mathlib.Topology.Clopen +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Topology.Piecewise +public import Mathlib.Topology.Clopen /-! # Continuity of indicator functions -/ +@[expose] public section + open Set open scoped Topology diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Basic.lean b/Mathlib/Topology/Algebra/InfiniteSum/Basic.lean index ed93d35954ddb8..53babe0ecbc5f0 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Basic.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mitchell Lee -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Indicator -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Topology.Algebra.InfiniteSum.Defs -import Mathlib.Topology.Algebra.Monoid.Defs -import Mathlib.Order.Filter.AtTopBot.BigOperators +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Indicator +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Topology.Algebra.InfiniteSum.Defs +public import Mathlib.Topology.Algebra.Monoid.Defs +public import Mathlib.Order.Filter.AtTopBot.BigOperators /-! # Lemmas on infinite sums and products in topological monoids @@ -19,6 +21,8 @@ Results requiring a group (rather than monoid) structure on the target should go -/ +@[expose] public section + noncomputable section open Filter Finset Function Topology SummationFilter diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean b/Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean index 2b9ff3859ed25e..69d2c65d3e8d00 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Order.Filter.AtTopBot.Finset -import Mathlib.Topology.Algebra.InfiniteSum.Group -import Mathlib.Topology.Algebra.Star +module + +public import Mathlib.Order.Filter.AtTopBot.Finset +public import Mathlib.Topology.Algebra.InfiniteSum.Group +public import Mathlib.Topology.Algebra.Star /-! # Topological sums and functorial constructions @@ -15,6 +17,8 @@ types, `MulOpposite`, etc. -/ +@[expose] public section + noncomputable section open Filter Finset Function diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Defs.lean b/Mathlib/Topology/Algebra/InfiniteSum/Defs.lean index 325da3c1e08273..5a049fdf5b516d 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Defs.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Topology.Algebra.InfiniteSum.SummationFilter -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Algebra.BigOperators.Group.Finset.Preimage +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Topology.Algebra.InfiniteSum.SummationFilter +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Algebra.BigOperators.Group.Finset.Preimage /-! # Infinite sum and product in a topological monoid @@ -48,6 +50,8 @@ rather than in `ℝ`. -/ +@[expose] public section + /- **NOTE**. This file is intended to be kept short, just enough to state the basic definitions and six key lemmas relating them together, namely `Summable.hasSum`, `Multipliable.hasProd`, `HasSum.tsum_eq`, `HasProd.tprod_eq`, `Summable.hasSum_iff`, and `Multipliable.hasProd_iff`. diff --git a/Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean b/Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean index d4474ed7841e86..70ef3816bdd404 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Edward van de Meent. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Edward van de Meent -/ -import Mathlib.Data.Real.ENatENNReal -import Mathlib.Data.Set.Card -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Data.Real.ENatENNReal +public import Mathlib.Data.Set.Card +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Infinite sums of ENNReal and Set.encard @@ -19,6 +21,8 @@ This file provides lemmas relating sums of constants to the cardinality of the d provide versions which sum over the whole type. -/ +@[expose] public section + open Set Function variable {α : Type*} (s : Set α) diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Field.lean b/Mathlib/Topology/Algebra/InfiniteSum/Field.lean index 4fd47d00a74f62..7b85384435b1f0 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Field.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Field.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Bhavik Mehta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bhavik Mehta -/ -import Mathlib.Analysis.Normed.Group.Continuity -import Mathlib.Analysis.Normed.Ring.Basic -import Mathlib.Topology.Algebra.InfiniteSum.Defs +module + +public import Mathlib.Analysis.Normed.Group.Continuity +public import Mathlib.Analysis.Normed.Ring.Basic +public import Mathlib.Topology.Algebra.InfiniteSum.Defs /-! # Infinite sums and products in topological fields @@ -14,6 +16,8 @@ Lemmas on topological sums in rings with a strictly multiplicative norm, of whic the most familiar examples. -/ +@[expose] public section + section NormMulClass diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Group.lean b/Mathlib/Topology/Algebra/InfiniteSum/Group.lean index 4b0b0c18315a10..ca3156af4679e5 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Group.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Group.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.SetTheory.Cardinal.Finite -import Mathlib.Topology.Algebra.InfiniteSum.Basic -import Mathlib.Topology.UniformSpace.Cauchy -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.Algebra.Group.Pointwise +module + +public import Mathlib.SetTheory.Cardinal.Finite +public import Mathlib.Topology.Algebra.InfiniteSum.Basic +public import Mathlib.Topology.UniformSpace.Cauchy +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.Algebra.Group.Pointwise /-! # Infinite sums and products in topological groups @@ -15,6 +17,8 @@ import Mathlib.Topology.Algebra.Group.Pointwise Lemmas on topological sums in groups (as opposed to monoids). -/ +@[expose] public section + noncomputable section open Filter Finset Function diff --git a/Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean b/Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean index 851a1aa6661830..451e82d173e2aa 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean @@ -3,13 +3,17 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee -/ -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.Algebra.InfiniteSum.Group +module + +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.Algebra.InfiniteSum.Group /-! # Infinite sums in the completion of a topological group -/ +@[expose] public section + open UniformSpace.Completion variable {α β : Type*} [AddCommGroup α] [UniformSpace α] [IsUniformAddGroup α] diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Module.lean b/Mathlib/Topology/Algebra/InfiniteSum/Module.lean index e21d3a90c5c405..d6ebd35317b531 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Module.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Module.lean @@ -3,11 +3,15 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Yury Kudryashov, Frédéric Dupuis -/ -import Mathlib.Topology.Algebra.InfiniteSum.Constructions -import Mathlib.Topology.Algebra.Module.Equiv +module + +public import Mathlib.Topology.Algebra.InfiniteSum.Constructions +public import Mathlib.Topology.Algebra.Module.Equiv /-! # Infinite sums in topological vector spaces -/ +@[expose] public section + variable {α β γ δ : Type*} open Filter Finset Function diff --git a/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean b/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean index ca4f53b4133b7a..d3679bd21d5382 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean @@ -3,10 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ +module -import Mathlib.Logic.Encodable.Lattice -import Mathlib.Order.Filter.AtTopBot.Finset -import Mathlib.Topology.Algebra.InfiniteSum.Group +public import Mathlib.Logic.Encodable.Lattice +public import Mathlib.Order.Filter.AtTopBot.Finset +public import Mathlib.Topology.Algebra.InfiniteSum.Group /-! # Infinite sums and products over `ℕ` and `ℤ` @@ -17,6 +18,8 @@ formula `∑ i ∈ range k, f i + ∑' i, f (i + k) = ∑' i, f i`, ∈ `sum_add several results relating sums and products on `ℕ` to sums and products on `ℤ`. -/ +@[expose] public section + noncomputable section open Filter Finset Function Encodable diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean b/Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean index f2532966d69629..b30511d69d7983 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee -/ -import Mathlib.Algebra.Group.Subgroup.Finite -import Mathlib.Topology.Algebra.InfiniteSum.GroupCompletion -import Mathlib.Topology.Algebra.InfiniteSum.Ring -import Mathlib.Topology.Algebra.Nonarchimedean.Completion +module + +public import Mathlib.Algebra.Group.Subgroup.Finite +public import Mathlib.Topology.Algebra.InfiniteSum.GroupCompletion +public import Mathlib.Topology.Algebra.InfiniteSum.Ring +public import Mathlib.Topology.Algebra.Nonarchimedean.Completion /-! # Infinite sums and products in nonarchimedean abelian groups @@ -23,6 +25,8 @@ sums to `a * b` (`HasSum.mul_of_nonarchimedean`). -/ +@[expose] public section + open Filter Topology namespace NonarchimedeanGroup diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Order.lean b/Mathlib/Topology/Algebra/InfiniteSum/Order.lean index a72eb2ec06f436..1711631db8cb9b 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Order.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Order.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.Order.Archimedean.Basic -import Mathlib.Algebra.Order.BigOperators.Ring.Finset -import Mathlib.Topology.Algebra.InfiniteSum.NatInt -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.Order.MonotoneConvergence +module + +public import Mathlib.Algebra.Order.Archimedean.Basic +public import Mathlib.Algebra.Order.BigOperators.Ring.Finset +public import Mathlib.Topology.Algebra.InfiniteSum.NatInt +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.Order.MonotoneConvergence /-! # Infinite sum or product in an order @@ -15,6 +17,8 @@ import Mathlib.Topology.Order.MonotoneConvergence This file provides lemmas about the interaction of infinite sums and products and order operations. -/ +@[expose] public section + open Finset Filter Function variable {ι κ α : Type*} {L : SummationFilter ι} @@ -416,7 +420,7 @@ attribute [local instance] monadLiftOptionMetaM in This extension only proves non-negativity, strict positivity is more delicate for infinite sums and requires more assumptions. -/ @[positivity tsum _] -def evalTsum : PositivityExt where eval {u α} zα pα e := do +meta def evalTsum : PositivityExt where eval {u α} zα pα e := do match e with | ~q(@tsum _ $ι $instCommMonoid $instTopSpace $f $L) => lambdaBoundedTelescope f 1 fun args (body : Q($α)) => do diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Real.lean b/Mathlib/Topology/Algebra/InfiniteSum/Real.lean index 154f3cf33f0638..e066d7a0e4f135 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Real.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Topology.Algebra.InfiniteSum.Order -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Topology.Algebra.InfiniteSum.Order +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Infinite sum in the reals @@ -14,6 +16,8 @@ This file provides lemmas about Cauchy sequences in terms of infinite sums and i in the reals. -/ +@[expose] public section + open Filter Finset NNReal Topology variable {α β : Type*} [PseudoMetricSpace α] {f : ℕ → α} {a : α} diff --git a/Mathlib/Topology/Algebra/InfiniteSum/Ring.lean b/Mathlib/Topology/Algebra/InfiniteSum/Ring.lean index 992bb5c3bd2d01..eb872e46d90141 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/Ring.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/Ring.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.NatAntidiagonal -import Mathlib.Algebra.BigOperators.Ring.Finset -import Mathlib.Topology.Algebra.InfiniteSum.Constructions -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.BigOperators.NatAntidiagonal +public import Mathlib.Algebra.BigOperators.Ring.Finset +public import Mathlib.Topology.Algebra.InfiniteSum.Constructions +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Infinite sum in a ring @@ -20,6 +22,8 @@ This file provides lemmas about the interaction between infinite sums and multip * `tprod_one_add`: expanding `∏' i : ι, (1 + f i)` as infinite sum. -/ +@[expose] public section + open Filter Finset Function variable {ι κ α : Type*} {L : SummationFilter ι} diff --git a/Mathlib/Topology/Algebra/InfiniteSum/SummationFilter.lean b/Mathlib/Topology/Algebra/InfiniteSum/SummationFilter.lean index 625ec267c4589e..2ec08060d59567 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/SummationFilter.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/SummationFilter.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Data.Finset.Preimage -import Mathlib.Order.Filter.AtTopBot.CountablyGenerated -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Order.LiminfLimsup +module + +public import Mathlib.Data.Finset.Preimage +public import Mathlib.Order.Filter.AtTopBot.CountablyGenerated +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Order.LiminfLimsup /-! @@ -19,6 +21,8 @@ machinery of summation filters - the key definitions `HasSum`, `tsum` and `summa product variants) are in the file `Mathlib.Topology.Algebra.InfiniteSum.Defs`. -/ +@[expose] public section + open Set Filter Function variable {α β γ : Type*} diff --git a/Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean b/Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean index 729c50a57c5e4e..78c47cec61649b 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Analysis.Calculus.IteratedDeriv.Defs -import Mathlib.Analysis.Calculus.UniformLimitsDeriv -import Mathlib.Analysis.Normed.Group.FunctionSeries -import Mathlib.Topology.Algebra.InfiniteSum.UniformOn +module + +public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs +public import Mathlib.Analysis.Calculus.UniformLimitsDeriv +public import Mathlib.Analysis.Normed.Group.FunctionSeries +public import Mathlib.Topology.Algebra.InfiniteSum.UniformOn /-! # Differentiability of sum of functions @@ -20,6 +22,8 @@ version. -/ +@[expose] public section + open Set Metric TopologicalSpace Function Filter open scoped Topology NNReal diff --git a/Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean b/Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean index 19787fa628f42c..bc2acee325286b 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck, David Loeffler -/ -import Mathlib.Topology.Algebra.InfiniteSum.Defs -import Mathlib.Topology.Algebra.UniformConvergence -import Mathlib.Order.Filter.AtTopBot.Finset +module + +public import Mathlib.Topology.Algebra.InfiniteSum.Defs +public import Mathlib.Topology.Algebra.UniformConvergence +public import Mathlib.Order.Filter.AtTopBot.Finset /-! # Infinite sum and products that converge uniformly on a set @@ -17,6 +19,8 @@ It also defines the notion of local uniform convergence of infinite sums and pro on a set. -/ +@[expose] public section + noncomputable section open Filter Function diff --git a/Mathlib/Topology/Algebra/IntermediateField.lean b/Mathlib/Topology/Algebra/IntermediateField.lean index 63265f9b3bf918..51b88918270510 100644 --- a/Mathlib/Topology/Algebra/IntermediateField.lean +++ b/Mathlib/Topology/Algebra/IntermediateField.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jiedong Jiang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiedong Jiang -/ -import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs -import Mathlib.Topology.Algebra.Field +module + +public import Mathlib.FieldTheory.IntermediateField.Adjoin.Defs +public import Mathlib.Topology.Algebra.Field /-! # Continuous actions related to intermediate fields @@ -14,6 +16,8 @@ intermediate fields. The topology on intermediate fields is already defined in earlier file `Mathlib/Topology/Algebra/Field.lean` as the subspace topology. -/ +@[expose] public section + variable {K L : Type*} [Field K] [Field L] [Algebra K L] [TopologicalSpace L] [IsTopologicalRing L] diff --git a/Mathlib/Topology/Algebra/IsOpenUnits.lean b/Mathlib/Topology/Algebra/IsOpenUnits.lean index 3137fc6130ebd9..73aeebc23a16e4 100644 --- a/Mathlib/Topology/Algebra/IsOpenUnits.lean +++ b/Mathlib/Topology/Algebra/IsOpenUnits.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.Jacobson.Ideal -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology +module + +public import Mathlib.RingTheory.Jacobson.Ideal +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology /-! @@ -23,6 +25,8 @@ This condition is necessary and sufficient for `U(R)` to be an open subspace of for all affine scheme `X` over `R` and all affine open subscheme `U ⊆ X`. -/ +@[expose] public section + open Topology /-- diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean b/Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean index d90aa69979f24e..d0e4219fd7c22f 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Topology.UniformSpace.UniformConvergence -import Mathlib.Topology.UniformSpace.CompleteSeparated -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.UniformSpace.HeineCantor -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.Topology.DiscreteSubset -import Mathlib.Tactic.Abel +module + +public import Mathlib.Topology.UniformSpace.UniformConvergence +public import Mathlib.Topology.UniformSpace.CompleteSeparated +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.UniformSpace.HeineCantor +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Topology.DiscreteSubset +public import Mathlib.Tactic.Abel /-! # Uniform structure on topological groups @@ -24,6 +26,8 @@ import Mathlib.Tactic.Abel the quotient of a Banach space by a subspace is complete. -/ +@[expose] public section + noncomputable section open Uniformity Topology Filter Pointwise diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean b/Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean index e2196e99da2363..8f08880c76841f 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Patrick Massot, Johannes Hölzl -/ -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.UniformSpace.UniformEmbedding +module + +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.UniformSpace.UniformEmbedding /-! # Constructions of new uniform groups from old ones -/ +@[expose] public section + variable {G H hom : Type*} [Group G] [Group H] section LatticeOps diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean b/Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean index d03bc16de0ae9f..f98533d2453c30 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Topology.UniformSpace.Basic -import Mathlib.Topology.Algebra.Group.Basic +module + +public import Mathlib.Topology.UniformSpace.Basic +public import Mathlib.Topology.Algebra.Group.Basic /-! # Uniform structure on topological groups @@ -25,6 +27,8 @@ group naturally induces a uniform structure. See `Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean` for further results. -/ +@[expose] public section + assert_not_exists Cauchy noncomputable section diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean b/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean index 94841ea2ea2e24..a77292075775c4 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean @@ -3,11 +3,12 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.GroupTheory.Commensurable -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.Group.ClosedSubgroup -import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.GroupTheory.Commensurable +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic /-! # Discrete subgroups of topological groups @@ -16,6 +17,8 @@ Note that the instance `Subgroup.isClosed_of_discrete` does not live here, in or be used in other files without requiring lots of group-theoretic imports. -/ +@[expose] public section + open Filter Topology Uniformity variable {G : Type*} [Group G] [TopologicalSpace G] diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/Order.lean b/Mathlib/Topology/Algebra/IsUniformGroup/Order.lean index 54868efc48e5be..c89d984bb1e105 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/Order.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/Order.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Chris Birkbeck. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Chris Birkbeck -/ -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.Order.Basic -import Mathlib.Topology.UniformSpace.UniformConvergence +module + +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.Order.Basic +public import Mathlib.Topology.UniformSpace.UniformConvergence /-! # TendstoUniformlyOn on ordered spaces @@ -15,6 +17,8 @@ in particular bounding the values of `f` in terms of bounds on the limit `g`. -/ +@[expose] public section + open Filter Function Finset Topology variable {α ι : Type*} diff --git a/Mathlib/Topology/Algebra/LinearTopology.lean b/Mathlib/Topology/Algebra/LinearTopology.lean index e41e88c3120f0f..6fc98660c0e5e1 100644 --- a/Mathlib/Topology/Algebra/LinearTopology.lean +++ b/Mathlib/Topology/Algebra/LinearTopology.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández, Anatole Dedecker -/ +module -import Mathlib.RingTheory.TwoSidedIdeal.Operations -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.RingTheory.TwoSidedIdeal.Operations +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Algebra.OpenSubgroup /-! # Linear topologies on modules and rings @@ -75,6 +76,8 @@ hence our definition agrees with [N. Bourbaki, *Algebra II*, chapter 4, §2, n° typeclass inference. -/ +@[expose] public section + open scoped Topology open Filter diff --git a/Mathlib/Topology/Algebra/Localization.lean b/Mathlib/Topology/Algebra/Localization.lean index d401153fead111..db7d4bf6e432f6 100644 --- a/Mathlib/Topology/Algebra/Localization.lean +++ b/Mathlib/Topology/Algebra/Localization.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.GroupTheory.MonoidLocalization.Basic -import Mathlib.RingTheory.OreLocalization.Ring -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.GroupTheory.MonoidLocalization.Basic +public import Mathlib.RingTheory.OreLocalization.Ring +public import Mathlib.Topology.Algebra.Ring.Basic /-! @@ -22,6 +24,8 @@ to the equivalence class of `(x, 1)` in the localization of `R` at an `M`. -/ +@[expose] public section + variable {R : Type*} [CommRing R] [TopologicalSpace R] {M : Submonoid R} diff --git a/Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean b/Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean index f14beae2fb8939..95e04684ed2c16 100644 --- a/Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean +++ b/Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.MetricSpace.Lipschitz +module + +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.MetricSpace.Lipschitz /-! # Lipschitz continuous functions @@ -12,6 +14,8 @@ import Mathlib.Topology.MetricSpace.Lipschitz This file develops Lipschitz continuous functions further with some results that depend on algebra. -/ +@[expose] public section + assert_not_exists Module.Basis Ideal open Filter Set NNReal Metric diff --git a/Mathlib/Topology/Algebra/Module/Alternating/Basic.lean b/Mathlib/Topology/Algebra/Module/Alternating/Basic.lean index c9cff3f8b5dcb7..88e9d3eba96d2a 100644 --- a/Mathlib/Topology/Algebra/Module/Alternating/Basic.lean +++ b/Mathlib/Topology/Algebra/Module/Alternating/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth, Sébastien Gouëzel -/ -import Mathlib.LinearAlgebra.Alternating.Basic -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.Module.Multilinear.Basic +module + +public import Mathlib.LinearAlgebra.Alternating.Basic +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.Module.Multilinear.Basic /-! # Continuous alternating multilinear maps @@ -24,6 +26,8 @@ are indexed by `i : ι`. multilinear map, alternating map, continuous -/ +@[expose] public section + open Function Matrix /-- A continuous alternating map from `ι → M` to `N`, denoted `M [⋀^ι]→L[R] N`, diff --git a/Mathlib/Topology/Algebra/Module/Alternating/Topology.lean b/Mathlib/Topology/Algebra/Module/Alternating/Topology.lean index 4bb6befad366ac..032243e7a8005a 100644 --- a/Mathlib/Topology/Algebra/Module/Alternating/Topology.lean +++ b/Mathlib/Topology/Algebra/Module/Alternating/Topology.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Module.Multilinear.Topology -import Mathlib.Topology.Algebra.Module.Alternating.Basic +module + +public import Mathlib.Topology.Algebra.Module.Multilinear.Topology +public import Mathlib.Topology.Algebra.Module.Alternating.Basic /-! # Topology on continuous alternating maps @@ -16,6 +18,8 @@ The structures are induced by those on `ContinuousMultilinearMap`s, and most of the lemmas follow from the corresponding lemmas about `ContinuousMultilinearMap`s. -/ +@[expose] public section + open Bornology Function Set Topology open scoped UniformConvergence Filter diff --git a/Mathlib/Topology/Algebra/Module/Basic.lean b/Mathlib/Topology/Algebra/Module/Basic.lean index f2c4f281eda033..6081fcae18438a 100644 --- a/Mathlib/Topology/Algebra/Module/Basic.lean +++ b/Mathlib/Topology/Algebra/Module/Basic.lean @@ -4,13 +4,15 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.Opposite -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.UniformSpace.UniformEmbedding -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.LinearAlgebra.Pi -import Mathlib.LinearAlgebra.Quotient.Defs +module + +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.UniformSpace.UniformEmbedding +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.LinearAlgebra.Quotient.Defs /-! # Theory of topological modules @@ -18,6 +20,8 @@ import Mathlib.LinearAlgebra.Quotient.Defs We use the class `ContinuousSMul` for topological (semi) modules and topological vector spaces. -/ +@[expose] public section + assert_not_exists Cardinal TrivialStar open LinearMap (ker range) diff --git a/Mathlib/Topology/Algebra/Module/Cardinality.lean b/Mathlib/Topology/Algebra/Module/Cardinality.lean index f171abc8c72bb1..6e5fda90d9a64f 100644 --- a/Mathlib/Topology/Algebra/Module/Cardinality.lean +++ b/Mathlib/Topology/Algebra/Module/Cardinality.lean @@ -3,12 +3,14 @@ Copyright (c) 2023 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.Module.Card -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.SetTheory.Cardinal.Continuum -import Mathlib.SetTheory.Cardinal.CountableCover -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.Topology.MetricSpace.Perfect +module + +public import Mathlib.Algebra.Module.Card +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.SetTheory.Cardinal.Continuum +public import Mathlib.SetTheory.Cardinal.CountableCover +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.Topology.MetricSpace.Perfect /-! # Cardinality of open subsets of vector spaces @@ -21,6 +23,8 @@ field has dense complement, in `Set.Countable.dense_compl`. This follows from th argument and the fact that a complete nontrivially normed field has cardinality at least continuum, proved in `continuum_le_cardinal_of_nontriviallyNormedField`. -/ + +@[expose] public section universe u v open Filter Pointwise Set Function Cardinal diff --git a/Mathlib/Topology/Algebra/Module/CharacterSpace.lean b/Mathlib/Topology/Algebra/Module/CharacterSpace.lean index 7ce46aaa6a150f..0dba76447aa8d1 100644 --- a/Mathlib/Topology/Algebra/Module/CharacterSpace.lean +++ b/Mathlib/Topology/Algebra/Module/CharacterSpace.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Frédéric Dupuis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Frédéric Dupuis -/ -import Mathlib.Topology.Algebra.Module.WeakDual -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Data.Set.Lattice +module + +public import Mathlib.Topology.Algebra.Module.WeakDual +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Data.Set.Lattice /-! # Character space of a topological algebra @@ -32,6 +34,8 @@ character space, Gelfand transform, functional calculus -/ +@[expose] public section + namespace WeakDual diff --git a/Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean b/Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean index e01226d4e0d365..a23ee8ea480ac2 100644 --- a/Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean +++ b/Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Topology.Sets.Closeds /-! # Closed submodules of a topological module @@ -19,6 +21,8 @@ block by doing `lift s to ClosedSubmodule R E using hs`. Actually provide the `Order.Frame (ClosedSubmodule R M)` instance. -/ +@[expose] public section + open Function Order TopologicalSpace variable {ι : Sort*} {R M N O : Type*} [Semiring R] diff --git a/Mathlib/Topology/Algebra/Module/Compact.lean b/Mathlib/Topology/Algebra/Module/Compact.lean index 372a6ae75a27e7..8f62e80ec2ee5b 100644 --- a/Mathlib/Topology/Algebra/Module/Compact.lean +++ b/Mathlib/Topology/Algebra/Module/Compact.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.LinearAlgebra.Finsupp.LinearCombination -import Mathlib.RingTheory.Finiteness.Defs -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.RingTheory.Noetherian.Defs +module + +public import Mathlib.LinearAlgebra.Finsupp.LinearCombination +public import Mathlib.RingTheory.Finiteness.Defs +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.RingTheory.Noetherian.Defs /-! @@ -14,6 +16,8 @@ import Mathlib.RingTheory.Noetherian.Defs -/ +@[expose] public section + variable {R M : Type*} [CommSemiring R] [TopologicalSpace R] [AddCommMonoid M] [Module R M] variable [TopologicalSpace M] [ContinuousAdd M] [ContinuousSMul R M] diff --git a/Mathlib/Topology/Algebra/Module/Determinant.lean b/Mathlib/Topology/Algebra/Module/Determinant.lean index 89f2dffbc03fb7..79f7f76d50ff49 100644 --- a/Mathlib/Topology/Algebra/Module/Determinant.lean +++ b/Mathlib/Topology/Algebra/Module/Determinant.lean @@ -4,13 +4,17 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.LinearAlgebra.Determinant +module + +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.LinearAlgebra.Determinant /-! # The determinant of a continuous linear map. -/ +@[expose] public section + namespace ContinuousLinearMap diff --git a/Mathlib/Topology/Algebra/Module/Equiv.lean b/Mathlib/Topology/Algebra/Module/Equiv.lean index 4deee66c2b848c..0b3c8b17b2304f 100644 --- a/Mathlib/Topology/Algebra/Module/Equiv.lean +++ b/Mathlib/Topology/Algebra/Module/Equiv.lean @@ -4,7 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Topology.Algebra.Module.LinearMapPiProd +module + +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd /-! # Continuous linear equivalences @@ -13,6 +15,8 @@ Continuous semilinear / linear / star-linear equivalences between topological mo by `M ≃SL[σ] M₂`, `M ≃L[R] M₂` and `M ≃L⋆[R] M₂`. -/ +@[expose] public section + assert_not_exists TrivialStar open LinearMap (ker range) diff --git a/Mathlib/Topology/Algebra/Module/FiniteDimension.lean b/Mathlib/Topology/Algebra/Module/FiniteDimension.lean index 2a6363af594891..0a025e6ede954b 100644 --- a/Mathlib/Topology/Algebra/Module/FiniteDimension.lean +++ b/Mathlib/Topology/Algebra/Module/FiniteDimension.lean @@ -3,15 +3,17 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Anatole Dedecker -/ -import Mathlib.Analysis.LocallyConvex.BalancedCoreHull -import Mathlib.Analysis.Normed.Module.Basic -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix -import Mathlib.RingTheory.LocalRing.Basic -import Mathlib.Topology.Algebra.Module.Determinant -import Mathlib.Topology.Algebra.Module.ModuleTopology -import Mathlib.Topology.Algebra.Module.Simple -import Mathlib.Topology.Algebra.SeparationQuotient.FiniteDimensional +module + +public import Mathlib.Analysis.LocallyConvex.BalancedCoreHull +public import Mathlib.Analysis.Normed.Module.Basic +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix +public import Mathlib.RingTheory.LocalRing.Basic +public import Mathlib.Topology.Algebra.Module.Determinant +public import Mathlib.Topology.Algebra.Module.ModuleTopology +public import Mathlib.Topology.Algebra.Module.Simple +public import Mathlib.Topology.Algebra.SeparationQuotient.FiniteDimensional /-! # Finite-dimensional topological vector spaces over complete fields @@ -46,6 +48,8 @@ result follows as `continuous_equivFun_basis`. -/ +@[expose] public section + open Filter Module Set TopologicalSpace Topology universe u v w x diff --git a/Mathlib/Topology/Algebra/Module/LinearMap.lean b/Mathlib/Topology/Algebra/Module/LinearMap.lean index 2d175cb088e6dd..3feff66b31113f 100644 --- a/Mathlib/Topology/Algebra/Module/LinearMap.lean +++ b/Mathlib/Topology/Algebra/Module/LinearMap.lean @@ -4,11 +4,13 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Algebra.Module.LinearMap.DivisionRing -import Mathlib.LinearAlgebra.Projection -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.Algebra.Module.Basic +module + +public import Mathlib.Algebra.Module.LinearMap.DivisionRing +public import Mathlib.LinearAlgebra.Projection +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.Algebra.Module.Basic /-! # Continuous linear maps @@ -19,6 +21,8 @@ modules which are continuous. The set of continuous semilinear maps between the Plain linear maps are denoted by `M →L[R] M₂` and star-linear maps by `M →L⋆[R] M₂`. -/ +@[expose] public section + assert_not_exists TrivialStar open LinearMap (ker range) diff --git a/Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean b/Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean index ec6cd56fbcb457..2a7206af2410c3 100644 --- a/Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean +++ b/Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean @@ -4,12 +4,16 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Sébastien Gouëzel, Jean Lo, Yury Kudryashov, Frédéric Dupuis, Heather Macbeth -/ -import Mathlib.Topology.Algebra.Module.LinearMap +module + +public import Mathlib.Topology.Algebra.Module.LinearMap /-! # Continuous linear maps on products and Pi types -/ +@[expose] public section + assert_not_exists TrivialStar open LinearMap (ker range) diff --git a/Mathlib/Topology/Algebra/Module/LinearPMap.lean b/Mathlib/Topology/Algebra/Module/LinearPMap.lean index ed94ff86e3d76a..b25fbc4d2343d0 100644 --- a/Mathlib/Topology/Algebra/Module/LinearPMap.lean +++ b/Mathlib/Topology/Algebra/Module/LinearPMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Moritz Doll. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Moritz Doll -/ -import Mathlib.LinearAlgebra.LinearPMap -import Mathlib.Topology.Algebra.Module.Basic -import Mathlib.Topology.Algebra.Module.Equiv +module + +public import Mathlib.LinearAlgebra.LinearPMap +public import Mathlib.Topology.Algebra.Module.Basic +public import Mathlib.Topology.Algebra.Module.Equiv /-! # Partially defined linear operators over topological vector spaces @@ -41,6 +43,8 @@ underlying spaces are normed. Unbounded operators, closed operators -/ +@[expose] public section + open Topology diff --git a/Mathlib/Topology/Algebra/Module/LocallyConvex.lean b/Mathlib/Topology/Algebra/Module/LocallyConvex.lean index a1c8c07aab3297..f2a0a1b3d8041b 100644 --- a/Mathlib/Topology/Algebra/Module/LocallyConvex.lean +++ b/Mathlib/Topology/Algebra/Module/LocallyConvex.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.Convex.Topology -import Mathlib.Topology.Connected.LocPathConnected -import Mathlib.Analysis.Convex.PathConnected +module + +public import Mathlib.Analysis.Convex.Topology +public import Mathlib.Topology.Connected.LocPathConnected +public import Mathlib.Analysis.Convex.PathConnected /-! # Locally convex topological modules @@ -32,6 +34,8 @@ In a module, this is equivalent to `0` satisfying such properties. -/ +@[expose] public section + assert_not_exists NormedSpace open TopologicalSpace Filter Set diff --git a/Mathlib/Topology/Algebra/Module/ModuleTopology.lean b/Mathlib/Topology/Algebra/Module/ModuleTopology.lean index 4befd569cf4682..c20789dd0e02f1 100644 --- a/Mathlib/Topology/Algebra/Module/ModuleTopology.lean +++ b/Mathlib/Topology/Algebra/Module/ModuleTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Will Sawin -/ -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.RingTheory.Finiteness.Cardinality -import Mathlib.Algebra.Algebra.Bilinear -import Mathlib.Algebra.Group.Basic +module + +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.RingTheory.Finiteness.Cardinality +public import Mathlib.Algebra.Algebra.Bilinear +public import Mathlib.Algebra.Group.Basic /-! # A "module topology" for modules over a topological ring @@ -107,6 +109,8 @@ the module topology. -/ +@[expose] public section + section basics /- diff --git a/Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean b/Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean index 52afebf076cb94..bda2755c8abbec 100644 --- a/Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean +++ b/Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Algebra.Module.LinearMapPiProd -import Mathlib.LinearAlgebra.Multilinear.Basic -import Mathlib.Algebra.BigOperators.Fin +module + +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd +public import Mathlib.LinearAlgebra.Multilinear.Basic +public import Mathlib.Algebra.BigOperators.Fin /-! # Continuous multilinear maps @@ -32,6 +34,8 @@ types as the arguments of our continuous multilinear maps), but arguably the mos especially when defining iterated derivatives. -/ +@[expose] public section + open Function Fin Set diff --git a/Mathlib/Topology/Algebra/Module/Multilinear/Bounded.lean b/Mathlib/Topology/Algebra/Module/Multilinear/Bounded.lean index 3533ced7229f27..458566b9d5dc98 100644 --- a/Mathlib/Topology/Algebra/Module/Multilinear/Bounded.lean +++ b/Mathlib/Topology/Algebra/Module/Multilinear/Bounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Topology.Algebra.Module.Multilinear.Basic +module + +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Topology.Algebra.Module.Multilinear.Basic /-! # Images of (von Neumann) bounded sets under continuous multilinear maps @@ -25,6 +27,8 @@ the family `∀ i, E i` has to be essentially finite proving theorems without a `[Finite ι]` assumption saves us some typeclass searches here and there. -/ +@[expose] public section + open Bornology Filter Set Function open scoped Topology diff --git a/Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean b/Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean index 03d9b827a126ca..6d5d1c8ffe6743 100644 --- a/Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean +++ b/Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Module.Multilinear.Bounded -import Mathlib.Topology.Algebra.Module.UniformConvergence -import Mathlib.Topology.Algebra.SeparationQuotient.Section -import Mathlib.Topology.Hom.ContinuousEvalConst -import Mathlib.Topology.Algebra.InfiniteSum.Basic +module + +public import Mathlib.Topology.Algebra.Module.Multilinear.Bounded +public import Mathlib.Topology.Algebra.Module.UniformConvergence +public import Mathlib.Topology.Algebra.SeparationQuotient.Section +public import Mathlib.Topology.Hom.ContinuousEvalConst +public import Mathlib.Topology.Algebra.InfiniteSum.Basic /-! # Topology on continuous multilinear maps @@ -18,6 +20,8 @@ where `E i` is a family of vector spaces over `𝕜` with topologies and `F` is a topological vector space. -/ +@[expose] public section + open Bornology Function Set Topology open scoped UniformConvergence Filter diff --git a/Mathlib/Topology/Algebra/Module/PerfectPairing.lean b/Mathlib/Topology/Algebra/Module/PerfectPairing.lean index 6b4beab47084ff..0f94315132e208 100644 --- a/Mathlib/Topology/Algebra/Module/PerfectPairing.lean +++ b/Mathlib/Topology/Algebra/Module/PerfectPairing.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yaël Dillies, Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Andrew Yang -/ -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.Topology.Algebra.Module.LinearMap +module + +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.Topology.Algebra.Module.LinearMap /-! # Continuous perfect pairings @@ -25,6 +27,8 @@ not in general a homeomorphism. Adapt `PerfectPairing` to this Prop-valued typeclass paradigm -/ +@[expose] public section + open Function namespace LinearMap diff --git a/Mathlib/Topology/Algebra/Module/PerfectSpace.lean b/Mathlib/Topology/Algebra/Module/PerfectSpace.lean index 3864e892d8a1bc..140651a3586210 100644 --- a/Mathlib/Topology/Algebra/Module/PerfectSpace.lean +++ b/Mathlib/Topology/Algebra/Module/PerfectSpace.lean @@ -3,11 +3,15 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecificLimits.Normed -import Mathlib.Topology.Perfect +module + +public import Mathlib.Analysis.SpecificLimits.Normed +public import Mathlib.Topology.Perfect /-! # Vector spaces over nontrivially normed fields are perfect spaces -/ +@[expose] public section + open Filter Set open scoped Topology diff --git a/Mathlib/Topology/Algebra/Module/Simple.lean b/Mathlib/Topology/Algebra/Module/Simple.lean index 8b425223796242..ec26c4d5e1d837 100644 --- a/Mathlib/Topology/Algebra/Module/Simple.lean +++ b/Mathlib/Topology/Algebra/Module/Simple.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.RingTheory.SimpleModule.Basic -import Mathlib.Topology.Algebra.Module.Basic +module + +public import Mathlib.RingTheory.SimpleModule.Basic +public import Mathlib.Topology.Algebra.Module.Basic /-! # The kernel of a linear function is closed or dense @@ -14,6 +16,8 @@ In this file we prove (`LinearMap.isClosed_or_dense_ker`) that the kernel of a l applies, e.g., to the case when `R = N` is a division ring. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Topology/Algebra/Module/Star.lean b/Mathlib/Topology/Algebra/Module/Star.lean index fd821c153d68ff..c74264155fc312 100644 --- a/Mathlib/Topology/Algebra/Module/Star.lean +++ b/Mathlib/Topology/Algebra/Module/Star.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Frédéric Dupuis -/ -import Mathlib.Algebra.Star.Module -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.Star +module + +public import Mathlib.Algebra.Star.Module +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.Star /-! # The star operation, bundled as a continuous star-linear equiv -/ +@[expose] public section + @[inherit_doc] diff --git a/Mathlib/Topology/Algebra/Module/StrongDual.lean b/Mathlib/Topology/Algebra/Module/StrongDual.lean index 7a6e194a47abc1..97ced43810db44 100644 --- a/Mathlib/Topology/Algebra/Module/StrongDual.lean +++ b/Mathlib/Topology/Algebra/Module/StrongDual.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Analysis.LocallyConvex.Polar +module + +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Analysis.LocallyConvex.Polar deprecated_module (since := "2025-09-03") diff --git a/Mathlib/Topology/Algebra/Module/StrongTopology.lean b/Mathlib/Topology/Algebra/Module/StrongTopology.lean index 45905214e6761e..7c5e6f491f32aa 100644 --- a/Mathlib/Topology/Algebra/Module/StrongTopology.lean +++ b/Mathlib/Topology/Algebra/Module/StrongTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Algebra.Module.UniformConvergence -import Mathlib.Topology.Algebra.SeparationQuotient.Section -import Mathlib.Topology.Hom.ContinuousEvalConst +module + +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Algebra.Module.UniformConvergence +public import Mathlib.Topology.Algebra.SeparationQuotient.Section +public import Mathlib.Topology.Hom.ContinuousEvalConst /-! # Strong topologies on the space of continuous linear maps @@ -57,6 +59,8 @@ sets). uniform convergence, bounded convergence -/ +@[expose] public section + open Bornology Filter Function Set Topology open scoped UniformConvergence Uniformity diff --git a/Mathlib/Topology/Algebra/Module/UniformConvergence.lean b/Mathlib/Topology/Algebra/Module/UniformConvergence.lean index 3e9852aada53b4..4d78ab80608fad 100644 --- a/Mathlib/Topology/Algebra/Module/UniformConvergence.lean +++ b/Mathlib/Topology/Algebra/Module/UniformConvergence.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Analysis.LocallyConvex.Bounded -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.UniformConvergence +module + +public import Mathlib.Analysis.LocallyConvex.Bounded +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.UniformConvergence /-! # Algebraic facts about the topology of uniform convergence @@ -38,6 +40,8 @@ uniform convergence, strong dual -/ +@[expose] public section + open Filter Topology open scoped Pointwise UniformConvergence Uniformity diff --git a/Mathlib/Topology/Algebra/Module/WeakBilin.lean b/Mathlib/Topology/Algebra/Module/WeakBilin.lean index 5885fbbdd7fd40..3e2310e57d435a 100644 --- a/Mathlib/Topology/Algebra/Module/WeakBilin.lean +++ b/Mathlib/Topology/Algebra/Module/WeakBilin.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä, Moritz Doll -/ -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.LinearAlgebra.BilinearMap +module + +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.LinearAlgebra.BilinearMap /-! # Weak dual topology @@ -44,6 +46,8 @@ weak-star, weak dual, duality -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Algebra/Module/WeakDual.lean b/Mathlib/Topology/Algebra/Module/WeakDual.lean index 0b40b3772db3a7..9188ee7caf0b2d 100644 --- a/Mathlib/Topology/Algebra/Module/WeakDual.lean +++ b/Mathlib/Topology/Algebra/Module/WeakDual.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä, Moritz Doll -/ -import Mathlib.LinearAlgebra.BilinearMap -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Topology.Algebra.Module.WeakBilin +module + +public import Mathlib.LinearAlgebra.BilinearMap +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Topology.Algebra.Module.WeakBilin /-! # Weak dual topology @@ -43,6 +45,8 @@ weak-star, weak dual, duality -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Algebra/Monoid.lean b/Mathlib/Topology/Algebra/Monoid.lean index 6b9c77257fcd58..f6449dddfe6533 100644 --- a/Mathlib/Topology/Algebra/Monoid.lean +++ b/Mathlib/Topology/Algebra/Monoid.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Mitchell Lee -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Algebra.BigOperators.Pi -import Mathlib.Algebra.Group.Submonoid.Basic -import Mathlib.Algebra.Group.ULift -import Mathlib.Order.Filter.Pointwise -import Mathlib.Topology.Algebra.MulAction -import Mathlib.Topology.ContinuousMap.Defs -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Algebra.BigOperators.Pi +public import Mathlib.Algebra.Group.Submonoid.Basic +public import Mathlib.Algebra.Group.ULift +public import Mathlib.Order.Filter.Pointwise +public import Mathlib.Topology.Algebra.MulAction +public import Mathlib.Topology.ContinuousMap.Defs +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Theory of topological monoids @@ -20,6 +22,8 @@ applications the underlying type is a monoid (multiplicative or additive), we do the definitions. -/ +@[expose] public section + universe u v open Set Filter TopologicalSpace Topology diff --git a/Mathlib/Topology/Algebra/Monoid/AddChar.lean b/Mathlib/Topology/Algebra/Monoid/AddChar.lean index 5bddd298612109..e9adce9608e5fa 100644 --- a/Mathlib/Topology/Algebra/Monoid/AddChar.lean +++ b/Mathlib/Topology/Algebra/Monoid/AddChar.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Group.AddChar -import Mathlib.Topology.DenseEmbedding +module + +public import Mathlib.Algebra.Group.AddChar +public import Mathlib.Topology.DenseEmbedding /-! # Additive characters of topological monoids -/ +@[expose] public section + lemma DenseRange.addChar_eq_of_eval_one_eq {A M : Type*} [TopologicalSpace A] [AddMonoidWithOne A] [Monoid M] [TopologicalSpace M] [T2Space M] (hdr : DenseRange ((↑) : ℕ → A)) {κ₁ κ₂ : AddChar A M} (hκ₁ : Continuous κ₁) (hκ₂ : Continuous κ₂) (h : κ₁ 1 = κ₂ 1) : diff --git a/Mathlib/Topology/Algebra/Monoid/Defs.lean b/Mathlib/Topology/Algebra/Monoid/Defs.lean index b92f362a37ee01..25b24d31b10505 100644 --- a/Mathlib/Topology/Algebra/Monoid/Defs.lean +++ b/Mathlib/Topology/Algebra/Monoid/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Topology.Constructions.SumProd +module + +public import Mathlib.Topology.Constructions.SumProd /-! # Topological monoids - definitions @@ -20,6 +22,8 @@ instead of extending typeclasses with these fields. We also provide convenience dot notation lemmas like `Filter.Tendsto.mul` and `ContinuousAt.add`. -/ +@[expose] public section + open scoped Topology /-- Basic hypothesis to talk about a topological additive monoid or a topological additive diff --git a/Mathlib/Topology/Algebra/Monoid/FunOnFinite.lean b/Mathlib/Topology/Algebra/Monoid/FunOnFinite.lean index 263697a454d541..561d5358a33694 100644 --- a/Mathlib/Topology/Algebra/Monoid/FunOnFinite.lean +++ b/Mathlib/Topology/Algebra/Monoid/FunOnFinite.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Topology.Algebra.Monoid -import Mathlib.LinearAlgebra.Finsupp.Pi +module + +public import Mathlib.Topology.Algebra.Monoid +public import Mathlib.LinearAlgebra.Finsupp.Pi /-! # Continuity of the functoriality of `X → M` when `X` is finite -/ +@[expose] public section + namespace FunOnFinite lemma continuous_map diff --git a/Mathlib/Topology/Algebra/MulAction.lean b/Mathlib/Topology/Algebra/MulAction.lean index 150982c190ed0b..c28d720c8d9f62 100644 --- a/Mathlib/Topology/Algebra/MulAction.lean +++ b/Mathlib/Topology/Algebra/MulAction.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.AddTorsor.Defs -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.Topology.Algebra.Constructions -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Connected.Basic +module + +public import Mathlib.Algebra.AddTorsor.Defs +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.Topology.Algebra.Constructions +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Connected.Basic /-! # Continuous monoid action @@ -30,6 +32,8 @@ Besides homeomorphisms mentioned above, in this file we provide lemmas like `Con or `Filter.Tendsto.smul` that provide dot-syntax access to `ContinuousSMul`. -/ +@[expose] public section + open Topology Pointwise open Filter diff --git a/Mathlib/Topology/Algebra/MvPolynomial.lean b/Mathlib/Topology/Algebra/MvPolynomial.lean index b55c9a1fb2acaf..92f1e2427ee4be 100644 --- a/Mathlib/Topology/Algebra/MvPolynomial.lean +++ b/Mathlib/Topology/Algebra/MvPolynomial.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Ruben Van de Velde. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ruben Van de Velde -/ +module -import Mathlib.Algebra.MvPolynomial.Eval -import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Algebra.MvPolynomial.Eval +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Multivariate polynomials and continuity @@ -19,6 +20,8 @@ In this file we prove the following lemma: multivariate polynomial, continuity -/ +@[expose] public section + variable {X σ : Type*} [TopologicalSpace X] [CommSemiring X] [IsTopologicalSemiring X] (p : MvPolynomial σ X) diff --git a/Mathlib/Topology/Algebra/NonUnitalAlgebra.lean b/Mathlib/Topology/Algebra/NonUnitalAlgebra.lean index e745393b1769d2..98438fc59360c2 100644 --- a/Mathlib/Topology/Algebra/NonUnitalAlgebra.lean +++ b/Mathlib/Topology/Algebra/NonUnitalAlgebra.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Algebra.NonUnitalSubalgebra -import Mathlib.Topology.Algebra.Module.Basic +module + +public import Mathlib.Algebra.Algebra.NonUnitalSubalgebra +public import Mathlib.Topology.Algebra.Module.Basic /-! # Non-unital topological (sub)algebras @@ -20,6 +22,8 @@ topological algebra, and its closure is again a non-unital subalgebra. -/ +@[expose] public section + namespace NonUnitalSubalgebra section Semiring diff --git a/Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean b/Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean index a42892cee8cc5f..6448b60cac9808 100644 --- a/Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean +++ b/Mathlib/Topology/Algebra/NonUnitalStarAlgebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.NonUnitalSubalgebra -import Mathlib.Topology.Algebra.NonUnitalAlgebra -import Mathlib.Topology.Algebra.Star +module + +public import Mathlib.Algebra.Star.NonUnitalSubalgebra +public import Mathlib.Topology.Algebra.NonUnitalAlgebra +public import Mathlib.Topology.Algebra.Star /-! # Non-unital topological star (sub)algebras @@ -22,6 +24,8 @@ non-unital topological star algebra, and its closure is again a non-unital star -/ +@[expose] public section + namespace NonUnitalStarSubalgebra section Semiring diff --git a/Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean b/Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean index b6259407c15e9c..36ef92b351fd6d 100644 --- a/Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean +++ b/Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.RingTheory.Ideal.Maps -import Mathlib.Topology.Algebra.Nonarchimedean.Bases -import Mathlib.Topology.Algebra.UniformRing +module + +public import Mathlib.RingTheory.Ideal.Maps +public import Mathlib.Topology.Algebra.Nonarchimedean.Bases +public import Mathlib.Topology.Algebra.UniformRing /-! # Adic topology @@ -40,6 +42,8 @@ to make sure it is definitionally equal to the `I`-topology on `R` seen as an `R -/ +@[expose] public section + variable {R : Type*} [CommRing R] diff --git a/Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean b/Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean index a0f0534d3b9ddb..2905202cb0d78a 100644 --- a/Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean +++ b/Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Algebra.Algebra.Basic -import Mathlib.Algebra.Module.Submodule.Pointwise -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.Nonarchimedean.Basic +module + +public import Mathlib.Algebra.Algebra.Basic +public import Mathlib.Algebra.Module.Submodule.Pointwise +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.Nonarchimedean.Basic /-! # Neighborhood bases for non-archimedean rings and modules @@ -26,6 +28,8 @@ sub-modules in a commutative algebra. This important example gives rise to the a (studied in its own file). -/ +@[expose] public section + open Set Filter Function Lattice open Topology Filter Pointwise diff --git a/Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean b/Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean index 755b6b45e7cd14..547d6a60961f51 100644 --- a/Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean +++ b/Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Ashwin Iyengar. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Johan Commelin, Ashwin Iyengar, Patrick Massot -/ -import Mathlib.Algebra.Group.Subgroup.Basic -import Mathlib.Topology.Algebra.OpenSubgroup -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.Basic +public import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Nonarchimedean Topology @@ -25,6 +27,8 @@ group is nonarchimedean. -/ +@[expose] public section + open Topology open scoped Pointwise diff --git a/Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean b/Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean index 6638495fd1d082..58b0b2b6bc9182 100644 --- a/Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean +++ b/Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Mitchell Lee. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mitchell Lee -/ -import Mathlib.Topology.Algebra.Nonarchimedean.Basic -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.Algebra.UniformRing +module + +public import Mathlib.Topology.Algebra.Nonarchimedean.Basic +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.Algebra.UniformRing /-! # The completion of a nonarchimedean additive group @@ -15,6 +17,8 @@ The completion of a nonarchimedean additive group is a nonarchimedean additive g The completion of a nonarchimedean ring is a nonarchimedean ring. -/ +@[expose] public section + open UniformSpace UniformSpace.Completion AddSubgroup OpenAddSubgroup Topology /-- The completion of a nonarchimedean additive group is a nonarchimedean additive group. -/ diff --git a/Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean b/Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean index 71590155e7bc1b..1568d81470bea0 100644 --- a/Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean +++ b/Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Jou Glasheen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jou Glasheen, Kevin Buzzard, David Loeffler, Yongle Hu, Johan Commelin -/ +module -import Mathlib.Topology.Algebra.Nonarchimedean.Basic +public import Mathlib.Topology.Algebra.Nonarchimedean.Basic /-! # Total separatedness of nonarchimedean groups @@ -28,6 +29,8 @@ is implied by the fact that a nonarchimedean group is totally separated. See Proposition 2.3.9 and Problem 63 in [F. Q. Gouvêa, *p-adic numbers*][gouvea1997]. -/ +@[expose] public section + open Pointwise TopologicalSpace variable {G : Type*} [TopologicalSpace G] [Group G] [NonarchimedeanGroup G] [T2Space G] diff --git a/Mathlib/Topology/Algebra/OpenSubgroup.lean b/Mathlib/Topology/Algebra/OpenSubgroup.lean index b662c3c8e71bb8..336b2ad30822c5 100644 --- a/Mathlib/Topology/Algebra/OpenSubgroup.lean +++ b/Mathlib/Topology/Algebra/OpenSubgroup.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Nailin Guan, Yi Song, Xuchun Li -/ -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.RingTheory.Ideal.Defs -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.RingTheory.Ideal.Defs +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Sets.Opens /-! # Open subgroups of a topological group @@ -32,6 +34,8 @@ Note that this notion is especially relevant in a non-archimedean context, for i Up to now this file is really geared towards non-archimedean algebra, not Lie groups. -/ +@[expose] public section + open TopologicalSpace Topology Function diff --git a/Mathlib/Topology/Algebra/Order/Archimedean.lean b/Mathlib/Topology/Algebra/Order/Archimedean.lean index c10e9a8195a70a..1be37ccc1d9a9e 100644 --- a/Mathlib/Topology/Algebra/Order/Archimedean.lean +++ b/Mathlib/Topology/Algebra/Order/Archimedean.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.GroupTheory.Archimedean -import Mathlib.Topology.Algebra.Order.Group -import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.GroupTheory.Archimedean +public import Mathlib.Topology.Algebra.Order.Group +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Basic +public import Mathlib.Topology.Order.Basic /-! # Topology on archimedean groups and fields @@ -23,6 +25,8 @@ In this file we prove the following theorems: commutative group `G` with order topology either is dense in `G` or is a cyclic subgroup. -/ +@[expose] public section + open Set /-- Rational numbers are dense in a linear ordered archimedean field. -/ diff --git a/Mathlib/Topology/Algebra/Order/Field.lean b/Mathlib/Topology/Algebra/Order/Field.lean index a1bc653c7998df..d5558f73b59a0e 100644 --- a/Mathlib/Topology/Algebra/Order/Field.lean +++ b/Mathlib/Topology/Algebra/Order/Field.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Benjamin Davidson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Benjamin Davidson, Devon Tuma, Eric Rodriguez, Oliver Nash -/ -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Order.Filter.AtTopBot.Field -import Mathlib.Topology.Algebra.Field -import Mathlib.Topology.Algebra.Order.Group +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Order.Filter.AtTopBot.Field +public import Mathlib.Topology.Algebra.Field +public import Mathlib.Topology.Algebra.Order.Group /-! # Topologies on linear ordered fields @@ -17,6 +19,8 @@ and division (apart from zero in the denominator). We also prove theorems like then `f * g` tends to positive infinity. -/ +@[expose] public section + open Set Filter TopologicalSpace Function open scoped Pointwise Topology diff --git a/Mathlib/Topology/Algebra/Order/Floor.lean b/Mathlib/Topology/Algebra/Order/Floor.lean index 076e1b6cafd2f9..45eb513e17d551 100644 --- a/Mathlib/Topology/Algebra/Order/Floor.lean +++ b/Mathlib/Topology/Algebra/Order/Floor.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Algebra.Order.Floor.Ring -import Mathlib.Order.Filter.AtTopBot.Floor -import Mathlib.Topology.Algebra.Order.Group +module + +public import Mathlib.Algebra.Order.Floor.Ring +public import Mathlib.Order.Filter.AtTopBot.Floor +public import Mathlib.Topology.Algebra.Order.Group /-! # Topological facts about `Int.floor`, `Int.ceil` and `Int.fract` @@ -24,6 +26,8 @@ This file proves statements about limits and continuity of functions involving ` `Int.fract` yields another continuous function. -/ +@[expose] public section + open Filter Function Int Set Topology diff --git a/Mathlib/Topology/Algebra/Order/Group.lean b/Mathlib/Topology/Algebra/Order/Group.lean index 1f1b166fedc12b..8759f32a17d41a 100644 --- a/Mathlib/Topology/Algebra/Order/Group.lean +++ b/Mathlib/Topology/Algebra/Order/Group.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Basic -import Mathlib.Topology.Algebra.Group.Defs -import Mathlib.Topology.Order.LeftRightNhds +module + +public import Mathlib.Algebra.Order.Group.Basic +public import Mathlib.Topology.Algebra.Group.Defs +public import Mathlib.Topology.Order.LeftRightNhds /-! # Topology on a linear ordered commutative group @@ -15,6 +17,8 @@ is a topological group. We also prove continuity of `abs : G → G` and provide convenience lemmas like `ContinuousAt.abs`. -/ +@[expose] public section + open Set Filter Function diff --git a/Mathlib/Topology/Algebra/Order/LiminfLimsup.lean b/Mathlib/Topology/Algebra/Order/LiminfLimsup.lean index d7b19a1a9c55bd..9fdffb5157beae 100644 --- a/Mathlib/Topology/Algebra/Order/LiminfLimsup.lean +++ b/Mathlib/Topology/Algebra/Order/LiminfLimsup.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Algebra.Order.Group.DenselyOrdered -import Mathlib.Data.Real.Archimedean -import Mathlib.Topology.Algebra.Group.Basic -import Mathlib.Topology.Order.LiminfLimsup +module + +public import Mathlib.Algebra.Order.Group.DenselyOrdered +public import Mathlib.Data.Real.Archimedean +public import Mathlib.Topology.Algebra.Group.Basic +public import Mathlib.Topology.Order.LiminfLimsup /-! # Lemmas about liminf and limsup in an order topology. @@ -22,6 +24,8 @@ The same lemmas are true in `ℝ`, `ℝ × ℝ`, `ι → ℝ`, `EuclideanSpace duplication, we provide an ad hoc axiomatisation of the properties we need. -/ +@[expose] public section + open Filter TopologicalSpace open scoped Topology diff --git a/Mathlib/Topology/Algebra/Order/Module.lean b/Mathlib/Topology/Algebra/Order/Module.lean index a9561a93dd9887..1479b8096b0322 100644 --- a/Mathlib/Topology/Algebra/Order/Module.lean +++ b/Mathlib/Topology/Algebra/Order/Module.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.Nonneg.Module -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Algebra.MulAction +module + +public import Mathlib.Algebra.Order.Nonneg.Module +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Algebra.MulAction /-! # Continuous nonnegative scalar multiplication -/ +@[expose] public section + variable {R α : Type*} [Semiring R] [PartialOrder R] [SMul R α] [TopologicalSpace α] instance [ContinuousConstSMul R α] : ContinuousConstSMul {r : R // 0 ≤ r} α where diff --git a/Mathlib/Topology/Algebra/Order/Support.lean b/Mathlib/Topology/Algebra/Order/Support.lean index be329e4bf1a5ba..2d69c957d79f69 100644 --- a/Mathlib/Topology/Algebra/Order/Support.lean +++ b/Mathlib/Topology/Algebra/Order/Support.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Topology.Algebra.Support +module + +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Topology.Algebra.Support /-! # The topological support of sup and inf of functions @@ -15,6 +17,8 @@ has compact support if so do `f` and `g`. -/ +@[expose] public section + variable {X M : Type*} [TopologicalSpace X] [One M] section SemilatticeSup diff --git a/Mathlib/Topology/Algebra/Order/UpperLower.lean b/Mathlib/Topology/Algebra/Order/UpperLower.lean index 475bf775779dc0..7ad78894f3ade5 100644 --- a/Mathlib/Topology/Algebra/Order/UpperLower.lean +++ b/Mathlib/Topology/Algebra/Order/UpperLower.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Algebra.Order.UpperLower -import Mathlib.Topology.Algebra.Group.Pointwise +module + +public import Mathlib.Algebra.Order.UpperLower +public import Mathlib.Topology.Algebra.Group.Pointwise /-! # Topological facts about upper/lower/order-connected sets @@ -19,6 +21,8 @@ The same lemmas are true in the additive/multiplicative worlds. To avoid code du provide `HasUpperLowerClosure`, an ad hoc axiomatisation of the properties we need. -/ +@[expose] public section + open Function Set diff --git a/Mathlib/Topology/Algebra/Polynomial.lean b/Mathlib/Topology/Algebra/Polynomial.lean index bf5f7bb78d8a50..0d1b13116edf85 100644 --- a/Mathlib/Topology/Algebra/Polynomial.lean +++ b/Mathlib/Topology/Algebra/Polynomial.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis -/ -import Mathlib.Algebra.Polynomial.AlgebraMap -import Mathlib.Algebra.Polynomial.Inductions -import Mathlib.Algebra.Polynomial.Splits -import Mathlib.RingTheory.Polynomial.Vieta -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Ring.Lemmas +module + +public import Mathlib.Algebra.Polynomial.AlgebraMap +public import Mathlib.Algebra.Polynomial.Inductions +public import Mathlib.Algebra.Polynomial.Splits +public import Mathlib.RingTheory.Polynomial.Vieta +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Ring.Lemmas /-! # Polynomials and limits @@ -33,6 +35,8 @@ In this file we prove the following lemmas. Polynomial, continuity -/ +@[expose] public section + open IsAbsoluteValue Filter diff --git a/Mathlib/Topology/Algebra/PontryaginDual.lean b/Mathlib/Topology/Algebra/PontryaginDual.lean index 5ec54da12e2226..1ae5586f025fe3 100644 --- a/Mathlib/Topology/Algebra/PontryaginDual.lean +++ b/Mathlib/Topology/Algebra/PontryaginDual.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Analysis.SpecialFunctions.Complex.Circle -import Mathlib.Topology.Algebra.Group.CompactOpen +module + +public import Mathlib.Analysis.SpecialFunctions.Complex.Circle +public import Mathlib.Topology.Algebra.Group.CompactOpen /-! # Pontryagin dual @@ -20,6 +22,8 @@ isomorphic to its double dual. * `PontryaginDual A`: The group of continuous homomorphisms `A →* Circle`. -/ +@[expose] public section + open Pointwise Function variable (A B C G H : Type*) [Monoid A] [Monoid B] [Monoid C] [CommGroup G] [Group H] diff --git a/Mathlib/Topology/Algebra/ProperAction/AddTorsor.lean b/Mathlib/Topology/Algebra/ProperAction/AddTorsor.lean index ced042a0a846b1..8af226b2cacb55 100644 --- a/Mathlib/Topology/Algebra/ProperAction/AddTorsor.lean +++ b/Mathlib/Topology/Algebra/ProperAction/AddTorsor.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Algebra.Group.AddTorsor -import Mathlib.Topology.Algebra.ProperAction.Basic +module + +public import Mathlib.Topology.Algebra.Group.AddTorsor +public import Mathlib.Topology.Algebra.ProperAction.Basic /-! # The action underlying a topological additive torsor is proper. -/ +@[expose] public section + variable {V P : Type*} [AddGroup V] [AddTorsor V P] variable [TopologicalSpace V] [TopologicalSpace P] [IsTopologicalAddTorsor P] diff --git a/Mathlib/Topology/Algebra/ProperAction/Basic.lean b/Mathlib/Topology/Algebra/ProperAction/Basic.lean index fe91514726e61b..4c4a88cbd3b89c 100644 --- a/Mathlib/Topology/Algebra/ProperAction/Basic.lean +++ b/Mathlib/Topology/Algebra/ProperAction/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Anatole Dedeker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedeker, Etienne Marion, Florestan Martin-Baillon, Vincent Guirardel -/ -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.Topology.Algebra.MulAction -import Mathlib.Topology.Maps.Proper.Basic -import Mathlib.Topology.Maps.OpenQuotient +module + +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.Topology.Algebra.MulAction +public import Mathlib.Topology.Maps.Proper.Basic +public import Mathlib.Topology.Maps.OpenQuotient /-! # Proper group action @@ -36,6 +38,8 @@ ultrafilters and show the transfer of proper action to a closed subgroup. Hausdorff, group action, proper action -/ +@[expose] public section + open Filter Topology Set Prod /-- Proper group action in the sense of Bourbaki: diff --git a/Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean b/Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean index c82c03a3917dd6..a75eaf7bc6e922 100644 --- a/Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean +++ b/Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Anatole Dedeker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Topology.Algebra.ProperAction.Basic -import Mathlib.Topology.Maps.Proper.CompactlyGenerated +module + +public import Mathlib.Topology.Algebra.ProperAction.Basic +public import Mathlib.Topology.Maps.Proper.CompactlyGenerated /-! # When a proper action is properly discontinuous @@ -24,6 +26,8 @@ weakly locally compact. group action, proper action, properly discontinuous, compactly generated -/ +@[expose] public section + variable {G X : Type*} [Group G] [MulAction G X] [TopologicalSpace G] [TopologicalSpace X] open Prod Set diff --git a/Mathlib/Topology/Algebra/ProperConstSMul.lean b/Mathlib/Topology/Algebra/ProperConstSMul.lean index 42ed0c6091f228..42679407930840 100644 --- a/Mathlib/Topology/Algebra/ProperConstSMul.lean +++ b/Mathlib/Topology/Algebra/ProperConstSMul.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.Maps.Proper.Basic +module + +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.Maps.Proper.Basic /-! # Actions by proper maps @@ -21,6 +23,8 @@ We also provide 4 instances: - for the action on `∀ i, X i`. -/ +@[expose] public section + /-- A mixin typeclass saying that the `(c +ᵥ ·)` is a proper map for all `c`. Note that this is **not** the same as a proper additive action (not yet in `Mathlib`). -/ diff --git a/Mathlib/Topology/Algebra/RestrictedProduct.lean b/Mathlib/Topology/Algebra/RestrictedProduct.lean index 6a9bae218318c9..6cb2aa5ec3561a 100644 --- a/Mathlib/Topology/Algebra/RestrictedProduct.lean +++ b/Mathlib/Topology/Algebra/RestrictedProduct.lean @@ -1,4 +1,6 @@ -import Mathlib.Topology.Algebra.RestrictedProduct.Basic -import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace +module + +public import Mathlib.Topology.Algebra.RestrictedProduct.Basic +public import Mathlib.Topology.Algebra.RestrictedProduct.TopologicalSpace deprecated_module (since := "2025-06-11") diff --git a/Mathlib/Topology/Algebra/RestrictedProduct/Basic.lean b/Mathlib/Topology/Algebra/RestrictedProduct/Basic.lean index 7ed37f7a2b697e..6cffc0b661d256 100644 --- a/Mathlib/Topology/Algebra/RestrictedProduct/Basic.lean +++ b/Mathlib/Topology/Algebra/RestrictedProduct/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Algebra.Ring.Pi -import Mathlib.Algebra.Ring.Subring.Defs -import Mathlib.GroupTheory.GroupAction.SubMulAction -import Mathlib.Order.Filter.Cofinite -- for `Πʳ i, [R i, A i]` notation, confuses shake -import Mathlib.Algebra.Module.Pi +module + +public import Mathlib.Algebra.Ring.Pi +public import Mathlib.Algebra.Ring.Subring.Defs +public import Mathlib.GroupTheory.GroupAction.SubMulAction +public import Mathlib.Order.Filter.Cofinite -- for `Πʳ i, [R i, A i]` notation, confuses shake +public import Mathlib.Algebra.Module.Pi /-! # Restricted products of sets, groups and rings @@ -53,6 +55,8 @@ puts the structure of a topological space on a restricted product of topological restricted product, adeles, ideles -/ +@[expose] public section + open Set Filter variable {ι : Type*} diff --git a/Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean b/Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean index a53164b369dc2c..fd7ffcee12e21d 100644 --- a/Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean +++ b/Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Algebra.RestrictedProduct.Basic -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Algebra.RestrictedProduct.Basic +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Restricted products of topological spaces, topological groups and rings @@ -89,6 +91,8 @@ restrain from specializing these instances to principal and cofinite filters if restricted product, adeles, ideles -/ +@[expose] public section + open Set Topology Filter variable {ι : Type*} diff --git a/Mathlib/Topology/Algebra/Ring/Basic.lean b/Mathlib/Topology/Algebra/Ring/Basic.lean index b76a30fe312d18..f134db20aec85e 100644 --- a/Mathlib/Topology/Algebra/Ring/Basic.lean +++ b/Mathlib/Topology/Algebra/Ring/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.Ring.Opposite -import Mathlib.Algebra.Ring.Prod -import Mathlib.Algebra.Ring.Subring.Basic -import Mathlib.Topology.Algebra.Group.GroupTopology +module + +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.Ring.Opposite +public import Mathlib.Algebra.Ring.Prod +public import Mathlib.Algebra.Ring.Subring.Basic +public import Mathlib.Topology.Algebra.Group.GroupTopology /-! @@ -26,6 +28,8 @@ of topological (semi)rings. - The indexed product of topological (semi)rings is a topological (semi)ring. -/ +@[expose] public section + assert_not_exists Cardinal open Set Filter TopologicalSpace Function Topology Filter diff --git a/Mathlib/Topology/Algebra/Ring/Compact.lean b/Mathlib/Topology/Algebra/Ring/Compact.lean index 5bb829d0b3896d..96fc5ea1c664bf 100644 --- a/Mathlib/Topology/Algebra/Ring/Compact.lean +++ b/Mathlib/Topology/Algebra/Ring/Compact.lean @@ -3,17 +3,19 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.RingTheory.DedekindDomain.Factorization -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.HopkinsLevitzki -import Mathlib.RingTheory.IntegralDomain -import Mathlib.RingTheory.LocalRing.Quotient -import Mathlib.Topology.Algebra.Group.ClosedSubgroup -import Mathlib.Topology.Algebra.Field -import Mathlib.Topology.Algebra.Module.Basic -import Mathlib.Topology.Algebra.Module.Compact -import Mathlib.Topology.Algebra.OpenSubgroup -import Mathlib.Topology.Algebra.Ring.Ideal +module + +public import Mathlib.RingTheory.DedekindDomain.Factorization +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.HopkinsLevitzki +public import Mathlib.RingTheory.IntegralDomain +public import Mathlib.RingTheory.LocalRing.Quotient +public import Mathlib.Topology.Algebra.Group.ClosedSubgroup +public import Mathlib.Topology.Algebra.Field +public import Mathlib.Topology.Algebra.Module.Basic +public import Mathlib.Topology.Algebra.Module.Compact +public import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.Topology.Algebra.Ring.Ideal /-! @@ -35,6 +37,8 @@ See https://ncatlab.org/nlab/show/compact+Hausdorff+rings+are+profinite -/ +@[expose] public section + attribute [local instance] Ideal.Quotient.field Fintype.ofFinite finite_of_compact_of_discrete DivisionRing.finite_of_compactSpace_of_t2Space diff --git a/Mathlib/Topology/Algebra/Ring/Ideal.lean b/Mathlib/Topology/Algebra/Ring/Ideal.lean index f8ba3a3ad50405..5ae66d509246ee 100644 --- a/Mathlib/Topology/Algebra/Ring/Ideal.lean +++ b/Mathlib/Topology/Algebra/Ring/Ideal.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Algebra.Group.Quotient -import Mathlib.RingTheory.Ideal.Quotient.Defs +module + +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Algebra.Group.Quotient +public import Mathlib.RingTheory.Ideal.Quotient.Defs /-! # Ideals and quotients of topological rings @@ -15,6 +17,8 @@ ring. We also define a `TopologicalSpace` structure on the quotient of a topolog ideal and prove that the quotient is a topological ring. -/ +@[expose] public section + open Topology section Ring diff --git a/Mathlib/Topology/Algebra/Ring/Real.lean b/Mathlib/Topology/Algebra/Ring/Real.lean index 4f6cdc109ddbc7..818f426ee5f721 100644 --- a/Mathlib/Topology/Algebra/Ring/Real.lean +++ b/Mathlib/Topology/Algebra/Ring/Real.lean @@ -3,14 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.EReal.Operations -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.Algebra.IsUniformGroup.Defs -import Mathlib.Topology.Bornology.Real -import Mathlib.Topology.Instances.Int -import Mathlib.Topology.Order.MonotoneContinuity -import Mathlib.Topology.Order.Real -import Mathlib.Topology.UniformSpace.Real +module + +public import Mathlib.Data.EReal.Operations +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs +public import Mathlib.Topology.Bornology.Real +public import Mathlib.Topology.Instances.Int +public import Mathlib.Topology.Order.MonotoneContinuity +public import Mathlib.Topology.Order.Real +public import Mathlib.Topology.UniformSpace.Real /-! # Topological algebra properties of ℝ @@ -23,6 +25,8 @@ It also includes a bit of more general topological theory of the reals, needed to define the structures and prove continuity. -/ +@[expose] public section + assert_not_exists StarRing UniformContinuousConstSMul UniformOnFun noncomputable section diff --git a/Mathlib/Topology/Algebra/Semigroup.lean b/Mathlib/Topology/Algebra/Semigroup.lean index 6f96bddeb4c7d9..35f48f48c2219f 100644 --- a/Mathlib/Topology/Algebra/Semigroup.lean +++ b/Mathlib/Topology/Algebra/Semigroup.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 David Wärn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Wärn -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Topology.Separation.Hausdorff /-! # Idempotents in topological semigroups @@ -16,6 +18,8 @@ right-multiplication by constants is continuous. We also state a corresponding lemma guaranteeing that a subset of `M` contains an idempotent. -/ +@[expose] public section + /-- Any nonempty compact Hausdorff semigroup where right-multiplication is continuous contains an idempotent, i.e. an `m` such that `m * m = m`. -/ diff --git a/Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean b/Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean index 923ad38c401390..9b5547b3aaaeed 100644 --- a/Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean +++ b/Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Module.LinearMap +module + +public import Mathlib.Topology.Algebra.Module.LinearMap /-! # Algebraic operations on `SeparationQuotient` @@ -19,6 +21,8 @@ Finally, we construct a section of the quotient map which is a continuous linear map `SeparationQuotient E →L[K] E`. -/ +@[expose] public section + assert_not_exists LinearIndependent open scoped Topology diff --git a/Mathlib/Topology/Algebra/SeparationQuotient/FiniteDimensional.lean b/Mathlib/Topology/Algebra/SeparationQuotient/FiniteDimensional.lean index 208af77f691055..51d469278cd0c2 100644 --- a/Mathlib/Topology/Algebra/SeparationQuotient/FiniteDimensional.lean +++ b/Mathlib/Topology/Algebra/SeparationQuotient/FiniteDimensional.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.SeparationQuotient.Basic -import Mathlib.RingTheory.Finiteness.Basic +module + +public import Mathlib.Topology.Algebra.SeparationQuotient.Basic +public import Mathlib.RingTheory.Finiteness.Basic /-! # Separation quotient is a finite module @@ -12,6 +14,8 @@ import Mathlib.RingTheory.Finiteness.Basic In this file we show that the separation quotient of a finite module is a finite module. -/ +@[expose] public section + /-- The separation quotient of a finite module is a finite module. -/ instance SeparationQuotient.instModuleFinite {R M : Type*} [Semiring R] [AddCommMonoid M] [Module R M] [Module.Finite R M] diff --git a/Mathlib/Topology/Algebra/SeparationQuotient/Hom.lean b/Mathlib/Topology/Algebra/SeparationQuotient/Hom.lean index 1b9f0d31971b43..61f34aec2869fd 100644 --- a/Mathlib/Topology/Algebra/SeparationQuotient/Hom.lean +++ b/Mathlib/Topology/Algebra/SeparationQuotient/Hom.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Topology.Algebra.ContinuousMonoidHom -import Mathlib.Topology.Algebra.SeparationQuotient.Basic +module + +public import Mathlib.Topology.Algebra.ContinuousMonoidHom +public import Mathlib.Topology.Algebra.SeparationQuotient.Basic /-! # Lift of `MonoidHom M N` to `MonoidHom (SeparationQuotient M) N` @@ -13,6 +15,8 @@ In this file we define the lift of a continuous monoid homomorphism `f` from `M` `SeparationQuotient M`, assuming that `f` maps two inseparable elements to the same element. -/ +@[expose] public section + namespace SeparationQuotient section Monoid diff --git a/Mathlib/Topology/Algebra/SeparationQuotient/Section.lean b/Mathlib/Topology/Algebra/SeparationQuotient/Section.lean index 1176c542509077..cd6d39e3c3685c 100644 --- a/Mathlib/Topology/Algebra/SeparationQuotient/Section.lean +++ b/Mathlib/Topology/Algebra/SeparationQuotient/Section.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Module.Projective -import Mathlib.LinearAlgebra.Basis.VectorSpace -import Mathlib.Topology.Algebra.SeparationQuotient.Basic -import Mathlib.Topology.Maps.OpenQuotient +module + +public import Mathlib.Algebra.Module.Projective +public import Mathlib.LinearAlgebra.Basis.VectorSpace +public import Mathlib.Topology.Algebra.SeparationQuotient.Basic +public import Mathlib.Topology.Maps.OpenQuotient /-! # Algebraic operations on `SeparationQuotient` @@ -15,6 +17,8 @@ In this file we construct a section of the quotient map `E → SeparationQuotien linear map `SeparationQuotient E →L[K] E`. -/ +@[expose] public section + open Topology namespace SeparationQuotient diff --git a/Mathlib/Topology/Algebra/Star.lean b/Mathlib/Topology/Algebra/Star.lean index 53f3157216ea18..10abb0c630df5e 100644 --- a/Mathlib/Topology/Algebra/Star.lean +++ b/Mathlib/Topology/Algebra/Star.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Topology.Algebra.Constructions -import Mathlib.Topology.ContinuousMap.Defs -import Mathlib.Algebra.Star.Basic +module + +public import Mathlib.Topology.Algebra.Constructions +public import Mathlib.Topology.ContinuousMap.Defs +public import Mathlib.Algebra.Star.Basic /-! # Continuity of `star` @@ -14,6 +16,8 @@ This file defines the `ContinuousStar` typeclass, along with instances on `Pi`, `MulOpposite`, and `Units`. -/ +@[expose] public section + open Filter Topology /-- Basic hypothesis to talk about a topological space with a continuous `star` operator. -/ diff --git a/Mathlib/Topology/Algebra/Star/Real.lean b/Mathlib/Topology/Algebra/Star/Real.lean index f82312106d2a8a..ef374ce6b56cce 100644 --- a/Mathlib/Topology/Algebra/Star/Real.lean +++ b/Mathlib/Topology/Algebra/Star/Real.lean @@ -3,14 +3,18 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.NNReal.Star -import Mathlib.Topology.Algebra.Star -import Mathlib.Topology.MetricSpace.Pseudo.Constructions +module + +public import Mathlib.Data.NNReal.Star +public import Mathlib.Topology.Algebra.Star +public import Mathlib.Topology.MetricSpace.Pseudo.Constructions /-! # Topological properties of conjugation on ℝ -/ +@[expose] public section + assert_not_exists IsTopologicalRing UniformContinuousConstSMul UniformOnFun noncomputable section diff --git a/Mathlib/Topology/Algebra/Star/Unitary.lean b/Mathlib/Topology/Algebra/Star/Unitary.lean index 14c5f2e8eeb417..5a8cc9f330c87f 100644 --- a/Mathlib/Topology/Algebra/Star/Unitary.lean +++ b/Mathlib/Topology/Algebra/Star/Unitary.lean @@ -3,16 +3,20 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.Unitary -import Mathlib.Topology.Algebra.Group.Defs -import Mathlib.Topology.Algebra.Star -import Mathlib.Topology.Algebra.Monoid +module + +public import Mathlib.Algebra.Star.Unitary +public import Mathlib.Topology.Algebra.Group.Defs +public import Mathlib.Topology.Algebra.Star +public import Mathlib.Topology.Algebra.Monoid /-! # `unitary R` is a topological group In a topological star monoid, the unitary group is a topological group. -/ +@[expose] public section + variable {R : Type*} [Monoid R] [StarMul R] [TopologicalSpace R] instance [ContinuousStar R] : ContinuousStar (unitary R) where diff --git a/Mathlib/Topology/Algebra/StarSubalgebra.lean b/Mathlib/Topology/Algebra/StarSubalgebra.lean index 297de0d96633a9..7fbd88126a2382 100644 --- a/Mathlib/Topology/Algebra/StarSubalgebra.lean +++ b/Mathlib/Topology/Algebra/StarSubalgebra.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Star.Subalgebra -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.Algebra.Star +module + +public import Mathlib.Algebra.Star.Subalgebra +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.Algebra.Star /-! # Topological star (sub)algebras @@ -22,6 +24,8 @@ The topological closure of a star subalgebra is still a star subalgebra, which as a star algebra is a topological star algebra. -/ +@[expose] public section + open Topology namespace StarSubalgebra diff --git a/Mathlib/Topology/Algebra/Support.lean b/Mathlib/Topology/Algebra/Support.lean index 0794b33938e5dc..af87554f4609bc 100644 --- a/Mathlib/Topology/Algebra/Support.lean +++ b/Mathlib/Topology/Algebra/Support.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Patrick Massot -/ -import Mathlib.Algebra.GroupWithZero.Indicator -import Mathlib.Algebra.Module.Basic -import Mathlib.Algebra.Order.Group.Unbundled.Abs -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Algebra.GroupWithZero.Indicator +public import Mathlib.Algebra.Module.Basic +public import Mathlib.Algebra.Order.Group.Unbundled.Abs +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Separation.Hausdorff /-! # The topological support of a function @@ -29,6 +31,8 @@ like `Embedding`. Since then, `Embedding` was renamed to `Topology.IsEmbedding`, worth reconsidering namespacing the definitions here. -/ +@[expose] public section + open Function Set Filter Topology diff --git a/Mathlib/Topology/Algebra/TopologicallyNilpotent.lean b/Mathlib/Topology/Algebra/TopologicallyNilpotent.lean index 9f8299dab6a70a..c53e1240f4d657 100644 --- a/Mathlib/Topology/Algebra/TopologicallyNilpotent.lean +++ b/Mathlib/Topology/Algebra/TopologicallyNilpotent.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos-Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Antoine Chambert-Loir, María Inés de Frutos-Fernández -/ -import Mathlib.Topology.Algebra.LinearTopology -import Mathlib.RingTheory.Ideal.Basic -import Mathlib.RingTheory.Nilpotent.Defs +module + +public import Mathlib.Topology.Algebra.LinearTopology +public import Mathlib.RingTheory.Ideal.Basic +public import Mathlib.RingTheory.Nilpotent.Defs /-! # Topologically nilpotent elements @@ -35,6 +37,8 @@ These lemmas are actually deduced from their analogues for commuting elements of -/ +@[expose] public section + open Filter open scoped Topology diff --git a/Mathlib/Topology/Algebra/UniformConvergence.lean b/Mathlib/Topology/Algebra/UniformConvergence.lean index 99f620c00d2a89..73fd2ebbf3dd1a 100644 --- a/Mathlib/Topology/Algebra/UniformConvergence.lean +++ b/Mathlib/Topology/Algebra/UniformConvergence.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Algebra.Module.Pi -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +module + +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Algebra.Module.Pi +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology /-! # Algebraic facts about the topology of uniform convergence @@ -37,6 +39,8 @@ uniform convergence, strong dual -/ +@[expose] public section + open Filter open scoped Topology Pointwise UniformConvergence Uniformity diff --git a/Mathlib/Topology/Algebra/UniformField.lean b/Mathlib/Topology/Algebra/UniformField.lean index a8496fabf441ee..7587d781c2eff1 100644 --- a/Mathlib/Topology/Algebra/UniformField.lean +++ b/Mathlib/Topology/Algebra/UniformField.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.RingTheory.SimpleRing.Basic -import Mathlib.Topology.Algebra.Field -import Mathlib.Topology.Algebra.UniformRing +module + +public import Mathlib.RingTheory.SimpleRing.Basic +public import Mathlib.Topology.Algebra.Field +public import Mathlib.Topology.Algebra.UniformRing /-! # Completion of topological fields @@ -31,6 +33,8 @@ type class and the main results are the instances `UniformSpace.Completion.Field `UniformSpace.Completion.IsTopologicalDivisionRing`. -/ +@[expose] public section + noncomputable section open uniformity Topology diff --git a/Mathlib/Topology/Algebra/UniformFilterBasis.lean b/Mathlib/Topology/Algebra/UniformFilterBasis.lean index 90713aa1799fe1..1d0675021a7640 100644 --- a/Mathlib/Topology/Algebra/UniformFilterBasis.lean +++ b/Mathlib/Topology/Algebra/UniformFilterBasis.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Algebra.FilterBasis -import Mathlib.Topology.Algebra.IsUniformGroup.Defs +module + +public import Mathlib.Topology.Algebra.FilterBasis +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs /-! # Uniform properties of neighborhood bases in topological algebra @@ -16,6 +18,8 @@ The only result so far is a characterization of Cauchy filters in topological gr -/ +@[expose] public section + open uniformity Filter diff --git a/Mathlib/Topology/Algebra/UniformMulAction.lean b/Mathlib/Topology/Algebra/UniformMulAction.lean index 7078ecdc9b9264..08718028cf8fb8 100644 --- a/Mathlib/Topology/Algebra/UniformMulAction.lean +++ b/Mathlib/Topology/Algebra/UniformMulAction.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Module.Opposite -import Mathlib.Topology.UniformSpace.Completion -import Mathlib.Topology.Algebra.IsUniformGroup.Defs +module + +public import Mathlib.Algebra.Module.Opposite +public import Mathlib.Topology.UniformSpace.Completion +public import Mathlib.Topology.Algebra.IsUniformGroup.Defs /-! # Multiplicative action on the completion of a uniform space @@ -22,6 +24,8 @@ In later files once the additive group structure is set up, we provide TODO: Generalise the results here from the concrete `Completion` to any `AbstractCompletion`. -/ +@[expose] public section + universe u v w x y diff --git a/Mathlib/Topology/Algebra/UniformRing.lean b/Mathlib/Topology/Algebra/UniformRing.lean index a159cda03376a2..31b735a3e398fa 100644 --- a/Mathlib/Topology/Algebra/UniformRing.lean +++ b/Mathlib/Topology/Algebra/UniformRing.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Algebra.Algebra.Defs -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Algebra.Ring.TransferInstance -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.Algebra.Ring.Ideal -import Mathlib.Topology.Algebra.IsUniformGroup.Basic +module + +public import Mathlib.Algebra.Algebra.Defs +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Algebra.Ring.TransferInstance +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.Algebra.Ring.Ideal +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic /-! # Completion of topological rings: @@ -35,6 +37,8 @@ the main constructions deal with continuous ring morphisms. TODO: Generalise the results here from the concrete `Completion` to any `AbstractCompletion`. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean b/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean index 11d86d9f0e4588..b7e0960b64f8da 100644 --- a/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean +++ b/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean @@ -3,13 +3,15 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Analysis.Normed.Field.Lemmas -import Mathlib.Analysis.Normed.Field.ProperSpace -import Mathlib.RingTheory.DiscreteValuationRing.Basic -import Mathlib.RingTheory.Ideal.IsPrincipalPowQuotient -import Mathlib.RingTheory.Valuation.Archimedean -import Mathlib.Topology.Algebra.Valued.NormedValued -import Mathlib.Topology.Algebra.Valued.ValuedField +module + +public import Mathlib.Analysis.Normed.Field.Lemmas +public import Mathlib.Analysis.Normed.Field.ProperSpace +public import Mathlib.RingTheory.DiscreteValuationRing.Basic +public import Mathlib.RingTheory.Ideal.IsPrincipalPowQuotient +public import Mathlib.RingTheory.Valuation.Archimedean +public import Mathlib.Topology.Algebra.Valued.NormedValued +public import Mathlib.Topology.Algebra.Valued.ValuedField /-! # Necessary and sufficient conditions for a locally compact valued field @@ -23,6 +25,8 @@ import Mathlib.Topology.Algebra.Valued.ValuedField norm, nonarchimedean, rank one, compact, locally compact -/ +@[expose] public section + open NNReal section NormedField diff --git a/Mathlib/Topology/Algebra/Valued/NormedValued.lean b/Mathlib/Topology/Algebra/Valued/NormedValued.lean index b4b7808e298224..9e4fc820b3651b 100644 --- a/Mathlib/Topology/Algebra/Valued/NormedValued.lean +++ b/Mathlib/Topology/Algebra/Valued/NormedValued.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 María Inés de Frutos-Fernández. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: María Inés de Frutos-Fernández -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Analysis.Normed.Group.Ultra -import Mathlib.RingTheory.Valuation.RankOne -import Mathlib.Topology.Algebra.Valued.ValuationTopology +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Analysis.Normed.Group.Ultra +public import Mathlib.RingTheory.Valuation.RankOne +public import Mathlib.Topology.Algebra.Valued.ValuationTopology /-! # Correspondence between nontrivial nonarchimedean norms and rank one valuations @@ -23,6 +25,8 @@ Nontrivial nonarchimedean norms correspond to rank one valuations. norm, nonarchimedean, nontrivial, valuation, rank one -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Algebra/Valued/ValuationTopology.lean b/Mathlib/Topology/Algebra/Valued/ValuationTopology.lean index 45e1f83833b6c3..09ff6b5b365ace 100644 --- a/Mathlib/Topology/Algebra/Valued/ValuationTopology.lean +++ b/Mathlib/Topology/Algebra/Valued/ValuationTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Algebra.Order.Group.Units -import Mathlib.Topology.Algebra.Nonarchimedean.Bases -import Mathlib.Topology.Algebra.UniformFilterBasis -import Mathlib.RingTheory.Valuation.ValuationSubring +module + +public import Mathlib.Algebra.Order.Group.Units +public import Mathlib.Topology.Algebra.Nonarchimedean.Bases +public import Mathlib.Topology.Algebra.UniformFilterBasis +public import Mathlib.RingTheory.Valuation.ValuationSubring /-! # The topology on a valued ring @@ -22,6 +24,8 @@ should take this into consideration. -/ +@[expose] public section + open scoped Topology uniformity open Set Valuation diff --git a/Mathlib/Topology/Algebra/Valued/ValuativeRel.lean b/Mathlib/Topology/Algebra/Valued/ValuativeRel.lean index bd9aaba1bf29bd..abae6bf0051da5 100644 --- a/Mathlib/Topology/Algebra/Valued/ValuativeRel.lean +++ b/Mathlib/Topology/Algebra/Valued/ValuativeRel.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic -import Mathlib.Topology.Algebra.Valued.ValuationTopology -import Mathlib.Topology.Algebra.WithZeroTopology +module + +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +public import Mathlib.Topology.Algebra.Valued.ValuationTopology +public import Mathlib.Topology.Algebra.WithZeroTopology /-! @@ -18,6 +20,8 @@ to facilitate a refactor. -/ +@[expose] public section + namespace IsValuativeTopology section diff --git a/Mathlib/Topology/Algebra/Valued/ValuedField.lean b/Mathlib/Topology/Algebra/Valued/ValuedField.lean index 032247f172ab0d..e2d18e84b46f70 100644 --- a/Mathlib/Topology/Algebra/Valued/ValuedField.lean +++ b/Mathlib/Topology/Algebra/Valued/ValuedField.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Algebra.Valued.ValuationTopology -import Mathlib.Topology.Algebra.WithZeroTopology -import Mathlib.Topology.Algebra.UniformField +module + +public import Mathlib.Topology.Algebra.Valued.ValuationTopology +public import Mathlib.Topology.Algebra.WithZeroTopology +public import Mathlib.Topology.Algebra.UniformField /-! # Valued fields and their completions @@ -27,6 +29,8 @@ separated, so the map from `K` to `hat K` is injective. Then we extend the valuation given on `K` to a valuation on `hat K`. -/ +@[expose] public section + open Filter Set diff --git a/Mathlib/Topology/Algebra/Valued/WithVal.lean b/Mathlib/Topology/Algebra/Valued/WithVal.lean index 6a616a2c6fc640..d91f8ccea92872 100644 --- a/Mathlib/Topology/Algebra/Valued/WithVal.lean +++ b/Mathlib/Topology/Algebra/Valued/WithVal.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.RingTheory.Valuation.ValuativeRel.Basic -import Mathlib.Topology.UniformSpace.Completion -import Mathlib.Topology.Algebra.Valued.ValuationTopology -import Mathlib.NumberTheory.NumberField.Basic +module + +public import Mathlib.RingTheory.Valuation.ValuativeRel.Basic +public import Mathlib.Topology.UniformSpace.Completion +public import Mathlib.Topology.Algebra.Valued.ValuationTopology +public import Mathlib.NumberTheory.NumberField.Basic /-! # Ring topologised by a valuation @@ -29,6 +31,8 @@ fractions of a Dedekind domain with respect to a height-one prime ideal of the d uniform structure defined by the specified valuation. -/ +@[expose] public section + noncomputable section variable {R Γ₀ : Type*} [LinearOrderedCommGroupWithZero Γ₀] diff --git a/Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean b/Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean index c19d07524577fd..a3bd1944b81bd8 100644 --- a/Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean +++ b/Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Salvatore Mercuri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Salvatore Mercuri -/ -import Mathlib.GroupTheory.ArchimedeanDensely -import Mathlib.Topology.Algebra.Valued.ValuationTopology +module + +public import Mathlib.GroupTheory.ArchimedeanDensely +public import Mathlib.Topology.Algebra.Valued.ValuationTopology /-! # Topological results for integer-valued rings @@ -15,6 +17,8 @@ is a `Valued R ℤₘ₀` instance but no canonical base with which to embed thi `NNReal`. -/ +@[expose] public section + open Filter WithZero Set open scoped Topology diff --git a/Mathlib/Topology/Algebra/WithZeroTopology.lean b/Mathlib/Topology/Algebra/WithZeroTopology.lean index 1809873d115dcf..24b9b2f4875809 100644 --- a/Mathlib/Topology/Algebra/WithZeroTopology.lean +++ b/Mathlib/Topology/Algebra/WithZeroTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Algebra.Order.GroupWithZero.Canonical -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Order.OrderClosed -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Algebra.Order.GroupWithZero.Canonical +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Order.OrderClosed +public import Mathlib.Topology.Separation.Regular /-! # The topology on linearly ordered commutative groups with zero @@ -31,6 +33,8 @@ a linearly ordered commutative group with zero. You can locally activate this to `open WithZeroTopology`. -/ +@[expose] public section + open Topology Filter TopologicalSpace Filter Set Function namespace WithZeroTopology diff --git a/Mathlib/Topology/ApproximateUnit.lean b/Mathlib/Topology/ApproximateUnit.lean index f4fe0115f4cbd6..3f333f3b602c69 100644 --- a/Mathlib/Topology/ApproximateUnit.lean +++ b/Mathlib/Topology/ApproximateUnit.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.Algebra.Monoid +module + +public import Mathlib.Topology.Algebra.Monoid /-! # Approximate units @@ -18,6 +20,8 @@ Examples of approximate units include: where `a` ranges over the positive elements of norm strictly less than 1. -/ +@[expose] public section + open Filter Topology /-- An *approximate unit* is a proper filter (i.e., `≠ ⊥`) such that multiplication on the left diff --git a/Mathlib/Topology/Baire/BaireMeasurable.lean b/Mathlib/Topology/Baire/BaireMeasurable.lean index d4b2d77dff904f..e3b080653fd463 100644 --- a/Mathlib/Topology/Baire/BaireMeasurable.lean +++ b/Mathlib/Topology/Baire/BaireMeasurable.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ -import Mathlib.Topology.LocallyClosed -import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable -import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic +module + +public import Mathlib.Topology.LocallyClosed +public import Mathlib.MeasureTheory.MeasurableSpace.EventuallyMeasurable +public import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic /-! # Baire category and Baire measurable sets @@ -25,6 +27,8 @@ A set `s` in a topological space `α` is called a `BaireMeasurableSet` or said t -/ +@[expose] public section + variable (α : Type*) {β : Type*} [TopologicalSpace α] [TopologicalSpace β] open Topology diff --git a/Mathlib/Topology/Baire/CompleteMetrizable.lean b/Mathlib/Topology/Baire/CompleteMetrizable.lean index 6111a91ae70a6f..b28c3bb09f8b1d 100644 --- a/Mathlib/Topology/Baire/CompleteMetrizable.lean +++ b/Mathlib/Topology/Baire/CompleteMetrizable.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Tactic.Finiteness -import Mathlib.Topology.Metrizable.Uniformity +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Tactic.Finiteness +public import Mathlib.Topology.Metrizable.Uniformity /-! # First Baire theorem @@ -15,6 +17,8 @@ Since `Mathlib` does not have the notion of a completely metrizable topological we state it for a complete uniform space with countably generated uniformity filter. -/ +@[expose] public section + open Filter EMetric Set open scoped Topology Uniformity ENNReal diff --git a/Mathlib/Topology/Baire/Lemmas.lean b/Mathlib/Topology/Baire/Lemmas.lean index 78c8b9fda03e9e..652817cc324a84 100644 --- a/Mathlib/Topology/Baire/Lemmas.lean +++ b/Mathlib/Topology/Baire/Lemmas.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.GDelta.Basic +module + +public import Mathlib.Topology.GDelta.Basic /-! # Baire spaces @@ -26,6 +28,8 @@ covered by a countable union of closed sets, then the union of their interiors i We also prove that in Baire spaces, the `residual` sets are exactly those containing a dense Gδ set. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Baire/LocallyCompactRegular.lean b/Mathlib/Topology/Baire/LocallyCompactRegular.lean index cac2ac244ad13d..e5e9da579987b4 100644 --- a/Mathlib/Topology/Baire/LocallyCompactRegular.lean +++ b/Mathlib/Topology/Baire/LocallyCompactRegular.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Damien Thomine. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damien Thomine -/ -import Mathlib.Topology.Sets.Compacts +module + +public import Mathlib.Topology.Sets.Compacts /-! # Second Baire theorem @@ -11,6 +13,8 @@ import Mathlib.Topology.Sets.Compacts In this file we prove that a locally compact regular topological space has Baire property. -/ +@[expose] public section + open TopologicalSpace Set /-- **Second Baire theorem**: locally compact R₁ spaces are Baire. -/ diff --git a/Mathlib/Topology/Bases.lean b/Mathlib/Topology/Bases.lean index ecbcc4893ac275..5a7740f91c28d2 100644 --- a/Mathlib/Topology/Bases.lean +++ b/Mathlib/Topology/Bases.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Set.Constructions -import Mathlib.Order.Filter.AtTopBot.CountablyGenerated -import Mathlib.Topology.Constructions -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Data.Set.Constructions +public import Mathlib.Order.Filter.AtTopBot.CountablyGenerated +public import Mathlib.Topology.Constructions +public import Mathlib.Topology.ContinuousOn /-! # Bases of topologies. Countability axioms. @@ -52,6 +54,8 @@ More fine grained instances for `FirstCountableTopology`, `TopologicalSpace.SeparableSpace`, and more. -/ +@[expose] public section + open Set Filter Function Topology noncomputable section diff --git a/Mathlib/Topology/Basic.lean b/Mathlib/Topology/Basic.lean index 04d4abf39c8dcd..30c0ee63ea4e00 100644 --- a/Mathlib/Topology/Basic.lean +++ b/Mathlib/Topology/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Data.Set.Finite.Basic -import Mathlib.Data.Set.Finite.Range -import Mathlib.Data.Set.Lattice -import Mathlib.Topology.Defs.Filter +module + +public import Mathlib.Data.Set.Finite.Basic +public import Mathlib.Data.Set.Finite.Range +public import Mathlib.Data.Set.Lattice +public import Mathlib.Topology.Defs.Filter /-! # Openness and closedness of a set @@ -29,6 +31,8 @@ Topology in mathlib heavily uses filters (even more than in Bourbaki). See expla topological space -/ +@[expose] public section + open Set Filter Topology universe u v diff --git a/Mathlib/Topology/Bornology/Absorbs.lean b/Mathlib/Topology/Bornology/Absorbs.lean index c95380dcd360cc..9af4ae4a512a2d 100644 --- a/Mathlib/Topology/Bornology/Absorbs.lean +++ b/Mathlib/Topology/Bornology/Absorbs.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Jean Lo, Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jean Lo, Yury Kudryashov -/ -import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set -import Mathlib.Algebra.Ring.Action.Pointwise.Set -import Mathlib.Topology.Bornology.Basic +module + +public import Mathlib.Algebra.GroupWithZero.Action.Pointwise.Set +public import Mathlib.Algebra.Ring.Action.Pointwise.Set +public import Mathlib.Topology.Bornology.Basic /-! # Absorption of sets @@ -37,6 +39,8 @@ They can be added later when someone needs them. absorbs, absorbent -/ +@[expose] public section + assert_not_exists Real open Set Bornology Filter diff --git a/Mathlib/Topology/Bornology/Basic.lean b/Mathlib/Topology/Bornology/Basic.lean index de6c787d94e958..4ed5f3942210d7 100644 --- a/Mathlib/Topology/Bornology/Basic.lean +++ b/Mathlib/Topology/Bornology/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Order.Filter.Cofinite +module + +public import Mathlib.Order.Filter.Cofinite /-! # Basic theory of bornology @@ -36,6 +38,8 @@ Although use of `cobounded α` is discouraged for indicating the (co)boundedness it is intended for regular use as a filter on `α`. -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Topology/Bornology/BoundedOperation.lean b/Mathlib/Topology/Bornology/BoundedOperation.lean index 29124405736bbb..c2dd9e54abfbf4 100644 --- a/Mathlib/Topology/Bornology/BoundedOperation.lean +++ b/Mathlib/Topology/Bornology/BoundedOperation.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Analysis.Normed.Group.Basic -import Mathlib.Topology.MetricSpace.ProperSpace.Real -import Mathlib.Analysis.Normed.Ring.Lemmas +module + +public import Mathlib.Analysis.Normed.Group.Basic +public import Mathlib.Topology.MetricSpace.ProperSpace.Real +public import Mathlib.Analysis.Normed.Ring.Lemmas /-! # Bounded operations @@ -23,6 +25,8 @@ we can equip bounded continuous functions with the corresponding operations. -/ +@[expose] public section + open scoped NNReal section bounded_sub diff --git a/Mathlib/Topology/Bornology/Constructions.lean b/Mathlib/Topology/Bornology/Constructions.lean index eccd11698bb2d7..b8b47fdd500e71 100644 --- a/Mathlib/Topology/Bornology/Constructions.lean +++ b/Mathlib/Topology/Bornology/Constructions.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Topology.Bornology.Basic +module + +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Topology.Bornology.Basic /-! # Bornology structure on products and subtypes @@ -14,6 +16,8 @@ In this file we define `Bornology` and `BoundedSpace` instances on `α × β`, ` on these types. -/ +@[expose] public section + open Set Filter Bornology Function diff --git a/Mathlib/Topology/Bornology/Hom.lean b/Mathlib/Topology/Bornology/Hom.lean index 12a36974f42737..245d7155a4b549 100644 --- a/Mathlib/Topology/Bornology/Hom.lean +++ b/Mathlib/Topology/Bornology/Hom.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Bornology.Basic +module + +public import Mathlib.Topology.Bornology.Basic /-! # Locally bounded maps @@ -22,6 +24,8 @@ be satisfied by itself and all stricter types. * `LocallyBoundedMapClass` -/ +@[expose] public section + open Bornology Filter Function Set diff --git a/Mathlib/Topology/Bornology/Real.lean b/Mathlib/Topology/Bornology/Real.lean index bda03b44a2bc08..d7c588df360003 100644 --- a/Mathlib/Topology/Bornology/Real.lean +++ b/Mathlib/Topology/Bornology/Real.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.MetricSpace.Bounded -import Mathlib.Topology.Order.Bornology +module + +public import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Topology.Order.Bornology /-! # The reals are equipped with their order bornology @@ -13,6 +15,8 @@ This file contains results related to the order bornology on (non-negative) real We prove that `ℝ` and `ℝ≥0` are equipped with the order topology and bornology. -/ +@[expose] public section + assert_not_exists IsTopologicalRing UniformContinuousConstSMul UniformOnFun open Metric Set diff --git a/Mathlib/Topology/CWComplex/Abstract/Basic.lean b/Mathlib/Topology/CWComplex/Abstract/Basic.lean index 21968510f5cd70..7c05baadd288c7 100644 --- a/Mathlib/Topology/CWComplex/Abstract/Basic.lean +++ b/Mathlib/Topology/CWComplex/Abstract/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Elliot Dean Young and Jiazhen Xia. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiazhen Xia, Elliot Dean Young, Joël Riou -/ -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.Topology.Category.TopCat.Sphere -import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic +module + +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.Topology.Category.TopCat.Sphere +public import Mathlib.AlgebraicTopology.RelativeCellComplex.Basic /-! # CW-complexes @@ -42,6 +44,8 @@ The two approaches are equivalent but serve different purposes: Currently there is no way to move between the two definitions. -/ +@[expose] public section + open TopCat diff --git a/Mathlib/Topology/CWComplex/Classical/Basic.lean b/Mathlib/Topology/CWComplex/Classical/Basic.lean index 941aa6a4913b76..da3fc72522173e 100644 --- a/Mathlib/Topology/CWComplex/Classical/Basic.lean +++ b/Mathlib/Topology/CWComplex/Classical/Basic.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Floris van Doorn and Hannah Scholz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Hannah Scholz -/ +module -import Mathlib.Analysis.Normed.Module.RCLike.Real -import Mathlib.Data.ENat.Basic -import Mathlib.Logic.Equiv.PartialEquiv -import Mathlib.Topology.MetricSpace.ProperSpace.Real +public import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Data.ENat.Basic +public import Mathlib.Logic.Equiv.PartialEquiv +public import Mathlib.Topology.MetricSpace.ProperSpace.Real /-! # CW complexes @@ -70,6 +71,8 @@ together. * [A. Hatcher, *Algebraic Topology*][hatcher02] -/ +@[expose] public section + noncomputable section open Metric Set diff --git a/Mathlib/Topology/CWComplex/Classical/Finite.lean b/Mathlib/Topology/CWComplex/Classical/Finite.lean index 2cf05f6a758d90..3e559653f6787f 100644 --- a/Mathlib/Topology/CWComplex/Classical/Finite.lean +++ b/Mathlib/Topology/CWComplex/Classical/Finite.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 Floris van Doorn and Hannah Scholz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Hannah Scholz -/ +module -import Mathlib.Topology.CWComplex.Classical.Basic +public import Mathlib.Topology.CWComplex.Classical.Basic /-! # Finiteness notions on CW complexes @@ -29,6 +30,8 @@ finite CW complexes. is finite. -/ +@[expose] public section + open Metric Set namespace Topology diff --git a/Mathlib/Topology/CWComplex/Classical/Subcomplex.lean b/Mathlib/Topology/CWComplex/Classical/Subcomplex.lean index 9c5f1adbe07537..d33e00e9606b8c 100644 --- a/Mathlib/Topology/CWComplex/Classical/Subcomplex.lean +++ b/Mathlib/Topology/CWComplex/Classical/Subcomplex.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Floris van Doorn and Hannah Scholz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Hannah Scholz -/ +module -import Mathlib.Topology.CWComplex.Classical.Finite -import Mathlib.Analysis.Normed.Module.RCLike.Real +public import Mathlib.Topology.CWComplex.Classical.Finite +public import Mathlib.Analysis.Normed.Module.RCLike.Real /-! # Subcomplexes @@ -21,6 +22,8 @@ The definintion of subcomplexes is in the file `Topology.CWComplex.Classical.Bas * [K. Jänich, *Topology*][Janich1984] -/ +@[expose] public section + noncomputable section open Metric Set diff --git a/Mathlib/Topology/Category/Born.lean b/Mathlib/Topology/Category/Born.lean index 99061f3a89007d..0e0343ea41ca5d 100644 --- a/Mathlib/Topology/Category/Born.lean +++ b/Mathlib/Topology/Category/Born.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.CategoryTheory.ConcreteCategory.Basic -import Mathlib.Topology.Bornology.Hom +module + +public import Mathlib.CategoryTheory.ConcreteCategory.Basic +public import Mathlib.Topology.Bornology.Hom /-! # The category of bornologies @@ -12,6 +14,8 @@ import Mathlib.Topology.Bornology.Hom This defines `Born`, the category of bornologies. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/CompHaus/Basic.lean b/Mathlib/Topology/Category/CompHaus/Basic.lean index 0b6465b8d4ce36..9af7eb3ebcbf9a 100644 --- a/Mathlib/Topology/Category/CompHaus/Basic.lean +++ b/Mathlib/Topology/Category/CompHaus/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Bhavik Mehta, Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.Category.CompHausLike.Basic -import Mathlib.Topology.Category.TopCat.Limits.Basic +module + +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.Category.CompHausLike.Basic +public import Mathlib.Topology.Category.TopCat.Limits.Basic /-! # The category of Compact Hausdorff Spaces @@ -31,6 +33,8 @@ The category `CompHaus` is defined using the structure `CompHausLike`. See the f -/ +@[expose] public section + universe v u diff --git a/Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean b/Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean index 73ca032ac534df..41bca5d649f056 100644 --- a/Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson -/ -import Mathlib.Topology.Category.CompHaus.Limits -import Mathlib.Topology.Category.CompHausLike.EffectiveEpi +module + +public import Mathlib.Topology.Category.CompHaus.Limits +public import Mathlib.Topology.Category.CompHausLike.EffectiveEpi /-! # Effective epimorphisms in `CompHaus` @@ -25,6 +27,8 @@ equivalent. -/ +@[expose] public section + universe u open CategoryTheory Limits CompHausLike diff --git a/Mathlib/Topology/Category/CompHaus/Frm.lean b/Mathlib/Topology/Category/CompHaus/Frm.lean index 0e51dbbf02c592..3629330050d1ab 100644 --- a/Mathlib/Topology/Category/CompHaus/Frm.lean +++ b/Mathlib/Topology/Category/CompHaus/Frm.lean @@ -3,13 +3,16 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ +module -import Mathlib.Order.Category.Frm -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Sets.Opens +public import Mathlib.Order.Category.Frm +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Sets.Opens /-! The forgetful functor from `TopCatᵒᵖ` to `Frm`. -/ +@[expose] public section + universe u open TopologicalSpace Opposite CategoryTheory diff --git a/Mathlib/Topology/Category/CompHaus/Limits.lean b/Mathlib/Topology/Category/CompHaus/Limits.lean index 4f72790e39c044..908ec21388ee0a 100644 --- a/Mathlib/Topology/Category/CompHaus/Limits.lean +++ b/Mathlib/Topology/Category/CompHaus/Limits.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson -/ -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Category.CompHausLike.Limits +module + +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Category.CompHausLike.Limits /-! # Explicit limits and colimits @@ -13,6 +15,8 @@ This file applies the general API for explicit limits and colimits in `CompHausL the file `Mathlib/Topology/Category/CompHausLike/Limits.lean`) to the special case of `CompHaus`. -/ +@[expose] public section + namespace CompHaus universe u w diff --git a/Mathlib/Topology/Category/CompHaus/Projective.lean b/Mathlib/Topology/Category/CompHaus/Projective.lean index a26d6e2d7b330d..dec1c599e08d2d 100644 --- a/Mathlib/Topology/Category/CompHaus/Projective.lean +++ b/Mathlib/Topology/Category/CompHaus/Projective.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +module + +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono /-! # CompHaus has enough projectives @@ -27,6 +29,8 @@ See [miraglia2006introduction] Chapter 21 for a proof that `CompHaus` has enough -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Category/CompHausLike/Basic.lean b/Mathlib/Topology/Category/CompHausLike/Basic.lean index a778ac4be063f4..cd1114594c9eaa 100644 --- a/Mathlib/Topology/Category/CompHausLike/Basic.lean +++ b/Mathlib/Topology/Category/CompHausLike/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.CategoryTheory.Functor.EpiMono -import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic +module + +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.CategoryTheory.Functor.EpiMono +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Basic /-! # Categories of Compact Hausdorff Spaces @@ -61,6 +63,8 @@ of `CompHaus` and `Profinite` is used in the proof in question, and then proving `Profinite`. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Topology/Category/CompHausLike/EffectiveEpi.lean b/Mathlib/Topology/Category/CompHausLike/EffectiveEpi.lean index 91a9ffc3bf187f..4c7d2f6dc87f81 100644 --- a/Mathlib/Topology/Category/CompHausLike/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/CompHausLike/EffectiveEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Sites.Coherent.Comparison -import Mathlib.Topology.Category.CompHausLike.Limits +module + +public import Mathlib.CategoryTheory.Sites.Coherent.Comparison +public import Mathlib.Topology.Category.CompHausLike.Limits /-! # Effective epimorphisms in `CompHausLike` @@ -17,6 +19,8 @@ preregular. If furthermore explicit finite coproducts exist, then `CompHausLike P` is precoherent. -/ +@[expose] public section + universe u open CategoryTheory Limits Topology diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index c1991890cc3b10..5f05287e7331f0 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.CategoryTheory.Extensive -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.Topology.Category.CompHausLike.Basic +module + +public import Mathlib.CategoryTheory.Extensive +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.Topology.Category.CompHausLike.Basic /-! # Explicit limits and colimits @@ -34,6 +36,8 @@ which may be useful due to their definitional properties. we provide an instance `FinitaryExtensive (CompHausLike P)`. -/ +@[expose] public section + open CategoryTheory Limits Topology namespace CompHausLike diff --git a/Mathlib/Topology/Category/CompHausLike/SigmaComparison.lean b/Mathlib/Topology/Category/CompHausLike/SigmaComparison.lean index 0f54e155919648..9ec707bc116154 100644 --- a/Mathlib/Topology/Category/CompHausLike/SigmaComparison.lean +++ b/Mathlib/Topology/Category/CompHausLike/SigmaComparison.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.Topology.Category.CompHausLike.Limits +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.Topology.Category.CompHausLike.Limits /-! # The sigma-comparison map @@ -18,6 +20,8 @@ the inclusion maps `Sᵢ ⟶ S₁ ⊔ ... ⊔ Sₙ`, and it is an isomorphism wh products. -/ +@[expose] public section + universe u w open CategoryTheory Limits diff --git a/Mathlib/Topology/Category/CompactlyGenerated.lean b/Mathlib/Topology/Category/CompactlyGenerated.lean index 6a515584df27bc..afef3304d54f2c 100644 --- a/Mathlib/Topology/Category/CompactlyGenerated.lean +++ b/Mathlib/Topology/Category/CompactlyGenerated.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Compactness.CompactlyGeneratedSpace -import Mathlib.CategoryTheory.Elementwise +module + +public import Mathlib.Topology.Compactness.CompactlyGeneratedSpace +public import Mathlib.CategoryTheory.Elementwise /-! # Compactly generated topological spaces @@ -20,6 +22,8 @@ compact Hausdorff spaces `S` mapping continuously to `X`. * Every first-countable space is `u`-compactly generated for every universe `u`. -/ +@[expose] public section + universe u w open CategoryTheory Topology TopologicalSpace diff --git a/Mathlib/Topology/Category/Compactum.lean b/Mathlib/Topology/Category/Compactum.lean index 7e691dc3046c5b..2a7392279cc776 100644 --- a/Mathlib/Topology/Category/Compactum.lean +++ b/Mathlib/Topology/Category/Compactum.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.CategoryTheory.Monad.Types -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.CategoryTheory.Equivalence -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Data.Set.Constructions +module + +public import Mathlib.CategoryTheory.Monad.Types +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.CategoryTheory.Equivalence +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Data.Set.Constructions /-! @@ -69,6 +71,8 @@ We also add wrappers around structures which already exist. Here are the main on -/ +@[expose] public section + universe u open CategoryTheory Filter Ultrafilter TopologicalSpace CategoryTheory.Limits FiniteInter diff --git a/Mathlib/Topology/Category/DeltaGenerated.lean b/Mathlib/Topology/Category/DeltaGenerated.lean index 2b86163bbbb0a4..a80d097552ef56 100644 --- a/Mathlib/Topology/Category/DeltaGenerated.lean +++ b/Mathlib/Topology/Category/DeltaGenerated.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Ben Eltschig. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ben Eltschig -/ -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.Topology.Compactness.DeltaGeneratedSpace +module + +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.Topology.Compactness.DeltaGeneratedSpace /-! # Delta-generated topological spaces @@ -20,6 +22,8 @@ Adapted from `Mathlib/Topology/Category/CompactlyGenerated.lean`. * `DeltaGenerated` is Cartesian-closed. -/ +@[expose] public section + universe u open CategoryTheory diff --git a/Mathlib/Topology/Category/FinTopCat.lean b/Mathlib/Topology/Category/FinTopCat.lean index 4d6e3154cf1d78..c5c18c8fe68738 100644 --- a/Mathlib/Topology/Category/FinTopCat.lean +++ b/Mathlib/Topology/Category/FinTopCat.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.Topology.Category.TopCat.Basic +module + +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.Topology.Category.TopCat.Basic /-! # Category of finite topological spaces @@ -14,6 +16,8 @@ forgetful functors. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/LightProfinite/AsLimit.lean b/Mathlib/Topology/Category/LightProfinite/AsLimit.lean index 48a23ec469bd8a..930229fef53530 100644 --- a/Mathlib/Topology/Category/LightProfinite/AsLimit.lean +++ b/Mathlib/Topology/Category/LightProfinite/AsLimit.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.LightProfinite.Basic +module + +public import Mathlib.Topology.Category.LightProfinite.Basic /-! # Light profinite sets as limits of finite sets. @@ -16,6 +18,8 @@ We also prove that the projection and transition maps in this limit are surjecti -/ +@[expose] public section + noncomputable section open CategoryTheory Limits CompHausLike diff --git a/Mathlib/Topology/Category/LightProfinite/Basic.lean b/Mathlib/Topology/Category/LightProfinite/Basic.lean index 708e43d3bb7abd..02308add00ba97 100644 --- a/Mathlib/Topology/Category/LightProfinite/Basic.lean +++ b/Mathlib/Topology/Category/LightProfinite/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Shapes.Countable -import Mathlib.Topology.Category.Profinite.AsLimit -import Mathlib.Topology.Category.Profinite.CofilteredLimit -import Mathlib.Topology.ClopenBox +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Countable +public import Mathlib.Topology.Category.Profinite.AsLimit +public import Mathlib.Topology.Category.Profinite.CofilteredLimit +public import Mathlib.Topology.ClopenBox /-! # Light profinite spaces @@ -27,6 +29,8 @@ The category `LightProfinite` is defined using the structure `CompHausLike`. See -/ +@[expose] public section + /- The basic API for `LightProfinite` is largely copied from the API of `Profinite`; where possible, try to keep them in sync -/ diff --git a/Mathlib/Topology/Category/LightProfinite/EffectiveEpi.lean b/Mathlib/Topology/Category/LightProfinite/EffectiveEpi.lean index 7e132cdbf53d80..59243f6c390d90 100644 --- a/Mathlib/Topology/Category/LightProfinite/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/LightProfinite/EffectiveEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.CompHausLike.EffectiveEpi -import Mathlib.Topology.Category.LightProfinite.Limits +module + +public import Mathlib.Topology.Category.CompHausLike.EffectiveEpi +public import Mathlib.Topology.Category.LightProfinite.Limits /-! # Effective epimorphisms in `LightProfinite` @@ -15,6 +17,8 @@ As a consequence we deduce from the material in and `Precoherent`. -/ +@[expose] public section + universe u open CategoryTheory Limits CompHausLike diff --git a/Mathlib/Topology/Category/LightProfinite/Extend.lean b/Mathlib/Topology/Category/LightProfinite/Extend.lean index 06f5f8c3a9efd8..8a03a1898183f3 100644 --- a/Mathlib/Topology/Category/LightProfinite/Extend.lean +++ b/Mathlib/Topology/Category/LightProfinite/Extend.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.LightProfinite.AsLimit -import Mathlib.Topology.Category.Profinite.Extend +module + +public import Mathlib.Topology.Category.LightProfinite.AsLimit +public import Mathlib.Topology.Category.Profinite.Extend /-! @@ -24,6 +26,8 @@ We apply this to define `LightProfinite.diagram'`, `LightProfinite.asLimitCone'` indexing category is `StructuredArrow S toLightProfinite` instead of `ℕᵒᵖ`. -/ +@[expose] public section + universe u open CategoryTheory Limits FintypeCat Functor diff --git a/Mathlib/Topology/Category/LightProfinite/Limits.lean b/Mathlib/Topology/Category/LightProfinite/Limits.lean index 67b2e81257f2bc..c6dd26732dfacb 100644 --- a/Mathlib/Topology/Category/LightProfinite/Limits.lean +++ b/Mathlib/Topology/Category/LightProfinite/Limits.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.CompHausLike.Limits -import Mathlib.Topology.Category.LightProfinite.Basic +module + +public import Mathlib.Topology.Category.CompHausLike.Limits +public import Mathlib.Topology.Category.LightProfinite.Basic /-! # Explicit limits and colimits @@ -14,6 +16,8 @@ the file `Mathlib/Topology/Category/CompHausLike/Limits.lean`) to the special ca `LightProfinite`. -/ +@[expose] public section + namespace LightProfinite universe u w diff --git a/Mathlib/Topology/Category/LightProfinite/Sequence.lean b/Mathlib/Topology/Category/LightProfinite/Sequence.lean index 76b699c8140cf2..4d0780b246fba0 100644 --- a/Mathlib/Topology/Category/LightProfinite/Sequence.lean +++ b/Mathlib/Topology/Category/LightProfinite/Sequence.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Compactification.OnePoint.Basic -import Mathlib.Topology.Category.LightProfinite.Basic +module + +public import Mathlib.Topology.Compactification.OnePoint.Basic +public import Mathlib.Topology.Category.LightProfinite.Basic /-! # The light profinite set classifying convergent sequences @@ -13,6 +15,8 @@ This file defines the light profinite set `ℕ∪{∞}`, defined as the one poin `ℕ`. -/ +@[expose] public section + open CategoryTheory OnePoint TopologicalSpace Topology namespace LightProfinite diff --git a/Mathlib/Topology/Category/Locale.lean b/Mathlib/Topology/Category/Locale.lean index bbf4f83f1ac931..c450e22595eebb 100644 --- a/Mathlib/Topology/Category/Locale.lean +++ b/Mathlib/Topology/Category/Locale.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.Frm -import Mathlib.Topology.Category.CompHaus.Frm +module + +public import Mathlib.Order.Category.Frm +public import Mathlib.Topology.Category.CompHaus.Frm /-! # The category of locales @@ -12,6 +14,8 @@ import Mathlib.Topology.Category.CompHaus.Frm This file defines `Locale`, the category of locales. This is the opposite of the category of frames. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/Profinite/AsLimit.lean b/Mathlib/Topology/Category/Profinite/AsLimit.lean index 6e2b31fcf7778c..b6396d935f2114 100644 --- a/Mathlib/Topology/Category/Profinite/AsLimit.lean +++ b/Mathlib/Topology/Category/Profinite/AsLimit.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Adam Topaz -/ -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.DiscreteQuotient +module + +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.DiscreteQuotient /-! # Profinite sets as limits of finite sets. @@ -28,6 +30,8 @@ There are a handful of definitions in this file, given `X : Profinite`: -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Category/Profinite/Basic.lean b/Mathlib/Topology/Category/Profinite/Basic.lean index 8d72b60d4750cb..739210cddef711 100644 --- a/Mathlib/Topology/Category/Profinite/Basic.lean +++ b/Mathlib/Topology/Category/Profinite/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Kevin Buzzard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kevin Buzzard, Calle Sönne, Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.FintypeCat -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.Topology.Separation.Profinite +module + +public import Mathlib.CategoryTheory.FintypeCat +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.Topology.Separation.Profinite /-! # The category of Profinite Types @@ -37,6 +39,8 @@ profinite -/ +@[expose] public section + universe v u open CategoryTheory Topology CompHausLike diff --git a/Mathlib/Topology/Category/Profinite/CofilteredLimit.lean b/Mathlib/Topology/Category/Profinite/CofilteredLimit.lean index b6d4d3cdec5b06..086c1304d47c97 100644 --- a/Mathlib/Topology/Category/Profinite/CofilteredLimit.lean +++ b/Mathlib/Topology/Category/Profinite/CofilteredLimit.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz -/ -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.Topology.DiscreteQuotient -import Mathlib.Topology.Category.TopCat.Limits.Cofiltered -import Mathlib.Topology.Category.TopCat.Limits.Konig +module + +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.Topology.DiscreteQuotient +public import Mathlib.Topology.Category.TopCat.Limits.Cofiltered +public import Mathlib.Topology.Category.TopCat.Limits.Konig /-! # Cofiltered limits of profinite sets. @@ -22,6 +24,8 @@ This file contains some theorems about cofiltered limits of profinite sets. of profinite sets factors through one of the components. -/ +@[expose] public section + namespace Profinite open CategoryTheory Limits diff --git a/Mathlib/Topology/Category/Profinite/EffectiveEpi.lean b/Mathlib/Topology/Category/Profinite/EffectiveEpi.lean index 4b7613e82d1858..f50b27219244ca 100644 --- a/Mathlib/Topology/Category/Profinite/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/Profinite/EffectiveEpi.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Boris Bolvig Kjær, Jon Eugster, Sina Hazratpour -/ -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular -import Mathlib.Topology.Category.CompHaus.EffectiveEpi -import Mathlib.Topology.Category.Profinite.Limits -import Mathlib.Topology.Category.Stonean.Basic +module + +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular +public import Mathlib.Topology.Category.CompHaus.EffectiveEpi +public import Mathlib.Topology.Category.Profinite.Limits +public import Mathlib.Topology.Category.Stonean.Basic /-! # Effective epimorphisms in `Profinite` @@ -21,6 +23,8 @@ target, the conditions jointly surjective, jointly epimorphic and effective epim equivalent. -/ +@[expose] public section + universe u open CategoryTheory Limits diff --git a/Mathlib/Topology/Category/Profinite/Extend.lean b/Mathlib/Topology/Category/Profinite/Extend.lean index 7d82424f504569..c036a1fc7af088 100644 --- a/Mathlib/Topology/Category/Profinite/Extend.lean +++ b/Mathlib/Topology/Category/Profinite/Extend.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Profinite.AsLimit -import Mathlib.Topology.Category.Profinite.CofilteredLimit -import Mathlib.CategoryTheory.Filtered.Final +module + +public import Mathlib.Topology.Category.Profinite.AsLimit +public import Mathlib.Topology.Category.Profinite.CofilteredLimit +public import Mathlib.CategoryTheory.Filtered.Final /-! # Extending cones in `Profinite` @@ -23,6 +25,8 @@ analogues to their unprimed versions in `Mathlib/Topology/Category/Profinite/AsL the indexing category is `StructuredArrow S toProfinite` instead of `DiscreteQuotient S`. -/ +@[expose] public section + universe u w open CategoryTheory Limits FintypeCat Functor diff --git a/Mathlib/Topology/Category/Profinite/Limits.lean b/Mathlib/Topology/Category/Profinite/Limits.lean index 1d5addd904332b..bb7b258193f020 100644 --- a/Mathlib/Topology/Category/Profinite/Limits.lean +++ b/Mathlib/Topology/Category/Profinite/Limits.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.Category.CompHausLike.Limits +module + +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.Category.CompHausLike.Limits /-! # Explicit limits and colimits @@ -13,6 +15,8 @@ This file applies the general API for explicit limits and colimits in `CompHausL the file `Mathlib/Topology/Category/CompHausLike/Limits.lean`) to the special case of `Profinite`. -/ +@[expose] public section + namespace Profinite universe u w diff --git a/Mathlib/Topology/Category/Profinite/Nobeling.lean b/Mathlib/Topology/Category/Profinite/Nobeling.lean index 63fbe8bd7d011e..8b850787c98c85 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Profinite.Nobeling.Basic -import Mathlib.Topology.Category.Profinite.Nobeling.Induction -import Mathlib.Topology.Category.Profinite.Nobeling.Span -import Mathlib.Topology.Category.Profinite.Nobeling.Successor -import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit +module + +public import Mathlib.Topology.Category.Profinite.Nobeling.Basic +public import Mathlib.Topology.Category.Profinite.Nobeling.Induction +public import Mathlib.Topology.Category.Profinite.Nobeling.Span +public import Mathlib.Topology.Category.Profinite.Nobeling.Successor +public import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit deprecated_module (since := "2025-04-13") diff --git a/Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean b/Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean index e8b149e06ff035..475022635b0a18 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.LinearAlgebra.LinearIndependent.Defs -import Mathlib.SetTheory.Ordinal.Basic -import Mathlib.Topology.Category.Profinite.Product -import Mathlib.Topology.LocallyConstant.Algebra +module + +public import Mathlib.LinearAlgebra.LinearIndependent.Defs +public import Mathlib.SetTheory.Ordinal.Basic +public import Mathlib.Topology.Category.Profinite.Product +public import Mathlib.Topology.LocallyConstant.Algebra /-! # Preliminaries for Nöbeling's theorem @@ -41,6 +43,8 @@ independent. The fact that it spans is proved directly in - [scholze2019condensed], Theorem 5.4. -/ +@[expose] public section + open CategoryTheory ContinuousMap Limits Opposite Submodule universe u diff --git a/Mathlib/Topology/Category/Profinite/Nobeling/Induction.lean b/Mathlib/Topology/Category/Profinite/Nobeling/Induction.lean index 8ec0b5ab22a4db..8e9ae8adeb824e 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling/Induction.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling/Induction.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Category.ModuleCat.Free -import Mathlib.Topology.Category.Profinite.Nobeling.Span -import Mathlib.Topology.Category.Profinite.Nobeling.Successor -import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit +module + +public import Mathlib.Algebra.Category.ModuleCat.Free +public import Mathlib.Topology.Category.Profinite.Nobeling.Span +public import Mathlib.Topology.Category.Profinite.Nobeling.Successor +public import Mathlib.Topology.Category.Profinite.Nobeling.ZeroLimit /-! # Nöbeling's theorem @@ -24,6 +26,8 @@ This file proves Nöbeling's theorem. For the overall proof outline see - [scholze2019condensed], Theorem 5.4. -/ +@[expose] public section + open Module Topology universe u diff --git a/Mathlib/Topology/Category/Profinite/Nobeling/Span.lean b/Mathlib/Topology/Category/Profinite/Nobeling/Span.lean index cfe4ff9875b0d4..14374a0e5fd69f 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling/Span.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling/Span.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Data.Finset.Sort -import Mathlib.Tactic.NoncommRing -import Mathlib.Topology.Category.Profinite.CofilteredLimit -import Mathlib.Topology.Category.Profinite.Nobeling.Basic +module + +public import Mathlib.Data.Finset.Sort +public import Mathlib.Tactic.NoncommRing +public import Mathlib.Topology.Category.Profinite.CofilteredLimit +public import Mathlib.Topology.Category.Profinite.Nobeling.Basic /-! # The good products span @@ -28,6 +30,8 @@ For the overall proof outline see `Mathlib/Topology/Category/Profinite/Nobeling/ - [scholze2019condensed], Theorem 5.4. -/ +@[expose] public section + universe u namespace Profinite.NobelingProof diff --git a/Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean b/Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean index 42e73676488e07..f8136900ffd4a7 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Algebra.Homology.ShortComplex.ModuleCat -import Mathlib.Topology.Category.Profinite.Nobeling.Basic +module + +public import Mathlib.Algebra.Homology.ShortComplex.ModuleCat +public import Mathlib.Topology.Category.Profinite.Nobeling.Basic /-! # The successor case in the induction for Nöbeling's theorem @@ -75,6 +77,8 @@ The main results in the section `GoodProducts` are as follows: - [scholze2019condensed], Theorem 5.4. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean b/Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean index 470d857a693906..bf509b94e3266b 100644 --- a/Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean +++ b/Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.LinearAlgebra.LinearIndependent.Basic -import Mathlib.Topology.Category.Profinite.Nobeling.Basic +module + +public import Mathlib.LinearAlgebra.LinearIndependent.Basic +public import Mathlib.Topology.Category.Profinite.Nobeling.Basic /-! # The zero and limit cases in the induction for Nöbeling's theorem @@ -19,6 +21,8 @@ For the overall proof outline see `Mathlib/Topology/Category/Profinite/Nobeling/ - [scholze2019condensed], Theorem 5.4. -/ +@[expose] public section + universe u namespace Profinite.NobelingProof diff --git a/Mathlib/Topology/Category/Profinite/Product.lean b/Mathlib/Topology/Category/Profinite/Product.lean index f46ed3c1884318..c225babee6e096 100644 --- a/Mathlib/Topology/Category/Profinite/Product.lean +++ b/Mathlib/Topology/Category/Profinite/Product.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Profinite.Basic +module + +public import Mathlib.Topology.Category.Profinite.Basic /-! # Compact subsets of products as limits in `Profinite` @@ -27,6 +29,8 @@ Hausdorff spaces as a cofiltered limit in `Profinite` indexed by `Finset ι`. -/ +@[expose] public section + universe u namespace Profinite diff --git a/Mathlib/Topology/Category/Profinite/Projective.lean b/Mathlib/Topology/Category/Profinite/Projective.lean index 47953b208e8ee7..e828da2ec3fd10 100644 --- a/Mathlib/Topology/Category/Profinite/Projective.lean +++ b/Mathlib/Topology/Category/Profinite/Projective.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Topology.Category.Profinite.Basic -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.CategoryTheory.Preadditive.Projective.Basic -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +module + +public import Mathlib.Topology.Category.Profinite.Basic +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.CategoryTheory.Preadditive.Projective.Basic +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono /-! # Profinite sets have enough projectives @@ -23,6 +25,8 @@ Let `X` be a profinite set. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Category/Sequential.lean b/Mathlib/Topology/Category/Sequential.lean index 1dfb1295ccbd51..cf0acf65c59c21 100644 --- a/Mathlib/Topology/Category/Sequential.lean +++ b/Mathlib/Topology/Category/Sequential.lean @@ -3,10 +3,12 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Elementwise -import Mathlib.Topology.Sequences -import Mathlib.Topology.Instances.Discrete -import Mathlib.Topology.Category.TopCat.Basic +module + +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.Topology.Sequences +public import Mathlib.Topology.Instances.Discrete +public import Mathlib.Topology.Category.TopCat.Basic /-! # The category of sequential topological spaces @@ -16,6 +18,8 @@ for defining categories of topological spaces, by giving it the induced category `TopCat`. -/ +@[expose] public section + open CategoryTheory universe u diff --git a/Mathlib/Topology/Category/Stonean/Adjunctions.lean b/Mathlib/Topology/Category/Stonean/Adjunctions.lean index 45ef5b6025e980..bff1732b428f27 100644 --- a/Mathlib/Topology/Category/Stonean/Adjunctions.lean +++ b/Mathlib/Topology/Category/Stonean/Adjunctions.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Category.Stonean.Basic -import Mathlib.Topology.Category.TopCat.Adjunctions -import Mathlib.Topology.Compactification.StoneCech +module + +public import Mathlib.Topology.Category.Stonean.Basic +public import Mathlib.Topology.Category.TopCat.Adjunctions +public import Mathlib.Topology.Compactification.StoneCech /-! # Adjunctions involving the category of Stonean spaces @@ -15,6 +17,8 @@ to sets, using the Stone-Cech compactification. This allows to conclude that the `Stonean` are precisely the injective maps (see `Stonean.mono_iff_injective`). -/ +@[expose] public section + universe u open CategoryTheory Adjunction diff --git a/Mathlib/Topology/Category/Stonean/Basic.lean b/Mathlib/Topology/Category/Stonean/Basic.lean index b3b15e3abb446f..b57aa963cc2662 100644 --- a/Mathlib/Topology/Category/Stonean/Basic.lean +++ b/Mathlib/Topology/Category/Stonean/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson -/ -import Mathlib.Topology.ExtremallyDisconnected -import Mathlib.Topology.Category.CompHaus.Projective -import Mathlib.Topology.Category.Profinite.Basic +module + +public import Mathlib.Topology.ExtremallyDisconnected +public import Mathlib.Topology.Category.CompHaus.Projective +public import Mathlib.Topology.Category.Profinite.Basic /-! # Extremally disconnected sets @@ -37,6 +39,8 @@ The category `Stonean` is defined using the structure `CompHausLike`. See the fi `CompHausLike.Basic` for more information. -/ + +@[expose] public section universe u open CategoryTheory diff --git a/Mathlib/Topology/Category/Stonean/EffectiveEpi.lean b/Mathlib/Topology/Category/Stonean/EffectiveEpi.lean index 6416455309e5de..7976ca4d612226 100644 --- a/Mathlib/Topology/Category/Stonean/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/Stonean/EffectiveEpi.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Jon Eugster. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Boris Bolvig Kjær, Jon Eugster, Sina Hazratpour, Nima Rasekh -/ -import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular -import Mathlib.Topology.Category.CompHaus.EffectiveEpi -import Mathlib.Topology.Category.Stonean.Limits +module + +public import Mathlib.CategoryTheory.Sites.Coherent.ReflectsPreregular +public import Mathlib.Topology.Category.CompHaus.EffectiveEpi +public import Mathlib.Topology.Category.Stonean.Limits /-! # Effective epimorphisms in `Stonean` @@ -20,6 +22,8 @@ target, the conditions jointly surjective, jointly epimorphic and effective epim equivalent. -/ +@[expose] public section + universe u open CategoryTheory Limits CompHausLike diff --git a/Mathlib/Topology/Category/Stonean/Limits.lean b/Mathlib/Topology/Category/Stonean/Limits.lean index 7b99e98a797583..1197a8d14ea9a6 100644 --- a/Mathlib/Topology/Category/Stonean/Limits.lean +++ b/Mathlib/Topology/Category/Stonean/Limits.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Adam Topaz, Dagur Asgeirsson, Filippo A. E. Nuccio, Riccardo Brasca -/ -import Mathlib.Topology.Category.CompHausLike.Limits -import Mathlib.Topology.Category.Stonean.Basic +module + +public import Mathlib.Topology.Category.CompHausLike.Limits +public import Mathlib.Topology.Category.Stonean.Basic /-! # Explicit limits and colimits @@ -13,6 +15,8 @@ This file applies the general API for explicit limits and colimits in `CompHausL the file `Mathlib/Topology/Category/CompHausLike/Limits.lean`) to the special case of `Stonean`. -/ +@[expose] public section + universe w u open CategoryTheory Limits CompHausLike Topology diff --git a/Mathlib/Topology/Category/TopCat/Adjunctions.lean b/Mathlib/Topology/Category/TopCat/Adjunctions.lean index 1ca62757df9a9a..1076f58b39fb50 100644 --- a/Mathlib/Topology/Category/TopCat/Adjunctions.lean +++ b/Mathlib/Topology/Category/TopCat/Adjunctions.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Mario Carneiro -/ -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.CategoryTheory.Adjunction.Basic +module + +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.CategoryTheory.Adjunction.Basic /-! # Adjunctions regarding the category of topological spaces @@ -14,6 +16,8 @@ adjoint, given by `TopCat.discrete`, resp. `TopCat.trivial`, the functors which the discrete, resp. trivial, topology. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/TopCat/Basic.lean b/Mathlib/Topology/Category/TopCat/Basic.lean index ad8c2d3a5b772a..af83679cfb012e 100644 --- a/Mathlib/Topology/Category/TopCat/Basic.lean +++ b/Mathlib/Topology/Category/TopCat/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison, Mario Carneiro -/ -import Mathlib.CategoryTheory.Elementwise -import Mathlib.Topology.ContinuousMap.Basic +module + +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.Topology.ContinuousMap.Basic /-! # Category instance for topological spaces @@ -16,6 +18,8 @@ resp. right adjoint to the forgetful functor, see `Mathlib/Topology/Category/TopCat/Adjunctions.lean`. -/ +@[expose] public section + assert_not_exists Module open CategoryTheory TopologicalSpace Topology @@ -54,7 +58,7 @@ variable {X} in /-- The type of morphisms in `TopCat`. -/ @[ext] structure Hom (X Y : TopCat.{u}) where - private mk :: + --private mk :: /-- The underlying `ContinuousMap`. -/ hom' : C(X, Y) diff --git a/Mathlib/Topology/Category/TopCat/EffectiveEpi.lean b/Mathlib/Topology/Category/TopCat/EffectiveEpi.lean index 2fea808c362305..cd587dbfb46485 100644 --- a/Mathlib/Topology/Category/TopCat/EffectiveEpi.lean +++ b/Mathlib/Topology/Category/TopCat/EffectiveEpi.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.EffectiveEpi.RegularEpi -import Mathlib.Topology.Category.TopCat.Limits.Pullbacks +module + +public import Mathlib.CategoryTheory.EffectiveEpi.RegularEpi +public import Mathlib.Topology.Category.TopCat.Limits.Pullbacks /-! # Effective epimorphisms in `TopCat` @@ -14,6 +16,8 @@ The effective epimorphisms in `TopCat` are precisely the quotient maps. -/ +@[expose] public section + universe u open CategoryTheory Limits Topology diff --git a/Mathlib/Topology/Category/TopCat/EpiMono.lean b/Mathlib/Topology/Category/TopCat/EpiMono.lean index 2802b51ef84f50..9c0ffbdceecfe2 100644 --- a/Mathlib/Topology/Category/TopCat/EpiMono.lean +++ b/Mathlib/Topology/Category/TopCat/EpiMono.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton -/ -import Mathlib.Topology.Category.TopCat.Adjunctions -import Mathlib.CategoryTheory.Functor.EpiMono +module + +public import Mathlib.Topology.Category.TopCat.Adjunctions +public import Mathlib.CategoryTheory.Functor.EpiMono /-! # Epi- and monomorphisms in `Top` @@ -14,6 +16,8 @@ if and only if it is surjective, and that a continuous function is a monomorphis topological spaces if and only if it is injective. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/TopCat/Limits/Basic.lean b/Mathlib/Topology/Category/TopCat/Limits/Basic.lean index 19d0def23f938f..80b0ca69410e1b 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Basic.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Basic.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison, Mario Carneiro, Andrew Yang -/ -import Mathlib.Topology.Category.TopCat.Adjunctions -import Mathlib.CategoryTheory.Limits.Types.Limits -import Mathlib.CategoryTheory.Limits.Types.Colimits -import Mathlib.CategoryTheory.Limits.Shapes.Terminal -import Mathlib.CategoryTheory.Adjunction.Limits +module + +public import Mathlib.Topology.Category.TopCat.Adjunctions +public import Mathlib.CategoryTheory.Limits.Types.Limits +public import Mathlib.CategoryTheory.Limits.Types.Colimits +public import Mathlib.CategoryTheory.Limits.Shapes.Terminal +public import Mathlib.CategoryTheory.Adjunction.Limits /-! # The category of topological spaces has all limits and colimits @@ -16,6 +18,8 @@ Further, these limits and colimits are preserved by the forgetful functor --- th underlying types are just the limits in the category of types. -/ +@[expose] public section + open TopologicalSpace CategoryTheory CategoryTheory.Limits Opposite diff --git a/Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean b/Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean index dc1d3c85829540..7eb504a310fb71 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison, Mario Carneiro, Andrew Yang -/ -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.CategoryTheory.Filtered.Basic +module + +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.CategoryTheory.Filtered.Basic /-! # Cofiltered limits in the category of topological spaces @@ -14,6 +16,8 @@ which contain `Set.univ` and are closed under intersections, the induced *naive* of sets in the limit is, in fact, a topological basis. -/ +@[expose] public section + open TopologicalSpace Topology diff --git a/Mathlib/Topology/Category/TopCat/Limits/Konig.lean b/Mathlib/Topology/Category/TopCat/Limits/Konig.lean index b92116391dd17d..dd8ef2ec78e0f3 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Konig.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Konig.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.CategoryTheory.Filtered.Basic -import Mathlib.Topology.Category.TopCat.Limits.Basic +module + +public import Mathlib.CategoryTheory.Filtered.Basic +public import Mathlib.Topology.Category.TopCat.Limits.Basic /-! # Topological Kőnig's lemma @@ -29,6 +31,8 @@ discrete topology) in lemmas `nonempty_sections_of_finite_cofiltered_system` and (See for the Set version.) -/ +@[expose] public section + open CategoryTheory open CategoryTheory.Limits diff --git a/Mathlib/Topology/Category/TopCat/Limits/Products.lean b/Mathlib/Topology/Category/TopCat/Limits/Products.lean index 58b17c8109aae2..90a3c1935c464f 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Products.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Products.lean @@ -3,18 +3,22 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison, Mario Carneiro, Andrew Yang -/ -import Mathlib.Topology.Category.TopCat.EpiMono -import Mathlib.Topology.Category.TopCat.Limits.Basic -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic -import Mathlib.Data.Set.Subsingleton -import Mathlib.Tactic.CategoryTheory.Elementwise -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Topology.Category.TopCat.EpiMono +public import Mathlib.Topology.Category.TopCat.Limits.Basic +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.CategoryTheory.Limits.ConcreteCategory.Basic +public import Mathlib.Data.Set.Subsingleton +public import Mathlib.Tactic.CategoryTheory.Elementwise +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Products and coproducts in the category of topological spaces -/ +@[expose] public section + open CategoryTheory Limits Set TopologicalSpace Topology universe v u w diff --git a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean index af0d035bb7fef0..0b764cd19a8b8b 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison, Mario Carneiro, Andrew Yang -/ -import Mathlib.Topology.Category.TopCat.Limits.Products +module + +public import Mathlib.Topology.Category.TopCat.Limits.Products /-! # Pullbacks and pushouts in the category of topological spaces -/ +@[expose] public section + open TopologicalSpace Topology open CategoryTheory diff --git a/Mathlib/Topology/Category/TopCat/OpenNhds.lean b/Mathlib/Topology/Category/TopCat/OpenNhds.lean index 17e520cbd65e08..081c3b61672b1e 100644 --- a/Mathlib/Topology/Category/TopCat/OpenNhds.lean +++ b/Mathlib/Topology/Category/TopCat/OpenNhds.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Category.TopCat.Opens -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.Topology.Category.TopCat.Opens +public import Mathlib.Data.Set.Subsingleton /-! # The category of open neighborhoods of a point @@ -25,6 +27,8 @@ Besides `OpenNhds`, the main constructions here are: `OpenNhds (f x)`. -/ +@[expose] public section + open CategoryTheory TopologicalSpace Opposite Topology diff --git a/Mathlib/Topology/Category/TopCat/Opens.lean b/Mathlib/Topology/Category/TopCat/Opens.lean index 5f87dc8bccc933..76c0a71649215f 100644 --- a/Mathlib/Topology/Category/TopCat/Opens.lean +++ b/Mathlib/Topology/Category/TopCat/Opens.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.GaloisConnection -import Mathlib.CategoryTheory.EqToHom -import Mathlib.Topology.Category.TopCat.EpiMono -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.CategoryTheory.Category.GaloisConnection +public import Mathlib.CategoryTheory.EqToHom +public import Mathlib.Topology.Category.TopCat.EpiMono +public import Mathlib.Topology.Sets.Opens /-! # The category of open sets in a topological space. @@ -27,6 +29,8 @@ We don't attempt to set up the full theory here, but do provide the natural isom Beyond that, there's a collection of simp lemmas for working with these constructions. -/ +@[expose] public section + open CategoryTheory TopologicalSpace Opposite Topology diff --git a/Mathlib/Topology/Category/TopCat/Sphere.lean b/Mathlib/Topology/Category/TopCat/Sphere.lean index f34698a86ef54a..6d02c91c8bee2b 100644 --- a/Mathlib/Topology/Category/TopCat/Sphere.lean +++ b/Mathlib/Topology/Category/TopCat/Sphere.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Elliot Dean Young and Jiazhen Xia. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jiazhen Xia, Elliot Dean Young -/ +module -import Mathlib.Analysis.InnerProductSpace.PiL2 -import Mathlib.Topology.Category.TopCat.EpiMono +public import Mathlib.Analysis.InnerProductSpace.PiL2 +public import Mathlib.Topology.Category.TopCat.EpiMono /-! # Euclidean spheres @@ -15,6 +16,8 @@ This file defines the `n`-sphere `𝕊 n`, the `n`-disk `𝔻 n`, its boundary ` -/ +@[expose] public section + universe u namespace TopCat diff --git a/Mathlib/Topology/Category/TopCat/ULift.lean b/Mathlib/Topology/Category/TopCat/ULift.lean index 0cb6b97c72dbf4..585f3fd5d0201c 100644 --- a/Mathlib/Topology/Category/TopCat/ULift.lean +++ b/Mathlib/Topology/Category/TopCat/ULift.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Lifting topological spaces to a higher universe @@ -14,6 +16,8 @@ which sends a topological space `X : Type u` to a homeomorphic space in `Type (m -/ +@[expose] public section + universe v u open CategoryTheory diff --git a/Mathlib/Topology/Category/TopCat/Yoneda.lean b/Mathlib/Topology/Category/TopCat/Yoneda.lean index d0bf074ec8c58f..eb4101a051c5e1 100644 --- a/Mathlib/Topology/Category/TopCat/Yoneda.lean +++ b/Mathlib/Topology/Category/TopCat/Yoneda.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.CategoryTheory.Limits.Preserves.Finite -import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products -import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products -import Mathlib.CategoryTheory.Limits.Types.Shapes -import Mathlib.Topology.Category.TopCat.Limits.Products +module + +public import Mathlib.CategoryTheory.Limits.Preserves.Finite +public import Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products +public import Mathlib.CategoryTheory.Limits.Preserves.Shapes.Products +public import Mathlib.CategoryTheory.Limits.Types.Shapes +public import Mathlib.Topology.Category.TopCat.Limits.Products /-! @@ -17,6 +19,8 @@ This file develops some API for "topologically concrete" categories, defining un "Yoneda presheaves" on such categories. -/ +@[expose] public section + universe w w' v u open CategoryTheory Opposite Limits diff --git a/Mathlib/Topology/Category/TopCommRingCat.lean b/Mathlib/Topology/Category/TopCommRingCat.lean index cc60a6504cd23f..a1f67820d74579 100644 --- a/Mathlib/Topology/Category/TopCommRingCat.lean +++ b/Mathlib/Topology/Category/TopCommRingCat.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Algebra.Category.Ring.Basic -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.Algebra.Ring.Basic +module + +public import Mathlib.Algebra.Category.Ring.Basic +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.Algebra.Ring.Basic /-! # Category of topological commutative rings @@ -14,6 +16,8 @@ We introduce the category `TopCommRingCat` of topological commutative rings toge relevant forgetful functors to topological spaces and commutative rings. -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Category/UniformSpace.lean b/Mathlib/Topology/Category/UniformSpace.lean index 38ded74a06b462..cf6fc0f7e61b04 100644 --- a/Mathlib/Topology/Category/UniformSpace.lean +++ b/Mathlib/Topology/Category/UniformSpace.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Patrick Massot, Kim Morrison -/ -import Mathlib.CategoryTheory.Adjunction.Reflective -import Mathlib.CategoryTheory.Monad.Limits -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.UniformSpace.Completion +module + +public import Mathlib.CategoryTheory.Adjunction.Reflective +public import Mathlib.CategoryTheory.Monad.Limits +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.UniformSpace.Completion /-! # The category of uniform spaces @@ -17,6 +19,8 @@ form a reflective subcategory, and hence possess all limits that uniform spaces TODO: show that uniform spaces actually have all limits! -/ +@[expose] public section + universe u diff --git a/Mathlib/Topology/Clopen.lean b/Mathlib/Topology/Clopen.lean index 918f6259718105..c74c1ba1ed6833 100644 --- a/Mathlib/Topology/Clopen.lean +++ b/Mathlib/Topology/Clopen.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Data.Set.BoolIndicator -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Data.Set.BoolIndicator +public import Mathlib.Topology.ContinuousOn /-! # Clopen sets @@ -12,6 +14,8 @@ import Mathlib.Topology.ContinuousOn A clopen set is a set that is both closed and open. -/ +@[expose] public section + open Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/ClopenBox.lean b/Mathlib/Topology/ClopenBox.lean index ce95d5d0744643..665791d01c9c8b 100644 --- a/Mathlib/Topology/ClopenBox.lean +++ b/Mathlib/Topology/ClopenBox.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Compactness.Bases -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Separation.Profinite -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Topology.Compactness.Bases +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Separation.Profinite +public import Mathlib.Topology.Sets.Closeds /-! # Clopen subsets in Cartesian products @@ -30,6 +32,8 @@ Cartesian products of compact spaces (this is relevant to the theory of light pr -/ +@[expose] public section + open Function Set Filter TopologicalSpace open scoped Topology diff --git a/Mathlib/Topology/Closure.lean b/Mathlib/Topology/Closure.lean index f4308c8056046d..43c9bd1d9d3e9c 100644 --- a/Mathlib/Topology/Closure.lean +++ b/Mathlib/Topology/Closure.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Order.Filter.Lift -import Mathlib.Topology.Basic +module + +public import Mathlib.Order.Filter.Lift +public import Mathlib.Topology.Basic /-! # Interior, closure and frontier of a set @@ -24,6 +26,8 @@ endowed with a topology. interior, closure, frontier -/ +@[expose] public section + open Set universe u v diff --git a/Mathlib/Topology/ClusterPt.lean b/Mathlib/Topology/ClusterPt.lean index 06a60ce7ff8b0f..0e3a918939c5a8 100644 --- a/Mathlib/Topology/ClusterPt.lean +++ b/Mathlib/Topology/ClusterPt.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Topology.Neighborhoods +module + +public import Mathlib.Topology.Neighborhoods /-! # Lemmas on cluster and accumulation points @@ -16,6 +18,8 @@ clusters at `x` along `F : Filter α` if `MapClusterPt x F f : ClusterPt x (map In particular the notion of cluster point of a sequence `u` is `MapClusterPt x atTop u`. -/ +@[expose] public section + open Set Filter Topology universe u v w diff --git a/Mathlib/Topology/Coherent.lean b/Mathlib/Topology/Coherent.lean index 89a298a17419be..2da54c1526beae 100644 --- a/Mathlib/Topology/Coherent.lean +++ b/Mathlib/Topology/Coherent.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Defs.Sequences -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Topology.Defs.Sequences +public import Mathlib.Topology.ContinuousOn /-! # Topology generated by its restrictions to subsets @@ -30,6 +32,8 @@ and provide the others as corollaries. then we have `IsCoherentWith S`; -/ +@[expose] public section + open Filter Set variable {X : Type*} [TopologicalSpace X] {S : Set (Set X)} {t : Set X} {x : X} diff --git a/Mathlib/Topology/CompactOpen.lean b/Mathlib/Topology/CompactOpen.lean index 5832372bd20e25..9840658c4a96d3 100644 --- a/Mathlib/Topology/CompactOpen.lean +++ b/Mathlib/Topology/CompactOpen.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton -/ -import Mathlib.Topology.Hom.ContinuousEval -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Topology.Hom.ContinuousEval +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.Separation.Regular /-! # The compact-open topology @@ -32,6 +34,8 @@ topological spaces. compact-open, curry, function space -/ +@[expose] public section + open Set Filter TopologicalSpace Topology diff --git a/Mathlib/Topology/Compactification/OnePoint.lean b/Mathlib/Topology/Compactification/OnePoint.lean index ea98713fac27c7..3ca7cdf8242273 100644 --- a/Mathlib/Topology/Compactification/OnePoint.lean +++ b/Mathlib/Topology/Compactification/OnePoint.lean @@ -3,6 +3,8 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang, Yury Kudryashov -/ -import Mathlib.Topology.Compactification.OnePoint.Basic +module + +public import Mathlib.Topology.Compactification.OnePoint.Basic deprecated_module (since := "2025-06-04") diff --git a/Mathlib/Topology/Compactification/OnePoint/Basic.lean b/Mathlib/Topology/Compactification/OnePoint/Basic.lean index f96abc0fb449a3..7aa266d9301a2f 100644 --- a/Mathlib/Topology/Compactification/OnePoint/Basic.lean +++ b/Mathlib/Topology/Compactification/OnePoint/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yourong Zang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yourong Zang, Yury Kudryashov -/ -import Mathlib.Data.Fintype.Option -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.Data.Fintype.Option +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Sets.Opens /-! # The OnePoint Compactification @@ -33,6 +35,8 @@ topological space `X` and prove some properties inherited from `X`. one-point compactification, Alexandroff compactification, compactness -/ +@[expose] public section + open Set Filter Topology diff --git a/Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean b/Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean index 1fa28d520ff336..a1ec7830c8733a 100644 --- a/Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean +++ b/Mathlib/Topology/Compactification/OnePoint/ProjectiveLine.lean @@ -3,11 +3,13 @@ Copyright (c) 2024 Bjørn Kjos-Hanssen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bjørn Kjos-Hanssen, Oliver Nash -/ -import Mathlib.Algebra.QuadraticDiscriminant -import Mathlib.Data.Matrix.Action -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo -import Mathlib.LinearAlgebra.Projectivization.Action -import Mathlib.Topology.Compactification.OnePoint.Basic +module + +public import Mathlib.Algebra.QuadraticDiscriminant +public import Mathlib.Data.Matrix.Action +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo +public import Mathlib.LinearAlgebra.Projectivization.Action +public import Mathlib.Topology.Compactification.OnePoint.Basic /-! # One-point compactification and projectivization @@ -28,6 +30,8 @@ where `OnePoint ℝ` gets the topology of one-point compactification. one-point extension, projectivization -/ +@[expose] public section + open scoped LinearAlgebra.Projectivization open Projectivization Matrix Polynomial OnePoint diff --git a/Mathlib/Topology/Compactification/OnePoint/Sphere.lean b/Mathlib/Topology/Compactification/OnePoint/Sphere.lean index 2f38850d425460..cfffca15a67df6 100644 --- a/Mathlib/Topology/Compactification/OnePoint/Sphere.lean +++ b/Mathlib/Topology/Compactification/OnePoint/Sphere.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Bjørn Kjos-Hanssen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bjørn Kjos-Hanssen, Oliver Nash -/ -import Mathlib.Topology.Compactification.OnePoint.Basic -import Mathlib.Geometry.Manifold.Instances.Sphere +module + +public import Mathlib.Topology.Compactification.OnePoint.Basic +public import Mathlib.Geometry.Manifold.Instances.Sphere /-! @@ -12,6 +14,8 @@ import Mathlib.Geometry.Manifold.Instances.Sphere -/ +@[expose] public section + open Function Metric Module Set Submodule noncomputable section diff --git a/Mathlib/Topology/Compactification/OnePointEquiv.lean b/Mathlib/Topology/Compactification/OnePointEquiv.lean index 4142f8a0a497af..9387d6f58a53dc 100644 --- a/Mathlib/Topology/Compactification/OnePointEquiv.lean +++ b/Mathlib/Topology/Compactification/OnePointEquiv.lean @@ -3,6 +3,8 @@ Copyright (c) 2024 Bjørn Kjos-Hanssen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bjørn Kjos-Hanssen, Oliver Nash -/ -import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine +module + +public import Mathlib.Topology.Compactification.OnePoint.ProjectiveLine deprecated_module (since := "2025-06-04") diff --git a/Mathlib/Topology/Compactification/StoneCech.lean b/Mathlib/Topology/Compactification/StoneCech.lean index 91a8ff313afd15..8eeffea7d5b98a 100644 --- a/Mathlib/Topology/Compactification/StoneCech.lean +++ b/Mathlib/Topology/Compactification/StoneCech.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton -/ -import Mathlib.Topology.Bases -import Mathlib.Topology.DenseEmbedding -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Topology.Bases +public import Mathlib.Topology.DenseEmbedding +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Stone-Čech compactification @@ -33,6 +35,8 @@ The first step called `PreStoneCech` guarantees the expected universal property not the Hausdorff condition. We then define `StoneCech α` as `T2Quotient (PreStoneCech α)`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Compactness/Bases.lean b/Mathlib/Topology/Compactness/Bases.lean index 4fa5cd1bf34ed0..e8eb359795cb70 100644 --- a/Mathlib/Topology/Compactness/Bases.lean +++ b/Mathlib/Topology/Compactness/Bases.lean @@ -3,13 +3,17 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Dagur Asgeirsson -/ -import Mathlib.Topology.Bases -import Mathlib.Topology.Compactness.Compact +module + +public import Mathlib.Topology.Bases +public import Mathlib.Topology.Compactness.Compact /-! # Topological bases in compact sets and compact spaces -/ +@[expose] public section + open Set TopologicalSpace variable {X ι : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/Compactness/Compact.lean b/Mathlib/Topology/Compactness/Compact.lean index 8a9d9a578ea13f..0e6fc8b0dd637f 100644 --- a/Mathlib/Topology/Compactness/Compact.lean +++ b/Mathlib/Topology/Compactness/Compact.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Order.Filter.Tendsto -import Mathlib.Data.Set.Accumulate -import Mathlib.Topology.Bornology.Basic -import Mathlib.Topology.ContinuousOn -import Mathlib.Topology.Ultrafilter -import Mathlib.Topology.Defs.Ultrafilter +module + +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Data.Set.Accumulate +public import Mathlib.Topology.Bornology.Basic +public import Mathlib.Topology.ContinuousOn +public import Mathlib.Topology.Ultrafilter +public import Mathlib.Topology.Defs.Ultrafilter /-! # Compact sets and compact spaces @@ -23,6 +25,8 @@ import Mathlib.Topology.Defs.Ultrafilter with all elements taken from `S`, there is a finite subcover. -/ +@[expose] public section + open Set Filter Topology TopologicalSpace Function universe u v diff --git a/Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean b/Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean index 7d0f2af32502f7..3d7601bcca46e0 100644 --- a/Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean +++ b/Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean @@ -3,9 +3,10 @@ Copyright (c) 2025 Floris van Doorn and Hannah Scholz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Hannah Scholz -/ +module -import Mathlib.Topology.Coherent -import Mathlib.Topology.Compactness.Compact +public import Mathlib.Topology.Coherent +public import Mathlib.Topology.Compactness.Compact /-! # Compactly coherent spaces and the k-ification @@ -28,6 +29,8 @@ are both referred to as compactly generated spaces in the literature. * -/ +@[expose] public section + noncomputable section open Set Set.Notation Topology diff --git a/Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean b/Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean index 257a1c29849471..c1e27efb57d3ad 100644 --- a/Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean +++ b/Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson, Etienne Marion -/ -import Mathlib.Topology.Category.CompHaus.Basic -import Mathlib.Topology.Compactification.OnePoint.Basic +module + +public import Mathlib.Topology.Category.CompHaus.Basic +public import Mathlib.Topology.Compactification.OnePoint.Basic /-! # Compactly generated topological spaces @@ -41,6 +43,8 @@ as well as a Hausdorff `WeaklyLocallyCompactSpace`. compactly generated space -/ +@[expose] public section + universe u v w x open TopologicalSpace Filter Topology Set diff --git a/Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean b/Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean index 853de9a6f14383..51123928a8063d 100644 --- a/Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean +++ b/Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Ben Eltschig. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ben Eltschig -/ -import Mathlib.Analysis.LocallyConvex.WithSeminorms +module + +public import Mathlib.Analysis.LocallyConvex.WithSeminorms /-! # Delta-generated topological spaces @@ -24,6 +26,8 @@ Adapted from `Mathlib/Topology/Compactness/CompactlyGeneratedSpace.lean`. * Delta-generated spaces are equivalently generated by the unit interval I. -/ +@[expose] public section + variable {X Y : Type*} [tX : TopologicalSpace X] [tY : TopologicalSpace Y] open TopologicalSpace Topology diff --git a/Mathlib/Topology/Compactness/Exterior.lean b/Mathlib/Topology/Compactness/Exterior.lean index a05634552a1d44..192c3a0082310d 100644 --- a/Mathlib/Topology/Compactness/Exterior.lean +++ b/Mathlib/Topology/Compactness/Exterior.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.Compactness.NhdsKer +module + +public import Mathlib.Topology.Compactness.NhdsKer deprecated_module (since := "2025-07-09") diff --git a/Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean b/Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean index 67c21577796efb..da937d4a2e2966 100644 --- a/Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean +++ b/Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Topology.UnitInterval +module + +public import Mathlib.Topology.UnitInterval /-! # Every compact metric space can be embedded into the Hilbert cube. @@ -12,6 +14,8 @@ In this file we prove `exists_closed_embedding_to_hilbert`: every compact metric embedded into the Hilbert cube (`ℕ → unitInterval`). -/ +@[expose] public section + /-- Every compact metric space can be embedded into the Hilbert cube. -/ theorem exists_closed_embedding_to_hilbert_cube (X : Type*) [MetricSpace X] [CompactSpace X] : ∃ f : X → (ℕ → unitInterval), Topology.IsClosedEmbedding f := by diff --git a/Mathlib/Topology/Compactness/Lindelof.lean b/Mathlib/Topology/Compactness/Lindelof.lean index 86f4a06c49d711..2f2223093b0d5f 100644 --- a/Mathlib/Topology/Compactness/Lindelof.lean +++ b/Mathlib/Topology/Compactness/Lindelof.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ -import Mathlib.Topology.Bases -import Mathlib.Order.Filter.CountableInter -import Mathlib.Topology.Compactness.SigmaCompact +module + +public import Mathlib.Topology.Bases +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.Topology.Compactness.SigmaCompact /-! # Lindelöf sets and Lindelöf spaces @@ -31,6 +33,8 @@ We define the following properties for sets in a topological space: * This API is mainly based on the API for IsCompact and follows notation and style as much as possible. -/ + +@[expose] public section open Set Filter Topology TopologicalSpace diff --git a/Mathlib/Topology/Compactness/LocallyCompact.lean b/Mathlib/Topology/Compactness/LocallyCompact.lean index e8f896ef22809f..aaf8267429695e 100644 --- a/Mathlib/Topology/Compactness/LocallyCompact.lean +++ b/Mathlib/Topology/Compactness/LocallyCompact.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.Compactness.Compact +module + +public import Mathlib.Topology.Compactness.Compact /-! # Locally compact spaces This file contains basic results about locally compact spaces. -/ +@[expose] public section + open Set Filter Topology TopologicalSpace variable {X : Type*} {Y : Type*} {ι : Type*} diff --git a/Mathlib/Topology/Compactness/LocallyFinite.lean b/Mathlib/Topology/Compactness/LocallyFinite.lean index 51f8d39e22c2b5..3c7314c71fb460 100644 --- a/Mathlib/Topology/Compactness/LocallyFinite.lean +++ b/Mathlib/Topology/Compactness/LocallyFinite.lean @@ -3,14 +3,17 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ +module -import Mathlib.Topology.LocallyFinite -import Mathlib.Topology.Compactness.Compact +public import Mathlib.Topology.LocallyFinite +public import Mathlib.Topology.Compactness.Compact /-! # Compact sets and compact spaces and locally finite functions -/ +@[expose] public section + open Set variable {X ι : Type*} [TopologicalSpace X] {s : Set X} diff --git a/Mathlib/Topology/Compactness/NhdsKer.lean b/Mathlib/Topology/Compactness/NhdsKer.lean index 24962100becfdb..15587aeb69a85b 100644 --- a/Mathlib/Topology/Compactness/NhdsKer.lean +++ b/Mathlib/Topology/Compactness/NhdsKer.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Tactic.Peel -import Mathlib.Topology.Compactness.Compact -import Mathlib.Topology.NhdsKer +module + +public import Mathlib.Tactic.Peel +public import Mathlib.Topology.Compactness.Compact +public import Mathlib.Topology.NhdsKer /-! # Compactness of the neighborhoods kernel of a set @@ -15,6 +17,8 @@ In this file we prove that the neighborhoods kernel of a set is a compact set if and only if the original set is a compact set. -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] {s : Set X} theorem IsCompact.nhdsKer_iff : IsCompact (nhdsKer s) ↔ IsCompact s := by diff --git a/Mathlib/Topology/Compactness/Paracompact.lean b/Mathlib/Topology/Compactness/Paracompact.lean index faadf99ce969b3..671deb939e8758 100644 --- a/Mathlib/Topology/Compactness/Paracompact.lean +++ b/Mathlib/Topology/Compactness/Paracompact.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Reid Barton, Yury Kudryashov -/ -import Mathlib.Data.Option.Basic -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Data.Option.Basic +public import Mathlib.Topology.Separation.Regular /-! # Paracompact topological spaces @@ -44,6 +46,8 @@ Prove (some of) [Michael's theorems](https://ncatlab.org/nlab/show/Michael%27s+t compact space, paracompact space, locally finite covering -/ +@[expose] public section + open Set Filter Function diff --git a/Mathlib/Topology/Compactness/PseudometrizableLindelof.lean b/Mathlib/Topology/Compactness/PseudometrizableLindelof.lean index 303442447cbc5c..b71a9d89847441 100644 --- a/Mathlib/Topology/Compactness/PseudometrizableLindelof.lean +++ b/Mathlib/Topology/Compactness/PseudometrizableLindelof.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Josha Dekker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Josha Dekker -/ +module -import Mathlib.Topology.Metrizable.Basic -import Mathlib.Topology.Compactness.Lindelof +public import Mathlib.Topology.Metrizable.Basic +public import Mathlib.Topology.Compactness.Lindelof /-! # Second-countability of pseudometrizable Lindelöf spaces @@ -14,6 +15,8 @@ Factored out from `Mathlib/Topology/Compactness/Lindelof.lean` to avoid circular dependencies. -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] open Set Filter Topology TopologicalSpace diff --git a/Mathlib/Topology/Compactness/SigmaCompact.lean b/Mathlib/Topology/Compactness/SigmaCompact.lean index 18366b63f628c5..e31ad06b478052 100644 --- a/Mathlib/Topology/Compactness/SigmaCompact.lean +++ b/Mathlib/Topology/Compactness/SigmaCompact.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.Bases -import Mathlib.Topology.Compactness.LocallyCompact -import Mathlib.Topology.Compactness.LocallyFinite +module + +public import Mathlib.Topology.Bases +public import Mathlib.Topology.Compactness.LocallyCompact +public import Mathlib.Topology.Compactness.LocallyFinite /-! # Sigma-compactness in topological spaces @@ -17,6 +19,8 @@ import Mathlib.Topology.Compactness.LocallyFinite -/ +@[expose] public section + open Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/Connected/Basic.lean b/Mathlib/Topology/Connected/Basic.lean index 738d9f51f00020..15ebe252b0e72e 100644 --- a/Mathlib/Topology/Connected/Basic.lean +++ b/Mathlib/Topology/Connected/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Data.Set.SymmDiff -import Mathlib.Order.SuccPred.Relation -import Mathlib.Topology.Irreducible +module + +public import Mathlib.Data.Set.SymmDiff +public import Mathlib.Order.SuccPred.Relation +public import Mathlib.Topology.Irreducible /-! # Connected subsets of topological spaces @@ -34,6 +36,8 @@ and in particular https://ncatlab.org/nlab/show/too+simple+to+be+simple#relationship_to_biased_definitions. -/ +@[expose] public section + open Set Function Topology TopologicalSpace Relation universe u v diff --git a/Mathlib/Topology/Connected/Clopen.lean b/Mathlib/Topology/Connected/Clopen.lean index b69b17041998e5..75719e0abec1bc 100644 --- a/Mathlib/Topology/Connected/Clopen.lean +++ b/Mathlib/Topology/Connected/Clopen.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Data.Set.Subset -import Mathlib.Topology.Clopen -import Mathlib.Topology.Compactness.Compact -import Mathlib.Topology.Connected.Basic +module + +public import Mathlib.Data.Set.Subset +public import Mathlib.Topology.Clopen +public import Mathlib.Topology.Compactness.Compact +public import Mathlib.Topology.Connected.Basic /-! # Connected subsets and their relation to clopen sets @@ -22,6 +24,8 @@ to clopen sets. -/ +@[expose] public section + open Set Function Topology TopologicalSpace Relation universe u v diff --git a/Mathlib/Topology/Connected/LocPathConnected.lean b/Mathlib/Topology/Connected/LocPathConnected.lean index 626da85da5f487..e98c904afd9b41 100644 --- a/Mathlib/Topology/Connected/LocPathConnected.lean +++ b/Mathlib/Topology/Connected/LocPathConnected.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Ben Eltschig -/ -import Mathlib.Topology.Connected.PathConnected -import Mathlib.Topology.AlexandrovDiscrete +module + +public import Mathlib.Topology.Connected.PathConnected +public import Mathlib.Topology.AlexandrovDiscrete /-! # Locally path-connected spaces @@ -38,6 +40,8 @@ path-connected, but not necessarily open; that they can also be required to be o a theorem in `isOpen_isPathConnected_basis`. -/ +@[expose] public section + noncomputable section open Topology Filter unitInterval Set Function diff --git a/Mathlib/Topology/Connected/LocallyConnected.lean b/Mathlib/Topology/Connected/LocallyConnected.lean index b612eddc0db297..1a8208830e098a 100644 --- a/Mathlib/Topology/Connected/LocallyConnected.lean +++ b/Mathlib/Topology/Connected/LocallyConnected.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Connected.Basic -import Mathlib.Topology.Connected.Clopen +module + +public import Mathlib.Topology.Connected.Basic +public import Mathlib.Topology.Connected.Clopen /-! # Locally connected topological spaces @@ -15,6 +17,8 @@ of connected (not necessarily open) sets --- but in a non-trivial way, so we cho and prove the equivalence later in `locallyConnectedSpace_iff_connected_basis`. -/ +@[expose] public section + open Set Topology universe u v diff --git a/Mathlib/Topology/Connected/PathComponentOne.lean b/Mathlib/Topology/Connected/PathComponentOne.lean index cdb11611a9c2d8..c992c88d39b2aa 100644 --- a/Mathlib/Topology/Connected/PathComponentOne.lean +++ b/Mathlib/Topology/Connected/PathComponentOne.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.Algebra.OpenSubgroup -import Mathlib.Topology.Connected.LocPathConnected +module + +public import Mathlib.Topology.Algebra.OpenSubgroup +public import Mathlib.Topology.Connected.LocPathConnected /-! # The path component of the identity in a locally path connected topological group @@ -13,6 +15,8 @@ topological group is locally path connected. We place this in a separate file to additional algebra into the topology hierarchy. -/ +@[expose] public section + section PathComponentOne variable (G : Type*) [TopologicalSpace G] diff --git a/Mathlib/Topology/Connected/PathConnected.lean b/Mathlib/Topology/Connected/PathConnected.lean index 0b3122d4784294..c6b5c8e03c8ac5 100644 --- a/Mathlib/Topology/Connected/PathConnected.lean +++ b/Mathlib/Topology/Connected/PathConnected.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Path +module + +public import Mathlib.Topology.Path /-! # Path connectedness @@ -45,6 +47,8 @@ path-connected, and that every path-connected set/space is also connected. (See path-connected.) -/ +@[expose] public section + noncomputable section open Topology Filter unitInterval Set Function Pointwise Fin diff --git a/Mathlib/Topology/Connected/Separation.lean b/Mathlib/Topology/Connected/Separation.lean index 0d727180d99a3f..532a05b2f02937 100644 --- a/Mathlib/Topology/Connected/Separation.lean +++ b/Mathlib/Topology/Connected/Separation.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Separation and (dis)connectedness properties of topological spaces. @@ -15,6 +17,8 @@ This file provides an instance `T2Space X` given `TotallySeparatedSpace X`. * Move the last part of `Topology/Separation` to this file. -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/Connected/TotallyDisconnected.lean b/Mathlib/Topology/Connected/TotallyDisconnected.lean index c2d4d9e01f8c47..b533909e362c92 100644 --- a/Mathlib/Topology/Connected/TotallyDisconnected.lean +++ b/Mathlib/Topology/Connected/TotallyDisconnected.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Kenny Lau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kenny Lau, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Connected.Clopen +module + +public import Mathlib.Topology.Connected.Clopen /-! # Totally disconnected and totally separated topological spaces @@ -18,6 +20,8 @@ For both of these definitions, we also have a class stating that the whole space satisfies that property: `TotallyDisconnectedSpace`, `TotallySeparatedSpace`. -/ +@[expose] public section + open Function Set Topology universe u v diff --git a/Mathlib/Topology/Constructible.lean b/Mathlib/Topology/Constructible.lean index 8be75f12592911..4d9c6c0f914aea 100644 --- a/Mathlib/Topology/Constructible.lean +++ b/Mathlib/Topology/Constructible.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.BooleanSubalgebra -import Mathlib.Topology.Compactness.Bases -import Mathlib.Topology.LocalAtTarget -import Mathlib.Topology.QuasiSeparated -import Mathlib.Topology.Spectral.Hom -import Mathlib.Topology.Spectral.Prespectral +module + +public import Mathlib.Order.BooleanSubalgebra +public import Mathlib.Topology.Compactness.Bases +public import Mathlib.Topology.LocalAtTarget +public import Mathlib.Topology.QuasiSeparated +public import Mathlib.Topology.Spectral.Hom +public import Mathlib.Topology.Spectral.Prespectral /-! # Constructible sets @@ -35,6 +37,8 @@ morphism of schemes is a constructible set (and this is *not* true at the level respective open subspace. -/ +@[expose] public section + open Set TopologicalSpace Topology open scoped Set.Notation diff --git a/Mathlib/Topology/Constructions.lean b/Mathlib/Topology/Constructions.lean index db6e1ca52a56d9..490670acf8092c 100644 --- a/Mathlib/Topology/Constructions.lean +++ b/Mathlib/Topology/Constructions.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Algebra.Group.TypeTags.Basic -import Mathlib.Data.Fin.VecNotation -import Mathlib.Data.Finset.Piecewise -import Mathlib.Order.Filter.Cofinite -import Mathlib.Order.Filter.Curry -import Mathlib.Topology.Constructions.SumProd -import Mathlib.Topology.NhdsSet +module + +public import Mathlib.Algebra.Group.TypeTags.Basic +public import Mathlib.Data.Fin.VecNotation +public import Mathlib.Data.Finset.Piecewise +public import Mathlib.Order.Filter.Cofinite +public import Mathlib.Order.Filter.Curry +public import Mathlib.Topology.Constructions.SumProd +public import Mathlib.Topology.NhdsSet /-! # Constructions of new topological spaces from old ones @@ -35,6 +37,8 @@ product, subspace, quotient space -/ +@[expose] public section + noncomputable section open Topology TopologicalSpace Set Filter Function diff --git a/Mathlib/Topology/Constructions/SumProd.lean b/Mathlib/Topology/Constructions/SumProd.lean index b12466bf3bb85d..9fc07db7a287c0 100644 --- a/Mathlib/Topology/Constructions/SumProd.lean +++ b/Mathlib/Topology/Constructions/SumProd.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Maps.Basic -import Mathlib.Topology.Separation.SeparatedNhds +module + +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Maps.Basic +public import Mathlib.Topology.Separation.SeparatedNhds /-! # Disjoint unions and products of topological spaces @@ -34,6 +36,8 @@ product, sum, disjoint union -/ +@[expose] public section + noncomputable section open Topology TopologicalSpace Set Filter Function diff --git a/Mathlib/Topology/Continuous.lean b/Mathlib/Topology/Continuous.lean index 0d63f7776a2bb6..6309de7b8ae2b7 100644 --- a/Mathlib/Topology/Continuous.lean +++ b/Mathlib/Topology/Continuous.lean @@ -3,7 +3,9 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Topology.ClusterPt +module + +public import Mathlib.Topology.ClusterPt /-! # Continuity in topological spaces @@ -18,6 +20,8 @@ partially defined functions. continuity, continuous function -/ +@[expose] public section + open Set Filter Topology variable {X Y Z : Type*} diff --git a/Mathlib/Topology/ContinuousMap/Algebra.lean b/Mathlib/Topology/ContinuousMap/Algebra.lean index dfbf92035093e9..f5752879b9a7ed 100644 --- a/Mathlib/Topology/ContinuousMap/Algebra.lean +++ b/Mathlib/Topology/ContinuousMap/Algebra.lean @@ -3,13 +3,15 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Nicolò Cavalleri -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Algebra.Subalgebra.Basic -import Mathlib.Tactic.FieldSimp -import Mathlib.Topology.Algebra.InfiniteSum.Basic -import Mathlib.Topology.Algebra.Module.LinearMap -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.UniformSpace.CompactConvergence +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Algebra.Subalgebra.Basic +public import Mathlib.Tactic.FieldSimp +public import Mathlib.Topology.Algebra.InfiniteSum.Basic +public import Mathlib.Topology.Algebra.Module.LinearMap +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.UniformSpace.CompactConvergence /-! # Algebraic structures over continuous functions @@ -27,6 +29,8 @@ Note that, rather than using the derived algebraic structures on these subobject one should use `C(α, β)` with the appropriate instance of the structure. -/ +@[expose] public section + assert_not_exists StoneCech --attribute [elab_without_expected_type] Continuous.comp diff --git a/Mathlib/Topology/ContinuousMap/Basic.lean b/Mathlib/Topology/ContinuousMap/Basic.lean index aeeffcc560d2f4..f63a42084945cf 100644 --- a/Mathlib/Topology/ContinuousMap/Basic.lean +++ b/Mathlib/Topology/ContinuousMap/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri -/ -import Mathlib.Data.Set.UnionLift -import Mathlib.Topology.ContinuousMap.Defs -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Data.Set.UnionLift +public import Mathlib.Topology.ContinuousMap.Defs +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Separation.Hausdorff /-! # Continuous bundled maps @@ -17,6 +19,8 @@ We use the `DFunLike` design, so each type of morphisms has a companion typeclas be satisfied by itself and all stricter types. -/ +@[expose] public section + open Function Topology diff --git a/Mathlib/Topology/ContinuousMap/Bounded/ArzelaAscoli.lean b/Mathlib/Topology/ContinuousMap/Bounded/ArzelaAscoli.lean index 7be9ab4085db78..c03eedbb5c40dd 100644 --- a/Mathlib/Topology/ContinuousMap/Bounded/ArzelaAscoli.lean +++ b/Mathlib/Topology/ContinuousMap/Bounded/ArzelaAscoli.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Topology.ContinuousMap.Bounded.Basic -import Mathlib.Topology.MetricSpace.Equicontinuity +module + +public import Mathlib.Topology.ContinuousMap.Bounded.Basic +public import Mathlib.Topology.MetricSpace.Equicontinuity /-! # The Arzelà–Ascoli theorem for bounded continuous functions @@ -14,6 +16,8 @@ continuity and taking values in a compact set forms a compact subset for the top uniform convergence. This file proves the theorem and several useful variations around it. -/ +@[expose] public section + open Set Metric universe u v diff --git a/Mathlib/Topology/ContinuousMap/Bounded/Basic.lean b/Mathlib/Topology/ContinuousMap/Bounded/Basic.lean index f881fe03a26828..3c7ccbd15d9e75 100644 --- a/Mathlib/Topology/ContinuousMap/Bounded/Basic.lean +++ b/Mathlib/Topology/ContinuousMap/Bounded/Basic.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Topology.Algebra.Indicator -import Mathlib.Topology.Bornology.BoundedOperation -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Topology.Algebra.Indicator +public import Mathlib.Topology.Bornology.BoundedOperation +public import Mathlib.Topology.ContinuousMap.Algebra /-! # Bounded continuous functions @@ -13,6 +15,8 @@ import Mathlib.Topology.ContinuousMap.Algebra The type of bounded continuous functions taking values in a metric space, with the uniform distance. -/ +@[expose] public section + assert_not_exists CStarRing noncomputable section diff --git a/Mathlib/Topology/ContinuousMap/Bounded/Normed.lean b/Mathlib/Topology/ContinuousMap/Bounded/Normed.lean index 0992f007855e60..f31f740f5a49f2 100644 --- a/Mathlib/Topology/ContinuousMap/Bounded/Normed.lean +++ b/Mathlib/Topology/ContinuousMap/Bounded/Normed.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Algebra.Module.MinimalAxioms -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.Analysis.Normed.Operator.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Basic +module + +public import Mathlib.Algebra.Module.MinimalAxioms +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.Analysis.Normed.Operator.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Basic /-! # Inheritance of normed algebraic structures by bounded continuous functions @@ -16,6 +18,8 @@ bounded continuous functions from `α` to `β` inherits the same normed structur pointwise operations and checking that they are compatible with the uniform distance. -/ +@[expose] public section + assert_not_exists CStarRing noncomputable section diff --git a/Mathlib/Topology/ContinuousMap/Bounded/Star.lean b/Mathlib/Topology/ContinuousMap/Bounded/Star.lean index 8de21168a1eef1..1e1edba6156436 100644 --- a/Mathlib/Topology/ContinuousMap/Bounded/Star.lean +++ b/Mathlib/Topology/ContinuousMap/Bounded/Star.lean @@ -3,15 +3,19 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Mario Carneiro, Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Analysis.CStarAlgebra.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.ContinuousMap.Star +module + +public import Mathlib.Analysis.CStarAlgebra.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.ContinuousMap.Star /-! # Star structures on bounded continuous functions -/ +@[expose] public section + noncomputable section open Topology Bornology NNReal uniformity UniformConvergence RCLike BoundedContinuousFunction diff --git a/Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean b/Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean index 5e99e972d0f197..a86b5597417290 100644 --- a/Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean +++ b/Mathlib/Topology/ContinuousMap/BoundedCompactlySupported.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Topology.ContinuousMap.Bounded.Normed +module + +public import Mathlib.Topology.ContinuousMap.Bounded.Normed /-! # Compactly supported bounded continuous functions @@ -12,6 +14,8 @@ The two-sided ideal of compactly supported bounded continuous functions taking v space, with the uniform distance. -/ +@[expose] public section + open Set BoundedContinuousFunction section CompactlySupported diff --git a/Mathlib/Topology/ContinuousMap/CocompactMap.lean b/Mathlib/Topology/ContinuousMap/CocompactMap.lean index 0bcb40fc7366b0..469d6772349627 100644 --- a/Mathlib/Topology/ContinuousMap/CocompactMap.lean +++ b/Mathlib/Topology/ContinuousMap/CocompactMap.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.ContinuousMap.Basic +module + +public import Mathlib.Topology.ContinuousMap.Basic /-! # Cocompact continuous maps @@ -12,6 +14,8 @@ The type of *cocompact continuous maps* are those which tend to the cocompact fi codomain along the cocompact filter on the domain. When the domain and codomain are Hausdorff, this is equivalent to many other conditions, including that preimages of compact sets are compact. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Topology/ContinuousMap/Compact.lean b/Mathlib/Topology/ContinuousMap/Compact.lean index ae9d7b1b3220c8..5456f66f13a3ce 100644 --- a/Mathlib/Topology/ContinuousMap/Compact.lean +++ b/Mathlib/Topology/ContinuousMap/Compact.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.ContinuousMap.Bounded.Star -import Mathlib.Topology.ContinuousMap.Star -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Sets.Compacts -import Mathlib.Analysis.Normed.Group.InfiniteSum +module + +public import Mathlib.Topology.ContinuousMap.Bounded.Star +public import Mathlib.Topology.ContinuousMap.Star +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Sets.Compacts +public import Mathlib.Analysis.Normed.Group.InfiniteSum /-! # Continuous functions on a compact space @@ -24,6 +26,8 @@ you should restate it here. You can also use `ContinuousMap.equivBoundedOfCompact` to move functions back and forth. -/ +@[expose] public section + noncomputable section open NNReal BoundedContinuousFunction Set Metric diff --git a/Mathlib/Topology/ContinuousMap/CompactlySupported.lean b/Mathlib/Topology/ContinuousMap/CompactlySupported.lean index 1084ee6637d472..18583b0bfa683e 100644 --- a/Mathlib/Topology/ContinuousMap/CompactlySupported.lean +++ b/Mathlib/Topology/ContinuousMap/CompactlySupported.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yoh Tanimoto. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yoh Tanimoto -/ -import Mathlib.Algebra.Order.Module.PositiveLinearMap -import Mathlib.Topology.Algebra.Order.Support -import Mathlib.Topology.ContinuousMap.ZeroAtInfty +module + +public import Mathlib.Algebra.Order.Module.PositiveLinearMap +public import Mathlib.Topology.Algebra.Order.Support +public import Mathlib.Topology.ContinuousMap.ZeroAtInfty /-! # Compactly supported continuous functions @@ -25,6 +27,8 @@ gives the identification `C(α, β) ≃ C_c(α, β)`. -/ +@[expose] public section + variable {F α β γ : Type*} [TopologicalSpace α] /-- `C_c(α, β)` is the type of continuous functions `α → β` with compact support from a topological diff --git a/Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean b/Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean index 55fed5633d0045..9c5a5fb8735163 100644 --- a/Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean +++ b/Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.ContinuousMap.Compact +module + +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.ContinuousMap.Compact /-! # Continuous maps sending zero to zero @@ -18,6 +20,8 @@ Of course, one could generalize to maps between pointed topological spaces, but the purpose of this type. -/ +@[expose] public section + assert_not_exists StarOrderedRing open Function Set Topology diff --git a/Mathlib/Topology/ContinuousMap/ContinuousSqrt.lean b/Mathlib/Topology/ContinuousMap/ContinuousSqrt.lean index 9791d9fb5b0857..74b856b7d3b4af 100644 --- a/Mathlib/Topology/ContinuousMap/ContinuousSqrt.lean +++ b/Mathlib/Topology/ContinuousMap/ContinuousSqrt.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.Data.Real.StarOrdered -import Mathlib.Topology.ContinuousMap.StarOrdered +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.Data.Real.StarOrdered +public import Mathlib.Topology.ContinuousMap.StarOrdered /-! # Instances of `ContinuousSqrt` @@ -13,6 +15,8 @@ This provides the instances of `ContinuousSqrt` for `ℝ`, `ℝ≥0`, and `ℂ`, of `StarOrderedRing C(α, R)` and `StarOrderedRing C(α, R)₀` for any topological space `α` and `R` among `ℝ≥0`, `ℝ`, and `ℂ`. -/ +@[expose] public section + open scoped NNReal open scoped ComplexOrder in diff --git a/Mathlib/Topology/ContinuousMap/Defs.lean b/Mathlib/Topology/ContinuousMap/Defs.lean index cfb99acf8b2ed3..fd9c5a033f8a98 100644 --- a/Mathlib/Topology/ContinuousMap/Defs.lean +++ b/Mathlib/Topology/ContinuousMap/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Yury Kudryashov -/ -import Mathlib.Data.FunLike.Basic -import Mathlib.Tactic.Continuity -import Mathlib.Tactic.Lift -import Mathlib.Topology.Defs.Basic +module + +public import Mathlib.Data.FunLike.Basic +public import Mathlib.Tactic.Continuity +public import Mathlib.Tactic.Lift +public import Mathlib.Topology.Defs.Basic /-! # Continuous bundled maps @@ -17,6 +19,8 @@ We use the `DFunLike` design, so each type of morphisms has a companion typeclas which is meant to be satisfied by itself and all stricter types. -/ +@[expose] public section + open Function open scoped Topology diff --git a/Mathlib/Topology/ContinuousMap/Ideals.lean b/Mathlib/Topology/ContinuousMap/Ideals.lean index cc56115526f218..e00f0377c152f2 100644 --- a/Mathlib/Topology/ContinuousMap/Ideals.lean +++ b/Mathlib/Topology/ContinuousMap/Ideals.lean @@ -3,12 +3,14 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Topology.Algebra.Module.CharacterSpace +module + +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Topology.Algebra.Module.CharacterSpace /-! # Ideals of continuous functions @@ -67,6 +69,8 @@ order isomorphism described above, and instead we only consider the Galois inser ideal, continuous function, compact, Hausdorff -/ +@[expose] public section + open scoped NNReal diff --git a/Mathlib/Topology/ContinuousMap/Interval.lean b/Mathlib/Topology/ContinuousMap/Interval.lean index e519c32ad2dfbd..554730b78eef38 100644 --- a/Mathlib/Topology/ContinuousMap/Interval.lean +++ b/Mathlib/Topology/ContinuousMap/Interval.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Vincent Beffara. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vincent Beffara -/ -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Order.ProjIcc +module + +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Order.ProjIcc /-! # Continuous bundled maps on intervals @@ -12,6 +14,8 @@ import Mathlib.Topology.Order.ProjIcc In this file we prove a few results about `ContinuousMap` when the domain is an interval. -/ +@[expose] public section + open Set ContinuousMap Filter Topology namespace ContinuousMap diff --git a/Mathlib/Topology/ContinuousMap/Lattice.lean b/Mathlib/Topology/ContinuousMap/Lattice.lean index c8281428844f69..a173655c219cf5 100644 --- a/Mathlib/Topology/ContinuousMap/Lattice.lean +++ b/Mathlib/Topology/ContinuousMap/Lattice.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Nicolò Cavalleri -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.Order.Group.Lattice -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.ContinuousMap.Ordered +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.Order.Group.Lattice +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.ContinuousMap.Ordered /-! # Continuous maps as a lattice ordered group -/ +@[expose] public section + /-! We now provide formulas for `f ⊓ g` and `f ⊔ g`, where `f g : C(α, β)`, diff --git a/Mathlib/Topology/ContinuousMap/LocallyConstant.lean b/Mathlib/Topology/ContinuousMap/LocallyConstant.lean index 1258cbf3ba0450..e8c96fdef33053 100644 --- a/Mathlib/Topology/ContinuousMap/LocallyConstant.lean +++ b/Mathlib/Topology/ContinuousMap/LocallyConstant.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Topology.LocallyConstant.Algebra -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Topology.LocallyConstant.Algebra +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.ContinuousMap.Algebra /-! # The algebra morphism from locally constant functions to continuous functions. -/ +@[expose] public section + namespace LocallyConstant diff --git a/Mathlib/Topology/ContinuousMap/LocallyConvex.lean b/Mathlib/Topology/ContinuousMap/LocallyConvex.lean index a9c60729e6f705..1a407e071268b8 100644 --- a/Mathlib/Topology/ContinuousMap/LocallyConvex.lean +++ b/Mathlib/Topology/ContinuousMap/LocallyConvex.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.Algebra.Module.LocallyConvex +module + +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.Algebra.Module.LocallyConvex /-! # The space of continuous maps is a locally convex space @@ -13,6 +15,8 @@ In this file we prove that the space of continuous maps from a topological space to a locally convex topological vector space is a locally convex topological vector space. -/ +@[expose] public section + open scoped Topology instance ContinuousMap.instLocallyConvexSpace {X 𝕜 E : Type*} diff --git a/Mathlib/Topology/ContinuousMap/Ordered.lean b/Mathlib/Topology/ContinuousMap/Ordered.lean index 7677b1c20ea565..e9079aa0f60891 100644 --- a/Mathlib/Topology/ContinuousMap/Ordered.lean +++ b/Mathlib/Topology/ContinuousMap/Ordered.lean @@ -3,15 +3,19 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Shing Tak Lam -/ -import Mathlib.Topology.Order.Lattice -import Mathlib.Topology.Order.ProjIcc -import Mathlib.Topology.ContinuousMap.Defs +module + +public import Mathlib.Topology.Order.Lattice +public import Mathlib.Topology.Order.ProjIcc +public import Mathlib.Topology.ContinuousMap.Defs /-! # Bundled continuous maps into orders, with order-compatible topology -/ +@[expose] public section + variable {α β : Type*} [TopologicalSpace α] [TopologicalSpace β] diff --git a/Mathlib/Topology/ContinuousMap/Periodic.lean b/Mathlib/Topology/ContinuousMap/Periodic.lean index ac84b39755f656..9d860e0cf41d85 100644 --- a/Mathlib/Topology/ContinuousMap/Periodic.lean +++ b/Mathlib/Topology/ContinuousMap/Periodic.lean @@ -3,13 +3,17 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Nicolò Cavalleri -/ -import Mathlib.Algebra.Ring.Periodic -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Algebra.Ring.Periodic +public import Mathlib.Topology.ContinuousMap.Algebra /-! # Sums of translates of a continuous function is a period continuous function. -/ + +@[expose] public section assert_not_exists StoneCech StarModule namespace ContinuousMap diff --git a/Mathlib/Topology/ContinuousMap/Polynomial.lean b/Mathlib/Topology/ContinuousMap/Polynomial.lean index 36e2f1648466b6..a30186462fa09a 100644 --- a/Mathlib/Topology/ContinuousMap/Polynomial.lean +++ b/Mathlib/Topology/ContinuousMap/Polynomial.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Algebra.Polynomial -import Mathlib.Topology.ContinuousMap.Star -import Mathlib.Topology.UnitInterval -import Mathlib.Algebra.Star.Subalgebra +module + +public import Mathlib.Topology.Algebra.Polynomial +public import Mathlib.Topology.ContinuousMap.Star +public import Mathlib.Topology.UnitInterval +public import Mathlib.Algebra.Star.Subalgebra /-! # Constructions relating polynomial functions and continuous functions. @@ -22,6 +24,8 @@ import Mathlib.Algebra.Star.Subalgebra -/ +@[expose] public section + variable {R : Type*} diff --git a/Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean b/Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean index c5e82ebcad8dee..a9d4b592fc551f 100644 --- a/Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean +++ b/Mathlib/Topology/ContinuousMap/SecondCountableSpace.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.CompactOpen +module + +public import Mathlib.Topology.CompactOpen /-! # Second countable topology on `C(X, Y)` @@ -14,6 +16,8 @@ In this file we prove that `C(X, Y)` with compact-open topology has second count - `X` is a locally compact space; -/ +@[expose] public section + open scoped Topology open Set Function Filter TopologicalSpace diff --git a/Mathlib/Topology/ContinuousMap/Sigma.lean b/Mathlib/Topology/ContinuousMap/Sigma.lean index 48fa9e9c7a32ae..07ceb538882a12 100644 --- a/Mathlib/Topology/ContinuousMap/Sigma.lean +++ b/Mathlib/Topology/ContinuousMap/Sigma.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.CompactOpen +module + +public import Mathlib.Topology.CompactOpen /-! # Equivalence between `C(X, Σ i, Y i)` and `Σ i, C(X, Y i)` @@ -32,6 +34,8 @@ if `X` is empty, then any index `i` will work, so there is no 1-to-1 corresponde continuous map, sigma type, disjoint union -/ +@[expose] public section + noncomputable section open Filter Topology diff --git a/Mathlib/Topology/ContinuousMap/Star.lean b/Mathlib/Topology/ContinuousMap/Star.lean index 93db060648a341..27143ab13fa33e 100644 --- a/Mathlib/Topology/ContinuousMap/Star.lean +++ b/Mathlib/Topology/ContinuousMap/Star.lean @@ -3,15 +3,19 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Nicolò Cavalleri -/ -import Mathlib.Topology.Algebra.Star -import Mathlib.Algebra.Star.StarAlgHom -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Topology.Algebra.Star +public import Mathlib.Algebra.Star.StarAlgHom +public import Mathlib.Topology.ContinuousMap.Algebra /-! # Star structures on continuous maps. -/ +@[expose] public section + namespace ContinuousMap /-! diff --git a/Mathlib/Topology/ContinuousMap/StarOrdered.lean b/Mathlib/Topology/ContinuousMap/StarOrdered.lean index d62613d11bf15d..7568e324fca979 100644 --- a/Mathlib/Topology/ContinuousMap/StarOrdered.lean +++ b/Mathlib/Topology/ContinuousMap/StarOrdered.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Algebra.Order.Star.Basic -import Mathlib.Topology.ContinuousMap.ContinuousMapZero -import Mathlib.Topology.ContinuousMap.Ordered +module + +public import Mathlib.Algebra.Order.Star.Basic +public import Mathlib.Topology.ContinuousMap.ContinuousMapZero +public import Mathlib.Topology.ContinuousMap.Ordered /-! # Continuous functions as a star-ordered ring @@ -32,6 +34,8 @@ be a problem since the only purpose is to obtain the instance `StarOrderedRing C `Prop`, but we note it for future reference. -/ +@[expose] public section + /-- A type class encoding the property that there is a continuous square root function on nonnegative elements. This holds for `ℝ≥0`, `ℝ` and `ℂ` (as well as any C⋆-algebra), and this allows us to derive an instance of `StarOrderedRing C(α, R)` under appropriate hypotheses. diff --git a/Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean b/Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean index d65e31026c040c..fcec6a02890f15 100644 --- a/Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean +++ b/Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Heather Macbeth -/ -import Mathlib.Algebra.Algebra.Subalgebra.Tower -import Mathlib.Analysis.RCLike.Basic -import Mathlib.Topology.Algebra.Star.Real -import Mathlib.Topology.Algebra.StarSubalgebra -import Mathlib.Topology.Algebra.NonUnitalStarAlgebra -import Mathlib.Topology.ContinuousMap.ContinuousMapZero -import Mathlib.Topology.ContinuousMap.Lattice -import Mathlib.Topology.ContinuousMap.Weierstrass +module + +public import Mathlib.Algebra.Algebra.Subalgebra.Tower +public import Mathlib.Analysis.RCLike.Basic +public import Mathlib.Topology.Algebra.Star.Real +public import Mathlib.Topology.Algebra.StarSubalgebra +public import Mathlib.Topology.Algebra.NonUnitalStarAlgebra +public import Mathlib.Topology.ContinuousMap.ContinuousMapZero +public import Mathlib.Topology.ContinuousMap.Lattice +public import Mathlib.Topology.ContinuousMap.Weierstrass /-! # The Stone-Weierstrass theorem @@ -46,6 +48,8 @@ on non-compact spaces. -/ +@[expose] public section + assert_not_exists Unitization noncomputable section diff --git a/Mathlib/Topology/ContinuousMap/T0Sierpinski.lean b/Mathlib/Topology/ContinuousMap/T0Sierpinski.lean index 37f62f17728eac..3271ee7a3bf687 100644 --- a/Mathlib/Topology/ContinuousMap/T0Sierpinski.lean +++ b/Mathlib/Topology/ContinuousMap/T0Sierpinski.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Ivan Sadofschi Costa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Ivan Sadofschi Costa -/ -import Mathlib.Topology.Order -import Mathlib.Topology.Sets.Opens -import Mathlib.Topology.ContinuousMap.Basic +module + +public import Mathlib.Topology.Order +public import Mathlib.Topology.Sets.Opens +public import Mathlib.Topology.ContinuousMap.Basic /-! # Any T0 space embeds in a product of copies of the Sierpinski space. @@ -18,6 +20,8 @@ The map `productOfMemOpens` is always inducing. Whenever `X` is T0, `productOfMe also injective and therefore an embedding. -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Topology/ContinuousMap/Units.lean b/Mathlib/Topology/ContinuousMap/Units.lean index 9784390a3d156d..e6cdd0235f75cf 100644 --- a/Mathlib/Topology/ContinuousMap/Units.lean +++ b/Mathlib/Topology/ContinuousMap/Units.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Normed.Ring.Units -import Mathlib.Algebra.Algebra.Spectrum.Basic -import Mathlib.Topology.ContinuousMap.Algebra +module + +public import Mathlib.Analysis.Normed.Ring.Units +public import Mathlib.Algebra.Algebra.Spectrum.Basic +public import Mathlib.Topology.ContinuousMap.Algebra /-! # Units of continuous functions @@ -14,6 +16,8 @@ This file concerns itself with `C(X, M)ˣ` and `C(X, Mˣ)` when `X` is a topolog and `M` has some monoid structure compatible with its topology. -/ +@[expose] public section + variable {X M R 𝕜 : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/ContinuousMap/Weierstrass.lean b/Mathlib/Topology/ContinuousMap/Weierstrass.lean index 57d7dbc3408bf3..87170341dd290d 100644 --- a/Mathlib/Topology/ContinuousMap/Weierstrass.lean +++ b/Mathlib/Topology/ContinuousMap/Weierstrass.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Analysis.SpecialFunctions.Bernstein -import Mathlib.Topology.Algebra.Algebra -import Mathlib.Topology.ContinuousMap.Compact +module + +public import Mathlib.Analysis.SpecialFunctions.Bernstein +public import Mathlib.Topology.Algebra.Algebra +public import Mathlib.Topology.ContinuousMap.Compact /-! # The Weierstrass approximation theorem for continuous functions on `[a,b]` @@ -20,6 +22,8 @@ and then, by precomposing with suitable affine functions, `polynomialFunctions_closure_eq_top : (polynomialFunctions (Set.Icc a b)).topologicalClosure = ⊤` -/ +@[expose] public section + open ContinuousMap Filter diff --git a/Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean b/Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean index 62995e75b241d5..ae9d9614e66ada 100644 --- a/Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean +++ b/Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.ContinuousMap.Bounded.Star -import Mathlib.Topology.ContinuousMap.CocompactMap +module + +public import Mathlib.Topology.ContinuousMap.Bounded.Star +public import Mathlib.Topology.ContinuousMap.CocompactMap /-! # Continuous functions vanishing at infinity @@ -21,6 +23,8 @@ compact space, this type has nice properties. * Relate the unitization of `C₀(α, β)` to the Alexandroff compactification. -/ +@[expose] public section + universe u v w diff --git a/Mathlib/Topology/ContinuousOn.lean b/Mathlib/Topology/ContinuousOn.lean index 288acb8feee5a3..d82ee04ddb42fa 100644 --- a/Mathlib/Topology/ContinuousOn.lean +++ b/Mathlib/Topology/ContinuousOn.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Constructions +module + +public import Mathlib.Topology.Constructions /-! # Neighborhoods and continuity relative to a subset @@ -27,6 +29,8 @@ equipped with the subspace topology. -/ +@[expose] public section + open Set Filter Function Topology Filter variable {α β γ δ : Type*} diff --git a/Mathlib/Topology/Covering.lean b/Mathlib/Topology/Covering.lean index 22aa882c13d083..6284f7378c2173 100644 --- a/Mathlib/Topology/Covering.lean +++ b/Mathlib/Topology/Covering.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Topology.IsLocalHomeomorph -import Mathlib.Topology.FiberBundle.Basic +module + +public import Mathlib.Topology.IsLocalHomeomorph +public import Mathlib.Topology.FiberBundle.Basic /-! # Covering Maps @@ -22,6 +24,8 @@ This file defines covering maps. assumed to be surjective, so the fibers are even allowed to be empty. -/ +@[expose] public section + open Bundle Topology variable {E X : Type*} [TopologicalSpace E] [TopologicalSpace X] (f : E → X) (s : Set X) diff --git a/Mathlib/Topology/Defs/Basic.lean b/Mathlib/Topology/Defs/Basic.lean index 9afe3b9fd22b53..50de54445d6b57 100644 --- a/Mathlib/Topology/Defs/Basic.lean +++ b/Mathlib/Topology/Defs/Basic.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Order.SetNotation -import Mathlib.Tactic.Continuity -import Mathlib.Tactic.FunProp -import Mathlib.Tactic.MkIffOfInductiveProp -import Mathlib.Tactic.ToAdditive -import Mathlib.Util.AssertExists +module + +public import Mathlib.Order.SetNotation +public import Mathlib.Tactic.Continuity +public import Mathlib.Tactic.FunProp +public import Mathlib.Tactic.MkIffOfInductiveProp +public import Mathlib.Tactic.ToAdditive +public import Mathlib.Util.AssertExists /-! # Basic definitions about topological spaces @@ -57,6 +59,8 @@ We introduce notation `IsOpen[t]`, `IsClosed[t]`, `closure[t]`, `Continuous[t₁ that allow passing custom topologies to these predicates and functions without using `@`. -/ +@[expose] public section + assert_not_exists Monoid universe u v diff --git a/Mathlib/Topology/Defs/Filter.lean b/Mathlib/Topology/Defs/Filter.lean index 12c1999743510d..ec4061c6b716e6 100644 --- a/Mathlib/Topology/Defs/Filter.lean +++ b/Mathlib/Topology/Defs/Filter.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Topology.Defs.Basic -import Mathlib.Data.Setoid.Basic -import Mathlib.Order.Filter.Defs -import Mathlib.Tactic.IrreducibleDef +module + +public import Mathlib.Topology.Defs.Basic +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Order.Filter.Defs +public import Mathlib.Tactic.IrreducibleDef /-! # Definitions about filters in topological spaces @@ -109,6 +111,8 @@ as well as other definitions that rely on `Filter`s. * `𝓝ˢ s`: the filter `nhdsSet s` of neighborhoods of a set. -/ +@[expose] public section + assert_not_exists Ultrafilter variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] diff --git a/Mathlib/Topology/Defs/Induced.lean b/Mathlib/Topology/Defs/Induced.lean index 525628d3acd5d7..d2ffb512be5da5 100644 --- a/Mathlib/Topology/Defs/Induced.lean +++ b/Mathlib/Topology/Defs/Induced.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Data.Set.Lattice.Image -import Mathlib.Topology.Basic +module + +public import Mathlib.Data.Set.Lattice.Image +public import Mathlib.Topology.Basic /-! # Induced and coinduced topologies @@ -42,6 +44,8 @@ as well as topology inducing maps, topological embeddings, and quotient maps. and the topology on the codomain is equal to the coinduced topology. -/ +@[expose] public section + open Set open scoped Topology diff --git a/Mathlib/Topology/Defs/Sequences.lean b/Mathlib/Topology/Defs/Sequences.lean index b9326a1eef8078..a2cefcb50f17b9 100644 --- a/Mathlib/Topology/Defs/Sequences.lean +++ b/Mathlib/Topology/Defs/Sequences.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Order.Filter.AtTopBot.Defs -import Mathlib.Topology.Defs.Filter +module + +public import Mathlib.Order.Filter.AtTopBot.Defs +public import Mathlib.Topology.Defs.Filter /-! # Sequences in topological spaces @@ -40,6 +42,8 @@ In this file we define sequential closure, continuity, compactness etc. sequentially closed, sequentially compact, sequential space -/ +@[expose] public section + open Set Filter open scoped Topology diff --git a/Mathlib/Topology/Defs/Ultrafilter.lean b/Mathlib/Topology/Defs/Ultrafilter.lean index 312adb41a2af21..e18cb8197d2285 100644 --- a/Mathlib/Topology/Defs/Ultrafilter.lean +++ b/Mathlib/Topology/Defs/Ultrafilter.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Data.Set.Lattice -import Mathlib.Order.Filter.Ultrafilter.Defs -import Mathlib.Topology.Defs.Basic -import Mathlib.Topology.Defs.Filter +module + +public import Mathlib.Data.Set.Lattice +public import Mathlib.Order.Filter.Ultrafilter.Defs +public import Mathlib.Topology.Defs.Basic +public import Mathlib.Topology.Defs.Filter /-! # Limit of an ultrafilter. @@ -17,6 +19,8 @@ import Mathlib.Topology.Defs.Filter -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] open Filter diff --git a/Mathlib/Topology/DenseEmbedding.lean b/Mathlib/Topology/DenseEmbedding.lean index b0d0785a9c54d2..344b7b2cde33f0 100644 --- a/Mathlib/Topology/DenseEmbedding.lean +++ b/Mathlib/Topology/DenseEmbedding.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Bases -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Topology.Bases +public import Mathlib.Topology.Separation.Regular /-! # Dense embeddings @@ -22,6 +24,8 @@ has to be `IsDenseInducing` (not necessarily injective). -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/DerivedSet.lean b/Mathlib/Topology/DerivedSet.lean index bcf268743bee66..357a6aded0fa6f 100644 --- a/Mathlib/Topology/DerivedSet.lean +++ b/Mathlib/Topology/DerivedSet.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Daniel Weber. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Daniel Weber -/ -import Mathlib.Topology.Perfect -import Mathlib.Tactic.Peel +module + +public import Mathlib.Topology.Perfect +public import Mathlib.Tactic.Peel /-! # Derived set @@ -14,6 +16,8 @@ and proves some properties of it. -/ +@[expose] public section + open Filter Topology variable {X : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/DiscreteQuotient.lean b/Mathlib/Topology/DiscreteQuotient.lean index c6f46aa44a0cd7..a1a865fcb24962 100644 --- a/Mathlib/Topology/DiscreteQuotient.lean +++ b/Mathlib/Topology/DiscreteQuotient.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Calle Sönne, Adam Topaz -/ -import Mathlib.Data.Setoid.Partition -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Data.Setoid.Partition +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.Connected.TotallyDisconnected /-! @@ -61,6 +63,8 @@ The constructions in this file will be used to show that any profinite space is of finite discrete spaces. -/ +@[expose] public section + open Set Function TopologicalSpace Topology diff --git a/Mathlib/Topology/DiscreteSubset.lean b/Mathlib/Topology/DiscreteSubset.lean index ff3a4c9a7817ac..07cb7810d3d415 100644 --- a/Mathlib/Topology/DiscreteSubset.lean +++ b/Mathlib/Topology/DiscreteSubset.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Bhavik Mehta, Daniel Weber, Stefan Kebekus -/ -import Mathlib.Tactic.TautoSet -import Mathlib.Topology.Constructions -import Mathlib.Data.Set.Subset -import Mathlib.Topology.Separation.Basic +module + +public import Mathlib.Tactic.TautoSet +public import Mathlib.Topology.Constructions +public import Mathlib.Data.Set.Subset +public import Mathlib.Topology.Separation.Basic /-! # Discrete subsets of topological spaces @@ -38,6 +40,8 @@ This is the filter of all open codiscrete sets within S. We also define `Filter. -/ +@[expose] public section + open Set Filter Function Topology variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] {f : X → Y} diff --git a/Mathlib/Topology/EMetricSpace/Basic.lean b/Mathlib/Topology/EMetricSpace/Basic.lean index fa23c310930862..484e3b3c1f5b8f 100644 --- a/Mathlib/Topology/EMetricSpace/Basic.lean +++ b/Mathlib/Topology/EMetricSpace/Basic.lean @@ -3,14 +3,16 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Algebra.Order.BigOperators.Group.Finset -import Mathlib.Algebra.Order.Interval.Finset.SuccPred -import Mathlib.Data.Nat.SuccPred -import Mathlib.Order.Interval.Finset.Nat -import Mathlib.Topology.EMetricSpace.Defs -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.UniformSpace.LocallyUniformConvergence -import Mathlib.Topology.UniformSpace.UniformEmbedding +module + +public import Mathlib.Algebra.Order.BigOperators.Group.Finset +public import Mathlib.Algebra.Order.Interval.Finset.SuccPred +public import Mathlib.Data.Nat.SuccPred +public import Mathlib.Order.Interval.Finset.Nat +public import Mathlib.Topology.EMetricSpace.Defs +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.UniformSpace.LocallyUniformConvergence +public import Mathlib.Topology.UniformSpace.UniformEmbedding /-! # Extended metric spaces @@ -18,6 +20,8 @@ import Mathlib.Topology.UniformSpace.UniformEmbedding Further results about extended metric spaces. -/ +@[expose] public section + open Set Filter universe u v w diff --git a/Mathlib/Topology/EMetricSpace/BoundedVariation.lean b/Mathlib/Topology/EMetricSpace/BoundedVariation.lean index 0173e06e2082ae..d1f0c38ca138a1 100644 --- a/Mathlib/Topology/EMetricSpace/BoundedVariation.lean +++ b/Mathlib/Topology/EMetricSpace/BoundedVariation.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Order.Interval.Set.ProjIcc -import Mathlib.Tactic.Finiteness -import Mathlib.Topology.Semicontinuous -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +module + +public import Mathlib.Order.Interval.Set.ProjIcc +public import Mathlib.Tactic.Finiteness +public import Mathlib.Topology.Semicontinuous +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology /-! # Functions of bounded variation @@ -41,6 +43,8 @@ more tedious with an `ℝ`-valued or `ℝ≥0`-valued variation, since one would that the sets one uses are nonempty and bounded above as these are only conditionally complete. -/ +@[expose] public section + open scoped NNReal ENNReal Topology UniformConvergence open Set Filter diff --git a/Mathlib/Topology/EMetricSpace/Defs.lean b/Mathlib/Topology/EMetricSpace/Defs.lean index f0be969592f4b2..a941d00aa30f92 100644 --- a/Mathlib/Topology/EMetricSpace/Defs.lean +++ b/Mathlib/Topology/EMetricSpace/Defs.lean @@ -3,9 +3,11 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Data.ENNReal.Inv -import Mathlib.Topology.UniformSpace.Basic -import Mathlib.Topology.UniformSpace.OfFun +module + +public import Mathlib.Data.ENNReal.Inv +public import Mathlib.Topology.UniformSpace.Basic +public import Mathlib.Topology.UniformSpace.OfFun /-! # Extended metric spaces @@ -25,6 +27,8 @@ theory of `PseudoEMetricSpace`, where we don't require `edist x y = 0 → x = y` to `EMetricSpace` at the end. -/ +@[expose] public section + assert_not_exists Nat.instLocallyFiniteOrder IsUniformEmbedding TendstoUniformlyOnFilter diff --git a/Mathlib/Topology/EMetricSpace/Diam.lean b/Mathlib/Topology/EMetricSpace/Diam.lean index 3d792c0befa3c0..6b7845ab621c62 100644 --- a/Mathlib/Topology/EMetricSpace/Diam.lean +++ b/Mathlib/Topology/EMetricSpace/Diam.lean @@ -3,13 +3,17 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.EMetricSpace.Pi +module + +public import Mathlib.Topology.EMetricSpace.Pi /-! # Diameters of sets in extended metric spaces -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Topology/EMetricSpace/Lipschitz.lean b/Mathlib/Topology/EMetricSpace/Lipschitz.lean index 724233dfc23803..b25ad300f433b8 100644 --- a/Mathlib/Topology/EMetricSpace/Lipschitz.lean +++ b/Mathlib/Topology/EMetricSpace/Lipschitz.lean @@ -3,9 +3,11 @@ Copyright (c) 2018 Rohan Mitta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rohan Mitta, Kevin Buzzard, Alistair Tucker, Johannes Hölzl, Yury Kudryashov, Winston Yin -/ -import Mathlib.Algebra.Group.End -import Mathlib.Tactic.Finiteness -import Mathlib.Topology.EMetricSpace.Diam +module + +public import Mathlib.Algebra.Group.End +public import Mathlib.Tactic.Finiteness +public import Mathlib.Topology.EMetricSpace.Diam /-! # Lipschitz continuous functions @@ -40,6 +42,8 @@ coercions both to `ℝ` and `ℝ≥0∞`. Constructors whose names end with `'` argument, and return `LipschitzWith (Real.toNNReal K) f`. -/ +@[expose] public section + universe u v w x open Filter Function Set Topology NNReal ENNReal Bornology diff --git a/Mathlib/Topology/EMetricSpace/PairReduction.lean b/Mathlib/Topology/EMetricSpace/PairReduction.lean index 94318340971b03..8075a7b047fa32 100644 --- a/Mathlib/Topology/EMetricSpace/PairReduction.lean +++ b/Mathlib/Topology/EMetricSpace/PairReduction.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, David Ledvinka -/ -import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp -import Mathlib.Order.CompletePartialOrder +module + +public import Mathlib.Analysis.SpecialFunctions.Log.ENNRealLogExp +public import Mathlib.Order.CompletePartialOrder /-! # Pair Reduction @@ -99,6 +101,8 @@ taking supremums completes the proof (see `iSup_edist_pairSet`). -/ +@[expose] public section + open scoped ENNReal NNReal Finset variable {T : Type*} [PseudoEMetricSpace T] {a c : ℝ≥0∞} {n : ℕ} {V J : Finset T} {t : T} diff --git a/Mathlib/Topology/EMetricSpace/Paracompact.lean b/Mathlib/Topology/EMetricSpace/Paracompact.lean index 1bb23455e9c7aa..7b27f54e02fa32 100644 --- a/Mathlib/Topology/EMetricSpace/Paracompact.lean +++ b/Mathlib/Topology/EMetricSpace/Paracompact.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Tactic.GCongr -import Mathlib.Topology.Compactness.Paracompact -import Mathlib.Topology.EMetricSpace.Basic -import Mathlib.SetTheory.Cardinal.Order +module + +public import Mathlib.Tactic.GCongr +public import Mathlib.Topology.Compactness.Paracompact +public import Mathlib.Topology.EMetricSpace.Basic +public import Mathlib.SetTheory.Cardinal.Order /-! # (Extended) metric spaces are paracompact @@ -26,6 +28,8 @@ Generalize to `PseudoMetrizableSpace`s. metric space, paracompact space, normal space -/ +@[expose] public section + variable {α : Type*} open ENNReal Topology Set diff --git a/Mathlib/Topology/EMetricSpace/Pi.lean b/Mathlib/Topology/EMetricSpace/Pi.lean index 1d103ecef16c6f..e0e6bbc49fe61e 100644 --- a/Mathlib/Topology/EMetricSpace/Pi.lean +++ b/Mathlib/Topology/EMetricSpace/Pi.lean @@ -3,13 +3,17 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.EMetricSpace.Basic -import Mathlib.Topology.UniformSpace.Pi +module + +public import Mathlib.Topology.EMetricSpace.Basic +public import Mathlib.Topology.UniformSpace.Pi /-! # Indexed product of extended metric spaces -/ +@[expose] public section + open Set Filter universe u v w diff --git a/Mathlib/Topology/ExtendFrom.lean b/Mathlib/Topology/ExtendFrom.lean index f978fd6ddbad35..e796c7663e3dd6 100644 --- a/Mathlib/Topology/ExtendFrom.lean +++ b/Mathlib/Topology/ExtendFrom.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Anatole Dedecker -/ -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Topology.Separation.Regular /-! # Extending a function from a subset @@ -22,6 +24,8 @@ it suffices that `f` converges within `A` at any point of `B`, provided that -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Exterior.lean b/Mathlib/Topology/Exterior.lean index b3f21544577420..f30433794974ef 100644 --- a/Mathlib/Topology/Exterior.lean +++ b/Mathlib/Topology/Exterior.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.NhdsKer +module + +public import Mathlib.Topology.NhdsKer deprecated_module (since := "2025-07-09") diff --git a/Mathlib/Topology/ExtremallyDisconnected.lean b/Mathlib/Topology/ExtremallyDisconnected.lean index 0366c3253a0e63..fba55862a8b21f 100644 --- a/Mathlib/Topology/ExtremallyDisconnected.lean +++ b/Mathlib/Topology/ExtremallyDisconnected.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Compactification.StoneCech +module + +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Compactification.StoneCech /-! # Extremally disconnected spaces @@ -28,6 +30,8 @@ compact Hausdorff spaces. [Gleason, *Projective topological spaces*][gleason1958] -/ +@[expose] public section + noncomputable section open Function Set diff --git a/Mathlib/Topology/FiberBundle/Basic.lean b/Mathlib/Topology/FiberBundle/Basic.lean index 0e2f436fa63076..6c96b52fe30591 100644 --- a/Mathlib/Topology/FiberBundle/Basic.lean +++ b/Mathlib/Topology/FiberBundle/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Floris van Doorn, Heather Macbeth -/ -import Mathlib.Topology.FiberBundle.Trivialization -import Mathlib.Topology.Order.LeftRightNhds +module + +public import Mathlib.Topology.FiberBundle.Trivialization +public import Mathlib.Topology.Order.LeftRightNhds /-! # Fiber bundles @@ -163,6 +165,8 @@ for the initial bundle. Fiber bundle, topological bundle, structure group -/ +@[expose] public section + variable {ι B F X : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/FiberBundle/Constructions.lean b/Mathlib/Topology/FiberBundle/Constructions.lean index f1dbb739177537..80e596464a9be1 100644 --- a/Mathlib/Topology/FiberBundle/Constructions.lean +++ b/Mathlib/Topology/FiberBundle/Constructions.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Sébastien Gouëzel, Heather Macbeth, Floris van Doorn -/ -import Mathlib.Topology.FiberBundle.Basic +module + +public import Mathlib.Topology.FiberBundle.Basic /-! # Standard constructions on fiber bundles @@ -25,6 +27,8 @@ fiber bundle, fibre bundle, fiberwise product, pullback -/ +@[expose] public section + open Bundle Filter Set TopologicalSpace Topology /-! ### The trivial bundle -/ diff --git a/Mathlib/Topology/FiberBundle/IsHomeomorphicTrivialBundle.lean b/Mathlib/Topology/FiberBundle/IsHomeomorphicTrivialBundle.lean index 78897dc0f81f3b..6e8a59684c7290 100644 --- a/Mathlib/Topology/FiberBundle/IsHomeomorphicTrivialBundle.lean +++ b/Mathlib/Topology/FiberBundle/IsHomeomorphicTrivialBundle.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Constructions.SumProd +module + +public import Mathlib.Topology.Constructions.SumProd /-! # Maps equivariantly-homeomorphic to projection in a product @@ -17,6 +19,8 @@ This material was formerly linked to the main definition of fiber bundles, but a refactors, there is no longer a direct connection. -/ +@[expose] public section + open Topology variable {B : Type*} (F : Type*) {Z : Type*} [TopologicalSpace B] [TopologicalSpace F] diff --git a/Mathlib/Topology/FiberBundle/Trivialization.lean b/Mathlib/Topology/FiberBundle/Trivialization.lean index 5e726ed0285770..53ae49f1396f16 100644 --- a/Mathlib/Topology/FiberBundle/Trivialization.lean +++ b/Mathlib/Topology/FiberBundle/Trivialization.lean @@ -3,11 +3,13 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Bundle -import Mathlib.Data.Set.Image -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.OpenPartialHomeomorph -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Data.Bundle +public import Mathlib.Data.Set.Image +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.OpenPartialHomeomorph +public import Mathlib.Topology.Order.Basic /-! # Trivializations @@ -48,6 +50,8 @@ Indeed, since trivializations only have meaning on their base sets (taking junk type of linear trivializations is not even particularly well-behaved. -/ +@[expose] public section + open TopologicalSpace Filter Set Bundle Function open scoped Topology diff --git a/Mathlib/Topology/FiberPartition.lean b/Mathlib/Topology/FiberPartition.lean index 98ac14221feed8..a6b0d28cd536a1 100644 --- a/Mathlib/Topology/FiberPartition.lean +++ b/Mathlib/Topology/FiberPartition.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Dagur Asgeirsson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dagur Asgeirsson -/ -import Mathlib.Topology.LocallyConstant.Basic -import Mathlib.Logic.Function.FiberPartition +module + +public import Mathlib.Topology.LocallyConstant.Basic +public import Mathlib.Logic.Function.FiberPartition /-! This file provides some API surrounding `Function.Fiber` (see @@ -17,6 +19,8 @@ set, and the forgetful functor from the category of condensed sets to the catego (see PR https://github.com/leanprover-community/mathlib4/pull/14027). -/ +@[expose] public section + open Function diff --git a/Mathlib/Topology/Filter.lean b/Mathlib/Topology/Filter.lean index 15d983cd49ca1e..ad77c916c549e3 100644 --- a/Mathlib/Topology/Filter.lean +++ b/Mathlib/Topology/Filter.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.Lift -import Mathlib.Order.Interval.Set.Monotone -import Mathlib.Topology.Separation.Basic +module + +public import Mathlib.Order.Filter.Lift +public import Mathlib.Order.Interval.Set.Monotone +public import Mathlib.Topology.Separation.Basic /-! # Topology on the set of filters on a type @@ -31,6 +33,8 @@ This topology has the following important properties. filter, topological space -/ +@[expose] public section + open Set Filter TopologicalSpace diff --git a/Mathlib/Topology/GDelta/Basic.lean b/Mathlib/Topology/GDelta/Basic.lean index 3b265d6b5a215c..868be4b0781066 100644 --- a/Mathlib/Topology/GDelta/Basic.lean +++ b/Mathlib/Topology/GDelta/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ -import Mathlib.Order.Filter.CountableInter -import Mathlib.Topology.Closure +module + +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.Topology.Closure /-! # `Gδ` sets @@ -40,6 +42,8 @@ continuity set of a function from a topological space to a metrizable space is a Gδ set, residual set, nowhere dense set, meagre set -/ +@[expose] public section + assert_not_exists UniformSpace noncomputable section diff --git a/Mathlib/Topology/GDelta/MetrizableSpace.lean b/Mathlib/Topology/GDelta/MetrizableSpace.lean index b2979799e61a3f..18dba701790536 100644 --- a/Mathlib/Topology/GDelta/MetrizableSpace.lean +++ b/Mathlib/Topology/GDelta/MetrizableSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov, Aaron Liu -/ -import Mathlib.Topology.MetricSpace.HausdorffDistance -import Mathlib.Topology.Metrizable.Basic -import Mathlib.Topology.Separation.GDelta +module + +public import Mathlib.Topology.MetricSpace.HausdorffDistance +public import Mathlib.Topology.Metrizable.Basic +public import Mathlib.Topology.Separation.GDelta /-! # `Gδ` sets and metrizable spaces @@ -17,6 +19,8 @@ Gδ set. -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] open TopologicalSpace Metric Set diff --git a/Mathlib/Topology/GDelta/UniformSpace.lean b/Mathlib/Topology/GDelta/UniformSpace.lean index 7e2256e93070ec..4208d487fd7440 100644 --- a/Mathlib/Topology/GDelta/UniformSpace.lean +++ b/Mathlib/Topology/GDelta/UniformSpace.lean @@ -3,8 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel, Yury Kudryashov -/ +module -import Mathlib.Topology.GDelta.MetrizableSpace -import Mathlib.Topology.Separation.GDelta +public import Mathlib.Topology.GDelta.MetrizableSpace +public import Mathlib.Topology.Separation.GDelta deprecated_module (since := "2025-05-07") diff --git a/Mathlib/Topology/Germ.lean b/Mathlib/Topology/Germ.lean index 6e49da6fc18f07..08beb05659efe7 100644 --- a/Mathlib/Topology/Germ.lean +++ b/Mathlib/Topology/Germ.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Algebra.BigOperators.Group.Finset.Defs -import Mathlib.Algebra.Module.LinearMap.Defs -import Mathlib.Algebra.Order.Hom.Ring -import Mathlib.Order.Filter.Germ.Basic -import Mathlib.Topology.LocallyConstant.Basic +module + +public import Mathlib.Algebra.BigOperators.Group.Finset.Defs +public import Mathlib.Algebra.Module.LinearMap.Defs +public import Mathlib.Algebra.Order.Hom.Ring +public import Mathlib.Order.Filter.Germ.Basic +public import Mathlib.Topology.LocallyConstant.Basic /-! # Germs of functions between topological spaces @@ -32,6 +34,8 @@ with respect to the neighbourhood filter `𝓝 x`. `f` is constant. -/ +@[expose] public section + open scoped Topology open Filter Set diff --git a/Mathlib/Topology/Gluing.lean b/Mathlib/Topology/Gluing.lean index a79f6ba5818c1c..03f98ad2021076 100644 --- a/Mathlib/Topology/Gluing.lean +++ b/Mathlib/Topology/Gluing.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.CategoryTheory.GlueData -import Mathlib.Topology.Category.TopCat.Limits.Pullbacks -import Mathlib.Topology.Category.TopCat.Opens -import Mathlib.Tactic.Generalize -import Mathlib.CategoryTheory.Elementwise -import Mathlib.CategoryTheory.ConcreteCategory.EpiMono +module + +public import Mathlib.CategoryTheory.GlueData +public import Mathlib.Topology.Category.TopCat.Limits.Pullbacks +public import Mathlib.Topology.Category.TopCat.Opens +public import Mathlib.Tactic.Generalize +public import Mathlib.CategoryTheory.Elementwise +public import Mathlib.CategoryTheory.ConcreteCategory.EpiMono /-! # Gluing Topological spaces @@ -50,6 +52,8 @@ provided. -/ +@[expose] public section + noncomputable section open CategoryTheory TopologicalSpace Topology diff --git a/Mathlib/Topology/Hom/ContinuousEval.lean b/Mathlib/Topology/Hom/ContinuousEval.lean index 6cd5e19fa0b439..c5a76a285eb2b8 100644 --- a/Mathlib/Topology/Hom/ContinuousEval.lean +++ b/Mathlib/Topology/Hom/ContinuousEval.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Hom.ContinuousEvalConst -import Mathlib.Topology.ContinuousMap.Defs +module + +public import Mathlib.Topology.Hom.ContinuousEvalConst +public import Mathlib.Topology.ContinuousMap.Defs /-! # Bundled maps with evaluation continuous in both variables @@ -14,6 +16,8 @@ saying that `F` is a bundled morphism class (in the sense of `FunLike`) with a topology such that `fun (f, x) : F × X ↦ f x` is a continuous function. -/ +@[expose] public section + open scoped Topology open Filter diff --git a/Mathlib/Topology/Hom/ContinuousEvalConst.lean b/Mathlib/Topology/Hom/ContinuousEvalConst.lean index 6793028a59d887..0db691bdbd4950 100644 --- a/Mathlib/Topology/Hom/ContinuousEvalConst.lean +++ b/Mathlib/Topology/Hom/ContinuousEvalConst.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Constructions +module + +public import Mathlib.Topology.Constructions /-! # Bundled morphisms with continuous evaluation at a point @@ -19,6 +21,8 @@ Whenever we add a type of bundled dependent functions with a topology having thi we may decide to generalize from `FunLike` to `DFunLike`. -/ +@[expose] public section + open scoped Topology open Filter diff --git a/Mathlib/Topology/Hom/Open.lean b/Mathlib/Topology/Hom/Open.lean index 9fd34291d24e5c..0e756af6b397f4 100644 --- a/Mathlib/Topology/Hom/Open.lean +++ b/Mathlib/Topology/Hom/Open.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.ContinuousMap.Basic +module + +public import Mathlib.Topology.ContinuousMap.Basic /-! # Continuous open maps @@ -22,6 +24,8 @@ be satisfied by itself and all stricter types. * `ContinuousOpenMapClass` -/ +@[expose] public section + open Function diff --git a/Mathlib/Topology/Homeomorph/Defs.lean b/Mathlib/Topology/Homeomorph/Defs.lean index a19a39f486b1fd..30537dda4a4fdb 100644 --- a/Mathlib/Topology/Homeomorph/Defs.lean +++ b/Mathlib/Topology/Homeomorph/Defs.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Sébastien Gouëzel, Zhouhang Zhou, Reid Barton -/ -import Mathlib.Topology.ContinuousMap.Defs -import Mathlib.Topology.Maps.Basic +module + +public import Mathlib.Topology.ContinuousMap.Defs +public import Mathlib.Topology.Maps.Basic /-! # Homeomorphisms @@ -31,6 +33,8 @@ directions continuous. We denote homeomorphisms with the notation `≃ₜ`. -/ +@[expose] public section + open Set Topology Filter variable {X Y W Z : Type*} diff --git a/Mathlib/Topology/Homeomorph/Lemmas.lean b/Mathlib/Topology/Homeomorph/Lemmas.lean index e95f6bf19000f5..7a7819fb3201ca 100644 --- a/Mathlib/Topology/Homeomorph/Lemmas.lean +++ b/Mathlib/Topology/Homeomorph/Lemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Sébastien Gouëzel, Zhouhang Zhou, Reid Barton -/ -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Topology.Connected.LocallyConnected -import Mathlib.Topology.DenseEmbedding -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Topology.Connected.LocallyConnected +public import Mathlib.Topology.DenseEmbedding +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Further properties of homeomorphisms @@ -16,6 +18,8 @@ Pretty much every topological property is preserved under homeomorphisms. -/ +@[expose] public section + assert_not_exists Module MonoidWithZero open Filter Function Set Topology diff --git a/Mathlib/Topology/Homotopy/Affine.lean b/Mathlib/Topology/Homotopy/Affine.lean index 9f9e88c9ede89a..db7e83c49bb2b8 100644 --- a/Mathlib/Topology/Homotopy/Affine.lean +++ b/Mathlib/Topology/Homotopy/Affine.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury G. Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury G. Kudryashov -/ -import Mathlib.Topology.Homotopy.Path -import Mathlib.Analysis.Convex.PathConnected +module + +public import Mathlib.Topology.Homotopy.Path +public import Mathlib.Analysis.Convex.PathConnected /-! # Affine homotopy between two continuous maps @@ -14,6 +16,8 @@ to be the homotopy between `f` and `g` such that `affine f g (t, x) = AffineMap.lineMap (f x) (g x) t`. -/ +@[expose] public section + variable {X E : Type*} [TopologicalSpace X] [AddCommGroup E] [TopologicalSpace E] [IsTopologicalAddGroup E] [Module ℝ E] [ContinuousSMul ℝ E] diff --git a/Mathlib/Topology/Homotopy/Basic.lean b/Mathlib/Topology/Homotopy/Basic.lean index 8c94e9b9619f02..3bfc6d37fe0356 100644 --- a/Mathlib/Topology/Homotopy/Basic.lean +++ b/Mathlib/Topology/Homotopy/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.Topology.Order.ProjIcc -import Mathlib.Topology.ContinuousMap.Ordered -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.UnitInterval +module + +public import Mathlib.Topology.Order.ProjIcc +public import Mathlib.Topology.ContinuousMap.Ordered +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.UnitInterval /-! # Homotopy between functions @@ -52,6 +54,8 @@ and for `ContinuousMap.homotopic` and `ContinuousMap.homotopic_rel`, we also def - [HOL-Analysis formalisation](https://isabelle.in.tum.de/library/HOL/HOL-Analysis/Homotopy.html) -/ +@[expose] public section + noncomputable section universe u v w x diff --git a/Mathlib/Topology/Homotopy/Contractible.lean b/Mathlib/Topology/Homotopy/Contractible.lean index 8e5d4401ceffb6..87c23522161315 100644 --- a/Mathlib/Topology/Homotopy/Contractible.lean +++ b/Mathlib/Topology/Homotopy/Contractible.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.Topology.Homotopy.Path -import Mathlib.Topology.Homotopy.Equiv +module + +public import Mathlib.Topology.Homotopy.Path +public import Mathlib.Topology.Homotopy.Equiv /-! # Contractible spaces @@ -12,6 +14,8 @@ import Mathlib.Topology.Homotopy.Equiv In this file, we define `ContractibleSpace`, a space that is homotopy equivalent to `Unit`. -/ +@[expose] public section + noncomputable section namespace ContinuousMap diff --git a/Mathlib/Topology/Homotopy/Equiv.lean b/Mathlib/Topology/Homotopy/Equiv.lean index 9e6a26c551d6da..c469e91b4d8d7b 100644 --- a/Mathlib/Topology/Homotopy/Equiv.lean +++ b/Mathlib/Topology/Homotopy/Equiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.Topology.Homotopy.Basic +module + +public import Mathlib.Topology.Homotopy.Basic /-! @@ -24,6 +26,8 @@ locale. -/ +@[expose] public section + universe u v w x variable {X : Type u} {Y : Type v} {Z : Type w} {Z' : Type x} diff --git a/Mathlib/Topology/Homotopy/HSpaces.lean b/Mathlib/Topology/Homotopy/HSpaces.lean index b57d18f031918f..4fde8b7dc2f1cf 100644 --- a/Mathlib/Topology/Homotopy/HSpaces.lean +++ b/Mathlib/Topology/Homotopy/HSpaces.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Filippo A. E. Nuccio Mortarino Majno di Capriglio. All rights Released under Apache 2.0 license as described in the file LICENSE. Authors: Filippo A. E. Nuccio, Junyan Xu -/ -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Homotopy.Basic -import Mathlib.Topology.Path +module + +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Homotopy.Basic +public import Mathlib.Topology.Path /-! # H-spaces @@ -47,6 +49,8 @@ Some notable properties of `H-spaces` are Ann. of Math (2) 1951, 54, 425–505][serre1951] -/ +@[expose] public section + universe u v noncomputable section diff --git a/Mathlib/Topology/Homotopy/HomotopyGroup.lean b/Mathlib/Topology/Homotopy/HomotopyGroup.lean index 5c8ce6a4d42b23..d11c837606ea33 100644 --- a/Mathlib/Topology/Homotopy/HomotopyGroup.lean +++ b/Mathlib/Topology/Homotopy/HomotopyGroup.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Roberto Alvarez. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Roberto Alvarez -/ -import Mathlib.Algebra.Group.Ext -import Mathlib.Algebra.Group.TransferInstance -import Mathlib.AlgebraicTopology.FundamentalGroupoid.FundamentalGroup -import Mathlib.GroupTheory.EckmannHilton +module + +public import Mathlib.Algebra.Group.Ext +public import Mathlib.Algebra.Group.TransferInstance +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.FundamentalGroup +public import Mathlib.GroupTheory.EckmannHilton /-! # `n`th homotopy group @@ -39,6 +41,8 @@ TODO: -/ +@[expose] public section + open scoped unitInterval Topology diff --git a/Mathlib/Topology/Homotopy/Lifting.lean b/Mathlib/Topology/Homotopy/Lifting.lean index 3ec90ec2ea4c9e..d3dc74f756c33d 100644 --- a/Mathlib/Topology/Homotopy/Lifting.lean +++ b/Mathlib/Topology/Homotopy/Lifting.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected -import Mathlib.Topology.Connected.LocPathConnected -import Mathlib.Topology.Covering -import Mathlib.Topology.Homotopy.Path -import Mathlib.Topology.UnitInterval +module + +public import Mathlib.AlgebraicTopology.FundamentalGroupoid.SimplyConnected +public import Mathlib.Topology.Connected.LocPathConnected +public import Mathlib.Topology.Covering +public import Mathlib.Topology.Homotopy.Path +public import Mathlib.Topology.UnitInterval /-! # The homotopy lifting property for covering maps @@ -23,6 +25,8 @@ import Mathlib.Topology.UnitInterval arbitrary point). -/ +@[expose] public section + open Topology unitInterval variable {E X A : Type*} [TopologicalSpace E] [TopologicalSpace X] [TopologicalSpace A] {p : E → X} diff --git a/Mathlib/Topology/Homotopy/Path.lean b/Mathlib/Topology/Homotopy/Path.lean index 9654e503200e26..4845587b930437 100644 --- a/Mathlib/Topology/Homotopy/Path.lean +++ b/Mathlib/Topology/Homotopy/Path.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Shing Tak Lam. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Shing Tak Lam -/ -import Mathlib.Topology.Homotopy.Basic -import Mathlib.Topology.Connected.PathConnected -import Mathlib.Analysis.Convex.Basic +module + +public import Mathlib.Topology.Homotopy.Basic +public import Mathlib.Topology.Connected.PathConnected +public import Mathlib.Analysis.Convex.Basic /-! # Homotopy between paths @@ -29,6 +31,8 @@ In this file, we define a `Homotopy` between two `Path`s. In addition, we define -/ +@[expose] public section + universe u v diff --git a/Mathlib/Topology/Homotopy/Product.lean b/Mathlib/Topology/Homotopy/Product.lean index 07c5cf44f99e52..12ebe13fc11cfa 100644 --- a/Mathlib/Topology/Homotopy/Product.lean +++ b/Mathlib/Topology/Homotopy/Product.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Praneeth Kolichala. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Praneeth Kolichala -/ -import Mathlib.Topology.Constructions -import Mathlib.Topology.Homotopy.Path +module + +public import Mathlib.Topology.Constructions +public import Mathlib.Topology.Homotopy.Path /-! # Product of homotopies @@ -44,6 +46,8 @@ of products. - `Path.Homotopic.prod` The product of two path classes. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/IndicatorConstPointwise.lean b/Mathlib/Topology/IndicatorConstPointwise.lean index ee6d96f9de543d..aa209098bf0655 100644 --- a/Mathlib/Topology/IndicatorConstPointwise.lean +++ b/Mathlib/Topology/IndicatorConstPointwise.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Topology.Separation.Basic +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Topology.Separation.Basic /-! # Pointwise convergence of indicator functions @@ -29,6 +31,8 @@ The results stating these in the case when the indicators take values in a Fréc -/ +@[expose] public section + open Filter Topology diff --git a/Mathlib/Topology/Inseparable.lean b/Mathlib/Topology/Inseparable.lean index a66e9f1902e2fd..95053a70d557f4 100644 --- a/Mathlib/Topology/Inseparable.lean +++ b/Mathlib/Topology/Inseparable.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang, Yury Kudryashov -/ -import Mathlib.Order.UpperLower.Closure -import Mathlib.Order.UpperLower.Fibration -import Mathlib.Tactic.TFAE -import Mathlib.Topology.ContinuousOn -import Mathlib.Topology.Maps.OpenQuotient +module + +public import Mathlib.Order.UpperLower.Closure +public import Mathlib.Order.UpperLower.Fibration +public import Mathlib.Tactic.TFAE +public import Mathlib.Topology.ContinuousOn +public import Mathlib.Topology.Maps.OpenQuotient /-! # Inseparable points in a topological space @@ -36,6 +38,8 @@ We also prove various basic properties of the relation `Inseparable`. topological space, separation setoid -/ +@[expose] public section + open Set Filter Function Topology diff --git a/Mathlib/Topology/Instances/AddCircle/Defs.lean b/Mathlib/Topology/Instances/AddCircle/Defs.lean index 87e7a07188725c..2d59805ac66f03 100644 --- a/Mathlib/Topology/Instances/AddCircle/Defs.lean +++ b/Mathlib/Topology/Instances/AddCircle/Defs.lean @@ -3,14 +3,16 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Algebra.Order.ToIntervalMod -import Mathlib.Algebra.Ring.AddAut -import Mathlib.Data.Nat.Totient -import Mathlib.GroupTheory.Divisible -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.IsLocalHomeomorph -import Mathlib.Topology.Order.T5 +module + +public import Mathlib.Algebra.Order.ToIntervalMod +public import Mathlib.Algebra.Ring.AddAut +public import Mathlib.Data.Nat.Totient +public import Mathlib.GroupTheory.Divisible +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.IsLocalHomeomorph +public import Mathlib.Topology.Order.T5 /-! # The additive circle @@ -48,6 +50,8 @@ the rational circle `AddCircle (1 : ℚ)`, and so we set things up more generall -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean b/Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean index 82520df26935cf..606aadc73154ac 100644 --- a/Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean +++ b/Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.Topology.Instances.AddCircle.Defs -import Mathlib.Topology.Algebra.Order.Archimedean +module + +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.Topology.Instances.AddCircle.Defs +public import Mathlib.Topology.Algebra.Order.Archimedean /-! # Irrational rotation is minimal @@ -15,6 +17,8 @@ Moreover, an additive subgroup of the circle is dense iff it is not generated by a single element of finite additive order. -/ +@[expose] public section + open Set Filter open scoped Pointwise Topology diff --git a/Mathlib/Topology/Instances/AddCircle/Real.lean b/Mathlib/Topology/Instances/AddCircle/Real.lean index 121e500588170c..141ce440cb3e57 100644 --- a/Mathlib/Topology/Instances/AddCircle/Real.lean +++ b/Mathlib/Topology/Instances/AddCircle/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash -/ -import Mathlib.Topology.Connected.PathConnected -import Mathlib.Topology.Instances.AddCircle.Defs -import Mathlib.Topology.Instances.ZMultiples +module + +public import Mathlib.Topology.Connected.PathConnected +public import Mathlib.Topology.Instances.AddCircle.Defs +public import Mathlib.Topology.Instances.ZMultiples /-! # The additive circle over `ℝ` @@ -13,6 +15,8 @@ import Mathlib.Topology.Instances.ZMultiples Results specific to the additive circle over `ℝ`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Instances/CantorSet.lean b/Mathlib/Topology/Instances/CantorSet.lean index 5efc67ec677441..3ff28ae0b6e431 100644 --- a/Mathlib/Topology/Instances/CantorSet.lean +++ b/Mathlib/Topology/Instances/CantorSet.lean @@ -5,8 +5,10 @@ Authors: Artur Szafarczyk, Suraj Krishna M S, Jean-Baptiste Stiegler, Isabelle D Tomáš Jakl, Lorenzo Zanichelli, Alina Yan, Emilie Uthaiwat, Jana Göken, Filippo A. E. Nuccio -/ -import Mathlib.Topology.Algebra.GroupWithZero -import Mathlib.Topology.Algebra.Ring.Real +module + +public import Mathlib.Topology.Algebra.GroupWithZero +public import Mathlib.Topology.Algebra.Ring.Real /-! # Ternary Cantor Set @@ -21,6 +23,8 @@ This file defines the Cantor ternary set and proves a few properties. * `cantorSet`: The ternary Cantor set, defined as the intersection of all pre-Cantor sets. -/ +@[expose] public section + /-- The order `n` pre-Cantor set, defined starting from `[0, 1]` and successively removing the middle third of each interval. Formally, the order `n + 1` pre-Cantor set is the union of the images under the functions `(· / 3)` and `((2 + ·) / 3)` of `preCantorSet n`. diff --git a/Mathlib/Topology/Instances/Complex.lean b/Mathlib/Topology/Instances/Complex.lean index 97e3cf866627b8..7e908aff452fb8 100644 --- a/Mathlib/Topology/Instances/Complex.lean +++ b/Mathlib/Topology/Instances/Complex.lean @@ -3,17 +3,21 @@ Copyright (c) 2022 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Analysis.Complex.Basic -import Mathlib.FieldTheory.IntermediateField.Basic -import Mathlib.LinearAlgebra.Complex.FiniteDimensional -import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas -import Mathlib.Topology.Algebra.Field -import Mathlib.Topology.Algebra.UniformRing +module + +public import Mathlib.Analysis.Complex.Basic +public import Mathlib.FieldTheory.IntermediateField.Basic +public import Mathlib.LinearAlgebra.Complex.FiniteDimensional +public import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas +public import Mathlib.Topology.Algebra.Field +public import Mathlib.Topology.Algebra.UniformRing /-! # Some results about the topology of ℂ -/ +@[expose] public section + section ComplexSubfield diff --git a/Mathlib/Topology/Instances/Discrete.lean b/Mathlib/Topology/Instances/Discrete.lean index 1a8c57a7c9352e..8765e0e0ecf052 100644 --- a/Mathlib/Topology/Instances/Discrete.lean +++ b/Mathlib/Topology/Instances/Discrete.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne -/ -import Mathlib.Topology.Order.Basic -import Mathlib.Order.SuccPred.LinearLocallyFinite +module + +public import Mathlib.Topology.Order.Basic +public import Mathlib.Order.SuccPred.LinearLocallyFinite /-! # Instances related to the discrete topology @@ -20,6 +22,8 @@ and `OrderTopology ℕ` become available. -/ +@[expose] public section + open Order Set TopologicalSpace Filter diff --git a/Mathlib/Topology/Instances/ENNReal/Lemmas.lean b/Mathlib/Topology/Instances/ENNReal/Lemmas.lean index 8b91e3a6e33d09..4c856942d72f11 100644 --- a/Mathlib/Topology/Instances/ENNReal/Lemmas.lean +++ b/Mathlib/Topology/Instances/ENNReal/Lemmas.lean @@ -3,20 +3,24 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Algebra.BigOperators.Intervals -import Mathlib.Data.ENNReal.BigOperators -import Mathlib.Tactic.Bound -import Mathlib.Topology.Order.LiminfLimsup -import Mathlib.Topology.EMetricSpace.Lipschitz -import Mathlib.Topology.Instances.NNReal.Lemmas -import Mathlib.Topology.MetricSpace.Pseudo.Real -import Mathlib.Topology.MetricSpace.ProperSpace.Real -import Mathlib.Topology.Metrizable.Uniformity +module + +public import Mathlib.Algebra.BigOperators.Intervals +public import Mathlib.Data.ENNReal.BigOperators +public import Mathlib.Tactic.Bound +public import Mathlib.Topology.Order.LiminfLimsup +public import Mathlib.Topology.EMetricSpace.Lipschitz +public import Mathlib.Topology.Instances.NNReal.Lemmas +public import Mathlib.Topology.MetricSpace.Pseudo.Real +public import Mathlib.Topology.MetricSpace.ProperSpace.Real +public import Mathlib.Topology.Metrizable.Uniformity /-! # Topology on extended non-negative reals -/ +@[expose] public section + noncomputable section open Filter Function Metric Set Topology diff --git a/Mathlib/Topology/Instances/ENat.lean b/Mathlib/Topology/Instances/ENat.lean index e1659115442b4e..5cae4fc53b081f 100644 --- a/Mathlib/Topology/Instances/ENat.lean +++ b/Mathlib/Topology/Instances/ENat.lean @@ -3,16 +3,20 @@ Copyright (c) 2022 Peter Nelson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Peter Nelson -/ -import Mathlib.Data.ENat.Basic -import Mathlib.Topology.Instances.Discrete -import Mathlib.Order.Interval.Set.WithBotTop -import Mathlib.Order.Filter.Pointwise -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Data.ENat.Basic +public import Mathlib.Topology.Instances.Discrete +public import Mathlib.Order.Interval.Set.WithBotTop +public import Mathlib.Order.Filter.Pointwise +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Topology on extended natural numbers -/ +@[expose] public section + open Filter Set Topology namespace ENat diff --git a/Mathlib/Topology/Instances/EReal/Lemmas.lean b/Mathlib/Topology/Instances/EReal/Lemmas.lean index 46f26b4460fd25..b0ef24517aaf04 100644 --- a/Mathlib/Topology/Instances/EReal/Lemmas.lean +++ b/Mathlib/Topology/Instances/EReal/Lemmas.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.EReal.Inv -import Mathlib.Topology.Semicontinuous +module + +public import Mathlib.Data.EReal.Inv +public import Mathlib.Topology.Semicontinuous /-! # Topological structure on `EReal` @@ -23,6 +25,8 @@ We prove basic properties of the topology on `EReal`. Most proofs are adapted from the corresponding proofs on `ℝ≥0∞`. -/ +@[expose] public section + noncomputable section open Set Filter Metric TopologicalSpace Topology diff --git a/Mathlib/Topology/Instances/Int.lean b/Mathlib/Topology/Instances/Int.lean index 87cb2de9a6d082..d3e3192de20c43 100644 --- a/Mathlib/Topology/Instances/Int.lean +++ b/Mathlib/Topology/Instances/Int.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Int.Interval -import Mathlib.Data.Int.ConditionallyCompleteOrder -import Mathlib.Topology.Instances.Discrete -import Mathlib.Topology.MetricSpace.Bounded -import Mathlib.Order.Filter.AtTopBot.Archimedean -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.Order.Bornology +module + +public import Mathlib.Data.Int.Interval +public import Mathlib.Data.Int.ConditionallyCompleteOrder +public import Mathlib.Topology.Instances.Discrete +public import Mathlib.Topology.MetricSpace.Bounded +public import Mathlib.Order.Filter.AtTopBot.Archimedean +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.Order.Bornology /-! # Topology on the integers @@ -17,6 +19,8 @@ import Mathlib.Topology.Order.Bornology The structure of a metric space on `ℤ` is introduced in this file, induced from `ℝ`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Instances/Irrational.lean b/Mathlib/Topology/Instances/Irrational.lean index 1d81eab3ece0bf..e0d0c13748e936 100644 --- a/Mathlib/Topology/Instances/Irrational.lean +++ b/Mathlib/Topology/Instances/Irrational.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Rat.Encodable -import Mathlib.NumberTheory.Real.Irrational -import Mathlib.Topology.Separation.GDelta -import Mathlib.Topology.Instances.Real.Lemmas +module + +public import Mathlib.Data.Rat.Encodable +public import Mathlib.NumberTheory.Real.Irrational +public import Mathlib.Topology.Separation.GDelta +public import Mathlib.Topology.Instances.Real.Lemmas /-! # Topology of irrational numbers @@ -29,6 +31,8 @@ instances for `{x // Irrational x}`. irrational, residual -/ +@[expose] public section + open Set Filter Metric diff --git a/Mathlib/Topology/Instances/Matrix.lean b/Mathlib/Topology/Instances/Matrix.lean index 800c305c1c955d..26b847951f2b70 100644 --- a/Mathlib/Topology/Instances/Matrix.lean +++ b/Mathlib/Topology/Instances/Matrix.lean @@ -3,13 +3,15 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Eric Wieser -/ -import Mathlib.Topology.Algebra.InfiniteSum.Basic -import Mathlib.Topology.Algebra.Group.Pointwise -import Mathlib.Topology.Algebra.Ring.Basic -import Mathlib.Topology.Algebra.Star -import Mathlib.LinearAlgebra.Matrix.NonsingularInverse -import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo -import Mathlib.LinearAlgebra.Matrix.Trace +module + +public import Mathlib.Topology.Algebra.InfiniteSum.Basic +public import Mathlib.Topology.Algebra.Group.Pointwise +public import Mathlib.Topology.Algebra.Ring.Basic +public import Mathlib.Topology.Algebra.Star +public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +public import Mathlib.LinearAlgebra.Matrix.GeneralLinearGroup.FinTwo +public import Mathlib.LinearAlgebra.Matrix.Trace /-! # Topological properties of matrices @@ -37,6 +39,8 @@ This file is a place to collect topological results about matrices. * `Matrix.blockDiagonal'_tsum`: non-uniform block diagonal commutes with infinite sums -/ +@[expose] public section + open Matrix diff --git a/Mathlib/Topology/Instances/NNReal/Lemmas.lean b/Mathlib/Topology/Instances/NNReal/Lemmas.lean index 27fc5a7911a1b8..2fd68e5395dcfd 100644 --- a/Mathlib/Topology/Instances/NNReal/Lemmas.lean +++ b/Mathlib/Topology/Instances/NNReal/Lemmas.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Data.NNReal.Basic -import Mathlib.Topology.Algebra.InfiniteSum.Order -import Mathlib.Topology.Algebra.InfiniteSum.Ring -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.ContinuousMap.Basic +module + +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Topology.Algebra.InfiniteSum.Order +public import Mathlib.Topology.Algebra.InfiniteSum.Ring +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.ContinuousMap.Basic /-! # Topology on `ℝ≥0` @@ -33,6 +35,8 @@ a few of which rely on the fact that subtraction is continuous. -/ +@[expose] public section + noncomputable section open Filter Metric Set TopologicalSpace Topology diff --git a/Mathlib/Topology/Instances/Nat.lean b/Mathlib/Topology/Instances/Nat.lean index 73439431d5697e..33285578756afa 100644 --- a/Mathlib/Topology/Instances/Nat.lean +++ b/Mathlib/Topology/Instances/Nat.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Nat.Lattice -import Mathlib.Topology.Instances.Int +module + +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Topology.Instances.Int /-! # Topology on the natural numbers @@ -12,6 +14,8 @@ import Mathlib.Topology.Instances.Int The structure of a metric space on `ℕ` is introduced in this file, induced from `ℝ`. -/ +@[expose] public section + noncomputable section open Filter Metric Set Topology diff --git a/Mathlib/Topology/Instances/PNat.lean b/Mathlib/Topology/Instances/PNat.lean index acb1eb18686b1d..5ddccb4d7e1776 100644 --- a/Mathlib/Topology/Instances/PNat.lean +++ b/Mathlib/Topology/Instances/PNat.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ -import Mathlib.Topology.Instances.Nat +module + +public import Mathlib.Topology.Instances.Nat /-! # Topology on the positive natural numbers @@ -11,6 +13,8 @@ import Mathlib.Topology.Instances.Nat The structure of a metric space on `ℕ+` is introduced in this file, induced from `ℝ`. -/ +@[expose] public section + noncomputable section open Metric diff --git a/Mathlib/Topology/Instances/Rat.lean b/Mathlib/Topology/Instances/Rat.lean index 04caf1cc27beaf..a624d24c911b7b 100644 --- a/Mathlib/Topology/Instances/Rat.lean +++ b/Mathlib/Topology/Instances/Rat.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.NNRat.Order -import Mathlib.Topology.Algebra.Order.Archimedean -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.Instances.Nat +module + +public import Mathlib.Data.NNRat.Order +public import Mathlib.Topology.Algebra.Order.Archimedean +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.Instances.Nat /-! # Topology on the rational numbers @@ -14,6 +16,8 @@ import Mathlib.Topology.Instances.Nat The structure of a metric space on `ℚ` is introduced in this file, induced from `ℝ`. -/ +@[expose] public section + open Filter Metric Set Topology namespace Rat diff --git a/Mathlib/Topology/Instances/RatLemmas.lean b/Mathlib/Topology/Instances/RatLemmas.lean index 01197819ed4e2c..7a2bad9ac13f12 100644 --- a/Mathlib/Topology/Instances/RatLemmas.lean +++ b/Mathlib/Topology/Instances/RatLemmas.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Instances.Irrational -import Mathlib.Topology.Instances.Rat -import Mathlib.Topology.Compactification.OnePoint.Basic -import Mathlib.Topology.Metrizable.Uniformity +module + +public import Mathlib.Topology.Instances.Irrational +public import Mathlib.Topology.Instances.Rat +public import Mathlib.Topology.Compactification.OnePoint.Basic +public import Mathlib.Topology.Metrizable.Uniformity /-! # Additional lemmas about the topology on rational numbers @@ -27,6 +29,8 @@ compactification. - `ℚ∞` is used as a local notation for `OnePoint ℚ` -/ +@[expose] public section + open Set Metric Filter TopologicalSpace diff --git a/Mathlib/Topology/Instances/Real/Lemmas.lean b/Mathlib/Topology/Instances/Real/Lemmas.lean index 97d49d13011af4..7cfc4991030daa 100644 --- a/Mathlib/Topology/Instances/Real/Lemmas.lean +++ b/Mathlib/Topology/Instances/Real/Lemmas.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Field.Periodic -import Mathlib.Algebra.Field.Subfield.Basic -import Mathlib.Topology.Algebra.Order.Archimedean -import Mathlib.Topology.Algebra.Ring.Real +module + +public import Mathlib.Algebra.Field.Periodic +public import Mathlib.Algebra.Field.Subfield.Basic +public import Mathlib.Topology.Algebra.Order.Archimedean +public import Mathlib.Topology.Algebra.Ring.Real /-! # Topological properties of ℝ -/ +@[expose] public section + assert_not_exists UniformOnFun noncomputable section diff --git a/Mathlib/Topology/Instances/RealVectorSpace.lean b/Mathlib/Topology/Instances/RealVectorSpace.lean index 0fd3382672de66..a10ffc3318f41a 100644 --- a/Mathlib/Topology/Instances/RealVectorSpace.lean +++ b/Mathlib/Topology/Instances/RealVectorSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Module.Equiv -import Mathlib.Topology.Instances.Rat -import Mathlib.Algebra.Module.Rat +module + +public import Mathlib.Topology.Algebra.Module.Equiv +public import Mathlib.Topology.Instances.Rat +public import Mathlib.Algebra.Module.Rat /-! # Continuous additive maps are `ℝ`-linear @@ -14,6 +16,8 @@ In this file we prove that a continuous map `f : E →+ F` between two topologic over `ℝ` is `ℝ`-linear -/ +@[expose] public section + variable {E : Type*} [AddCommGroup E] [Module ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E] {F : Type*} [AddCommGroup F] [Module ℝ F] [TopologicalSpace F] [ContinuousSMul ℝ F] [T2Space F] diff --git a/Mathlib/Topology/Instances/Shrink.lean b/Mathlib/Topology/Instances/Shrink.lean index cf51bfc09c9afa..b2108eeee1bf15 100644 --- a/Mathlib/Topology/Instances/Shrink.lean +++ b/Mathlib/Topology/Instances/Shrink.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Logic.Small.Defs -import Mathlib.Topology.Defs.Induced -import Mathlib.Topology.Homeomorph.Defs +module + +public import Mathlib.Logic.Small.Defs +public import Mathlib.Topology.Defs.Induced +public import Mathlib.Topology.Homeomorph.Defs /-! # Topological space structure on `Shrink X` -/ +@[expose] public section + universe v u namespace Shrink diff --git a/Mathlib/Topology/Instances/Sign.lean b/Mathlib/Topology/Instances/Sign.lean index 79ba1cafeb8f8d..637bacdb93ca30 100644 --- a/Mathlib/Topology/Instances/Sign.lean +++ b/Mathlib/Topology/Instances/Sign.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Joseph Myers. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Myers -/ -import Mathlib.Data.Sign.Defs -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Data.Sign.Defs +public import Mathlib.Topology.Order.Basic /-! # Topology on `SignType` @@ -13,6 +15,8 @@ This file gives `SignType` the discrete topology, and proves continuity results in an `OrderTopology`. -/ +@[expose] public section + instance : TopologicalSpace SignType := ⊥ diff --git a/Mathlib/Topology/Instances/TrivSqZeroExt.lean b/Mathlib/Topology/Instances/TrivSqZeroExt.lean index 509f4029de1524..e4d25bdb2983ff 100644 --- a/Mathlib/Topology/Instances/TrivSqZeroExt.lean +++ b/Mathlib/Topology/Instances/TrivSqZeroExt.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser -/ -import Mathlib.Algebra.TrivSqZeroExt -import Mathlib.Topology.Algebra.InfiniteSum.Basic -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions -import Mathlib.Topology.Algebra.Module.LinearMapPiProd +module + +public import Mathlib.Algebra.TrivSqZeroExt +public import Mathlib.Topology.Algebra.InfiniteSum.Basic +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +public import Mathlib.Topology.Algebra.Module.LinearMapPiProd /-! # Topology on `TrivSqZeroExt R M` @@ -25,6 +27,8 @@ one value. -/ +@[expose] public section + open Topology variable {α S R M : Type*} diff --git a/Mathlib/Topology/Instances/ZMod.lean b/Mathlib/Topology/Instances/ZMod.lean index 63390413d1a64d..70c7fb17c1ba53 100644 --- a/Mathlib/Topology/Instances/ZMod.lean +++ b/Mathlib/Topology/Instances/ZMod.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Topology.Order -import Mathlib.Data.ZMod.Defs +module + +public import Mathlib.Topology.Order +public import Mathlib.Data.ZMod.Defs /-! # Topology on `ZMod N` @@ -12,6 +14,8 @@ import Mathlib.Data.ZMod.Defs We equip `ZMod N` with the discrete topology. -/ +@[expose] public section + namespace ZMod variable {N : ℕ} diff --git a/Mathlib/Topology/Instances/ZMultiples.lean b/Mathlib/Topology/Instances/ZMultiples.lean index 817fbc0d8d9554..ba22e52281b716 100644 --- a/Mathlib/Topology/Instances/ZMultiples.lean +++ b/Mathlib/Topology/Instances/ZMultiples.lean @@ -3,17 +3,21 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas -import Mathlib.Algebra.Module.Submodule.Lattice -import Mathlib.Topology.Algebra.IsUniformGroup.Basic -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.Metrizable.Basic +module + +public import Mathlib.Algebra.Group.Subgroup.ZPowers.Lemmas +public import Mathlib.Algebra.Module.Submodule.Lattice +public import Mathlib.Topology.Algebra.IsUniformGroup.Basic +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.Metrizable.Basic /-! The subgroup "multiples of `a`" (`zmultiples a`) is a discrete subgroup of `ℝ`, i.e. its intersection with compact sets is finite. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Irreducible.lean b/Mathlib/Topology/Irreducible.lean index 393a8e84278e18..c5361707d1ec5d 100644 --- a/Mathlib/Topology/Irreducible.lean +++ b/Mathlib/Topology/Irreducible.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Order.Minimal -import Mathlib.Order.Zorn -import Mathlib.Topology.ContinuousOn -import Mathlib.Tactic.StacksAttribute +module + +public import Mathlib.Order.Minimal +public import Mathlib.Order.Zorn +public import Mathlib.Topology.ContinuousOn +public import Mathlib.Tactic.StacksAttribute /-! # Irreducibility in topological spaces @@ -30,6 +32,8 @@ https://ncatlab.org/nlab/show/too+simple+to+be+simple#relationship_to_biased_def -/ +@[expose] public section + open Set Topology variable {X : Type*} {Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] {s t : Set X} diff --git a/Mathlib/Topology/IsClosedRestrict.lean b/Mathlib/Topology/IsClosedRestrict.lean index a1d533324f10e7..3626bc0f11df9a 100644 --- a/Mathlib/Topology/IsClosedRestrict.lean +++ b/Mathlib/Topology/IsClosedRestrict.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Peter Pfaffelhuber -/ -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Restriction of a closed compact set in a product space to a set of coordinates @@ -20,6 +22,8 @@ with `X = Sᶜ.restrict '' s` and `Y = Π i : S, α i`. -/ +@[expose] public section + open Set variable {ι : Type*} {α : ι → Type*} {s : Set (Π i, α i)} {i : ι} {S : Set ι} diff --git a/Mathlib/Topology/IsLocalHomeomorph.lean b/Mathlib/Topology/IsLocalHomeomorph.lean index 2c34c03331ea02..fcb70e473579d1 100644 --- a/Mathlib/Topology/IsLocalHomeomorph.lean +++ b/Mathlib/Topology/IsLocalHomeomorph.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Thomas Browning. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Thomas Browning -/ -import Mathlib.Topology.OpenPartialHomeomorph -import Mathlib.Topology.SeparatedMap +module + +public import Mathlib.Topology.OpenPartialHomeomorph +public import Mathlib.Topology.SeparatedMap /-! # Local homeomorphisms @@ -28,6 +30,8 @@ Note that `IsLocalHomeomorph` is a global condition. This is in contrast to -/ +@[expose] public section + open Topology diff --git a/Mathlib/Topology/JacobsonSpace.lean b/Mathlib/Topology/JacobsonSpace.lean index 7335fd7af601c8..6dd8a9895c96b9 100644 --- a/Mathlib/Topology/JacobsonSpace.lean +++ b/Mathlib/Topology/JacobsonSpace.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.LocalAtTarget -import Mathlib.Topology.Separation.Regular -import Mathlib.Tactic.StacksAttribute +module + +public import Mathlib.Topology.LocalAtTarget +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Tactic.StacksAttribute /-! @@ -24,6 +26,8 @@ import Mathlib.Tactic.StacksAttribute -/ +@[expose] public section + open Topology TopologicalSpace variable (X) {Y} [TopologicalSpace X] [TopologicalSpace Y] {f : X → Y} diff --git a/Mathlib/Topology/KrullDimension.lean b/Mathlib/Topology/KrullDimension.lean index d51d815836a27b..1add212d2c2da7 100644 --- a/Mathlib/Topology/KrullDimension.lean +++ b/Mathlib/Topology/KrullDimension.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Fangming Li -/ -import Mathlib.Order.KrullDimension -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Order.KrullDimension +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Sets.Closeds /-! # The Krull dimension of a topological space @@ -15,6 +17,8 @@ collection of all its subsets that are closed and irreducible. Unfolding this de the length of longest series of closed irreducible subsets ordered by inclusion. -/ +@[expose] public section + open Order TopologicalSpace Topology /-- diff --git a/Mathlib/Topology/List.lean b/Mathlib/Topology/List.lean index 82ddb47260febc..022b1ca6a469c3 100644 --- a/Mathlib/Topology/List.lean +++ b/Mathlib/Topology/List.lean @@ -3,16 +3,20 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl -/ -import Mathlib.Topology.Constructions -import Mathlib.Order.Filter.ListTraverse -import Mathlib.Tactic.AdaptationNote -import Mathlib.Topology.Algebra.Monoid.Defs +module + +public import Mathlib.Topology.Constructions +public import Mathlib.Order.Filter.ListTraverse +public import Mathlib.Tactic.AdaptationNote +public import Mathlib.Topology.Algebra.Monoid.Defs /-! # Topology on lists and vectors -/ +@[expose] public section + open TopologicalSpace Set Filter diff --git a/Mathlib/Topology/LocalAtTarget.lean b/Mathlib/Topology/LocalAtTarget.lean index fff820d633aefa..c15c8199de7292 100644 --- a/Mathlib/Topology/LocalAtTarget.lean +++ b/Mathlib/Topology/LocalAtTarget.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Sets.OpenCover -import Mathlib.Topology.LocallyClosed +module + +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Sets.OpenCover +public import Mathlib.Topology.LocallyClosed /-! # Properties of maps that are local at the target or at the source. @@ -25,6 +27,8 @@ We show that the following properties of continuous maps are local at the source -/ +@[expose] public section + open Filter Set TopologicalSpace Topology variable {α β : Type*} [TopologicalSpace α] [TopologicalSpace β] {f : α → β} diff --git a/Mathlib/Topology/LocallyClosed.lean b/Mathlib/Topology/LocallyClosed.lean index 9acc44ff881790..d9ab9406aabd7e 100644 --- a/Mathlib/Topology/LocallyClosed.lean +++ b/Mathlib/Topology/LocallyClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.Constructions -import Mathlib.Tactic.TFAE +module + +public import Mathlib.Topology.Constructions +public import Mathlib.Tactic.TFAE /-! # Locally closed sets @@ -25,6 +27,8 @@ import Mathlib.Tactic.TFAE -/ +@[expose] public section + open Set Topology open scoped Set.Notation diff --git a/Mathlib/Topology/LocallyConstant/Algebra.lean b/Mathlib/Topology/LocallyConstant/Algebra.lean index 48f14190e4489e..a1c3a4ec8f377b 100644 --- a/Mathlib/Topology/LocallyConstant/Algebra.lean +++ b/Mathlib/Topology/LocallyConstant/Algebra.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Algebra.Pi -import Mathlib.Algebra.GroupWithZero.Indicator -import Mathlib.LinearAlgebra.Pi -import Mathlib.Topology.LocallyConstant.Basic +module + +public import Mathlib.Algebra.Algebra.Pi +public import Mathlib.Algebra.GroupWithZero.Indicator +public import Mathlib.LinearAlgebra.Pi +public import Mathlib.Topology.LocallyConstant.Basic /-! # Algebraic structure on locally constant functions @@ -16,6 +18,8 @@ on the type of locally constant functions. -/ +@[expose] public section + namespace LocallyConstant variable {X Y : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/LocallyConstant/Basic.lean b/Mathlib/Topology/LocallyConstant/Basic.lean index 5842c330a16ff4..0386752b869376 100644 --- a/Mathlib/Topology/LocallyConstant/Basic.lean +++ b/Mathlib/Topology/LocallyConstant/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Johan Commelin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Tactic.FinCases -import Mathlib.Topology.Connected.LocallyConnected -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Tactic.FinCases +public import Mathlib.Topology.Connected.LocallyConnected +public import Mathlib.Topology.Sets.Closeds /-! # Locally constant functions @@ -22,6 +24,8 @@ This file sets up the theory of locally constant function from a topological spa * `LocallyConstant.comap` : pull-back of locally constant maps -/ +@[expose] public section + variable {X Y Z α : Type*} [TopologicalSpace X] open Set Filter diff --git a/Mathlib/Topology/LocallyFinite.lean b/Mathlib/Topology/LocallyFinite.lean index b1756e526e6c20..aff2ddac73c171 100644 --- a/Mathlib/Topology/LocallyFinite.lean +++ b/Mathlib/Topology/LocallyFinite.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.SmallSets -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Order.Filter.SmallSets +public import Mathlib.Topology.ContinuousOn /-! ### Locally finite families of sets @@ -15,6 +17,8 @@ there is a neighborhood of `x` which meets only finitely many sets in the family In this file we give the definition and prove basic properties of locally finite families of sets. -/ +@[expose] public section + -- locally finite family [General Topology (Bourbaki, 1995)] open Set Function Filter Topology diff --git a/Mathlib/Topology/LocallyFinsupp.lean b/Mathlib/Topology/LocallyFinsupp.lean index 6d9a63af3ba26c..ec614ca76e0a67 100644 --- a/Mathlib/Topology/LocallyFinsupp.lean +++ b/Mathlib/Topology/LocallyFinsupp.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Stefan Kebekus. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Stefan Kebekus -/ -import Mathlib.Algebra.Group.Subgroup.Defs -import Mathlib.Algebra.Group.Support -import Mathlib.Algebra.Order.Pi -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.DiscreteSubset +module + +public import Mathlib.Algebra.Group.Subgroup.Defs +public import Mathlib.Algebra.Group.Support +public import Mathlib.Algebra.Order.Pi +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.DiscreteSubset /-! # Type of functions with locally finite support @@ -19,6 +21,8 @@ commutative group. Throughout the present file, `X` denotes a topologically space and `U` a subset of `X`. -/ +@[expose] public section + open Filter Function Set Topology variable diff --git a/Mathlib/Topology/Maps/Basic.lean b/Mathlib/Topology/Maps/Basic.lean index bcd482865ac9ed..2e034883f556e0 100644 --- a/Mathlib/Topology/Maps/Basic.lean +++ b/Mathlib/Topology/Maps/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.Order -import Mathlib.Topology.NhdsSet +module + +public import Mathlib.Topology.Order +public import Mathlib.Topology.NhdsSet /-! # Specific classes of maps between topological spaces @@ -42,6 +44,8 @@ open map, closed map, embedding, quotient map, identification map -/ +@[expose] public section + open Set Filter Function diff --git a/Mathlib/Topology/Maps/OpenQuotient.lean b/Mathlib/Topology/Maps/OpenQuotient.lean index 7bf63b630931cf..80dcf871fe4abc 100644 --- a/Mathlib/Topology/Maps/OpenQuotient.lean +++ b/Mathlib/Topology/Maps/OpenQuotient.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Maps.Basic +module + +public import Mathlib.Topology.Maps.Basic /-! # Open quotient maps @@ -22,6 +24,8 @@ Contrary to general quotient maps, the category of open quotient maps is closed under `Prod.map`. -/ +@[expose] public section + open Filter Function Set Topology variable {X Y Z : Type*} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f : X → Y} diff --git a/Mathlib/Topology/Maps/Proper/Basic.lean b/Mathlib/Topology/Maps/Proper/Basic.lean index 34316d74120195..eac1d10cc55585 100644 --- a/Mathlib/Topology/Maps/Proper/Basic.lean +++ b/Mathlib/Topology/Maps/Proper/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Etienne Marion -/ -import Mathlib.Topology.Homeomorph.Lemmas +module + +public import Mathlib.Topology.Homeomorph.Lemmas /-! # Proper maps between topological spaces @@ -58,6 +60,8 @@ so don't hesitate to have a look! * [Stacks: Characterizing proper maps](https://stacks.math.columbia.edu/tag/005M) -/ +@[expose] public section + assert_not_exists StoneCech open Filter Topology Function Set diff --git a/Mathlib/Topology/Maps/Proper/CompactlyGenerated.lean b/Mathlib/Topology/Maps/Proper/CompactlyGenerated.lean index 6213ed0602433d..a70cd2f3267f85 100644 --- a/Mathlib/Topology/Maps/Proper/CompactlyGenerated.lean +++ b/Mathlib/Topology/Maps/Proper/CompactlyGenerated.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Etienne Marion -/ -import Mathlib.Topology.Compactness.CompactlyGeneratedSpace -import Mathlib.Topology.Maps.Proper.Basic +module + +public import Mathlib.Topology.Compactness.CompactlyGeneratedSpace +public import Mathlib.Topology.Maps.Proper.Basic /-! # A map is proper iff preimage of compact sets are compact @@ -13,6 +15,8 @@ This file proves that if `Y` is a Hausdorff and compactly generated space, a con `f : X → Y` is proper if and only if preimage of compact sets are compact. -/ +@[expose] public section + open Set Filter variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] diff --git a/Mathlib/Topology/Maps/Proper/UniversallyClosed.lean b/Mathlib/Topology/Maps/Proper/UniversallyClosed.lean index 35cef6916bacc5..89606a6da0be44 100644 --- a/Mathlib/Topology/Maps/Proper/UniversallyClosed.lean +++ b/Mathlib/Topology/Maps/Proper/UniversallyClosed.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker, Etienne Marion -/ -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.Topology.Filter -import Mathlib.Topology.Maps.Proper.Basic +module + +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.Topology.Filter +public import Mathlib.Topology.Maps.Proper.Basic /-! # A map is proper iff it is continuous and universally closed -/ +@[expose] public section + open Filter universe u v diff --git a/Mathlib/Topology/MetricSpace/Algebra.lean b/Mathlib/Topology/MetricSpace/Algebra.lean index 14b5b9b5cc276b..6cff16484c05a8 100644 --- a/Mathlib/Topology/MetricSpace/Algebra.lean +++ b/Mathlib/Topology/MetricSpace/Algebra.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth -/ -import Mathlib.Topology.Algebra.MulAction -import Mathlib.Topology.Algebra.Order.Field -import Mathlib.Topology.Algebra.SeparationQuotient.Basic -import Mathlib.Topology.Algebra.UniformMulAction -import Mathlib.Topology.MetricSpace.Lipschitz +module + +public import Mathlib.Topology.Algebra.MulAction +public import Mathlib.Topology.Algebra.Order.Field +public import Mathlib.Topology.Algebra.SeparationQuotient.Basic +public import Mathlib.Topology.Algebra.UniformMulAction +public import Mathlib.Topology.MetricSpace.Lipschitz /-! # Compatibility of algebraic operations with metric space structures @@ -25,6 +27,8 @@ be an intermediate typeclass for uniform spaces, but the algebraic hierarchy the -/ +@[expose] public section + open NNReal diff --git a/Mathlib/Topology/MetricSpace/Antilipschitz.lean b/Mathlib/Topology/MetricSpace/Antilipschitz.lean index d142bd399994b5..45280727dcbc23 100644 --- a/Mathlib/Topology/MetricSpace/Antilipschitz.lean +++ b/Mathlib/Topology/MetricSpace/Antilipschitz.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.UniformSpace.CompleteSeparated -import Mathlib.Topology.EMetricSpace.Lipschitz -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.MetricSpace.Bounded +module + +public import Mathlib.Topology.UniformSpace.CompleteSeparated +public import Mathlib.Topology.EMetricSpace.Lipschitz +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.MetricSpace.Bounded /-! # Antilipschitz functions @@ -22,6 +24,8 @@ coercions both to `ℝ` and `ℝ≥0∞`. We do not require `0 < K` in the defin we do not have a `posreal` type. -/ +@[expose] public section + open Bornology Filter Set Topology open scoped NNReal ENNReal Uniformity diff --git a/Mathlib/Topology/MetricSpace/Basic.lean b/Mathlib/Topology/MetricSpace/Basic.lean index 306b0d64226f66..1b9154233c50d1 100644 --- a/Mathlib/Topology/MetricSpace/Basic.lean +++ b/Mathlib/Topology/MetricSpace/Basic.lean @@ -3,16 +3,20 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.MetricSpace.Pseudo.Basic -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas -import Mathlib.Topology.MetricSpace.Pseudo.Pi -import Mathlib.Topology.MetricSpace.Defs +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Basic +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +public import Mathlib.Topology.MetricSpace.Pseudo.Pi +public import Mathlib.Topology.MetricSpace.Defs /-! # Basic properties of metric spaces, and instances. -/ +@[expose] public section + open Set Filter Bornology Topology open scoped NNReal Uniformity diff --git a/Mathlib/Topology/MetricSpace/Bilipschitz.lean b/Mathlib/Topology/MetricSpace/Bilipschitz.lean index 0e69f60fc5dbcc..c590ea075eaf4c 100644 --- a/Mathlib/Topology/MetricSpace/Bilipschitz.lean +++ b/Mathlib/Topology/MetricSpace/Bilipschitz.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Topology.MetricSpace.Antilipschitz -import Mathlib.Topology.MetricSpace.Lipschitz +module + +public import Mathlib.Topology.MetricSpace.Antilipschitz +public import Mathlib.Topology.MetricSpace.Lipschitz /-! # Bilipschitz equivalence @@ -27,6 +29,8 @@ choose to use these convenience lemmas. This encourages good hygiene in the deve synonyms. -/ +@[expose] public section + open NNReal section Uniformity diff --git a/Mathlib/Topology/MetricSpace/Bounded.lean b/Mathlib/Topology/MetricSpace/Bounded.lean index 94498d8a3aafe5..ee00521861948a 100644 --- a/Mathlib/Topology/MetricSpace/Bounded.lean +++ b/Mathlib/Topology/MetricSpace/Bounded.lean @@ -3,12 +3,14 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.Order.Bornology -import Mathlib.Topology.Order.Compact -import Mathlib.Topology.MetricSpace.ProperSpace -import Mathlib.Topology.MetricSpace.Cauchy -import Mathlib.Topology.MetricSpace.Defs -import Mathlib.Topology.EMetricSpace.Diam +module + +public import Mathlib.Topology.Order.Bornology +public import Mathlib.Topology.Order.Compact +public import Mathlib.Topology.MetricSpace.ProperSpace +public import Mathlib.Topology.MetricSpace.Cauchy +public import Mathlib.Topology.MetricSpace.Defs +public import Mathlib.Topology.EMetricSpace.Diam /-! ## Boundedness in (pseudo)-metric spaces @@ -32,6 +34,8 @@ This file contains one definition, and various results on boundedness in pseudo- metric, pseudo_metric, bounded, diameter, Heine-Borel theorem -/ +@[expose] public section + assert_not_exists Module.Basis open Set Filter Bornology @@ -564,7 +568,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: the diameter of a set is always nonnegative. -/ @[positivity Metric.diam _] -def evalDiam : PositivityExt where eval {u α} _zα _pα e := do +meta def evalDiam : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(@Metric.diam _ $inst $s) => assertInstancesCommute diff --git a/Mathlib/Topology/MetricSpace/BundledFun.lean b/Mathlib/Topology/MetricSpace/BundledFun.lean index c8b5c74cfe3ec7..9a34e923b80010 100644 --- a/Mathlib/Topology/MetricSpace/BundledFun.lean +++ b/Mathlib/Topology/MetricSpace/BundledFun.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Algebra.Order.Monoid.Defs -import Mathlib.Topology.UniformSpace.Ultra.Basic +module + +public import Mathlib.Algebra.Order.Monoid.Defs +public import Mathlib.Topology.UniformSpace.Ultra.Basic /-! # Pseudometrics as bundled functions @@ -24,6 +26,8 @@ In most cases, the codomain will be a linear ordered additive monoid like -/ +@[expose] public section + variable {X R : Type*} variable (X R) in diff --git a/Mathlib/Topology/MetricSpace/CantorScheme.lean b/Mathlib/Topology/MetricSpace/CantorScheme.lean index 3100553518d8da..6b3c047628c390 100644 --- a/Mathlib/Topology/MetricSpace/CantorScheme.lean +++ b/Mathlib/Topology/MetricSpace/CantorScheme.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ -import Mathlib.Topology.MetricSpace.PiNat +module + +public import Mathlib.Topology.MetricSpace.PiNat /-! # (Topological) Schemes and their induced maps @@ -38,6 +40,8 @@ scheme, cantor scheme, lusin scheme, approximation. -/ +@[expose] public section + namespace CantorScheme open List Function Filter Set PiNat Topology diff --git a/Mathlib/Topology/MetricSpace/CauSeqFilter.lean b/Mathlib/Topology/MetricSpace/CauSeqFilter.lean index 6b737111584cb6..7b8a9866108f5e 100644 --- a/Mathlib/Topology/MetricSpace/CauSeqFilter.lean +++ b/Mathlib/Topology/MetricSpace/CauSeqFilter.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Robert Y. Lewis. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Robert Y. Lewis, Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Field.Basic -import Mathlib.Topology.MetricSpace.Cauchy +module + +public import Mathlib.Analysis.Normed.Field.Basic +public import Mathlib.Topology.MetricSpace.Cauchy /-! # Completeness in terms of `Cauchy` filters vs `isCauSeq` sequences @@ -14,6 +16,8 @@ is complete in terms of `Cauchy` filter if and only if it is complete in terms of `CauSeq` Cauchy sequences. -/ +@[expose] public section + universe u v open Set Filter Topology diff --git a/Mathlib/Topology/MetricSpace/Cauchy.lean b/Mathlib/Topology/MetricSpace/Cauchy.lean index f5941a2c8c4f5a..cd2e563b686ccc 100644 --- a/Mathlib/Topology/MetricSpace/Cauchy.lean +++ b/Mathlib/Topology/MetricSpace/Cauchy.lean @@ -3,8 +3,10 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas -import Mathlib.Topology.EMetricSpace.Basic +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +public import Mathlib.Topology.EMetricSpace.Basic /-! ## Cauchy sequences in (pseudo-)metric spaces @@ -21,6 +23,8 @@ Various results on Cauchy sequences in (pseudo-)metric spaces, including metric, pseudo_metric, Cauchy sequence -/ +@[expose] public section + open Filter open scoped Uniformity Topology diff --git a/Mathlib/Topology/MetricSpace/Closeds.lean b/Mathlib/Topology/MetricSpace/Closeds.lean index 5fe1b89027fbe0..35e57407f0519d 100644 --- a/Mathlib/Topology/MetricSpace/Closeds.lean +++ b/Mathlib/Topology/MetricSpace/Closeds.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Topology.MetricSpace.HausdorffDistance -import Mathlib.Topology.Sets.Compacts +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Topology.MetricSpace.HausdorffDistance +public import Mathlib.Topology.Sets.Compacts /-! # Closed subsets @@ -22,6 +24,8 @@ inherits a metric space structure from the Hausdorff distance, as the Hausdorff always finite in this context. -/ +@[expose] public section + noncomputable section universe u diff --git a/Mathlib/Topology/MetricSpace/Completion.lean b/Mathlib/Topology/MetricSpace/Completion.lean index 6d340937a35a6c..a813d2d39968fd 100644 --- a/Mathlib/Topology/MetricSpace/Completion.lean +++ b/Mathlib/Topology/MetricSpace/Completion.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Algebra.GroupCompletion -import Mathlib.Topology.Algebra.Ring.Real -import Mathlib.Topology.MetricSpace.Algebra -import Mathlib.Topology.MetricSpace.Isometry -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Topology.UniformSpace.Completion +module + +public import Mathlib.Topology.Algebra.GroupCompletion +public import Mathlib.Topology.Algebra.Ring.Real +public import Mathlib.Topology.MetricSpace.Algebra +public import Mathlib.Topology.MetricSpace.Isometry +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Topology.UniformSpace.Completion /-! # The completion of a metric space @@ -19,6 +21,8 @@ by extending the distance to the completion and checking that it is indeed a dis it defines the same uniformity as the already defined uniform structure on the completion -/ +@[expose] public section + open Set Filter UniformSpace Metric diff --git a/Mathlib/Topology/MetricSpace/Congruence.lean b/Mathlib/Topology/MetricSpace/Congruence.lean index 71e8215dd0184b..db59c3dd4ef115 100644 --- a/Mathlib/Topology/MetricSpace/Congruence.lean +++ b/Mathlib/Topology/MetricSpace/Congruence.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid, Newell Jensen -/ -import Mathlib.Topology.MetricSpace.Pseudo.Defs +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Defs /-! # Congruences @@ -26,6 +28,8 @@ For more details see the [Zulip discussion](https://leanprover.zulipchat.com/#na * `v₁ ≅ v₂`: for `Congruent v₁ v₂`. -/ +@[expose] public section + variable {ι ι' : Type*} {P₁ P₂ P₃ : Type*} {v₁ : ι → P₁} {v₂ : ι → P₂} {v₃ : ι → P₃} section PseudoEMetricSpace diff --git a/Mathlib/Topology/MetricSpace/Contracting.lean b/Mathlib/Topology/MetricSpace/Contracting.lean index 23040503bd6a01..cc45eafe89adec 100644 --- a/Mathlib/Topology/MetricSpace/Contracting.lean +++ b/Mathlib/Topology/MetricSpace/Contracting.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Rohan Mitta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rohan Mitta, Kevin Buzzard, Alistair Tucker, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Data.Setoid.Basic -import Mathlib.Dynamics.FixedPoints.Topology -import Mathlib.Topology.MetricSpace.Lipschitz +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Data.Setoid.Basic +public import Mathlib.Dynamics.FixedPoints.Topology +public import Mathlib.Topology.MetricSpace.Lipschitz /-! # Contracting maps @@ -28,6 +30,8 @@ of convergence, and some properties of the map sending a contracting map to its contracting map, fixed point, Banach fixed point theorem -/ +@[expose] public section + open NNReal Topology ENNReal Filter Function variable {α : Type*} diff --git a/Mathlib/Topology/MetricSpace/Defs.lean b/Mathlib/Topology/MetricSpace/Defs.lean index 31dee435914b9c..94de4d50dab5a2 100644 --- a/Mathlib/Topology/MetricSpace/Defs.lean +++ b/Mathlib/Topology/MetricSpace/Defs.lean @@ -3,7 +3,9 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.MetricSpace.Pseudo.Defs +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Defs /-! # Metric spaces @@ -25,6 +27,8 @@ for `PseudoMetricSpace`s in `PseudoMetric.lean`. metric, pseudo_metric, dist -/ +@[expose] public section + assert_not_exists Finset.sum open Set Filter Bornology diff --git a/Mathlib/Topology/MetricSpace/Dilation.lean b/Mathlib/Topology/MetricSpace/Dilation.lean index 02bb938271cbd6..9c2b36ad405666 100644 --- a/Mathlib/Topology/MetricSpace/Dilation.lean +++ b/Mathlib/Topology/MetricSpace/Dilation.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Hanting Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Hanting Zhang -/ -import Mathlib.Topology.MetricSpace.Antilipschitz -import Mathlib.Topology.MetricSpace.Isometry -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Data.FunLike.Basic +module + +public import Mathlib.Topology.MetricSpace.Antilipschitz +public import Mathlib.Topology.MetricSpace.Isometry +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Data.FunLike.Basic /-! # Dilations @@ -48,6 +50,8 @@ needed. - [Marcel Berger, *Geometry*][berger1987] -/ +@[expose] public section + noncomputable section open Bornology Function Set Topology diff --git a/Mathlib/Topology/MetricSpace/DilationEquiv.lean b/Mathlib/Topology/MetricSpace/DilationEquiv.lean index 3bb1ed0663dbcf..2fc0e7b4a2e7a9 100644 --- a/Mathlib/Topology/MetricSpace/DilationEquiv.lean +++ b/Mathlib/Topology/MetricSpace/DilationEquiv.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.MetricSpace.Dilation +module + +public import Mathlib.Topology.MetricSpace.Dilation /-! # Dilation equivalence @@ -19,6 +21,8 @@ We also develop basic API about these equivalences. - [after-port] Add `DilationEquivInstance` for `IsometryEquiv`. -/ +@[expose] public section + open scoped NNReal ENNReal open Function Set Filter Bornology open Dilation (ratio ratio_ne_zero ratio_pos edist_eq) diff --git a/Mathlib/Topology/MetricSpace/Equicontinuity.lean b/Mathlib/Topology/MetricSpace/Equicontinuity.lean index 2a235ecaf2954c..861b2790f01be0 100644 --- a/Mathlib/Topology/MetricSpace/Equicontinuity.lean +++ b/Mathlib/Topology/MetricSpace/Equicontinuity.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.UniformSpace.Equicontinuity -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +module + +public import Mathlib.Topology.UniformSpace.Equicontinuity +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas /-! # Equicontinuity in metric spaces @@ -31,6 +33,8 @@ and we prove that functions sharing a common (local or global) continuity modulu equicontinuity, continuity modulus -/ +@[expose] public section + open Filter Topology Uniformity diff --git a/Mathlib/Topology/MetricSpace/Gluing.lean b/Mathlib/Topology/MetricSpace/Gluing.lean index e67f82da3e15f9..62a284a4dee032 100644 --- a/Mathlib/Topology/MetricSpace/Gluing.lean +++ b/Mathlib/Topology/MetricSpace/Gluing.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Order.ConditionallyCompleteLattice.Group -import Mathlib.Topology.MetricSpace.Isometry +module + +public import Mathlib.Order.ConditionallyCompleteLattice.Group +public import Mathlib.Topology.MetricSpace.Isometry /-! # Metric space gluing @@ -47,6 +49,8 @@ isometrically and in a way compatible with `f n`. -/ +@[expose] public section + noncomputable section universe u v w diff --git a/Mathlib/Topology/MetricSpace/GromovHausdorff.lean b/Mathlib/Topology/MetricSpace/GromovHausdorff.lean index c346c61c8c22a2..33061d6a57f5af 100644 --- a/Mathlib/Topology/MetricSpace/GromovHausdorff.lean +++ b/Mathlib/Topology/MetricSpace/GromovHausdorff.lean @@ -3,12 +3,14 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Logic.Encodable.Pi -import Mathlib.SetTheory.Cardinal.Basic -import Mathlib.Topology.MetricSpace.Closeds -import Mathlib.Topology.MetricSpace.Completion -import Mathlib.Topology.MetricSpace.GromovHausdorffRealized -import Mathlib.Topology.MetricSpace.Kuratowski +module + +public import Mathlib.Logic.Encodable.Pi +public import Mathlib.SetTheory.Cardinal.Basic +public import Mathlib.Topology.MetricSpace.Closeds +public import Mathlib.Topology.MetricSpace.Completion +public import Mathlib.Topology.MetricSpace.GromovHausdorffRealized +public import Mathlib.Topology.MetricSpace.Kuratowski /-! # Gromov-Hausdorff distance @@ -40,6 +42,8 @@ i.e., it is complete and second countable. We also prove the Gromov compactness -/ +@[expose] public section + noncomputable section open scoped Topology ENNReal Cardinal diff --git a/Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean b/Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean index 1eb6e1640b9266..34b492bd19d683 100644 --- a/Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean +++ b/Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.ContinuousMap.Bounded.ArzelaAscoli -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.MetricSpace.Gluing -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Topology.ContinuousMap.Bounded.ArzelaAscoli +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.MetricSpace.Gluing +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # The Gromov-Hausdorff distance is realized @@ -30,6 +32,8 @@ it is compact, and one can find such a distance which is minimal. This distance space structure on `X ⊕ Y`. The corresponding metric quotient is `OptimalGHCoupling X Y`. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/MetricSpace/HausdorffDimension.lean b/Mathlib/Topology/MetricSpace/HausdorffDimension.lean index 118b026e0d3f71..6c7bfd24b6fbb3 100644 --- a/Mathlib/Topology/MetricSpace/HausdorffDimension.lean +++ b/Mathlib/Topology/MetricSpace/HausdorffDimension.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Calculus.ContDiff.RCLike -import Mathlib.MeasureTheory.Measure.Hausdorff +module + +public import Mathlib.Analysis.Calculus.ContDiff.RCLike +public import Mathlib.MeasureTheory.Measure.Hausdorff /-! # Hausdorff dimension @@ -81,6 +83,8 @@ We use the following notation localized in `MeasureTheory`. It is defined in Hausdorff measure, Hausdorff dimension, dimension -/ +@[expose] public section + open scoped MeasureTheory ENNReal NNReal Topology diff --git a/Mathlib/Topology/MetricSpace/HausdorffDistance.lean b/Mathlib/Topology/MetricSpace/HausdorffDistance.lean index 3faa1a81889ac0..1c5c1f7c240101 100644 --- a/Mathlib/Topology/MetricSpace/HausdorffDistance.lean +++ b/Mathlib/Topology/MetricSpace/HausdorffDistance.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Topology.MetricSpace.IsometricSMul -import Mathlib.Tactic.Finiteness +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Topology.MetricSpace.IsometricSMul +public import Mathlib.Tactic.Finiteness /-! # Hausdorff distance @@ -49,6 +51,8 @@ This file introduces: metric space, Hausdorff distance -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/MetricSpace/Holder.lean b/Mathlib/Topology/MetricSpace/Holder.lean index 90427a6a259564..515021f1755150 100644 --- a/Mathlib/Topology/MetricSpace/Holder.lean +++ b/Mathlib/Topology/MetricSpace/Holder.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Analysis.SpecialFunctions.Pow.Continuity +module + +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity /-! # Hölder continuous functions @@ -32,6 +34,8 @@ Hölder continuity, Lipschitz continuity -/ +@[expose] public section + variable {X Y Z : Type*} diff --git a/Mathlib/Topology/MetricSpace/HolderNorm.lean b/Mathlib/Topology/MetricSpace/HolderNorm.lean index 8774edb3463fac..71b60c5119a386 100644 --- a/Mathlib/Topology/MetricSpace/HolderNorm.lean +++ b/Mathlib/Topology/MetricSpace/HolderNorm.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Kexing Ying. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kexing Ying -/ -import Mathlib.Topology.MetricSpace.Holder +module + +public import Mathlib.Topology.MetricSpace.Holder /-! # Hölder norm @@ -30,6 +32,8 @@ Hölder norm, Hoelder norm, Holder norm -/ +@[expose] public section + variable {X Y : Type*} open Filter Set diff --git a/Mathlib/Topology/MetricSpace/Infsep.lean b/Mathlib/Topology/MetricSpace/Infsep.lean index ab689dbcc77701..c53dcd95d34748 100644 --- a/Mathlib/Topology/MetricSpace/Infsep.lean +++ b/Mathlib/Topology/MetricSpace/Infsep.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Wrenna Robson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Wrenna Robson -/ -import Mathlib.Topology.MetricSpace.Basic +module + +public import Mathlib.Topology.MetricSpace.Basic /-! # Infimum separation @@ -25,6 +27,8 @@ All lemmas and definitions are in the `Set` namespace to give access to dot nota -/ +@[expose] public section + variable {α β : Type*} diff --git a/Mathlib/Topology/MetricSpace/IsometricSMul.lean b/Mathlib/Topology/MetricSpace/IsometricSMul.lean index 9509abf9de811c..a891bd06952901 100644 --- a/Mathlib/Topology/MetricSpace/IsometricSMul.lean +++ b/Mathlib/Topology/MetricSpace/IsometricSMul.lean @@ -3,11 +3,13 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic -import Mathlib.Algebra.Ring.Pointwise.Set -import Mathlib.Topology.Algebra.ConstMulAction -import Mathlib.Topology.MetricSpace.Isometry -import Mathlib.Topology.MetricSpace.Lipschitz +module + +public import Mathlib.Algebra.GroupWithZero.Pointwise.Set.Basic +public import Mathlib.Algebra.Ring.Pointwise.Set +public import Mathlib.Topology.Algebra.ConstMulAction +public import Mathlib.Topology.MetricSpace.Isometry +public import Mathlib.Topology.MetricSpace.Lipschitz /-! # Group actions by isometries @@ -29,6 +31,8 @@ these two notions are equivalent. A group with a right-invariant metric can be a `NormedGroup`. -/ +@[expose] public section + open Set diff --git a/Mathlib/Topology/MetricSpace/Isometry.lean b/Mathlib/Topology/MetricSpace/Isometry.lean index eaf4da47655a9d..3d9dad731f6d8d 100644 --- a/Mathlib/Topology/MetricSpace/Isometry.lean +++ b/Mathlib/Topology/MetricSpace/Isometry.lean @@ -3,10 +3,12 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Data.Fintype.Lattice -import Mathlib.Data.Fintype.Sum -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.MetricSpace.Antilipschitz +module + +public import Mathlib.Data.Fintype.Lattice +public import Mathlib.Data.Fintype.Sum +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.MetricSpace.Antilipschitz /-! # Isometries @@ -19,6 +21,8 @@ Since a lot of elementary properties don't require `eq_of_dist_eq_zero` we start theory for `PseudoMetricSpace` and we specialize to `MetricSpace` when needed. -/ +@[expose] public section + open Topology noncomputable section diff --git a/Mathlib/Topology/MetricSpace/Kuratowski.lean b/Mathlib/Topology/MetricSpace/Kuratowski.lean index 2e5f60be056e26..d0519082b618d9 100644 --- a/Mathlib/Topology/MetricSpace/Kuratowski.lean +++ b/Mathlib/Topology/MetricSpace/Kuratowski.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.Normed.Lp.lpSpace -import Mathlib.Topology.Sets.Compacts +module + +public import Mathlib.Analysis.Normed.Lp.lpSpace +public import Mathlib.Topology.Sets.Compacts /-! # The Kuratowski embedding @@ -14,6 +16,8 @@ Any partially defined Lipschitz map into `ℓ^∞` can be extended to the whole -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/MetricSpace/Lipschitz.lean b/Mathlib/Topology/MetricSpace/Lipschitz.lean index 535e61e77b7472..ef734ac8f7ca6e 100644 --- a/Mathlib/Topology/MetricSpace/Lipschitz.lean +++ b/Mathlib/Topology/MetricSpace/Lipschitz.lean @@ -3,12 +3,14 @@ Copyright (c) 2018 Rohan Mitta. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rohan Mitta, Kevin Buzzard, Alistair Tucker, Johannes Hölzl, Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.ProjIcc -import Mathlib.Topology.Bornology.Hom -import Mathlib.Topology.EMetricSpace.Lipschitz -import Mathlib.Topology.Maps.Proper.Basic -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.MetricSpace.Bounded +module + +public import Mathlib.Order.Interval.Set.ProjIcc +public import Mathlib.Topology.Bornology.Hom +public import Mathlib.Topology.EMetricSpace.Lipschitz +public import Mathlib.Topology.Maps.Proper.Basic +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.MetricSpace.Bounded /-! # Lipschitz continuous functions @@ -30,6 +32,8 @@ coercions both to `ℝ` and `ℝ≥0∞`. Constructors whose names end with `'` argument, and return `LipschitzWith (Real.toNNReal K) f`. -/ +@[expose] public section + assert_not_exists Module.Basis Ideal ContinuousMul universe u v w x diff --git a/Mathlib/Topology/MetricSpace/MetricSeparated.lean b/Mathlib/Topology/MetricSpace/MetricSeparated.lean index 16328429659671..6c7841352c4e5a 100644 --- a/Mathlib/Topology/MetricSpace/MetricSeparated.lean +++ b/Mathlib/Topology/MetricSpace/MetricSeparated.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov, Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Topology.EMetricSpace.Defs +module + +public import Mathlib.Topology.EMetricSpace.Defs /-! # Metric separation @@ -19,6 +21,8 @@ are separated if the distance between `x ∈ s` and `y ∈ t` is bounded from be constant. -/ +@[expose] public section + open EMetric Set open scoped ENNReal diff --git a/Mathlib/Topology/MetricSpace/PartitionOfUnity.lean b/Mathlib/Topology/MetricSpace/PartitionOfUnity.lean index a7350021d85fdc..19f2fc290ad66f 100644 --- a/Mathlib/Topology/MetricSpace/PartitionOfUnity.lean +++ b/Mathlib/Topology/MetricSpace/PartitionOfUnity.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.EMetricSpace.Paracompact -import Mathlib.Topology.Instances.ENNReal.Lemmas -import Mathlib.Analysis.Convex.PartitionOfUnity +module + +public import Mathlib.Topology.EMetricSpace.Paracompact +public import Mathlib.Topology.Instances.ENNReal.Lemmas +public import Mathlib.Analysis.Convex.PartitionOfUnity /-! # Lemmas about (e)metric spaces that need partition of unity @@ -25,6 +27,8 @@ lemma. metric space, partition of unity, locally finite -/ +@[expose] public section + open Topology ENNReal NNReal Filter Set Function TopologicalSpace variable {ι X : Type*} diff --git a/Mathlib/Topology/MetricSpace/Perfect.lean b/Mathlib/Topology/MetricSpace/Perfect.lean index 690b16205d45b9..9fa97af63c4ba4 100644 --- a/Mathlib/Topology/MetricSpace/Perfect.lean +++ b/Mathlib/Topology/MetricSpace/Perfect.lean @@ -3,11 +3,12 @@ Copyright (c) 2022 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ +module -import Mathlib.Topology.Perfect -import Mathlib.Topology.MetricSpace.Polish -import Mathlib.Topology.MetricSpace.CantorScheme -import Mathlib.Topology.Metrizable.Real +public import Mathlib.Topology.Perfect +public import Mathlib.Topology.MetricSpace.Polish +public import Mathlib.Topology.MetricSpace.CantorScheme +public import Mathlib.Topology.Metrizable.Real /-! # Perfect Sets @@ -29,6 +30,8 @@ including a version of the Cantor-Bendixson Theorem. accumulation point, perfect set, cantor-bendixson. -/ +@[expose] public section + open Set Filter section CantorInjMetric diff --git a/Mathlib/Topology/MetricSpace/PiNat.lean b/Mathlib/Topology/MetricSpace/PiNat.lean index 24f298b155b918..0d2ea3b0aa89a4 100644 --- a/Mathlib/Topology/MetricSpace/PiNat.lean +++ b/Mathlib/Topology/MetricSpace/PiNat.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Algebra.MetricSpace.Lipschitz -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Topology.Algebra.MetricSpace.Lipschitz +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # Topological study of spaces `Π (n : ℕ), E n` @@ -48,6 +50,8 @@ in general), and `ι` is countable. the uniformity is definitionally the product uniformity. Not registered as an instance. -/ +@[expose] public section + noncomputable section open Topology TopologicalSpace Set Metric Filter Function diff --git a/Mathlib/Topology/MetricSpace/Polish.lean b/Mathlib/Topology/MetricSpace/Polish.lean index f5e01994b646c7..059816f1fdd4c3 100644 --- a/Mathlib/Topology/MetricSpace/Polish.lean +++ b/Mathlib/Topology/MetricSpace/Polish.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.MetricSpace.PiNat -import Mathlib.Topology.Metrizable.CompletelyMetrizable -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.Topology.MetricSpace.PiNat +public import Mathlib.Topology.Metrizable.CompletelyMetrizable +public import Mathlib.Topology.Sets.Opens /-! # Polish spaces @@ -39,6 +41,8 @@ with additional properties: `isClopenable_iff_measurableSet`. -/ +@[expose] public section + noncomputable section open Filter Function Metric TopologicalSpace Set Topology diff --git a/Mathlib/Topology/MetricSpace/ProperSpace.lean b/Mathlib/Topology/MetricSpace/ProperSpace.lean index b95d93b6178dd6..c221ae71206835 100644 --- a/Mathlib/Topology/MetricSpace/ProperSpace.lean +++ b/Mathlib/Topology/MetricSpace/ProperSpace.lean @@ -3,11 +3,12 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ +module -import Mathlib.Topology.MetricSpace.Pseudo.Basic -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas -import Mathlib.Topology.MetricSpace.Pseudo.Pi -import Mathlib.Topology.Order.IsLUB +public import Mathlib.Topology.MetricSpace.Pseudo.Basic +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +public import Mathlib.Topology.MetricSpace.Pseudo.Pi +public import Mathlib.Topology.Order.IsLUB /-! ## Proper spaces @@ -22,6 +23,8 @@ import Mathlib.Topology.Order.IsLUB -/ +@[expose] public section + open Set Filter universe u v w diff --git a/Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean b/Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean index 0bcc90682d7c03..dc28e5943cd726 100644 --- a/Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean +++ b/Mathlib/Topology/MetricSpace/ProperSpace/Lemmas.lean @@ -3,11 +3,12 @@ Copyright (c) 2018 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ +module -import Mathlib.Topology.Order.Compact -import Mathlib.Topology.MetricSpace.ProperSpace -import Mathlib.Topology.Order.IntermediateValue -import Mathlib.Topology.Order.LocalExtr +public import Mathlib.Topology.Order.Compact +public import Mathlib.Topology.MetricSpace.ProperSpace +public import Mathlib.Topology.Order.IntermediateValue +public import Mathlib.Topology.Order.LocalExtr /-! # Proper spaces @@ -21,6 +22,8 @@ This file contains some more involved results about `ProperSpace`s. * `Metric.exists_isLocalMin_mem_ball` -/ +@[expose] public section + open Set Metric variable {α : Type*} {β : Type*} [PseudoMetricSpace α] [ProperSpace α] {x : α} {r : ℝ} {s : Set α} diff --git a/Mathlib/Topology/MetricSpace/ProperSpace/Real.lean b/Mathlib/Topology/MetricSpace/ProperSpace/Real.lean index e5d7d906b295e0..611700eee41cdc 100644 --- a/Mathlib/Topology/MetricSpace/ProperSpace/Real.lean +++ b/Mathlib/Topology/MetricSpace/ProperSpace/Real.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.Rat.Encodable -import Mathlib.Topology.MetricSpace.Isometry -import Mathlib.Topology.MetricSpace.ProperSpace -import Mathlib.Topology.Order.Compact -import Mathlib.Topology.Order.MonotoneContinuity -import Mathlib.Topology.Order.Real -import Mathlib.Topology.UniformSpace.Real +module + +public import Mathlib.Data.Rat.Encodable +public import Mathlib.Topology.MetricSpace.Isometry +public import Mathlib.Topology.MetricSpace.ProperSpace +public import Mathlib.Topology.Order.Compact +public import Mathlib.Topology.Order.MonotoneContinuity +public import Mathlib.Topology.Order.Real +public import Mathlib.Topology.UniformSpace.Real /-! # Second countability of the reals @@ -18,6 +20,8 @@ We prove that `ℝ`, `EReal`, `ℝ≥0` and `ℝ≥0∞` are second countable. In the process, we also provide instances `ProperSpace ℝ` and `ProperSpace ℝ≥0`. -/ +@[expose] public section + assert_not_exists IsTopologicalRing UniformContinuousConstSMul UniformOnFun noncomputable section diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Basic.lean b/Mathlib/Topology/MetricSpace/Pseudo/Basic.lean index f71b46f12846b6..bd09e17e97baa2 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Basic.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Data.ENNReal.Real -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Topology.EMetricSpace.Basic -import Mathlib.Topology.MetricSpace.Pseudo.Defs +module + +public import Mathlib.Data.ENNReal.Real +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Topology.EMetricSpace.Basic +public import Mathlib.Topology.MetricSpace.Pseudo.Defs /-! ## Pseudo-metric spaces @@ -15,6 +17,8 @@ Further results about pseudo-metric spaces. -/ +@[expose] public section + open Set Filter TopologicalSpace Bornology open scoped ENNReal NNReal Uniformity Topology diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean b/Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean index 5937bcc2f1c535..a28b957c3e7db1 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.Bornology.Constructions -import Mathlib.Topology.MetricSpace.Pseudo.Defs -import Mathlib.Topology.UniformSpace.UniformEmbedding +module + +public import Mathlib.Topology.Bornology.Constructions +public import Mathlib.Topology.MetricSpace.Pseudo.Defs +public import Mathlib.Topology.UniformSpace.UniformEmbedding /-! # Products of pseudometric spaces and other constructions @@ -14,6 +16,8 @@ This file constructs the supremum distance on binary products of pseudometric sp instances for type synonyms. -/ +@[expose] public section + open Bornology Filter Metric Set Topology open scoped NNReal diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Defs.lean b/Mathlib/Topology/MetricSpace/Pseudo/Defs.lean index 68ad9674254818..63e380631a5918 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Defs.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Defs.lean @@ -3,11 +3,13 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Data.ENNReal.Real -import Mathlib.Tactic.Bound.Attribute -import Mathlib.Topology.Bornology.Basic -import Mathlib.Topology.EMetricSpace.Defs -import Mathlib.Topology.UniformSpace.Basic +module + +public import Mathlib.Data.ENNReal.Real +public import Mathlib.Tactic.Bound.Attribute +public import Mathlib.Topology.Bornology.Basic +public import Mathlib.Topology.EMetricSpace.Defs +public import Mathlib.Topology.UniformSpace.Basic /-! ## Pseudo-metric spaces @@ -40,6 +42,8 @@ TODO (anyone): Add "Main results" section. pseudo_metric, dist -/ +@[expose] public section + assert_not_exists compactSpace_uniformity open Set Filter TopologicalSpace Bornology @@ -233,7 +237,7 @@ open Lean Meta Qq Function /-- Extension for the `positivity` tactic: distances are nonnegative. -/ @[positivity Dist.dist _ _] -def evalDist : PositivityExt where eval {u α} _zα _pα e := do +meta def evalDist : PositivityExt where eval {u α} _zα _pα e := do match u, α, e with | 0, ~q(ℝ), ~q(@Dist.dist $β $inst $a $b) => let _inst ← synthInstanceQ q(PseudoMetricSpace $β) diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean b/Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean index 471ff17e7b8574..9340c7d70a6b8c 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Topology.MetricSpace.Pseudo.Constructions -import Mathlib.Topology.Order.DenselyOrdered -import Mathlib.Topology.UniformSpace.Compact +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Constructions +public import Mathlib.Topology.Order.DenselyOrdered +public import Mathlib.Topology.UniformSpace.Compact /-! # Extra lemmas about pseudo-metric spaces -/ +@[expose] public section + open Bornology Filter Metric Set open scoped NNReal Topology diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Pi.lean b/Mathlib/Topology/MetricSpace/Pseudo/Pi.lean index bf22b6734b9b44..41fc911d197ebb 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Pi.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Pi.lean @@ -3,10 +3,12 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Data.ENNReal.Lemmas -import Mathlib.Topology.Bornology.Constructions -import Mathlib.Topology.EMetricSpace.Pi -import Mathlib.Topology.MetricSpace.Pseudo.Defs +module + +public import Mathlib.Data.ENNReal.Lemmas +public import Mathlib.Topology.Bornology.Constructions +public import Mathlib.Topology.EMetricSpace.Pi +public import Mathlib.Topology.MetricSpace.Pseudo.Defs /-! # Product of pseudometric spaces @@ -14,6 +16,8 @@ import Mathlib.Topology.MetricSpace.Pseudo.Defs This file constructs the infinity distance on finite products of pseudometric spaces. -/ +@[expose] public section + open Bornology Filter Metric Set open scoped NNReal Topology diff --git a/Mathlib/Topology/MetricSpace/Pseudo/Real.lean b/Mathlib/Topology/MetricSpace/Pseudo/Real.lean index 6183ec868a947a..02904082ad4550 100644 --- a/Mathlib/Topology/MetricSpace/Pseudo/Real.lean +++ b/Mathlib/Topology/MetricSpace/Pseudo/Real.lean @@ -3,13 +3,17 @@ Copyright (c) 2015, 2017 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébastien Gouëzel -/ -import Mathlib.Algebra.Order.Group.Pointwise.Interval -import Mathlib.Topology.MetricSpace.Pseudo.Pi +module + +public import Mathlib.Algebra.Order.Group.Pointwise.Interval +public import Mathlib.Topology.MetricSpace.Pseudo.Pi /-! # Lemmas about distances between points in intervals in `ℝ`. -/ +@[expose] public section + open Bornology Filter Metric Set open scoped NNReal Topology diff --git a/Mathlib/Topology/MetricSpace/Sequences.lean b/Mathlib/Topology/MetricSpace/Sequences.lean index 686cc231aa43dd..a58e5ba816f06f 100644 --- a/Mathlib/Topology/MetricSpace/Sequences.lean +++ b/Mathlib/Topology/MetricSpace/Sequences.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Sequences -import Mathlib.Topology.MetricSpace.Bounded +module + +public import Mathlib.Topology.Sequences +public import Mathlib.Topology.MetricSpace.Bounded /-! # Sequential compacts in metric spaces @@ -12,6 +14,8 @@ import Mathlib.Topology.MetricSpace.Bounded In this file we prove 2 versions of Bolzano-Weierstrass theorem for proper metric spaces. -/ +@[expose] public section + open Filter Bornology Metric open scoped Topology diff --git a/Mathlib/Topology/MetricSpace/ShrinkingLemma.lean b/Mathlib/Topology/MetricSpace/ShrinkingLemma.lean index b7b081e3fb55d3..395dfc5280c4ff 100644 --- a/Mathlib/Topology/MetricSpace/ShrinkingLemma.lean +++ b/Mathlib/Topology/MetricSpace/ShrinkingLemma.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.EMetricSpace.Paracompact -import Mathlib.Topology.MetricSpace.Basic -import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas -import Mathlib.Topology.ShrinkingLemma +module + +public import Mathlib.Topology.EMetricSpace.Paracompact +public import Mathlib.Topology.MetricSpace.Basic +public import Mathlib.Topology.MetricSpace.ProperSpace.Lemmas +public import Mathlib.Topology.ShrinkingLemma /-! # Shrinking lemma in a proper metric space @@ -19,6 +21,8 @@ In this file we prove a few versions of the shrinking lemma for coverings by bal shrinking lemma, metric space -/ +@[expose] public section + universe u v diff --git a/Mathlib/Topology/MetricSpace/Similarity.lean b/Mathlib/Topology/MetricSpace/Similarity.lean index 908b4e847368e5..483d54f43fdf4c 100644 --- a/Mathlib/Topology/MetricSpace/Similarity.lean +++ b/Mathlib/Topology/MetricSpace/Similarity.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Jovan Gerbscheid. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jovan Gerbscheid, Newell Jensen -/ -import Mathlib.Topology.MetricSpace.Congruence +module + +public import Mathlib.Topology.MetricSpace.Congruence /-! # Similarities @@ -23,6 +25,8 @@ Let `P₁` and `P₂` be metric spaces, let `ι` be an index set, and let `v₁ * `(v₁ ∼ v₂ : Prop)` represents that `(v₁ : ι → P₁)` and `(v₂ : ι → P₂)` are similar. -/ +@[expose] public section + open scoped NNReal variable {ι ι' : Type*} {P₁ P₂ P₃ : Type*} {v₁ : ι → P₁} {v₂ : ι → P₂} {v₃ : ι → P₃} diff --git a/Mathlib/Topology/MetricSpace/ThickenedIndicator.lean b/Mathlib/Topology/MetricSpace/ThickenedIndicator.lean index ea02bb5bc538da..dbc3851eb387ce 100644 --- a/Mathlib/Topology/MetricSpace/ThickenedIndicator.lean +++ b/Mathlib/Topology/MetricSpace/ThickenedIndicator.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Data.ENNReal.Lemmas -import Mathlib.Topology.MetricSpace.Thickening -import Mathlib.Topology.ContinuousMap.Bounded.Basic +module + +public import Mathlib.Data.ENNReal.Lemmas +public import Mathlib.Topology.MetricSpace.Thickening +public import Mathlib.Topology.ContinuousMap.Bounded.Basic /-! # Thickened indicators @@ -33,6 +35,8 @@ members of the approximating sequence are nonnegative bounded continuous functio -/ +@[expose] public section + open NNReal ENNReal Topology BoundedContinuousFunction Set Metric EMetric Filter noncomputable section thickenedIndicator diff --git a/Mathlib/Topology/MetricSpace/Thickening.lean b/Mathlib/Topology/MetricSpace/Thickening.lean index 26d86f4af2d777..cd9375c7d420d2 100644 --- a/Mathlib/Topology/MetricSpace/Thickening.lean +++ b/Mathlib/Topology/MetricSpace/Thickening.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä -/ -import Mathlib.Topology.MetricSpace.HausdorffDistance +module + +public import Mathlib.Topology.MetricSpace.HausdorffDistance /-! # Thickenings in pseudo-metric spaces @@ -29,6 +31,8 @@ import Mathlib.Topology.MetricSpace.HausdorffDistance -/ +@[expose] public section + noncomputable section open NNReal ENNReal Topology Set Filter Bornology diff --git a/Mathlib/Topology/MetricSpace/Ultra/Basic.lean b/Mathlib/Topology/MetricSpace/Ultra/Basic.lean index 229aeeafcc1785..b1c0c8afc5be54 100644 --- a/Mathlib/Topology/MetricSpace/Ultra/Basic.lean +++ b/Mathlib/Topology/MetricSpace/Ultra/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Topology.MetricSpace.Pseudo.Lemmas +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Lemmas /-! ## Ultrametric spaces @@ -34,6 +36,8 @@ TODO: Generalize to ultrametric uniformities ultrametric, nonarchimedean -/ +@[expose] public section + variable {X : Type*} /-- The `dist : X → X → ℝ` respects the ultrametric inequality diff --git a/Mathlib/Topology/MetricSpace/Ultra/ContinuousMaps.lean b/Mathlib/Topology/MetricSpace/Ultra/ContinuousMaps.lean index 62dd5bf7c5b271..e4f33fe04c3d51 100644 --- a/Mathlib/Topology/MetricSpace/Ultra/ContinuousMaps.lean +++ b/Mathlib/Topology/MetricSpace/Ultra/ContinuousMaps.lean @@ -3,14 +3,17 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.MetricSpace.Ultra.Basic +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.MetricSpace.Ultra.Basic /-! # Ultrametric structure on continuous maps -/ +@[expose] public section + /-- Continuous maps from a compact space to an ultrametric space are an ultrametric space. -/ instance ContinuousMap.isUltrametricDist {X Y : Type*} [TopologicalSpace X] [CompactSpace X] [MetricSpace Y] [IsUltrametricDist Y] : diff --git a/Mathlib/Topology/MetricSpace/Ultra/Pi.lean b/Mathlib/Topology/MetricSpace/Ultra/Pi.lean index c7beb4249a190a..c7bbb77802bee0 100644 --- a/Mathlib/Topology/MetricSpace/Ultra/Pi.lean +++ b/Mathlib/Topology/MetricSpace/Ultra/Pi.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Topology.MetricSpace.Pseudo.Pi -import Mathlib.Topology.MetricSpace.Ultra.Basic +module + +public import Mathlib.Topology.MetricSpace.Pseudo.Pi +public import Mathlib.Topology.MetricSpace.Ultra.Basic /-! # Ultrametric distances on pi types @@ -19,6 +21,8 @@ This file contains results on the behavior of ultrametrics in products of ultram ultrametric, nonarchimedean -/ +@[expose] public section + instance Pi.instIsUltrametricDist {ι : Type*} {X : ι → Type*} [Fintype ι] [(i : ι) → PseudoMetricSpace (X i)] [(i : ι) → IsUltrametricDist (X i)] : IsUltrametricDist ((i : ι) → X i) := by diff --git a/Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean b/Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean index be80427d40c280..16887bda55a3e5 100644 --- a/Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean +++ b/Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky, David Loeffler -/ -import Mathlib.Topology.Connected.TotallyDisconnected -import Mathlib.Topology.MetricSpace.Defs -import Mathlib.Topology.MetricSpace.Ultra.Basic +module + +public import Mathlib.Topology.Connected.TotallyDisconnected +public import Mathlib.Topology.MetricSpace.Defs +public import Mathlib.Topology.MetricSpace.Ultra.Basic /-! # Ultrametric spaces are totally separated @@ -16,6 +18,8 @@ In a metric space with an ultrametric, the space is totally separated, hence tot ultrametric, nonarchimedean, totally separated, totally disconnected -/ + +@[expose] public section open Metric IsUltrametricDist instance {X : Type*} [MetricSpace X] [IsUltrametricDist X] : TotallySeparatedSpace X := diff --git a/Mathlib/Topology/MetricSpace/UniformConvergence.lean b/Mathlib/Topology/MetricSpace/UniformConvergence.lean index 8de96137f02ad6..a676504451bac1 100644 --- a/Mathlib/Topology/MetricSpace/UniformConvergence.lean +++ b/Mathlib/Topology/MetricSpace/UniformConvergence.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Order.CompleteLattice.Group -import Mathlib.Topology.ContinuousMap.Bounded.Basic -import Mathlib.Topology.ContinuousMap.Compact -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +module + +public import Mathlib.Order.CompleteLattice.Group +public import Mathlib.Topology.ContinuousMap.Bounded.Basic +public import Mathlib.Topology.ContinuousMap.Compact +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology /-! # Metric structure on `α →ᵤ β` and `α →ᵤ[𝔖] β` for finite `𝔖` @@ -39,6 +41,8 @@ There are a few advantages of equipping this space with this metric structure. `α` is compact, `C(α, β)`, relative to their underlying bare functions. -/ +@[expose] public section + variable {α β γ : Type*} [PseudoEMetricSpace γ] open scoped UniformConvergence NNReal ENNReal open Filter Topology Uniformity diff --git a/Mathlib/Topology/Metrizable/Basic.lean b/Mathlib/Topology/Metrizable/Basic.lean index a7cf44aa30ae7b..3bbd6f92b06cde 100644 --- a/Mathlib/Topology/Metrizable/Basic.lean +++ b/Mathlib/Topology/Metrizable/Basic.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.MetricSpace.Basic +module + +public import Mathlib.Topology.MetricSpace.Basic /-! # Metrizability of a T₃ topological space with second countable topology @@ -12,6 +14,8 @@ In this file we define metrizable topological spaces, i.e., topological spaces f exists a metric space structure that generates the same topology. -/ +@[expose] public section + open Filter Set Metric Topology namespace TopologicalSpace diff --git a/Mathlib/Topology/Metrizable/CompletelyMetrizable.lean b/Mathlib/Topology/Metrizable/CompletelyMetrizable.lean index 37d00818493c50..9d267786edfe70 100644 --- a/Mathlib/Topology/Metrizable/CompletelyMetrizable.lean +++ b/Mathlib/Topology/Metrizable/CompletelyMetrizable.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Topology.MetricSpace.Gluing -import Mathlib.Topology.Metrizable.Uniformity +module + +public import Mathlib.Topology.MetricSpace.Gluing +public import Mathlib.Topology.Metrizable.Uniformity /-! # Completely metrizable spaces @@ -30,6 +32,8 @@ an `UpgradedIsCompletelyMetrizableSpace X` instance. This class is a convenience no instance should be registered for it. -/ +@[expose] public section + open Filter Function Set Topology variable {X Y : Type*} diff --git a/Mathlib/Topology/Metrizable/ContinuousMap.lean b/Mathlib/Topology/Metrizable/ContinuousMap.lean index b12218c3adab94..2b36211ac8fe9e 100644 --- a/Mathlib/Topology/Metrizable/ContinuousMap.lean +++ b/Mathlib/Topology/Metrizable/ContinuousMap.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Metrizable.Uniformity -import Mathlib.Topology.UniformSpace.CompactConvergence +module + +public import Mathlib.Topology.Metrizable.Uniformity +public import Mathlib.Topology.UniformSpace.CompactConvergence /-! # Metrizability of `C(X, Y)` @@ -13,6 +15,8 @@ If `X` is a weakly locally compact σ-compact space and `Y` is a (pseudo)metriza then `C(X, Y)` is a (pseudo)metrizable space. -/ +@[expose] public section + open TopologicalSpace namespace ContinuousMap diff --git a/Mathlib/Topology/Metrizable/Real.lean b/Mathlib/Topology/Metrizable/Real.lean index bd271dabdcefe9..60eb5def2abdd6 100644 --- a/Mathlib/Topology/Metrizable/Real.lean +++ b/Mathlib/Topology/Metrizable/Real.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Metrizable.Basic -import Mathlib.Topology.Order.MonotoneContinuity -import Mathlib.Topology.Order.Real +module + +public import Mathlib.Topology.Metrizable.Basic +public import Mathlib.Topology.Order.MonotoneContinuity +public import Mathlib.Topology.Order.Real /-! # `ENNReal` is metrizable @@ -16,6 +18,8 @@ This file currently only contains results on `ENNReal` but is named `Real.lean` to make it clear we can accept more `(E)(NN)Real` results. -/ +@[expose] public section + namespace ENNReal open NNReal TopologicalSpace diff --git a/Mathlib/Topology/Metrizable/Uniformity.lean b/Mathlib/Topology/Metrizable/Uniformity.lean index 1e6abc3bd67683..166f7b9576e020 100644 --- a/Mathlib/Topology/Metrizable/Uniformity.lean +++ b/Mathlib/Topology/Metrizable/Uniformity.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Data.Nat.Lattice -import Mathlib.Data.NNReal.Basic -import Mathlib.Topology.Metrizable.Basic +module + +public import Mathlib.Data.Nat.Lattice +public import Mathlib.Data.NNReal.Basic +public import Mathlib.Topology.Metrizable.Basic /-! # Metrizable uniform spaces @@ -43,6 +45,8 @@ The proof follows [Sergey Melikhov, Metrizable uniform spaces][melikhov2011]. metrizable space, uniform space -/ +@[expose] public section + open Set Function Metric List Filter diff --git a/Mathlib/Topology/Metrizable/Urysohn.lean b/Mathlib/Topology/Metrizable/Urysohn.lean index faff5ea000eba9..79a37ea2d87d00 100644 --- a/Mathlib/Topology/Metrizable/Urysohn.lean +++ b/Mathlib/Topology/Metrizable/Urysohn.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.Metrizable.Basic -import Mathlib.Topology.ContinuousMap.Bounded.Basic +module + +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.Metrizable.Basic +public import Mathlib.Topology.ContinuousMap.Bounded.Basic /-! # Urysohn's Metrization Theorem @@ -21,6 +23,8 @@ space structure. We use `ℕ →ᵇ ℝ`, not `lpSpace` for `l^∞` to avoid heavy imports. -/ +@[expose] public section + open Filter Metric Set Topology open scoped BoundedContinuousFunction diff --git a/Mathlib/Topology/Neighborhoods.lean b/Mathlib/Topology/Neighborhoods.lean index b0e43d8825ce5d..1c024d71d00ccf 100644 --- a/Mathlib/Topology/Neighborhoods.lean +++ b/Mathlib/Topology/Neighborhoods.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Order.Filter.AtTopBot.Basic -import Mathlib.Topology.Closure +module + +public import Mathlib.Order.Filter.AtTopBot.Basic +public import Mathlib.Topology.Closure /-! # Neighborhoods in topological spaces @@ -16,6 +18,8 @@ Each point `x` of `X` gets a neighborhood filter `𝓝 x`. neighborhood -/ +@[expose] public section + open Set Filter Topology universe u v diff --git a/Mathlib/Topology/NhdsKer.lean b/Mathlib/Topology/NhdsKer.lean index b2cf5a0cc09b6f..a2a372bb6fe33f 100644 --- a/Mathlib/Topology/NhdsKer.lean +++ b/Mathlib/Topology/NhdsKer.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies, Yury Kudryashov -/ -import Mathlib.Topology.NhdsSet -import Mathlib.Topology.Inseparable +module + +public import Mathlib.Topology.NhdsSet +public import Mathlib.Topology.Inseparable /-! # Neighborhoods kernel of a set @@ -16,6 +18,8 @@ Note that this construction has no standard name in the literature. In this file we prove basic properties of this operation. -/ +@[expose] public section + open Set Filter open scoped Topology diff --git a/Mathlib/Topology/NhdsSet.lean b/Mathlib/Topology/NhdsSet.lean index d5d4e249f7a60d..4ccc148feb23de 100644 --- a/Mathlib/Topology/NhdsSet.lean +++ b/Mathlib/Topology/NhdsSet.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Patrick Massot -/ -import Mathlib.Topology.Neighborhoods +module + +public import Mathlib.Topology.Neighborhoods /-! # Neighborhoods of a set @@ -25,6 +27,8 @@ Furthermore, we have the following results: `Mathlib/Topology/Separation/Basic.lean`. -/ +@[expose] public section + open Set Filter Topology variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] {f : Filter X} diff --git a/Mathlib/Topology/NoetherianSpace.lean b/Mathlib/Topology/NoetherianSpace.lean index be982fcf3a9bce..3e20f2609e44e0 100644 --- a/Mathlib/Topology/NoetherianSpace.lean +++ b/Mathlib/Topology/NoetherianSpace.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Sets.Closeds /-! # Noetherian space @@ -38,6 +40,8 @@ of a Noetherian scheme (e.g., the spectrum of a Noetherian ring) is Noetherian. -/ +@[expose] public section + open Topology variable (α β : Type*) [TopologicalSpace α] [TopologicalSpace β] diff --git a/Mathlib/Topology/OmegaCompletePartialOrder.lean b/Mathlib/Topology/OmegaCompletePartialOrder.lean index 8e5b1cef42f528..fafb69acfe98f3 100644 --- a/Mathlib/Topology/OmegaCompletePartialOrder.lean +++ b/Mathlib/Topology/OmegaCompletePartialOrder.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Simon Hudon. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Simon Hudon -/ -import Mathlib.Order.OmegaCompletePartialOrder -import Mathlib.Topology.Order.ScottTopology +module + +public import Mathlib.Order.OmegaCompletePartialOrder +public import Mathlib.Topology.Order.ScottTopology /-! # Scott Topological Spaces @@ -18,6 +20,8 @@ of continuity is equivalent to continuity in ωCPOs. -/ +@[expose] public section + open Set OmegaCompletePartialOrder Topology universe u diff --git a/Mathlib/Topology/OpenPartialHomeomorph.lean b/Mathlib/Topology/OpenPartialHomeomorph.lean index e1c2651f8ccbd2..6945b943df081b 100644 --- a/Mathlib/Topology/OpenPartialHomeomorph.lean +++ b/Mathlib/Topology/OpenPartialHomeomorph.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Logic.Equiv.PartialEquiv -import Mathlib.Topology.Homeomorph.Lemmas -import Mathlib.Topology.Sets.Opens +module + +public import Mathlib.Logic.Equiv.PartialEquiv +public import Mathlib.Topology.Homeomorph.Lemmas +public import Mathlib.Topology.Sets.Opens /-! # Partial homeomorphisms @@ -55,6 +57,8 @@ If a lemma deals with the intersection of a set with either source or target of then it should use `e.source ∩ s` or `e.target ∩ t`, not `s ∩ e.source` or `t ∩ e.target`. -/ +@[expose] public section + open Function Set Filter Topology variable {X X' : Type*} {Y Y' : Type*} {Z Z' : Type*} diff --git a/Mathlib/Topology/Order.lean b/Mathlib/Topology/Order.lean index 788463a95eb43e..3bf8d3f48c8b86 100644 --- a/Mathlib/Topology/Order.lean +++ b/Mathlib/Topology/Order.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Continuous -import Mathlib.Topology.Defs.Induced +module + +public import Mathlib.Topology.Continuous +public import Mathlib.Topology.Defs.Induced /-! # Ordering on topologies and (co)induced topologies @@ -44,6 +46,8 @@ of sets in `α` (with the reversed inclusion ordering). finer, coarser, induced topology, coinduced topology -/ +@[expose] public section + open Function Set Filter Topology universe u v w diff --git a/Mathlib/Topology/Order/Basic.lean b/Mathlib/Topology/Order/Basic.lean index e9a8a6072f1f59..a8d46c587e3d68 100644 --- a/Mathlib/Topology/Order/Basic.lean +++ b/Mathlib/Topology/Order/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Order.Filter.Interval -import Mathlib.Order.Interval.Set.Pi -import Mathlib.Order.OrdContinuous -import Mathlib.Tactic.TFAE -import Mathlib.Tactic.NormNum -import Mathlib.Topology.Order.LeftRight -import Mathlib.Topology.Order.OrderClosed +module + +public import Mathlib.Order.Filter.Interval +public import Mathlib.Order.Interval.Set.Pi +public import Mathlib.Order.OrdContinuous +public import Mathlib.Tactic.TFAE +public import Mathlib.Tactic.NormNum +public import Mathlib.Topology.Order.LeftRight +public import Mathlib.Topology.Order.OrderClosed /-! # Theory of topology on ordered spaces @@ -49,6 +51,8 @@ definition `Preorder.topology α` though, that can be registered as an instance for specific types. -/ +@[expose] public section + open Set Filter TopologicalSpace Topology Function diff --git a/Mathlib/Topology/Order/Bornology.lean b/Mathlib/Topology/Order/Bornology.lean index 93afbf73aa4aee..61df2563bc713a 100644 --- a/Mathlib/Topology/Order/Bornology.lean +++ b/Mathlib/Topology/Order/Bornology.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Bornology.Constructions +module + +public import Mathlib.Topology.Bornology.Constructions /-! # Bornology of order-bounded sets @@ -17,6 +19,8 @@ of order-boundedness (sets that are bounded above and below). * `IsOrderBornology`: Typeclass predicate for a preorder to be equipped with its order-bornology. -/ +@[expose] public section + open Bornology Set variable {α : Type*} {s t : Set α} diff --git a/Mathlib/Topology/Order/Category/AlexDisc.lean b/Mathlib/Topology/Order/Category/AlexDisc.lean index bd6a002b399732..c3a46c6dd66704 100644 --- a/Mathlib/Topology/Order/Category/AlexDisc.lean +++ b/Mathlib/Topology/Order/Category/AlexDisc.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Specialization +module + +public import Mathlib.Topology.Specialization /-! # Category of Alexandrov-discrete topological spaces @@ -12,6 +14,8 @@ This defines `AlexDisc`, the category of Alexandrov-discrete topological spaces maps, and proves it's equivalent to the category of preorders. -/ +@[expose] public section + open CategoryTheory Topology /-- The category of Alexandrov-discrete spaces. -/ diff --git a/Mathlib/Topology/Order/Category/FrameAdjunction.lean b/Mathlib/Topology/Order/Category/FrameAdjunction.lean index c2346508557ebd..7b495b1f64df15 100644 --- a/Mathlib/Topology/Order/Category/FrameAdjunction.lean +++ b/Mathlib/Topology/Order/Category/FrameAdjunction.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Anne Baanen, Sam van Gool, Leo Mayer, Brendan Murphy. All rig Released under Apache 2.0 license as described in the file LICENSE. Authors: Anne Baanen, Sam van Gool, Leo Mayer, Brendan Murphy -/ -import Mathlib.Topology.Category.Locale +module + +public import Mathlib.Topology.Category.Locale /-! # Adjunction between Locales and Topological Spaces @@ -37,6 +39,8 @@ This adjunction provides a framework in which several Stone-type dualities fit. topological space, frame, locale, Stone duality, adjunction, points -/ +@[expose] public section + open CategoryTheory Order Set Topology TopologicalSpace namespace Locale diff --git a/Mathlib/Topology/Order/Compact.lean b/Mathlib/Topology/Order/Compact.lean index a1bf8daac65dbc..30aedb7a23c4f9 100644 --- a/Mathlib/Topology/Order/Compact.lean +++ b/Mathlib/Topology/Order/Compact.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Support -import Mathlib.Topology.Order.IntermediateValue -import Mathlib.Topology.Order.IsLUB -import Mathlib.Topology.Order.LocalExtr +module + +public import Mathlib.Topology.Algebra.Support +public import Mathlib.Topology.Order.IntermediateValue +public import Mathlib.Topology.Order.IsLUB +public import Mathlib.Topology.Order.LocalExtr /-! # Compactness of a closed interval @@ -26,6 +28,8 @@ We also prove that the image of a closed interval under a continuous map is a cl compact, extreme value theorem -/ +@[expose] public section + open Filter OrderDual TopologicalSpace Function Set open scoped Filter Topology diff --git a/Mathlib/Topology/Order/CountableSeparating.lean b/Mathlib/Topology/Order/CountableSeparating.lean index 823c1c2fa77b95..aa00abedfed245 100644 --- a/Mathlib/Topology/Order/CountableSeparating.lean +++ b/Mathlib/Topology/Order/CountableSeparating.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Order.Basic -import Mathlib.Order.Filter.CountableSeparatingOn +module + +public import Mathlib.Topology.Order.Basic +public import Mathlib.Order.Filter.CountableSeparatingOn /-! # Countably many infinite intervals separate points @@ -15,6 +17,8 @@ We prove 4 versions of this statement (one for each of the infinite intervals), as well as provide convenience corollaries about `Filter.EventuallyEq`. -/ +@[expose] public section + open Set variable {X : Type*} [TopologicalSpace X] [LinearOrder X] diff --git a/Mathlib/Topology/Order/DenselyOrdered.lean b/Mathlib/Topology/Order/DenselyOrdered.lean index dc22c39f57668a..a03cfd82bf2548 100644 --- a/Mathlib/Topology/Order/DenselyOrdered.lean +++ b/Mathlib/Topology/Order/DenselyOrdered.lean @@ -3,12 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.Order.IsLUB +module + +public import Mathlib.Topology.Order.IsLUB /-! # Order topology on a densely ordered set -/ +@[expose] public section + open Set Filter TopologicalSpace Topology Function open OrderDual (toDual ofDual) diff --git a/Mathlib/Topology/Order/ExtendFrom.lean b/Mathlib/Topology/Order/ExtendFrom.lean index f9113c7b756a63..05b8dcc2f930bc 100644 --- a/Mathlib/Topology/Order/ExtendFrom.lean +++ b/Mathlib/Topology/Order/ExtendFrom.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.ExtendFrom -import Mathlib.Topology.Order.DenselyOrdered +module + +public import Mathlib.Topology.ExtendFrom +public import Mathlib.Topology.Order.DenselyOrdered /-! # Lemmas about `extendFrom` in an order topology. -/ +@[expose] public section + open Filter Set Topology variable {α β : Type*} diff --git a/Mathlib/Topology/Order/ExtrClosure.lean b/Mathlib/Topology/Order/ExtrClosure.lean index 31b06abf781bda..514c024c92c62f 100644 --- a/Mathlib/Topology/Order/ExtrClosure.lean +++ b/Mathlib/Topology/Order/ExtrClosure.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Order.OrderClosed -import Mathlib.Topology.Order.LocalExtr +module + +public import Mathlib.Topology.Order.OrderClosed +public import Mathlib.Topology.Order.LocalExtr /-! # Maximum/minimum on the closure of a set @@ -14,6 +16,8 @@ not) maximum (or minimum) on a set `s` at a point `a` and is continuous on the c `f` has an extremum of the same type on `Closure s` at `a`. -/ +@[expose] public section + open Filter Set diff --git a/Mathlib/Topology/Order/Filter.lean b/Mathlib/Topology/Order/Filter.lean index bea31236ef514c..a44f6b3c7f4988 100644 --- a/Mathlib/Topology/Order/Filter.lean +++ b/Mathlib/Topology/Order/Filter.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Filter -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Topology.Filter +public import Mathlib.Topology.Order.Basic /-! # Topology on filters of a space with order topology @@ -13,6 +15,8 @@ In this file we prove that `𝓝 (f x)` tends to `𝓝 Filter.atTop` provided th `Filter.atTop`, and similarly for `Filter.atBot`. -/ +@[expose] public section + open Topology diff --git a/Mathlib/Topology/Order/Hom/Basic.lean b/Mathlib/Topology/Order/Hom/Basic.lean index e8ce3eaafc83f8..1420bfa7e6cdd3 100644 --- a/Mathlib/Topology/Order/Hom/Basic.lean +++ b/Mathlib/Topology/Order/Hom/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Continuous -import Mathlib.Topology.ContinuousMap.Defs +module + +public import Mathlib.Topology.Continuous +public import Mathlib.Topology.ContinuousMap.Defs /-! # Continuous order homomorphisms @@ -25,6 +27,8 @@ be satisfied by itself and all stricter types. * `ContinuousOrderHomClass` -/ +@[expose] public section + open Function diff --git a/Mathlib/Topology/Order/Hom/Esakia.lean b/Mathlib/Topology/Order/Hom/Esakia.lean index b8c9113f71d1a8..35eb6faf849c9a 100644 --- a/Mathlib/Topology/Order/Hom/Esakia.lean +++ b/Mathlib/Topology/Order/Hom/Esakia.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Hom.Bounded -import Mathlib.Topology.Order.Hom.Basic +module + +public import Mathlib.Order.Hom.Bounded +public import Mathlib.Topology.Order.Hom.Basic /-! # Esakia morphisms @@ -30,6 +32,8 @@ be satisfied by itself and all stricter types. * [Wikipedia, *Esakia space*](https://en.wikipedia.org/wiki/Esakia_space) -/ +@[expose] public section + open Function diff --git a/Mathlib/Topology/Order/HullKernel.lean b/Mathlib/Topology/Order/HullKernel.lean index d382d439f698e7..e11a46e53e348e 100644 --- a/Mathlib/Topology/Order/HullKernel.lean +++ b/Mathlib/Topology/Order/HullKernel.lean @@ -3,11 +3,12 @@ Copyright (c) 2024 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ +module -import Mathlib.Data.Set.Subset -import Mathlib.Order.Irreducible -import Mathlib.Topology.Order.LowerUpperTopology -import Mathlib.Topology.Sets.Closeds +public import Mathlib.Data.Set.Subset +public import Mathlib.Order.Irreducible +public import Mathlib.Topology.Order.LowerUpperTopology +public import Mathlib.Topology.Sets.Closeds /-! # Hull-Kernel Topology @@ -52,6 +53,8 @@ lower topology, hull-kernel topology, Jacobson topology, structure topology, pri -/ +@[expose] public section + variable {α} open TopologicalSpace diff --git a/Mathlib/Topology/Order/IntermediateValue.lean b/Mathlib/Topology/Order/IntermediateValue.lean index 16fa6d1570daf6..444d3200c93e08 100644 --- a/Mathlib/Topology/Order/IntermediateValue.lean +++ b/Mathlib/Topology/Order/IntermediateValue.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Alistair Tucker, Wen Yang -/ -import Mathlib.Order.Interval.Set.Image -import Mathlib.Order.CompleteLatticeIntervals -import Mathlib.Topology.Order.DenselyOrdered -import Mathlib.Topology.Order.Monotone -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Order.Interval.Set.Image +public import Mathlib.Order.CompleteLatticeIntervals +public import Mathlib.Topology.Order.DenselyOrdered +public import Mathlib.Topology.Order.Monotone +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Intermediate Value Theorem @@ -42,6 +44,8 @@ on intervals. intermediate value theorem, connected space, connected set -/ +@[expose] public section + open Filter OrderDual TopologicalSpace Function Set open scoped Topology Filter Interval diff --git a/Mathlib/Topology/Order/IsLUB.lean b/Mathlib/Topology/Order/IsLUB.lean index 5d14419c01fcec..45529bb0490f86 100644 --- a/Mathlib/Topology/Order/IsLUB.lean +++ b/Mathlib/Topology/Order/IsLUB.lean @@ -3,13 +3,16 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ +module -import Mathlib.Topology.Order.LeftRightNhds +public import Mathlib.Topology.Order.LeftRightNhds /-! # Properties of LUB and GLB in an order topology -/ +@[expose] public section + open Set Filter TopologicalSpace Topology Function open OrderDual (toDual ofDual) diff --git a/Mathlib/Topology/Order/IsLocallyClosed.lean b/Mathlib/Topology/Order/IsLocallyClosed.lean index 675c11d32edb64..5f272902509a6f 100644 --- a/Mathlib/Topology/Order/IsLocallyClosed.lean +++ b/Mathlib/Topology/Order/IsLocallyClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Xavier Roblot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Xavier Roblot -/ -import Mathlib.Topology.Order.OrderClosed -import Mathlib.Topology.LocallyClosed +module + +public import Mathlib.Topology.Order.OrderClosed +public import Mathlib.Topology.LocallyClosed /-! # Intervals are locally closed @@ -12,6 +14,8 @@ import Mathlib.Topology.LocallyClosed We prove that the intervals on a topological ordered space are locally closed. -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] {a b : X} theorem isLocallyClosed_Icc [Preorder X] [OrderClosedTopology X] : diff --git a/Mathlib/Topology/Order/IsNormal.lean b/Mathlib/Topology/Order/IsNormal.lean index a9b473094a4146..66df4274a7933a 100644 --- a/Mathlib/Topology/Order/IsNormal.lean +++ b/Mathlib/Topology/Order/IsNormal.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Violeta Hernández Palacios. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Violeta Hernández Palacios -/ -import Mathlib.Order.IsNormal -import Mathlib.Topology.Order.IsLUB +module + +public import Mathlib.Order.IsNormal +public import Mathlib.Topology.Order.IsLUB /-! # A normal function is strictly monotone and continuous @@ -14,6 +16,8 @@ topology in order theory files. This file shows that the predicate is equivalent in the literature, being that of a strictly monotonic function, continuous in the order topology. -/ +@[expose] public section + open Set namespace Order diff --git a/Mathlib/Topology/Order/Lattice.lean b/Mathlib/Topology/Order/Lattice.lean index c16fdfa9ebc1a2..b1e4951cdcc165 100644 --- a/Mathlib/Topology/Order/Lattice.lean +++ b/Mathlib/Topology/Order/Lattice.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Topology.Constructions -import Mathlib.Topology.Order.OrderClosed +module + +public import Mathlib.Topology.Constructions +public import Mathlib.Topology.Order.OrderClosed /-! # Topological lattices @@ -22,6 +24,8 @@ class `TopologicalLattice` as a topological space and lattice `L` extending `Con topological, lattice -/ +@[expose] public section + open Filter open Topology diff --git a/Mathlib/Topology/Order/LawsonTopology.lean b/Mathlib/Topology/Order/LawsonTopology.lean index d7150d43b67967..9cd5dcf9bfb8ab 100644 --- a/Mathlib/Topology/Order/LawsonTopology.lean +++ b/Mathlib/Topology/Order/LawsonTopology.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ +module -import Mathlib.Topology.Order.LowerUpperTopology -import Mathlib.Topology.Order.ScottTopology +public import Mathlib.Topology.Order.LowerUpperTopology +public import Mathlib.Topology.Order.ScottTopology /-! # Lawson topology @@ -47,6 +48,8 @@ It is shown that `Topology.WithLawson α` is an instance of `Topology.IsLawson`. Lawson topology, preorder -/ +@[expose] public section + open Set TopologicalSpace variable {α : Type*} diff --git a/Mathlib/Topology/Order/LeftRight.lean b/Mathlib/Topology/Order/LeftRight.lean index fbdfdb213cd581..6e36c2784675ec 100644 --- a/Mathlib/Topology/Order/LeftRight.lean +++ b/Mathlib/Topology/Order/LeftRight.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Order.Antichain -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Order.Antichain +public import Mathlib.Topology.ContinuousOn /-! # Left and right continuity @@ -23,6 +25,8 @@ In this file we prove a few lemmas about left and right continuous functions: left continuous, right continuous -/ +@[expose] public section + open Set Filter Topology diff --git a/Mathlib/Topology/Order/LeftRightLim.lean b/Mathlib/Topology/Order/LeftRightLim.lean index 6a5b780f3f1e30..2768db819d6fe5 100644 --- a/Mathlib/Topology/Order/LeftRightLim.lean +++ b/Mathlib/Topology/Order/LeftRightLim.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.Order.LeftRight -import Mathlib.Topology.Order.Monotone +module + +public import Mathlib.Topology.Order.LeftRight +public import Mathlib.Topology.Order.Monotone /-! # Left and right limits @@ -30,6 +32,8 @@ We also port the API to antitone functions. Prove corresponding stronger results for `StrictMono` and `StrictAnti` functions. -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Topology/Order/LeftRightNhds.lean b/Mathlib/Topology/Order/LeftRightNhds.lean index 83809c5e752b03..8e60d676d4c0ff 100644 --- a/Mathlib/Topology/Order/LeftRightNhds.lean +++ b/Mathlib/Topology/Order/LeftRightNhds.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Algebra.Ring.Pointwise.Set -import Mathlib.Order.Filter.AtTopBot.CompleteLattice -import Mathlib.Order.Filter.AtTopBot.Group -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Algebra.Ring.Pointwise.Set +public import Mathlib.Order.Filter.AtTopBot.CompleteLattice +public import Mathlib.Order.Filter.AtTopBot.Group +public import Mathlib.Topology.Order.Basic /-! # Neighborhoods to the left and to the right on an `OrderTopology` @@ -15,6 +17,8 @@ We've seen some properties of left and right neighborhood of a point in an `Orde In an `OrderTopology`, such neighborhoods can be characterized as the sets containing suitable intervals to the right or to the left of `a`. We give now these characterizations. -/ +@[expose] public section + open Set Filter TopologicalSpace Topology Function open OrderDual (toDual ofDual) diff --git a/Mathlib/Topology/Order/LiminfLimsup.lean b/Mathlib/Topology/Order/LiminfLimsup.lean index 47f7c6e9e40844..f55617b1cc08a9 100644 --- a/Mathlib/Topology/Order/LiminfLimsup.lean +++ b/Mathlib/Topology/Order/LiminfLimsup.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov, Yaël Dillies -/ -import Mathlib.Order.Filter.CountableInter -import Mathlib.Order.LiminfLimsup -import Mathlib.Topology.Order.Monotone +module + +public import Mathlib.Order.Filter.CountableInter +public import Mathlib.Order.LiminfLimsup +public import Mathlib.Topology.Order.Monotone /-! # Lemmas about liminf and limsup in an order topology. @@ -21,6 +23,8 @@ The same lemmas are true in `ℝ`, `ℝ × ℝ`, `ι → ℝ`, `EuclideanSpace duplication, we provide an ad hoc axiomatisation of the properties we need. -/ +@[expose] public section + open Filter TopologicalSpace open scoped Topology diff --git a/Mathlib/Topology/Order/LocalExtr.lean b/Mathlib/Topology/Order/LocalExtr.lean index 762dd1acec7c7f..214a7922f9e328 100644 --- a/Mathlib/Topology/Order/LocalExtr.lean +++ b/Mathlib/Topology/Order/LocalExtr.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Order.Filter.Extr -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Order.Filter.Extr +public import Mathlib.Topology.ContinuousOn /-! # Local extrema of functions on topological spaces @@ -31,6 +33,8 @@ Here is the list of statements specific to these two types of filters: `IsLocal* f a`. -/ +@[expose] public section + universe u v w x diff --git a/Mathlib/Topology/Order/LowerUpperTopology.lean b/Mathlib/Topology/Order/LowerUpperTopology.lean index afc7865b76da72..fbefea81e969bb 100644 --- a/Mathlib/Topology/Order/LowerUpperTopology.lean +++ b/Mathlib/Topology/Order/LowerUpperTopology.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Order.Lattice +module + +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Order.Lattice /-! # Lower and Upper topology @@ -49,6 +51,8 @@ of the lower topology to the spectrum of a complete lattice coincides with the h lower topology, upper topology, preorder -/ +@[expose] public section + open Set TopologicalSpace Topology namespace Topology diff --git a/Mathlib/Topology/Order/Monotone.lean b/Mathlib/Topology/Order/Monotone.lean index 0a1a5fb34112c2..c400bcf47deba3 100644 --- a/Mathlib/Topology/Order/Monotone.lean +++ b/Mathlib/Topology/Order/Monotone.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Tactic.Order -import Mathlib.Topology.Order.IsLUB +module + +public import Mathlib.Tactic.Order +public import Mathlib.Topology.Order.IsLUB /-! # Monotone functions on an order topology @@ -15,6 +17,8 @@ has left and right limits at any point (`Monotone.tendsto_nhdsLT`, `Monotone.ten -/ +@[expose] public section + open Set Filter TopologicalSpace Topology Function open OrderDual (toDual ofDual) diff --git a/Mathlib/Topology/Order/MonotoneContinuity.lean b/Mathlib/Topology/Order/MonotoneContinuity.lean index 4f1870b101ca08..9ff5e27fc20fae 100644 --- a/Mathlib/Topology/Order/MonotoneContinuity.lean +++ b/Mathlib/Topology/Order/MonotoneContinuity.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Heather Macbeth -/ -import Mathlib.Topology.Homeomorph.Defs -import Mathlib.Topology.Order.LeftRightNhds +module + +public import Mathlib.Topology.Homeomorph.Defs +public import Mathlib.Topology.Order.LeftRightNhds /-! # Continuity of monotone functions @@ -20,6 +22,8 @@ We also prove that an `OrderIso` is continuous. continuous, monotone -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Topology/Order/MonotoneConvergence.lean b/Mathlib/Topology/Order/MonotoneConvergence.lean index 5edbce3f79ce36..2adf424d83b6d3 100644 --- a/Mathlib/Topology/Order/MonotoneConvergence.lean +++ b/Mathlib/Topology/Order/MonotoneConvergence.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Yury Kudryashov -/ -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Topology.Order.Basic /-! # Bounded monotone sequences converge @@ -25,6 +27,8 @@ then `f n ≤ a` for all `n`. monotone convergence -/ +@[expose] public section + open Filter Set Function open scoped Topology diff --git a/Mathlib/Topology/Order/NhdsSet.lean b/Mathlib/Topology/Order/NhdsSet.lean index 120b0f2f29753f..1c6b122ce8473b 100644 --- a/Mathlib/Topology/Order/NhdsSet.lean +++ b/Mathlib/Topology/Order/NhdsSet.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Topology.Order.Basic /-! # Set neighborhoods of intervals @@ -17,6 +19,8 @@ Then we prove lemmas about `s ∈ 𝓝ˢ t`, where both `s` and `t` are interval Finally, we prove a few lemmas about filter bases of `𝓝ˢ (Iic a)` and `𝓝ˢ (Ici a)`. -/ +@[expose] public section + open Set Filter OrderDual open scoped Topology diff --git a/Mathlib/Topology/Order/OrderClosed.lean b/Mathlib/Topology/Order/OrderClosed.lean index 4707f893a232a6..b71dec0dd03833 100644 --- a/Mathlib/Topology/Order/OrderClosed.lean +++ b/Mathlib/Topology/Order/OrderClosed.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Yury Kudryashov -/ -import Mathlib.Topology.Order.LeftRight -import Mathlib.Topology.Separation.Hausdorff +module + +public import Mathlib.Topology.Order.LeftRight +public import Mathlib.Topology.Separation.Hausdorff /-! # Order-closed topologies @@ -55,6 +57,8 @@ see their statements. `min`/`max` tend to `min a b` and `max a b`, respectively. -/ +@[expose] public section + open Set Filter open OrderDual (toDual) open scoped Topology diff --git a/Mathlib/Topology/Order/OrderClosedExtr.lean b/Mathlib/Topology/Order/OrderClosedExtr.lean index 79ecc5e5887296..a7b6672ab7d2de 100644 --- a/Mathlib/Topology/Order/OrderClosedExtr.lean +++ b/Mathlib/Topology/Order/OrderClosedExtr.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Bjørn Kjos-Hanssen. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bjørn Kjos-Hanssen, Patrick Massot -/ +module -import Mathlib.Topology.Order.OrderClosed -import Mathlib.Topology.Order.LocalExtr +public import Mathlib.Topology.Order.OrderClosed +public import Mathlib.Topology.Order.LocalExtr /-! # Local maxima from monotonicity and antitonicity @@ -26,6 +27,8 @@ and its dual. -/ +@[expose] public section + open Set Topology Filter /-- If `f` is monotone on `(a,b]` and antitone on `[b,c)` then `f` has diff --git a/Mathlib/Topology/Order/PartialSups.lean b/Mathlib/Topology/Order/PartialSups.lean index 97ad3b105ec5aa..9e21f1d1fba50a 100644 --- a/Mathlib/Topology/Order/PartialSups.lean +++ b/Mathlib/Topology/Order/PartialSups.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Order.Lattice -import Mathlib.Order.PartialSups +module + +public import Mathlib.Topology.Order.Lattice +public import Mathlib.Order.PartialSups /-! # Continuity of `partialSups` @@ -13,6 +15,8 @@ In this file we prove that `partialSups` of a sequence of continuous functions i as well as versions for `Filter.Tendsto`, `ContinuousAt`, `ContinuousWithinAt`, and `ContinuousOn`. -/ +@[expose] public section + open Filter open scoped Topology diff --git a/Mathlib/Topology/Order/Priestley.lean b/Mathlib/Topology/Order/Priestley.lean index b074f5b056230b..d6174aefab5439 100644 --- a/Mathlib/Topology/Order/Priestley.lean +++ b/Mathlib/Topology/Order/Priestley.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.UpperLower.Basic -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Order.UpperLower.Basic +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Priestley spaces @@ -28,6 +30,8 @@ We do not include compactness in the definition, so a Priestley space is to be d * [Davey, Priestley *Introduction to Lattices and Order*][davey_priestley] -/ +@[expose] public section + open Set diff --git a/Mathlib/Topology/Order/ProjIcc.lean b/Mathlib/Topology/Order/ProjIcc.lean index 9c2fe9dfa51636..e2fafcd92b7315 100644 --- a/Mathlib/Topology/Order/ProjIcc.lean +++ b/Mathlib/Topology/Order/ProjIcc.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Patrick Massot -/ -import Mathlib.Order.Interval.Set.ProjIcc -import Mathlib.Topology.Order.Basic +module + +public import Mathlib.Order.Interval.Set.ProjIcc +public import Mathlib.Topology.Order.Basic /-! # Projection onto a closed interval @@ -13,6 +15,8 @@ In this file we prove that the projection `Set.projIcc f a b h` is a quotient ma to show that `Set.IccExtend h f` is continuous if and only if `f` is continuous. -/ +@[expose] public section + open Set Filter Topology diff --git a/Mathlib/Topology/Order/Real.lean b/Mathlib/Topology/Order/Real.lean index 9ae6f97d77b353..3667f9f209d6d8 100644 --- a/Mathlib/Topology/Order/Real.lean +++ b/Mathlib/Topology/Order/Real.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Data.EReal.Basic -import Mathlib.Topology.Order.T5 +module + +public import Mathlib.Data.EReal.Basic +public import Mathlib.Topology.Order.T5 /-! # The reals are equipped with their order topology @@ -16,6 +18,8 @@ We - define the topology `ℝ≥0∞` (which is the order topology, *not* the `EMetricSpace` topology) -/ +@[expose] public section + assert_not_exists IsTopologicalRing UniformSpace open Set diff --git a/Mathlib/Topology/Order/Rolle.lean b/Mathlib/Topology/Order/Rolle.lean index 31fa140f80c8ac..fc2a75cc322896 100644 --- a/Mathlib/Topology/Order/Rolle.lean +++ b/Mathlib/Topology/Order/Rolle.lean @@ -3,10 +3,12 @@ Copyright (c) 2019 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Order.ExtendFrom -import Mathlib.Topology.Order.Compact -import Mathlib.Topology.Order.LocalExtr -import Mathlib.Topology.Order.T5 +module + +public import Mathlib.Topology.Order.ExtendFrom +public import Mathlib.Topology.Order.Compact +public import Mathlib.Topology.Order.LocalExtr +public import Mathlib.Topology.Order.T5 /-! # Rolle's Theorem (topological part) @@ -23,6 +25,8 @@ to prove several versions of Rolle's Theorem from calculus. local minimum, local maximum, extremum, Rolle's Theorem -/ +@[expose] public section + open Filter Set Topology variable {X Y : Type*} diff --git a/Mathlib/Topology/Order/ScottTopology.lean b/Mathlib/Topology/Order/ScottTopology.lean index ad6f230c4e1fcd..f38534a2e040cc 100644 --- a/Mathlib/Topology/Order/ScottTopology.lean +++ b/Mathlib/Topology/Order/ScottTopology.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Order.ScottContinuity -import Mathlib.Topology.Order.UpperLowerSetTopology +module + +public import Mathlib.Order.ScottContinuity +public import Mathlib.Topology.Order.UpperLowerSetTopology /-! # Scott topology @@ -59,6 +61,8 @@ The converse is true in some special cases, but not in general Scott topology, preorder -/ +@[expose] public section + open Set variable {α β : Type*} diff --git a/Mathlib/Topology/Order/T5.lean b/Mathlib/Topology/Order/T5.lean index d936ead3de79e1..938af0137f7213 100644 --- a/Mathlib/Topology/Order/T5.lean +++ b/Mathlib/Topology/Order/T5.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.OrdConnectedComponent -import Mathlib.Topology.Order.Basic -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Order.Interval.Set.OrdConnectedComponent +public import Mathlib.Topology.Order.Basic +public import Mathlib.Topology.Separation.Regular /-! # Linear order is a completely normal Hausdorff topological space @@ -14,6 +16,8 @@ In this file we prove that a linear order with order topology is a completely no topological space. -/ +@[expose] public section + open Filter Set Function OrderDual Topology Interval diff --git a/Mathlib/Topology/Order/UpperLowerSetTopology.lean b/Mathlib/Topology/Order/UpperLowerSetTopology.lean index 4e2e5d2a3363aa..9878f9d5376aba 100644 --- a/Mathlib/Topology/Order/UpperLowerSetTopology.lean +++ b/Mathlib/Topology/Order/UpperLowerSetTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Christopher Hoskin. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christopher Hoskin -/ -import Mathlib.Logic.Lemmas -import Mathlib.Topology.AlexandrovDiscrete -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.Order.LowerUpperTopology +module + +public import Mathlib.Logic.Lemmas +public import Mathlib.Topology.AlexandrovDiscrete +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.Order.LowerUpperTopology /-! # Upper and lower sets topologies @@ -46,6 +48,8 @@ with the original topology. See `Topology.Specialization`. upper set topology, lower set topology, preorder, Alexandrov -/ +@[expose] public section + open Set TopologicalSpace Filter variable {α β γ : Type*} diff --git a/Mathlib/Topology/Order/WithTop.lean b/Mathlib/Topology/Order/WithTop.lean index 558431dc1796dc..f674a6d558c238 100644 --- a/Mathlib/Topology/Order/WithTop.lean +++ b/Mathlib/Topology/Order/WithTop.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Rémy Degenne. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Rémy Degenne, Sébastien Gouëzel -/ -import Mathlib.Topology.Order.Basic -import Mathlib.Data.Fintype.WithTopBot +module + +public import Mathlib.Topology.Order.Basic +public import Mathlib.Data.Fintype.WithTopBot /-! # Order topology on `WithTop ι` @@ -12,6 +14,8 @@ When `ι` is a topological space with the order topology, we also endow `WithTop topology. If `ι` is second countable, we prove that `WithTop ι` also is. -/ +@[expose] public section + open Set Filter open scoped Topology diff --git a/Mathlib/Topology/Partial.lean b/Mathlib/Topology/Partial.lean index be34164a784f18..0b26e333ad9dac 100644 --- a/Mathlib/Topology/Partial.lean +++ b/Mathlib/Topology/Partial.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jeremy Avigad. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jeremy Avigad -/ -import Mathlib.Order.Filter.Partial -import Mathlib.Topology.Neighborhoods +module + +public import Mathlib.Order.Filter.Partial +public import Mathlib.Topology.Neighborhoods /-! # Partial functions and topological spaces @@ -13,6 +15,8 @@ In this file we prove properties of `Filter.PTendsto` etc. in topological spaces `PContinuous`, a version of `Continuous` for partially defined functions. -/ +@[expose] public section + open Filter diff --git a/Mathlib/Topology/PartialHomeomorph.lean b/Mathlib/Topology/PartialHomeomorph.lean index a9805b0b42a30c..6db4a9e67740e0 100644 --- a/Mathlib/Topology/PartialHomeomorph.lean +++ b/Mathlib/Topology/PartialHomeomorph.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.OpenPartialHomeomorph +module + +public import Mathlib.Topology.OpenPartialHomeomorph deprecated_module (since := "2025-10-03") diff --git a/Mathlib/Topology/PartitionOfUnity.lean b/Mathlib/Topology/PartitionOfUnity.lean index 393d7f81a132a7..64e47bc009dd50 100644 --- a/Mathlib/Topology/PartitionOfUnity.lean +++ b/Mathlib/Topology/PartitionOfUnity.lean @@ -3,12 +3,14 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.BigOperators.Finprod -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.Compactness.Paracompact -import Mathlib.Topology.ShrinkingLemma -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.ContinuousMap.Ordered +module + +public import Mathlib.Algebra.BigOperators.Finprod +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.Compactness.Paracompact +public import Mathlib.Topology.ShrinkingLemma +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.ContinuousMap.Ordered /-! # Continuous partition of unity @@ -73,6 +75,8 @@ We use `WellOrderingRel j i` instead of `j < i` in the definition of partition of unity, bump function, Urysohn's lemma, normal space, paracompact space -/ +@[expose] public section + universe u v open Function Set Filter Topology diff --git a/Mathlib/Topology/Path.lean b/Mathlib/Topology/Path.lean index 2e427076ac02ff..5f06b25cef38e2 100644 --- a/Mathlib/Topology/Path.lean +++ b/Mathlib/Topology/Path.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Order.ProjIcc -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.UnitInterval +module + +public import Mathlib.Topology.Order.ProjIcc +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.UnitInterval /-! # Paths in topological spaces @@ -42,6 +44,8 @@ This is used to define `Path.extend` that turns `γ : Path x y` into a continuou on `(-∞, 0]` and to `y` on `[1, +∞)`. -/ +@[expose] public section + noncomputable section open Topology Filter unitInterval Set Function diff --git a/Mathlib/Topology/Perfect.lean b/Mathlib/Topology/Perfect.lean index 76b2eff267c763..45008834d77bb5 100644 --- a/Mathlib/Topology/Perfect.lean +++ b/Mathlib/Topology/Perfect.lean @@ -3,8 +3,9 @@ Copyright (c) 2022 Felix Weilacher. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Felix Weilacher -/ +module -import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.Separation.Regular /-! # Perfect Sets @@ -50,6 +51,8 @@ accumulation point, perfect set, dense-in-itself, cantor-bendixson. -/ +@[expose] public section + open Topology Filter Set TopologicalSpace diff --git a/Mathlib/Topology/Piecewise.lean b/Mathlib/Topology/Piecewise.lean index efa220509533a4..5648bc68edce18 100644 --- a/Mathlib/Topology/Piecewise.lean +++ b/Mathlib/Topology/Piecewise.lean @@ -3,12 +3,16 @@ Copyright (c) 2019 Reid Barton. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Topology.ContinuousOn /-! ### Continuity of piecewise defined functions -/ +@[expose] public section + open Set Filter Function Topology Filter variable {α β : Type*} [TopologicalSpace α] [TopologicalSpace β] diff --git a/Mathlib/Topology/PreorderRestrict.lean b/Mathlib/Topology/PreorderRestrict.lean index f1aaee23964900..84138c2e8a2527 100644 --- a/Mathlib/Topology/PreorderRestrict.lean +++ b/Mathlib/Topology/PreorderRestrict.lean @@ -3,8 +3,10 @@ Copyright (c) 2024 Etienne Marion. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Etienne Marion -/ -import Mathlib.Order.Restriction -import Mathlib.Topology.Constructions +module + +public import Mathlib.Order.Restriction +public import Mathlib.Topology.Constructions /-! # Continuity of the restriction function for functions indexed by a preorder @@ -13,6 +15,8 @@ We prove that the map which restricts a function `f : (i : α) → X i` to eleme continuous. -/ +@[expose] public section + namespace Preorder variable {α : Type*} [Preorder α] {X : α → Type*} [∀ i, TopologicalSpace (X i)] diff --git a/Mathlib/Topology/QuasiSeparated.lean b/Mathlib/Topology/QuasiSeparated.lean index 788531f2c6d579..a007d5a6591447 100644 --- a/Mathlib/Topology/QuasiSeparated.lean +++ b/Mathlib/Topology/QuasiSeparated.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.Compactness.Bases -import Mathlib.Topology.NoetherianSpace +module + +public import Mathlib.Topology.Compactness.Bases +public import Mathlib.Topology.NoetherianSpace /-! # Quasi-separated spaces @@ -26,6 +28,8 @@ of compact open subsets are still compact. a quasi-separated space, then so is `α`. -/ +@[expose] public section + open Set TopologicalSpace Topology variable {α β : Type*} [TopologicalSpace α] [TopologicalSpace β] {f : α → β} diff --git a/Mathlib/Topology/Semicontinuous.lean b/Mathlib/Topology/Semicontinuous.lean index 8a2f79206ab3d4..177f47e854f274 100644 --- a/Mathlib/Topology/Semicontinuous.lean +++ b/Mathlib/Topology/Semicontinuous.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Algebra.GroupWithZero.Indicator -import Mathlib.Topology.Piecewise -import Mathlib.Topology.Instances.ENNReal.Lemmas +module + +public import Mathlib.Algebra.GroupWithZero.Indicator +public import Mathlib.Topology.Piecewise +public import Mathlib.Topology.Instances.ENNReal.Lemmas /-! # Semicontinuous maps @@ -65,6 +67,8 @@ ones for lower semicontinuous functions using `OrderDual`. -/ +@[expose] public section + open Topology ENNReal diff --git a/Mathlib/Topology/SeparatedMap.lean b/Mathlib/Topology/SeparatedMap.lean index c598802a24a363..76a3040390a779 100644 --- a/Mathlib/Topology/SeparatedMap.lean +++ b/Mathlib/Topology/SeparatedMap.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu -/ -import Mathlib.Topology.Connected.Basic -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.Connected.Clopen +module + +public import Mathlib.Topology.Connected.Basic +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.Connected.Clopen /-! # Separated maps and locally injective maps out of a topological space. @@ -35,6 +37,8 @@ separated morphisms and unramified morphisms, respectively. https://stacks.math.columbia.edu/tag/0CY0 -/ +@[expose] public section + open Topology variable {X Y A} [TopologicalSpace X] [TopologicalSpace A] diff --git a/Mathlib/Topology/Separation/AlexandrovDiscrete.lean b/Mathlib/Topology/Separation/AlexandrovDiscrete.lean index 7c31dae80b034c..706e9c6d2d0025 100644 --- a/Mathlib/Topology/Separation/AlexandrovDiscrete.lean +++ b/Mathlib/Topology/Separation/AlexandrovDiscrete.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.Topology.Separation.Basic -import Mathlib.Topology.AlexandrovDiscrete +public import Mathlib.Topology.Separation.Basic +public import Mathlib.Topology.AlexandrovDiscrete /-! # T1 Alexandrov-discrete topology is discrete -/ +@[expose] public section + open Filter variable {X : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/Separation/Basic.lean b/Mathlib/Topology/Separation/Basic.lean index 7da4ea396d5ab4..e226eb8d987498 100644 --- a/Mathlib/Topology/Separation/Basic.lean +++ b/Mathlib/Topology/Separation/Basic.lean @@ -3,13 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Algebra.Notation.Support -import Mathlib.Topology.Inseparable -import Mathlib.Topology.Piecewise -import Mathlib.Topology.Separation.SeparatedNhds -import Mathlib.Topology.Compactness.LocallyCompact -import Mathlib.Topology.Bases -import Mathlib.Tactic.StacksAttribute +module + +public import Mathlib.Algebra.Notation.Support +public import Mathlib.Topology.Inseparable +public import Mathlib.Topology.Piecewise +public import Mathlib.Topology.Separation.SeparatedNhds +public import Mathlib.Topology.Compactness.LocallyCompact +public import Mathlib.Topology.Bases +public import Mathlib.Tactic.StacksAttribute /-! # Separation properties of topological spaces @@ -58,6 +60,8 @@ occasionally the literature swaps definitions for e.g. T₃ and regular. * [Willard's *General Topology*][zbMATH02107988] -/ +@[expose] public section + open Function Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/Separation/CompletelyRegular.lean b/Mathlib/Topology/Separation/CompletelyRegular.lean index 02ae2509130a8e..14479055e97073 100644 --- a/Mathlib/Topology/Separation/CompletelyRegular.lean +++ b/Mathlib/Topology/Separation/CompletelyRegular.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Matias Heikkilä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Matias Heikkilä -/ -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.UnitInterval -import Mathlib.Topology.Compactification.StoneCech -import Mathlib.Topology.Order.Lattice -import Mathlib.Analysis.Real.Cardinality +module + +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.UnitInterval +public import Mathlib.Topology.Compactification.StoneCech +public import Mathlib.Topology.Order.Lattice +public import Mathlib.Analysis.Real.Cardinality /-! # Completely regular topological spaces. @@ -50,6 +52,8 @@ space. * [Russell C. Walker, *The Stone-Čech Compactification*][russell1974] -/ +@[expose] public section + universe u v noncomputable section diff --git a/Mathlib/Topology/Separation/Connected.lean b/Mathlib/Topology/Separation/Connected.lean index a389a061a26b16..241a7bcec1d9b6 100644 --- a/Mathlib/Topology/Separation/Connected.lean +++ b/Mathlib/Topology/Separation/Connected.lean @@ -3,13 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Separation.Basic -import Mathlib.Topology.Connected.TotallyDisconnected +module + +public import Mathlib.Topology.Separation.Basic +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Interaction of separation properties with connectedness properties -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] open Filter Set diff --git a/Mathlib/Topology/Separation/CountableSeparatingOn.lean b/Mathlib/Topology/Separation/CountableSeparatingOn.lean index 4531e4bdaaa854..903a411c3983a4 100644 --- a/Mathlib/Topology/Separation/CountableSeparatingOn.lean +++ b/Mathlib/Topology/Separation/CountableSeparatingOn.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Filter.CountableSeparatingOn -import Mathlib.Topology.Separation.Basic +module + +public import Mathlib.Order.Filter.CountableSeparatingOn +public import Mathlib.Topology.Separation.Basic /-! # Countable separating families of sets in topological spaces @@ -13,6 +15,8 @@ In this file we show that a T₀ topological space with second countable topology has a countable family of open (or closed) sets separating the points. -/ +@[expose] public section + variable {X : Type*} open Set TopologicalSpace diff --git a/Mathlib/Topology/Separation/DisjointCover.lean b/Mathlib/Topology/Separation/DisjointCover.lean index e95fcb796ca7bc..c8f97236d81601 100644 --- a/Mathlib/Topology/Separation/DisjointCover.lean +++ b/Mathlib/Topology/Separation/DisjointCover.lean @@ -3,12 +3,14 @@ Copyright (c) 2024 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Algebra.Notation.Indicator -import Mathlib.Data.Fintype.BigOperators -import Mathlib.Order.Disjointed -import Mathlib.Topology.Separation.Profinite -import Mathlib.Topology.Sets.Closeds -import Mathlib.Topology.Sets.OpenCover +module + +public import Mathlib.Algebra.Notation.Indicator +public import Mathlib.Data.Fintype.BigOperators +public import Mathlib.Order.Disjointed +public import Mathlib.Topology.Separation.Profinite +public import Mathlib.Topology.Sets.Closeds +public import Mathlib.Topology.Sets.OpenCover /-! # Disjoint covers of profinite spaces @@ -23,6 +25,8 @@ We prove various results about covering profinite spaces by disjoint clopens, in `S`-approximated by a function factoring through `Fin n` for some `n`. -/ +@[expose] public section + open Set TopologicalSpace open scoped Function Finset Topology diff --git a/Mathlib/Topology/Separation/GDelta.lean b/Mathlib/Topology/Separation/GDelta.lean index 580cce55b9eb20..5cc103972f42d4 100644 --- a/Mathlib/Topology/Separation/GDelta.lean +++ b/Mathlib/Topology/Separation/GDelta.lean @@ -3,12 +3,14 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Compactness.Lindelof -import Mathlib.Topology.Compactness.SigmaCompact -import Mathlib.Topology.Connected.TotallyDisconnected -import Mathlib.Topology.Inseparable -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.GDelta.Basic +module + +public import Mathlib.Topology.Compactness.Lindelof +public import Mathlib.Topology.Compactness.SigmaCompact +public import Mathlib.Topology.Connected.TotallyDisconnected +public import Mathlib.Topology.Inseparable +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.GDelta.Basic /-! # Separation properties of topological spaces. @@ -24,6 +26,8 @@ occasionally the literature swaps definitions for e.g. T₃ and regular. -/ +@[expose] public section + open Function Set Filter Topology TopologicalSpace universe u diff --git a/Mathlib/Topology/Separation/Hausdorff.lean b/Mathlib/Topology/Separation/Hausdorff.lean index 51390a30bab67d..11e58e837360fd 100644 --- a/Mathlib/Topology/Separation/Hausdorff.lean +++ b/Mathlib/Topology/Separation/Hausdorff.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Compactness.SigmaCompact -import Mathlib.Topology.Irreducible -import Mathlib.Topology.Separation.Basic +module + +public import Mathlib.Topology.Compactness.SigmaCompact +public import Mathlib.Topology.Irreducible +public import Mathlib.Topology.Separation.Basic /-! # T₂ and T₂.₅ spaces. @@ -65,6 +67,8 @@ If the space is also compact: -/ +@[expose] public section + open Function Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/Separation/Lemmas.lean b/Mathlib/Topology/Separation/Lemmas.lean index 48923c20854b01..e87f167822c6c6 100644 --- a/Mathlib/Topology/Separation/Lemmas.lean +++ b/Mathlib/Topology/Separation/Lemmas.lean @@ -3,14 +3,18 @@ Copyright (c) 2025 Bryan Wang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Geoffrey Irving, Bryan Wang, Oliver Nash -/ -import Mathlib.Topology.GDelta.MetrizableSpace -import Mathlib.Topology.Separation.CompletelyRegular -import Mathlib.Topology.Separation.Profinite +module + +public import Mathlib.Topology.GDelta.MetrizableSpace +public import Mathlib.Topology.Separation.CompletelyRegular +public import Mathlib.Topology.Separation.Profinite /-! # Further separation lemmas -/ +@[expose] public section + variable {X : Type*} namespace CompletelyRegularSpace diff --git a/Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean b/Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean index 81144b10e7d594..8007885c5c11b9 100644 --- a/Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean +++ b/Mathlib/Topology/Separation/LinearUpperLowerSetTopology.lean @@ -3,14 +3,17 @@ Copyright (c) 2025 Miyahara Kō. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Miyahara Kō -/ +module -import Mathlib.Topology.Order.UpperLowerSetTopology -import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.Order.UpperLowerSetTopology +public import Mathlib.Topology.Separation.Regular /-! # Linear upper or lower sets topologies are completely normal -/ +@[expose] public section + open Set Topology.IsUpperSet instance (priority := low) {α : Type*} diff --git a/Mathlib/Topology/Separation/NotNormal.lean b/Mathlib/Topology/Separation/NotNormal.lean index 245d553fe2c2cd..7770f181ed4dd4 100644 --- a/Mathlib/Topology/Separation/NotNormal.lean +++ b/Mathlib/Topology/Separation/NotNormal.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Analysis.Real.Cardinality -import Mathlib.Topology.TietzeExtension +module + +public import Mathlib.Analysis.Real.Cardinality +public import Mathlib.Topology.TietzeExtension /-! # Not normal topological spaces @@ -12,6 +14,8 @@ In this file we prove (see `IsClosed.not_normal_of_continuum_le_mk`) that a sepa discrete subspace of cardinality continuum is not a normal topological space. -/ +@[expose] public section + open Set Function Cardinal Topology TopologicalSpace universe u diff --git a/Mathlib/Topology/Separation/Profinite.lean b/Mathlib/Topology/Separation/Profinite.lean index cec0aeedc14493..83bc1bc8066445 100644 --- a/Mathlib/Topology/Separation/Profinite.lean +++ b/Mathlib/Topology/Separation/Profinite.lean @@ -3,14 +3,17 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ +module -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.Connected.TotallyDisconnected +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.Connected.TotallyDisconnected /-! # Separation properties: profinite spaces -/ +@[expose] public section + open Function Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/Separation/Regular.lean b/Mathlib/Topology/Separation/Regular.lean index 209f9b9125000f..38cf6c18178e7e 100644 --- a/Mathlib/Topology/Separation/Regular.lean +++ b/Mathlib/Topology/Separation/Regular.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Tactic.StacksAttribute -import Mathlib.Topology.Compactness.Lindelof -import Mathlib.Topology.Separation.Hausdorff -import Mathlib.Topology.Connected.Clopen +module + +public import Mathlib.Tactic.StacksAttribute +public import Mathlib.Topology.Compactness.Lindelof +public import Mathlib.Topology.Separation.Hausdorff +public import Mathlib.Topology.Connected.Clopen /-! # Regular, normal, T₃, T₄ and T₅ spaces @@ -58,6 +60,8 @@ If the space is also Lindelöf: -/ +@[expose] public section + assert_not_exists UniformSpace open Function Set Filter Topology TopologicalSpace diff --git a/Mathlib/Topology/Separation/SeparatedNhds.lean b/Mathlib/Topology/Separation/SeparatedNhds.lean index 9630c8deebcbc4..905097149c4464 100644 --- a/Mathlib/Topology/Separation/SeparatedNhds.lean +++ b/Mathlib/Topology/Separation/SeparatedNhds.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Continuous -import Mathlib.Topology.NhdsSet +module + +public import Mathlib.Topology.Continuous +public import Mathlib.Topology.NhdsSet /-! # Separated neighbourhoods @@ -25,6 +27,8 @@ formulating separation axioms for topological spaces. * [Willard's *General Topology*][zbMATH02107988] -/ +@[expose] public section + open Function Set Filter Topology TopologicalSpace universe u v diff --git a/Mathlib/Topology/Sequences.lean b/Mathlib/Topology/Sequences.lean index f3175d61f3ff58..df902e43014acb 100644 --- a/Mathlib/Topology/Sequences.lean +++ b/Mathlib/Topology/Sequences.lean @@ -3,8 +3,10 @@ Copyright (c) 2018 Jan-David Salchow. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jan-David Salchow, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Defs.Sequences -import Mathlib.Topology.UniformSpace.Cauchy +module + +public import Mathlib.Topology.Defs.Sequences +public import Mathlib.Topology.UniformSpace.Cauchy /-! # Sequences in topological spaces @@ -60,6 +62,8 @@ We build theory about these definitions here, so we remind the definitions. sequentially closed, sequentially compact, sequential space -/ +@[expose] public section + open Bornology Filter Function Set TopologicalSpace Topology open scoped Uniformity diff --git a/Mathlib/Topology/Sets/Closeds.lean b/Mathlib/Topology/Sets/Closeds.lean index c721841409d44d..ceaf7589fefb26 100644 --- a/Mathlib/Topology/Sets/Closeds.lean +++ b/Mathlib/Topology/Sets/Closeds.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Topology.Sets.Opens -import Mathlib.Topology.Clopen +module + +public import Mathlib.Topology.Sets.Opens +public import Mathlib.Topology.Clopen /-! # Closed sets @@ -18,6 +20,8 @@ For a topological space `α`, * `TopologicalSpace.Clopens α`: The type of clopen sets. -/ +@[expose] public section + open Order OrderDual Set diff --git a/Mathlib/Topology/Sets/CompactOpenCovered.lean b/Mathlib/Topology/Sets/CompactOpenCovered.lean index 10212fabf6de14..f9e0cfec08a35e 100644 --- a/Mathlib/Topology/Sets/CompactOpenCovered.lean +++ b/Mathlib/Topology/Sets/CompactOpenCovered.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Christian Merten. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Christian Merten -/ -import Mathlib.Data.Finite.Sigma -import Mathlib.Topology.Spectral.Prespectral +module + +public import Mathlib.Data.Finite.Sigma +public import Mathlib.Topology.Spectral.Prespectral /-! # Compact open covered sets @@ -24,6 +26,8 @@ morphisms such that every compact open is compact-open covered. of `S` is compact-open covered. -/ +@[expose] public section + open TopologicalSpace Opens /-- A set `U` is compact-open covered by the family `fᵢ : X i → S`, if diff --git a/Mathlib/Topology/Sets/Compacts.lean b/Mathlib/Topology/Sets/Compacts.lean index 683858789b8cee..9206a206374a04 100644 --- a/Mathlib/Topology/Sets/Compacts.lean +++ b/Mathlib/Topology/Sets/Compacts.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Floris van Doorn. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Floris van Doorn, Yaël Dillies -/ -import Mathlib.Topology.Sets.Closeds -import Mathlib.Topology.QuasiSeparated +module + +public import Mathlib.Topology.Sets.Closeds +public import Mathlib.Topology.QuasiSeparated /-! # Compact sets @@ -21,6 +23,8 @@ For a topological space `α`, study of spectral spaces. -/ +@[expose] public section + open Set diff --git a/Mathlib/Topology/Sets/OpenCover.lean b/Mathlib/Topology/Sets/OpenCover.lean index eff04e7dfd310c..f83a7ca486bf03 100644 --- a/Mathlib/Topology/Sets/OpenCover.lean +++ b/Mathlib/Topology/Sets/OpenCover.lean @@ -3,8 +3,9 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ +module -import Mathlib.Topology.Sets.Opens +public import Mathlib.Topology.Sets.Opens /-! # Open covers @@ -14,6 +15,8 @@ asserting that their union is `X`. This is an example of a declaration whose nam longer than its content; but giving it a name serves as a way of standardizing API. -/ +@[expose] public section + open Set Topology namespace TopologicalSpace diff --git a/Mathlib/Topology/Sets/Opens.lean b/Mathlib/Topology/Sets/Opens.lean index ad849e671e70ad..d5c04e8642430b 100644 --- a/Mathlib/Topology/Sets/Opens.lean +++ b/Mathlib/Topology/Sets/Opens.lean @@ -3,11 +3,13 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn -/ -import Mathlib.Order.Hom.CompleteLattice -import Mathlib.Topology.Compactness.Bases -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Order.CompactlyGenerated.Basic -import Mathlib.Order.Copy +module + +public import Mathlib.Order.Hom.CompleteLattice +public import Mathlib.Topology.Compactness.Bases +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Order.CompactlyGenerated.Basic +public import Mathlib.Order.Copy /-! # Open sets @@ -45,6 +47,8 @@ We define order structures on both `Opens α` (`CompleteLattice`, `Frame`) and ` - Port the `auto_cases` tactic version (as a plugin if the ported `auto_cases` will allow plugins). -/ +@[expose] public section + open Filter Function Order Set diff --git a/Mathlib/Topology/Sets/Order.lean b/Mathlib/Topology/Sets/Order.lean index 63094d57fd2588..bfc4732e1f2963 100644 --- a/Mathlib/Topology/Sets/Order.lean +++ b/Mathlib/Topology/Sets/Order.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Topology.Sets.Closeds +module + +public import Mathlib.Topology.Sets.Closeds /-! # Clopen upper sets @@ -11,6 +13,8 @@ import Mathlib.Topology.Sets.Closeds In this file we define the type of clopen upper sets. -/ +@[expose] public section + open Set TopologicalSpace diff --git a/Mathlib/Topology/Sheaves/Alexandrov.lean b/Mathlib/Topology/Sheaves/Alexandrov.lean index f023b4f9fba9ec..077cd281aafe18 100644 --- a/Mathlib/Topology/Sheaves/Alexandrov.lean +++ b/Mathlib/Topology/Sheaves/Alexandrov.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Adam Topaz. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justin Curry, Adam Topaz -/ -import Mathlib.Combinatorics.Quiver.ReflQuiver -import Mathlib.Order.CompletePartialOrder -import Mathlib.Topology.Order.UpperLowerSetTopology -import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover +module + +public import Mathlib.Combinatorics.Quiver.ReflQuiver +public import Mathlib.Order.CompletePartialOrder +public import Mathlib.Topology.Order.UpperLowerSetTopology +public import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover /-! @@ -20,6 +22,8 @@ This file proves that this presheaf is a sheaf. -/ +@[expose] public section + noncomputable section universe v u diff --git a/Mathlib/Topology/Sheaves/CommRingCat.lean b/Mathlib/Topology/Sheaves/CommRingCat.lean index fadcbf1af46c19..df57d485a7c8fd 100644 --- a/Mathlib/Topology/Sheaves/CommRingCat.lean +++ b/Mathlib/Topology/Sheaves/CommRingCat.lean @@ -3,12 +3,14 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Andrew Yang -/ -import Mathlib.Algebra.Category.Ring.Colimits -import Mathlib.Algebra.Category.Ring.Constructions -import Mathlib.Algebra.Category.Ring.FilteredColimits -import Mathlib.Topology.Category.TopCommRingCat -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.Sheaves.Stalks +module + +public import Mathlib.Algebra.Category.Ring.Colimits +public import Mathlib.Algebra.Category.Ring.Constructions +public import Mathlib.Algebra.Category.Ring.FilteredColimits +public import Mathlib.Topology.Category.TopCommRingCat +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.Sheaves.Stalks /-! # Sheaves of (commutative) rings. @@ -26,6 +28,8 @@ As more results accumulate, please consider splitting this file. * https://stacks.math.columbia.edu/tag/0073 -/ +@[expose] public section + universe u v w v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/Topology/Sheaves/Forget.lean b/Mathlib/Topology/Sheaves/Forget.lean index 458a5633cd652c..352e5e6824d258 100644 --- a/Mathlib/Topology/Sheaves/Forget.lean +++ b/Mathlib/Topology/Sheaves/Forget.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.Sheaf +module + +public import Mathlib.Topology.Sheaves.Sheaf /-! # Checking the sheaf condition on the underlying presheaf of types. @@ -23,6 +25,8 @@ to check it on the underlying sheaf of types. * https://stacks.math.columbia.edu/tag/0073 -/ +@[expose] public section + universe v v₁ v₂ u₁ u₂ noncomputable section diff --git a/Mathlib/Topology/Sheaves/Functors.lean b/Mathlib/Topology/Sheaves/Functors.lean index c7d84962c0c44e..6b3883b86824ad 100644 --- a/Mathlib/Topology/Sheaves/Functors.lean +++ b/Mathlib/Topology/Sheaves/Functors.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Junyan Xu. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Junyan Xu, Andrew Yang -/ -import Mathlib.Topology.Sheaves.SheafCondition.Sites -import Mathlib.CategoryTheory.Sites.Pullback +module + +public import Mathlib.Topology.Sheaves.SheafCondition.Sites +public import Mathlib.CategoryTheory.Sites.Pullback /-! # functors between categories of sheaves @@ -23,6 +25,8 @@ topological spaces X and Y. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Sheaves/Init.lean b/Mathlib/Topology/Sheaves/Init.lean index fad0482e9171fa..c8ea09162968c9 100644 --- a/Mathlib/Topology/Sheaves/Init.lean +++ b/Mathlib/Topology/Sheaves/Init.lean @@ -3,9 +3,10 @@ Copyright (c) 2023 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ +module -import Mathlib.Init -import Aesop +public import Mathlib.Init +public import Aesop /-! # Rule sets related to topological (pre)sheaves @@ -15,5 +16,7 @@ visible once the file in which they're declared is imported, so we must put this declaration into its own file. -/ +@[expose] public section + /- to prove subset relations -/ declare_aesop_rule_sets [Restrict] diff --git a/Mathlib/Topology/Sheaves/Limits.lean b/Mathlib/Topology/Sheaves/Limits.lean index 4a36a12bd560af..ff02b14ac05e69 100644 --- a/Mathlib/Topology/Sheaves/Limits.lean +++ b/Mathlib/Topology/Sheaves/Limits.lean @@ -3,14 +3,18 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.Sheaf -import Mathlib.CategoryTheory.Sites.Limits -import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic +module + +public import Mathlib.Topology.Sheaves.Sheaf +public import Mathlib.CategoryTheory.Sites.Limits +public import Mathlib.CategoryTheory.Limits.FunctorCategory.Basic /-! # Presheaves in `C` have limits and colimits when `C` does. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Sheaves/LocalPredicate.lean b/Mathlib/Topology/Sheaves/LocalPredicate.lean index 04f5b43563cc84..f8e3341ae58ee9 100644 --- a/Mathlib/Topology/Sheaves/LocalPredicate.lean +++ b/Mathlib/Topology/Sheaves/LocalPredicate.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison, Adam Topaz -/ -import Mathlib.Topology.Sheaves.SheafOfFunctions -import Mathlib.Topology.Sheaves.Stalks -import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing +module + +public import Mathlib.Topology.Sheaves.SheafOfFunctions +public import Mathlib.Topology.Sheaves.Stalks +public import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing /-! # Functions satisfying a local predicate form a sheaf. @@ -34,6 +36,8 @@ to the types in the ambient type family. We give conditions sufficient to show that this map is injective and/or surjective. -/ +@[expose] public section + noncomputable section variable {X : TopCat} diff --git a/Mathlib/Topology/Sheaves/LocallySurjective.lean b/Mathlib/Topology/Sheaves/LocallySurjective.lean index 14683850e28138..4ba789ed4d76c9 100644 --- a/Mathlib/Topology/Sheaves/LocallySurjective.lean +++ b/Mathlib/Topology/Sheaves/LocallySurjective.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Sam van Gool and Jake Levinson. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sam van Gool, Jake Levinson -/ -import Mathlib.Topology.Sheaves.Presheaf -import Mathlib.Topology.Sheaves.Stalks -import Mathlib.CategoryTheory.Limits.Preserves.Filtered -import Mathlib.CategoryTheory.Sites.LocallySurjective +module + +public import Mathlib.Topology.Sheaves.Presheaf +public import Mathlib.Topology.Sheaves.Stalks +public import Mathlib.CategoryTheory.Limits.Preserves.Filtered +public import Mathlib.CategoryTheory.Sites.LocallySurjective /-! @@ -26,6 +28,8 @@ We prove that these are equivalent. -/ +@[expose] public section + universe v u diff --git a/Mathlib/Topology/Sheaves/MayerVietoris.lean b/Mathlib/Topology/Sheaves/MayerVietoris.lean index b2b3d8792d706d..936af6d4bdee68 100644 --- a/Mathlib/Topology/Sheaves/MayerVietoris.lean +++ b/Mathlib/Topology/Sheaves/MayerVietoris.lean @@ -3,10 +3,11 @@ Copyright (c) 2024 Joël Riou. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joël Riou -/ +module -import Mathlib.CategoryTheory.Sites.MayerVietorisSquare -import Mathlib.CategoryTheory.Sites.Spaces -import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced +public import Mathlib.CategoryTheory.Sites.MayerVietorisSquare +public import Mathlib.CategoryTheory.Sites.Spaces +public import Mathlib.CategoryTheory.Functor.ReflectsIso.Balanced /-! # Mayer-Vietoris squares @@ -22,6 +23,8 @@ U ⊓ V ---> U -/ +@[expose] public section + universe u namespace Opens diff --git a/Mathlib/Topology/Sheaves/PUnit.lean b/Mathlib/Topology/Sheaves/PUnit.lean index 671f5298e79c1e..dfc09d4bedaa76 100644 --- a/Mathlib/Topology/Sheaves/PUnit.lean +++ b/Mathlib/Topology/Sheaves/PUnit.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang -/ -import Mathlib.Topology.Sheaves.SheafCondition.Sites +module + +public import Mathlib.Topology.Sheaves.SheafCondition.Sites /-! # Presheaves on `PUnit` @@ -11,6 +13,8 @@ import Mathlib.Topology.Sheaves.SheafCondition.Sites Presheaves on `PUnit` satisfy sheaf condition iff its value at empty set is a terminal object. -/ +@[expose] public section + namespace TopCat.Presheaf diff --git a/Mathlib/Topology/Sheaves/Presheaf.lean b/Mathlib/Topology/Sheaves/Presheaf.lean index abdc597975a337..228e30aa22065a 100644 --- a/Mathlib/Topology/Sheaves/Presheaf.lean +++ b/Mathlib/Topology/Sheaves/Presheaf.lean @@ -3,11 +3,13 @@ Copyright (c) 2018 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Mario Carneiro, Reid Barton, Andrew Yang -/ -import Mathlib.Topology.Category.TopCat.Opens -import Mathlib.CategoryTheory.Adjunction.Unique -import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction -import Mathlib.Topology.Sheaves.Init -import Mathlib.Data.Set.Subsingleton +module + +public import Mathlib.Topology.Category.TopCat.Opens +public import Mathlib.CategoryTheory.Adjunction.Unique +public import Mathlib.CategoryTheory.Functor.KanExtension.Adjunction +public import Mathlib.Topology.Sheaves.Init +public import Mathlib.Data.Set.Subsingleton /-! # Presheaves on a topological space @@ -29,6 +31,8 @@ and provide their adjunction at `TopCat.Presheaf.pushforwardPullbackAdjunction`. -/ +@[expose] public section + universe w v u open CategoryTheory TopologicalSpace Opposite Functor diff --git a/Mathlib/Topology/Sheaves/PresheafOfFunctions.lean b/Mathlib/Topology/Sheaves/PresheafOfFunctions.lean index 26a460dc25c8ec..ce3ad36ab0e4da 100644 --- a/Mathlib/Topology/Sheaves/PresheafOfFunctions.lean +++ b/Mathlib/Topology/Sheaves/PresheafOfFunctions.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.Presheaf +module + +public import Mathlib.Topology.Sheaves.Presheaf /-! # Presheaves of functions @@ -21,6 +23,8 @@ We construct some simple examples of presheaves of functions on a topological sp is the presheaf of rings of continuous complex-valued functions on `X`. -/ +@[expose] public section + open CategoryTheory TopologicalSpace Opposite namespace TopCat diff --git a/Mathlib/Topology/Sheaves/Sheaf.lean b/Mathlib/Topology/Sheaves/Sheaf.lean index 02c8931ecba370..8d771885a5815a 100644 --- a/Mathlib/Topology/Sheaves/Sheaf.lean +++ b/Mathlib/Topology/Sheaves/Sheaf.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.Presheaf -import Mathlib.CategoryTheory.Sites.Sheaf -import Mathlib.CategoryTheory.Sites.Spaces +module + +public import Mathlib.Topology.Sheaves.Presheaf +public import Mathlib.CategoryTheory.Sites.Sheaf +public import Mathlib.CategoryTheory.Sites.Spaces /-! # Sheaves @@ -25,6 +27,8 @@ presheaves, and the fully faithful functor `Sheaf.forget : TopCat.Sheaf C X ⥤ -/ +@[expose] public section + universe w v u diff --git a/Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean b/Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean index c45dea61cc1966..8bf05a05a7d27a 100644 --- a/Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean +++ b/Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Limits.Shapes.Equalizers -import Mathlib.CategoryTheory.Limits.Shapes.Products -import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections +module + +public import Mathlib.CategoryTheory.Limits.Shapes.Equalizers +public import Mathlib.CategoryTheory.Limits.Shapes.Products +public import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections /-! # The sheaf condition in terms of an equalizer of products @@ -20,6 +22,8 @@ the presheaf is valued in a category with products, and thereby equivalent to th condition. -/ +@[expose] public section + universe v' v u diff --git a/Mathlib/Topology/Sheaves/SheafCondition/OpensLeCover.lean b/Mathlib/Topology/Sheaves/SheafCondition/OpensLeCover.lean index 00bc866886c14d..f11c28854cc81d 100644 --- a/Mathlib/Topology/Sheaves/SheafCondition/OpensLeCover.lean +++ b/Mathlib/Topology/Sheaves/SheafCondition/OpensLeCover.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.SheafCondition.Sites +module + +public import Mathlib.Topology.Sheaves.SheafCondition.Sites /-! # Another version of the sheaf condition. @@ -30,6 +32,8 @@ like `pairwise_intersections` and `equalizer_products`. * This is the definition Lurie uses in [Spectral Algebraic Geometry][LurieSAG]. -/ +@[expose] public section + universe w diff --git a/Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean b/Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean index 8d1ca83ccb9198..e2fd0bf1e60433 100644 --- a/Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean +++ b/Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean @@ -3,11 +3,13 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.CategoryTheory.Category.Pairwise -import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts -import Mathlib.CategoryTheory.Limits.Final -import Mathlib.CategoryTheory.Limits.Preserves.Basic -import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover +module + +public import Mathlib.CategoryTheory.Category.Pairwise +public import Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts +public import Mathlib.CategoryTheory.Limits.Final +public import Mathlib.CategoryTheory.Limits.Preserves.Basic +public import Mathlib.Topology.Sheaves.SheafCondition.OpensLeCover /-! # Equivalent formulations of the sheaf condition @@ -34,6 +36,8 @@ We show that this sheaf condition is equivalent to the `OpensLeCover` sheaf cond thereby also equivalent to the default sheaf condition. -/ +@[expose] public section + assert_not_exists OrderedCommMonoid noncomputable section diff --git a/Mathlib/Topology/Sheaves/SheafCondition/Sites.lean b/Mathlib/Topology/Sheaves/SheafCondition/Sites.lean index e72662a36a355d..566e69b9f3aaa5 100644 --- a/Mathlib/Topology/Sheaves/SheafCondition/Sites.lean +++ b/Mathlib/Topology/Sheaves/SheafCondition/Sites.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.CategoryTheory.Sites.Spaces -import Mathlib.Topology.Sheaves.Sheaf -import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic +module + +public import Mathlib.CategoryTheory.Sites.Spaces +public import Mathlib.Topology.Sheaves.Sheaf +public import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic /-! @@ -21,6 +23,8 @@ induce cover-preserving functors, and that open embeddings induce continuous fun -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean b/Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean index d3c201e77c8411..31451f21e9c501 100644 --- a/Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean +++ b/Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Justus Springer. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Justus Springer -/ -import Mathlib.Topology.Sheaves.Forget -import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections -import Mathlib.CategoryTheory.Limits.Types.Shapes +module + +public import Mathlib.Topology.Sheaves.Forget +public import Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections +public import Mathlib.CategoryTheory.Limits.Types.Shapes /-! # The sheaf condition in terms of unique gluings @@ -33,6 +35,8 @@ isomorphism-reflecting functor leaves the sheaf condition invariant, as shown in -/ +@[expose] public section + noncomputable section open TopCat TopCat.Presheaf CategoryTheory CategoryTheory.Limits diff --git a/Mathlib/Topology/Sheaves/SheafOfFunctions.lean b/Mathlib/Topology/Sheaves/SheafOfFunctions.lean index aa21c49a1d38e6..4c81ea12ae6503 100644 --- a/Mathlib/Topology/Sheaves/SheafOfFunctions.lean +++ b/Mathlib/Topology/Sheaves/SheafOfFunctions.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johan Commelin, Kim Morrison -/ -import Mathlib.Topology.Sheaves.PresheafOfFunctions -import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing +module + +public import Mathlib.Topology.Sheaves.PresheafOfFunctions +public import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing /-! # Sheaf conditions for presheaves of (continuous) functions. @@ -25,6 +27,8 @@ Obviously there's more to do: * functions into spaces with algebraic structure, which the sections inherit -/ +@[expose] public section + open CategoryTheory Limits TopologicalSpace Opens diff --git a/Mathlib/Topology/Sheaves/Sheafify.lean b/Mathlib/Topology/Sheaves/Sheafify.lean index f0f5b2f2baac7e..c9a211edf90d61 100644 --- a/Mathlib/Topology/Sheaves/Sheafify.lean +++ b/Mathlib/Topology/Sheaves/Sheafify.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Topology.Sheaves.LocalPredicate -import Mathlib.Topology.Sheaves.Stalks +module + +public import Mathlib.Topology.Sheaves.LocalPredicate +public import Mathlib.Topology.Sheaves.Stalks /-! # Sheafification of `Type`-valued presheaves @@ -27,6 +29,8 @@ and that it is the left adjoint of the forgetful functor, following . -/ +@[expose] public section + assert_not_exists CommRingCat diff --git a/Mathlib/Topology/Sheaves/Skyscraper.lean b/Mathlib/Topology/Sheaves/Skyscraper.lean index 92efb48b051e96..4c4cc375944cbb 100644 --- a/Mathlib/Topology/Sheaves/Skyscraper.lean +++ b/Mathlib/Topology/Sheaves/Skyscraper.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jujian Zhang, Junyan Xu -/ -import Mathlib.Topology.Sheaves.PUnit -import Mathlib.Topology.Sheaves.Stalks -import Mathlib.Topology.Sheaves.Functors +module + +public import Mathlib.Topology.Sheaves.PUnit +public import Mathlib.Topology.Sheaves.Stalks +public import Mathlib.Topology.Sheaves.Functors /-! # Skyscraper (pre)sheaves @@ -31,6 +33,8 @@ of `p₀`, i.e. if `p₀ ⤳ x` then `𝓕ₓ ≅ A` and if `¬ p₀ ⤳ x` then TODO: generalize universe level when calculating stalks, after generalizing universe level of stalk. -/ +@[expose] public section + noncomputable section open TopologicalSpace TopCat CategoryTheory CategoryTheory.Limits Opposite diff --git a/Mathlib/Topology/Sheaves/Stalks.lean b/Mathlib/Topology/Sheaves/Stalks.lean index 6968bd222f48cc..6de609e58bb0c6 100644 --- a/Mathlib/Topology/Sheaves/Stalks.lean +++ b/Mathlib/Topology/Sheaves/Stalks.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Justus Springer -/ -import Mathlib.Topology.Category.TopCat.OpenNhds -import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing +module + +public import Mathlib.Topology.Category.TopCat.OpenNhds +public import Mathlib.Topology.Sheaves.SheafCondition.UniqueGluing /-! # Stalks @@ -38,6 +40,8 @@ https://stacks.math.columbia.edu/tag/007L -/ +@[expose] public section + assert_not_exists OrderedCommMonoid diff --git a/Mathlib/Topology/ShrinkingLemma.lean b/Mathlib/Topology/ShrinkingLemma.lean index 97f0c6d0776ac3..70c6e686737674 100644 --- a/Mathlib/Topology/ShrinkingLemma.lean +++ b/Mathlib/Topology/ShrinkingLemma.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Reid Barton -/ -import Mathlib.Topology.Separation.Regular +module + +public import Mathlib.Topology.Separation.Regular /-! # The shrinking lemma @@ -26,6 +28,8 @@ We prove two versions of the lemma: normal space, shrinking lemma -/ +@[expose] public section + open Set Function noncomputable section diff --git a/Mathlib/Topology/Sober.lean b/Mathlib/Topology/Sober.lean index 62b1dd3d390877..13e2bbd2a7f70b 100644 --- a/Mathlib/Topology/Sober.lean +++ b/Mathlib/Topology/Sober.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Topology.Sets.Closeds -import Mathlib.Topology.Sets.OpenCover -import Mathlib.Algebra.HierarchyDesign +module + +public import Mathlib.Topology.Sets.Closeds +public import Mathlib.Topology.Sets.OpenCover +public import Mathlib.Algebra.HierarchyDesign /-! # Sober spaces @@ -24,6 +26,8 @@ stated via `[QuasiSober α] [T0Space α]`. -/ +@[expose] public section + open Set diff --git a/Mathlib/Topology/Specialization.lean b/Mathlib/Topology/Specialization.lean index 991733ed791ee7..c60705280ddcbd 100644 --- a/Mathlib/Topology/Specialization.lean +++ b/Mathlib/Topology/Specialization.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Order.Category.Preord -import Mathlib.Topology.Category.TopCat.Basic -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.Order.UpperLowerSetTopology +module + +public import Mathlib.Order.Category.Preord +public import Mathlib.Topology.Category.TopCat.Basic +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.Order.UpperLowerSetTopology /-! # Specialization order @@ -14,6 +16,8 @@ import Mathlib.Topology.Order.UpperLowerSetTopology This file defines a type synonym for a topological space considered with its specialisation order. -/ +@[expose] public section + open CategoryTheory Topology /-- Type synonym for a topological space considered with its specialisation order. -/ diff --git a/Mathlib/Topology/Spectral/Basic.lean b/Mathlib/Topology/Spectral/Basic.lean index 31fdc36d736514..efe307bd62fafc 100644 --- a/Mathlib/Topology/Spectral/Basic.lean +++ b/Mathlib/Topology/Spectral/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Fangming Li. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Fangming Li -/ -import Mathlib.Topology.Sober -import Mathlib.Topology.Spectral.Prespectral +module + +public import Mathlib.Topology.Sober +public import Mathlib.Topology.Spectral.Prespectral /-! # Spectral spaces @@ -13,6 +15,8 @@ A topological space is spectral if it is T0, compact, sober, quasi-separated, an subsets form an open basis. Prime spectra of commutative semirings are spectral spaces. -/ +@[expose] public section + variable (α : Type*) [TopologicalSpace α] /-- diff --git a/Mathlib/Topology/Spectral/Hom.lean b/Mathlib/Topology/Spectral/Hom.lean index 3c0b858435582b..cd23ce10dc7437 100644 --- a/Mathlib/Topology/Spectral/Hom.lean +++ b/Mathlib/Topology/Spectral/Hom.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yaël Dillies -/ -import Mathlib.Tactic.StacksAttribute -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.Maps.Proper.Basic +module + +public import Mathlib.Tactic.StacksAttribute +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.Maps.Proper.Basic /-! # Spectral maps @@ -24,6 +26,8 @@ compact open set is compact open. Once we have `SpectralSpace`, `IsSpectralMap` should move to `Mathlib/Topology/Spectral/Basic.lean`. -/ +@[expose] public section + open Function OrderDual diff --git a/Mathlib/Topology/Spectral/Prespectral.lean b/Mathlib/Topology/Spectral/Prespectral.lean index 563ec97eb0b833..678210d3a48bc8 100644 --- a/Mathlib/Topology/Spectral/Prespectral.lean +++ b/Mathlib/Topology/Spectral/Prespectral.lean @@ -3,10 +3,12 @@ Copyright (c) 2025 Andrew Yang. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Andrew Yang -/ -import Mathlib.Order.Ideal -import Mathlib.Topology.Sets.Compacts -import Mathlib.Topology.Sets.OpenCover -import Mathlib.Topology.Spectral.Hom +module + +public import Mathlib.Order.Ideal +public import Mathlib.Topology.Sets.Compacts +public import Mathlib.Topology.Sets.OpenCover +public import Mathlib.Topology.Spectral.Hom /-! @@ -16,6 +18,8 @@ In this file, we define prespectral spaces as spaces whose lattice of compact op -/ +@[expose] public section + open TopologicalSpace Topology variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] diff --git a/Mathlib/Topology/StoneCech.lean b/Mathlib/Topology/StoneCech.lean index 8fb24f47f00396..52403f4f277e78 100644 --- a/Mathlib/Topology/StoneCech.lean +++ b/Mathlib/Topology/StoneCech.lean @@ -1,3 +1,5 @@ -import Mathlib.Topology.Compactification.StoneCech +module + +public import Mathlib.Topology.Compactification.StoneCech deprecated_module (since := "2025-06-07") diff --git a/Mathlib/Topology/TietzeExtension.lean b/Mathlib/Topology/TietzeExtension.lean index 2a6d74fbea7b64..c424f97fea9dc2 100644 --- a/Mathlib/Topology/TietzeExtension.lean +++ b/Mathlib/Topology/TietzeExtension.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Order.Interval.Set.IsoIoo -import Mathlib.Topology.ContinuousMap.Bounded.Normed -import Mathlib.Topology.UrysohnsBounded +module + +public import Mathlib.Order.Interval.Set.IsoIoo +public import Mathlib.Topology.ContinuousMap.Bounded.Normed +public import Mathlib.Topology.UrysohnsBounded /-! # Tietze extension theorem @@ -37,6 +39,8 @@ topological space, then specialize them to the case `X = s : Set Y`, `e = (↑)` Tietze extension theorem, Urysohn's lemma, normal topological space -/ +@[expose] public section + open Topology /-! ### The `TietzeExtension` class -/ diff --git a/Mathlib/Topology/Ultrafilter.lean b/Mathlib/Topology/Ultrafilter.lean index d4d74d7155a58a..ca58fbb9b7335c 100644 --- a/Mathlib/Topology/Ultrafilter.lean +++ b/Mathlib/Topology/Ultrafilter.lean @@ -3,11 +3,15 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Jeremy Avigad -/ -import Mathlib.Order.Filter.Ultrafilter.Basic -import Mathlib.Topology.Continuous +module + +public import Mathlib.Order.Filter.Ultrafilter.Basic +public import Mathlib.Topology.Continuous /-! # Characterization of basic topological properties in terms of ultrafilters -/ +@[expose] public section + open Set Filter Topology universe u v w x diff --git a/Mathlib/Topology/UniformSpace/AbsoluteValue.lean b/Mathlib/Topology/UniformSpace/AbsoluteValue.lean index 4abd41990e9f16..a8706860addad0 100644 --- a/Mathlib/Topology/UniformSpace/AbsoluteValue.lean +++ b/Mathlib/Topology/UniformSpace/AbsoluteValue.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Algebra.Order.AbsoluteValue.Basic -import Mathlib.Algebra.Order.Field.Basic -import Mathlib.Topology.UniformSpace.OfFun +module + +public import Mathlib.Algebra.Order.AbsoluteValue.Basic +public import Mathlib.Algebra.Order.Field.Basic +public import Mathlib.Topology.UniformSpace.OfFun /-! # Uniform structure induced by an absolute value @@ -24,6 +26,8 @@ follows exactly the same path. absolute value, uniform spaces -/ +@[expose] public section + open Set Function Filter Uniformity namespace AbsoluteValue diff --git a/Mathlib/Topology/UniformSpace/AbstractCompletion.lean b/Mathlib/Topology/UniformSpace/AbstractCompletion.lean index 11194fd6f081a5..8f98bbe212ceda 100644 --- a/Mathlib/Topology/UniformSpace/AbstractCompletion.lean +++ b/Mathlib/Topology/UniformSpace/AbstractCompletion.lean @@ -3,8 +3,10 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.UniformSpace.UniformEmbedding -import Mathlib.Topology.UniformSpace.Equiv +module + +public import Mathlib.Topology.UniformSpace.UniformEmbedding +public import Mathlib.Topology.UniformSpace.Equiv /-! # Abstract theory of Hausdorff completions of uniform spaces @@ -43,6 +45,8 @@ call a completion. uniform spaces, completion, universal property -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/UniformSpace/Ascoli.lean b/Mathlib/Topology/UniformSpace/Ascoli.lean index 8169c48a34881b..b5d734e9a8e7eb 100644 --- a/Mathlib/Topology/UniformSpace/Ascoli.lean +++ b/Mathlib/Topology/UniformSpace/Ascoli.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.UniformSpace.CompactConvergence -import Mathlib.Topology.UniformSpace.Equicontinuity -import Mathlib.Topology.UniformSpace.Equiv +module + +public import Mathlib.Topology.UniformSpace.CompactConvergence +public import Mathlib.Topology.UniformSpace.Equicontinuity +public import Mathlib.Topology.UniformSpace.Equiv /-! # Ascoli Theorem @@ -68,6 +70,8 @@ a family of compact subsets of `X`, and `α` is a uniform space. equicontinuity, uniform convergence, ascoli -/ +@[expose] public section + open Set Filter Uniformity Topology Function UniformConvergence variable {ι X α : Type*} [TopologicalSpace X] [UniformSpace α] {F : ι → X → α} diff --git a/Mathlib/Topology/UniformSpace/Basic.lean b/Mathlib/Topology/UniformSpace/Basic.lean index eca3859c815733..f68e48d9f1f34d 100644 --- a/Mathlib/Topology/UniformSpace/Basic.lean +++ b/Mathlib/Topology/UniformSpace/Basic.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Data.Rel -import Mathlib.Order.Filter.SmallSets -import Mathlib.Topology.UniformSpace.Defs -import Mathlib.Topology.ContinuousOn +module + +public import Mathlib.Data.Rel +public import Mathlib.Order.Filter.SmallSets +public import Mathlib.Topology.UniformSpace.Defs +public import Mathlib.Topology.ContinuousOn /-! # Basic results on uniform spaces @@ -35,6 +37,8 @@ The formalization uses the books: But it makes a more systematic use of the filter library. -/ +@[expose] public section + open Set Filter Topology open scoped Uniformity diff --git a/Mathlib/Topology/UniformSpace/Cauchy.lean b/Mathlib/Topology/UniformSpace/Cauchy.lean index 2050125a350537..7bef43fc30bca2 100644 --- a/Mathlib/Topology/UniformSpace/Cauchy.lean +++ b/Mathlib/Topology/UniformSpace/Cauchy.lean @@ -3,15 +3,19 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.Algebra.Constructions -import Mathlib.Topology.Bases -import Mathlib.Algebra.Order.Group.Nat -import Mathlib.Topology.UniformSpace.DiscreteUniformity +module + +public import Mathlib.Topology.Algebra.Constructions +public import Mathlib.Topology.Bases +public import Mathlib.Algebra.Order.Group.Nat +public import Mathlib.Topology.UniformSpace.DiscreteUniformity /-! # Theory of Cauchy filters in uniform spaces. Complete uniform spaces. Totally bounded subsets. -/ +@[expose] public section + universe u v open Filter Function TopologicalSpace Topology Set UniformSpace Uniformity diff --git a/Mathlib/Topology/UniformSpace/Compact.lean b/Mathlib/Topology/UniformSpace/Compact.lean index 512aea0cbf062b..04345d8ee9a215 100644 --- a/Mathlib/Topology/UniformSpace/Compact.lean +++ b/Mathlib/Topology/UniformSpace/Compact.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Topology.UniformSpace.Basic -import Mathlib.Topology.Compactness.Compact +module + +public import Mathlib.Topology.UniformSpace.Basic +public import Mathlib.Topology.Compactness.Compact /-! # Compact sets in uniform spaces @@ -14,6 +16,8 @@ import Mathlib.Topology.Compactness.Compact -/ +@[expose] public section + universe u v ua ub uc ud variable {α : Type ua} {β : Type ub} {γ : Type uc} {δ : Type ud} {ι : Sort*} diff --git a/Mathlib/Topology/UniformSpace/CompactConvergence.lean b/Mathlib/Topology/UniformSpace/CompactConvergence.lean index 095252351721b4..18d3534094f3fd 100644 --- a/Mathlib/Topology/UniformSpace/CompactConvergence.lean +++ b/Mathlib/Topology/UniformSpace/CompactConvergence.lean @@ -3,11 +3,13 @@ Copyright (c) 2021 Oliver Nash. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Oliver Nash, Yury Kudryashov -/ -import Mathlib.Topology.CompactOpen -import Mathlib.Topology.Compactness.CompactlyCoherentSpace -import Mathlib.Topology.Maps.Proper.Basic -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +module + +public import Mathlib.Topology.CompactOpen +public import Mathlib.Topology.Compactness.CompactlyCoherentSpace +public import Mathlib.Topology.Maps.Proper.Basic +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology /-! # Compact convergence (uniform convergence on compact sets) @@ -84,6 +86,8 @@ so that the resulting instance uses the compact-open topology. and uniform limits of sequences `ι → γ → C(α, β)`. -/ +@[expose] public section + open Filter Set Topology UniformSpace open scoped Uniformity UniformConvergence diff --git a/Mathlib/Topology/UniformSpace/CompareReals.lean b/Mathlib/Topology/UniformSpace/CompareReals.lean index b88d04c4df37f3..cf654b6c524427 100644 --- a/Mathlib/Topology/UniformSpace/CompareReals.lean +++ b/Mathlib/Topology/UniformSpace/CompareReals.lean @@ -3,9 +3,11 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.Instances.Rat -import Mathlib.Topology.UniformSpace.AbsoluteValue -import Mathlib.Topology.UniformSpace.Completion +module + +public import Mathlib.Topology.Instances.Rat +public import Mathlib.Topology.UniformSpace.AbsoluteValue +public import Mathlib.Topology.UniformSpace.Completion /-! # Comparison of Cauchy reals and Bourbaki reals @@ -49,6 +51,8 @@ does use ℝ). real numbers, completion, uniform spaces -/ +@[expose] public section + open Set Function Filter CauSeq UniformSpace diff --git a/Mathlib/Topology/UniformSpace/CompleteSeparated.lean b/Mathlib/Topology/UniformSpace/CompleteSeparated.lean index 237476f5984506..cafde2d6a13981 100644 --- a/Mathlib/Topology/UniformSpace/CompleteSeparated.lean +++ b/Mathlib/Topology/UniformSpace/CompleteSeparated.lean @@ -3,7 +3,9 @@ Copyright (c) 2019 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.UniformSpace.UniformEmbedding +module + +public import Mathlib.Topology.UniformSpace.UniformEmbedding /-! # Theory of complete separated uniform spaces. @@ -11,6 +13,8 @@ import Mathlib.Topology.UniformSpace.UniformEmbedding This file is for elementary lemmas that depend on both Cauchy filters and separation. -/ +@[expose] public section + open Filter diff --git a/Mathlib/Topology/UniformSpace/Completion.lean b/Mathlib/Topology/UniformSpace/Completion.lean index 51372fc6a04451..ecaae3ce58afca 100644 --- a/Mathlib/Topology/UniformSpace/Completion.lean +++ b/Mathlib/Topology/UniformSpace/Completion.lean @@ -3,7 +3,9 @@ Copyright (c) 2018 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Johannes Hölzl -/ -import Mathlib.Topology.UniformSpace.AbstractCompletion +module + +public import Mathlib.Topology.UniformSpace.AbstractCompletion /-! # Hausdorff completions of uniform spaces @@ -40,6 +42,8 @@ This formalization is mostly based on From a slightly different perspective in order to reuse material in `Topology.UniformSpace.Basic`. -/ +@[expose] public section + noncomputable section open Filter Set diff --git a/Mathlib/Topology/UniformSpace/Defs.lean b/Mathlib/Topology/UniformSpace/Defs.lean index 3efc045c71e708..8e2b5250bfee01 100644 --- a/Mathlib/Topology/UniformSpace/Defs.lean +++ b/Mathlib/Topology/UniformSpace/Defs.lean @@ -3,10 +3,12 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Patrick Massot -/ -import Mathlib.Algebra.Group.Defs -import Mathlib.Order.Filter.Tendsto -import Mathlib.Tactic.Monotonicity.Basic -import Mathlib.Topology.Order +module + +public import Mathlib.Algebra.Group.Defs +public import Mathlib.Order.Filter.Tendsto +public import Mathlib.Tactic.Monotonicity.Basic +public import Mathlib.Topology.Order /-! # Uniform spaces @@ -107,6 +109,8 @@ The formalization uses the books: But it makes a more systematic use of the filter library. -/ +@[expose] public section + open Set Filter Topology universe u v ua ub uc ud diff --git a/Mathlib/Topology/UniformSpace/Dini.lean b/Mathlib/Topology/UniformSpace/Dini.lean index 415694e1bf0ee4..058932c83dee0a 100644 --- a/Mathlib/Topology/UniformSpace/Dini.lean +++ b/Mathlib/Topology/UniformSpace/Dini.lean @@ -3,9 +3,11 @@ Copyright (c) 2024 Jireh Loreaux. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Jireh Loreaux -/ -import Mathlib.Analysis.Normed.Order.Lattice -import Mathlib.Topology.ContinuousMap.Ordered -import Mathlib.Topology.UniformSpace.CompactConvergence +module + +public import Mathlib.Analysis.Normed.Order.Lattice +public import Mathlib.Topology.ContinuousMap.Ordered +public import Mathlib.Topology.UniformSpace.CompactConvergence /-! # Dini's Theorem @@ -30,6 +32,8 @@ is `nhds_basis_ball`, and the fact that this basis satisfies the monotonicity cr corresponds to `HasSolidNorm`. -/ +@[expose] public section + open Filter Topology variable {ι α G : Type*} [Preorder ι] [TopologicalSpace α] diff --git a/Mathlib/Topology/UniformSpace/DiscreteUniformity.lean b/Mathlib/Topology/UniformSpace/DiscreteUniformity.lean index 35dd5bb00f1293..ca880dedd06d17 100644 --- a/Mathlib/Topology/UniformSpace/DiscreteUniformity.lean +++ b/Mathlib/Topology/UniformSpace/DiscreteUniformity.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Antoine Chambert-Loir, María Inés de Frutos Fernández. All Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro, Antoine Chambert-Loir, María Inés de Frutos Fernández -/ -import Mathlib.Topology.UniformSpace.Basic +module + +public import Mathlib.Topology.UniformSpace.Basic /-! # Discrete uniformity @@ -16,6 +18,8 @@ It is complete. -/ +@[expose] public section + open Filter UniformSpace /-- The discrete uniformity -/ diff --git a/Mathlib/Topology/UniformSpace/Equicontinuity.lean b/Mathlib/Topology/UniformSpace/Equicontinuity.lean index 5d794311c976d5..a693ea54353dec 100644 --- a/Mathlib/Topology/UniformSpace/Equicontinuity.lean +++ b/Mathlib/Topology/UniformSpace/Equicontinuity.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.UniformSpace.UniformConvergenceTopology +module + +public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology /-! # Equicontinuity of a family of functions @@ -77,6 +79,8 @@ types, and in that case one should go back to the family definition rather than equicontinuity, uniform convergence, ascoli -/ +@[expose] public section + section diff --git a/Mathlib/Topology/UniformSpace/Equiv.lean b/Mathlib/Topology/UniformSpace/Equiv.lean index 2e7d6cfa7d2378..fd98a4b993b2a3 100644 --- a/Mathlib/Topology/UniformSpace/Equiv.lean +++ b/Mathlib/Topology/UniformSpace/Equiv.lean @@ -4,9 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Sébastien Gouëzel, Zhouhang Zhou, Reid Barton, Anatole Dedecker -/ -import Mathlib.Logic.Equiv.Fin.Basic -import Mathlib.Topology.UniformSpace.UniformEmbedding -import Mathlib.Topology.UniformSpace.Pi +module + +public import Mathlib.Logic.Equiv.Fin.Basic +public import Mathlib.Topology.UniformSpace.UniformEmbedding +public import Mathlib.Topology.UniformSpace.Pi /-! # Uniform isomorphisms @@ -21,6 +23,8 @@ directions uniformly continuous. We denote uniform isomorphisms with the notatio -/ +@[expose] public section + open Set Filter diff --git a/Mathlib/Topology/UniformSpace/HeineCantor.lean b/Mathlib/Topology/UniformSpace/HeineCantor.lean index c2f9cab18ddc48..3f6d6cf21d4a32 100644 --- a/Mathlib/Topology/UniformSpace/HeineCantor.lean +++ b/Mathlib/Topology/UniformSpace/HeineCantor.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Algebra.Support -import Mathlib.Topology.UniformSpace.Compact -import Mathlib.Topology.UniformSpace.Equicontinuity +module + +public import Mathlib.Topology.Algebra.Support +public import Mathlib.Topology.UniformSpace.Compact +public import Mathlib.Topology.UniformSpace.Equicontinuity /-! # Compact separated uniform spaces @@ -21,6 +23,8 @@ import Mathlib.Topology.UniformSpace.Equicontinuity uniform space, uniform continuity, compact space -/ +@[expose] public section + open Uniformity Topology Filter UniformSpace Set variable {α β γ : Type*} [UniformSpace α] [UniformSpace β] diff --git a/Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean b/Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean index 81a53ed6be7bca..a9114dd2f1d49c 100644 --- a/Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean +++ b/Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.UniformSpace.UniformConvergence +module + +public import Mathlib.Topology.UniformSpace.UniformConvergence /-! # Locally uniform convergence @@ -33,6 +35,8 @@ We also define variants for locally uniform convergence on a subset, called Uniform limit, uniform convergence, tends uniformly to -/ +@[expose] public section + noncomputable section open Topology Uniformity Filter Set Uniform diff --git a/Mathlib/Topology/UniformSpace/Matrix.lean b/Mathlib/Topology/UniformSpace/Matrix.lean index 984a376b92d842..264d78f9e236f3 100644 --- a/Mathlib/Topology/UniformSpace/Matrix.lean +++ b/Mathlib/Topology/UniformSpace/Matrix.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Eric Wieser. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Eric Wieser, Heather Macbeth -/ -import Mathlib.LinearAlgebra.Matrix.Defs -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.Algebra.IsUniformGroup.Constructions +module + +public import Mathlib.LinearAlgebra.Matrix.Defs +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.Algebra.IsUniformGroup.Constructions /-! # Uniform space structure on matrices -/ +@[expose] public section + open Uniformity Topology diff --git a/Mathlib/Topology/UniformSpace/OfCompactT2.lean b/Mathlib/Topology/UniformSpace/OfCompactT2.lean index c84bca3348b877..2aadeccbc92258 100644 --- a/Mathlib/Topology/UniformSpace/OfCompactT2.lean +++ b/Mathlib/Topology/UniformSpace/OfCompactT2.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Yury Kudryashov -/ -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.UniformSpace.Defs +module + +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.UniformSpace.Defs /-! # Compact separated uniform spaces @@ -24,6 +26,8 @@ loop. uniform space, uniform continuity, compact space -/ +@[expose] public section + open Uniformity Topology Filter UniformSpace Set variable {γ : Type*} diff --git a/Mathlib/Topology/UniformSpace/OfFun.lean b/Mathlib/Topology/UniformSpace/OfFun.lean index bf1c07507ac29b..091913628addec 100644 --- a/Mathlib/Topology/UniformSpace/OfFun.lean +++ b/Mathlib/Topology/UniformSpace/OfFun.lean @@ -3,7 +3,9 @@ Copyright (c) 2023 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.UniformSpace.Defs +module + +public import Mathlib.Topology.UniformSpace.Defs /-! # Construct a `UniformSpace` from a `dist`-like function @@ -16,6 +18,8 @@ given a `dist`-like function RFC: use `UniformSpace.Core.mkOfBasis`? This will change defeq here and there -/ +@[expose] public section + open Filter Set open scoped Uniformity diff --git a/Mathlib/Topology/UniformSpace/Path.lean b/Mathlib/Topology/UniformSpace/Path.lean index b3b67804aa945b..331bc113023913 100644 --- a/Mathlib/Topology/UniformSpace/Path.lean +++ b/Mathlib/Topology/UniformSpace/Path.lean @@ -3,11 +3,13 @@ Copyright (c) 2025 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.Path -import Mathlib.Topology.UniformSpace.CompactConvergence -import Mathlib.Topology.UniformSpace.HeineCantor -import Mathlib.Topology.MetricSpace.Lipschitz -import Mathlib.Topology.ContinuousMap.Interval +module + +public import Mathlib.Topology.Path +public import Mathlib.Topology.UniformSpace.CompactConvergence +public import Mathlib.Topology.UniformSpace.HeineCantor +public import Mathlib.Topology.MetricSpace.Lipschitz +public import Mathlib.Topology.ContinuousMap.Interval /-! # Paths in uniform spaces @@ -20,6 +22,8 @@ The uniform space structure is induced from the space of continuous maps `C(I, X and corresponds to uniform convergence of paths on `I`, see `Path.hasBasis_uniformity`. -/ +@[expose] public section + open scoped unitInterval Topology Uniformity variable {X : Type*} [UniformSpace X] {x y z : X} diff --git a/Mathlib/Topology/UniformSpace/Pi.lean b/Mathlib/Topology/UniformSpace/Pi.lean index c9d11ca41fe46e..a40f900bbb902b 100644 --- a/Mathlib/Topology/UniformSpace/Pi.lean +++ b/Mathlib/Topology/UniformSpace/Pi.lean @@ -3,12 +3,16 @@ Copyright (c) 2019 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot -/ -import Mathlib.Topology.UniformSpace.UniformEmbedding +module + +public import Mathlib.Topology.UniformSpace.UniformEmbedding /-! # Indexed product of uniform spaces -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/UniformSpace/ProdApproximation.lean b/Mathlib/Topology/UniformSpace/ProdApproximation.lean index 5abdc956302550..500f009337dab9 100644 --- a/Mathlib/Topology/UniformSpace/ProdApproximation.lean +++ b/Mathlib/Topology/UniformSpace/ProdApproximation.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 David Loeffler. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Loeffler -/ -import Mathlib.Topology.Algebra.Indicator -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.Separation.DisjointCover +module + +public import Mathlib.Topology.Algebra.Indicator +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.Separation.DisjointCover /-! # Uniform approximation by products @@ -15,6 +17,8 @@ on `X × Y` valued in a ring (with a uniform structure) can be uniformly approxi sums of functions of the form `f x * g y`. -/ +@[expose] public section + open UniformSpace open scoped Uniformity diff --git a/Mathlib/Topology/UniformSpace/Real.lean b/Mathlib/Topology/UniformSpace/Real.lean index 12109c0e6f7c0a..546c6d19b12258 100644 --- a/Mathlib/Topology/UniformSpace/Real.lean +++ b/Mathlib/Topology/UniformSpace/Real.lean @@ -3,8 +3,10 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Mario Carneiro -/ -import Mathlib.Topology.ContinuousMap.Basic -import Mathlib.Topology.MetricSpace.Cauchy +module + +public import Mathlib.Topology.ContinuousMap.Basic +public import Mathlib.Topology.MetricSpace.Cauchy /-! # The reals are complete @@ -14,6 +16,8 @@ Along the way, we add a shortcut instance for the natural topology on `ℝ≥0` (the one induced from `ℝ`), and add some basic API. -/ +@[expose] public section + assert_not_exists IsTopologicalRing UniformContinuousConstSMul UniformOnFun noncomputable section diff --git a/Mathlib/Topology/UniformSpace/Separation.lean b/Mathlib/Topology/UniformSpace/Separation.lean index 306b96e24bbf82..143fb547b97d6d 100644 --- a/Mathlib/Topology/UniformSpace/Separation.lean +++ b/Mathlib/Topology/UniformSpace/Separation.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Patrick Massot, Yury Kudryashov -/ -import Mathlib.Tactic.ApplyFun -import Mathlib.Topology.Separation.Regular -import Mathlib.Topology.UniformSpace.Basic +module + +public import Mathlib.Tactic.ApplyFun +public import Mathlib.Topology.Separation.Regular +public import Mathlib.Topology.UniformSpace.Basic /-! # Hausdorff properties of uniform spaces. Separation quotient. @@ -95,6 +97,8 @@ so it was not done in https://github.com/leanprover-community/mathlib4/pull/1064 uniform space, separated space, Hausdorff space, separation quotient -/ +@[expose] public section + open Filter Set Function Topology Uniformity UniformSpace noncomputable section diff --git a/Mathlib/Topology/UniformSpace/Ultra/Basic.lean b/Mathlib/Topology/UniformSpace/Ultra/Basic.lean index 7bc4335b529703..f54d404178de06 100644 --- a/Mathlib/Topology/UniformSpace/Ultra/Basic.lean +++ b/Mathlib/Topology/UniformSpace/Ultra/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Topology.UniformSpace.Defs -import Mathlib.Topology.Bases +module + +public import Mathlib.Topology.UniformSpace.Defs +public import Mathlib.Topology.Bases /-! # Ultrametric (nonarchimedean) uniform spaces @@ -44,6 +46,8 @@ but rather extend the relation properties as needed. -/ +@[expose] public section + open Set Filter Topology open scoped Uniformity diff --git a/Mathlib/Topology/UniformSpace/Ultra/Completion.lean b/Mathlib/Topology/UniformSpace/Ultra/Completion.lean index a28eba7c0e4a0c..d5da9738f2388f 100644 --- a/Mathlib/Topology/UniformSpace/Ultra/Completion.lean +++ b/Mathlib/Topology/UniformSpace/Ultra/Completion.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Topology.UniformSpace.Completion -import Mathlib.Topology.UniformSpace.Ultra.Basic -import Mathlib.Topology.UniformSpace.Ultra.Constructions +module + +public import Mathlib.Topology.UniformSpace.Completion +public import Mathlib.Topology.UniformSpace.Ultra.Basic +public import Mathlib.Topology.UniformSpace.Ultra.Constructions /-! # Completions of ultrametric (nonarchimedean) uniform spaces @@ -17,6 +19,8 @@ import Mathlib.Topology.UniformSpace.Ultra.Constructions -/ +@[expose] public section + variable {X Y : Type*} [UniformSpace X] [UniformSpace Y] open Filter Set Topology Uniformity diff --git a/Mathlib/Topology/UniformSpace/Ultra/Constructions.lean b/Mathlib/Topology/UniformSpace/Ultra/Constructions.lean index 6081c12dc58241..70b9e373af3fb3 100644 --- a/Mathlib/Topology/UniformSpace/Ultra/Constructions.lean +++ b/Mathlib/Topology/UniformSpace/Ultra/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Yakov Pechersky. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yakov Pechersky -/ -import Mathlib.Topology.UniformSpace.DiscreteUniformity -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.UniformSpace.Ultra.Basic +module + +public import Mathlib.Topology.UniformSpace.DiscreteUniformity +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.UniformSpace.Ultra.Basic /-! # Products of ultrametric (nonarchimedean) uniform spaces @@ -25,6 +27,8 @@ The `Prod` instance only requires `Mathlib/Topology/UniformSpace/Basic.lean`. -/ +@[expose] public section + variable {X Y : Type*} lemma IsTransitiveRel.entourageProd {s : Set (X × X)} {t : Set (Y × Y)} diff --git a/Mathlib/Topology/UniformSpace/UniformApproximation.lean b/Mathlib/Topology/UniformSpace/UniformApproximation.lean index 9bd43c846d1b16..1676ab9fa82055 100644 --- a/Mathlib/Topology/UniformSpace/UniformApproximation.lean +++ b/Mathlib/Topology/UniformSpace/UniformApproximation.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.UniformSpace.LocallyUniformConvergence +module + +public import Mathlib.Topology.UniformSpace.LocallyUniformConvergence /-! # Uniform approximation @@ -25,6 +27,8 @@ convergence from them. Uniform limit, uniform convergence, tends uniformly to -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/UniformSpace/UniformConvergence.lean b/Mathlib/Topology/UniformSpace/UniformConvergence.lean index 582975971ad6a5..e4a0be283490e1 100644 --- a/Mathlib/Topology/UniformSpace/UniformConvergence.lean +++ b/Mathlib/Topology/UniformSpace/UniformConvergence.lean @@ -3,7 +3,9 @@ Copyright (c) 2020 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Topology.UniformSpace.Cauchy +module + +public import Mathlib.Topology.UniformSpace.Cauchy /-! # Uniform convergence @@ -49,6 +51,8 @@ practice. Thus, we provide the more traditional definition in `TendstoUniformlyO Uniform limit, uniform convergence, tends uniformly to -/ +@[expose] public section + noncomputable section open Topology Uniformity Filter Set Uniform diff --git a/Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean b/Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean index ed207260c8edf5..0ddcc233de4124 100644 --- a/Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean +++ b/Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean @@ -3,10 +3,12 @@ Copyright (c) 2022 Anatole Dedecker. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Anatole Dedecker -/ -import Mathlib.Topology.Coherent -import Mathlib.Topology.UniformSpace.Equiv -import Mathlib.Topology.UniformSpace.Pi -import Mathlib.Topology.UniformSpace.UniformApproximation +module + +public import Mathlib.Topology.Coherent +public import Mathlib.Topology.UniformSpace.Equiv +public import Mathlib.Topology.UniformSpace.Pi +public import Mathlib.Topology.UniformSpace.UniformApproximation /-! # Topology and uniform structure of uniform convergence @@ -131,6 +133,8 @@ connection API to do most of the work. uniform convergence -/ +@[expose] public section + noncomputable section open Filter Set Topology diff --git a/Mathlib/Topology/UniformSpace/UniformEmbedding.lean b/Mathlib/Topology/UniformSpace/UniformEmbedding.lean index 967111dca8d629..6de2347846318a 100644 --- a/Mathlib/Topology/UniformSpace/UniformEmbedding.lean +++ b/Mathlib/Topology/UniformSpace/UniformEmbedding.lean @@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Johannes Hölzl, Sébastien Gouëzel, Patrick Massot -/ -import Mathlib.Topology.UniformSpace.Cauchy -import Mathlib.Topology.UniformSpace.Separation -import Mathlib.Topology.DenseEmbedding +module + +public import Mathlib.Topology.UniformSpace.Cauchy +public import Mathlib.Topology.UniformSpace.Separation +public import Mathlib.Topology.DenseEmbedding /-! # Uniform embeddings of uniform spaces. @@ -13,6 +15,8 @@ import Mathlib.Topology.DenseEmbedding Extension of uniform continuous functions. -/ +@[expose] public section + open Filter Function Set Uniformity Topology diff --git a/Mathlib/Topology/UnitInterval.lean b/Mathlib/Topology/UnitInterval.lean index 4f11c5091ba357..f85278f1cce88d 100644 --- a/Mathlib/Topology/UnitInterval.lean +++ b/Mathlib/Topology/UnitInterval.lean @@ -3,9 +3,11 @@ Copyright (c) 2020 Patrick Massot. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison -/ -import Mathlib.Algebra.Order.Interval.Set.Instances -import Mathlib.Order.Interval.Set.ProjIcc -import Mathlib.Topology.Algebra.Ring.Real +module + +public import Mathlib.Algebra.Order.Interval.Set.Instances +public import Mathlib.Order.Interval.Set.ProjIcc +public import Mathlib.Topology.Algebra.Ring.Real /-! # The unit interval, as a topological space @@ -17,6 +19,8 @@ We provide basic instances, as well as a custom tactic for discharging -/ +@[expose] public section + noncomputable section open Topology Filter Set Int Set.Icc diff --git a/Mathlib/Topology/UrysohnsBounded.lean b/Mathlib/Topology/UrysohnsBounded.lean index 5be5913ea53188..e4287c905856ae 100644 --- a/Mathlib/Topology/UrysohnsBounded.lean +++ b/Mathlib/Topology/UrysohnsBounded.lean @@ -3,8 +3,10 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Topology.UrysohnsLemma -import Mathlib.Topology.ContinuousMap.Bounded.Basic +module + +public import Mathlib.Topology.UrysohnsLemma +public import Mathlib.Topology.ContinuousMap.Bounded.Basic /-! # Urysohn's lemma for bounded continuous functions @@ -18,6 +20,8 @@ bounded continuous functions `X →ᵇ ℝ`. These lemmas live in a separate fil Urysohn's lemma, normal topological space -/ +@[expose] public section + open BoundedContinuousFunction diff --git a/Mathlib/Topology/UrysohnsLemma.lean b/Mathlib/Topology/UrysohnsLemma.lean index fde60745dfb3ff..96931c79bca8e8 100644 --- a/Mathlib/Topology/UrysohnsLemma.lean +++ b/Mathlib/Topology/UrysohnsLemma.lean @@ -3,14 +3,16 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ -import Mathlib.Algebra.Order.Group.Indicator -import Mathlib.Analysis.Normed.Affine.AddTorsor -import Mathlib.Analysis.Normed.Group.FunctionSeries -import Mathlib.Analysis.SpecificLimits.Basic -import Mathlib.LinearAlgebra.AffineSpace.Ordered -import Mathlib.Topology.Algebra.Affine -import Mathlib.Topology.ContinuousMap.Algebra -import Mathlib.Topology.GDelta.Basic +module + +public import Mathlib.Algebra.Order.Group.Indicator +public import Mathlib.Analysis.Normed.Affine.AddTorsor +public import Mathlib.Analysis.Normed.Group.FunctionSeries +public import Mathlib.Analysis.SpecificLimits.Basic +public import Mathlib.LinearAlgebra.AffineSpace.Ordered +public import Mathlib.Topology.Algebra.Affine +public import Mathlib.Topology.ContinuousMap.Algebra +public import Mathlib.Topology.GDelta.Basic /-! # Urysohn's lemma @@ -80,6 +82,8 @@ lemmas about `midpoint`. Urysohn's lemma, normal topological space, locally compact topological space -/ +@[expose] public section + variable {X : Type*} [TopologicalSpace X] diff --git a/Mathlib/Topology/VectorBundle/Basic.lean b/Mathlib/Topology/VectorBundle/Basic.lean index f7023d46c967e7..9a50e051ca4c18 100644 --- a/Mathlib/Topology/VectorBundle/Basic.lean +++ b/Mathlib/Topology/VectorBundle/Basic.lean @@ -3,8 +3,10 @@ Copyright (c) 2020 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Sébastien Gouëzel, Heather Macbeth, Patrick Massot, Floris van Doorn -/ -import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps -import Mathlib.Topology.FiberBundle.Basic +module + +public import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +public import Mathlib.Topology.FiberBundle.Basic /-! # Vector bundles @@ -52,6 +54,8 @@ notes" section of `Mathlib/Topology/FiberBundle/Basic.lean`. Vector bundle -/ +@[expose] public section + noncomputable section open Bundle Set Topology diff --git a/Mathlib/Topology/VectorBundle/Constructions.lean b/Mathlib/Topology/VectorBundle/Constructions.lean index 5f179a7dde4c4c..eb8e26c00debc6 100644 --- a/Mathlib/Topology/VectorBundle/Constructions.lean +++ b/Mathlib/Topology/VectorBundle/Constructions.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Nicolò Cavalleri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Nicolò Cavalleri, Sébastien Gouëzel, Heather Macbeth, Floris van Doorn -/ -import Mathlib.Topology.FiberBundle.Constructions -import Mathlib.Topology.VectorBundle.Basic -import Mathlib.Analysis.Normed.Operator.Prod +module + +public import Mathlib.Topology.FiberBundle.Constructions +public import Mathlib.Topology.VectorBundle.Basic +public import Mathlib.Analysis.Normed.Operator.Prod /-! # Standard constructions on vector bundles @@ -26,6 +28,8 @@ This file contains several standard constructions on vector bundles: Vector bundle, direct sum, pullback -/ +@[expose] public section + noncomputable section open Bundle Set FiberBundle diff --git a/Mathlib/Topology/VectorBundle/Hom.lean b/Mathlib/Topology/VectorBundle/Hom.lean index a098e3a70808d8..59e0e22112b179 100644 --- a/Mathlib/Topology/VectorBundle/Hom.lean +++ b/Mathlib/Topology/VectorBundle/Hom.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Heather Macbeth. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Heather Macbeth, Floris van Doorn -/ -import Mathlib.Topology.VectorBundle.Basic +module + +public import Mathlib.Topology.VectorBundle.Basic /-! # The vector bundle of continuous (semi)linear maps @@ -27,6 +29,8 @@ topological vector bundles, exterior algebras, and so on, where again the topolo using a norm on the fiber model if this helps. -/ +@[expose] public section + noncomputable section diff --git a/Mathlib/Topology/VectorBundle/Riemannian.lean b/Mathlib/Topology/VectorBundle/Riemannian.lean index 21be95eb68493a..831a9eeedf9fc6 100644 --- a/Mathlib/Topology/VectorBundle/Riemannian.lean +++ b/Mathlib/Topology/VectorBundle/Riemannian.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Sébastien Gouëzel. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sébastien Gouëzel -/ -import Mathlib.Analysis.InnerProductSpace.LinearMap -import Mathlib.Topology.VectorBundle.Constructions -import Mathlib.Topology.VectorBundle.Hom +module + +public import Mathlib.Analysis.InnerProductSpace.LinearMap +public import Mathlib.Topology.VectorBundle.Constructions +public import Mathlib.Topology.VectorBundle.Hom /-! # Riemannian vector bundles @@ -36,6 +38,8 @@ to the `Bundle` namespace. Vector bundle, Riemannian metric -/ +@[expose] public section + open Bundle ContinuousLinearMap Filter open scoped Topology diff --git a/Mathlib/Util/AddRelatedDecl.lean b/Mathlib/Util/AddRelatedDecl.lean index dd613e9f5c7b50..640127f2c7d24d 100644 --- a/Mathlib/Util/AddRelatedDecl.lean +++ b/Mathlib/Util/AddRelatedDecl.lean @@ -3,14 +3,18 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Floris van Doorn -/ -import Mathlib.Init -import Lean.Elab.DeclarationRange +module + +public meta import Mathlib.Init +public meta import Lean.Elab.DeclarationRange /-! # `addRelatedDecl` -/ +public meta section + open Lean Meta Elab namespace Mathlib.Tactic @@ -48,7 +52,7 @@ def addRelatedDecl (src : Name) (suffix : String) (ref : Syntax) | Name.str n s => Name.mkStr n <| s ++ suffix | x => x addDeclarationRangesFromSyntax tgt (← getRef) ref - let info ← getConstInfo src + let info ← withoutExporting <| getConstInfo src let (newValue, newLevels) ← construct info.type info.value! info.levelParams let newValue ← instantiateMVars newValue let newType ← instantiateMVars (← inferType newValue) diff --git a/Mathlib/Util/AssertExists.lean b/Mathlib/Util/AssertExists.lean index f3adfc57483e4f..f6d92489bf1084 100644 --- a/Mathlib/Util/AssertExists.lean +++ b/Mathlib/Util/AssertExists.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Patrick Massot, Kim Morrison -/ -import Mathlib.Init -import Lean.Elab.Command -import Mathlib.Util.AssertExistsExt +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Mathlib.Util.AssertExistsExt /-! # User commands to assert the (non-)existence of declarations or instances. @@ -20,6 +22,8 @@ not to exist do eventually exist. Implement `assert_instance` and `assert_no_instance`. -/ +public meta section + section open Lean Elab Meta Command diff --git a/Mathlib/Util/AssertExistsExt.lean b/Mathlib/Util/AssertExistsExt.lean index b32753385c5b00..12f6a9b1426869 100644 --- a/Mathlib/Util/AssertExistsExt.lean +++ b/Mathlib/Util/AssertExistsExt.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Lean.Environment -import Mathlib.Init +public meta import Lean.Environment +public meta import Mathlib.Init /-! # Environment extension for tracking existence of declarations and imports @@ -13,6 +14,8 @@ import Mathlib.Init This is used by the `assert_not_exists` and `assert_not_imported` commands. -/ +public meta section + open Lean namespace Mathlib.AssertNotExist diff --git a/Mathlib/Util/AssertNoSorry.lean b/Mathlib/Util/AssertNoSorry.lean index 5f320192712f47..88dbc2c2b102c6 100644 --- a/Mathlib/Util/AssertNoSorry.lean +++ b/Mathlib/Util/AssertNoSorry.lean @@ -3,10 +3,11 @@ Copyright (c) 2023 David Renshaw. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: David Renshaw -/ +module -import Mathlib.Init -import Lean.Util.CollectAxioms -import Lean.Elab.Command +public meta import Mathlib.Init +public meta import Lean.Util.CollectAxioms +public meta import Lean.Elab.Command /-! # Defines the `assert_no_sorry` command. @@ -14,6 +15,8 @@ import Lean.Elab.Command Throws an error if the given identifier uses sorryAx. -/ +public meta section + open Lean Meta Elab Command /-- Throws an error if the given identifier uses sorryAx. -/ diff --git a/Mathlib/Util/AtLocation.lean b/Mathlib/Util/AtLocation.lean index fde4cd6e93c590..48ab303d2ebef6 100644 --- a/Mathlib/Util/AtLocation.lean +++ b/Mathlib/Util/AtLocation.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth -/ -import Mathlib.Init -import Lean.Elab.Tactic.Location -import Lean.Meta.Tactic.Simp.Main +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Location +public meta import Lean.Meta.Tactic.Simp.Main /-! # Rewriting at specified locations @@ -18,6 +20,8 @@ using the metaprogram to modify the goal, a specified hypothesis, or (via `Tacti combination of these. -/ +public meta section + /-- Runs the given `atLocal` and `atTarget` methods on each of the locations selected by the given `loc`. * If `loc` is a list of locations, runs at each specified hypothesis (and finally the goal if `⊢` is diff --git a/Mathlib/Util/AtomM.lean b/Mathlib/Util/AtomM.lean index 511cb1a1b729b4..0e96320d9004f8 100644 --- a/Mathlib/Util/AtomM.lean +++ b/Mathlib/Util/AtomM.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.Meta.Tactic.Simp.Types -import Qq +module + +public meta import Mathlib.Init +public meta import Lean.Meta.Tactic.Simp.Types +public meta import Qq /-! # A monad for tracking and deduplicating atoms @@ -19,6 +21,8 @@ After canonicalizing, a `HashMap Expr Nat` suffices to keep track of previously and is much faster as it uses `Expr` equality rather than `isDefEq`. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta diff --git a/Mathlib/Util/AtomM/Recurse.lean b/Mathlib/Util/AtomM/Recurse.lean index 7725e37ba46b54..f09f9250c2ff4d 100644 --- a/Mathlib/Util/AtomM/Recurse.lean +++ b/Mathlib/Util/AtomM/Recurse.lean @@ -3,7 +3,9 @@ Copyright (c) 2022 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Heather Macbeth -/ -import Mathlib.Util.AtomM +module + +public meta import Mathlib.Util.AtomM /-! # Running `AtomM` metaprograms recursively @@ -29,6 +31,8 @@ recursive ring-normalization in which `sin (x + y) + sin (y + x)` is normalized -/ +public meta section + namespace Mathlib.Tactic.AtomM open Lean Meta diff --git a/Mathlib/Util/CompileInductive.lean b/Mathlib/Util/CompileInductive.lean index b7ba69544cf1f2..0f7beedabb0128 100644 --- a/Mathlib/Util/CompileInductive.lean +++ b/Mathlib/Util/CompileInductive.lean @@ -3,11 +3,13 @@ Copyright (c) 2023 Parth Shastri. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Parth Shastri, Gabriel Ebner, Mario Carneiro -/ -import Mathlib.Init -import Lean.Elab.Command -import Lean.Compiler.CSimpAttr -import Lean.Util.FoldConsts -import Lean.Data.AssocList +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Lean.Compiler.CSimpAttr +public meta import Lean.Util.FoldConsts +public meta import Lean.Data.AssocList /-! # Define the `compile_inductive%` command. @@ -23,6 +25,8 @@ Similarly, `compile_def% Foo.foo` adds compiled code for definitions when missin This can be the case for type class projections, or definitions like `List._sizeOf_1`. -/ +public meta section + namespace Mathlib.Util open Lean Meta @@ -255,10 +259,10 @@ compile_inductive% Option -- as any. private unsafe def Float.valUnsafe : Float → floatSpec.float := unsafeCast private unsafe def Float.mkUnsafe : floatSpec.float → Float := unsafeCast -@[implemented_by Float.valUnsafe] private def Float.valImpl (x : Float) : floatSpec.float := x.1 -@[implemented_by Float.mkUnsafe] private def Float.mkImpl (x : floatSpec.float) : Float := ⟨x⟩ -@[csimp] private theorem Float.val_eq : @Float.val = Float.valImpl := rfl -@[csimp] private theorem Float.mk_eq : @Float.mk = Float.mkImpl := rfl +@[implemented_by Float.valUnsafe] def Float.valImpl (x : Float) : floatSpec.float := x.1 +@[implemented_by Float.mkUnsafe] def Float.mkImpl (x : floatSpec.float) : Float := ⟨x⟩ +@[csimp] theorem Float.val_eq : @Float.val = Float.valImpl := (rfl) +@[csimp] theorem Float.mk_eq : @Float.mk = Float.mkImpl := (rfl) -- These types need manual implementations because the default implementation in `compileStruct` -- uses `Expr.proj` which has an invalid IR type. diff --git a/Mathlib/Util/CountHeartbeats.lean b/Mathlib/Util/CountHeartbeats.lean index b1970f8dda6e48..d510acbb45df7f 100644 --- a/Mathlib/Util/CountHeartbeats.lean +++ b/Mathlib/Util/CountHeartbeats.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Util.Heartbeats -import Lean.Meta.Tactic.TryThis +module + +public meta import Mathlib.Init +public meta import Lean.Util.Heartbeats +public meta import Lean.Meta.Tactic.TryThis /-! Defines a command wrapper that prints the number of heartbeats used in the enclosed command. @@ -19,6 +21,8 @@ will produce an info message containing a number around 51. If this number is above the current `maxHeartbeats`, we also print a `Try this:` suggestion. -/ +public meta section + open Lean Elab Command Meta Linter diff --git a/Mathlib/Util/Delaborators.lean b/Mathlib/Util/Delaborators.lean index 519f146c25ec91..5075097abcaae3 100644 --- a/Mathlib/Util/Delaborators.lean +++ b/Mathlib/Util/Delaborators.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init -import Mathlib.Util.PPOptions -import Lean.PrettyPrinter.Delaborator.Builtins +module + +public meta import Mathlib.Init +public meta import Mathlib.Util.PPOptions +public meta import Lean.PrettyPrinter.Delaborator.Builtins /-! # Pi type notation @@ -17,6 +19,8 @@ The notation also accepts extended binders, like `Π x ∈ s, β x` for `Π x, x This can be disabled with the `pp.mathlib.binderPredicates` option. -/ +public meta section + namespace PiNotation open Lean hiding binderIdent open Lean.Parser Term diff --git a/Mathlib/Util/DischargerAsTactic.lean b/Mathlib/Util/DischargerAsTactic.lean index fa70054b8a26d9..edbfe1bc8fc585 100644 --- a/Mathlib/Util/DischargerAsTactic.lean +++ b/Mathlib/Util/DischargerAsTactic.lean @@ -3,10 +3,12 @@ Copyright (c) 2023 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Lean.Meta.Tactic.Simp.Rewrite -import Batteries.Tactic.Exact +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Lean.Meta.Tactic.Simp.Rewrite +public meta import Batteries.Tactic.Exact /-! ## Dischargers for `simp` to tactics @@ -15,6 +17,8 @@ This file defines a wrapper for `Simp.Discharger`s as regular tactics, that allo used via the tactic frontend of `simp` via `simp (discharger := wrapSimpDischarger my_discharger)`. -/ +public meta section + open Lean Meta Elab Tactic /-- Wrap a simp discharger (a function `Expr → SimpM (Option Expr)`) as a tactic, diff --git a/Mathlib/Util/ElabWithoutMVars.lean b/Mathlib/Util/ElabWithoutMVars.lean index 199f76759f7836..024cd83a940985 100644 --- a/Mathlib/Util/ElabWithoutMVars.lean +++ b/Mathlib/Util/ElabWithoutMVars.lean @@ -3,13 +3,17 @@ Copyright (c) 2025 Vasilii Nesterov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Vasilii Nesterov -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! # `elabTermWithoutNewMVars` -/ +public meta section + open Lean Elab Tactic /-- Elaborates a term with `errToSorry = false` and ensuring it has no metavariables. -/ diff --git a/Mathlib/Util/Export.lean b/Mathlib/Util/Export.lean index a8bff282dc5649..8efae2d026a562 100644 --- a/Mathlib/Util/Export.lean +++ b/Mathlib/Util/Export.lean @@ -3,9 +3,11 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Lean.CoreM -import Lean.Util.FoldConsts +module + +public meta import Mathlib.Init +public meta import Lean.CoreM +public meta import Lean.Util.FoldConsts /-! A rudimentary export format, adapted from @@ -13,6 +15,8 @@ A rudimentary export format, adapted from with support for Lean 4 kernel primitives. -/ +public meta section + open Lean open Std (HashMap HashSet) diff --git a/Mathlib/Util/FormatTable.lean b/Mathlib/Util/FormatTable.lean index bbdf7c621ae8ce..ca6ccec320daaf 100644 --- a/Mathlib/Util/FormatTable.lean +++ b/Mathlib/Util/FormatTable.lean @@ -3,7 +3,9 @@ Copyright (c) 2024 Bolton Bailey. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Bolton Bailey -/ -import Mathlib.Data.String.Defs +module + +public meta import Mathlib.Data.String.Defs /-! # Format Table @@ -12,6 +14,8 @@ This file provides a simple function for formatting a two-dimensional array of ` into a markdown-compliant table. -/ +public meta section + /-- Possible alignment modes for each table item: left-aligned, right-aligned and centered. -/ inductive Alignment where | left diff --git a/Mathlib/Util/GetAllModules.lean b/Mathlib/Util/GetAllModules.lean index d94056ad337bdf..818435dcfecdc2 100644 --- a/Mathlib/Util/GetAllModules.lean +++ b/Mathlib/Util/GetAllModules.lean @@ -3,9 +3,10 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kim Morrison, Damiano Testa -/ +module -import Mathlib.Init -import Lean.Util.Path +public meta import Mathlib.Init +public meta import Lean.Util.Path /-! # Utility functions for finding all `.lean` files or modules in a project. @@ -16,6 +17,8 @@ should not. Could this be made more structural and robust, possibly with extra -/ +public meta section + open Lean System.FilePath /-- `getAllFiles git ml` takes all `.lean` files in the directory `ml` diff --git a/Mathlib/Util/LongNames.lean b/Mathlib/Util/LongNames.lean index 081b0dfe749d67..90bc34c9574519 100644 --- a/Mathlib/Util/LongNames.lean +++ b/Mathlib/Util/LongNames.lean @@ -3,9 +3,11 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Lean.Name -import Mathlib.Lean.Expr.Basic -import Lean.Elab.Command +module + +public meta import Mathlib.Lean.Name +public meta import Mathlib.Lean.Expr.Basic +public meta import Lean.Elab.Command /-! # Commands `#long_names` and `#long_instances` @@ -13,6 +15,8 @@ import Lean.Elab.Command For finding declarations with excessively long names. -/ +public meta section + open Lean Meta Elab /-- Helper function for `#long_names` and `#long_instances`. -/ diff --git a/Mathlib/Util/MemoFix.lean b/Mathlib/Util/MemoFix.lean index f9ef38debb5846..7d0a202c99243b 100644 --- a/Mathlib/Util/MemoFix.lean +++ b/Mathlib/Util/MemoFix.lean @@ -3,14 +3,18 @@ Copyright (c) 2022 Gabriel Ebner. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner, Edward Ayers -/ -import Std.Data.HashMap.Basic -import Mathlib.Init +module + +public import Std.Data.HashMap.Basic +public import Mathlib.Init /-! # Fixpoint function with memoisation -/ +public section + universe u v open ShareCommon Std diff --git a/Mathlib/Util/Notation3.lean b/Mathlib/Util/Notation3.lean index 08a7bb6abc149e..db28ab1539b188 100644 --- a/Mathlib/Util/Notation3.lean +++ b/Mathlib/Util/Notation3.lean @@ -3,20 +3,25 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Kyle Miller -/ -import Lean.Elab.BuiltinCommand -import Lean.Elab.MacroArgUtil -import Mathlib.Lean.Elab.Term -import Mathlib.Lean.PrettyPrinter.Delaborator -import Mathlib.Tactic.ScopedNS -import Batteries.Linter.UnreachableTactic -import Batteries.Util.ExtendedBinder -import Batteries.Lean.Syntax -import Lean.Elab.AuxDef +module + +public meta import Lean.Elab.BuiltinCommand +public meta import Lean.Elab.MacroArgUtil +public meta import Mathlib.Lean.Elab.Term +public meta import Mathlib.Lean.PrettyPrinter.Delaborator +public meta import Mathlib.Tactic.ScopedNS +public meta import Batteries.Linter.UnreachableTactic +public meta import Batteries.Util.ExtendedBinder +public meta import Batteries.Lean.Syntax +public meta import Lean.Elab.AuxDef +public meta import Lean.PrettyPrinter.Delaborator.Builtins /-! # The notation3 macro, simulating Lean 3's notation. -/ +public meta section + -- To fix upstream: -- * bracketedExplicitBinders doesn't support optional types @@ -113,7 +118,7 @@ structure MatchState where foldState : Std.HashMap Name (Array Term) /-- A matcher is a delaboration function that transforms `MatchState`s. -/ -def Matcher := MatchState → DelabM MatchState +@[expose] def Matcher := MatchState → DelabM MatchState deriving Inhabited /-- The initial state. -/ diff --git a/Mathlib/Util/PPOptions.lean b/Mathlib/Util/PPOptions.lean index c55cff47d21a22..cd1b26388c5225 100644 --- a/Mathlib/Util/PPOptions.lean +++ b/Mathlib/Util/PPOptions.lean @@ -3,12 +3,16 @@ Copyright (c) 2024 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! Mathlib-specific pretty printer options. -/ +public meta section + namespace Mathlib open Lean diff --git a/Mathlib/Util/ParseCommand.lean b/Mathlib/Util/ParseCommand.lean index 08c932d55ef69e..e450f4237d0ca9 100644 --- a/Mathlib/Util/ParseCommand.lean +++ b/Mathlib/Util/ParseCommand.lean @@ -3,14 +3,17 @@ Copyright (c) 2024 Matthew Robert Ballard. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Matthew Robert Ballard, Damiano Testa -/ +module -import Lean.Elab.Command -import Mathlib.Init +public meta import Lean.Elab.Command +public meta import Mathlib.Init /-! # `#parse` -- a command to parse text and log outputs -/ +public meta section + namespace Mathlib.GuardExceptions open Lean Parser Elab Command diff --git a/Mathlib/Util/PrintSorries.lean b/Mathlib/Util/PrintSorries.lean index f4a86d5b0d188a..9b744087a3fdff 100644 --- a/Mathlib/Util/PrintSorries.lean +++ b/Mathlib/Util/PrintSorries.lean @@ -3,7 +3,9 @@ Copyright (c) 2025 Henrik Böving, Yaël Dillies, Kyle Miller. All rights reserv Released under Apache 2.0 license as described in the file LICENSE. Authors: Henrik Böving, Yaël Dillies, Kyle Miller -/ -import Mathlib.Lean.Expr.Basic +module + +public meta import Mathlib.Lean.Expr.Basic /-! # Tracking uses of `sorry` @@ -25,6 +27,8 @@ by the given command. * Move to ImportGraph? -/ +public meta section + open Lean Meta Elab Command namespace Mathlib.PrintSorries diff --git a/Mathlib/Util/Qq.lean b/Mathlib/Util/Qq.lean index 1659104039d2f2..e9b45ab4d0698d 100644 --- a/Mathlib/Util/Qq.lean +++ b/Mathlib/Util/Qq.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison, Alex J. Best, Yaël Dillies -/ -import Mathlib.Init -import Qq +module + +public meta import Mathlib.Init +public meta import Qq /-! # Extra `Qq` helpers @@ -12,6 +14,8 @@ import Qq This file contains some additional functions for using the quote4 library more conveniently. -/ +public meta section + open Lean Elab Tactic Meta namespace Qq diff --git a/Mathlib/Util/Simp.lean b/Mathlib/Util/Simp.lean index 6ab86683cd04c1..f2620cfce58dca 100644 --- a/Mathlib/Util/Simp.lean +++ b/Mathlib/Util/Simp.lean @@ -3,9 +3,11 @@ Copyright (c) 2025 Paul Lezeau. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Paul Lezeau -/ -import Lean.Meta.Tactic.Simp.Types -import Mathlib.Init -import Qq +module + +public meta import Lean.Meta.Tactic.Simp.Types +public meta import Mathlib.Init +public meta import Qq /-! # Additional simp utilities @@ -13,6 +15,8 @@ This file adds additional tools for metaprogramming with the `simp` tactic -/ +public meta section + open Lean Meta Qq namespace Lean.Meta.Simp diff --git a/Mathlib/Util/SleepHeartbeats.lean b/Mathlib/Util/SleepHeartbeats.lean index 306b2fa284f05c..3f4d63507be542 100644 --- a/Mathlib/Util/SleepHeartbeats.lean +++ b/Mathlib/Util/SleepHeartbeats.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Alex J. Best. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Alex J. Best -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic /-! # Defines `sleep_heartbeats` tactic. @@ -12,6 +14,8 @@ import Lean.Elab.Tactic.Basic This is useful for testing / debugging long running commands or elaboration in a somewhat precise manner. -/ + +public meta section open Lean Elab /-- A low level command to sleep for at least a given number of heartbeats by running in a loop diff --git a/Mathlib/Util/Superscript.lean b/Mathlib/Util/Superscript.lean index 22d45dd037afce..3b1377c277fdf8 100644 --- a/Mathlib/Util/Superscript.lean +++ b/Mathlib/Util/Superscript.lean @@ -3,8 +3,10 @@ Copyright (c) 2023 Mario Carneiro. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ -import Mathlib.Init -import Batteries.Tactic.Lint +module + +public import Mathlib.Init +public import Batteries.Tactic.Lint /-! # A parser for superscripts and subscripts @@ -25,6 +27,8 @@ However, note that Unicode has a rather restricted character set for superscript parser for complex expressions. -/ +public meta section + universe u namespace Mathlib.Tactic @@ -105,7 +109,6 @@ def partitionPoint (lo := 0) (hi := as.size) : Nat := else partitionPoint lo m else lo - termination_by hi - lo /-- The core function for super/subscript parsing. It consists of three stages: diff --git a/Mathlib/Util/SynthesizeUsing.lean b/Mathlib/Util/SynthesizeUsing.lean index 7816550f2cd6ec..bfcc558d2f464b 100644 --- a/Mathlib/Util/SynthesizeUsing.lean +++ b/Mathlib/Util/SynthesizeUsing.lean @@ -3,9 +3,11 @@ Copyright (c) 2022 Kim Morrison. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kim Morrison -/ -import Mathlib.Init -import Lean.Elab.Tactic.Basic -import Qq +module + +public meta import Mathlib.Init +public meta import Lean.Elab.Tactic.Basic +public meta import Qq /-! # `SynthesizeUsing` @@ -13,6 +15,8 @@ import Qq This is a slight simplification of the `solve_aux` tactic in Lean3. -/ +public meta section + open Lean Elab Tactic Meta Qq /-- diff --git a/Mathlib/Util/Tactic.lean b/Mathlib/Util/Tactic.lean index e46e14c30ba762..10fcd42600a396 100644 --- a/Mathlib/Util/Tactic.lean +++ b/Mathlib/Util/Tactic.lean @@ -3,8 +3,10 @@ Copyright (c) 2022 Arthur Paulino. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Arthur Paulino, Jannis Limperg -/ -import Mathlib.Init -import Lean.MetavarContext +module + +public meta import Mathlib.Init +public meta import Lean.MetavarContext /-! # Miscellaneous helper functions for tactics. @@ -12,6 +14,8 @@ import Lean.MetavarContext [TODO] Ideally we would find good homes for everything in this file, eventually removing it. -/ +public meta section + namespace Mathlib.Tactic open Lean Meta Tactic diff --git a/Mathlib/Util/TermReduce.lean b/Mathlib/Util/TermReduce.lean index 189bdb03363fd7..86e3c040d445a7 100644 --- a/Mathlib/Util/TermReduce.lean +++ b/Mathlib/Util/TermReduce.lean @@ -3,13 +3,17 @@ Copyright (c) 2023 Kyle Miller. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kyle Miller, Gabriel Ebner, Yuyang Zhao -/ -import Lean.Meta.Tactic.Delta -import Mathlib.Lean.Expr.Basic +module + +public meta import Lean.Meta.Tactic.Delta +public meta import Mathlib.Lean.Expr.Basic /-! # Term elaborators for reduction -/ +public meta section + namespace Mathlib.Util.TermReduce open Lean Elab Term Meta @@ -52,7 +56,7 @@ def elabDelta : TermElab := fun stx expectedType? => elabTerm t expectedType? synthesizeSyntheticMVars let t ← instantiateMVars t - let some t ← delta? t | throwError "cannot delta reduce {t}" + let some t ← withoutExporting do delta? t | throwError "cannot delta reduce {t}" pure t | _ => throwUnsupportedSyntax diff --git a/Mathlib/Util/TransImports.lean b/Mathlib/Util/TransImports.lean index 701b77fbf8bc32..54aa7adc26c3ca 100644 --- a/Mathlib/Util/TransImports.lean +++ b/Mathlib/Util/TransImports.lean @@ -3,8 +3,9 @@ Copyright (c) 2024 Damiano Testa. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Damiano Testa -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # The `#trans_imports` command @@ -13,6 +14,8 @@ The command takes an optional string input: `#trans_imports str` also shows the imported modules whose name begins with `str`. -/ +public meta section + /-- `#trans_imports` reports how many transitive imports the current module has. The command takes an optional string input: `#trans_imports str` also shows the transitively diff --git a/Mathlib/Util/WhatsNew.lean b/Mathlib/Util/WhatsNew.lean index 04f9be63dd08fb..4e8a5fe509d32c 100644 --- a/Mathlib/Util/WhatsNew.lean +++ b/Mathlib/Util/WhatsNew.lean @@ -3,7 +3,9 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gabriel Ebner -/ -import Mathlib.Init +module + +public meta import Mathlib.Init /-! Defines a command wrapper that prints the changes the command makes to the @@ -15,6 +17,8 @@ theorem foo : 42 = 6 * 7 := rfl ``` -/ +public meta section + open Lean Elab Command namespace Mathlib.WhatsNew diff --git a/Mathlib/Util/WithWeakNamespace.lean b/Mathlib/Util/WithWeakNamespace.lean index 04e3e2f8362059..dda19a7920987d 100644 --- a/Mathlib/Util/WithWeakNamespace.lean +++ b/Mathlib/Util/WithWeakNamespace.lean @@ -3,8 +3,9 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro, Daniel Selsam, Gabriel Ebner -/ +module -import Mathlib.Init +public meta import Mathlib.Init /-! # Defines `with_weak_namespace` command. @@ -12,6 +13,8 @@ import Mathlib.Init Changes the current namespace without causing scoped things to go out of scope. -/ +public meta section + namespace Lean.Elab.Command /-- Adds the name to the namespace, `_root_`-aware. diff --git a/lake-manifest.json b/lake-manifest.json index 250b8c086b4f6f..3bd4360fbcb4ae 100644 --- a/lake-manifest.json +++ b/lake-manifest.json @@ -5,7 +5,7 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "7607162f5a1c1eb23c23027629a418b3a160670e", + "rev": "8864a73bf79aad549e34eff972c606343935106d", "name": "plausible", "manifestFile": "lake-manifest.json", "inputRev": "main", @@ -25,7 +25,7 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "e5c37730d22634ee0169c164f25dac49918ed951", + "rev": "451499ea6e97cee4c8979b507a9af5581a849161", "name": "importGraph", "manifestFile": "lake-manifest.json", "inputRev": "main", @@ -45,7 +45,7 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "cbe864cd5177966c9e005418cfdc1fb36db62e13", + "rev": "1fa48c6a63b4c4cda28be61e1037192776e77ac0", "name": "aesop", "manifestFile": "lake-manifest.json", "inputRev": "master", @@ -55,7 +55,7 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "593aa51c4aa07ee81e9233b53e1f61a5b4d9f761", + "rev": "95c2f8afe09d9e49d3cacca667261da04f7f93f7", "name": "Qq", "manifestFile": "lake-manifest.json", "inputRev": "master", @@ -65,7 +65,7 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "5bd478197f2e5d2a4fde527cf3581d83f49baa9b", + "rev": "c44068fa1b40041e6df42bd67639b690eb2764ca", "name": "batteries", "manifestFile": "lake-manifest.json", "inputRev": "main", @@ -75,10 +75,10 @@ "type": "git", "subDir": null, "scope": "leanprover", - "rev": "f75f4926aff7ba19949e16c19094d7298806b1a6", + "rev": "72ae7004d9f0ddb422aec5378204fdd7828c5672", "name": "Cli", "manifestFile": "lake-manifest.json", - "inputRev": "v4.25.0-rc1", + "inputRev": "v4.25.0-rc2", "inherited": true, "configFile": "lakefile.toml"}], "name": "mathlib", diff --git a/lakefile.lean b/lakefile.lean index 18bee538678bd7..eb5f44d6383bd1 100644 --- a/lakefile.lean +++ b/lakefile.lean @@ -31,6 +31,7 @@ abbrev mathlibOnlyLinters : Array LeanOption := #[ ⟨`linter.allScriptsDocumented, true⟩, ⟨`linter.pythonStyle, true⟩, ⟨`linter.style.longFile, .ofNat 1500⟩, + ⟨`linter.style.missingEnd, false⟩, -- TODO -- ⟨`linter.nightlyRegressionSet, true⟩, -- `latest_import.yml` uses this comment: if you edit it, make sure that the workflow still works ] @@ -40,6 +41,10 @@ abbrev mathlibOnlyLinters : Array LeanOption := #[ abbrev mathlibLeanOptions := #[ ⟨`pp.unicode.fun, true⟩, -- pretty-prints `fun a ↦ b` ⟨`autoImplicit, false⟩, + ⟨`experimental.module, true⟩, + ⟨`backward.privateInPublic, true⟩, + ⟨`backward.privateInPublic.warn, false⟩, -- too many warnings during development + ⟨`backward.proofsInPublic, true⟩, ⟨`maxSynthPendingDepth, .ofNat 3⟩ ] ++ -- options that are used in `lake build` mathlibOnlyLinters.map fun s ↦ { s with name := `weak ++ s.name } diff --git a/lean-toolchain b/lean-toolchain index 92d59968cfa43f..03ff9222f81df5 100644 --- a/lean-toolchain +++ b/lean-toolchain @@ -1 +1 @@ -leanprover/lean4:nightly-2025-10-21 +leanprover/lean4-pr-releases:pr-release-10869-18060f2 diff --git a/scripts/lake-build-with-retry.sh b/scripts/lake-build-with-retry.sh index 4c427996446982..5a2dc815f49502 100755 --- a/scripts/lake-build-with-retry.sh +++ b/scripts/lake-build-with-retry.sh @@ -23,7 +23,7 @@ while true; do counter=$((counter + 1)) echo "::group::{lake build: attempt $counter}" - bash -o pipefail -c "env LEAN_ABORT_ON_PANIC=1 lake build --wfail -KCI $TARGET_NAME" + bash -o pipefail -c "env LEAN_ABORT_ON_PANIC=1 lake build -KCI $TARGET_NAME" echo "::endgroup::" echo "::group::{lake build --no-build: attempt $counter}" diff --git a/scripts/mk_all.lean b/scripts/mk_all.lean index ae79948610542f..2288dd57792848 100644 --- a/scripts/mk_all.lean +++ b/scripts/mk_all.lean @@ -44,6 +44,7 @@ def mkAllCLI (args : Parsed) : IO UInt32 := do let git := (args.flag? "git").isSome -- Check whether we only verify the files, or update them in-place. let check := (args.flag? "check").isSome + let useModule := (args.flag? "module").isSome -- Check whether the `--lib` flag was set. If so, build the file corresponding to the library -- passed to `--lib`. Else build all the libraries of the package. -- If the package is `mathlib`, then it removes the libraries `Cache` and `LongestPole` and it @@ -53,12 +54,14 @@ def mkAllCLI (args : Parsed) : IO UInt32 := do | none => getLeanLibs let mut updates := 0 for d in libs.reverse do -- reverse to create `Mathlib/Tactic.lean` before `Mathlib.lean` + let useModule := useModule || d.startsWith "Mathlib" let fileName := addExtension d "lean" let mut allFiles ← getAllModulesSorted git d -- mathlib exception: manually import Std and Batteries in `Mathlib.lean` if d == "Mathlib" then allFiles := #["Std", "Batteries"] ++ allFiles - let fileContent := ("\n".intercalate (allFiles.map ("import " ++ ·)).toList).push '\n' + let fileContent := (if useModule then "module\n\n" else "") ++ + ("\n".intercalate (allFiles.map ((if useModule then "public " else "") ++ "import " ++ ·)).toList).push '\n' if !(← pathExists fileName) then if check then IO.println s!"File '{fileName}' does not exist" @@ -94,6 +97,7 @@ def mkAll : Cmd := `[Cli| lib : String; "Create a folder importing all Lean files from the specified library/subfolder." git; "Use the folder content information from git." check; "Only check if the files are up-to-date; print an error if not" + module; "Generate `module` files with `public` imports." ] /-- The entrypoint to the `lake exe mk_all` command. -/