A partial function is lambda-definable if there is a lambda term such thatwhenever the value is defined, while outside the domain the application reduces to no Church numeral.
The Strong normalization theorem for simply typed lambda calculus says that every well-typed term has no infinite beta-reduction sequence. In the untyped calculus,reduces to itself and is therefore not strongly normalizing.
The nowhere-defined partial function is represented byFor every Church numeral , the term reduces to and hence to no numeral. If had type , the strong normalization theorem would make every reduction sequence from finite, contradicting the visible infinite reduction inside . Thus this partial function is lambda-definable by an untypable term of the required kind.
A closed beta-eta-long normal term of type must have the form , where the normal term can only be or : the pure calculus has no constants or other closed source of a value of the atomic type . Hence the only two beta-eta-equivalence classes are the Church Booleans
TakeIt has type . If , the body selects . If , it reduces to , which selects exactly when . Thus it has the stated truth table.
For define a typed transition term by a nested Boolean choice:Here a Church Boolean acts as an if-then-else operator. The assumed behavior of gives .
Given a finite input word , construct the typed term effectively and beta-normalize it. The Strong normalization theorem for simply typed lambda calculus guarantees termination, and confluence gives exactly one of the finitely many normal forms . Compare that normal form syntactically with the listed accepting states in . This algorithm accepts exactly when , so is recursive. Equivalently, this is the standard theorem that every language recognized by a deterministic finite automaton is a regular language and hence decidable.
Articles by others on the same topic
There are currently no matching articles.