Equality Reflection
In type theory, the equality reflection rule states that if we can derive a term of the Identity Type of , then the two terms and are Definitionally Equal. Explicitly, we have the rule
This has some immediate consequences:
A complete typechecking algorithm immediately becomes Undecidable, as Conversion Checking will require us to synthesize proofs of the Identity Type.
The type theory validates Axiom K.
To see why, suppose that we have . Note that equality reflection means that the iterated identity type is well-typed. This means that we can this as the motive to J Rule; which gives the following term:
This gives us an Eta Rule for the Identity Type, and is in fact equivalent to the existence of such an eta rule.
Examples
- NuPRL and its descendents support equality reflection.