@@ -10,12 +10,14 @@ open import foundation-core.transport public
10
10
11
11
``` agda
12
12
open import foundation.action-on-identifications-functions
13
+ open import foundation.commuting-squares-of-identifications
13
14
open import foundation.dependent-pair-types
15
+ open import foundation.homotopies
16
+ open import foundation.path-algebra
14
17
open import foundation.universe-levels
15
18
16
19
open import foundation-core.equivalences
17
20
open import foundation-core.function-types
18
- open import foundation-core.homotopies
19
21
open import foundation-core.identity-types
20
22
```
21
23
@@ -37,12 +39,19 @@ recorded in this file.
37
39
38
40
``` agda
39
41
module _
40
- {l1 l2 : Level} {A : UU l1} {a0 a1 : A} {p0 p1 : a0 = a1}
41
- (B : A → UU l2)
42
+ {l1 l2 : Level} {A : UU l1} {x y : A} {p p' : x = y}
42
43
where
43
44
44
- tr² : (α : p0 = p1) (b0 : B a0) → (tr B p0 b0) = (tr B p1 b0)
45
- tr² α b0 = ap (λ t → tr B t b0) α
45
+ tr² : (B : A → UU l2) (α : p = p') (b : B x) → (tr B p b) = (tr B p' b)
46
+ tr² B α b = ap (λ t → tr B t b) α
47
+
48
+ module _
49
+ {l1 l2 : Level} {A : UU l1} {x y : A} {p p' : x = y}
50
+ {α α' : p = p'}
51
+ where
52
+
53
+ tr³ : (B : A → UU l2) (β : α = α') (b : B x) → (tr² B α b) = (tr² B α' b)
54
+ tr³ B β b = ap (λ t → tr² B t b) β
46
55
```
47
56
48
57
## Properties
@@ -93,3 +102,92 @@ tr-subst :
93
102
tr B (ap f p) x' = tr (B ∘ f) p x'
94
103
tr-subst B f refl = refl
95
104
```
105
+
106
+ ### Coherences and algebraic identities for ` tr² `
107
+
108
+ ``` agda
109
+ module _
110
+ {l1 l2 : Level} {A : UU l1} {x y : A}
111
+ {B : A → UU l2}
112
+ where
113
+
114
+ tr²-concat :
115
+ {p p' p'' : x = y} (α : p = p') (α' : p' = p'') (b : B x) →
116
+ (tr² B (α ∙ α') b) = (tr² B α b ∙ tr² B α' b)
117
+ tr²-concat α α' b = ap-concat (λ t → tr B t b) α α'
118
+
119
+ module _
120
+ {l1 l2 : Level} {A : UU l1} {x y z : A}
121
+ {B : A → UU l2}
122
+ where
123
+
124
+ tr²-left-whisk :
125
+ (p : x = y) {q q' : y = z} (β : q = q') (b : B x) →
126
+ coherence-square-identifications
127
+ ( tr² B (identification-left-whisk p β) b)
128
+ ( tr-concat p q' b)
129
+ ( tr-concat p q b)
130
+ ( htpy-right-whisk (tr² B β) (tr B p) b)
131
+ tr²-left-whisk refl refl b = refl
132
+
133
+ tr²-right-whisk :
134
+ {p p' : x = y} (α : p = p') (q : y = z) (b : B x) →
135
+ coherence-square-identifications
136
+ ( tr² B (identification-right-whisk α q) b)
137
+ ( tr-concat p' q b)
138
+ ( tr-concat p q b)
139
+ ( htpy-left-whisk (tr B q) (tr² B α) b)
140
+ tr²-right-whisk refl refl b = inv right-unit
141
+ ```
142
+
143
+ #### Coherences and algebraic identities for ` tr³ `
144
+
145
+ ``` agda
146
+ module _
147
+ {l1 l2 : Level} {A : UU l1} {x y z : A}
148
+ {B : A → UU l2}
149
+ where
150
+
151
+ tr³-htpy-swap-path-swap :
152
+ {q q' : y = z} (β : q = q') {p p' : x = y} (α : p = p') (b : B x) →
153
+ coherence-square-identifications
154
+ ( identification-right-whisk
155
+ ( tr³
156
+ ( B)
157
+ ( path-swap-nat-identification-left-whisk β α)
158
+ ( b))
159
+ ( tr-concat p' q' b))
160
+ ( ( identification-right-whisk
161
+ ( tr²-concat
162
+ ( identification-right-whisk α q)
163
+ ( identification-left-whisk p' β) b)
164
+ ( tr-concat p' q' b)) ∙
165
+ ( vertical-concat-square
166
+ ( tr² B (identification-right-whisk α q) b)
167
+ ( tr² B (identification-left-whisk p' β) b)
168
+ ( tr-concat p' q' b)
169
+ ( tr-concat p' q b)
170
+ ( tr-concat p q b)
171
+ ( htpy-left-whisk (tr B q) (tr² B α) b)
172
+ ( htpy-right-whisk (tr² B β) (tr B p') b)
173
+ ( tr²-right-whisk α q b)
174
+ ( tr²-left-whisk p' β b)))
175
+ ( ( identification-right-whisk
176
+ ( tr²-concat (identification-left-whisk p β)
177
+ ( identification-right-whisk α q') b)
178
+ ( tr-concat p' q' b)) ∙
179
+ ( vertical-concat-square
180
+ ( tr² B (identification-left-whisk p β) b)
181
+ ( tr² B (identification-right-whisk α q') b)
182
+ ( tr-concat p' q' b)
183
+ ( tr-concat p q' b)
184
+ ( tr-concat p q b)
185
+ ( htpy-right-whisk (tr² B β) (tr B p) b)
186
+ ( htpy-left-whisk (tr B q') (tr² B α) b)
187
+ ( tr²-left-whisk p β b)
188
+ ( tr²-right-whisk α q' b)))
189
+ ( identification-left-whisk
190
+ ( tr-concat p q b)
191
+ ( htpy-swap-nat-right-htpy (tr² B β) (tr² B α) b))
192
+ tr³-htpy-swap-path-swap {q = refl} refl {p = refl} refl b = refl
193
+ ```
0 commit comments