Корисні обчислювальні пристрої вимагають зворотного зв'язку, що дає можливість одному елементу схеми виконувати по суті необмежену кількість послідовних обчислень. Використовувані схеми зворотного зв’язку повинні містити розділи, загальна кількість входів (що враховують як ті, що повертаються з виходів, так і ті, які не є) перевищує кількість виходів, які повертаються на вхід (єдиний спосіб, коли кількість входів не буде ' t перевищувати кількість зворотних виходів, якби ланцюги не реагували жодним чином на зовнішні подразники). Оскільки функції ідеально зворотної логіки не можуть мати більше входів, ніж виходів, неможливо побудувати з них будь-яку структуру зворотного зв'язку, необхідну для виконання будь-яких нетривіальних обчислювальних завдань багаторазово. Зауважте, що за технологією CMOS, що використовується на сучасних комп’ютерах, необхідний зворотний зв'язок, щоб забезпечити, що результати, обчислені обчисленнями в різних частинах схеми, стають доступними одночасно для інших частин, оскільки, якби вони не були відносним часом, з яким надходять сигнали, становлять "інформацію", яку неможливо було б ідеально передавати за течією; інші технології можуть зробити можливим мати багато воріт поширювати сигнали з точно однаковою швидкістю, зберігаючи оборотність, але я не знаю жодної практичної технології для цього.
Зауважте, що з точки зору CS, неважливо зробити обчислювальний процес зворотним, якщо у нього спочатку порожній носій інформації, розмір якого по суті пропорційний кількості кроків, кратній кількості стану, що може змінитися на кожному кроці. Ця претензія не суперечить претензії попереднього пункту, оскільки для зберігання, пропорційного кількості кроків, потрібна буде схема, пропорційна кількості кроків, що означатиме схему, пропорційну кількості, яка була б необхідною, якби всі зворотній зв'язок був усунений.
Якщо дозволено мати виходи, які ігноруються, якщо за належних умов введення вони ніколи не піднімуться, то можливо, можливо, створити систему, яка теоретично отримала б користь від оборотної логіки. Наприклад, якщо був алгоритм, який працював на 256-словній пам'яті оперативної пам’яті, і хотіли використати «процесор оборотної логіки», який виконував 1 000 000 операцій в секунду, і кожна операція оновлювала або реєстр, лічильник програм, або один Слово оперативної пам’яті, можна було б використовувати «оборотний процесор», який би:
- запустив купу вказівок і надсилав на кожне, що було перезаписано, у буфер LIFO
- після виконання ряду інструкцій скопіюйте оперативну пам’ять у спочатку порожній буфер "переадресації"
- використовуючи значення в LIFO, виконайте всі обчислення в зворотному порядку
- перезаписуємо вміст основної оперативної пам’яті буфером пересилання, який буде видалено в процесі.
Вищевказаний рецепт можна повторювати будь-яку кількість разів для запуску алгоритму для довільної кількості кроків; тільки останній крок рецепту не був би оборотним. Кількість енергії, витраченої на алгоритмічний крок на незворотні операції, була б обернено пропорційною розміру LIFO, і, таким чином, можна було б зробити довільно невеликим, якби кожен будував для створення достатньо великого LIFO.
Для того, щоб ця здатність перетворилася на будь-яку економію енергії, необхідно було б мати LIFO, який би зберігав енергію під час введення інформації, і корисно повертати цю енергію під час її зчитування. Крім того, LIFO повинен був бути достатньо великим, щоб зберігати дані про стан для достатньої кількості кроків, щоб будь-яка енерговитрата на його використання була меншою, ніж кількість енергії, яку він корисно заощадив. Зважаючи на те, що кількість енергії, втраченої при зберіганні та пошуку N байтів з будь-якого практичного FIFO навряд чи буде O (1), незрозуміло, що збільшення N суттєво зменшить споживання енергії.