feat(CategoryTheory): The Preliminaries for Locally Cartesian Closed Categories#30366
feat(CategoryTheory): The Preliminaries for Locally Cartesian Closed Categories#30366sinhp wants to merge 67 commits intoleanprover-community:masterfrom
Conversation
PR summary 15ee1d2ac7Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
…ndex, pull-push) (Sigma=push, Reindex=pull, pull-push = cartesian product)
|
Just a few quick remarks for now:
|
What about making a new file in the new folder LocallyCartesianClosed named "Prelim.lean"? Otherwise, please suggest a location for this. The effect on
@Jlh18 , Is this close to being merged? Seems this is weaker assumption for a couple of theorems in lccc prelim.
We already have cartesian monoidal category structure on slice categories thanks to Andrew's work – incidentally one reason the LCCC work got merge conflict back in February, and had to wait for that work to be done. But, it is nicer to do it that way. I am using this monoidal structure. If I don't misread what you say, then Also, on the semantics side, I think with |
Well, your additions may have changed the import graph of other files, which may be the reason for the breakage in Galois categories. Putting the new code in a separate file should solve this issue...
I have no idea how what you say answer my suggestion. In your code, it seems that there is data for the right adjoints of the pullback functors on the (Ah, actually, it seems you do not include data for the pushforwards. As a structure on a category, it would make sense to have data for these functors.) |
It seems I was confused about your comment. I thought it is concerning the file Comma.Over.Pullback, but it seems you are actually commenting on #30375 PR and not this PR, correct? |
|
This pull request has conflicts, please merge |
| (isBinaryProductSigmaReindex Y Z) (Limits.prodIsProd Y Z) ⟨.left⟩ | ||
|
|
||
| lemma sigmaReindexIsoProd_hom_comp_snd {Y Z : Over X} : | ||
| (sigmaReindexIsoProd Y Z).hom ≫ (snd Y Z) = (μ_ Y Z) := |
There was a problem hiding this comment.
Could you remove unnecessary parentheses in the whole file? (And add simp/reassoc attributes to lemmas when applicable.)
We add stability lemmas for `HasCardinalLT X κ` for sigma types, binary products, etc when `κ` is regular (or at least infinite).
…olimitType (leanprover-community#30779) We obtain a dual result to leanprover-community#30403 for the interaction between final functors and colimits of functors to types. This is phrased using the universe generic `Functor.ColimitType`. (We also improve the proof of leanprover-community#30403)
Multiple build runs from the same PR don't seem to be getting canceled. There's a suspicious line break in the `concurrency` option which might be confusing GitHub and causing this. cf. [#mathlib4 > github action bandwidth @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/github.20action.20bandwidth/near/547550820).
…t` (leanprover-community#30638) + Construct the symmetric monoidal structure on SemimoduleCat, and transport it to the same structure on ModuleCat (in a way preserving pre-existing defeqs) using the equivalence `ModuleCat.equivalenceSemimoduleCat` between the categories. Just a few proofs in the Representation library need to be fixed (in a straightforward way). Public API for ModuleCat is duplicated to SemimoduleCat.
…nity#30749) This is a collection of typo fixes suggested to me by Codex. I decided to split these changes out of leanprover-community#30669, because I feel none of these are completely trivial to review, mostly because they require inspecting the context of the text as opposed to just the text itself. I've manually reviewed all of them to the best of my abilities and I'm reasonably sure they are all correct, and that they represent an improvement over the status quo. However, I am not an expert in Algebra, so please review with care. I suspect that there might still be quite a wide span in the difficulty of reviewing the changes in this PR, but I don't have a strong intuition for which changes herein might still be seen as relatively easy to review. I'm open to splitting this PR further should any reviewer think that is a good idea.
Let `C` be a category and `F : Pseudofunctor (LocallyDiscrete Cᵒᵖ) Cat`. Given `S : C`, and objects `M` and `N` in `F.obj (.mk (op S))`, we define a presheaf of types `F.presheafHom M N` on the category `Over S`: its sections on an object `T : Over S` corresponding to a morphism `p : X ⟶ S` are the type of morphisms `p^* M ⟶ p^* N`. We shall say that `F` satisfies the descent of morphisms for a Grothendieck topology `J` (i.e. `F` is a prestack) if these presheaves are all sheaves. Co-authored-by: Christian Merten [christian@merten.dev](mailto:christian@merten.dev)
leanprover-community#30199) Add simple API lemmas about the support of functions in `ContDiffMapSupportedIn`. Co-authored-by: Michael Rothgang <rothgang@math.uni-bonn.de> Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com>
…nprover-community#30540) - Define convergence in distribution of random variables: this is the weak convergence of their laws. - Prove the continuous mapping theorem for convergence in distribution and continuous functions. Co-authored-by: Remy Degenne <remydegenne@gmail.com>
…nprover-community#30729) Add several elementary lemmas aiding computations with log⁺. Improve the docstrings a little.
…prover-community#30655) We show that the projection `C × D ⥤ C` is a final (or initial) functor when `D` is connected. (Before this PR, it was proven under the stronger assumption that `D` was (co)filtered.)
…ms (leanprover-community#30693) This category will be relevant in the study of accessible categories. I am making Johan Commelin a co-author as the new file `PartOrdEmb.lean` is essentially a copy-paste of `PartOrd.Lean`. Co-authored-by: Johan Commelin <johan@commelin.net>
Fixes a typo in a docstring.
…nprover-community#31049) Add `enorm` versions of theorems in `OperatorNorm.lean` as it currently has only `norm` and `nnnorm` versions.
leanprover-community#29082) I have not tested if this is usable in practice; perhaps it is not.
…r-community#30335) We obtain various lemmas about adjunctions between functors by computing `conjugateEquiv` in case of associators, unitors, and whiskerings. We deduce a way to obtain compatibilites with respect to composition of functors of left adjoints assuming that we have these compatibilites for right adjoints. In leanprover-community#30318, this shall be applied to the study of the compatibilities with respect to composition of the pullback functors for presheaves of modules.
…unity#31048) It duplicates a lemma above, but having this name is nice for discoverability.
…s and derived results on infinite places (leanprover-community#27978) If `w` is an absolute value on `L/K` and `v` is an absolute value of `K` then `w.LiesOver v` is the class defining the property that `v` is the restriction of `w` to `K`. This PR continues the work from leanprover-community#24881. Original PR: leanprover-community#24881
…perate growth (leanprover-community#30553) The Schwartz function file reached 1500 lines of code, so it really needs splitting. The only other change is that I added namespaces and moved one lemma into the `MeasureTheory.Measure` namespace to allow for dot-notation.
e.g. `frobenius_add` should be replaced with `map_add _`.
…ver-community#30967) In some cases, add `≠ ∞` versions of existing `< ∞` lemmas, and tag those with finiteness. Use this to golf one proof `by measurability` using finiteness, which is the morally correct proof. Motivated by leanprover-community#30966.
|
This pull request has conflicts, please merge |
See #21525
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs).
First, we develop a computable implementation of pullbacks, by introducing a new type-class
ChosenPullback. The non-computableHasPullbacksAlongandHasPullbackspredicates yield instances ofChosenPullbackusing global choice, but interestingly in the category of types every morphism has chosen pullbacks. Also, cartesian monoidal categories, morphisms to the terminal object and the product projections have chosen pullbacks. We prove thatChosenPullbackhas good closure properties, e.g., isos have chosen pullbacks, and composition of morphisms with chosen pullbacks have chosen pullbacks.Separately, we prove that pull-push along a morphism with chosen pullbacks gives the (cartesian) binary product of that morphism, seen as an object of a slice category, and any other object of the same slice category. In fact, we also prove the stronger statement, namely that the pull-push composition
(Over.ChosenPullback.pullback Z.hom) ⋙ (Over.map Z.hom)is naturally isomorphic to the right tensor product functor_ × YinOver X. This is going to be crucial in our mate-based approach to LCCCs.Also, using the calculus of mates we define certain natural isomorphisms involving
Over.starandOver.pullbackwhich will be used in defining the right adjoint to the pullback functor in the development of LCCCs.