How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Effective Numberings, Reductions, Resources, and Randomness
1 · Prerequisites
- Absolute and Conditional Convergence; Rearrangement; Products
- Binary Operations, Monoids, Groups and Subgroups
- Compactness in Metric Spaces
- Completeness, Completion, and Uniform Continuity
- Construction of the Natural Numbers
- Construction of the Real Numbers via Cauchy Sequences
- Construction of the Real Numbers via Dedekind Cuts
- Continuity, IVT, EVT, and Uniform Continuity
- Countability and Uncountability
- Finite Counting, Factorials and Binomial Coefficients
- Finite Probability Spaces and Random Variables
- Formal Languages, Encodings, and Decision Problems
- Foundations of the Real Numbers for Analysis
- Limits of Real Functions
- limsup, liminf, and Subsequential Limits
- Linear Algebra Methods in Combinatorics
- Linear Recurrences and Rational Generating Functions
- Metric Spaces
- Monotone Functions, Discontinuities, and Continuity Sets
- Monotone Sequences, Bolzano-Weierstrass, and Cauchy Completeness
- Order, Zorn's Lemma, and the Axiom of Choice
- Polynomial Rings, the Division Algorithm and Roots
- Power Series and Real-Analytic Functions
- Properties of the Integral and the Working FTC
- Relations, Functions, and Quotients
- Rings, Subrings, Integral Domains and Fields
- Robust Machine Models and Universal Computation
- Roots, Rational Powers, and Classical Inequalities
- Sequences and Limits
- Sequences and Series of Functions; Uniform Convergence
- Series: Convergence and the Nonnegative Tests
- Suprema and Infima
- The Derivative and the Mean Value Theorems
- The Exponential Function
- The Logarithm and General Powers
- The Riemann Integral: Definition and Integrability
- The ZFC Axioms and the Basic Set Constructions
- Topology of ℝ
- Turing Machines, Configurations, and Computation
- Turing-Machine Configuration Boundary Interface
- Vector Spaces, Linear Subspaces, Span and Direct Sums
2 · Summary
This page fixes the interfaces needed to pass from literal finite programs to numerical computability and from finite random computations to complexity classes. Resource comparisons specify which constants may depend on a program and distinguish an external clock from the work needed to construct one. The universal-simulation theorem constructs a time-efficient buffered interpreter and a separate interpreter that stores only the current configuration, with explicit clock, initialization and boundary accounting.
The independent numbering development gives primitive-recursive list arithmetic, a fully specified finite-history predicate, normal form, reductions, a literal specialization compiler and the program fixed-point theorem. Tuple words, canonical numerals and program indices are distinct encodings, and every compilation preserves partial domains as well as values. The numbering development uses explicit finite program constructions.
The probabilistic development counts finite bit strings. Expected-time zero-error computation uses survival probabilities and a declared nonnegative-series foundation. Affine hashing is proved on this A page before its example. The tail estimates require mutual independence; pairwise independence alone is not substituted. Schwartz–Zippel counts zeros of formal polynomials and explicitly permits a high-degree nonzero polynomial to vanish everywhere as a function. The companion calculations specialize one program and examine two concrete constructions over the field with five elements.
3 · Logical flowchart
4 · Definitions, theorems and proofs
Uniform asymptotic time space comparison
Definition
For , write if there are real and such that for every . Write if for every real there is such that for every . Neither notation divides by : zeros of require zeros of on the relevant tail. The naturals include zero as in The natural numbers (von Neumann).
The resource conventions below apply to deterministic multitape machines. Such a machine has a fixed finite alphabet and a fixed positive finite number of right-infinite tapes as in Multitape and nondeterministic Turing machine variants. For this resource interface, fix the following local run conventions: the initial state is , every head starts at cell zero, the input word occupies the first tape starting at zero, and all other cells on all tapes are blank. On each tape a left move from cell goes to and a right move goes to . Time is the number of executed transitions. For a finite run, space is the sum, over tapes, of the numbers of cells actually scanned, including each initial head cell. A head moves by at most one cell, so its scanned cells form an initial segment. Initialized but unscanned input is not part of this visited-cell count; an interpreter which stores the entire input pays a separate input-length term.
For a deterministic machine halting on every input, its worst-case time at length is the maximum of the finite run times on the finitely many words of that length; likewise for space. If there are no words of that length set the maximum to zero. If a run does not halt, no finite all-input time bound is asserted. A maximum over a nonempty finite list exists by taking the larger of the current maximum and the next entry; no selection principle is needed. No nondeterministic branch-cost convention is defined in this item.
In , the constants may depend on the fixed finite description , but not on the input word, its length, or an external clock value. For a two-parameter estimate meant to include short inputs and clocks, the convention is a single with for every valid , including . When a constructor or algorithm reads the whole input, resource bounds here have the explicit lower guard . Space that excludes a read-only input tape must be labelled separately; it is not the default visited-cell convention.
Machine time and space constructibility
Definition
Use Uniform asymptotic time space comparison and fix a nondecreasing integer-valued function with . The canonical binary numeral of zero is the one-letter word ; every positive numeral starts with , with no leading zeros. Unary input for is , including the empty word when .
The bound is time constructible in this interface if a fixed deterministic multitape transducer reads that unary input completely, writes on its output tape, and halts in at most transitions for one fixed and all . We count output cells in its space. Its actual visited workspace, including its tapes under the preceding convention, is denoted ; an application must specify a bound on this quantity if it needs one.
For nondecreasing with , space constructible means that a fixed halting transducer reads completely and outputs using at most visited cells. There is no time bound in this definition.
Exact-clock constructibility means the separately specified existence of a machine whose run on halts after exactly transitions. Its initial state is nonhalting and its last transition enters a halting state; in particular a value zero would be incompatible with that convention. The guard excludes it here. This item asserts no equivalence between exact clocks, output constructors, or versions using read-only input space.
An external clock supplied as is an input, not a call to a constructor. If an application instead sets by the stated constructor, it adds the constructor's time and workspace to the subsequent algorithm's resource accounting. The guard includes the complete-input scan and the empty-input case. Finite exceptional lengths can be treated by finitely many literal branches, but such branches must be exhibited in any proof that uses them; no bound on an arbitrary computable function follows from this definition.
Clocked universal simulation with time and space bounds
Statement
There are two distinct fixed finite-alphabet multitape interpreters and . On valid each reproduces acceptance or rejection reached in at most simulated transitions, and rejects at expiry; malformed inputs halt rejecting. Put , including self-delimiting syntax, and let be the sum of visited simulated cells. For each fixed , the time cost of is and the visited space of is , including the decoder and clock. These bounds include . No fast-time bound is asserted for , and no linear- space bound for .
Facts & Assumptions
Given: Valid finite machine/input/clock data as in the statement. The two interpreters constructed below are distinct. Work without any choice principle.
External binary clocks are inputs; constructor time and workspace are separately charged (Machine time and space constructibility).
The fixed numeric machine coding uses canonical binary numerals and the prefix-free variable-arity tuple encoder , where (A fixed effective binary encoding of deterministic one-tape Turing machines).
Parsing and checking the finite description tuple gives a total decoder (The chosen machine coding is injective and has a total decoder). No running-time bound for that decoder is imported.
A deterministic -tape step reads scanned symbols, selects one transition, writes symbols and prescribes left/right moves (Multitape and nondeterministic Turing machine variants).
In the published one-tape interface, input occupies cells starting at zero, the head starts at zero, a left move at zero clamps there, and the initial state is nonhalting (Initial tapes and machine-relative halting configurations). Step 1.1 explicitly extends this convention tape by tape to the multitape syntax used here.
A step updates only the scanned cells, changes the state, and moves the heads as prescribed; no step starts from a halting state (The one-step configuration relation, tape by tape using F4).
Proof
Fix the input syntax first. A model tag distinguishes the published one-tape code from its following multitape extension. For the latter, encode the tape count , states with start/accept/reject , alphabet with blank0, and input alphabet , where and . List the transition entries in lexicographic order of for nonhalting . Each entry records one next state, written symbols and directions. Apply the tuple blocks from F2 to these canonical numerals. A tagged old code is the case with its original interpretation. The tag changes its length by a constant. For either tagged form, define the initial multitape configuration to have state0 and every head at cell0, with in cells of the first tape and every other cell of every tape blank; each tape uses F5's clamped left boundary. Encode the word by its tuple of canonical symbol numerals, explicitly allowing arity zero with code for the empty word. The outer tuple contains the program, word and canonical ; its self-delimiting syntax is included in the input-length accounting. These explicit extensions do not reinterpret any published one-tape code.
A finite parser reads unary lengths and the indicated blocks, verifies canonical numerals, the model tag, symbol/state ranges and the table's actual entry count, and rejects extra or missing bits. To check the expected count against an actual count , use integer arithmetic saturated at : when stop exponentiation as soon as it exceeds , and when the power is one. Thus an enormous malformed tape-count numeral cannot force an enormous allocation. All malformed inputs halt rejecting by finite scans and finite arithmetic loops. On valid inputs for a fixed , the whole program, , alphabet widths and table length are constants. Scan the word blocks once, consuming their unary length headers on spare tapes and checking each symbol against the fixed alphabet; copy the decoded word to a sequential archive. Validate/copy the binary clock by one scan. These routines cost time and space: every input bit is traversed a bounded number of times, except scans of fixed -data. The theorem claims no uniform time bound on malformed descriptions.
For the time interpreter, give each virtual tape a centre record and two ordered stacks of records extending outwards. Each record stores a tape symbol and an immutable origin bit, initially1 exactly at cell0. Writing changes only the symbol. The positive stack initially contains input cells1,2,... and then blanks on the first tape, and blanks on the others; the negative stacks initially contain blanks. Put , . On each side zone has capacity , with occupancy in ; holes use a distinct code, and ordinary blank symbols count as genuine records. Genuine records are packed at the near end in stack order. The two occupancies at each level sum to . Initially both are , and the centre is the initial scanned cell. Ignoring holes and concatenating the zones gives the exact two stacks. The base zone has capacity2 and half-occupancy1.
Construct separately. Use the same validated finite program and input archive, but store the virtual tapes as delimited rows of fixed-width symbol records with one head flag per row. Include cells through the larger of the last initially occupied input cell and the furthest cell so far visited. Other tapes start blank. Sweeps locate the flags and read their symbols; a scan of the fixed program table selects the transition. Further sweeps write the symbols and move each flag to its adjacent record, clamping at zero and appending a blank record when needed. Inserting a record can shift a finite suffix from its right end with one temporary record, or copy the rows to a spare tape of their total length. Update the state only after all rows' actions. These operations produce exactly the next configuration and keep no history. No fast-time bound for the sweeps is asserted.
For a move towards the positive stack, first write the old centre as prescribed and choose the least with nonempty right zone. All lower right zones are empty and their left partners full. Remove the first records from right zone . The first becomes the new centre; distribute the remaining in order into the lower right zones, with records in zone . Right occupancy at decreases by , from or to0 or . Prepend to the concatenated lower left zones. This list has records. Keep its first in the lower left zones, half in each, and prepend the remaining to left zone . Its old occupancy was0 or , hence its new occupancy is or . Order and complementary occupancy are preserved; every lower zone ends half-full. At the lower lists are empty and these formulas simply transfer one record to the centre and prepend the old centre on the other side.
Realize the buffers on a fixed number of physical tapes over a fixed alphabet of binary digits and finitely many marker codes. The interpreter does not acquire physical tapes or an alphabet . Instead a physical slot is a delimited block of fixed-width symbol/origin-or-hole fields. For fixed its width and the saved program-table length are constants. Two tapes store the outward left/right zone sequences; other fixed tapes store centres, table, archive, countdown and scratch lists. A zone has endpoint and midpoint markers and one three-valued occupancy flag per virtual tape. Scanning through zone traverses physical cells. If binary level labels are used their total length is also .
Interchange left and right for the negative-stack move. When a requested left move has the origin bit in its centre, perform the write but no stack move. Records retain their origin bits, so this is exactly the clamped convention and no auxiliary negative cell is scanned. A suitable source zone always exists, since untouched higher zones are half-full. Select the simulated transition from the original tuple of centre symbols, store its instructions, then process the buffer operations successively and update the state. Thus each completed simulated transition has exactly the writes, movements and state of ; one tape's redistribution does not alter another tape's fields.
Fix one virtual tape and . Let be total right occupancy below level , and . Initially . Every operation at level at least resets these lower zones to half-full, again leaving , including operations strictly above level . Between these resets, a positive-stack move at a lower level decreases by exactly1, a negative-stack move increases it by exactly1, and a clamped move leaves it unchanged: redistribution conserves all lower right records except the single transfer through the centre. An operation at level at least requires all lower source zones empty, so immediately before it or . Reaching either endpoint from needs at least preceding lower-level moves, followed by the triggering move.
Find the least nonempty source zone by scanning its occupancy flags. Copy the affected genuine sublists of the chosen virtual field to scratch in stack order, then scan back to distribute the explicit lists from step 4.1. Preserve other virtual fields, write holes in unoccupied slots, and update occupancy flags. Midpoint and endpoint markers determine all half-capacities without per-record unbounded arithmetic. A fixed number of copying/writing/return scans of this prefix and its scratch lists implements the redistribution, costing . To extend the allocated prefix, copy a unary marker of the previous zone's capacity twice, putting a midpoint between the copies. Each copy and return is linear, and writing the fields and updating the unary marker costs the new zone's length. The first zone is a literal layout. Thus allocation also costs . These are fixed finite-state scan/copy routines with saved finite program data; no random access or unit-cost large-integer operation is assumed.
Maintain a binary countdown initially . At each simulated configuration, test the state first and report its acceptance/rejection if halting. Otherwise reject if the countdown is zero; otherwise simulate one transition, decrement, and repeat. A whole-clock scan costs per transition, sufficient here without an additional amortization. A halt on the th transition is reported, while a still-nonhalting configuration at expiry rejects. At the nonhalting initial state rejects before simulation; at exactly one transition is allowed. A zero clock occupies one digit.
Consequently each event at level at least , including the first, is separated from the previous reset or the start by at least simulated transitions. Among transitions there are at most such events, and in particular at most that many events exactly at level . Higher resets are themselves counted events and cannot bypass this argument. There are at most level-zero events, and no level with is reached. This count applies separately to each of the fixed virtual tapes.
The convenient physical scan routines may use stationary heads. Compile this fixed physical machine to the left/right-only model by storing logical cell at physical cell . Implement each logical step by two physical steps: a right request uses , a left request , and a stationary request . On the first step write the desired logical symbol and retain the finite tuple of pending moves in finite control; on the second preserve the currently scanned symbol and complete the movement. Intermediate odd cells have no logical role. A left request at zero clamps at zero on both steps. All heads again lie at the prescribed even cells, including mixed moving/stationary requests. The fixed number of physical heads makes the pending tuple finite-control data. This initial spacing also has a left/right-only linear implementation: process two input symbols per four steps, with source moves and destination moves . Read the first symbol in the first step and the second in the second step, and write them at the destination even positions in the first and third steps. Ignore intermediate reads and preserve odd cells. One temporary symbol fits in finite control; an odd final symbol is paired with blank. The input delimiter detects the end, and a return sweep to marked cell zero is linear. Other unused heads oscillate in a four-step cycle. A spare tape receives the spaced input; the original raw-input tape is thereafter ignored. Thus initial spacing does not assume the stationary-head capability that is being compiled away. This compilation changes time and visited space by constant factors, plus input preparation.
Initialize only the centres, retaining the archive head at input position1; do not distribute the whole word into buffers. Unallocated zones mean their untouched initial half-full lists. On first reaching a new global level , initialize its right half-list for the first virtual tape from the next archive symbols, then blanks if the archive is exhausted; all other tape fields and the left halves initially receive blanks. Fill unused halves with holes. Initially that right zone represents positions . Operations below it leave this suffix unchanged, and new levels are allocated in increasing order, so the archive is exactly at the next untouched interval. If another virtual tape forces allocation first, initialize all fields of that zone then. Each symbol is read from the archive at most once and no scan back through the long input is needed. Allocation is charged to the first event reaching that level as in step 6.2. For there is only the initial archive scan plus the lazily reached buffer prefix, not preprocessing.
If is the visited extent on tape , the first row has at most records and every other row at most . Including fixed-width symbols, delimiters, saved code/input and scratch copies gives visited cells. Since a head starts at zero and moves by adjacent steps, its visited cells form this initial interval; their sum is the statement's , up to the harmless fixed endpoint convention. Add the -cell countdown and use the test-before-expiry loop of step 6.3. The finite valid-input decoder and saved tables use space by step 2.1. Spacing and the two-step physical compilation of step 7.2 change only constants. Hence this distinct interpreter uses visited space.
For , steps 7.1 and 6.2 bound the total buffer work on all virtual tapes by Initialization costs , table/centre processing , and clock work . Including the fixed compilation gives . At no buffer or transition work occurs and the constant clock length is absorbed by the nonempty encoded-input syntax. This constructs . No linear visited-space claim for its buffers has been used or proved.
Both interpreters halt rejecting malformed encodings, and reproduce the same bounded acceptance/rejection behavior on valid inputs by the configuration invariants and expiry test. Neither interpreter's resource proof is imported into the other. If the clock is produced by a constructor rather than supplied, add that constructor's separately declared time/workspace. All choices above are explicit finite scans and prescribed lists; no choice axiom is used.
Primitive recursive functions by initial functions and schemes
Definition
For each arity , primitive recursive functions are total maps given by finite derivation trees from the following rules. The empty tuple is the unique element of .
The initial functions are zero (in every arity), successor , and projections for . Composition forms from an -ary and -ary ; gives the constant value of . Primitive recursion forms the -ary function from a -ary and a -ary . In particular is allowed. This finite-tree definition is the least arity-indexed class closed under the rules: every closed class contains the value of each tree, by induction on the tree's finite depth.
A predicate is primitive recursive when its characteristic function, with true represented by and false by , is primitive recursive. This is a definition by the displayed schemes, not by computability or unbounded search.
Facts & Assumptions
Given: Initial functions and the two schemes above, on the naturals of The natural numbers (von Neumann). No choice axiom is assumed.
Recursion on naturals with an initial point in a set and a total successor operation has a unique total solution (The recursion theorem).
Verification
For total , fix . On set and . Recursion produces a unique sequence . Its first coordinate is : it is zero initially and increments at each step. Its second coordinate therefore satisfies exactly the two equations defining .
If another function satisfied those equations, its pairs would be the same unique recursion solution. Thus each parameter tuple and each have exactly one value. Define the parameterized graph by that unique-solution property inside ; this is not a choice of solutions from possibly many witnesses. Composition of total functions is total, and the initial functions are total. Applying these observations successively at the finitely many nodes of a derivation tree proves totality of its denoted function. Empty parameter tuples and nullary constants obey the same construction.
Fixed coding primitive recursive arithmetic and sequences
Statement
Addition, multiplication, truncated subtraction, comparisons, bounded sums and products, bounded search, and exponentiation are primitive recursive (PR). Use For positive , its head is its exponent of two and its tail is the remaining odd part minus one, divided by two; set both to zero at . List length, coordinate (zero beyond the length), reverse, append of one entry, concatenation and bounded list predicates are PR. Lists use this numeric code; a finite-alphabet word is a list of its letter numbers.
Facts & Assumptions
Given: The displayed coding, with all variables natural. Bounded search includes its bound and returns bound plus one if unsuccessful.
PR functions are generated by initial functions, composition and primitive recursion, including empty parameter tuples (Primitive recursive functions by initial functions and schemes).
A property holding at zero and preserved by successor holds for every natural (The principle of mathematical induction).
Proof
The recursions , , , , , give addition, multiplication and powers. Predecessor is , , so truncated subtraction is , . The zero test , yields and . All are applications of the schemes, with total values even at zero.
For PR , accumulate sums from initial value zero and products from one for by primitive recursion on . Products of Boolean values give bounded universal quantification and minus a product of complements gives bounded existential quantification. For a PR predicate , its least witness at most with failure value is If the least witness is , precisely the terms equal one; if none exists, all terms equal one. Bounded maximum can be obtained by searching in reverse or accumulating the latest successful index, initially zero. Conditional branches are arithmetic combinations with a Boolean selector.
For , divisibility is . A quotient, if present, is found by bounded least search. On , let be the largest such that . Such an exists since . A maximal one has odd quotient: an even quotient would make divide . Repeated division by two strictly decreases a positive even number, so this process terminates at an odd positive integer. It also proves uniqueness: if with odd positive and , cancellation would make even. Thus the bounded definition is exactly the two-adic valuation. The odd quotient has the unique form ; find by bounded search. These are the claimed head and tail functions with explicit zero branches.
For , . Let and . Primitive recursion makes PR. A strictly decreasing sequence of positive naturals starting at has at most terms: after decreases its value is at most . Therefore is precisely the list length. The list represented by any natural is well-founded; conversely successive cons operations encode each finite list, and the unique head/tail decomposition makes the encoding injective. Its coordinate function is , zero when .
Define and . Then reverses the list: after steps it contains the first entries in reverse order, by checking the initial value and the cons step. Appending is . To concatenate with , start the accumulator at and cons the entries of in order, stopping after steps. Its result is the entries of followed by those of . These bounded folds are PR even though their accumulator values need not be bounded by the input code.
Bounded list predicates are sums/products of tests on these coordinates. In particular a word parser can maintain a cursor and finite coded state for at most the word's length plus one iterations. Each iteration reads a coordinate, compares bounded lengths, updates arithmetic counters and appends decoded letters; on failure it records a fixed failure state and remains there. Every such update is one of the PR operations already proved, so primitive recursion implements the entire bounded scan. Binary numeral conversion uses the fold ; the reverse conversion finds the largest with when , then uses bounded division to obtain its bits, with the separate one-bit representation of zero. Empty lists have length zero and reverse zero; a singleton has length one and coordinate zero equal to . Empty sums/products are zero/one. No unbounded minimization or inference from computability to PR has been used.
Kleene computation predicate and output map
Definition
Use the list coding of Fixed coding primitive recursive arithmetic and sequences. Write for repeated cons ending in zero, not for an interval. The index denotes the binary word obtained by deleting the leading from : these are exactly the binary words in length-lexicographic order, starting with the empty word. Parse it by A fixed effective binary encoding of deterministic one-tape Turing machines. Invalid codes and codes with fewer than two input letters denote the nowhere-defined numeric function. These conventions leave the published literal program syntax unchanged.
Fix an arity . Encode as the published word from Finite tuples admit effective prefix-free binary encodings, including its unary arity header. Replace each bit by the machine letters . This is the initial tape, followed by blanks, with state and head both zero. Unary inputs also carry the one-entry tuple wrapper. The empty parameter tuple for primitive recursion is not an arity-zero machine input in this interface.
For a decoded program with states and tape symbols, a configuration code is exactly , where and is a list of symbols less than . Require , and require either or the last symbol of is nonblank. Coordinates beyond are zero. Thus the represented tape has finite support and is trimmed exactly through the larger of the head position and last nonblank position. This is a unique list representation of a configuration in Configurations of a deterministic one-tape Turing machine. It avoids any ambiguity from overlap of numerical state and tape alphabets.
A history is a list of such configuration codes. The predicate holds precisely when: the program is valid with at least two input letters; is a nonempty history; its first entry is the initial configuration on the specified tuple; every entry except the last is nonhalting; each adjacent pair satisfies The one-step configuration relation; and the last entry is in state or with canonical numeric output. The output word is the maximal initial tape segment whose letters lie in , converted back to bits. It is canonical iff it is the single bit or starts with . The empty output is invalid, not the numeral zero. The last state being accept or reject does not change the numeric output convention.
The total function reads the last entry of the history as a triple, reads the initial bit segment of its tape list, and returns that numeral's value if it is canonical. If is empty, its last entry is not a triple with a nonempty tape list, or the output is not canonical, return zero. This syntactic function does not need a program parameter or claim the history is valid. The following lemma proves that and are PR; that fact is not assumed in this definition.
Write for the numerical output if the actual run halts with canonical output, and leave it undefined otherwise. For omit the superscript. A malformed program or invalid terminal output can be implemented as genuine divergence: a wrapper rejects its syntax into an endless rightward blank walk, and after simulating a halt enters the same loop if the terminal numeral is invalid. Thus this convention represents partial functions in the sense of Partial functions computed by a machine under fixed encodings, not a third numeric value for failure. The wrapper is an interpretation of an index; it does not change its raw word or assert that its original run diverges.
Fixed machine history predicate is primitive recursive
Statement
For each fixed positive , the predicate and total output function of the preceding definition are primitive recursive. The predicate holds exactly on histories of a terminating canonical-numeric computation. For fixed , every witness has the same output .
Facts & Assumptions
Given: The fixed arity and conventions just specified. There is no bound on the running time of the program being described.
The history checks include the initial configuration, nonhalting intermediate configurations, consecutive steps and canonical output (Kleene computation predicate and output map).
Bounded arithmetic, search, list operations and explicitly bounded scans are PR (Fixed coding primitive recursive arithmetic and sequences).
Properties propagate from zero by successor induction (The principle of mathematical induction).
Proof
Decode the word of index by binary expansion of and deleting its leading bit. The operations are PR by F2. Parse its unary arity header and each unary-length block with a cursor, taking at most word length plus one parser rounds; failed states stay failed. Horner conversion decodes a numeral. Check canonicality, , , , , tuple length , and the ranges of every triple. Multiplication and comparisons are PR; bounded iteration over the actual list checks every entry and no unprovided entries. Hence program validity and decoded table lookup, with a fixed zero fallback on failure, are PR.
For a candidate configuration, its list must have exactly three entries. Check state range, , all symbol ranges and the trimming condition in F1 by bounded comparisons and a scan of . Construct the initial tape word by converting each of the fixed input numbers into its canonical numeral, appending the arity and length headers, and changing bit to letter . All these are bounded folds in F2; their bounds may be PR functions of the arguments, not constant bounds. Its initial configuration code has state/head zero and the resulting nonempty tape word, so equality of the proposed first entry with it is PR.
For two valid configuration codes and , reject if is halting. Otherwise read the table entry for and the coordinate , obtaining . Check , , and at each other than . Beyond this bound both tapes are blank. Check if and if . These PR checks express precisely one actual step, including clamping and any new last cell; the validity tests already require canonical trimming on both sides.
A bounded conjunction over the history list tests all configurations and all adjacent pairs. Nonemptiness and first/last entry checks are PR. For terminal output, find the first coordinate of the last tape list not in , using its length as the value if no such coordinate occurs. This stopping rule gives exactly the maximal bit prefix; only in the latter case is its next implicit cell necessarily blank. Reject an empty prefix; accept a leading bit or the single bit . Horner accumulation computes its value. On any syntactic failure set to zero. All scans are bounded by a decoded finite length, proving that is total PR and the conjunction is PR. No search for a halting time occurs in these tests.
If holds, its initial check places the list at the actual starting configuration. At every subsequent position the exact step check produces the unique next configuration, so successor induction identifies the entire list with an initial segment of the actual run. Its final state is halting and all earlier ones are nonhalting, hence this is the first halt and has canonical output. Conversely, a finite actual run ending at its first halt with canonical output has finitely supported tapes; trim and encode its configurations as prescribed and cons them into a history. It passes every check. The start is nonhalting, so a purported length-one halting history does not pass.
Two witnessing histories coincide at every common time by determinism and induction. If one were shorter, the longer would have a nonhalting entry at the time where the shorter has its halting entry, impossible since these entries coincide. Thus their lengths and final configurations coincide, and the deterministic extraction in U gives the same value. Empty histories are false, malformed indices have no witnesses, and invalid output has no witness although U itself remains total. This proves all claims without an assumption of eventual halting or any choice.
Kleene normal form for the fixed machine coding
Statement
For each fixed positive arity , the numerical partial function of program index has normal form The right side is undefined when there is no witness. The partial recursive functions are the smallest arity-indexed class containing the initial functions and closed under composition, primitive recursion and unbounded minimization, with partial evaluations performed strictly. In particular is defined with value exactly when is defined and nonzero for every , and . This class is exactly the numerical partial functions computed by Turing machines under the fixed encodings.
Facts & Assumptions
Given: The fixed numeric program, tuple and output conventions. For a predicate, means the least true witness, equivalently minimization of .
The total functions are PR, recognize precisely first-halting canonical-output computations and give the same output on every witness (Fixed machine history predicate is primitive recursive).
The initial functions, composition and primitive-recursion equations are specified with nullary parameter tuples allowed (Primitive recursive functions by initial functions and schemes).
A fixed one-tape interpreter executes one coded step and returns the unique successor on a valid nonhalting configuration (A fixed interpreter can execute one encoded machine step).
Proof
Since is a total Boolean predicate, test in order. If some witness exists this search reaches the least one after finitely many terminating tests; if none exists it never terminates. F1 then gives exactly the numerical function and domain of . Since PR functions belong to the partial recursive class, composition of U with minimization of is partial recursive. Thus every machine function belongs to that class.
Here are finite tape routines for the converse. Store finitely many finite words in delimited zones, with marked versions of each symbol. To copy a zone, find its next unmarked symbol by a left-to-right sweep, mark it, carry that symbol in the finite control to the destination delimiter, append it, and return to the source; after its end delimiter is reached, unmark the source. To insert room, scan to the last occupied delimiter and shift the suffix right by one cell, working from right to left while carrying one symbol. Erasing and testing an empty zone are sweeps to its delimiter. Binary increment scans rightward to the last digit, changes trailing ones to zero and the preceding zero to one, inserting a leading one if necessary. Zero testing compares with the one-letter zero word. Each sweep terminates on a finite zone; its cases concern a finite alphabet, so each description expands to finitely many states and transitions. Distinct control-state tags prevent interference. A left-edge flag prevents a sweep going below zero. If a routine uses a stationary move, store logical cells at even physical positions: a stationary action is right-left, a right move is right-right and a left move is left-left, with right-left for a clamped left move at zero. Delay a requested halt to the end of the two-transition action. This gives the stipulated left/right-only one-tape model.
Parse and copy the tuple inputs by these routines. Zero writes the single zero numeral, successor applies binary increment, and a projection copies its designated input numeral. For a composition , keep the original tuple, run the sequentially on copies, save each canonical result, form their tuple and run . To invoke a compiled machine without allowing its tape to destroy stored arguments, simulate its finite configuration in a separate zone using F3, retaining the calling zones outside that encoded tape. Copy its final output back only after a valid numeric halt; on invalid output or malformed code enter an endless rightward walk. Interpreter code and finite program constants can be inserted with renamed states and finite literal-writing chains. All required subcalls terminate exactly when their represented functions are defined. Thus the composition is strict in every inner argument, including when the outer function happens to ignore an argument.
For primitive recursion, retain and the target . Run , then for run where is the previous result, increment and replace . At there are no calls to h. If any required call diverges, the entire computation diverges. Otherwise the loop makes exactly calls and its successive stored values satisfy the recursion equations, so it computes their strict partial interpretation. Nullary g is a constant routine on the empty stored argument list; it needs no arity-zero numeric evaluator.
For minimization, start , run the compiled , output j on zero, and increment and repeat on nonzero. An undefined call blocks forever; it is not bypassed by dovetailing. Consequently termination at z occurs exactly under the minimization condition in the Statement. Each finite derivation of a partial recursive function now produces a finite program: process its tree from leaves to root using the preceding compilation constructions. The process is effective, since renaming a finite list of states, writing a literal constant, combining finite tables and encoding a table are finite scans with the explicit routines of step 1.2.
The programs thus built erase scratch, write the canonical output at the left edge, and halt only on a defined value; the internal simulation keeps scratch outside each simulated tape. They therefore compute the represented partial functions with precisely the required domains. Conversely step 1.1 covers every valid machine and assigns the empty domain to malformed or invalid-output indices. This proves the normal form and both inclusions of classes, including functions undefined everywhere. No complexity bound on the compiler or search is asserted.
Computable many one reducibility interface
Definition
For , write if a total computable satisfies Computability uses Kleene normal form for the fixed machine coding and the encoded partial-function meaning of Partial functions computed by a machine under fixed encodings. Direction is from the membership problem A to the target B.
For an oracle , has the same definition with f total X-computable. An oracle program is a finite ordinary tape program augmented by a query tape and a query instruction: when its tape contains a canonical numeral, receive in one query transition the bit indicating membership of that number in X; malformed queries receive zero. Writing the query costs ordinary transitions. This convention does not assert that X is computable.
For languages over fixed finite alphabets, instead means a total string-valued computable map f with iff on every source word. In the numeric-to-string bridge below, only canonical input numerals have a membership requirement, and their outputs must be canonical. This is not a claim about reductions between unrestricted numeral-image languages.
Facts & Assumptions
Given: The definitions above, canonical numeral parsing and finite tape routines. The bridge is restricted to canonical numeral inputs and outputs.
The normal-form theorem supplies machine computability and strict composition of computable routines (Kleene normal form for the fixed machine coding).
Verification
Identity is total computable and preserves membership, so . If f reduces A to B and g reduces B to C, compute f then g; both halt on every natural, and iff iff . The same sequential program works with oracle X for both routines, routing each query to X. String-valued identity and composition obey the identical membership calculation.
Given a numeric reduction f, parse a source word. On a canonical numeral for n, add the numeric machine's tuple wrapper, run f, decode its numeric result and output . On malformed input output the one-letter zero. This is total and meets precisely the canonical-input specification. Conversely a total string map having canonical outputs on all canonical inputs gives a total numeric map by forming , running the map, and decoding its canonical output. The iff of membership is preserved in each direction. These finite encoders/decoders work unchanged relative to X. Malformed input is outside this bridge's specification; choosing zero there would not in general reduce the full numeral-image language if .
Oracle turing reducibility interface
Definition
An oracle is used by a deterministic finite multitape program as in Multitape and nondeterministic Turing machine variants, with an extra query tape, a query state and two answer states. Entering the query state reads the maximal initial bit word of the query tape. If canonical, its decoded number receives its membership bit in X; otherwise the answer is zero. One transition moves to the corresponding answer state, with ordinary tapes and head positions unchanged. This is the oracle instruction allowed in Computable many one reducibility interface; preparing or clearing a query uses ordinary transitions.
A partial function is X-computable when such a program on the encoded numeric inputs halts with the prescribed numeric output exactly on its domain. A set is X-c.e. when an oracle program accepts exactly its members; it may reject or diverge elsewhere. In contrast, means a B-oracle program halts on every natural input and outputs the characteristic bit of A. Queries may depend on earlier answers, and both answers can affect the computation. Malformed input numerals impose no condition on a numeric decider.
Facts & Assumptions
Given: The oracle model just defined and total deciders for the indicated reductions.
A many-one reduction is total and preserves membership by one iff on every natural (Computable many one reducibility interface).
Verification
To decide A from B when , run the total map f, put its canonical result on the query tape, make one query to B and output that bit. Both f and the single query terminate, and the iff in F1 gives the correct answer. Identity querying also decides any B from itself.
Suppose and . A C-program simulates the A-decider, keeping its finite configuration in a protected work zone. When the simulated machine queries a canonical number b, run the total C-decider for B on b in separate work zones, and return its bit as the simulated B answer; malformed queries return zero immediately. Finite table simulation and work-zone copying do not depend on knowing B. Each subcall halts. On a fixed input the original A computation has finitely many transitions and queries; induction over those transitions shows the composite eventually reaches the same halt and bit. Thus , with no uniform bound on the lengths or number of subcalls required. Replacing the B-decider by a recognizer would invalidate this argument at a negative query, since that call might diverge.
Acceptable numbering with universal evaluation
Definition
A numbering lists all unary partial computable functions on the naturals. It is acceptable in the composition formulation used here if evaluation is partial computable and there is a total computable with Here means both sides have the same domain and values; composition is strict. The fixed machine numbering of Kleene computation predicate and output map is acceptable.
Arity notation always means applying the same underlying single-word program evaluator to the fixed encoded tuple, as specified there: uses raw input . In particular the unary case uses a one-entry tuple. This is not the assertion that a multi-entry tuple word is literally a unary numeral. When transferring an arity-k algorithm to a numerical unary algorithm on codes of tuples, explicitly decode that code and pass the recovered tuple word to the raw evaluator.
Facts & Assumptions
Given: The fixed coding and strict output/divergence convention, including malformed programs.
Every partial recursive numerical function has a finite machine compiler, and these are exactly the machine functions (Kleene normal form for the fixed machine coding).
The one-step interpreter is a fixed machine returning the unique successor on nonhalting configurations (A fixed interpreter can execute one encoded machine step).
Indices enumerate words in length-lexicographic order; malformed codes denote nowhere-defined numeric functions, and the tuple and output conventions are fixed (Kleene computation predicate and output map).
Verification
For evaluation, decode e into its word and validate it, looping forever if invalid. Construct the initial configuration on the one-entry tuple for x and iterate F2 until its first halt. Extract the canonical numeral if present and otherwise loop forever. The finite decoding and tape-zone routines in F1 implement the preprocessing and iteration; F3 identifies the result and domain exactly with . Every finite program has an index, and F1 compiles every numerical partial computable function, proving exhaustivity.
Given e,d, generate a program which retains its unary input x, runs the evaluator on , retains its numeric result y, and runs the evaluator on . Include e and d by finite chains of states writing their canonical bits; rename the evaluator's state copies to disjoint consecutive state intervals and use delimited work zones as in F1. Set the three designated states to 0,1,2, assign numbers to all remaining states and tape symbols, and fill unused state-symbol entries with transitions to an explicit infinite rightward walk. Emit every transition in the fixed lexicographic syntax and encode the table. If w is the resulting word, its index is . Scanning finite tables and binary arithmetic are halting tape routines from F1, so this compiler c is total on all e,d, independently of whether the generated program will halt.
On x the generated program halts exactly when the d-evaluation halts with y and the e-evaluation on y halts. In that event it returns the latter value; if either call diverges, so does the composite. This is the strict composition equation. A malformed e or d causes the corresponding evaluation to diverge, exactly as required. Thus universality and the total composition compiler hold without assuming specialization or fixed points.
Smn for the fixed acceptable numbering
Statement
For all positive there is a total computable specialization function such that The compiler is uniform in the positive arities and the finite parameter tuple. Equality includes domains, not only values when both sides happen to halt.
Facts & Assumptions
Given: Valid positive arities and canonical numerical parameters; e can be any index.
A fixed raw evaluator and effective literal finite-table compilation are supplied by the acceptable-numbering interface (Acceptable numbering with universal evaluation).
Canonical numeral conversion and finite-list concatenation/parsing are computable by the PR operations (Fixed coding primitive recursive arithmetic and sequences).
Proof
Generate the following finite program. Parse its input as exactly an n-entry tuple of canonical numerals, entering an endless walk on failure. Retain those entries, write the literal canonical numerals into new zones, and form the tuple with arity header , the m parameter blocks and the n retained input blocks. Each word block w is written as . Run the raw evaluator on program e and that tuple word, with canonical output normalization. F1 implements the evaluator and the literal-writing chains; F2 implements the parser and tuple construction. Encode the resulting finite table and return its length-lex index. This defines .
Code generation does not execute e. It scans only the finite arities, parameter numerals and fixed evaluator template, expanding each literal into a finite writing-state chain. It therefore halts for every allowed input, even when e is malformed or represents a divergent function. A single generator handles all m,n by loops over their finite numerals and parameter list. On malformed generator inputs it may return a fixed index; the stated compiler uses only the valid ones.
On the tuple for , the generated parser succeeds and supplies exactly to the raw e-evaluator. Every preprocessing operation terminates. Thus its subsequent run has exactly the canonical output of that evaluation or diverges exactly when that evaluation is undefined. This proves the displayed equality of domains and values, including zero parameters, zero-valued inputs, malformed e and empty partial domains. For m=n=1 the construction simply prepends one stored numeral and changes the arity header to two.
Kleene fixed point theorem for program indices
Statement
For every total computable , there is e with as partial functions. An index e can be computed from an index for F on the promise that F is total. Equality here is extensional; it does not assert .
Facts & Assumptions
Given: An index f computing the total function F.
Binary-to-unary specialization is total computable and preserves domains and values (Smn for the fixed acceptable numbering).
Universal evaluation and literal finite program compilation are effective (Acceptable numbering with universal evaluation).
Proof
Compile a binary program q which on first computes , then evaluates f on that number, obtaining , then evaluates that index on y. F1 supplies the first terminating subroutine, totality of F the second, and F2 the possibly partial last evaluation. Thus its binary function is . The finite compiler inserts f literally, so q is obtained effectively from f without running F during code generation.
Compute . For each y, specialization gives . The first two subcalls in H terminate, so either the last call halts with exactly the asserted value or both sides are undefined. This proves equality of the partial domains as well as values. Computing q and then e is a halting transformation of the given index f; if the promise of totality fails the transformation still produces a number, but the asserted fixed-point conclusion is not inferred.
Polynomial time verifier and reduction interface
Definition
Use deterministic multitape machines and transition-count time from Multitape and nondeterministic Turing machine variants and Uniform asymptotic time space comparison. A machine is polynomial time if it halts on every input of length n in at most transitions, for fixed positive integer C and nonnegative integer k. The class P consists of binary languages decided by such machines.
A verifier consists of a binary relation R decided in time polynomial in , together with an explicit nonnegative integer polynomial witness guard p. Its guarded relation is and , and its language is This is the verifier presentation of NP. No equivalence with other machine definitions of NP is needed here. Encode as , of length ; parsing recovers both words. The guard is part of the definition even if the unguarded relation accepts longer witnesses.
A polynomial many-one reduction from binary L to binary K is a total function computed by a fixed deterministic multitape transducer with polynomial time and polynomial output length, such that iff . Here we extend the input/output semantics of Partial functions computed by a machine under fixed encodings from its one-tape model to the multitape model just fixed, using identity encodings of binary words: on every input x the transducer halts with output f(x). This is a local definition of multitape transduction. Output is the finite contiguous binary word beginning at cell zero on a designated tape, ending at the first delimiter or blank. These definitions include empty words and use n+1 to cover length zero.
Facts & Assumptions
Given: The multitape model and the explicit polynomial bounds in the definitions. No universal-simulator time bound is assumed.
Verification
A head visits at most T new cells in T transitions. Thus an output word occupies at most its initially occupied input extent plus T plus one cells: a polynomial time bound gives a polynomial output-length bound when input and output share a tape, and at most T plus one on an initially blank output tape. For composition of reductions with time/length bounds and , the first output has length at most . Retain that result on work tapes and run the second fixed machine on it. The two fixed programs can be joined on finitely many tapes, with linear copying/preparation time. Their combined time is bounded by a constant multiple of , a polynomial. The membership iff composes, proving transitivity.
If fixed-length certificates are wanted, let . Encode a witness w of length by the length field followed by , a word of length . The verifier rejects certificates whose total length is not , then checks the field consists of at most P initial ones followed by zeros, then checks the last payload bits are zero, and applies R to the first payload bits. Every guarded witness has this encoding, and every accepted encoding decodes one guarded witness. Scanning and evaluating p in binary and writing at most polynomially many cells are polynomial operations for the fixed polynomial p (successive addition/multiplication of its fixed number of binary factors suffices). The case P=0 has certificate 0 and decoded empty witness. This optional padding therefore preserves the language and polynomial bounds.
Probabilistic polynomial time machine interface
Definition
A probabilistic Turing machine (PTM) is a fixed multitape machine with two total ordinary transition tables. At each nonhalting transition a fresh independent fair bit selects the table. It is polynomial time if one fixed integer polynomial p bounds the number of transitions on every random branch on every input x by . This is a worst-case branch bound, using Polynomial time verifier and reduction interface, not an expected-time bound.
For an input of length n, probabilities may be defined on the finite space , giving every word mass . A deterministic simulator uses bit j for transition j and ignores unused suffix bits after halting. Acceptance probability is the sum of masses of words giving acceptance. Independence has the finite-variable meaning of Pairwise and mutual independence of finite-valued random variables. The finite probability space is not itself storage charged to the machine.
Facts & Assumptions
Given: A PTM with the displayed all-branch bound p.
Mutual independence means that every prescribed finite set of coordinate values has joint probability equal to the product of its marginals (Pairwise and mutual independence of finite-valued random variables).
Verification
A fixed prefix of j bits occurs in words, hence has mass . More generally, prescribing any j distinct bit positions leaves free coordinates and has the same count. Each marginal is one half, and the joint probabilities factor, exactly as in F1. The empty prescription has mass one.
For a fixed supplied word, the simulator and the PTM take the same first table, and agreement through transition j makes them use the same table and configuration at the next transition. Thus they agree up to the halt by induction. A branch halting after j steps corresponds to precisely the words with that consumed prefix, of total mass ; prefixes for distinct terminal branches are disjoint. Summing their masses proves agreement with fresh fair-bit semantics, even when the stopping time depends on previous bits. Unused suffixes have been counted, not assumed independent of a stopping rule. For p(n)=0 the space is the singleton containing the empty word; in a model with nonhalting start such a bound is impossible on that input, which is consistent with the definition.
Rp corp zpp bpp and pp classes
Definition
For a polynomial all-branch PTM, let be its acceptance probability as in Probabilistic polynomial time machine interface. RP requires on L and off L. coRP requires on L and off L. BPP requires on L and off L. PP requires on L and off L. Each class quantifies existence of one fixed PTM with the indicated behavior. In particular PP uses a strict majority on members, not a bounded-error gap.
For a possibly unbounded PTM on fixed x, let be the fraction of length-j bit words on which it has not halted after j transitions. Halting branches are extended by ignored bits, so . Define expected runtime by the nonnegative survival sum The sum is the supremum of its finite partial sums, or infinity if they are unbounded. Define probability-one halting to mean . Zero error means every halting branch gives the correct yes/no answer. ZPP consists of languages with such a zero-error PTM and for a fixed positive integer polynomial p. This definition uses finite prefixes and nonnegative series; it does not presuppose an infinite product probability space.
Equivalently, ZPP has a polynomial all-branch PTM with outputs yes/no/unknown, never wrong, and unknown probability at most on each input. Moreover .
Facts & Assumptions
Given: The finite-prefix definitions above. A restart uses a fresh block of bits and restores the initial work configuration.
Independent uniform bit strings and ignored suffixes implement PTM probabilities (Probabilistic polynomial time machine interface).
A nonnegative real series is the supremum of its partial sums if bounded, and diverges to infinity otherwise (A series of nonnegative terms converges iff its partial sums are bounded, and then the sum is their supremum).
For a nonnegative finite-space variable Y and , (Markov's inequality on a finite probability space).
Verification
At a finite cutoff K, on the finite space of K bits, so its expectation is . The equality follows pointwise by counting the j before the truncated halt. Thus F2 makes the displayed survival sum an exact extension of finite expected runtime. On the K-bit space for K positive, hence F3 gives . This also follows by adding the first K decreasing survival terms. If the expectation is finite, choosing arbitrarily large K shows . No nonhalting mass has been silently omitted from a sum over halting prefixes.
Given expected runtime at most p(n), truncate the machine after simulated transitions, preserving any halt reached on the last allowed transition, and return unknown otherwise. Step 1.1 bounds unknown probability . A deterministic counter and a direct simulation of this one fixed machine cost polynomial time even if a counter scan is used at every transition. A returned yes/no is an actual terminal answer, so it is never wrong. This proves the bounded-unknown formulation from the expected-time one.
Conversely let a bounded-unknown algorithm cost at most p(n) per attempt. Repeat after unknown, with disjoint fresh blocks, until yes/no. Include input restoration and block generation in a larger polynomial bound P(n). Independence of complete blocks gives probability of reaching attempt r at most , by multiplying the conditional failure probability at each restart. Grouping the first KP(n) survival terms by attempts gives expected runtime at most . The finite sum identity follows on multiplying by one half and subtracting: . Every shorter prefix sum has the same upper bound by monotonicity, so F2 gives total expectation at most . Step 1.1 gives probability-one halting; no attempt can return a wrong answer.
If L is in both RP and coRP, run its two bounded machines with independent bit blocks. An RP acceptance certifies membership; a coRP rejection certifies nonmembership; if neither occurs, output unknown. On a member the coRP machine never rejects and the RP machine certifies yes with probability at least one half. On a nonmember the RP machine never accepts and the coRP machine certifies no with probability at least one half. Both certificates cannot occur on any input branch: a zero-probability bad terminal event in a finite uniform space is empty. Thus this procedure is never wrong and has unknown probability at most one half.
From a bounded-unknown zero-error procedure obtain an RP machine by interpreting unknown as no, and a coRP machine by interpreting unknown as yes. The successful correct answer has probability at least one half on the relevant input side; the opposite wrong certificate has probability zero. Together with step 3.1 and the equivalence established above, this proves . Empty languages, full languages and empty input cause no change: the polynomial guard is positive and the correct deterministic output is permitted. None of these transformations changes PP's strict threshold to a BPP gap.
Pairwise independent hash family interface
Definition
Let D,R be finite sets with R nonempty and let K be a finite nonempty set of seeds, each having probability . A family is pairwise independent if, for every and , and, for distinct and all , This is the finite joint-probability factorization of Pairwise and mutual independence of finite-valued random variables, stated by counts so R need not be a subset of the reals. Distinct seeds may encode the same function. For the pair condition is vacuous, but the marginal requirement remains. Collision-probability bounds alone are not this definition.
For any finite field F, the seeds and maps form such a family on . Zero slopes are included.
Facts & Assumptions
Given: A finite field F; all ordered seed pairs are equally likely.
A field has distinct zero and one, distributive operations and multiplicative inverses of nonzero elements (Field).
Verification
Fix x and a desired u. For each , the equation has the unique solution by additive cancellation. Hence exactly of seeds give u, proving marginal probability . In particular the seed with a=0 is necessary to this full family and is permitted. F is nonempty, indeed has at least two elements by F1.
For distinct x,y and prescribed u,v, subtraction gives . The nonzero has an inverse, so necessarily and . These values work: . They are unique by multiplication by the inverse and additive cancellation; uniqueness of an inverse itself follows from when c,d are both inverses. Exactly one seed therefore realizes each ordered output pair, with probability , equal to the product of the marginals from step 1.1. This proves pairwise independence. Equal x,y are intentionally excluded: their values cannot be independently prescribed.
Chernoff bound for independent bernoulli trials
Statement
Let be mutually independent Bernoulli variables on a finite probability space. Set and . For , For , For the upper and lower tails are respectively at most and , and At the lower optimized bound is , proved directly rather than by taking . Empty sums and are included. Also, for and ,
Facts & Assumptions
Given: The finite mutually independent family above. No AC is assumed.
Bernoulli probabilities are and at 1 and 0 (Bernoulli random variables and binomial random variables as sums of independent Bernoulli trials).
Expectation factors for a finite product of mutually independent variables (Expectation factors over a finite product of mutually independent random variables).
Finite-space Markov bounds a nonnegative variable at a positive threshold (Markov's inequality on a finite probability space).
Exponential addition and positivity give products and reciprocals of exponentials (The exponential addition formula , The exponential is positive and satisfies ); by its series (The real exponential function and the number by a power series). The exponential is strictly increasing (The exponential function is strictly increasing), and log is its inverse on positive reals (The natural logarithm as the inverse of the exponential function).
The exponential derivative is exp and the logarithm derivative is on positive reals (The exponential function is smooth and , The natural logarithm has derivative 1/x and equals the integral from 1 to x of 1/t). Chain and algebra rules apply where their denominators are nonzero (The chain rule, in one line from Carathéodory: if is differentiable at and is differentiable at , then is differentiable at with , Sums, scalar multiples, products and quotients: , , , and when ).
The mean value theorem on a closed interval with continuous function and differentiable interior converts a derivative sign to monotonicity (The mean value theorem, as the case of Cauchy's: for continuous on with and differentiable on there is with ).
Proof
The function is zero at zero and has derivative , nonnegative for and nonpositive for . On each compact interval between zero and u it is smooth, so F6 proves for either sign of u. Thus for every real u.
Functions of distinct independent variables remain mutually independent here: for each prescribed transformed value, sum the original joint probabilities over its finite preimage; the product factorization distributes over these finite sums. Consequently F2 and exponential addition give, for every real , Every factor before the inequality is positive, even when or 1, so multiplying the inequalities from step 1.1 preserves order.
For , Markov with bounds the upper-tail probability by , which is exactly the upper displayed expression. For , take ; then implies . Markov with this positive threshold gives the lower displayed expression. At both rate expressions are zero and the assertion is just a probability at most one; no positive exponential parameter is needed.
On set . Its derivative is and , hence . Therefore the derivative of is nonnegative and its value at zero is zero. For , the derivative of is and its value at zero is zero. It follows that the derivative of is nonnegative, with zero initial value. All denominators and logarithm arguments are positive on the compact intervals used. F6 proves the rate bounds and . Substitution in step 3.1 gives the simplified tails away from the lower endpoint .
At , independence gives by step 1.1, including a zero factor when some . This also implies the weaker lower bound . If , every , so each event has mass zero; summing the finitely many masses shows almost surely. Both weak multiplicative thresholds then have probability one, matching their bounds one. For this holds identically by the empty-sum convention. Finally and finite summation give the union bound. Applying it to upper and lower deviations and using gives the stated two-sided bound, also at .
For a single Bernoulli(p), put and . Direct differentiation gives , and , where . Thus , since . The smooth function has and . Apply F6 first to v' and then to v on either side of zero: v' is nonincreasing, so v is nondecreasing up to zero and nonincreasing after zero. Hence for all real , including both deterministic p endpoints. Exponentiating yields .
Factor the centered exponential expectation using the independence justification of step 2.1 to obtain . For , Markov with bounds by . Apply the same estimate with to . The union bound from step 5.1 gives the additive assertion. At t=0 its right side is two and is trivially an upper bound. Division by N is licensed by the additive assertion's hypothesis ; nothing is asserted from that formula at N=0.
Schwartz zippel over finite fields
Statement
Let F be a finite field, , and a nonzero formal polynomial of total degree d. For a nonempty subset and independent uniform , In particular gives the bound . A nonzero constant has zero vanishing probability. Nonzero formal polynomials can nonetheless induce the zero function on the whole finite grid when their degree is large.
Facts & Assumptions
Given: The finite field, nonzero formal polynomial and nonempty A above. Uniform independent sampling gives mass to each tuple.
Total degree is the largest sum of exponents of a nonzero coefficient in the unique finite monomial expansion (Monomials, coefficients, degree in each variable and total degree in ).
A nonzero univariate polynomial of degree r over an integral domain has at most r roots (A nonzero polynomial of degree over an integral domain has at most distinct roots).
In a field every nonzero element has a multiplicative inverse and zero is distinct from one (Field).
Successor induction proves a property for all naturals (The principle of mathematical induction).
Proof
A field is an integral domain: distributivity gives , so additive cancellation gives . If and , multiply by to obtain . Thus F2 applies over F. For m=1 it gives at most d roots in A, and hence probability at most and also at most one. If d=0 in any number of variables, F1 makes f a nonzero constant, with no zero evaluations.
To pass from m-1 to m for , suppose the asserted root-count bound holds in m-1 variables for every nonzero polynomial. Put . If the target minimum is one and the bound is immediate from counting at most all tuples. It remains to consider . Collect monomials by the last exponent as with . F1 gives , and .
By the m-1 assertion the number B of base tuples in on which vanishes is at most . For the other tuples, specialization yields a nonzero univariate polynomial of degree exactly r, so F2 bounds its roots by r. A bad base tuple has at most q possible last coordinates, regardless of whether its specialized polynomial is zero. The total zero count is therefore For r=0 the good specializations are nonzero constants and have zero roots, exactly as this count says. Division by gives .
Step 1.1 supplies the one-variable base; steps 2.1–3.1 pass the root-count bound to each next number of variables, and F4 gives it for every positive m. The case is covered by the constant case or , so no hidden division by q-1 occurs. To see why formal nonzero is the right hypothesis, for any finite F the formal product has leading coefficient one and degree , yet vanishes at every element of F. This finite product needs no ordering choice: commuting factors give the same polynomial in any listing. Thus a vanishing polynomial function is compatible with the bound when degree is large.
5 · Examples, counterexamples and false statements
None yet.
Sources
- Arora–Barak §§1.2–1.3; local explicit uniform-constant and small-input conventions
- Arora–Barak Chapter 3 constructibility conventions, adapted contract; complete source reading pending
- Arora–Barak, Appendix 1.A, printed35–38, time-buffer route; integral reset counting, lazy initialization and separate space construction supplied locally
- Gallier §1.7–§1.8 (recovery edition); local parameter-recursion construction
- Gallier §§1.7–1.8, Proposition 1.5–1.8 and §2.1 coding; local cons coding replaces prime-sequence coding
- Gallier §2.3, adapted from register configurations to the published machine syntax
- Gallier §2.3, Comp and End construction; explicit local Turing-history adaptation
- Gallier §2.3, Proposition 2.5 and §1.9; machine-specific proof supplied locally
- Patey chapter 5, Definitions 4.1 and 5.2, pp.87–89 (design locator, independently unread)
- Patey chapter 5, relative-computability interfaces; full text pending
- Gallier §3.1, acceptable indexing and universal/composition interfaces
- Gallier Theorem 3.1 and its complete composition argument, pp.68–69 of recovery edition
- Gallier §5.1, Theorem 5.1; specialization proof route
- Arora–Barak §§2.1–2.2 verifier/reduction definitions; source reading incomplete
- Arora–Barak §7.1, Definitions 7.1 and 7.4
- Arora–Barak §7.3; local finite-prefix expectation convention
- Aspnes pairwise-independence/hash-family treatment, complete locator/reading pending; explicit local affine proof
- Aspnes §§5.2.1–5.2.4 and H.2.2; additive centered-mgf argument is local
- Arora–Barak Appendix A, Lemma A.25, PDF p.475; nonempty-subset extension by the same counting proof