Check alpha_nat_congruence_1.
Section congruence_2.
(** This section might notbe needed anymore *)
Variable (b : nat) (Hb : b - 2 <> 0).
Notation "〚 x 〛" := (Z2Zp Hb x).  (* congruence class modulo (b-2) *)
Hint Resolve Zle_0_nat.
Open Scope Z_scope.

(* Specifications: *)
Theorem alpha_Z_b_2 n : 〚 alpha_Z b n 〛 = Zp_plus Hb 〚 Z.of_nat n 〛〚 -1 〛.
End congruence_2.
Lemma rem_eq_eq a b v : 2*a < v -> 2*b < v -> rem a v = rem b v -> a = b.
Lemma rem_eq_diff_eq a b v : 2*a < v -> 2*b < v -> (rem a v = rem b v) \/ (rem (a+b) v = 0) -> a = b.
Section diophantine_sufficiency.