Definition

An elimination rule in Type Theory specifies how to use or decompose values of a given type. Elimination rules describe what operations can be performed on elements of a type to extract information or produce values of other types.

Elimination rules are dual to introduction rules: while introduction rules construct values of a type, elimination rules destruct or consume them.

General Form

For a type , an elimination rule typically has the form:

This states that given (and possibly other premises), we can apply eliminator to produce a value of type .

Examples

Product Type Elimination

For Product Type , the elimination rules are projections:

Function Type Elimination

For Function Type , the elimination rule is function application:

Sum Type Elimination

For Sum Type , the elimination rule is case analysis:

Natural Numbers Elimination

For natural numbers , the elimination rule is recursion/induction:

Relationship to Computation

Elimination rules interact with introduction rules via computation rules (β-rules) that specify how eliminators reduce when applied to introduced values.