A certified RAM of bounded natural numbers #
This small model has one binary addition operation and one strict-order test. Its runtime configuration is an exclusive upper bound on values, addresses and control labels. All three sorts are encoded in binary. Literals and addition results are checked against the bound; tests reject either out-of-range operand; moves, address extraction and control also check the bound. The model is intentionally small, to demonstrate every scalar certificate with both accepting and rejecting inputs. The configuration is a bound, not a binary-encoded word width.
Every certificate handles all configurations and operands with one fixed native machine. This is a certificate of scalar primitives, not of memory, complete RAM steps or runs.
Main definitions #
model: checked addition RAM with a runtime exclusive bound.encoding: binary encodings of all three sorts.nativePrimitives: a complete scalar certificate bundle.
Main results #
constant_polyTime,operation_polyTime,test_polyTime,address_polyTime,validMove_polyTime,validPC_polyTime,nativePrimitives_isPolynomial: native polynomial-time implementations and bundle polynomiality.
References #
Uses Christian Reitwiessner's binary natural encodings and native machine arithmetic through the library's polynomial-time calculus.
Addition and strict comparison with an exclusive bound on values, addresses and labels.
Instances For
Binary encodings of the exclusive bound, stored values and addresses.
Instances For
A literal is checked at every runtime bound, including zero.
Addition checks its result before accepting it.
Tests distinguish a false result from rejection of either invalid operand.
Address extraction checks the runtime bound.
Existing values are checked independently of newly produced values.
Both current and continuing control labels use this checked predicate.
Complete native scalar evidence; no field assumes a RAM simulator.
Instances For
The bounded-natural primitive bundle has polynomial resource bounds in all fields.