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

Rebase infrastructure for pushouts to span diagrams #885

Closed
wants to merge 288 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
288 commits
Select commit Hold shift + click to select a range
bd9dfea
work
EgbertRijke Dec 30, 2023
5339ec9
files
EgbertRijke Dec 30, 2023
fe97807
work
EgbertRijke Dec 31, 2023
a32d86f
edits
EgbertRijke Dec 31, 2023
899a968
new file
EgbertRijke Jan 1, 2024
f5417ba
fixing some titles
EgbertRijke Jan 1, 2024
cfeff75
renaming kernel span diagrams
EgbertRijke Jan 1, 2024
6ea5e9a
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 2, 2024
61d78f9
spans of pointed types
EgbertRijke Jan 2, 2024
74dd151
work towards pointed arrows and spans
EgbertRijke Jan 2, 2024
759fd83
work on pointed arrows
EgbertRijke Jan 3, 2024
486e8b6
refactor pointed homotopies
EgbertRijke Jan 4, 2024
668e435
exposition pointed homotopies
EgbertRijke Jan 4, 2024
6967509
further refactoring of pointed homotopies
EgbertRijke Jan 4, 2024
bcfac67
complete refactoring of pointed homotopies
EgbertRijke Jan 5, 2024
eb732ff
morphisms and equivalences of cocones under morphisms and equivalence…
EgbertRijke Jan 5, 2024
669fab3
refactor universal property pushout top/bottom universal property bot…
EgbertRijke Jan 5, 2024
89edd32
horizontal -> left; vertical -> right
EgbertRijke Jan 5, 2024
b398b94
Update src/foundation-core/extensions-spans.lagda.md
EgbertRijke Jan 5, 2024
05c7576
refactoring the flattening lemma
EgbertRijke Jan 5, 2024
f00ca65
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Jan 5, 2024
3f76272
Update src/foundation-core/extensions-span-diagrams.lagda.md
EgbertRijke Jan 5, 2024
ae377e0
Update src/foundation-core/extensions-span-diagrams.lagda.md
EgbertRijke Jan 5, 2024
fbaca6e
Update src/foundation-core/extensions-spans.lagda.md
EgbertRijke Jan 5, 2024
011e8e2
renaming file
EgbertRijke Jan 5, 2024
72609b6
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 5, 2024
699a100
refactoring flattening lemma
EgbertRijke Jan 6, 2024
5338099
complete refactoring of the flattening lemma
EgbertRijke Jan 7, 2024
af91eee
beginning to refactor pushouts
EgbertRijke Jan 7, 2024
ba7f286
pushouts
EgbertRijke Jan 9, 2024
c0a4b81
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 9, 2024
59ab9ac
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 10, 2024
96d7f36
resolving merge conflicts
EgbertRijke Jan 11, 2024
4f404a2
small changes
EgbertRijke Jan 11, 2024
5da39ef
small changes
EgbertRijke Jan 12, 2024
1c98886
editing informal text in pushouts
EgbertRijke Jan 12, 2024
a11afcd
cleaning up pushouts
EgbertRijke Jan 12, 2024
df9500e
refactoring flattening lemma
EgbertRijke Jan 13, 2024
fe85e9c
resolve merge conflicts
EgbertRijke Jan 13, 2024
a3ff21e
more refactoring flattening lemma
EgbertRijke Jan 13, 2024
a157bb6
refactor structure of type families over pushouts
EgbertRijke Jan 14, 2024
6480b78
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 14, 2024
5ec4b50
work
EgbertRijke Jan 15, 2024
ca9136c
changing variable name for span diagrams
EgbertRijke Jan 15, 2024
05c9dcf
small changes
EgbertRijke Jan 15, 2024
c8380ab
the structure of sections of type families over pushouts
EgbertRijke Jan 15, 2024
538711c
work
EgbertRijke Jan 16, 2024
284a76d
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 16, 2024
ce16cfc
work
EgbertRijke Jan 17, 2024
9407a54
explaining the disambiguation between spans and span diagrams
EgbertRijke Jan 17, 2024
156cf40
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 17, 2024
ab7d1e3
make pre-commit
EgbertRijke Jan 17, 2024
40b59bd
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 18, 2024
0a7d6e5
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Jan 18, 2024
41c25d2
equivalence of cocones under equivalent span diagrams
EgbertRijke Jan 18, 2024
9840f45
make pre-commit
EgbertRijke Jan 18, 2024
de0b66c
edits
EgbertRijke Jan 20, 2024
f0b793f
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Jan 20, 2024
d3ddcf8
edits
EgbertRijke Jan 22, 2024
70fff13
pulling changes from spans
EgbertRijke Jan 22, 2024
27fa4a2
make pre-commit
EgbertRijke Jan 22, 2024
3f8c659
minimal changes to make library compile
EgbertRijke Jan 22, 2024
894b4b4
fix all the broken links
EgbertRijke Jan 22, 2024
f869abe
note on equivalence reasoning
EgbertRijke Jan 22, 2024
6cd3516
make pre-commit
EgbertRijke Jan 22, 2024
06b01e0
expanding on the note on equivalence reasoning
EgbertRijke Jan 22, 2024
479ea44
refactoring cospans
EgbertRijke Jan 22, 2024
e39391a
minimally refactoring cospans
EgbertRijke Jan 22, 2024
7b5c8a6
typos in spans
EgbertRijke Jan 22, 2024
3873823
Agda fields in concept macros
EgbertRijke Jan 22, 2024
9354761
fix bugs
EgbertRijke Jan 22, 2024
d368bc8
make pre-commit
EgbertRijke Jan 22, 2024
e2e2389
factoring out opposite spans, permutations of spans on families of ty…
EgbertRijke Jan 23, 2024
18664cf
make pre-commit
EgbertRijke Jan 23, 2024
3040bc1
extensions of spans -> concatenations of spans
EgbertRijke Jan 23, 2024
332694e
fix links and Agda definitions in concept macros
EgbertRijke Jan 23, 2024
6f1fa36
make pre-commit
EgbertRijke Jan 23, 2024
3fe5820
Merge branch 'master' of github.com:UniMath/agda-unimath into spans-f…
EgbertRijke Jan 23, 2024
710cb45
Merge branch 'master' of github.com:UniMath/agda-unimath into spans-f…
EgbertRijke Jan 23, 2024
1140819
make pre-commit
EgbertRijke Jan 23, 2024
8fb74f9
factoring out the action of functions on cocones under span diagrams
EgbertRijke Jan 24, 2024
3888dd8
make pre-commit
EgbertRijke Jan 24, 2024
73398d4
notes'
EgbertRijke Jan 25, 2024
e97700c
resolve merge conflicts
EgbertRijke Jan 25, 2024
c4c68f0
resolve merge conflicts
EgbertRijke Jan 25, 2024
ba438fc
merge
EgbertRijke Jan 25, 2024
29de149
resolve merge conflicts'
EgbertRijke Jan 25, 2024
3b3213c
fix broken links
EgbertRijke Jan 25, 2024
c689506
fix pullbacks table
EgbertRijke Jan 25, 2024
63e30c6
Commuting square for cocone-map and morphisms of cocones under morphi…
EgbertRijke Jan 26, 2024
e3eb3d4
move file
EgbertRijke Jan 26, 2024
d387b07
pull all changes from spans-foundation
EgbertRijke Jan 26, 2024
3d3c9aa
removing extension files
EgbertRijke Jan 27, 2024
5c0862e
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Jan 27, 2024
bd42293
Merge branch 'master' of github.com:UniMath/agda-unimath into spans-f…
EgbertRijke Jan 27, 2024
82e32e0
explaining a thing about flattening of families of types over pushouts
EgbertRijke Jan 27, 2024
afbe831
merge conflicts
EgbertRijke Jan 27, 2024
526c82b
merge conflicts
EgbertRijke Jan 27, 2024
b36704c
integrating the latest changes into this PR
EgbertRijke Jan 27, 2024
5ab939e
first batch of comment resolutions
EgbertRijke Jan 28, 2024
8691b0d
merge conflicts
EgbertRijke Jan 28, 2024
99ffcd6
equivalences of spans and span diagrams of families of types
EgbertRijke Jan 28, 2024
9ce892b
morphisms of spans on families of types
EgbertRijke Jan 28, 2024
d5874ea
terminal spans on families of types
EgbertRijke Jan 28, 2024
f4d8960
dependent function types are terminal spans
EgbertRijke Jan 28, 2024
31e98c7
span-family-of-types -> span-type-family
EgbertRijke Jan 28, 2024
6a8b9ff
make pre-commit
EgbertRijke Jan 28, 2024
b519458
Merge branch 'master' of github.com:UniMath/agda-unimath into spans-f…
EgbertRijke Jan 28, 2024
5e0b3a3
minor edits and bugs
EgbertRijke Jan 28, 2024
f9ce11f
Merge branch 'master' of github.com:UniMath/agda-unimath into spans-f…
EgbertRijke Jan 28, 2024
4ac92bd
making two defs abstract
EgbertRijke Jan 28, 2024
7d7d480
Merge branch 'spans-foundation' into spans
EgbertRijke Jan 28, 2024
cf48d3e
typo
EgbertRijke Jan 28, 2024
8192f51
typo
EgbertRijke Jan 28, 2024
355c1af
work
EgbertRijke Jan 28, 2024
376c66a
expanding on the note on equivalence reasoning
EgbertRijke Jan 28, 2024
d220388
work
EgbertRijke Jan 28, 2024
0f36bab
typos
EgbertRijke Jan 28, 2024
ccb9989
period
EgbertRijke Jan 28, 2024
be6f7a9
Merge branch 'spans-foundation' into spans
EgbertRijke Jan 28, 2024
4f16210
resolve merge conflicts
EgbertRijke Jan 28, 2024
1c20822
revert change of section header in cospans
EgbertRijke Jan 28, 2024
5d0fbd8
pulling the files
EgbertRijke Jan 28, 2024
330c1af
reformatting morphisms pointed arrows
EgbertRijke Jan 28, 2024
d1c5088
merge conflict
EgbertRijke Jan 28, 2024
e21bb44
work
EgbertRijke Jan 29, 2024
e38c47c
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 4, 2024
fbadf2d
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 6, 2024
2eff63b
resolving merge conflicts
EgbertRijke Feb 6, 2024
30ccf98
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 6, 2024
7f52b7f
refactoring whiskering of pointed homotopies and pointed homotopies
EgbertRijke Feb 7, 2024
1fc1d19
modifications after the merge
EgbertRijke Feb 7, 2024
501880b
making more files compile
EgbertRijke Feb 7, 2024
5b83514
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 7, 2024
ac78d74
minor modifications
EgbertRijke Feb 7, 2024
8df5ff4
work on pointed homotopies
EgbertRijke Feb 8, 2024
bf18d94
add file about commuting triangles of pointed maps
EgbertRijke Feb 8, 2024
841a796
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 8, 2024
0632390
uniform and nonuniform pointed homotopies
EgbertRijke Feb 10, 2024
bf6e24c
pointed homotopies
EgbertRijke Feb 11, 2024
ca3ffb4
associativity of concatenation of pointed homotopies
EgbertRijke Feb 12, 2024
46834d5
refactoring the computation of the type of sections of evaluation of …
EgbertRijke Feb 12, 2024
b9ec308
refactor whiskering of pointed homotopies
EgbertRijke Feb 12, 2024
f6374ce
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 12, 2024
74cb639
commuting squares of pointed maps
EgbertRijke Feb 13, 2024
a5c654a
refactor pointed equivalences
EgbertRijke Feb 13, 2024
0dec914
refactor pointed equivalences
EgbertRijke Feb 13, 2024
ca9bc50
proof
EgbertRijke Feb 14, 2024
24b6d7b
work
EgbertRijke Feb 15, 2024
c7e124a
work on pointed equivalences
EgbertRijke Feb 26, 2024
0a159a3
cleanup pointed equivalences
EgbertRijke Feb 26, 2024
3442bc9
work on morphisms of pointed arrows
EgbertRijke Feb 26, 2024
20d6115
work on morphisms of pointed arrows
EgbertRijke Feb 27, 2024
36d77d9
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Feb 28, 2024
8e82d22
work
EgbertRijke Mar 1, 2024
88e5feb
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Mar 1, 2024
2228f6b
work
EgbertRijke Mar 1, 2024
3ee0c0e
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Mar 1, 2024
7586dda
resolve merge conflict
EgbertRijke Mar 3, 2024
1de5394
work
EgbertRijke Mar 5, 2024
8a0d972
whiskering of pointed homotopies
EgbertRijke Mar 5, 2024
bbd9f97
renaming whiskering of pointed homotopies with respect to composition
EgbertRijke Mar 5, 2024
626e354
pulling changes from spans
EgbertRijke Mar 5, 2024
1a7562b
making changes compatible with rest of library, up to synthetic hott
EgbertRijke Mar 5, 2024
05bdc81
moving files
EgbertRijke Mar 5, 2024
cc07eb7
some repairs in synthetic homotopy theory
EgbertRijke Mar 5, 2024
262572b
null
EgbertRijke Mar 5, 2024
2bc60d6
work
EgbertRijke Mar 6, 2024
3fa44e5
Merge branch 'spans' of github.com:EgbertRijke/agda-unimath into spans
EgbertRijke Mar 6, 2024
22e58c3
fixing smash products
EgbertRijke Mar 6, 2024
c59bf6e
everything compiles
EgbertRijke Mar 6, 2024
375d16d
make pre-commit
EgbertRijke Mar 6, 2024
b9eee83
adding file about pointed equivalences to fix missing link error
EgbertRijke Mar 6, 2024
780ee8e
adding file about pointed equivalences to fix missing link error
EgbertRijke Mar 6, 2024
bad9f16
make pre-commit
EgbertRijke Mar 6, 2024
66f71a6
name change for pointed type of cocones under pointed span diagrams
EgbertRijke Mar 6, 2024
0ce4ad5
adding new file on morphisms of twisted pointed arrows in order to fi…
EgbertRijke Mar 6, 2024
02c8dbf
factor out opposite pointed spans
EgbertRijke Mar 6, 2024
a2346ab
create new file on transposition pointed span diagrams in order to fi…
EgbertRijke Mar 6, 2024
931a98f
make pre-commit
EgbertRijke Mar 6, 2024
d14273e
adding Agda entries to concept macros
EgbertRijke Mar 6, 2024
2c55621
fix broken entries in concept macros
EgbertRijke Mar 6, 2024
3ce12ab
work
EgbertRijke Mar 7, 2024
ac225b4
whiskering of pointed 2-homotopies with respect to concatenation
EgbertRijke Mar 7, 2024
b8ccae0
the reflexive homotopy of morphisms of pointed arrows
EgbertRijke Mar 7, 2024
7544d3c
review comments
EgbertRijke Mar 7, 2024
85c97f0
review comments on pointed homotopies
EgbertRijke Mar 8, 2024
678dc82
make pre-commit
EgbertRijke Mar 8, 2024
d63be88
fix Cavallo's trick
EgbertRijke Mar 8, 2024
f981069
fix broken links
EgbertRijke Mar 8, 2024
caed77b
Merge branch 'master' of github.com:UniMath/agda-unimath into pointed
EgbertRijke Mar 8, 2024
e82eb9e
really fix broken links
EgbertRijke Mar 8, 2024
294f9cd
factoring out uniform pointed homotopies and pointed 2-homotopies
EgbertRijke Mar 8, 2024
734963f
fix missing Agda entry in concept macro
EgbertRijke Mar 8, 2024
a888f56
concatenation of pointed homotopies is a binary equivalence
EgbertRijke Mar 8, 2024
c80a035
shortening a lengthy coherence proof
EgbertRijke Mar 8, 2024
25627ff
concatenation of pointed 2-homotopies is a binary equivalence
EgbertRijke Mar 9, 2024
1022b00
torsoriality of homotopies of morphisms of pointed arrows
EgbertRijke Mar 9, 2024
92df156
cut off unfinished work
EgbertRijke Mar 9, 2024
a2cb069
refactoring long construction of the base point coherence of the righ…
EgbertRijke Mar 9, 2024
cfe3204
using span diagrams in null cocones
EgbertRijke Mar 9, 2024
1858236
review comments
EgbertRijke Mar 9, 2024
bb76498
review comments
EgbertRijke Mar 9, 2024
4d1ebcd
revised all review comments
EgbertRijke Mar 9, 2024
b0b482d
refactoring pointed isos
EgbertRijke Mar 9, 2024
d84cc36
comma
EgbertRijke Mar 9, 2024
b215898
revised wording
EgbertRijke Mar 9, 2024
432c6db
review comments
EgbertRijke Mar 9, 2024
d154d60
make pre-commit
EgbertRijke Mar 9, 2024
7ba9e27
Merge branch 'master' of github.com:UniMath/agda-unimath into pointed
EgbertRijke Mar 10, 2024
cf05eb9
Merge branch 'master' of github.com:UniMath/agda-unimath into pointed
EgbertRijke Mar 11, 2024
c60e6e3
addressing last comments
EgbertRijke Mar 11, 2024
04a3f6d
make pre-commit
EgbertRijke Mar 11, 2024
a724639
make pre-commit
EgbertRijke Mar 11, 2024
ce905ad
fix link
EgbertRijke Mar 11, 2024
c63634c
Merge branch 'master' of github.com:UniMath/agda-unimath into pointed
EgbertRijke Mar 11, 2024
073f7c0
Merge branch 'pointed' of github.com:EgbertRijke/agda-unimath into po…
EgbertRijke Mar 11, 2024
e12959b
merge conflicts
EgbertRijke Mar 11, 2024
d03da20
make pre-commit
EgbertRijke Mar 11, 2024
c9c1dca
review comments
EgbertRijke Mar 13, 2024
1166932
merge conflict
EgbertRijke Mar 13, 2024
b607cd7
Merge branch 'pointed' into spans
EgbertRijke Mar 13, 2024
9ce1295
merge conflicts
EgbertRijke Mar 13, 2024
a5a57c9
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Mar 15, 2024
98c1b01
work on flattening type families
EgbertRijke Mar 17, 2024
aa353af
add file
EgbertRijke Mar 17, 2024
ddde9ea
work
EgbertRijke Mar 18, 2024
bc93d28
work
EgbertRijke Mar 19, 2024
35b81e9
Fix imports
VojtechStep Mar 19, 2024
0da3854
`make-span`
VojtechStep Mar 19, 2024
bd8ca3b
Temporarily allow unsolved metas
VojtechStep Mar 19, 2024
0bf0093
Rebase cocones under pointed span diagrams to pointed span diagrams
VojtechStep Mar 19, 2024
e5f630d
Standard pointed pushouts
VojtechStep Mar 19, 2024
5662155
Bring back cofibers
VojtechStep Mar 19, 2024
2d8a563
Bring back wedges
VojtechStep Mar 19, 2024
80205ad
Bring back smash products
VojtechStep Mar 19, 2024
944fe14
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Mar 21, 2024
5141988
Merge pull request #5 from VojtechStep/spans
EgbertRijke Mar 21, 2024
041d016
dependent span diagrams
EgbertRijke Mar 21, 2024
7066eab
cartesian morphisms of arrows
EgbertRijke Mar 21, 2024
47cf8bd
base changes of span diagrams
EgbertRijke Mar 21, 2024
5c9a05f
infrastructure
EgbertRijke Mar 22, 2024
daf7a19
new files
EgbertRijke Mar 22, 2024
5ca02c2
make pre-commit
EgbertRijke Mar 22, 2024
2dce70a
make pre-commit
EgbertRijke Mar 22, 2024
9eaef8d
Merge branch 'master' of github.com:UniMath/agda-unimath into spans
EgbertRijke Mar 22, 2024
b0a319a
cartesian dependent span diagrams
EgbertRijke Mar 22, 2024
3cbc16f
flattening dependent span diagrams
EgbertRijke Mar 22, 2024
7700d5c
display
EgbertRijke Mar 22, 2024
44d26a3
cartesian dependent span diagrams
EgbertRijke Mar 22, 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
2 changes: 2 additions & 0 deletions src/foundation.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ open import foundation.equivalence-induction public
open import foundation.equivalence-relations public
open import foundation.equivalences public
open import foundation.equivalences-maybe public
open import foundation.equivalences-spans public
open import foundation.equivalences-towers public
open import foundation.exclusive-disjunction public
open import foundation.existential-quantification public
Expand Down Expand Up @@ -195,6 +196,7 @@ open import foundation.mere-equivalences public
open import foundation.monomorphisms public
open import foundation.morphisms-binary-relations public
open import foundation.morphisms-cospans public
open import foundation.morphisms-spans public
open import foundation.morphisms-towers public
open import foundation.multisubsets public
open import foundation.multivariable-correspondences public
Expand Down
110 changes: 110 additions & 0 deletions src/foundation/equivalences-spans.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Equivalences of spans

