Skip to content

Commit 73a7aff

Browse files
committed
preservesConnectedLimitsOfShape_of_hasLimitsOfShape
1 parent ac204d4 commit 73a7aff

2 files changed

Lines changed: 101 additions & 11 deletions

File tree

Poly/UvPoly/Limits.lean

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/-
2+
Copyright (c) 2024 Sina Hazratpour. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Sina Hazratpour
5+
-/
6+
7+
import Poly.UvPoly.Basic
8+
9+
/-! We show that the polynomial functor preserve connected limits. -/
10+
11+
universe v₁ v₂ u₁ u₂
12+
13+
open CategoryTheory Category Limits Functor Adjunction Over ExponentiableMorphism
14+
LocallyCartesianClosed
15+
16+
namespace CategoryTheory
17+
18+
variable {C : Type u₁} [Category.{v₁} C]
19+
20+
instance forgetPreservesConnectedLimitsOfShape_of_hasLimitsOfShape {J : Type*} [SmallCategory J]
21+
[IsConnected J] [HasLimitsOfShape J C] {B : C} :
22+
PreservesLimitsOfShape J (forget B) := by
23+
apply preservesLimitOfShape_of_createsLimitsOfShape_and_hasLimitsOfShape
24+
25+
namespace UvPoly
26+
27+
variable {C : Type u₁} [Category.{v₁} C] [HasPullbacks C] [HasTerminal C] {E B : C}
28+
29+
instance foo : PreservesLimits (star E) :=
30+
forgetAdjStar E |>.rightAdjoint_preservesLimits
31+
32+
instance pushforward_preservesLimits (P : UvPoly E B) : PreservesLimits (pushforward P.p) :=
33+
(adj P.p).rightAdjoint_preservesLimits
34+
35+
instance preservesConnectedLimitsOfShape_of_hasLimitsOfShape {J : Type v₁} [SmallCategory J] [IsConnected J]
36+
[HasLimitsOfShape J C] (P : UvPoly E B) :
37+
PreservesLimitsOfShape J (P.functor) := by
38+
refine @comp_preservesLimitsOfShape _ _ _ _ (J:= J) _ _ _ (Over.star E)
39+
(pushforward P.p ⋙ forget B) ?_ ?_
40+
· apply forgetAdjStar E |>.rightAdjoint_preservesLimits |>.preservesLimitsOfShape (J:= J)
41+
· apply @comp_preservesLimitsOfShape _ _ _ _ (J:= J) _ _ _ (pushforward P.p) (forget B) ?_ ?_
42+
· apply P.pushforward_preservesLimits |>.preservesLimitsOfShape (J:= J)
43+
· apply forgetPreservesConnectedLimitsOfShape_of_hasLimitsOfShape
44+
45+
instance preservesConnectedLimitsOfShape_of_hasLimitsOfShape' {J : Type v₁} [SmallCategory J]
46+
[IsConnected J] [HasLimitsOfShape J C] (P : UvPoly E B) :
47+
PreservesLimitsOfShape J (P.functor) := by
48+
infer_instance
49+
50+
end UvPoly

lake-manifest.json

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
{"version": "1.1.0",
22
"packagesDir": ".lake/packages",
33
"packages":
4-
[{"url": "https://github.com/PatrickMassot/checkdecls.git",
4+
[{"url": "https://github.com/leanprover/doc-gen4",
5+
"type": "git",
6+
"subDir": null,
7+
"scope": "",
8+
"rev": "061dfa3b4207216f7c7a7f63e99421f551059687",
9+
"name": "«doc-gen4»",
10+
"manifestFile": "lake-manifest.json",
11+
"inputRev": "v4.22.0-rc3",
12+
"inherited": false,
13+
"configFile": "lakefile.lean"},
14+
{"url": "https://github.com/PatrickMassot/checkdecls.git",
515
"type": "git",
616
"subDir": null,
717
"scope": "",
@@ -31,6 +41,46 @@
3141
"inputRev": null,
3242
"inherited": false,
3343
"configFile": "lakefile.lean"},
44+
{"url": "https://github.com/mhuisi/lean4-cli",
45+
"type": "git",
46+
"subDir": null,
47+
"scope": "",
48+
"rev": "e22ed0883c7d7f9a7e294782b6b137b783715386",
49+
"name": "Cli",
50+
"manifestFile": "lake-manifest.json",
51+
"inputRev": "main",
52+
"inherited": true,
53+
"configFile": "lakefile.toml"},
54+
{"url": "https://github.com/fgdorais/lean4-unicode-basic",
55+
"type": "git",
56+
"subDir": null,
57+
"scope": "",
58+
"rev": "bb6eb5b25892aa968e9d35f6ef9ca5c6b896c16d",
59+
"name": "UnicodeBasic",
60+
"manifestFile": "lake-manifest.json",
61+
"inputRev": "main",
62+
"inherited": true,
63+
"configFile": "lakefile.lean"},
64+
{"url": "https://github.com/dupuisf/BibtexQuery",
65+
"type": "git",
66+
"subDir": null,
67+
"scope": "",
68+
"rev": "dbfe2b7630c5f7c5c1cf71e7747ffc0a30337f69",
69+
"name": "BibtexQuery",
70+
"manifestFile": "lake-manifest.json",
71+
"inputRev": "master",
72+
"inherited": true,
73+
"configFile": "lakefile.toml"},
74+
{"url": "https://github.com/acmepjz/md4lean",
75+
"type": "git",
76+
"subDir": null,
77+
"scope": "",
78+
"rev": "b16338c5c66f57ef5510d4334eb6fa4e2c6c8cd8",
79+
"name": "MD4Lean",
80+
"manifestFile": "lake-manifest.json",
81+
"inputRev": "main",
82+
"inherited": true,
83+
"configFile": "lakefile.lean"},
3484
{"url": "https://github.com/leanprover-community/plausible",
3585
"type": "git",
3686
"subDir": null,
@@ -100,16 +150,6 @@
100150
"manifestFile": "lake-manifest.json",
101151
"inputRev": "main",
102152
"inherited": true,
103-
"configFile": "lakefile.toml"},
104-
{"url": "https://github.com/leanprover/lean4-cli",
105-
"type": "git",
106-
"subDir": null,
107-
"scope": "leanprover",
108-
"rev": "e22ed0883c7d7f9a7e294782b6b137b783715386",
109-
"name": "Cli",
110-
"manifestFile": "lake-manifest.json",
111-
"inputRev": "main",
112-
"inherited": true,
113153
"configFile": "lakefile.toml"}],
114154
"name": "Poly",
115155
"lakeDir": ".lake"}

0 commit comments

Comments
 (0)