2

From Wikipedia:

If $F, G$ are partial functions on the natural numbers, the notation $F\simeq G$ indicates that, for each $n$, either $F(n)$ and $G(n)$ are both defined and equal, or are both undefined.

What is the difference between this and $F = G$? If $F, G$ take on exactly the same values for each $n$ on which they are both defined, and both are defined for the same values, they are effectively the same from a set theory perspective; this is,

$$ (n, F(n)) \in F \iff (n, G(n)) \in G $$

What am I missing?

lafinur
  • 3,783

2 Answers2

3

The use of $F\simeq G$ as in your quote from Wikipedia is, as you said, hard to justify, but the closely related notation $F(n)\simeq G(n)$ is actually quite reasonable, and may have suggested the $F\simeq G$ notation. Let me explain how $F(n)=G(n)$ and $F(n)\simeq G(n)$ came to have different meanings.

The idea, as far as I understand it, is that recursion theorists (and lots of other people) want to treat equality as a binary predicate. That's fine as long as you have meaningful expressions on both sides of $=$, but what if there's a undefined expression on one or both sides of $=$? What should be the truth value of qpwoe=alsxkdj? The usual convention (not just in recursion theory but just about everywhere) is that, when you apply a predicate (or a function) to undefined stuff, the result is also undefined. So, for example, the truth value of qpwoe=alsxkdj is undefined. Recursion theory therefore, takes $F(n)=G(n)$ to be undefined if one or both of $F(n)$ and $G(n)$ are undefined. That's in contrast to $F(n)\simeq G(n)$, which is always defined; in particular it's false if exactly one of $F(n)$ and $G(n)$ is undefined and true if both are.

In my experience, the notation $F\simeq G$ is used far less often than the (more reasonable) notation$F(n)\simeq G(n)$, because it happens far more often that function values $F(n)$ are undefined (e.g., because computations didn't halt) than that whole functions $F$ are undefined.

Andreas Blass
  • 75,557
  • Thanks for pointing this out. I do see the point behind a notation such as $F(n) \simeq G(n)$; what I couldn't make sense of was $F \simeq G$ as described in Wikipedia. – lafinur Mar 19 '24 at 18:51
2

You are right. According to what is currently written on Wikipedia's page, writing $F = G$ or $F \simeq G$ has exactly the same meaning, so there is no need for introducing the notation $\simeq$.

But it makes sense (and is very convenient when you are dealing with partial functions) to introduce a special notation, say $\simeq$, to talk about partial function equality pointwise (see here). More precisely, given two partial functions $F, G \colon \mathbb{N}^k \rightharpoonup \mathbb{N}$ and $(n_1, \dots, n_k) \in \mathbb{N}^k$, the notation $F(n_1, \dots, n_k) \simeq G(n_1, \dots, n_k)$ means that

  • either both $F$ and $G$ are defined in $(n_1, \dots, n_k)$ and $F(n_1, \dots, n_k) = G(n_1, \dots, n_k)$,

  • or neither $F$ nor $G$ are defined in $(n_1, \dots, n_k)$.

Note that this is completely different from the meaning of the notation $\simeq$ on Wikipedia's page. It turns out that, given two partial functions $F, G \colon \mathbb{N}^k \rightharpoonup \mathbb{N}$, we have $F = G$ if and only if $F(n_1, \dots, n_k) \simeq G(n_1, \dots, n_k)$ for all $(n_1, \dots, n_k) \in \mathbb{N}^k$.

In my opinion, it would be beneficial to modify the meaning of the notation $\simeq$ on Wikipedia's page, in accordance with Occam's razor principle: what's the point of adding a new notation when the ones that are already defined do the same job.