There is the UNION operation on SDRs.

The problem with that is it has limited capacity to distinguish patterns and only support ORing items.

Also it doesn’t allow more complex activation.

In logical terms UNION is like an OR operation.

```
IF pattern1 OR pattern2 OR ... THEN depolarize
```

From physical standpoint it seem feasible to SUM (OR) all the distal synapses signals.

So I’m speculating/expecting/deducing the neuron should also support AND functionality.

What do I mean by that :

```
IF pattern1 AND pattern2 AND ... THEN depolarize
```

I can imagine two ways of neuron doing this :

- A dendrite switches ON/OFF all synapses that are on it via some chemical process !!
- An inhibitor neuron impeding dendrite region i.e. switching it ON/OFF

A and B = NOT( NOT(A) OR NOT(B) ) - Some other mechanism ?
- External mechanism ?

IS there a mechanism for this ??

The analog in SDR parlance is CONCATENATION, so you still can have UNIONS combined in CONCATENATION.

BTW I’m looking probably for AND-capacity in the REPRESENTATION level, less in the neuron level, because the former will indicate intrinsic capability and the latter will require neurons-functional grouping (something akin to mini column)

after gmirey post something lit … having a UNION of SDRs f.e. A, B, I can check for both A OR B, which if both are in the union should return

False, but may returnTrueif i check for A AND B. So it seem we have to distinguish between two operations STORING conj and disj … vs CHECKING for conj and disj

So a UNION can **store** a conjunction and we can **check** for conjunction, but can not **store/check** a dis-junction (may be only if we mutate/permute the items)

let me see if i got it right

```
u = a | b
a in u AND b in u => true
a in u OR b in u => true
u = ab
a in u AND b in u => true
a in u OR b in u => false << not possible with union
```

You may ask what is this good for ?!

Let say you are storing a state S in an SDR … if you add it in a union you can check for a state in a union of states.

Now you want to add a different context C to different states but still add them to a union and check for Ctx1-StateX or Ctx2-StateX (currently checking for just StateX will return true) … they are anded patterns … hmm may be doable with permutations!!

So something like this become possible :

```
IF ( (Ctx1 AND StateX) OR (Ctx2 AND StateX) ) in UNION THEN depolarize
```

but not this :

```
IF ((Ctx3 AND StateX) OR StateX) in UNION THEN depolarize
```

because the partially overlap

hmm…permutations may be, but there is no way to know in advance what to permute before the check !!