A Formal Axiomatization of Computation
Rasoul Ramezanian

TL;DR
This paper presents an axiomatic framework for computation inspired by Brouwer choice sequences, constructing a model that demonstrates P does not equal NP within an intuitionistic viewpoint.
Contribution
It introduces a formal axiomatization of computation and constructs a model satisfying P ≠ NP based on Brouwer's intuitionism.
Findings
Constructs a model $E$ satisfying the axioms
Shows $E ot= P$ NP within the model
Supports the view that P ≠ NP in an intuitionistic context
Abstract
We introduce an axiomatization for the notion of computation. Based on the idea of Brouwer choice sequences, we construct a model, denoted by , which satisfies our axioms and . In other words, regarding "effective computability" in Brouwer intuitionism viewpoint, we show .
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms · Logic, Reasoning, and Knowledge · Complexity and Algorithms in Graphs
**A Formal Axiomatization of Computation **
**Rasoul Ramezanian
Ferdowsi University of Mashhad, Iran
Abstract
We introduce an axiomatization for the notion of computation. Based on the idea of Brouwer choice sequences, we construct a model, denoted by , which satisfies our axioms and . In other words, regarding ”effective computability” in Brouwer’s intuitionism viewpoint, we show .
1 Introduction
Is the famous problem unprovable? To answer the question, we need an axiomatization for the notion of computation. In sections 2 and 3, we propose our setting and axiomatic system.
To show that is not derivable from our axiomatic systems, we, in section 6, construct a model, denoted by , which satisfies all of our axioms and does not satisfy .
To construct our counter-model, , in section 4 and 5, we introduce non-predetermined functions (inspired by Brouwer choice sequences) and persistently evolutionary Turing machines as an extension of Turing machines to compute non-predetermined functions.
In computational complexity theory, the diagonal argument is used to show that two complexity classes are distinct. Nobody till now could be successful to use the diagonal argument to show .
In classic mathematics, the diagonal argument is used to show that the size of the real numbers is larger than the naturals. But in Brouwer intuitionism mathematics, instead of the diagonal argument, the principle of Bar induction [4] is used to show that there is no one-to-one correspondence between the natural numbers and the real numbers.
Our argument to show that is not the diagonal argument, and is in some sense similar to Bar induction principle.
In section 7, we argue that our axiomatic system plausibly formalizes “natural computation” similar to Peano axioms for “natural numbers”.
2 Syntax and Definitions
A computation is a sequence of configurations that we transit from one to another by applying some instructions. The transitions are continued until a desired (an accept) configuration is obtained. In the following, we formally describe the notion of computation.
Our syntax, for explaining the notion of computation, consists of the followings
- 1.
is a nonempty set called the set of “instructions”,
- 2.
is a nonempty set called the set of “configurations” such that to each string ,
- –
a unique configuration is associated as “the start configuration of the string ”, and
- –
to each , a unique string is associated as the string of involved in the configuration , and also we have (see example 3.1).
- 3.
, the “transition engine”, is a total function from to 111 mean “undefined”..
- 4.
, the “accepting engine”, is a total function from to .
For an example of the above syntax, one may see example 3.1.
Definition 2.1
- i.
Procedures*. A procedure (an algorithm, a machine) is defined to be a finite set (a finite set of instructions), satisfying the following condition*
The determination condition*: for every , at most there exists only one instruction in , denoted by notation , such that . If for all , , we denote .*
We refer to the set of all procedures by the symbol .
- ii.
Languages*. A string , is in the language of a procedure , denoted by , whenever we can construct a sequence of configurations in such that*
- –
,
- –
each , , is obtained by applying on ,
- –
the outputs for , and .
The sequence is called the “successful computation path” of on . The length of a computation path is the number of configurations appeared in.
Functions*. A partial function , , is computed by a procedure , whenever for , we can construct a sequence of configurations in such that*
- –
,
- –
each , , is obtained by applying on ,
- –
the outputs for , and ,
- –
.
Computation Path Length*. The time complexity of computing a procedure on an input string , denoted by , is , for some , whenever we can construct a successful computation path of the procedure on with length .*
Time Complexity*. Let and . The time complexity of the computation of the language is less than whenever there exists a procedure such that the language defined by the procedure , i.e., , is equal to , and for all , .*
Complexity Classes.* We define the time complexity class to be the set of all languages that we can compute in polynomial time using and . We also define the complexity class as follows:*
- * iff there exists and a polynomial function such that for all ,*
.
Remark 2.2
Definitions of computability and complexity classes stated in 2.1 are not new and they are the same definitions appeared in [1] and [3].
3 Axioms
In this section, we introduce the axioms of our setting. We only have 3 axioms.
Turing Computability and Complexity. For every Turing machine , there exists a procedure such that and the time complexity of is equal to the time complexity of .
**Effective Computability of Engines **. Both engines and are effectively computable (see 5.5).
Time Complexity of Engines. Both engines and work in linear time (see 5.6).
In section 7, we argue that these 3 axioms plausibly express the notion of “natural computation”. Axiom and reasonably express the attributes of the transition engine and the accepting engine. We expect that both and are physically plausible and effectively computable, and just use linear time (clock) on configurations to determine the next configuration or accepting configurations.
In example 3.1, we introduce a model, named , which satisfies axioms , , and .
Example 3.1
Let
-
,
-
* be two finite set with and*
-
* has a symbol .*
-
,
- 2)
, for each , , and for each , .
Let be an arbitrary configuration then
- –
* is defined to be ,*
- –
* is defined to be , and*
- –
for other cases is defined to be .
* can be computed by a Turing machine in linear time.*
- 4-
Let be arbitrary
- –
if then is defined to be ,
- –
if then is defined to be , and
- –
otherwise is defined to be .
* can be computed by a Turing machine in linear time.*
- 5-
For each , and , if there exists for some , and , then else it is defined to be .
Remark 3.2
The model (example 3.1) is the same model of standard Turing machine which is recalled and expressed by our proposed syntax. Every instruction is a transition of Turing machines.
Suppose be a Truing machine, then in our syntax, the set is a procedure in the model that its language in the model is exactly the language of the Turing machine .
It is obvious that satisfies axiom , , and , as both and are linear time Turing computable.
By axioms and , it is required that the engines be linear time effective computable. In section 4 and 5, we discuss that effective Computability is not restricted to Turing Computability and introduce persistently evolutionary Turing machines.
4 Non-predetermined Functions
The most important and fundamental notion of mathematics is function. A function is a process associating each element of a set , to a single element of another set . Classically, we assumed that all functions in mathematics are pre-determined.
In this section, we discuss functions that are not pre-determined and they are eventually determined through the way we start to associate for every element .
We introduce Persistently Evolutionary Turing machines that compute non-predetermined functions.
Let be a process that associates elements of a set to the elements of another set . If the process works well-defined then we know as a mathematical function. But being well-defined does not force the process to be predetermined.
Suppose that and are two different elements of . I want to use the process to determine the value of for and . It is up to me to first perform the process on or .
If is predetermined the it does not matter to perform the process on ordering or ordering . But if is non-predetermined then different order of inputs causes different alternate functions which one of them is the function that we are constructing.
Alternate functions are functions that could exist in place of our function (if we interacted with different ordering of inputs, those alternate could happen).
For example, consider the following process :
- •
* is a set which is initially empty.*
- •
for a given natural number , if there exists a pair then output , else update and output .
The function is a non-predetermined function over natural numbers. I input and the process will associates the following: , , , and . The value of other numbers are yet non-predetermined and as soon as I perform process on each number the value is determined.
The function is not predetermined. It is determined eventually, but it is always undetermined for some numbers.
- -
The function is well-defined, and associates to each input a single output.
- -
For every natural number, the function is definable.
- -
If I inputted , I would have an alternate which would associate: , , , and .
The inspiration of non-predetermined functions are Browser choice sequences [4]. A Choice sequence is an unfinished objects where the value of the sequence are not necessary predetermined.
A choice sequence is begun at a particular moment in time, and then grows as we choose further numbers. This process is generally open-ended and may be continued forever. (page 89 of [2])
5 Persistently Evolutionary Turing machines
In this section, to have a formal computation model for non-predetermined functions, we introduce the notion of Persistently Evolutionary Turing machines (we may also name them Brouwer-Turing machines) as an effective Computable method.
Persistently Evolutionary Turing machines are an extension of the notion of Turing machines in which the structure of the machine can evolve through each computation.
A Turing machine consists of a set of states , and a table of transitions which both are fixed and remain unchanged forever. In Persistently Evolutionary Turing machines, we allow the set of states and the table of transitions changes through each computation.
As a Persistently Evolutionary Turing Machine computes on an input string , the machine can add or remove some of its states and transitions, and thus after the computation on the input is completed, the sets and have been changed.
However, these changes are persistent. That is, if we already input a string and the machine outputs , then whenever we again input the machine outputs the same , and the changes of states and transitions do not violate well-definedness.
One may assume that we have a box and we set a Turing machine in the box with some rules of adding and removing of states and transitions. Then, We input strings to the box and for each string, the box outputs a single string. The machine in the box changes itself based on the rules, however, the behavior of the box is well-defined.
Persistently Evolutionary Turing Machines computes non-predetermined functions.
Definition 5.1
An evolutionary Turing machine, 222: the set of states, : the transition table, : the set of accepting states consists of the following:
- •
The Initial Machine*. , initially .*
- •
Updating Rules*. There could be a finite set of updating rules. The following is the generic rule*
- –
If during the computation, the machine on an input, say , reached to a configuration, say , with a specific property, say , then update
* or ,*
- *
* or ,*
- *
* or ,*
where , is a generic transition, and is a generic state.
- •
Persistent*. Updating rules never violate well-definedness, and if accepts (rejects) an string , whenever we apply on in future, again would accept (reject) .*
In the following example, we introduce a persistently evolutionary nondeterministic finite automate [3].
Example 5.2
*(In the sequel of the paper, we will refer to the persistently evolutionary machine introduced in this example by ). ***
Define as follows333 is the class of all nondeterministic finite automata , where for each state , and , there exists at most one transition from with label .:
Let , 444F is the set of accepting states, and . Suppose where . Applying the automata on , one of the three following cases may happen:
- case1.
The automata reads all successfully and stops in an accepting state. In this case, the structure of the automata does not change and let .
- case2.
The automata reads all successfully and stops in a state which is not an accepting state.
- –
If the automata can transit from the state to an accepting state by reading only one alphabet, then let .
- –
If it cannot transit (from to an accepting state) then let to be a new automata , where , , .
- case3.
The automata cannot read all successfully,and after reading a part of , say , , it crashes in a state that is not defined. In this case, we let be a new automata , where (all are new states that does not belong to ), , and .
The machine persistently evolve, that is, if it (rejected) accepted a string already, then it would (reject) accept the string for any future trials as well. The language is not predetermined and it eventually is determined.
For example, assume that initially is , , . Now I input the string and according to case 3, the machine evolves and new states and transitions are added and also . Now if I input the string then according to case 2, rejects it. However, If at first I inputted to the machine then it would accept it.
5.1 Time complexity of Evolutionary Turing machines
The time-complexity [1] of Persistent Evolutionary Turing Machines is defined similar to the time-complexity of Turing machines except that for each (adding) removing of states or transitions, we count one extra clock.
Definition 5.3
Let be a persistently evolutionary Turing machine, is an arbitrary string, and is a function. We say that , whenever everytime we compute on , the sum of
- •
the number of uses of transitions in , and
- •
the number of uses of updating rules
happened during the computation on , is less than .
Proposition 5.4
The time complexity of the machine in example 5.2 is linear.
Proof. It is straightforward.
5.2 Effective Computability
In axioms and , we required that both and to be effectively computable in linear time. In two following definitions, we formally explain what we mean by an effective Computability.
Definition 5.5
A function is effectively computable if it is either Turing computable or Persistently Evolutionary Turing computable.
Definition 5.6
A function is computed in linear time whenever its corresponding Turing or Persistently Evolutionary Turing machine works in linear time.
6 A Counter-Model
In this section, we prove that is not derivable from Axioms , and . To do this, we construct a model which satisfies , and but not .
Definition 6.1
We introduce a model as follows.
- •
Two sets and are defined to be the same and in example 3.1 respectively, and consequently the set is the same .
- •
The transition engine is also defined similarly to the transition engine in example 3.1, and thus it is linear time computable by a Turing machine.
- •
The accepting engine is defined as follows: let be arbitrary
- –
if then ,
- –
if then the works exactly similar to the the persistently evolutionary machine introduced in example 5.2. On input , if outputs , the accepting engine outputs , and
- –
otherwise .
By proposition 5.4, the engine is linear time computable by a persistently evolutionary Turing machine.
Remark 6.2
The only difference between model with model (see example 3.1) is that the is a persistently evolutionary Turing machine.
Proposition 6.3
The model satisfies axioms , , and .
Proof. It is obvious by definition.
Note that the is a persistently evolutionary machine. The set of procedures (algorithms) in the model is the same set of procedures in the model (example 3.1), i.e . However for some procedures, say , the language is the model could be different from the language in . For some , we have is a non-predetermined language. The procedure is fixed and does not change through time, but since the structure of changes through time, the language is non-predetermined.
Definition 6.4
We say a function is sub-exponential, whenever there exists such that for all , .
Theorem 6.5
We have
.
We show that there exists a procedure such that
- •
the language that the we compute through is not predetermined,
- •
the language belongs to the class ,
- •
there exists no procedure , such that is equal to
[TABLE]
and for some , for all , if then
**
where is a sub-exponential function. In other world, is in but not in .
Proof. Consider the following procedure
- .
Using the and , we compute procedure on an input as follows:
Note , and .
- -
We have where for some .
- -
Continuing using the transition engine on the configurations, we reach to the configuration which .
- -
Running the accepting engine, , the persistently evolutionary NFA inside the accepting engine works and provide ’Yes’ or ’No’ as output.
The language of the procedure , , is not predetermined in model . As we choose a string to compute whether is an element of , during the computation, the inner structure of the may evolve, and depending on the ordering of strings, says , that we choose to compute whether , the language eventually is determined.
It is obvious that the language belongs to (see the definition of time complexity in definition 2.1).
Let . It is again obvious that belongs to by definition 2.1.
We prove that cannot belong to . Assume that and thus there exists a procedure that we can compute by in time complexity less than a sub-exponential function . Then for some , for all with length greater than , belongs to whenever
- we construct a successful computation path of the procedure on , for some .
Let be the maximum length of those strings that until now are accepted by the persistently evolutionary machine (see example 5.2) which is inside the 555Note that, since is the maximum length of those strings that until now are accepted by the persistently evolutionary machine , if we start to compute for an arbitrary string, say , with length greater than then accepts ..
Define .
For every , let be the computational path of the procedure on the string . The is generated by the transition engine (note that it is possible that the length of is less that ). Let
and
The set is the set of all configurations that the accepting engine on them runs its persistently evolutionary NFA, , during the computation on the input string . If is empty then it means that the computation on does not force the structure of accepting engine, , to evolve.
The set is the set of all strings, say , that during the computation on , the persistently evolutionary NFA, inside the accepting engine, works on as an input.
We refer by to the number of elements of , and obviously we have for with .
Also let , and .
Let with be arbitrary. Two cases are possible: either or .
Consider the first case. .
Since the set is empty, the execution of on does not make the evolve, and the value remains unchanged. Here, we have also two cases:
If, using and , we compute that is a member of then by definition of , there must exist a string, say , such that
and .
But is a contradiction.
- (i)
Since we have the free will 666By free will, we mean that we are not forced to use and in any specific ordering., we first start to compute procedure on all strings in with length sequentially. As the length of is greater than , all strings with length are accepted by the persistently evolutionary Turing machine (see item-3 of example 5.2) which is inside .
- (ii)
Then we compute that whether is . But because of the evolution of happened in part (i), the on computation of on outputs , and thus is not an element of (see the item-2 of example 5.2). So , and it contradicts with .
- 2)
If, using and , we compute that then by definition of , for all strings , , we have . But it contradicts with the free will again. As the length is greater than , we may choose a string with and by the item-3 of example 5.2, we have , contradiction.
Consider the second case. .
Suppose that we, before computing on , start to compute the procedure on all strings ’s, for all , and then compute procedure on all strings ’s, for all respectively.
Since , we have for all , and evolves through computing on ’s. It evolves in the way that outputs for all configuration in
[TABLE]
After that, we start to compute on . Either we finds or .
- •
Suppose the first case happens and . It contradicts with the free will of us. We compute on all strings , sequentially, and would make . Then the evolves in the way that, it will output for all configurations , , and thus there would exist no which implies , contradiction.
- •
Suppose the second case happens and . Since , during the computation of on , only numbers of configurations of the form , are given as input to the . Therefore there exists a string such that none of its successors have been input to the persistently evolutionary Turing machine , and if we choose and computes on it, then which implies . Contradiction.
We showed that cannot be computed by any that its time complexity is less than a sub-exponential function. Thus does not belong to the class . But because of the procedure , we have belongs to and therefore
.
The above theorem simply says that if belongs to then it forces us to interact with and in some certain orders, which conflicts with our free will.
Theorem 6.6
.
Proof.* It is a consequence of proposition 6.3 and theorem 6.5. *
7 Natural Computation
For every mathematician, It is obvious that the set of “natural numbers” is different from “Peano axioms”. In the same way, we can talk of “natural computation” and our axiomatization setting.
So, one may ask
- •
How much our setting with 3 axioms expresses the “natural computation”?
- •
How the “natural transition engine” of the reality works?
- •
How the “natural accepting engine” works?
- •
Is our axiomatic system plausibly formalize the “natural computation”?
The Church-Turing thesis states that
a function on the natural numbers can be calculated by an effective method, if and only if it is computable by a Turing machine.
If we want to recall the Church-Turing thesis in our setting, it says
a function on the natural numbers can be calculated by an effective method, if and only if it is computable by a procedure in .
When we perform a computation, we transit from a configuration to another configuration (using of the reality) and also, we check whether a configuration is accepted or not (using of the reality).
We do not know what is the inner structure of and of the reality, but we believe that both and are physically plausible, and thus
both and of the reality are effectively computable, and
- 2.
both and work in linear time.
We state these two properties in axioms and . We, inhabitants of reality, can never find out whether the reality persistently evolves or not. We can never discover that whether the and of the reality is a Turing machine or a Persistently Evolutionary Turing machine.
We believe that our setting and 3 axioms, plausibly formalize the “natural computation” similar to Peano axioms for natural numbers.
We cannot derive from our 3 axioms which forces us to consider the engines of the reality to effectively compute in linear time.
8 Conclusion
We proposed an axiomatic system for “natural computation”. We justified that our axioms plausibly describe the “natural computation” similar to Peano axioms for natural numbers. We show that is not derivable from our axioms.
We also show that regarding ”effective computability” from Brouwer’s intuitionism viewpoint, .
Acknowledgment. I would like to thank Prof. Amir Daneshgar for his valuable comments.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. Arora, B. Barak, Computational Complexity, a modern approach . Cambridge University Press, 2007.
- 2[2] M. van Atten, Brouwer meets Husserl On the Phenomenology of Choice Sequences , 2007.
- 3[3] A. Meduna, Automata and Languages: Theory and Applications , Springer, 2000.
- 4[4] A.S. Troelstra, and D. van Dalen, Constructivism in Mathematics, An Introduction , Vol. I,II, North-Holland 1988.
