Skip to content
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0f598da
multivariable loop spaces
fredrik-bakke Nov 3, 2025
2a52780
pre-commit
fredrik-bakke Nov 3, 2025
11d2280
cleanup
fredrik-bakke Nov 3, 2025
3ad8d6c
edit
fredrik-bakke Nov 3, 2025
ca811b3
edit
fredrik-bakke Nov 4, 2025
e88efe7
One-sided invertibility of left and right multiplication in multivari…
fredrik-bakke Nov 4, 2025
c65104b
import
fredrik-bakke Nov 4, 2025
a4d0fc4
reference
fredrik-bakke Nov 4, 2025
f2a8ef5
edit
fredrik-bakke Nov 5, 2025
0ee6f72
invertibility of multivariable loop spaces
fredrik-bakke Nov 5, 2025
1c2a2d2
fix link
fredrik-bakke Nov 5, 2025
8cfabcb
$Ω_{ΣI}(A) ≃ Ω_I(Ω(A))$
fredrik-bakke Nov 5, 2025
20901b8
move a section
fredrik-bakke Nov 5, 2025
5e900de
idea
fredrik-bakke Nov 5, 2025
d75d5d1
work
fredrik-bakke Nov 6, 2025
b56a9c7
Merge branch 'master' into loop
fredrik-bakke Nov 7, 2025
9d63522
If `I` is pointed then `I`-ary loops are pointed equivalent to pointe…
fredrik-bakke Nov 7, 2025
34300cb
pre-commit
fredrik-bakke Nov 7, 2025
cb05c59
edits
fredrik-bakke Nov 7, 2025
394ac4d
imports
fredrik-bakke Nov 7, 2025
a35d142
fix reasoning syntax
fredrik-bakke Nov 7, 2025
823f20d
pre-commit
fredrik-bakke Nov 7, 2025
b1512d4
explain arity
fredrik-bakke Nov 7, 2025
9cf1a96
∅-ary loops
fredrik-bakke Nov 7, 2025
34edbb2
Truncatedness of `I`-ary loops
fredrik-bakke Nov 8, 2025
c3ad674
Merge branch 'master' into loop
fredrik-bakke Nov 12, 2025
2a87f02
Merge branch 'master' of github.com:UniMath/agda-unimath into loop
EgbertRijke May 5, 2026
7ada1e3
small edits
EgbertRijke May 5, 2026
4a00648
edits
EgbertRijke May 5, 2026
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
1 change: 1 addition & 0 deletions docs/tables/loop-spaces-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@
| Functoriality of loop spaces | [`synthetic-homotopy-theory.functoriality-loop-spaces`](synthetic-homotopy-theory.functoriality-loop-spaces.md) |
| Groups of loops in 1-types | [`synthetic-homotopy-theory.groups-of-loops-in-1-types`](synthetic-homotopy-theory.groups-of-loops-in-1-types.md) |
| Iterated loop spaces | [`synthetic-homotopy-theory.iterated-loop-spaces`](synthetic-homotopy-theory.iterated-loop-spaces.md) |
| Multivariable loop spaces | [`synthetic-homotopy-theory.multivariable-loop-spaces`](synthetic-homotopy-theory.multivariable-loop-spaces.md) |
| Powers of loops | [`synthetic-homotopy-theory.powers-of-loops`](synthetic-homotopy-theory.powers-of-loops.md) |
| Triple loop spaces | [`synthetic-homotopy-theory.triple-loop-spaces`](synthetic-homotopy-theory.triple-loop-spaces.md) |
1 change: 1 addition & 0 deletions src/structured-types.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ open import structured-types.involutive-type-of-h-space-structures public
open import structured-types.involutive-types public
open import structured-types.iterated-cartesian-products-types-equipped-with-endomorphisms public
open import structured-types.iterated-pointed-cartesian-product-types public
open import structured-types.left-invertible-magmas public
open import structured-types.magmas public
open import structured-types.medial-magmas public
open import structured-types.mere-equivalences-types-equipped-with-endomorphisms public
Expand Down
52 changes: 52 additions & 0 deletions src/structured-types/left-invertible-magmas.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Left-invertible magmas

```agda
module structured-types.left-invertible-magmas where
```

<details><summary>Imports</summary>

```agda
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.propositions
open import foundation.universe-levels

open import structured-types.magmas
```

</details>

## Idea

A [magma](structured-types.magmas.md) `A` is
{{#concept "left-invertible" Disambiguation="magma" Agda=is-left-invertible-Magma}}
if the multiplication map `μ(a,-) : A → A` is an
[equivalence](foundation-core.equivalences.md) for every `a : A`. In other
words, if multiplying by a fixed element on the left is always an equivalence.

Left-invertibility appears as Definition 2.1(4) of {{#cite BCFR23}} in the
context of [H-spaces](structured-types.h-spaces.md).

## Definition

```agda
module _
{l : Level} (A : Magma l)
where

is-left-invertible-Magma : UU l
is-left-invertible-Magma = (a : type-Magma A) → is-equiv (mul-Magma A a)

is-prop-is-left-invertible-Magma : is-prop is-left-invertible-Magma
is-prop-is-left-invertible-Magma =
is-prop-Π (λ a → is-property-is-equiv (mul-Magma A a))

is-left-invertible-prop-Magma : Prop l
is-left-invertible-prop-Magma =
( is-left-invertible-Magma , is-prop-is-left-invertible-Magma)
```

## References

{{#bibliography}}
1 change: 1 addition & 0 deletions src/synthetic-homotopy-theory.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ open import synthetic-homotopy-theory.morphisms-descent-data-circle public
open import synthetic-homotopy-theory.morphisms-descent-data-pushouts public
open import synthetic-homotopy-theory.morphisms-sequential-diagrams public
open import synthetic-homotopy-theory.multiplication-circle public
open import synthetic-homotopy-theory.multivariable-loop-spaces public
open import synthetic-homotopy-theory.null-cocones-under-pointed-span-diagrams public
open import synthetic-homotopy-theory.plus-principle public
open import synthetic-homotopy-theory.powers-of-loops public
Expand Down
11 changes: 11 additions & 0 deletions src/synthetic-homotopy-theory/cofibers-of-maps.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,12 @@ module _
universal-property-pushout f (terminal-map A) cocone-cofiber
universal-property-cofiber = up-pushout f (terminal-map A)

equiv-up-cofiber :
{l : Level} (X : UU l) → (cofiber → X) ≃ cocone f (terminal-map A) X
equiv-up-cofiber X =
( cocone-map f (terminal-map A) cocone-cofiber ,
universal-property-cofiber X)

dependent-universal-property-cofiber :
dependent-universal-property-pushout f (terminal-map A) cocone-cofiber
dependent-universal-property-cofiber = dup-pushout f (terminal-map A)
Expand All @@ -76,6 +82,11 @@ module _
{l : Level} {X : UU l} → cocone f (terminal-map A) X → cofiber → X
cogap-cofiber = cogap f (terminal-map A)

equiv-cogap-cofiber :
{l : Level} (X : UU l) → cocone f (terminal-map A) X ≃ (cofiber → X)
equiv-cogap-cofiber X =
( cogap-cofiber , is-equiv-map-inv-is-equiv (universal-property-cofiber X))

dependent-cogap-cofiber :
{l : Level} {P : cofiber → UU l}
(c : dependent-cocone f (terminal-map A) (cocone-cofiber) P)
Expand Down
Loading
Loading