# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/data-logic/logic/not.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
