computation

Definition

Function Property

Fix a type/signature (e.g. or ). Let be a class of functions of type .

A function property is a predicate on functions:

It assigns true/false to entire functions (their input-output behaviour), not to programs.

Extensional vs. Intensional

Extensional

Definition

Extensional Function Property

A function property is extensional iff it depends only on the computed function (its graph), not on how it’s implemented.

Equivalently: if two Turing machines compute the same function:

Link to original

Intensional

Definition

Intensional Function Property

Fix a representation of computable functions (e.g. Turing machines). A function property is intensional if it is a predicate on machine encodings

that is not invariant under extensional equality of the computed function.

Equivalently, there exists with the same computed function but .

depends on how the function is implemented, not only on the input-output mapping.

Link to original

Decidability

Decidable

Definition

Decidable Function Property

A function property is decidable iff its code language is decidable.

Link to original

Undecidable

Definition

Undecidable Function Property

A function property is undecidable iff its code language is undecidable.

Link to original