36 lines
1,014 B
Text
36 lines
1,014 B
Text
open tactic
|
||
|
||
namespace test
|
||
|
||
inductive enum1 : Type | ea | eb | ec | ed
|
||
|
||
attribute [instance]
|
||
definition enum1_dec_eq : decidable_eq enum1 :=
|
||
by mk_dec_eq_instance
|
||
|
||
inductive Expr
|
||
| var : nat → Expr
|
||
| app : ∀ (n : nat) (e1 : Expr) (e2 : Expr) (e3 : Expr) (e4 : Expr), Expr
|
||
| Elet : Expr → Expr
|
||
| bla : list nat → Expr
|
||
|
||
attribute [instance]
|
||
definition Expr_has_dec_eq : decidable_eq Expr :=
|
||
by mk_dec_eq_instance
|
||
universe variables u v
|
||
definition prod_decidable {A : Type u} {B : Type v} [decidable_eq A] [decidable_eq B] : decidable_eq (A × B) :=
|
||
by mk_dec_eq_instance
|
||
|
||
definition sum_decidable {A : Type u} {B : Type v} [decidable_eq A] [decidable_eq B] : decidable_eq (sum A B) :=
|
||
by mk_dec_eq_instance
|
||
|
||
definition nat_decidable : decidable_eq nat :=
|
||
by mk_dec_eq_instance
|
||
|
||
definition list_decidable {A : Type u} [decidable_eq A] : decidable_eq (list A) :=
|
||
by mk_dec_eq_instance
|
||
|
||
definition option_decidable {A : Type v} [decidable_eq A] : decidable_eq (option A) :=
|
||
by mk_dec_eq_instance
|
||
|
||
end test
|