#[global]
Instance Inj_int_Z : InjTyp int Z :=
  mkinj _ _ to_Z (fun x => 0 <= x < 9223372036854775808)%Z to_Z_bounded.#[global]
Instance Op_max_int : CstOp max_int :=
  { TCst := 9223372036854775807 ; TCstInj := eq_refl }.#[global]
Instance Op_digits : CstOp digits :=
  { TCst := 63 ; TCstInj := eq_refl }.#[global]
Instance Op_size : CstOp size :=
  { TCst := 63 ; TCstInj := eq_refl }.#[global]
Instance Op_wB : CstOp wB :=
  { TCst := 2^63 ; TCstInj := eq_refl }.

Lemma ltb_lt : forall n m, (n <? m)%uint63 = (φ (n)%uint63 <? φ (m)%uint63)%Z.