2.8 Implicit Coercions
Coercions can be used to implicitly inject terms from one ``class'' in
which they reside into another one. A class is either a sort
(denoted by the keyword SORTCLASS), a product type (denoted by the
keyword FUNCLASS), or a type constructor (denoted by its name),
e.g. an inductive type or any constant with a type of the form
(x1:A1)..(xn:An)s where s is a sort.
Then the user is able to apply an
object that is not a function, but can be coerced to a function, and
more generally to consider that a term of type A is of type B provided
that there is a declared coercion between A and B.
More details and examples, and a description of commands related to coercions are provided in chapter
14.