feat(library/init/nat_lemmas): add extra instances for short circuiting type class resolution

This commit is contained in:
Leonardo de Moura 2016-11-25 17:47:08 -08:00
parent 97dd2f34d5
commit efa760fc74

View file

@ -545,4 +545,14 @@ protected lemma one_le_bit0 : ∀ (n : ), n ≠ 0 → 1 ≤ bit0 n
eq.symm (nat.bit0_succ_eq n) ▸ this,
succ_le_succ (zero_le (succ (bit0 n)))
/- Extra instances to short-circuit type class resolution -/
instance : add_comm_monoid nat := by apply_instance
instance : add_monoid nat := by apply_instance
instance : monoid nat := by apply_instance
instance : comm_monoid nat := by apply_instance
instance : comm_semigroup nat := by apply_instance
instance : semigroup nat := by apply_instance
instance : add_comm_semigroup nat := by apply_instance
instance : add_semigroup nat := by apply_instance
end nat