fact: Definition proth_test h k a := let n := h * 2 ^ k + 1 in if (Z_lt_dec 1 a) then if (Z_lt_dec 0 h) then if (Z_lt_dec h (2 ^k)) then if Z.eq_dec (Zpow_mod a ((n - 1) / 2) n) (n - 1) then true else false else false else false else false.
imports: ZArith ZCAux Pocklington