```agda
module foundation.equivalences-spans where
```

<details><summary>Imports</summary>

```agda
open import foundation.dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
open import foundation.morphisms-spans
open import foundation.spans
open import foundation.structure-identity-principle
open import foundation.univalence
open import foundation.universe-levels

open import foundation-core.commuting-triangles-of-maps
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.torsorial-type-families
```

</details>

## Idea

An **equivalence of (binary) spans with fixed domain and codomain** from a
[span](foundation.spans.md) `A <-f- S -g-> B` to a span `A <-h- T -k-> B`
consists of an [equivalence](foundation-core.equivalences.md) `e : S ≃ T`
[equipped with](foundation.structure.md) two homotopies `H : f ~ h ∘ e` and
`K : g ~ k ∘ e`. Equivalently, an equivalence of spans with fixed domain and
codomain is a
[morphism of spans with fixed domain and codomain](foundation.morphisms-spans.md)
of which the spanning map is an equivalence.

## Definitions

### Characterizing equality of spans

```agda
module _
{l1 l2 : Level} (l : Level) (A : UU l1) (B : UU l2)
where

equiv-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) → UU (l1 ⊔ l2 ⊔ l)
equiv-span-fixed-domain-codomain c d =
Σ ( spanning-type-span-fixed-domain-codomain c ≃
spanning-type-span-fixed-domain-codomain d)
( λ e →
coherence-hom-spanning-type-span-fixed-domain-codomain c d
( map-equiv e))

id-equiv-span-fixed-domain-codomain :
(c : span-fixed-domain-codomain l A B) →
equiv-span-fixed-domain-codomain c c
pr1 (id-equiv-span-fixed-domain-codomain c) = id-equiv
pr1 (pr2 (id-equiv-span-fixed-domain-codomain c)) = refl-htpy
pr2 (pr2 (id-equiv-span-fixed-domain-codomain c)) = refl-htpy

htpy-eq-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) →
c = d → equiv-span-fixed-domain-codomain c d
htpy-eq-span-fixed-domain-codomain c .c refl =
id-equiv-span-fixed-domain-codomain c

is-torsorial-equiv-span-fixed-domain-codomain :
(c : span-fixed-domain-codomain l A B) →
is-torsorial (equiv-span-fixed-domain-codomain c)
is-torsorial-equiv-span-fixed-domain-codomain c =
is-torsorial-Eq-structure
( λ X d e →
coherence-hom-spanning-type-span-fixed-domain-codomain c
( X , d)
( map-equiv e))
( is-torsorial-equiv (pr1 c))
( spanning-type-span-fixed-domain-codomain c , id-equiv)
( is-torsorial-Eq-structure
( λ _ f a →
coherence-triangle-maps (right-map-span-fixed-domain-codomain c) f id)
( is-torsorial-htpy (left-map-span-fixed-domain-codomain c))
( left-map-span-fixed-domain-codomain c , refl-htpy)
(is-torsorial-htpy (right-map-span-fixed-domain-codomain c)))

is-equiv-htpy-eq-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) →
is-equiv (htpy-eq-span-fixed-domain-codomain c d)
is-equiv-htpy-eq-span-fixed-domain-codomain c =
fundamental-theorem-id
( is-torsorial-equiv-span-fixed-domain-codomain c)
( htpy-eq-span-fixed-domain-codomain c)

extensionality-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) →
(c = d) ≃ (equiv-span-fixed-domain-codomain c d)
pr1 (extensionality-span-fixed-domain-codomain c d) =
htpy-eq-span-fixed-domain-codomain c d
pr2 (extensionality-span-fixed-domain-codomain c d) =
is-equiv-htpy-eq-span-fixed-domain-codomain c d

eq-equiv-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) →
equiv-span-fixed-domain-codomain c d → c = d
eq-equiv-span-fixed-domain-codomain c d =
map-inv-equiv (extensionality-span-fixed-domain-codomain c d)
```
117 changes: 117 additions & 0 deletions src/foundation/morphisms-spans.lagda.md
fredrik-bakke marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Morphisms of spans

