Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic properties of fiberwise orthogonal maps #1032

Closed
wants to merge 53 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
5d6796a
colocal types
fredrik-bakke Feb 18, 2024
d59f3cc
define fiberwise orthogonal maps
fredrik-bakke Feb 18, 2024
b257382
state basic properties
fredrik-bakke Feb 18, 2024
4dd5d46
split `postcomposition-dependent-functions` into core
fredrik-bakke Feb 18, 2024
94df330
add `retract-postcomp`
fredrik-bakke Feb 18, 2024
58db9c8
formalize `is-colocal-retract-map-is-colocal'`
fredrik-bakke Feb 18, 2024
63bb5d8
swap `X` and `Y`
fredrik-bakke Feb 18, 2024
bf2a47e
characterize fibers of `const`
fredrik-bakke Feb 19, 2024
4c8a01e
Merge branch 'master' into perp
fredrik-bakke Feb 19, 2024
f6bf5b2
fix link
fredrik-bakke Feb 19, 2024
77e310d
The fiber condition for orthogonal maps
fredrik-bakke Feb 19, 2024
f25da6e
some additions `null-types`
fredrik-bakke Feb 19, 2024
a4d7b93
another `Y` vs `X`
fredrik-bakke Feb 19, 2024
4046bb8
three typos
fredrik-bakke Feb 19, 2024
0ee0257
If `A` is a retract of `B` then `const S A` is a retract of `const S B`
fredrik-bakke Feb 20, 2024
764600a
`Y`-null types are closed under retracts
fredrik-bakke Feb 20, 2024
b0001b5
formatting fixes `foundation-core.coherently-invertible-maps`
fredrik-bakke Feb 20, 2024
b7d637d
null maps and families
fredrik-bakke Feb 20, 2024
699a3f5
add more variants of "A map is `Y`-null if and only if the terminal p…
fredrik-bakke Feb 20, 2024
b4e649c
equivalent formulations of fiberwise orthogonal maps
fredrik-bakke Feb 20, 2024
72b69d4
edits local maps
fredrik-bakke Feb 20, 2024
89a433e
Fiberwise orthogonality is preserved by homotopies
fredrik-bakke Feb 20, 2024
e1dfe97
Fiberwise orthogonal maps are orthogonal
fredrik-bakke Feb 20, 2024
9d83312
Equivalences are fiberwise orthogonal to every map
fredrik-bakke Feb 20, 2024
080179f
composition, left cancellation, and transposition of cartesian morphisms
fredrik-bakke Feb 20, 2024
10fd8f2
If the target and source of a morphism of arrows are equivalences the…
fredrik-bakke Feb 20, 2024
2f132da
products and coproducts of cartesian morphisms
fredrik-bakke Feb 20, 2024
90ccf0f
WIP fiberwise orthogonal maps
fredrik-bakke Feb 20, 2024
773547e
closure properties right class fiberwise orthogonal maps
fredrik-bakke Feb 21, 2024
9ac8f00
wording fiber condition orthogonal map
fredrik-bakke Feb 21, 2024
6b1d375
pre-commit
fredrik-bakke Feb 21, 2024
0a9cf46
fix some mistakes
fredrik-bakke Feb 22, 2024
1762a86
commuting triangles of morphisms of arrows
fredrik-bakke Feb 23, 2024
23d2b9d
small things
fredrik-bakke Feb 23, 2024
ff27d30
more operations on cartesian morphisms of arrows
fredrik-bakke Feb 23, 2024
ca9c2b9
triangle lemmas cartesian morphisms of arrows
fredrik-bakke Feb 24, 2024
70a4abd
fix link
fredrik-bakke Feb 24, 2024
099c564
revert typo fixes
fredrik-bakke Mar 2, 2024
ec8d784
revert some changes
fredrik-bakke Mar 2, 2024
53af08d
Merge branch 'master' into perp
fredrik-bakke Mar 2, 2024
1202edc
post merge pre-commit
fredrik-bakke Mar 2, 2024
1ac75f7
fix cyclic dependency
fredrik-bakke Mar 2, 2024
e86a41e
fix imports
fredrik-bakke Mar 2, 2024
25c16fb
Projections for the homotopy of cones obtained from the universal pro…
fredrik-bakke Mar 2, 2024
4774d6a
The vertical pullback homotopy pasting property
fredrik-bakke Mar 3, 2024
87ca222
The horizontal pullback homotopy pasting property
fredrik-bakke Mar 3, 2024
bb48df6
pre-commit
fredrik-bakke Mar 3, 2024
94543ae
chore
fredrik-bakke Mar 3, 2024
28df5a3
Lifting cartesian morphisms along lifts of the codomain
fredrik-bakke Mar 3, 2024
eba0e21
eh
fredrik-bakke Mar 3, 2024
1e98608
Merge branch 'master' into perp
fredrik-bakke Mar 20, 2024
6008674
remove bad versions of horizontal and vertical pullback pasting
fredrik-bakke Mar 20, 2024
6d68c9f
fixes null stuff
fredrik-bakke Mar 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions src/foundation-core/coherently-invertible-maps.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ coherence condition between the homotopies of the inverse, asking that the
following diagram commmutes

