# Perp notation question

What does the symbol $$\perp$$ mean? I saw this on a paper where some entity outputs $$\perp$$.

• Halt, stop there! Jan 24, 2022 at 19:00

## 1 Answer

I've seen it used to denote 'nil', e.g. as a return value by some entity to indicate that it has nothing to return, or as a placeholder for a value which will be instantiated at a later time.

One example to see it used this way would be the Introduction to Reliable and Secure Distributed Programming textbook, where the authors use it to indicate uninitialized values and error conditions, as mentioned in the comments.

But it's speculation unless you can provide some context.

• My speculation is it denotes that an entity just outputs "garbage" but I am not sure. Returning nothing makes sense too but are there any other situation that $\perp$ is used to mean something else? Jan 24, 2022 at 17:29
• It's also often used to indicate an error. Jan 24, 2022 at 17:30
• Its worth mentioning that $\perp$ is often a distinguished error symbol. So the algorithm is not only turning in an answer that is incorrect, but one that it knows it is incorrect. Jan 24, 2022 at 20:47
• It is also sometimes used to represent than an algorithm did not terminate - for example, in haskell. I have also seen it be used to represent "False", and Top (⊤) to represent "True" (this is their meaning in logic). Context is everything. Jan 25, 2022 at 4:18
• I just saw in Goldreich's Foundations of Cryptography book Volume 2, page 616 that $\perp$ denotes a special error symbol and in addition, $\lambda$ denotes the empty string. Feb 2, 2022 at 20:29