416 B
416 B
Necessary laws
For ◎ to work like composition, we need join to hold the following properties:
join (join (F (F (F a))))=join (F (join (F (F a))))
- abusing notations denoting
join
by ⊙; this is equivalent to
(F ⊙ F) ⊙ F = F ⊙ (F ⊙ F)
- There exists
η :: a -> F a
s.t.
η⊙F=F=F⊙η