Documentation

Cslib.Computability.URM.Computable

URM-Computable Functions #

This file defines the notion of URM-computability for partial functions on natural numbers.

Main definitions #

Implementation notes #

Inputs are provided in registers 0, 1, ..., n-1 and output is read from register 0.

def Cslib.URM.Computes (n : ) (p : Program) (f : (Fin n)Part ) :

A program p computes a partial function f : (Fin n → ℕ) → Part if for any input, eval p inputs = f inputs as partial values. This captures both:

  • The program halts iff the function is defined on that input
  • When both are defined, the program's output equals the function's value

Note: Inputs are provided in registers 0, 1, ..., n-1 and output is read from register 0.

Equations
Instances For
    def Cslib.URM.Computable (n : ) (f : (Fin n)Part ) :

    A partial function f : (Fin n → ℕ) → Part is URM-computable if there exists a URM program that computes it.

    Equations
    Instances For