A Language of Polynomials



Eric Ung


1. Introductions

Each slide can be formalized even further as their own research paper but presenting in this manner allows my ideas to give intuitive bearing so that it gives people from various backgrounds to come up with their own theories, ideas, and applications. On the other hand, this is also a formalized proof in my style of construction. Source to github is here.

1.1 Foundations



There exists a language such that it decides each monomial in the polynomial. In other words, there exists a set of deciders for each monomial in the polynomial where it decides if y is in the monomial.

Given a polynomial
$p(x) = ax^2 + bx + c$
$p(x) = 3x^2 + 4x + 5$
$p(2) = 3(2)^2 + 4(2) + 5$
$p(2) = 12 + 8 + 5$

Let the decider be defined as the following:
Decider is a function $Decider(constant, x, degree) \equiv constant*x^{degree} = y$ such that
x1 * x2 * ... * $x\ degree\ times$ * $constant\ times$ is tested to be equivalent to y and x1 is the start
and $x\ degree\ times$ is the finish
then loop around x1 to $x\ degree\ times$ until it stops

Decider for $ax^2$ is $Decider(3,2,2) = 3(2)^2 \equiv 12$
Decider for $bx$ is $Decider(4,2,1) = 4(2)^1 \equiv 8$
Decider for $c$ is $Decider(1,2,1) = 5(2)^0 \equiv 5$

A Turing Machine can be defined as the following:
1. Q is the set of states
2. Sigma is the input alphabet not containing the blank symbol u
3. Tau is the tape alphabet where u is in tau and sigma is in tau
4. Sigma: Q x T $\implies$ Q x Tau x {L, R} is the transition function
5. q0 is in Q is the start state
6. qaccept is in Q is the accept state
7. qreject is in Q is the reject state where qreject != qaccept

Multi-Tape Turing Machine
Sigma: Q x T^k => Q x T^k x {L,R,S}

1.2 Monomial of One Degree


Given the definition of a decider:
Decider is a function $Decider(constant, x, degree) \equiv constant*x^{degree} = y$

A decider of at least one degree

$Decider(3,x,4) \equiv 3x^4 = y$
Contains $Decider(3,x,3) \equiv 3x^3 = y$
Contains $Decider(3,x,2) \equiv 3x^2 = y$
Contains $Decider(3,x,1) \equiv 3x^1 = y$
Contains $Decider(3,x,0) \equiv 3x^0 = y$

Hence it can be generalized to:
$Decider(constant,degree,x)$ contains the sequence set
$\{Decider(constant,degree,x),Decider(constant,degree-1,x),...,Decider(constant,0,x)\}$
$\{start,...,finish\}$

1.3 Addition


Given the first example:
$p(x) = 3x^{2} + 4x + 5$
$p(2) = 3(2)^{2} + 4(2) + 5$
$p(2) = 12 + 8 + 5$

$m2 = Decider(3,x,2) = 3x^{2}$
$m1 = Decider(4,x,1) = 4x$
$m0 = Decider(5,x,0) = 5$

Generalized to mx where x is the degree
Given polynomial functions, p1 and p2, they are commutative
$p1(x) = ma + ... + m0$
$p2(x) = nb + ... + n0$

$p1(x) + p2(x) = ma + m[x+1] + nb + n[y+1] + ... + (mx + ny) + ... + (m0 + n0)\ where\ x \equiv y$
$Decider(cx,x,dx) + Decider(cy,x,dy) = Decider(cx+cy,x,dx) = Deciders(cx+cy,x,dy)\ \iff\ dx \equiv dy$

1.4 Product



Given two monomials in the language, a and b, the product of a and b is also in the language.

$Given\ Decider(cx,x,dx)\ and\ Decider(cy,x,dy)\ is\ in\ language\ L$
$Show\ that\ the\ product\ Decider(cx+cy,x,dx*dy)\ is\ in\ L$

$Decider(cx,x,dx) * Decider(cy,x,dy) $
$= cx*x^{dx} * cy*x^{dy} $
$= cx*x^{dx+dy}$
$= (cx + cy)*x^{dx+dy}\ is\ in\ L$
$\equiv Decider(cx+cy,x,dx+dy)$


