> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/data-logic/logic/not.md).

# Not

This function block inverts a boolean signal. Use it when you need the opposite logical state of a condition.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Boolean` This input socket accepts a logical (True/False) signal to be inverted.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Boolean` This output socket provides the inverted logical result.

## 🕹️ Controls <a href="#controls" id="controls"></a>

`No Controls` This block has no user-facing widgets; it only processes the input signal.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

When the block runs it reads the incoming boolean signal and outputs its logical negation. If the input is True the output becomes False, and vice versa. It works with boolean signals provided by other function blocks or manual inputs.

## ✨ Features <a href="#features" id="features"></a>

* Simple logical inversion for flow control and decision making.
* Lightweight and instant response suitable for real-time scenarios.
* Safe to place anywhere a boolean inversion is required.

## 📝 Usage <a href="#usage" id="usage"></a>

* Feed a boolean signal into the `Boolean` input to receive its inverted value on the `Boolean` output.
* Use it to toggle conditions, invert enable signals, or create complementary triggers.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combine with `And` or `Or` to build more complex logical expressions (for example, invert one branch before combining).
* Use with `Equals`, `Greater`, or `Smaller` to invert comparison results when you need the opposite condition.
* Pair with `Rising Edge` or `Edge Rising` / `Edge Falling` style blocks to invert edge signals for alternative trigger behavior.
* Use alongside `Set - Reset` to invert set/reset conditions when implementing simple state toggles.
* Place before an action block (for example, gating an output) to invert an enable/disable signal without changing upstream logic.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If the output is not what you expect, verify the source of the boolean signal feeding the `Boolean` input.
* Use a logging or debug block to inspect the incoming boolean value if the logic flow seems incorrect.