```text
S ·r f
--------->
f ∘ g ∘ f f.
--------->
f ·l R
S ·r f
--------->
f ∘ g ∘ f f.
--------->
f ·l R
```

We call such data a
Expand All @@ -54,14 +54,14 @@ and this additional coherence.
There is also the alternative coherence condition we could add

```text
R ·r g
--------->
g ∘ f ∘ g g.
--------->
g ·l S
R ·r g
--------->
g ∘ f ∘ g g.
--------->
g ·l S
```

We will colloquially refer to invertible maps equipped with this coherence for
We will colloquially refer to invertible maps equipped with this coherence as
_transpose coherently invertible maps_.

**Note.** Coherently invertible maps are referred to as
Expand Down Expand Up @@ -833,11 +833,11 @@ We begin by observing that `C` fits somewhere along the diagonal of this square
via the composite

```text
Sf
HgH ------> H⁻¹
f'gf' -----> fgf C f ----> f'.
------>
fR
Sf
HgH ------> H⁻¹
f'gf' ------> fgf C f ------> f'.
------>
fR
```

```agda
Expand Down Expand Up @@ -876,7 +876,7 @@ squares
| | | |
Sf' | | Sf f'R | | fR
∨ ∨ ∨ ∨
f' ---------> f f' ---------> f
f' ---------> f f' ---------> f.
H H
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ abstract

equiv-Π-equiv-family :
{l1 l2 l3 : Level} {I : UU l1} {A : I → UU l2} {B : I → UU l3}
(e : (i : I) → (A i)(B i)) → ((i : I) → A i) ≃ ((i : I) → B i)
(e : (i : I) → A i ≃ B i) → ((i : I) → A i) ≃ ((i : I) → B i)
pr1 (equiv-Π-equiv-family e) =
map-Π (λ i → map-equiv (e i))
pr2 (equiv-Π-equiv-family e) =
Expand Down
110 changes: 87 additions & 23 deletions src/foundation-core/pullbacks.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ open import foundation.identity-types
open import foundation.standard-pullbacks
open import foundation.universe-levels

open import foundation-core.commuting-triangles-of-maps
open import foundation-core.diagonal-maps-of-types
open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
Expand Down Expand Up @@ -127,9 +128,74 @@ module _
( universal-property-pullback-is-pullback f g c H)
```

### The homotopy of cones obtained from the universal property of pullbacks

```agda
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3}
(f : A → X) (g : B → X) {C : UU l4}
(c : cone f g C) (up : is-pullback f g c)
{l5 : Level} {C' : UU l5} (c' : cone f g C')
where

htpy-cone-gap-is-pullback :
htpy-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
htpy-cone-gap-is-pullback =
htpy-eq-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
( compute-gap-is-pullback f g c up c')

htpy-vertical-map-gap-is-pullback :
vertical-map-cone f g
( cone-map f g c (gap-is-pullback f g c up c')) ~
vertical-map-cone f g c'
htpy-vertical-map-gap-is-pullback =
htpy-vertical-map-htpy-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
( htpy-cone-gap-is-pullback)

htpy-horizontal-map-gap-is-pullback :
horizontal-map-cone f g
( cone-map f g c (gap-is-pullback f g c up c')) ~
horizontal-map-cone f g c'
htpy-horizontal-map-gap-is-pullback =
htpy-horizontal-map-htpy-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
( htpy-cone-gap-is-pullback)

coh-htpy-cone-gap-is-pullback :
coherence-htpy-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
( htpy-vertical-map-gap-is-pullback)
( htpy-horizontal-map-gap-is-pullback)
coh-htpy-cone-gap-is-pullback =
coh-htpy-cone f g
( cone-map f g c (gap-is-pullback f g c up c'))
( c')
( htpy-cone-gap-is-pullback)
```

## Properties

### Parallel pullback squares
### The standard pullbacks are pullbacks

