End Induction.
Tactic Notation "nzord_induct" ident(n) :=
induction_maker n ltac:(apply order_induction_0).
Tactic Notation "nzord_induct" ident(n) constr(z) :=
induction_maker n ltac:(apply order_induction with z).
(** Induction principles with respect to a measure *)
Section MeasureInduction.
Variable X : Type.
Variable f : X -> t.

(* Specifications: *)
Theorem measure_right_induction : forall (A : X -> Type) (z : t),
(forall x, z <= f x -> (forall y, z <= f y < f x -> A y) -> A x) ->
forall x, z <= f x -> A x.