1.5 Problem with Matrices



Given a polynomial p of x, show that the monomial deciders represented in the language can't be contained in a finite matrix after a set number, n, such that x^n.

$axa\ *\ bxb\ =\ nxn\ such\ that\ a\ \neq\ b\ and\ a,b < n$



1.6 Multivariable Polynomials



A monomial with more than one variable can be treated the same way as handling single variables at different degrees.

$Decider(c,xyz,d)\ =\ c(xyz)^{d}\ =\ Decider(c,x,d)*Decider(c,y,d)*Decider(c,z,d)\ where\ c\ is\ some\ constant$

$Decider(c,x,d1)*Decider(c,y,d2)*Decider(c,z,d3)\ =\ cx^{d1}*y^{d2}*z^{d3}\ where\ c\ is\ some\ constant$


$Given\ f(x,y)=3xy^{2}$
$set\ x = 2, y = 3$
$f(2,3) = 3(2)(3)^{2}$
$f(2,3) = 27$

1.7 Generalized Monomial Deciders



A monomial decider can be represented in a more general graphic

$6x^{6} \equiv Decider(6,x,6) \equiv 6*(xstart,x2,x3,x4,x5,xfinish)$ $x^{6} \equiv Decider(1,x,6) \equiv 1*(xstart,x2,x3,x4,x5,xfinish)$

In both these examples, xstart is x1 and xfinish is x6.

1.8 Concentric Monomial Deciders



Given a polynomial, p(x), with a monomial decider represented as ax^n in p(x) and n in N and a = 1 such that p(x) = x^n, there is special property for these monomial deciders that can be illustrated below.

$Decider(1,x,4) \equiv x^4 \equiv {xi\ such\ that\ i\ is\ in\ {start,2,3,finish}\ and\ xi\ contains\ xi-1\ where\ i\ >\ 1}$ $Decider(1,x,2)\ \equiv x^{2}\ \equiv {xi\ such\ that\ i\ is\ in\ {start,finish}\ and\ xi\ contains\ xi-1\ where\ i\ >\ 1}$ In both these examples, xi is a state in the monomial decider.

Each state in a one constant monomial decider have a property of being concentric. This means that a state can be defined as, x2 $\equiv$ (x1,x0) so going from x1 to x0 then going to the next state x3 or looping back to x1.



1.9 Constants



Given a constant, c, of p or better described in the example: f(x) = 5. Constants are seen as linear directed acyclic graphs.
f(x) = 5
$Decider(5,x,0) \equiv 5 \equiv {start,2,3,4,finish}$
There is no state in the decider where it loops back to the start. In other words, there is no x that represents a monomial in a constant.

1.10 Division



Division of monomial deciders


x^5 / x = x^4 \equiv Decider(1,x,5)/Decider(1,x,1) ~ Decider(1,x,4)
x^5 / x^2 = x^3 \equiv Decider(1,x,5)/Decider(1,x,2) ~ Decider(1,x,3)
x^5 / x^3 = x^2 \equiv Decider(1,x,5)/Decider(1,x,3) ~ Decider(1,x,2)
x^5 / x^4 = x^1 \equiv Decider(1,x,5)/Decider(1,x,4) ~ Decider(1,x,1)
x^5 / x^5 = 1 \equiv Decider(1,x,5)/Decider(1,x,5) ~ Decider(1,x,0)

~ here is represented as a special kind of equivalence that we will get to later.

Decider(1,x,5)/Decider(1,x,1) $\equiv$ {sequence of permutations of {xi,xj} such that the count of i is 4 and j is 1}
Decider(1,x,5)/Decider(1,x,2) $\equiv$ {sequence of permutations of {xi,xj} such that the count of i is 3 and j is 2}
Decider(1,x,5)/Decider(1,x,3) $\equiv$ {sequence of permutations of {xi,xj} such that the count of i is 2 and j is 3}
Decider(1,x,5)/Decider(1,x,4) $\equiv$ {sequence of permutations of {xi,xj} such that the count of i is 1 and j is 4}
Decider(1,x,5)/Decider(1,x,5) $\equiv$ {sequence of permutations of {xi,xj} such that the count of i is 0 and j is 5} Here, xi $\neq$ xj, meaning xi is of a different representation than xj

