diff options
author | Chloe Brown <chloe.brown.00@outlook.com> | 2025-06-25 16:49:11 +0100 |
---|---|---|
committer | Chloe Brown <chloe.brown.00@outlook.com> | 2025-06-25 16:49:11 +0100 |
commit | b1929bac3af5c9c8fc8a83e0d75edf98082cb7d2 (patch) | |
tree | 4b162809d34b2e33ab6a6ef2fac731b0da9ce999 /sec | |
parent | 4322f589008a1e7f6c9adbfb38c887acabb375c5 (diff) |
Fix 315--325.
Diffstat (limited to 'sec')
-rw-r--r-- | sec/lang.ltx | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sec/lang.ltx b/sec/lang.ltx index e4465fd..689a9bf 100644 --- a/sec/lang.ltx +++ b/sec/lang.ltx @@ -132,15 +132,10 @@ are standard, as are the rules for variables and let bindings. The two new operators, \roll{} and \foldkw{}, introduce values of an inductive type \(\mu X. A\). The \roll{} operator takes a vessel of shape \(A\) filled with inductive components and rolls it into an inductive -value. The \foldkw{} operator takes a target inductive value and a -body, which tranforms the induction hypothesis into a value of the -motive type. By recursively applying the body to the inductive -components of the target, the \foldkw{} computes a result. - -For those who are categorically minded, \roll{} is an algebraic map -for a weak initial \(A\)-algebra (viewing \(A\) as an endofunctor) and -\foldkw{} is the weak universal map. The structure is weak-universal -as it is not guaranteed to be unique, only to exist. +value. The \foldkw{} operator takes a target value and a body which +transforms an induction hypothesis into a value of the motive type. By +recursively applying the body to the inductive components of the +target, the \foldkw{} computes a result. As a concrete example, consider the type \(\mathsf{Tree} \coloneq \mu X. 1 + (X \times X)\) of unlabeled binary trees. By combining injections with \roll{}, we can |