# Implication

• A (1/0)
• B (1/0)

• A ⇒ B

## Neuron type

Best algorithm has been found - locked

## Patterns

Pattern Input Output
1.
 A (1/0): 0 B (1/0): 0
 A ⇒ B: 1
2.
 A (1/0): 0 B (1/0): 1
 A ⇒ B: 1
3.
 A (1/0): 1 B (1/0): 0
 A ⇒ B: 0
4.
 A (1/0): 1 B (1/0): 1
 A ⇒ B: 1

## Applicable neurons

• NOT
• OR
• AND
• XOR
• NAND
• NOR
• IF
• Square - content
• Rectangle - content
• Compound interest: annual compounding
• Square root (√¯)
• OR
• character t
• (-∞, x)
• convert seconds into MM:SS
• get minutes from time (hh:mm:ss)

## Algorithm

### Test

```/**
* 1:
*
* @return {Array}
*/
function neuron501()
{
return [1];
}

/**
* Minus (x - y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron2(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '-'+Number(x2)).toString()];
}

/**
* NOT:
*
* @param x1 1/0
* @return {Array}
*/
function neuron567(x1)
{
var outputs = [];
outputs[0] = x1;

arr = neuron501();
outputs[1] = arr[0];

arr = neuron2(outputs[1], outputs[0]);
outputs[2] = arr[0];

return[outputs[2]];
}

/**
* Multiple (x × y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron3(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '*'+Number(x2)).toString()];
}

/**
* 1:
*
* @return {Array}
*/
function neuron501()
{
return [1];
}

/**
* Minus (x - y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron2(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '-'+Number(x2)).toString()];
}

/**
* NAND:
*
* @param x1 1/0
* @param x2 1/0
* @return {Array}
*/
function neuron572(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron3(outputs[0], outputs[1]);
outputs[2] = arr[0];

arr = neuron501();
outputs[3] = arr[0];

arr = neuron2(outputs[3], outputs[2]);
outputs[4] = arr[0];

return[outputs[4]];
}

/**
* Implication:
*
* @param x1 A (1/0)
* @param x2 B (1/0)
* @return {Array}
*/
function neuron597(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron567(outputs[1]);
outputs[2] = arr[0];

arr = neuron572(outputs[2], outputs[0]);
outputs[3] = arr[0];

return[outputs[3]];
}

```