1.11 Multiple Divisions



Given multiple operations of division, this forms an interesting space.
$x^{5}/x^{2}/x = (x^{5}/x)/x^{2}$
$Decider(1,x,5)/Decider(1,x,2)/Decider(1,x,1) \equiv Decider(1,x,5)/Decider(1,x,1)/Decider(1,x,2)$ iff ignoring order of operations

1.12 Equivalence



$Decider(1,x,6)/Decider(1,x,1)/Decider(1,x,1) \sim Decider(1,x,6)/Decider(1,x,2)$ iff the order of operations is next to each other

Determining if y is in f(x) is easy if we are given any monomial decider in the set of the language of polynomials and their representations has the possibility to give different representations if we consider them as representations of the function f(x).

$ Decider(1,x,6)/Decider(1,x,1)/Decider(1,x,1) \\ \equiv {sequence\ of\ permutations\ of\ {xi,xj,xk}\ \\ such\ that\ the\ count\ of\ i\ is\ 4\ and\ j\ is\ 1\ and\ k\ 1} $

$ Decider(1,x,6)/Decider(1,x,2) \\ \equiv {sequence\ of\ permutations\ of\ {xi,xj}\ \\ such\ that\ the\ count\ of\ i\ is\ 4\ and\ i\ is\ 2} $

Theorem of Equivalence
$ Decider(1,x,6)/Decider(1,x,1)/Decider(1,x,1) \\ \equiv Decider(1,x,6)/Decider(1,x,2) \\ such\ that\ there\ is\ some\ x \\ such\ that\ the\ monomial\ represented\ by\ both\ deciders\ exists\ where\ f(x) \equiv y $

1.13 Reversing


$Decider(1,x,6)/Decider(1,x,1)/Decider(1,x,1) \equiv {sequence\ of\ permutations\ of\ {xi,xj,xk}\ such\ that\ the\ count\ of\ i\ is\ 4\ and\ j\ is\ 1\ and\ k\ 1}$
$Decider(1,x,6)/Decider(1,x,2) \equiv {sequence\ of\ permutations\ of\ {xi,xj}\ such\ that\ the\ count\ of\ i\ is\ 4\ and\ i\ is\ 2}$
Is shown that by the permutation of the order of operations that $Decider(1,x,6)/Decider(1,x,1)/Decider(1,x,1)$ is not the same set as $Decider(1,x,6)/Decider(1,x,2)$

Theorem of Reversing
Given two deciders x,y in a decider of m(x), x != y iff sequence of all the states are not equivalent, representation-wise, from start to finish or it doesn't represent the same order of operations of the deciders being represented

1.14 Corollary of Reversing

A little more on the theorem of reversing

Given a starting point, the paths a monomial decider takes to decide if y is in f(x) is inherently unique to each representation. Start at the circle, S, and end at the circle, F. If the circle is white, it is 0. If it is blue, it is 1. As an example let's traverse some of the representations of x^4.

Corollary
Given a decider, d, in Decider of m(x) then there is path, p, that exists for d such that p = Path(d) = (s1,s2,...,si,...,sn) where i is count of the states in the decider of m(x).

Example:
Choose some x such that it is in Path(Decider(1,x,6)/Decider(1,x,2)) where p = 001111

1.15 Godel's Theorem

We see that there exists two statements from these theorems
1. x = x from a theorem of equivalence
2. x != x from a theorem of reversal
Example:
Given some d1,d2,d3,...,infinity in deciders of m(x)
1. d1 = d2 = d3 = ... = infinity
2. d1 != d2 != d3 = ... != infinity

