Agda

Agda is a dependently-typed functional programming language and theorem-prover.

Records

no-eta-equality

Record η-equality is most often disabled for one of two reasons:

  1. for efficiency — η-equality slows down the type-checker; or

  2. to print shorter normal forms in the goal display [cite:@amelia2025eta].

Unification

In Agda, unification of two terms is the process of deducing which variable substitutions, if any, must be applied to make two terms identical.

Levels

For TypeA\Typenu and TypeB\Typenv,

A⊎B:u⊔vA×B:u⊔vA→B:u⊔v

Resources