# Why is the multi-step reduction of semantics reflexive?

I was reading Programming Languages and Lambda Calculi, which defines the multi-step reduction to be the reflexive-transitive closure of the one-step reduction. (Page 15, $\twoheadrightarrow_r$ is the reflexive-transitive closure of $\rightarrow_r$)

A quick search shows that this idea is widely accepted, for example by courses from Princeton, UPenn, CU, etc. However, I think the transtivity should be enough to capture the intuition of many steps. So why is reflexivity needed?

• Because it's more convenient. This isn't about philosophy, but rather about micro-management of technicalities. Mar 14, 2017 at 22:18

One possible technical exemplification of this (but there are probably dozens more, perhaps more interesting than this one) is that $\to^+$, the transitive closure of reduction, does not satisfy the diamond property (a.k.a. confluence), whereas $\to^\ast$ satisfies it. For example, if $I:=\lambda x.x$, there is no way to close the following critical pair by means of $\to^+$:
$$I \leftarrow (\lambda x.I)(II) \to (\lambda x.I)I$$
To close the span, you need to consider the empty reduction $I\to^\ast I$.