@@ -1464,10 +1464,10 @@ face for the [square] at the start of this section.
14641464[square]: 1Lab.Path.html#composition
14651465
14661466```agda
1467- _··_·· _ : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
1467+ _∙∙_∙∙ _ : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
14681468 → w ≡ x → x ≡ y → y ≡ z
14691469 → w ≡ z
1470- (p ·· q ·· r) i = hcomp (∂ i) sys module ·· -sys where
1470+ (p ∙∙ q ∙∙ r) i = hcomp (∂ i) sys module ∙∙ -sys where
14711471 sys : ∀ j → Partial (∂ i ∨ ~ j) _
14721472 sys j (i = i0) = p (~ j)
14731473 sys j (i = i1) = r j
@@ -1476,21 +1476,21 @@ _··_··_ : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
14761476
14771477<!--
14781478```agda
1479- {-# DISPLAY hcomp _ (·· -sys.sys {ℓ} {A} {w} {x} {y} {z} p q r i) = _··_·· _ {ℓ} {A} {w} {x} {y} {z} p q r i #-}
1479+ {-# DISPLAY hcomp _ (∙∙ -sys.sys {ℓ} {A} {w} {x} {y} {z} p q r i) = _∙∙_∙∙ _ {ℓ} {A} {w} {x} {y} {z} p q r i #-}
14801480```
14811481-->
14821482
14831483Since it will be useful later, we also give an explicit name for the
14841484*filler* of the double composition square. Since `Square`{.Agda}
14851485expresses an equation between paths, we can read the type of
1486- `·· -filler`{.Agda} as saying that $p\inv \cdot (p \dcomp q \dcomp r) = q
1486+ `∙∙ -filler`{.Agda} as saying that $p\inv \cdot (p \dcomp q \dcomp r) = q
14871487\cdot r$.
14881488
14891489```agda
1490- ·· -filler : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
1490+ ∙∙ -filler : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
14911491 → (p : w ≡ x) (q : x ≡ y) (r : y ≡ z)
1492- → Square (sym p) q (p ·· q ·· r) r
1493- ·· -filler p q r i j = hfill (∂ j) i λ where
1492+ → Square (sym p) q (p ∙∙ q ∙∙ r) r
1493+ ∙∙ -filler p q r i j = hfill (∂ j) i λ where
14941494 k (j = i0) → p (~ k)
14951495 k (j = i1) → r k
14961496 k (k = i0) → q j
@@ -1525,12 +1525,12 @@ for the single composition, whose type we read as saying that $\refl
15251525```agda
15261526_∙_
15271527 : ∀ {ℓ} {A : Type ℓ} {x y z : A} → x ≡ y → y ≡ z → x ≡ z
1528- p ∙ q = refl ·· p ·· q
1528+ p ∙ q = refl ∙∙ p ∙∙ q
15291529
15301530∙-filler
15311531 : ∀ {ℓ} {A : Type ℓ} {x y z : A}
15321532 → (p : x ≡ y) (q : y ≡ z) → Square refl p (p ∙ q) q
1533- ∙-filler {x = x} {y} {z} p q = ·· -filler refl p q
1533+ ∙-filler {x = x} {y} {z} p q = ∙∙ -filler refl p q
15341534
15351535infixr 30 _∙_
15361536```
@@ -1692,7 +1692,7 @@ answer, fortunately, is no: we can show that any triple of paths has a
16921692*square* whose boundary includes the two *lines* we're comparing.
16931693
16941694```agda
1695- ·· -unique
1695+ ∙∙ -unique
16961696 : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
16971697 → (p : w ≡ x) (q : x ≡ y) (r : y ≡ z)
16981698 → (α β : Σ[ s ∈ (w ≡ z) ] Square (sym p) q s r)
@@ -1706,7 +1706,7 @@ Note that the proof of this involves filling a cube in a context that
17061706*already* has an interval variable in scope - a hypercube!
17071707
17081708```agda
1709- ·· -unique {w = w} {x} {y} {z} p q r (α , α-fill) (β , β-fill) =
1709+ ∙∙ -unique {w = w} {x} {y} {z} p q r (α , α-fill) (β , β-fill) =
17101710 λ i → (λ j → square i j) , (λ j k → cube i j k)
17111711 where
17121712 cube : (i j : I) → p (~ j) ≡ r j
@@ -1783,17 +1783,17 @@ edges going up rather than down. This is to match the direction of the
178317833D diagram above. The colours are also matching.
17841784
17851785Readers who are already familiar with the notion of h-level will have
1786- noticed that the proof `·· -unique`{.Agda} expresses that the type of
1787- double composites `p ·· q ·· r` is a _proposition_, not that it is
1788- contractible. However, since it is inhabited (by `_··_·· _`{.Agda} and
1786+ noticed that the proof `∙∙ -unique`{.Agda} expresses that the type of
1787+ double composites `p ∙∙ q ∙∙ r` is a _proposition_, not that it is
1788+ contractible. However, since it is inhabited (by `_∙∙_∙∙ _`{.Agda} and
17891789its filler), it is contractible:
17901790
17911791```agda
1792- ·· -contract : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
1792+ ∙∙ -contract : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
17931793 → (p : w ≡ x) (q : x ≡ y) (r : y ≡ z)
17941794 → (β : Σ[ s ∈ (w ≡ z) ] Square (sym p) q s r)
1795- → (p ·· q ·· r , ·· -filler p q r) ≡ β
1796- ·· -contract p q r β = ·· -unique p q r _ β
1795+ → (p ∙∙ q ∙∙ r , ∙∙ -filler p q r) ≡ β
1796+ ∙∙ -contract p q r β = ∙∙ -unique p q r _ β
17971797```
17981798
17991799<!--
@@ -1804,13 +1804,13 @@ its filler), it is contractible:
18041804 → Square refl p r q
18051805 → r ≡ p ∙ q
18061806∙-unique {p = p} {q} r square i =
1807- ·· -unique refl p q (_ , square) (_ , (∙-filler p q)) i .fst
1807+ ∙∙ -unique refl p q (_ , square) (_ , (∙-filler p q)) i .fst
18081808
1809- ·· -unique' : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
1809+ ∙∙ -unique' : ∀ {ℓ} {A : Type ℓ} {w x y z : A}
18101810 → {p : w ≡ x} {q : x ≡ y} {r : y ≡ z} {s : w ≡ z}
18111811 → (β : Square (sym p) q s r)
1812- → s ≡ p ·· q ·· r
1813- ·· -unique' β i = ·· -contract _ _ _ (_ , β) (~ i) .fst
1812+ → s ≡ p ∙∙ q ∙∙ r
1813+ ∙∙ -unique' β i = ∙∙ -contract _ _ _ (_ , β) (~ i) .fst
18141814```
18151815-->
18161816
@@ -1850,7 +1850,7 @@ ap-square f α i j = f (α i j)
18501850
18511851Despite the nightmare type (to allow `f` to be a dependent function),
18521852the definition is just as straightforward as that of `ap`{.Agda}. Using
1853- this with `·· filler`{.Agda}, we get a square with boundary
1853+ this with `∙∙ filler`{.Agda}, we get a square with boundary
18541854
18551855~~~{.quiver}
18561856\[\begin{tikzcd}[ampersand replacement=\&]
@@ -1864,19 +1864,19 @@ this with `··filler`{.Agda}, we get a square with boundary
18641864\end{tikzcd}\]
18651865~~~
18661866
1867- but note that our lemma `·· -unique'`{.Agda} says precisely that, for
1867+ but note that our lemma `∙∙ -unique'`{.Agda} says precisely that, for
18681868every square with this boundary, we can get a square connecting the red
18691869path $\ap{f}{(p \dcomp q \dcomp r)}$ and the composition $\ap{f}{p} \dcomp
18701870\ap{f}{q} \dcomp \ap{f}{r}$.
18711871
18721872```agda
1873- ap-·· : (f : A → B) {x y z w : A} (p : x ≡ y) (q : y ≡ z) (r : z ≡ w)
1874- → ap f (p ·· q ·· r) ≡ ap f p ·· ap f q ·· ap f r
1875- ap-·· f p q r = ·· -unique' (ap-square f (·· -filler p q r))
1873+ ap-∙∙ : (f : A → B) {x y z w : A} (p : x ≡ y) (q : y ≡ z) (r : z ≡ w)
1874+ → ap f (p ∙∙ q ∙∙ r) ≡ ap f p ∙∙ ap f q ∙∙ ap f r
1875+ ap-∙∙ f p q r = ∙∙ -unique' (ap-square f (∙∙ -filler p q r))
18761876
18771877ap-∙ : (f : A → B) {x y z : A} (p : x ≡ y) (q : y ≡ z)
18781878 → ap f (p ∙ q) ≡ ap f p ∙ ap f q
1879- ap-∙ f p q = ap-·· f refl p q
1879+ ap-∙ f p q = ap-∙∙ f refl p q
18801880```
18811881
18821882## Dependent paths, continued
@@ -2079,7 +2079,7 @@ with weird names are defined:
20792079 → (q : x ≡ y)
20802080 → (r : y ≡ z)
20812081 → w ≡ z
2082- ≡⟨⟩≡⟨⟩-syntax w x p q r = p ·· q ·· r
2082+ ≡⟨⟩≡⟨⟩-syntax w x p q r = p ∙∙ q ∙∙ r
20832083
20842084infixr 2 ≡⟨⟩-syntax
20852085syntax ≡⟨⟩-syntax x q p = x ≡⟨ p ⟩ q
@@ -2233,7 +2233,7 @@ double-composite
22332233 : ∀ {ℓ} {A : Type ℓ}
22342234 → {x y z w : A}
22352235 → (p : x ≡ y) (q : y ≡ z) (r : z ≡ w)
2236- → p ·· q ·· r ≡ p ∙ q ∙ r
2236+ → p ∙∙ q ∙∙ r ≡ p ∙ q ∙ r
22372237double-composite p q r i j =
22382238 hcomp (i ∨ ∂ j) λ where
22392239 k (i = i1) → ∙-filler' p (q ∙ r) k j
@@ -2265,7 +2265,7 @@ to adjust the path by a bunch of transports:
22652265
22662266```agda
22672267 where
2268- lemma : _ ≡ (sym left ·· p ·· right)
2268+ lemma : _ ≡ (sym left ∙∙ p ∙∙ right)
22692269 lemma i j = hcomp (~ i ∨ ∂ j) λ where
22702270 k (k = i0) → transp (λ j → A) i (p j)
22712271 k (i = i0) → hfill (∂ j) k λ where
@@ -2339,10 +2339,10 @@ infixl 32 _▷_
23392339Square≡double-composite-path : ∀ {ℓ} {A : Type ℓ}
23402340 → {w x y z : A}
23412341 → {p : x ≡ w} {q : x ≡ y} {s : w ≡ z} {r : y ≡ z}
2342- → Square p q s r ≡ (sym p ·· q ·· r ≡ s)
2342+ → Square p q s r ≡ (sym p ∙∙ q ∙∙ r ≡ s)
23432343Square≡double-composite-path {p = p} {q} {s} {r} k =
23442344 PathP (λ i → p (i ∨ k) ≡ r (i ∨ k))
2345- (·· -filler (sym p) q r k) s
2345+ (∙∙ -filler (sym p) q r k) s
23462346
23472347J' : ∀ {ℓ₁ ℓ₂} {A : Type ℓ₁}
23482348 (P : (x y : A) → x ≡ y → Type ℓ₂)
0 commit comments