The different representations of a monomial through the language of monomial deciders will give us undecidability. This means we can come up with many formal definitions of the mnomial decider and it will not be able to solve the problem of finding a specific representation of a monomial decider without having to guess or apply some sort of probability to it. Relating to the real line, given a real line (a,b) a < b, there is infinite choices between a and b because we canjust make the number smaller. As long as b - a > 0, there requires some sort of probability of choosing some specific number that is between a and b.

1.16 Constructing The One Way Function

A probability exists to find a certain monomial decider in the set of it's variations. A/B = Probability where A is the monomial decider we want and B is the number of all the variations.

Example:
d1,d2,...,d6 in deciders(1,x,6),D, such that di are all distinct
Choose one of the deciders in D through probability
Probability of choosing d in D is 1/6 so 0.16666667

We'll call this picking a function and every time we call this function, the probability is mulltiplied such that it is n^-k. As an example, if we call the picking function twice using the example above, we have (1/6)*(1/6) = (1/36) = 6^-2.

This is formally known as the one way function.

1.17 Infiniteness

Given that, if we can show for any language it abides a theorem of equivalence and a theorem of reversal and they both have infinite representations, we know that we need some sort of probability to choose a specific representation of a monomial decider. We'll call this a theorem of infiniteness because if we can show that some language is infinite, it will require some ort of guess to pick something unique out of all the things it represents, generates, or describes. In other words, you can't map infinity to infinity directly for you must map infinity to something discrete and something discrete to infinity.

Theorem
A mapping must be from infinity to discrete representation to discrete representation to infinity.

Given any representation of infinity,
Suppose a mapping infinity to infinity exists.
Then this map is equivalent to infinity because 
infinity contains this map.

Here, infinity is represented as *. * contains * -> *.

Intuition

Given Decider(c,x,d) and d is infinity,
Decider(c,x,d) contains Decider(c,x,d-1)
d - 1 is then infinity too.

2. Applications of Monomial Deciders

This is part 2 of the article, "A Language of Polynomials", with concrete examples of how to use it including constructing the one way function using the picking function. A link to github is here.

2.1 Starting With A Theorem Of Infiniteness

2.2 Mapping Out Worlds

2.3 Euler's Constant

2.4 Sketching Into Code

bool generalizedMD(int y)
{
    if (y == 0)
    {
        return true;
    }
    var s = y;
    while (s >= 0)
    {
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                if (s == 0 && (j == 0 || j == 2) && i == 0)
                {
                    return true;
                }
                else if (s < 0)
                {
                    return false;
                }
                s -= 1;
            }
        }
    }
    return true;
}

2.5 Gather Some Data

// Generates negatives from a general monomial decider represented as an algorithm so
// that we can collect data about the negatives
int[] Generator(int max)
{
    int[] result = new int[max + 1];
    int x = 0;
    int negatives = 0;
    int i = 0;
    while (x < max + 1)
    {
        int num = 2 * (Convert.ToInt32(Math.Pow(x, 2)));
        if (generalizedMD(i))
        {
            // A simple verifier
            if (num == i)
            {
                Console.WriteLine(negatives);
                Console.WriteLine("f(" + x + ") = " + i);
                result[x] = i;

                x++;
                negatives = 0;
            }
            else
            {
                negatives++;
            }
        }
        i++;
    }

    return result;
}

Logs for the curious.

2.6 Representing Monomial Deciders As Code

// After getting some log results, we can construct a decider
bool MonomialDecider2xx(int y)
{
    var total = 0;
    var hits = 0;
    var diff = 1;
    var isEven = 0;
    var s = 0;

    while (s <= y)
    {
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 2; j++)
            {
                for (int k = 0; k < 2; k++)
                {
                    if ((i == 0)&&(j == 0 || j == 1)&&(k == 0))
                    {
                        if (hits == total)
                        {
                            if (s == y)
                            {
                                Console.WriteLine(s + ": Hits: " + total);
                                return true;
                            }
                            else if (s > y)
                            {
                                return false;
                            }

                            total += diff;
                            isEven++;
                            if (isEven % 3 == 2)
                            {
                                isEven = 0;
                                diff += 2;
                            }
                        }

                        hits++;
                    }
                    s++;
                }
            }
        }
    }

    return false;
}
Logs for the curious.