```agda
module _
{l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {X : UU l3}
(f : A → X) (g : B → X)
where

is-pullback-standard-pullback : is-pullback f g (cone-standard-pullback f g)
is-pullback-standard-pullback = is-equiv-id
```

### Pullbacks are preserved under homotopies of parallel cones

```agda
module _
Expand Down Expand Up @@ -159,13 +225,13 @@ module _
{c : cone f g C} (c' : cone f' g' C)
(Hc : htpy-parallel-cone Hf Hg c c') →
is-pullback f' g' c' → is-pullback f g c
is-pullback-htpy {c} c' H is-pb-c' =
is-pullback-htpy {c} c' H pb-c' =
is-equiv-left-map-triangle
( gap f g c)
( map-equiv-standard-pullback-htpy Hf Hg)
( gap f' g' c')
( triangle-is-pullback-htpy H)
( is-pb-c')
( pb-c')
( is-equiv-map-equiv-standard-pullback-htpy Hf Hg)

abstract
Expand All @@ -192,13 +258,13 @@ abstract
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {C : UU l4}
(f : A → X) (g : B → X) (c : cone f g C) →
is-pullback f g c → is-pullback g f (swap-cone f g c)
is-pullback-swap-cone f g c is-pb-c =
is-pullback-swap-cone f g c pb-c =
is-equiv-left-map-triangle
( gap g f (swap-cone f g c))
( map-commutative-standard-pullback f g)
( gap f g c)
( triangle-map-commutative-standard-pullback f g c)
( is-pb-c)
( pb-c)
( is-equiv-map-commutative-standard-pullback f g)

abstract
Expand Down Expand Up @@ -285,14 +351,14 @@ module _
{l1 l2 l3 l4 l5 l6 : Level}
{A : UU l1} {B : UU l2} {C : UU l3} {X : UU l4} {Y : UU l5} {Z : UU l6}
(i : X → Y) (j : Y → Z) (h : C → Z)
(c : cone j h B) (d : cone i (vertical-map-cone j h c) A)
where

abstract
is-pullback-rectangle-is-pullback-left-square :
(c : cone j h B) (d : cone i (vertical-map-cone j h c) A) →
is-pullback j h c → is-pullback i (vertical-map-cone j h c) d →
is-pullback (j ∘ i) h (pasting-horizontal-cone i j h c d)
is-pullback-rectangle-is-pullback-left-square c d is-pb-c is-pb-d =
is-pullback-rectangle-is-pullback-left-square pb-c pb-d =
is-pullback-is-fiberwise-equiv-map-fiber-vertical-map-cone (j ∘ i) h
( pasting-horizontal-cone i j h c d)
( λ x →
Expand All @@ -312,22 +378,21 @@ module _
( i)
( vertical-map-cone j h c)
( d)
( is-pb-d)
( pb-d)
( x))
( is-fiberwise-equiv-map-fiber-vertical-map-cone-is-pullback
( j)
( h)
( c)
( is-pb-c)
( pb-c)
( i x)))

abstract
is-pullback-left-square-is-pullback-rectangle :
(c : cone j h B) (d : cone i (vertical-map-cone j h c) A) →
is-pullback j h c →
is-pullback (j ∘ i) h (pasting-horizontal-cone i j h c d) →
is-pullback i (vertical-map-cone j h c) d
is-pullback-left-square-is-pullback-rectangle c d is-pb-c is-pb-rect =
is-pullback-left-square-is-pullback-rectangle pb-c pb-rect =
is-pullback-is-fiberwise-equiv-map-fiber-vertical-map-cone i
( vertical-map-cone j h c)
( d)
Expand All @@ -348,13 +413,13 @@ module _
( j)
( h)
( c)
( is-pb-c)
( pb-c)
( i x))
( is-fiberwise-equiv-map-fiber-vertical-map-cone-is-pullback
( j ∘ i)
( h)
( pasting-horizontal-cone i j h c d)
( is-pb-rect)
( pb-rect)
( x)))
```

Expand All @@ -381,15 +446,15 @@ module _
{l1 l2 l3 l4 l5 l6 : Level}
{A : UU l1} {B : UU l2} {C : UU l3} {X : UU l4} {Y : UU l5} {Z : UU l6}
(f : C → Z) (g : Y → Z) (h : X → Y)
(c : cone f g B) (d : cone (horizontal-map-cone f g c) h A)
where

