Module FinCompleteAdjacentNameType (Import N : NatValue) (FN : FinNameType N) <: AdjacentNameType FN.
Inductive fin_complete : fin n -> fin n -> Prop :=
| fin_complete_neq : forall x y, x <> y -> fin_complete x y.
Definition adjacent_to : relation (fin n) := fin_complete.
Definition adjacent_to_dec : forall x y, {adjacent_to x y} + { ~ adjacent_to x y}.
intros x y.
case (fin_eq_dec n x y); intro H_eq.
- rewrite H_eq.
right.
intros H_r.
inversion H_r.
auto.
- left.
apply fin_complete_neq.
auto.
Defined.

Lemma adjacent_to_irreflexive : Irreflexive adjacent_to.