2.7 Negative Numbers

2.8 Pi

2.9 Fibonacci

Let's take apart the fibonacci sequence and try to find some patterns.
int fibonacci(int n)
{
    if (n == 0)
    {
        return 0;
    }

    int y = 1;
    int y1 = 1;
    int y2 = 0;

    for(int i = 1; i < n; i++)
    {
        y = y1 + y2;
        y2 = y1;
        y1 = y;
    }

    return y;
}
Heres the log for the first 14 entries.

f(	0	) =		0		Ex = 0		eY = 0
f(	1	) =		1		Ex = 1		eY = 1
f(	2	) =		1		Ex = 0		eY = 1
f(	3	) =		2		Ex = 1		eY = 0
f(	4	) =		3		Ex = 0		eY = 1
f(	5	) =		5		Ex = 1		eY = 1
f(	6	) =		8		Ex = 0		eY = 0
f(	7	) =		13		Ex = 1		eY = 1
f(	8	) =		21		Ex = 0		eY = 1
f(	9	) =		34		Ex = 1		eY = 0
f(	10	) =		55		Ex = 0		eY = 1
f(	11	) =		89		Ex = 1		eY = 1
f(	12	) =		144		Ex = 0		eY = 0
f(	13	) =		233		Ex = 1		eY = 1
f(	14	) =		377		Ex = 0		eY = 1
Logs for the curious.

2.10 Analysis Of Parity In Fibonacci

2.11 Redrawing the Fibonacci Sequence

Fibonacci generator with the set of generator functions.
int fibonacciGenerator(int n)
{
    int stateX = 0;
    int stateY = 1;
    int stateZ = 1;
    int cycles = 0;

    while (cycles <= n)
    {
        cycles++;

        if (cycles > n)
        {
            return stateX;
        }

        stateX = stateY + stateZ;
        Console.WriteLine("stateX: " + stateX + "\tstateY: " + stateY + "\tstateZ: " + stateY);
        
        cycles++;

        if (cycles > n)
        {
            return stateY;
        }

        stateY = stateX + stateZ;
        Console.WriteLine("stateX: " + stateX + "\tstateY: " + stateY + "\tstateZ: " + stateY);

        cycles++;

        if (cycles > n)
        {
            return stateZ;
        }

        stateZ = stateX + stateY;
        Console.WriteLine("stateX: " + stateX + "\tstateY: " + stateY + "\tstateZ: " + stateY);
    }

    return stateX;
}
Logs for the curious.

2.12 The Fibonacci Decider

Given a sequence of length six, we can decide if it forms a valid fibonacci sequence.
The following is a log of calculations.


x1 = 144, y1 = 89, z1 = 55, x2 = 34, y2 = 21, z2 = 13

144 = 89 - 13 + 34 - 21 + 55 = 144
89 = 13 - 34 + 21 - 55 + 144 = 89
13 = 34 - 21 + 55 - 144 + 89 = 13
34 = 21 - 55 + 144 - 89 + 13 = 34
21 = 55 - 144 + 89 - 13 + 34 = 21
55 = 144 - 89 + 13 - 34 + 21 = 55

2.13 The Fibonacci Picking Function

3. Inferrable Languages

The concept of statistics and blackboxes has been drawn out extensively in theories and applications for decades but what of languages and knowing what word can be used to generate the next series of words? Everyone guesses what words can come out of someone talking given enough experience. In this article, the idea of inferrable languages is presented which are languages that allow the next series of words in the sequence to be inferred given enough samples in the sequence. The article, Inferring Lindenmayer Systems, is about deterministically producing the next series of words given a complete sequence of words. Let's apply this idea with the monomial decider and picking function from the following article, Applications for Monomial Deciders. A link to github is here.

3.1 Applying The Fibonnaci Decider

3.2 Fibonacci DOL Decider Left Hand Side

3.3 Fibonacci DOL Decider Right Hand Side

Operations for the right hand side (RHS) versus the left hand side (LHS) represents different operations of the string in different scenarios

