2018-09-30 22:01:58 +00:00
---
id: 5900f43e1000cf542c50ff4f
title: 'Problem 209: Circular Logic'
2020-11-27 18:02:05 +00:00
challengeType: 5
2019-08-05 16:17:33 +00:00
forumTopicId: 301850
2021-01-13 02:31:00 +00:00
dashedName: problem-209-circular-logic
2018-09-30 22:01:58 +00:00
---
2020-11-27 18:02:05 +00:00
# --description--
2018-09-30 22:01:58 +00:00
2021-07-15 07:20:31 +00:00
A $k$-input binary truth table is a map from $k$ input bits (binary digits, 0 [false] or 1 [true]) to 1 output bit. For example, the $2$-input binary truth tables for the logical $AND$ and $XOR$ functions are:
2018-09-30 22:01:58 +00:00
2021-07-15 07:20:31 +00:00
| x | y | x AND y |
|---|---|---------|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
2018-09-30 22:01:58 +00:00
2021-07-15 07:20:31 +00:00
| x | y | x XOR y |
|---|---|---------|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
2018-09-30 22:01:58 +00:00
2021-07-15 07:20:31 +00:00
How many $6$-input binary truth tables, $τ$, satisfy the formula
$$τ(a, b, c, d, e, f) \\; AND \\; τ(b, c, d, e, f, a \\; XOR \\; (b \\; AND \\; c)) = 0$$
for all $6$-bit inputs ($a$, $b$, $c$, $d$, $e$, $f$)?
2018-09-30 22:01:58 +00:00
2020-11-27 18:02:05 +00:00
# --hints--
2018-09-30 22:01:58 +00:00
2021-07-15 07:20:31 +00:00
`circularLogic()` should return `15964587728784` .
2018-09-30 22:01:58 +00:00
2020-11-27 18:02:05 +00:00
```js
2021-07-15 07:20:31 +00:00
assert.strictEqual(circularLogic(), 15964587728784);
2018-09-30 22:01:58 +00:00
```
2020-11-27 18:02:05 +00:00
# --seed--
2018-09-30 22:01:58 +00:00
2020-11-27 18:02:05 +00:00
## --seed-contents--
2018-09-30 22:01:58 +00:00
```js
2021-07-15 07:20:31 +00:00
function circularLogic() {
2020-09-15 16:57:40 +00:00
2018-09-30 22:01:58 +00:00
return true;
}
2021-07-15 07:20:31 +00:00
circularLogic();
2018-09-30 22:01:58 +00:00
```
2020-11-27 18:02:05 +00:00
# --solutions--
2018-09-30 22:01:58 +00:00
```js
// solution required
```