```agda
module foundation.morphisms-spans where
```

<details><summary>Imports</summary>

```agda
open import foundation.cartesian-product-types
open import foundation.commuting-triangles-of-maps
open import foundation.dependent-pair-types
open import foundation.spans
open import foundation.universe-levels
```

</details>

## Idea

We consider four concepts of morphisms between spans, according to our different
concepts of spans:

- Morphisms of (binary) spans with fixed domain and codomain.
- Morphisms of (binary) spans.
- Morphisms of spans of a fixed family of types.
- Morphisms of spans of families of types indexed by a fixed indexing type.

### Morphisms of binary spans with fixed domain and codomain

A **morphism of spans with fixed domain and codomain** from a
fredrik-bakke marked this conversation as resolved.
Show resolved Hide resolved
[span](foundation.spans.md) `A <-f- S -g-> B` to a span `A <-h- T -k-> B`
consists of a map `w : S → T` [equipped](foundation.structure.md) with two
[homotopies](foundation-core.homotopies.md) witnessing that the diagram

```text
S
/ | \
f / | \ h
V | V
A |w B
∧ | ∧
h \ | / k
\ V /
T
```

[commutes](foundation.commuting-squares-of-maps.md).

### Morphisms of binary spans

A **morphism of spans** from a [span](foundation.spans.md) `A <-f- S -g-> B` to
a span `C <-h- T -k-> D` consists of maps `u : A → C`, `v : B → D`, and
`w : S → T` [equipped](foundation.structure.md) with two
[homotopies](foundation-core.homotopies.md) witnessing that the diagram