RHS Evaluation
Right to Left
+ Remove from the back
- Add to the front
abaababa = - abaab + b - ab + a -aba
abaababa = - abaab + b - ab -ab
abaababa = - abaab + b - abab
abaababa = - abaab - aba
abaababa = - abaababa

LHS Evaluation
Left to Right
+ Remove at the front
- Add to the back
abaababa + abaab - b + ab - a = -aba
aba - b + ab - a = -aba
abab + ab - a = -aba
ab - a = -aba
aba = -aba

3.4 The Law of Commutativity and Noncommutativity

3.5 Definition Of Support

3.6 Rationals Of Picking Function

3.7 Support Of Picking Function

3.8 Law Of Strings

3.9 Commutativity Of Addition

3.10 Commutativity Of Multiplication

3.11 Additive Identity

The LHS and RHS are equations that test whether or not they are true or false, or in terms of computational complexity theory, it is satisfiable.
10 = 10 evaluates to true or 1.
01 != 10 evaluates to true or 1 too.

3.12 Multiplicative Identity

3.13 Additive Inverse

3.14 Multiplicative Inverse

3.15 Generalized Operations

3.16 Generalized Communativity

3.17 Associativity Of Addition

3.18 Associativity Of Multiplication

3.19 Distibutivity

3.20 Field

References

Berstel, J., & Reutenauer, C. (2010). Noncommutative rational series with applications. Cambridge University Press.

Sipser, M. (2006). Theory of Computation (2nd ed., p. 431). Course Technology, Cengage Learning.

Munkres, J. R. (2000). Topology (2nd ed., p. 537). Prentice Hall.

Artin, M. (2011). Algebra (2nd ed., p. 543). Pearson.

Enderton, H. B. (2001). Logic (2nd ed., p. 317). HARCOURT/ACADEMIC PRESS.

Lay, S. R. (2004). Analysis (4th ed., p. 394). Pearson Prentice Hall.

Cox, D. A., Little, J., & O’Shea, D. (1997). Ideals, varieties, and algorithms: An introduction to computational algebraic geometry and commutative algebra (2nd ed.). Springer.

Golub, G. H., & Van Loan, C. F. (1996). Matrix Computations (3rd ed., p. 728). Johns Hopkins University Press.

Hofstadter, D. R. (1999). Gödel, Escher, Bach: An eternal golden braid. Basic Books.

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). MIT Press.

Sturtivant, C. (n.d.). CS&E Profile: Carl Sturtivant. University of Minnesota. Retrieved November 30, 2023, from https://www-users.cse.umn.edu/~carl/.

Shilov, G. E. (2012). Linear algebra (R. A. Silverman, Trans.). Dover Publications. (Original work published 1971)

Strang, G. (2009). Introduction to Linear Algebra (4th ed., p. 585). Wellesley-Cambridge Press.

Rosen, K. H. (2006). Discrete Mathematics And Its Applications (6th ed.). McGraw-Hill Education.

Prasolov, V. V. (1995). Intuitive topology. American Mathematical Society.

Carter, N. (2009). Visual group theory. Mathematical Association of America.

Spivak, M. (2008). Calculus (4th ed., p. 680). Publish or Perish.

Sullivan, M. (2008). Precalculus (8th ed., p. 1152). Prentice Hall.

Language of Polynomials (Version 1.0.0). https://github.com/ericung/languageofpolynomials

Hamming, R. W. (1986). Numerical methods for scientists and engineers. Courier Corporation.

Ung, E. (2023). Inferring Lindenmayer Systems. 1(1), 1–6. Link

Weisstein, Eric W. "Field Axioms." From MathWorld--A Wolfram Web Resource. https://mathworld.wolfram.com/FieldAxioms.html

Pinter, C. C. (2010). A book of abstract algebra (2nd ed.). Dover Publications.

Ung, E. (2023). Applications For Monomial Deciders (Version 1.0.1).

Ung, E. (2023). A Language Of Polynomials (Version 1.0.1).

Ung, E. (2018). Inferring Lindenmayer Systems.

Ung, E. icon-opengl.

Ung, E. git_lsystem.