diff --git a/Mathlib.lean b/Mathlib.lean index 3a7e6fec4c1d4a..373a17269a7895 100644 --- a/Mathlib.lean +++ b/Mathlib.lean @@ -1,3 +1,6780 @@ +<<<<<<< HEAD +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.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.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.ContinuousCohomology.Basic +import Mathlib.Algebra.Category.FGModuleCat.Basic +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.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.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.Pointwise +import Mathlib.Algebra.GroupWithZero.Submonoid.Primal +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.ShortExact +import Mathlib.Algebra.Homology.DerivedCategory.SingleTriangle +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.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.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.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.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.Basic +import Mathlib.Algebra.Order.Module.Defs +import Mathlib.Algebra.Order.Module.Equiv +import Mathlib.Algebra.Order.Module.Field +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.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.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.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.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.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.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.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.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.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.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.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.Instances +import Mathlib.AlgebraicTopology.ModelCategory.IsCofibrant +import Mathlib.AlgebraicTopology.ModelCategory.JoyalTrick +import Mathlib.AlgebraicTopology.ModelCategory.LeftHomotopy +import Mathlib.AlgebraicTopology.ModelCategory.PathObject +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.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.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.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.Path +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.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.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.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.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.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.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.IntegerCompl +import Mathlib.Analysis.Complex.IsIntegral +import Mathlib.Analysis.Complex.Isometry +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.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.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.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.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.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.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.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.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.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.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.Exponential +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.Hom +import Mathlib.Analysis.Normed.Group.HomCompletion +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.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.Ray +import Mathlib.Analysis.Normed.Module.Span +import Mathlib.Analysis.Normed.Module.WeakDual +import Mathlib.Analysis.Normed.MulAction +import Mathlib.Analysis.Normed.Operator.Banach +import Mathlib.Analysis.Normed.Operator.BanachSteinhaus +import Mathlib.Analysis.Normed.Operator.BoundedLinearMaps +import Mathlib.Analysis.Normed.Operator.Compact +import Mathlib.Analysis.Normed.Operator.ContinuousLinearMap +import Mathlib.Analysis.Normed.Operator.LinearIsometry +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.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.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.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.Quaternion +import Mathlib.Analysis.RCLike.Basic +import Mathlib.Analysis.RCLike.BoundedContinuous +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.Pi.Bounds +import Mathlib.Analysis.Real.Pi.Irrational +import Mathlib.Analysis.Real.Pi.Leibniz +import Mathlib.Analysis.Real.Pi.Wallis +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.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.Real +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.Basic +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.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.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.Extension +import Mathlib.CategoryTheory.Bicategory.Free +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.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.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.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.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.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.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.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.Preserves.Basic +import Mathlib.CategoryTheory.Limits.Preserves.Bifunctor +import Mathlib.CategoryTheory.Limits.Preserves.Creates.Finite +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.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.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.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.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.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.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.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.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.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.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.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.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.IsInvertedBy +import Mathlib.CategoryTheory.MorphismProperty.IsSmall +import Mathlib.CategoryTheory.MorphismProperty.LiftingProperty +import Mathlib.CategoryTheory.MorphismProperty.Limits +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.ContainsZero +import Mathlib.CategoryTheory.ObjectProperty.EpiMono +import Mathlib.CategoryTheory.ObjectProperty.Extensions +import Mathlib.CategoryTheory.ObjectProperty.FullSubcategory +import Mathlib.CategoryTheory.ObjectProperty.Shift +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.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.Finite +import Mathlib.CategoryTheory.Presentable.IsCardinalFiltered +import Mathlib.CategoryTheory.Presentable.Limits +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.GlobalSections +import Mathlib.CategoryTheory.Sites.Grothendieck +import Mathlib.CategoryTheory.Sites.IsSheafFor +import Mathlib.CategoryTheory.Sites.IsSheafOneHypercover +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.OneHypercover +import Mathlib.CategoryTheory.Sites.Over +import Mathlib.CategoryTheory.Sites.Plus +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.Sites.ZeroHypercover +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.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 +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.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.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.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.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.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.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.Determinant +import Mathlib.Data.Complex.Module +import Mathlib.Data.Complex.Orientation +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.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.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.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.EditDistance.Bounds +import Mathlib.Data.List.EditDistance.Defs +import Mathlib.Data.List.EditDistance.Estimator +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.MLList.BestFirst +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.CharP +import Mathlib.Data.Matrix.ColumnRowPartitioned +import Mathlib.Data.Matrix.Composition +import Mathlib.Data.Matrix.ConjTranspose +import Mathlib.Data.Matrix.DMatrix +import Mathlib.Data.Matrix.Defs +import Mathlib.Data.Matrix.Diagonal +import Mathlib.Data.Matrix.DualNumber +import Mathlib.Data.Matrix.Hadamard +import Mathlib.Data.Matrix.Invertible +import Mathlib.Data.Matrix.Kronecker +import Mathlib.Data.Matrix.Mul +import Mathlib.Data.Matrix.Notation +import Mathlib.Data.Matrix.PEquiv +import Mathlib.Data.Matrix.Rank +import Mathlib.Data.Matrix.Reflection +import Mathlib.Data.Matrix.RowCol +import Mathlib.Data.Matrix.Vec +import Mathlib.Data.Matroid.Basic +import Mathlib.Data.Matroid.Circuit +import Mathlib.Data.Matroid.Closure +import Mathlib.Data.Matroid.Constructions +import Mathlib.Data.Matroid.Dual +import Mathlib.Data.Matroid.IndepAxioms +import Mathlib.Data.Matroid.Init +import Mathlib.Data.Matroid.Loop +import Mathlib.Data.Matroid.Map +import Mathlib.Data.Matroid.Minor.Contract +import Mathlib.Data.Matroid.Minor.Delete +import Mathlib.Data.Matroid.Minor.Order +import Mathlib.Data.Matroid.Minor.Restrict +import Mathlib.Data.Matroid.Rank.Cardinal +import Mathlib.Data.Matroid.Rank.ENat +import Mathlib.Data.Matroid.Rank.Finite +import Mathlib.Data.Matroid.Sum +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.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.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.Sqrt +import Mathlib.Data.Rat.Star +import Mathlib.Data.Real.Archimedean +import Mathlib.Data.Real.Basic +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.GoldenRatio +import Mathlib.Data.Real.Irrational +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.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.FunctorToTypes +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.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.Basic +import Mathlib.FieldTheory.Galois.GaloisClosure +import Mathlib.FieldTheory.Galois.Infinite +import Mathlib.FieldTheory.Galois.IsGaloisGroup +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.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.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.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.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.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.Tactic.Basic +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.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.FiniteDimensional +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.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.Charpoly.Basic +import Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff +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.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.Gershgorin +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.LDL +import Mathlib.LinearAlgebra.Matrix.MvPolynomial +import Mathlib.LinearAlgebra.Matrix.Nondegenerate +import Mathlib.LinearAlgebra.Matrix.NonsingularInverse +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.Reindex +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.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.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.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.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.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.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.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.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.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.LucasLehmer +import Mathlib.NumberTheory.LucasPrimality +import Mathlib.NumberTheory.MaricaSchoenheim +import Mathlib.NumberTheory.Modular +import Mathlib.NumberTheory.ModularForms.Basic +import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups +import Mathlib.NumberTheory.ModularForms.DedekindEta +import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic +import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Defs +import Mathlib.NumberTheory.ModularForms.EisensteinSeries.E2 +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.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.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.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.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.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.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.Estimator +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.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.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.Exponential +import Mathlib.Probability.Distributions.Gamma +import Mathlib.Probability.Distributions.Gaussian +import Mathlib.Probability.Distributions.Gaussian.Basic +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.IdentDistrib +import Mathlib.Probability.Independence.Basic +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.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.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.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.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.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.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.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.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.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.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.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.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.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.IsSMulRegular +import Mathlib.RingTheory.Regular.RegularSequence +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.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.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.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.FieldSimp +import Mathlib.Tactic.FieldSimp.Discharger +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.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.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.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.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.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.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.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.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.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.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.Defs +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.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.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.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.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.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.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.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.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.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.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.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.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.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 -- shake: keep-all public import Std @@ -7506,3 +14283,4 @@ public import Mathlib.Util.WhatsNew public import Mathlib.Util.WithWeakNamespace set_option linter.style.longLine false +>>>>>>> upstream/master diff --git a/Mathlib/Analysis/Complex/Exponential.lean b/Mathlib/Analysis/Complex/Exponential.lean index 152c3ac77bdbf7..c62f9bb0841c1d 100644 --- a/Mathlib/Analysis/Complex/Exponential.lean +++ b/Mathlib/Analysis/Complex/Exponential.lean @@ -150,6 +150,10 @@ lemma exp_nsmul' (x a p : ℂ) (n : ℕ) : exp (a * n * x / p) = exp (a * x / p) rw [← Complex.exp_nsmul] ring_nf +lemma exp_nsmul' (x a p : ℂ) (n : ℕ) : exp (a * n * x / p) = exp (a * x / p) ^ n := by + rw [← Complex.exp_nsmul] + ring_nf + theorem exp_nat_mul (x : ℂ) : ∀ n : ℕ, exp (n * x) = exp x ^ n | 0 => by rw [Nat.cast_zero, zero_mul, exp_zero, pow_zero] | Nat.succ n => by rw [pow_succ, Nat.cast_add_one, add_mul, exp_add, ← exp_nat_mul _ n, one_mul] diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean b/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean index ed26b7bf353bf6..ba1d2532568dbf 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Summable.lean @@ -46,6 +46,14 @@ lemma summable_log_one_add_of_summable {f : ι → ℂ} (hf : Summable f) : filter_upwards [hf.norm.tendsto_cofinite_zero.eventually_le_const one_half_pos] with i hi using norm_log_one_add_half_le_self hi +lemma tprod_one_add_ne_zero_of_summable {α : Type*} (x : α) {f : ι → α → ℂ} + (hf : ∀ i x, 1 + f i x ≠ 0) (hu : ∀ x : α, Summable fun n => f n x) : + (∏' i : ι, (1 + f i) x) ≠ 0 := by + simp only [Pi.add_apply, Pi.one_apply, ne_eq] + rw [← Complex.cexp_tsum_eq_tprod (f := fun n => 1 + f n x) (fun n => hf n x)] + · simp only [exp_ne_zero, not_false_eq_true] + · exact Complex.summable_log_one_add_of_summable (hu x) + protected lemma multipliable_one_add_of_summable (hf : Summable f) : Multipliable (fun i ↦ 1 + f i) := multipliable_of_summable_log (summable_log_one_add_of_summable hf) diff --git a/Mathlib/NumberTheory/ModularForms/DedekindEta.lean b/Mathlib/NumberTheory/ModularForms/DedekindEta.lean index e4a056f933e3da..fcf786fb53fdc8 100644 --- a/Mathlib/NumberTheory/ModularForms/DedekindEta.lean +++ b/Mathlib/NumberTheory/ModularForms/DedekindEta.lean @@ -28,8 +28,6 @@ differentiable on the upper half-plane. open TopologicalSpace Set MeasureTheory intervalIntegral Metric Filter Function Complex -open UpperHalfPlane hiding I - open scoped Interval Real NNReal ENNReal Topology BigOperators Nat local notation "𝕢" => Periodic.qParam @@ -80,13 +78,15 @@ lemma multipliableLocallyUniformlyOn_eta : · rw [hasProdUniformlyOn_iff_tendstoUniformlyOn] simpa [not_nonempty_iff_eq_empty.mp hN] using tendstoUniformlyOn_empty -/-- Eta is non-vanishing on the upper half plane. -/ -lemma eta_ne_zero {z : ℂ} (hz : z ∈ ℍₒ) : η z ≠ 0 := by - apply mul_ne_zero (Periodic.qParam_ne_zero z) +lemma eta_tprod_ne_zero {z : ℂ} (hz : z ∈ ℍₒ) : (∏' n, (1 - eta_q n z)) ≠ 0 := by refine tprod_one_add_ne_zero_of_summable (f := fun n ↦ -eta_q n z) ?_ ?_ · exact fun i ↦ by simpa using one_sub_eta_q_ne_zero i hz · simpa [eta_q, ← summable_norm_iff] using summable_eta_q ⟨z, hz⟩ +/-- Eta is non-vanishing on the upper half plane. -/ +lemma eta_ne_zero {z : ℂ} (hz : z ∈ ℍₒ) : η z ≠ 0 := by + apply mul_ne_zero (Periodic.qParam_ne_zero z) (eta_tprod_ne_zero hz) + lemma logDeriv_one_sub_cexp (r : ℂ) : logDeriv (fun z ↦ 1 - r * cexp z) = fun z ↦ -r * cexp z / (1 - r * cexp z) := by ext z @@ -116,12 +116,56 @@ lemma tsum_logDeriv_eta_q (z : ℂ) : ∑' n, logDeriv (fun x ↦ 1 - eta_q n x) rw [tsum_congr (one_sub_eta_logDeriv_eq z), ← tsum_mul_left] grind -theorem differentiableAt_eta_of_mem_upperHalfPlaneSet {z : ℂ} (hz : z ∈ ℍₒ) : - DifferentiableAt ℂ eta z := by - apply DifferentiableAt.mul (by fun_prop) - refine (multipliableLocallyUniformlyOn_eta.hasProdLocallyUniformlyOn.differentiableOn ?_ +lemma differentiableAt_eta_tprod {z : ℂ} (hz : z ∈ ℍₒ) : + DifferentiableAt ℂ (fun x ↦ ∏' n, (1 - eta_q n x)) z := by + apply (multipliableLocallyUniformlyOn_eta.hasProdLocallyUniformlyOn.differentiableOn ?_ isOpen_upperHalfPlaneSet z hz).differentiableAt (isOpen_upperHalfPlaneSet.mem_nhds hz) filter_upwards with b simpa [Finset.prod_fn] using DifferentiableOn.finset_prod (by fun_prop) +theorem differentiableAt_eta_of_mem_upperHalfPlaneSet {z : ℂ} (hz : z ∈ ℍₒ) : + DifferentiableAt ℂ eta z := by + apply DifferentiableAt.mul (by fun_prop) (differentiableAt_eta_tprod hz) + +lemma summable_log_deriv_one_sub_eta_q {z : ℂ} (hz : z ∈ ℍₒ) : + Summable fun i ↦ logDeriv (fun x ↦ 1 - eta_q i x) z := by + simp only [one_sub_eta_logDeriv_eq] + apply ((summable_nat_add_iff 1).mpr ((summable_norm_pow_mul_geometric_div_one_sub (r := 𝕢 1 z) 1 + (by simpa [Periodic.qParam] using UpperHalfPlane.norm_exp_two_pi_I_lt_one ⟨z, hz⟩)).mul_left + (-2 * π * I))).congr + intro b + field_simp [one_sub_eta_q_ne_zero b hz] + ring + +lemma logDeriv_q_term (z : ℍ) : logDeriv (𝕢 24) ↑z = 2 * ↑π * I / 24 := by + have : (𝕢 24) = (fun z ↦ cexp (z)) ∘ (fun z => (2 * ↑π * I / 24) * z) := by + ext y + simp only [Periodic.qParam, ofReal_ofNat, comp_apply] + ring_nf + rw [this, logDeriv_comp (by fun_prop) (by fun_prop), deriv_const_mul _ (by fun_prop)] + simp only [LogDeriv_exp, Pi.one_apply, deriv_id'', mul_one, one_mul] + +lemma eta_logDeriv (z : ℍ) : logDeriv ModularForm.eta z = (π * I / 12) * E2 z := by + unfold ModularForm.eta + rw [logDeriv_mul (UpperHalfPlane.coe z) (by simp [ne_eq, exp_ne_zero, not_false_eq_true, + Periodic.qParam]) (eta_tprod_ne_zero z.2) (by fun_prop) (differentiableAt_eta_tprod z.2)] + have HG := logDeriv_tprod_eq_tsum isOpen_upperHalfPlaneSet (x := z) + (f := fun n x => 1 - eta_q n x) (fun i ↦ one_sub_eta_q_ne_zero i z.2) + (by simp_rw [eta_q_eq_pow]; fun_prop) (summable_log_deriv_one_sub_eta_q z.2) + (multipliableLocallyUniformlyOn_eta ) (eta_tprod_ne_zero z.2) + rw [show z.1 = UpperHalfPlane.coe z by rfl] at HG + simp only [logDeriv_q_term z, HG, tsum_logDeriv_eta_q z, E2, one_div, + mul_inv_rev, Pi.smul_apply, smul_eq_mul] + rw [G2_q_exp, riemannZeta_two, ← tsum_pow_div_one_sub_eq_tsum_sigma + (by apply UpperHalfPlane.norm_exp_two_pi_I_lt_one z), mul_sub, sub_eq_add_neg, mul_add] + congr 1 + · field_simp + ring + · field_simp [tsum_pnat_eq_tsum_succ (f := fun n ↦ n * cexp (2 * π * I * z) ^ n + / (1 - cexp (2 * π * I * z) ^ n )), eta_q_eq_pow] + simp_rw [← tsum_mul_left, ← tsum_mul_right, ← tsum_neg] + congr + ext n + ring_nf + end ModularForm diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean index 4b6ae57ccdf6aa..7482d3be401fc7 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean @@ -140,6 +140,68 @@ def gammaSetDivGcdSigmaEquiv : (Fin 2 → ℤ) ≃ (Σ r : ℕ, gammaSet 1 r 0) lemma gammaSetDivGcdSigmaEquiv_symm_eq (v : Σ r : ℕ, gammaSet 1 r 0) : (gammaSetDivGcdSigmaEquiv.symm v) = v.2 := rfl +/-- The map from `Fin 2 → ℤ` sending `![a,b]` to `a.gcd b`. -/ +def fin_to_gcd_map (v : Fin 2 → ℤ) : ℕ := (v 0).gcd (v 1) + +/-- The set of pairs of integers whose gcd is `N`, defined as the fiber of +`fin_to_gcd_map` at `N`. -/ +def gammaSetN (N : ℕ) : Set (Fin 2 → ℤ) := fin_to_gcd_map ⁻¹' {N} + +/-- An abbreviation of the map which divides a integer vector by an integer. -/ +abbrev div_N_map (N : ℤ) {m : ℕ} (v : Fin m → ℤ) : Fin m → ℤ := fun i => v i / N + +lemma gammaSet_top_mem (v : Fin 2 → ℤ) : v ∈ gammaSet 1 0 ↔ IsCoprime (v 0) (v 1) := by + simpa [gammaSet] using fun h ↦ Subsingleton.eq_zero (Int.cast ∘ v) + +lemma gammaSetN_div_N {N : ℕ} {v : Fin 2 → ℤ} (hv : v ∈ gammaSetN N) (i : Fin 2) : + (N : ℤ) ∣ v i := by + simp only [gammaSetN, mem_preimage, fin_to_gcd_map, Fin.isValue, mem_singleton_iff] at * + fin_cases i <;> simp [← hv, Int.gcd_dvd_left, Int.gcd_dvd_right] + +lemma gammaSetN_to_gammaSet10_bijection {N : ℕ} (hN : N ≠ 0) : + Set.BijOn (div_N_map N) (gammaSetN N) (gammaSet 1 0) := by + refine ⟨?_, ?_, ?_⟩ + · intro x hx + simp only [ne_eq, gammaSetN, mem_preimage, fin_to_gcd_map, Fin.isValue, mem_singleton_iff, + gammaSet_top_mem] at * + rw [← hx] at hN ⊢ + apply isCoprime_div_gcd_div_gcd' (by simpa using hN) + · intro x hx v hv hv2 + ext i + · apply (Int.ediv_left_inj (gammaSetN_div_N hx i) (gammaSetN_div_N hv i)).mp (congr_fun hv2 i) + · intro x hx + use N • x + simp only [gammaSetN, nsmul_eq_mul, mem_preimage, fin_to_gcd_map, Fin.isValue, Pi.mul_apply, + Pi.natCast_apply, mem_singleton_iff] + constructor + · rw [gammaSet_top_mem, Int.isCoprime_iff_gcd_eq_one] at hx + simp [Int.gcd_mul_left, hx] + · ext i + simp_all [div_N_map] + +lemma gammaSetN_map_eq {N : ℕ} (v : gammaSetN N) : v.1 = N • (div_N_map N v) := by + by_cases hN : N = 0 + · have hv := v.2 + simp only [hN, gammaSetN, mem_preimage, fin_to_gcd_map, Fin.isValue, mem_singleton_iff, + Int.gcd_eq_zero_iff, CharP.cast_eq_zero, zero_nsmul] at * + ext i + fin_cases i <;> simp [hv] + · ext i + simp_all [Pi.smul_apply, div_N_map, ← Int.mul_ediv_assoc _ (gammaSetN_div_N v.2 i)] + +/-- The equivalence between `gammaSetN` and `gammaSet` for non-zero `N`. -/ +def gammaSetN_Equiv {N : ℕ} (hN : N ≠ 0) : gammaSetN N ≃ gammaSet 1 0 := by + apply Set.BijOn.equiv _ (gammaSetN_to_gammaSet10_bijection hN) + +/-- The equivalence between `(Fin 2 → ℤ)` and `Σ n : ℕ, gammaSetN n)` . -/ +def GammaSet_top_Equiv : (Fin 2 → ℤ) ≃ (Σ n : ℕ, gammaSetN n) := + (Equiv.sigmaFiberEquiv fin_to_gcd_map).symm + +@[simp] +lemma GammaSet_top_Equiv_symm_eq (v : Σ n : ℕ, gammaSetN n) : + (GammaSet_top_Equiv.symm v) = v.2 := by + simp [GammaSet_top_Equiv, fin_to_gcd_map, Equiv.sigmaFiberEquiv] + end gammaSet_def variable {N a r} [NeZero r] diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2.lean new file mode 100644 index 00000000000000..df2599e281a2e6 --- /dev/null +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2.lean @@ -0,0 +1,173 @@ +/- +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.Algebra.Order.Ring.Star +import Mathlib.Analysis.CStarAlgebra.Classes +import Mathlib.Data.Int.Star +import Mathlib.NumberTheory.LSeries.RiemannZeta +import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence +import Mathlib.NumberTheory.ModularForms.EisensteinSeries.QExpansion + +/-! +# Eisenstein Series E2 + +We define the Eisenstein series `E2` of weight `2` and level `1` as a limit of partial sums +over non-symmetric intervals. + +-/ + +open ModularForm EisensteinSeries TopologicalSpace intervalIntegral + Metric Filter Function Complex MatrixGroups Finset ArithmeticFunction + +open _root_.UpperHalfPlane hiding I + +open scoped Interval Real Topology BigOperators Nat + +noncomputable section + + +/-- This is an auxilary summand used to define the Eisenstein serires `G2`. -/ +def e2Summand (m : ℤ) (z : ℍ) : ℂ := ∑' (n : ℤ), eisSummand 2 ![m, n] z + +lemma e2Summand_summable (m : ℤ) (z : ℍ) : Summable (fun n => eisSummand 2 ![m, n] z) := by + apply (linear_right_summable z m (k := 2) (by omega)).congr + simp [eisSummand] + +@[simp] +lemma e2Summand_zero_eq_riemannZeta_two (z : ℍ) : e2Summand 0 z = 2 * riemannZeta 2 := by + simpa [e2Summand, eisSummand] using + (two_riemannZeta_eq_tsum_int_inv_even_pow (k := 2) (by omega) (by simp)).symm + +/-- The Eisenstein series of weight `2` and level `1` defined as the limit as `N` tends to +infinity of the partial sum of `m` in `[N,N)` of `e2Summand m`. This sum over symmetric +intervals is handy in showing it is Cauchy. -/ +def G2 : ℍ → ℂ := fun z => limUnder atTop (fun N : ℕ => ∑ m ∈ Icc (-N : ℤ) N, e2Summand m z) + +/-- The normalised Eisenstein series of weight `2` and level `1`. -/ +def E2 : ℍ → ℂ := (1 / (2 * riemannZeta 2)) • G2 + +/-- This function measures the defect in `E2` being a modular form. -/ +def D2 (γ : SL(2, ℤ)) : ℍ → ℂ := fun z => (2 * π * I * γ 1 0) / (denom γ z) + +--moves these two elsewhere +lemma Icc_succ_succ (n : ℕ) : Finset.Icc (-(n + 1) : ℤ) (n + 1) = Finset.Icc (-n : ℤ) n ∪ + {(-(n + 1) : ℤ), (n + 1 : ℤ)} := by + refine Finset.ext_iff.mpr ?_ + intro a + simp only [neg_add_rev, Int.reduceNeg, Finset.mem_Icc, add_neg_le_iff_le_add, Finset.union_insert, + Finset.mem_insert, Finset.mem_union, Finset.mem_singleton] + omega + +lemma sum_Icc_of_even_eq_range {α : Type*} [CommRing α] (f : ℤ → α) (hf : ∀ n, f n = f (-n)) + (N : ℕ) : ∑ m ∈ Finset.Icc (-N : ℤ) N, f m = 2 * ∑ m ∈ Finset.range (N + 1), f m - f 0 := by + induction' N with N ih + · simp [two_mul] + · have := Icc_succ_succ N + simp only [neg_add_rev, Int.reduceNeg, Nat.cast_add, Nat.cast_one] at * + rw [this, Finset.sum_union (by simp), Finset.sum_pair (by omega), ih] + nth_rw 2 [Finset.sum_range_succ] + have HF := hf (N + 1) + simp only [neg_add_rev, Int.reduceNeg] at HF + rw [← HF] + ring_nf + norm_cast + +lemma G2_partial_sum_eq (z : ℍ) (N : ℕ) : (∑ m ∈ Icc (-N : ℤ) N, e2Summand m z) = + (2 * riemannZeta 2) + (∑ m ∈ Finset.range N, 2 * (-2 * ↑π * I) ^ 2 * + ∑' n : ℕ+, n * cexp (2 * ↑π * I * (m + 1) * z) ^ (n : ℕ)) := by + rw [sum_Icc_of_even_eq_range, Finset.sum_range_succ', mul_add] + · nth_rw 2 [two_mul] + ring_nf + have (a : ℕ):= EisensteinSeries.qExpansion_identity_pnat (k := 1) (by omega) ⟨(a + 1) * z, by + have ha : 0 < a + (1 : ℝ) := by linarith + simpa [ha] using z.2⟩ + simp only [coe_mk_subtype, add_comm, Nat.reduceAdd, one_div, mul_comm, mul_neg, even_two, + Even.neg_pow, Nat.factorial_one, Nat.cast_one, div_one, pow_one, e2Summand, eisSummand, + Nat.cast_add, Fin.isValue, Matrix.cons_val_zero, Int.cast_add, Int.cast_natCast, Int.cast_one, + Matrix.cons_val_one, Matrix.cons_val_fin_one, Int.reduceNeg, zpow_neg, mul_sum, Int.cast_zero, + zero_mul, add_zero, I_sq, neg_mul, one_mul] at * + congr + · simpa using (two_riemannZeta_eq_tsum_int_inv_even_pow (k := 2) (by omega) (by simp)).symm + · ext a + norm_cast at * + simp_rw [this a, ← tsum_mul_left, ← tsum_neg,ofReal_mul, ofReal_ofNat, mul_pow, I_sq, neg_mul, + one_mul, Nat.cast_add, Nat.cast_one, mul_neg, ofReal_pow] + apply tsum_congr + intro b + ring_nf + · intro n + simp only [e2Summand, eisSummand, Fin.isValue, Matrix.cons_val_zero, Matrix.cons_val_one, + Matrix.cons_val_fin_one, Int.reduceNeg, zpow_neg, Int.cast_neg, neg_mul] + nth_rw 2 [← tsum_int_eq_tsum_neg] + apply tsum_congr + intro b + norm_cast + ring_nf + aesop + +private lemma aux_tsum_identity (z : ℍ) : ∑' m : ℕ, (2 * (-2 * ↑π * I) ^ 2 * + ∑' n : ℕ+, n * cexp (2 * ↑π * I * (m + 1) * z) ^ (n : ℕ)) = + -8 * π ^ 2 * ∑' (n : ℕ+), (sigma 1 n) * cexp (2 * π * I * z) ^ (n : ℕ) := by + have := tsum_prod_pow_cexp_eq_tsum_sigma 1 z + rw [tsum_pnat_eq_tsum_succ (fun d => + ∑' (c : ℕ+), (c ^ 1 : ℂ) * cexp (2 * ↑π * I * d * z) ^ (c : ℕ))] at this + simp only [neg_mul, even_two, Even.neg_pow, ← tsum_mul_left, ← this, Nat.cast_add, Nat.cast_one] + apply tsum_congr2 + intro b c + rw [mul_pow, I_sq, mul_neg, mul_one] + ring + +theorem G2_tendsto (z : ℍ) : Tendsto (fun N ↦ ∑ x ∈ range N, 2 * (2 * ↑π * I) ^ 2 * + ∑' (n : ℕ+), n * cexp (2 * ↑π * I * (↑x + 1) * ↑z) ^ (n : ℕ)) atTop + (𝓝 (-8 * ↑π ^ 2 * ∑' (n : ℕ+), ↑((σ 1) ↑n) * cexp (2 * ↑π * I * ↑z) ^ (n : ℕ))) := by + rw [← aux_tsum_identity] + have hf : Summable fun m : ℕ => ( 2 * (-2 * ↑π * I) ^ 2 * + ∑' n : ℕ+, n ^ ((2 - 1)) * Complex.exp (2 * ↑π * I * (m + 1) * z) ^ (n : ℕ)) := by + apply Summable.mul_left + have := (summable_prod_aux 1 z).prod_symm.prod + have h0 := pnat_summable_iff_summable_succ + (f := fun b ↦ ∑' (c : ℕ+), c * cexp (2 * ↑π * I * ↑↑b * ↑z) ^ (c : ℕ)) + simp at * + rw [← h0] + apply this + simpa using (hf.hasSum).comp tendsto_finset_range + +lemma G2_cauchy (z : ℍ) : CauchySeq (fun N : ℕ => ∑ m ∈ Icc (-N : ℤ) N, e2Summand m z) := by + conv => + enter [1] + ext n + rw [G2_partial_sum_eq] + apply CauchySeq.const_add + apply Filter.Tendsto.cauchySeq (x := -8 * π ^ 2 * + ∑' (n : ℕ+), (σ 1 n) * cexp (2 * π * I * z) ^ (n : ℕ)) + simpa using G2_tendsto z + +lemma G2_q_exp (z : ℍ) : G2 z = (2 * riemannZeta 2) - 8 * π ^ 2 * + ∑' n : ℕ+, sigma 1 n * cexp (2 * π * I * z) ^ (n : ℕ) := by + rw [G2, Filter.Tendsto.limUnder_eq, sub_eq_add_neg] + conv => + enter [1] + ext N + rw [G2_partial_sum_eq z N] + exact Filter.Tendsto.add (by simp) (by simpa using G2_tendsto z) + + + +/- lemma Asymptotics.IsBigO.map {α β ι γ : Type*} [Norm α] [Norm β] {f : ι → α} {g : ι → β} + {p : Filter ι} (hf : f =O[p] g) (c : γ → ι) : + (fun (n : γ) => f (c n)) =O[p.comap c] fun n => g (c n) := by + rw [isBigO_iff] at * + obtain ⟨C, hC⟩ := hf + refine ⟨C, ?_⟩ + simp only [eventually_comap] at * + filter_upwards [hC] with n hn + exact fun a ha ↦ Eq.mpr (id (congrArg (fun _a ↦ ‖f _a‖ ≤ C * ‖g _a‖) ha)) hn + +lemma Asymptotics.IsBigO.nat_of_int {α β : Type*} [Norm α] [SeminormedAddCommGroup β] {f : ℤ → α} + {g : ℤ → β} (hf : f =O[cofinite] g) : (fun (n : ℕ) => f n) =O[cofinite] fun n => g n := by + have := Asymptotics.IsBigO.map hf Nat.cast + simp only [Int.cofinite_eq, isBigO_sup, comap_sup, Asymptotics.isBigO_sup] at * + rw [Nat.cofinite_eq_atTop] + simpa using this.2 -/ diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean index 584a8c23e028c9..78662e8137788b 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean @@ -61,6 +61,22 @@ lemma abs_norm_eq_max_natAbs_neg (n : ℕ) : ‖![1, -(n + 1 : ℤ)]‖ = n + 1 Matrix.cons_val_fin_one] norm_cast +lemma abs_norm_eq_max_natAbs (n : ℕ) : + ‖![1, (n + 1 : ℤ)]‖ = n + 1 := by + simp only [Nat.succ_eq_add_one, Nat.reduceAdd, EisensteinSeries.norm_eq_max_natAbs, Fin.isValue, + Matrix.cons_val_zero, isUnit_one, Int.natAbs_of_isUnit, Matrix.cons_val_one, + Matrix.cons_val_fin_one, Nat.cast_max, Nat.cast_one] + norm_cast + simp + +lemma abs_norm_eq_max_natAbs_neg (n : ℕ) : + ‖![1, -(n + 1 : ℤ)]‖ = n + 1 := by + simp only [EisensteinSeries.norm_eq_max_natAbs, Fin.isValue, Matrix.cons_val_zero, isUnit_one, + Int.natAbs_of_isUnit, Matrix.cons_val_one, Matrix.cons_val_fin_one, Nat.cast_max, + Int.natAbs_neg] + norm_cast + simp + section bounding_functions /-- Auxiliary function used for bounding Eisenstein series, defined as diff --git a/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean b/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean index f1d208b7463980..cfd41d22d1a234 100644 --- a/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean +++ b/Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean @@ -527,10 +527,17 @@ theorem Summable.alternating {α} [Ring α] end IsUniformGroup +theorem tsum_int_eq_tsum_neg {α : Type*} [AddCommMonoid α] [TopologicalSpace α] (f : ℤ → α) : + ∑' d, f (-d) = ∑' d, f d := by + rw [show (fun d => f (-d)) = (fun d => f d) ∘ (Equiv.neg ℤ) by ext; simp] + apply (Equiv.neg ℤ).tsum_eq + end Int section PNat +variable {R : Type*} {α : Type*} [AddMonoidWithOne R] [TopologicalSpace α] [CommMonoid α] + @[to_additive] theorem multipliable_pnat_iff_multipliable_succ {f : ℕ → M} : Multipliable (fun x : ℕ+ ↦ f x) ↔ Multipliable fun x ↦ f (x + 1) :=