@@ -21,6 +21,8 @@ open import foundation-core.equivalences
2121open import foundation-core.fibers-of-maps
2222open import foundation-core.function-types
2323open import foundation-core.homotopies
24+ open import foundation-core.retractions
25+ open import foundation-core.sections
2426```
2527
2628</details >
@@ -58,6 +60,20 @@ mac-lane-pentagon :
5860mac-lane-pentagon refl refl refl refl = refl
5961```
6062
63+ ### Conjugation by the right unit law
64+
65+ ``` agda
66+ module _
67+ {l1 : Level} {A : UU l1}
68+ where
69+
70+ conjugate-right-unit :
71+ {x y : A} {p q : x = y} (s : p = q) →
72+ inv right-unit ∙ ap (_∙ refl) s ∙ right-unit = s
73+ conjugate-right-unit refl =
74+ ap (_∙ right-unit) right-unit ∙ left-inv right-unit
75+ ```
76+
6177### The groupoidal operations on identity types are equivalences
6278
6379``` agda
@@ -180,10 +196,24 @@ module _
180196 where
181197
182198 is-section-is-injective-concat :
183- {x y z : A} (p : x = y) {q r : y = z} (s : (p ∙ q) = (p ∙ r)) →
184- ap (concat p z) (is-injective-concat p s) = s
199+ {x y z : A} (p : x = y) {q r : y = z} →
200+ is-section ( ap (concat p z)) (is-injective-concat p {q} {r})
185201 is-section-is-injective-concat refl refl = refl
186202
203+ is-retraction-is-injective-concat :
204+ {x y z : A} (p : x = y) {q r : y = z} →
205+ is-retraction (ap (concat p z)) (is-injective-concat p {q} {r})
206+ is-retraction-is-injective-concat refl refl = refl
207+
208+ is-equiv-is-injective-concat :
209+ {x y z : A} (p : x = y) {q r : y = z} →
210+ is-equiv (is-injective-concat p {q} {r})
211+ is-equiv-is-injective-concat {z = z} p =
212+ is-equiv-is-invertible
213+ ( ap (concat p z))
214+ ( is-retraction-is-injective-concat p)
215+ ( is-section-is-injective-concat p)
216+
187217 cases-is-section-is-injective-concat' :
188218 {x y : A} {p q : x = y} (s : p = q) →
189219 ( ap
@@ -192,31 +222,46 @@ module _
192222 ( right-unit ∙ (s ∙ inv right-unit))
193223 cases-is-section-is-injective-concat' {p = refl} refl = refl
194224
195- is-section-is-injective-concat' :
196- {x y z : A} (r : y = z) {p q : x = y} (s : (p ∙ r) = (q ∙ r)) →
197- ap (concat' x r) (is-injective-concat' r s) = s
198- is-section-is-injective-concat' refl s =
199- ( ap (λ u → ap (concat' _ refl) (is-injective-concat' refl u)) (inv α)) ∙
200- ( ( cases-is-section-is-injective-concat'
201- ( inv right-unit ∙ (s ∙ right-unit))) ∙
202- ( α))
203- where
204- α :
205- ( ( right-unit) ∙
206- ( ( inv right-unit ∙ (s ∙ right-unit)) ∙
207- ( inv right-unit))) =
208- ( s)
209- α =
210- ( ap
211- ( concat right-unit _)
212- ( ( assoc (inv right-unit) (s ∙ right-unit) (inv right-unit)) ∙
213- ( ( ap
214- ( concat (inv right-unit) _)
225+ abstract
226+ is-section-is-injective-concat' :
227+ {x y z : A} (r : y = z) {p q : x = y} →
228+ is-section (ap (concat' x r)) (is-injective-concat' r {p} {q})
229+ is-section-is-injective-concat' refl {p} {q} s =
230+ ( ap (λ u → ap (concat' _ refl) (is-injective-concat' refl u)) (inv α)) ∙
231+ ( ( cases-is-section-is-injective-concat'
232+ ( inv right-unit ∙ (s ∙ right-unit))) ∙
233+ ( α))
234+ where
235+ α :
236+ ( ( right-unit) ∙
237+ ( ( inv right-unit ∙ (s ∙ right-unit)) ∙
238+ ( inv right-unit))) =
239+ ( s)
240+ α =
241+ ( ap
242+ ( concat right-unit (q ∙ refl))
243+ ( ( assoc (inv right-unit) (s ∙ right-unit) (inv right-unit)) ∙
244+ ( ap
245+ ( concat (inv right-unit) (q ∙ refl))
215246 ( ( assoc s right-unit (inv right-unit)) ∙
216- ( ( ap (concat s _) (right-inv right-unit)) ∙
217- ( right-unit))))))) ∙
218- ( ( inv (assoc right-unit (inv right-unit) s)) ∙
219- ( ( ap (concat' _ s) (right-inv right-unit))))
247+ ( ap (concat s (q ∙ refl)) (right-inv right-unit)) ∙
248+ ( right-unit))))) ∙
249+ ( inv (assoc right-unit (inv right-unit) s)) ∙
250+ ( ( ap (concat' (p ∙ refl) s) (right-inv right-unit)))
251+
252+ is-retraction-is-injective-concat' :
253+ {x y z : A} (r : y = z) {p q : x = y} →
254+ is-retraction (ap (concat' x r)) (is-injective-concat' r {p} {q})
255+ is-retraction-is-injective-concat' refl = conjugate-right-unit
256+
257+ is-equiv-is-injective-concat' :
258+ {x y z : A} (r : y = z) {p q : x = y} →
259+ is-equiv (is-injective-concat' r {p} {q})
260+ is-equiv-is-injective-concat' {x} r =
261+ is-equiv-is-invertible
262+ ( ap (concat' x r))
263+ ( is-retraction-is-injective-concat' r)
264+ ( is-section-is-injective-concat' r)
220265```
221266
222267### Applying the right unit law on one side of a higher identification is an equivalence
0 commit comments