4f2e0c6d7f
The new command provides a uniform way to set declaration attributes. It replaces the commands: class, instance, coercion, multiple_instances, reducible, irreducible
19 lines
370 B
Text
19 lines
370 B
Text
open nat
|
|
|
|
constant list.{l} : Type.{l} → Type.{l}
|
|
constant vector.{l} : Type.{l} → nat → Type.{l}
|
|
constant nil (A : Type) : list A
|
|
|
|
set_option pp.coercions true
|
|
context
|
|
parameter A : Type
|
|
parameter n : nat
|
|
|
|
definition foo2 [coercion] (v : vector A n) : list A :=
|
|
nil A
|
|
|
|
definition foo (v : vector A n) : list A :=
|
|
nil A
|
|
|
|
attribute foo [coercion]
|
|
end
|