Require Coq.Arith.Arith.
Set Implicit Arguments.
Set Strict Implicit.
Global Instance RelDec_eq : RelDec (@eq nat) :=
{ rel_dec := EqNat.beq_nat }.
Global Instance type_nat : type nat :=
{ equal := @eq nat
; proper := fun _ => True
}.
Global Instance typeOk_nat : typeOk type_nat.
Global Instance nat_proper (n : nat) : proper n.
Global Instance RelDecCorrect_lt : RelDec_Correct RelDec_lt.
Global Instance RelDecCorrect_le : RelDec_Correct RelDec_le.
Global Instance RelDecCorrect_gt : RelDec_Correct RelDec_gt.
Global Instance RelDecCorrect_ge : RelDec_Correct RelDec_ge.
Inductive R_nat_S : nat -> nat -> Prop :=
| R_S : forall n, R_nat_S n (S n).

(* Specifications: *)
Theorem wf_R_S : well_founded R_nat_S.