```text
f g
A <----- S -----> B
| | |
u | | w | v
V V V
C <----- T -----> D
h k
```

commutes.

### Morphisms of spans of families of types

The notion of **morphism of spans of (fixed) families of types** is the natural
generalization of the notion of morphisms of (fixed) families of types.

## Definitions

### Morphisms between (binary) spans with fixed domain and codomain

The notion of morphism of spans `c` and `d` with fixed domain and codomain is a
map between their domains so that the triangles on either side commute:

```text
A ===== A
∧ ∧
| |
C ----> D
| |
v v
B ===== B
```

```agda
module _
{l1 l2 : Level} {l : Level} {A : UU l1} {B : UU l2}
where

coherence-hom-spanning-type-span-fixed-domain-codomain :
(c d : span-fixed-domain-codomain l A B) →
( spanning-type-span-fixed-domain-codomain c →
spanning-type-span-fixed-domain-codomain d) →
UU (l1 ⊔ l2 ⊔ l)
coherence-hom-spanning-type-span-fixed-domain-codomain c d h =
( coherence-triangle-maps
( left-map-span-fixed-domain-codomain c)
( left-map-span-fixed-domain-codomain d)
( h)) ×
( coherence-triangle-maps
( right-map-span-fixed-domain-codomain c)
( right-map-span-fixed-domain-codomain d)
( h))

hom-spanning-type-span-fixed-domain-codomain :
( c d : span-fixed-domain-codomain l A B) → UU (l1 ⊔ l2 ⊔ l)
hom-spanning-type-span-fixed-domain-codomain c d =
Σ ( spanning-type-span-fixed-domain-codomain c →
spanning-type-span-fixed-domain-codomain d)
( coherence-hom-spanning-type-span-fixed-domain-codomain c d)
```
Loading