/- Copyright (c) 2016 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura -/ prelude import init.meta.mk_dec_eq_instance init.subtype init.meta.occurrences init.sum open tactic subtype universe variables u v instance {α : Type u} {p : α → Prop} [decidable_eq α] : decidable_eq {x : α // p x} := by mk_dec_eq_instance instance {α : Type u} [decidable_eq α] : decidable_eq (list α) := by mk_dec_eq_instance instance : decidable_eq string := list.decidable_eq instance : decidable_eq occurrences := by mk_dec_eq_instance instance : decidable_eq unit := by mk_dec_eq_instance instance {α : Type u} {β : Type v} [decidable_eq α] [decidable_eq β] : decidable_eq (α ⊕ β) := by mk_dec_eq_instance