Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall p d e. ~(p = 0) -> (forall hmi_divisor_hpl_coprime. (exists hmi_left_factor_hpl_coprime. d = hmi_divisor_hpl_coprime * hmi_left_factor_hpl_coprime) -> (exists hmi_right_factor_hpl_coprime. p = hmi_divisor_hpl_coprime * hmi_right_factor_hpl_coprime) -> hmi_divisor_hpl_coprime = 1) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. d + p * hgcrt_mod_left_hpl_mod = e + p * hgcrt_mod_right_hpl_mod) -> (forall hmi_divisor_hpl_coprime. (exists hmi_left_factor_hpl_coprime. e = hmi_divisor_hpl_coprime * hmi_left_factor_hpl_coprime) -> (exists hmi_right_factor_hpl_coprime. p = hmi_divisor_hpl_coprime * hmi_right_factor_hpl_coprime) -> hmi_divisor_hpl_coprime = 1)Constructive proof overview
Generated structural guide
A derivative remains coprime to a nonzero modulus after any genuine congruence transport.
The unchanged tactic script uses 5 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
coprime_bounded_mod_inverse Stable theorem; checked-use authorized mod_eq_mul_right Stable theorem; checked-use authorized mod_eq_trans Stable theorem; checked-use authorized mod_eq_symm Stable theorem; checked-use authorized mod_inverse_implies_coprime Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–6
02Establish hinvL7–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime bounded mod inverse.
- L7
have hinv : exists u. ((exists hpl_gap_bound. hpl_gap_bound + S (u) = (p)) /\ (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. (d * u) + p * hgcrt_mod_left_hpl_mod = 1 + p * hgcrt_mod_right_hpl_mod)) - L8
specialize coprime_bounded_mod_inverse d - L9
specialize coprime_bounded_mod_inverse p - L10
apply coprime_bounded_mod_inverse - L11
exact hp - L12
exact hcop
03Separate the logical casesL13–14
04Use earlier factsL15–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
specialize mod_inverse_implies_coprime e - L16
specialize mod_inverse_implies_coprime p - L17
specialize mod_inverse_implies_coprime x - L18
apply mod_inverse_implies_coprime - L19
specialize mod_eq_trans p - L20
specialize mod_eq_trans (e * x) - L21
specialize mod_eq_trans (d * x) - L22
specialize mod_eq_trans 1 - L23
apply mod_eq_trans - L24
specialize mod_eq_mul_right p
05Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 34 lines
- 0001
intro p - 0002
intro d - 0003
intro e - 0004
intro hp - 0005
intro hcop - 0006
intro hmod - 0007
have hinv : exists u. ((exists hpl_gap_bound. hpl_gap_bound + S (u) = (p)) /\ (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. (d * u) + p * hgcrt_mod_left_hpl_mod = 1 + p * hgcrt_mod_right_hpl_mod)) - 0008
specialize coprime_bounded_mod_inverse d - 0009
specialize coprime_bounded_mod_inverse p - 0010
apply coprime_bounded_mod_inverse - 0011
exact hp - 0012
exact hcop - 0013
cases hinv - 0014
cases hinv_witness - 0015
specialize mod_inverse_implies_coprime e - 0016
specialize mod_inverse_implies_coprime p - 0017
specialize mod_inverse_implies_coprime x - 0018
apply mod_inverse_implies_coprime - 0019
specialize mod_eq_trans p - 0020
specialize mod_eq_trans (e * x) - 0021
specialize mod_eq_trans (d * x) - 0022
specialize mod_eq_trans 1 - 0023
apply mod_eq_trans - 0024
specialize mod_eq_mul_right p - 0025
specialize mod_eq_mul_right e - 0026
specialize mod_eq_mul_right d - 0027
specialize mod_eq_mul_right x - 0028
apply mod_eq_mul_right - 0029
specialize mod_eq_symm p - 0030
specialize mod_eq_symm d - 0031
specialize mod_eq_symm e - 0032
apply mod_eq_symm - 0033
exact hmod - 0034
exact hinv_witness_right