# Cyclifford

Cyclifford is a silly idea of a language by User:arseniiv, based on Clifford algebras.

The program is an expression consisting of integer literals, variables, additions, subtractions, multiplications and applications of two non-principal (anti)automorphisms. Variables ${\displaystyle v_{i}}$ are referenced by their positive integer indices ${\displaystyle i\in \{1,\ldots ,N\}}$.

At runtime, the input is treated as a desctiption of a Clifford algebra (over integers): its length in bits is the generator count, and for each generator ${\displaystyle v_{i}^{2}}$ is taken to be +1 when the ${\displaystyle i}$-th bit is 0, and −1 when that bit is 1. The state of computation ${\displaystyle S}$ initially is taken to be the program. Then the Procedure A is applied to ${\displaystyle S}$ until it’s self-conjugate, i. e. applying principal automorphism to ${\displaystyle S}$ returns ${\displaystyle S}$ itself.

Procedure A is as follows. In ${\displaystyle S}$, replace each ${\displaystyle v_{i}}$ with ${\displaystyle v_{i+1}}$ treating indices modulo the input length, and name the result ${\displaystyle T}$. Then assign ${\displaystyle S:=ST}$.

If the computation halts, the output is the scalar (grade-0) part of the final ${\displaystyle S}$.

## Example of operation

I’m fairly confident no one understood anything above so an example will come soon. Or will it?..