abstract
is-pullback-top-square-is-pullback-rectangle :
(c : cone f g B) (d : cone (horizontal-map-cone f g c) h A) →
is-pullback f g c →
is-pullback f (g ∘ h) (pasting-vertical-cone f g h c d) →
is-pullback (horizontal-map-cone f g c) h d
is-pullback-top-square-is-pullback-rectangle c d is-pb-c is-pb-dc =
is-pullback-top-square-is-pullback-rectangle pb-c pb-dc =
is-pullback-is-fiberwise-equiv-map-fiber-vertical-map-cone
( horizontal-map-cone f g c)
( h)
Expand All @@ -408,7 +473,7 @@ module _
( f)
( g)
( c)
( is-pb-c)
( pb-c)
( vertical-map-cone f g c x))
( is-equiv-top-is-equiv-bottom-square
( map-inv-compute-fiber-comp
Expand Down Expand Up @@ -437,17 +502,16 @@ module _
( is-fiberwise-equiv-map-fiber-vertical-map-cone-is-pullback f
( g ∘ h)
( pasting-vertical-cone f g h c d)
( is-pb-dc)
( pb-dc)
( vertical-map-cone f g c x)))
( x , refl))

abstract
is-pullback-rectangle-is-pullback-top-square :
(c : cone f g B) (d : cone (horizontal-map-cone f g c) h A) →
is-pullback f g c →
is-pullback (horizontal-map-cone f g c) h d →
is-pullback f (g ∘ h) (pasting-vertical-cone f g h c d)
is-pullback-rectangle-is-pullback-top-square c d is-pb-c is-pb-d =
is-pullback-rectangle-is-pullback-top-square pb-c pb-d =
is-pullback-is-fiberwise-equiv-map-fiber-vertical-map-cone
( f)
( g ∘ h)
Expand Down Expand Up @@ -491,14 +555,14 @@ module _
( f)
( g)
( c)
( is-pb-c)
( pb-c)
( x))
( λ t →
is-fiberwise-equiv-map-fiber-vertical-map-cone-is-pullback
( horizontal-map-cone f g c)
( h)
( d)
( is-pb-d)
( pb-d)
( pr1 t))))
```

Expand Down Expand Up @@ -639,13 +703,13 @@ module _
{l4 : Level} {C : UU l4} (c : cone f g C) →
is-pullback f g c →
is-pullback (map-product f g) (diagonal X) (fold-cone f g c)
is-pullback-fold-cone-is-pullback c is-pb-c =
is-pullback-fold-cone-is-pullback c pb-c =
is-equiv-left-map-triangle
( gap (map-product f g) (diagonal X) (fold-cone f g c))
( map-fold-cone-standard-pullback f g)
( gap f g c)
( triangle-map-fold-cone-standard-pullback f g c)
( is-pb-c)
( pb-c)
( is-equiv-map-fold-cone-standard-pullback f g)

abstract
Expand Down
55 changes: 54 additions & 1 deletion src/foundation-core/universal-property-pullbacks.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,59 @@ module _

## Properties

### The homotopy of cones obtained from the universal property of pullbacks

```agda
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3}
(f : A → X) (g : B → X) {C : UU l4}
(c : cone f g C) (up : universal-property-pullback f g c)
{l5 : Level} {C' : UU l5} (c' : cone f g C')
where

htpy-cone-map-universal-property-pullback :
htpy-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
htpy-cone-map-universal-property-pullback =
htpy-eq-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
( compute-map-universal-property-pullback f g c up c')

htpy-vertical-map-map-universal-property-pullback :
vertical-map-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c')) ~
vertical-map-cone f g c'
htpy-vertical-map-map-universal-property-pullback =
htpy-vertical-map-htpy-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
( htpy-cone-map-universal-property-pullback)

htpy-horizontal-map-map-universal-property-pullback :
horizontal-map-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c')) ~
horizontal-map-cone f g c'
htpy-horizontal-map-map-universal-property-pullback =
htpy-horizontal-map-htpy-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
( htpy-cone-map-universal-property-pullback)

coh-htpy-cone-map-universal-property-pullback :
coherence-htpy-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
( htpy-vertical-map-map-universal-property-pullback)
( htpy-horizontal-map-map-universal-property-pullback)
coh-htpy-cone-map-universal-property-pullback =
coh-htpy-cone f g
( cone-map f g c (map-universal-property-pullback f g c up c'))
( c')
( htpy-cone-map-universal-property-pullback)
```

### 3-for-2 property of pullbacks

Given two cones `c` and `c'` over a common cospan `f : A → X ← B : g`, and a map
Expand All @@ -70,7 +123,7 @@ between them `h` such that the diagram
/ \ / \
/ / \ \
/ / \ \
v v v v
∨ ∨ ∨ ∨
A --------> X <-------- B
f g
```
Expand Down
Loading
Loading