#[global]
Instance Decidable_eq_nat : forall (x y : nat), Decidable (eq x y) := {
  Decidable_spec := Nat.eqb_eq x y
}.#[global]
Instance Decidable_le_nat : forall (x y : nat), Decidable (x <= y) := {
  Decidable_spec := Nat.leb_le x y
}.

(* Specifications: *)
Lemma eq_dec : forall n m : nat, {n = m} + {n <> m}.
Lemma max_l : forall n m, m <= n -> max n m = n.
Lemma max_r : forall n m, n <= m -> max n m = m.
Lemma min_l : forall n m, n <= m -> min n m = n.
Lemma min_r : forall n m, m <= n -> min n m = m.
Lemma strong_induction_le (A : nat -> Prop) : A 0 -> (forall n, (forall m, m <= n -> A m) -> A (S n)) -> forall n, A n.
Lemma pow_neg_r a b : b<0 -> a^b = 0.
Lemma pow_0_r a : a^0 = 1.
Lemma pow_succ_r a b : 0<=b -> a^(S b) = a * a^b.
Lemma square_spec n : square n = n * n.