Skip to content

Commit 6969b19

Browse files
committed
add syntax
1 parent 2b4da0d commit 6969b19

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/structured-types/pointed-equivalences.lagda.md

+36
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,42 @@ module _
116116
preserves-point-comp-pointed-map
117117
( pointed-map-pointed-equiv f)
118118
( pointed-map-pointed-equiv e)
119+
120+
_∘e∗_ : (B ≃∗ C) → (A ≃∗ B) → (A ≃∗ C)
121+
_∘e∗_ = comp-pointed-equiv
122+
```
123+
124+
#### Pointed Equivalence Reasoning
125+
126+
The above allows use to use equaltional reasoning to construct pointed
127+
equivalences
128+
129+
Equivalences can be constructed by equational reasoning in the following way:
130+
131+
```text
132+
equivalence-reasoning
133+
X ≃∗ Y by pointed-equiv-1
134+
≃∗ Z by pointed-equiv-2
135+
≃∗ V by pointed-equiv-3
136+
```
137+
138+
The equivalence constructed in this way is `equiv-1 ∘e (equiv-2 ∘e equiv-3)`,
139+
i.e., the equivivalence is associated fully to the right.
140+
141+
```agda
142+
infixl 1 pointed-equivalence-reasoning_
143+
infixl 0 step-pointed-equivalence-reasoning
144+
145+
pointed-equivalence-reasoning_ :
146+
{l1 : Level} (X : Pointed-Type l1) → X ≃∗ X
147+
pointed-equivalence-reasoning X = id-pointed-equiv
148+
149+
step-pointed-equivalence-reasoning :
150+
{l1 l2 l3 : Level} {X : Pointed-Type l1} {Y : Pointed-Type l2} →
151+
(X ≃∗ Y) → (Z : Pointed-Type l3) → (Y ≃∗ Z) → (X ≃∗ Z)
152+
step-pointed-equivalence-reasoning e Z f = f ∘e∗ e
153+
154+
syntax step-pointed-equivalence-reasoning e Z f = e ≃∗ Z by f
119155
```
120156

121157
### Pointed isomorphisms

0 commit comments

Comments
 (0)