2014-12-01 05:16:01 +00:00
|
|
|
prelude
|
|
|
|
|
2014-10-02 23:20:52 +00:00
|
|
|
constant A : Type.{1}
|
|
|
|
constant B : Type.{1}
|
|
|
|
constant f : A → B
|
2015-01-25 04:23:21 +00:00
|
|
|
attribute f [coercion]
|
2014-10-02 23:20:52 +00:00
|
|
|
constant g : B → B → B
|
|
|
|
constants a1 a2 a3 : A
|
|
|
|
constants b1 b2 b3 : B
|
2014-07-10 02:17:00 +00:00
|
|
|
check g a1 b1
|
2014-09-08 15:30:08 +00:00
|
|
|
set_option pp.coercions true
|
2014-07-10 02:17:00 +00:00
|
|
|
check g a1 b1
|
|
|
|
|
2014-10-02 23:20:52 +00:00
|
|
|
constant eq {A : Type} : A → A → Type.{0}
|
2014-07-10 02:17:00 +00:00
|
|
|
check eq a1 a2
|
|
|
|
check eq a1 b1
|
|
|
|
set_option pp.implicit true
|
|
|
|
check eq a1 b1
|
|
|
|
set_option pp.universes true
|
|
|
|
check eq a1 b1
|
|
|
|
|
|
|
|
inductive pair (A : Type) (B: Type) : Type :=
|
2014-09-04 23:36:06 +00:00
|
|
|
mk : A → B → pair A B
|
2014-07-10 02:17:00 +00:00
|
|
|
|
2014-09-04 23:36:06 +00:00
|
|
|
check pair.mk a1 b2
|
2014-07-10 02:17:00 +00:00
|
|
|
check B
|
2014-09-04 23:36:06 +00:00
|
|
|
check pair.mk
|
2014-07-10 02:17:00 +00:00
|
|
|
set_option pp.unicode false
|
2014-09-04 23:36:06 +00:00
|
|
|
check pair.mk
|
2014-07-10 02:17:00 +00:00
|
|
|
set_option pp.implicit false
|
2014-09-04 23:36:06 +00:00
|
|
|
check pair.mk
|
|
|
|
check pair
|