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 h dp dn D. p = S h -> D = dp + h * dn -> ((~(p = 1) /\ forall frm_prime_left_hsc_blended_prime frm_prime_right_hsc_blended_prime. p = frm_prime_left_hsc_blended_prime * frm_prime_right_hsc_blended_prime -> frm_prime_left_hsc_blended_prime = 1 \/ frm_prime_right_hsc_blended_prime = 1)) -> (~(exists hgcrt_mod_left_hpl_hsc_blended_nonzero hgcrt_mod_right_hpl_hsc_blended_nonzero. dp + p * hgcrt_mod_left_hpl_hsc_blended_nonzero = dn + p * hgcrt_mod_right_hpl_hsc_blended_nonzero)) -> (exists sph_inverse_hsc_blended_unit. ((exists hpl_gap_hsc_blended_unit. hpl_gap_hsc_blended_unit + S (sph_inverse_hsc_blended_unit) = (p)) /\ (exists hgcrt_mod_left_hpl_hsc_blended_unit hgcrt_mod_right_hpl_hsc_blended_unit. (dp * sph_inverse_hsc_blended_unit) + p * hgcrt_mod_left_hpl_hsc_blended_unit = (1 + dn * sph_inverse_hsc_blended_unit) + p * hgcrt_mod_right_hpl_hsc_blended_unit)))Constructive proof overview
Generated structural guide
A derivative nonzero modulo a genuine prime yields a bounded signed inverse through the actual natural blend dp+(p-1)*dn, with coprimality and both residue transports proved explicitly.
The unchanged tactic script uses 10 declared prerequisites and contains 77 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
HL0019 hensel_signed_blend_zero_iff prime_not_divides_coprime Stable theorem; checked-use authorized coprime_symm Stable theorem; checked-use authorized multiple_implies_balanced_zero_congruence Alpha theorem; checked-use authorized coprime_bounded_mod_inverse Stable theorem; checked-use authorized prime_nonzero Stable theorem; checked-use authorized HL0018 hensel_signed_blend_mod_iff mul_one Stable theorem; checked-use authorized add_mul Stable theorem; checked-use authorized mul_assoc 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.
Named ingredients (2)
01Fix variables and assumptionsL1–9
02Establish hiffL10–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel signed blend zero iff.
- L10
have hiff : (ModEq(p,D,0) → ModEq(p,dp,dn)) ∧ (ModEq(p,dp,dn) → ModEq(p,D,0))Definitions: ModEq - L11
specialize hensel_signed_blend_zero_iff (p) - L12
specialize hensel_signed_blend_zero_iff (p) - L13
specialize hensel_signed_blend_zero_iff (h) - L14
specialize hensel_signed_blend_zero_iff (dp) - L15
specialize hensel_signed_blend_zero_iff (dn) - L16
specialize hensel_signed_blend_zero_iff (D) - L17
apply hensel_signed_blend_zero_iff - L18
exact hsucc
03Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists 1
04Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
symm
05Use earlier factsL21–22
06Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hiff
07Establish hcopL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime symm.
- L24
have hcop : forall hmi_divisor_hpl_hsc_blended_coprime. (exists hmi_left_factor_hpl_hsc_blended_coprime. D = hmi_divisor_hpl_hsc_blended_coprime * hmi_left_factor_hpl_hsc_blended_coprime) -> (exists hmi_right_factor_hpl_hsc_blended_coprime. p = hmi_divisor_hpl_hsc_blended_coprime * hmi_right_factor_hpl_hsc_blended_coprime) -> hmi_divisor_hpl_hsc_blended_coprime = 1 - L25
specialize coprime_symm (p) - L26
specialize coprime_symm (D) - L27
apply coprime_symm - L28
specialize prime_not_divides_coprime (p) - L29
specialize prime_not_divides_coprime (D) - L30
apply prime_not_divides_coprime - L31
exact hp - L32
intro hdiv - L33
apply hnonzero
08Use earlier factsL34–38
09Establish hinverseL39–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime bounded mod inverse.
- L39
have hinverse : exists u. ((exists hpl_gap_hsc_bound. hpl_gap_hsc_bound + S (u) = (p)) /\ (exists hgcrt_mod_left_hpl_hsc_natural_inverse hgcrt_mod_right_hpl_hsc_natural_inverse. (D * u) + p * hgcrt_mod_left_hpl_hsc_natural_inverse = 1 + p * hgcrt_mod_right_hpl_hsc_natural_inverse)) - L40
specialize coprime_bounded_mod_inverse (D) - L41
specialize coprime_bounded_mod_inverse (p) - L42
apply coprime_bounded_mod_inverse - L43
intro hz - L44
specialize prime_nonzero (p) - L45
apply prime_nonzero - L46
exact hp - L47
exact hz - L48
exact hcop
10Separate the logical casesL49–50
11Establish hproductL51–57
12Establish htransportL58–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel signed blend mod iff.
- L58
have htransport : (ModEq(p,D · x,1) → ModEq(p,dp · x,1 + dn · x)) ∧ (ModEq(p,dp · x,1 + dn · x) → ModEq(p,D · x,1))Definitions: ModEq - L59
specialize hensel_signed_blend_mod_iff (p) - L60
specialize hensel_signed_blend_mod_iff (p) - L61
specialize hensel_signed_blend_mod_iff (h) - L62
specialize hensel_signed_blend_mod_iff (dp * x) - L63
specialize hensel_signed_blend_mod_iff (dn * x) - L64
specialize hensel_signed_blend_mod_iff (D * x) - L65
specialize hensel_signed_blend_mod_iff (1) - L66
apply hensel_signed_blend_mod_iff - L67
exact hsucc
13Construct an explicit witnessL68–68
Supply the displayed value, then prove that it has the required property.
- L68
exists 1
14Calculate and transport equalitiesL69–69
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L69
symm
15Use earlier factsL70–71
16Separate the logical casesL72–72
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L72
cases htransport
17Construct an explicit witnessL73–73
Supply the displayed value, then prove that it has the required property.
- L73
exists x
18Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
Original exact command ledger · 77 lines
- 0001
intro p - 0002
intro h - 0003
intro dp - 0004
intro dn - 0005
intro D - 0006
intro hsucc - 0007
intro hD - 0008
intro hp - 0009
intro hnonzero - 0010
have hiff : (((exists hgcrt_mod_left_hpl_hsc_zero_forward hgcrt_mod_right_hpl_hsc_zero_forward. D + p * hgcrt_mod_left_hpl_hsc_zero_forward = 0 + p * hgcrt_mod_right_hpl_hsc_zero_forward) -> (exists hgcrt_mod_left_hpl_hsc_zero_signed hgcrt_mod_right_hpl_hsc_zero_signed. dp + p * hgcrt_mod_left_hpl_hsc_zero_signed = dn + p * hgcrt_mod_right_hpl_hsc_zero_signed)) /\ ((exists hgcrt_mod_left_hpl_hsc_zero_reverse hgcrt_mod_right_hpl_hsc_zero_reverse. dp + p * hgcrt_mod_left_hpl_hsc_zero_reverse = dn + p * hgcrt_mod_right_hpl_hsc_zero_reverse) -> (exists hgcrt_mod_left_hpl_hsc_zero_blended hgcrt_mod_right_hpl_hsc_zero_blended. D + p * hgcrt_mod_left_hpl_hsc_zero_blended = 0 + p * hgcrt_mod_right_hpl_hsc_zero_blended))) - 0011
specialize hensel_signed_blend_zero_iff (p) - 0012
specialize hensel_signed_blend_zero_iff (p) - 0013
specialize hensel_signed_blend_zero_iff (h) - 0014
specialize hensel_signed_blend_zero_iff (dp) - 0015
specialize hensel_signed_blend_zero_iff (dn) - 0016
specialize hensel_signed_blend_zero_iff (D) - 0017
apply hensel_signed_blend_zero_iff - 0018
exact hsucc - 0019
exists 1 - 0020
symm - 0021
apply mul_one - 0022
exact hD - 0023
cases hiff - 0024
have hcop : forall hmi_divisor_hpl_hsc_blended_coprime. (exists hmi_left_factor_hpl_hsc_blended_coprime. D = hmi_divisor_hpl_hsc_blended_coprime * hmi_left_factor_hpl_hsc_blended_coprime) -> (exists hmi_right_factor_hpl_hsc_blended_coprime. p = hmi_divisor_hpl_hsc_blended_coprime * hmi_right_factor_hpl_hsc_blended_coprime) -> hmi_divisor_hpl_hsc_blended_coprime = 1 - 0025
specialize coprime_symm (p) - 0026
specialize coprime_symm (D) - 0027
apply coprime_symm - 0028
specialize prime_not_divides_coprime (p) - 0029
specialize prime_not_divides_coprime (D) - 0030
apply prime_not_divides_coprime - 0031
exact hp - 0032
intro hdiv - 0033
apply hnonzero - 0034
apply hiff_left - 0035
specialize multiple_implies_balanced_zero_congruence (p) - 0036
specialize multiple_implies_balanced_zero_congruence (D) - 0037
apply multiple_implies_balanced_zero_congruence - 0038
exact hdiv - 0039
have hinverse : exists u. ((exists hpl_gap_hsc_bound. hpl_gap_hsc_bound + S (u) = (p)) /\ (exists hgcrt_mod_left_hpl_hsc_natural_inverse hgcrt_mod_right_hpl_hsc_natural_inverse. (D * u) + p * hgcrt_mod_left_hpl_hsc_natural_inverse = 1 + p * hgcrt_mod_right_hpl_hsc_natural_inverse)) - 0040
specialize coprime_bounded_mod_inverse (D) - 0041
specialize coprime_bounded_mod_inverse (p) - 0042
apply coprime_bounded_mod_inverse - 0043
intro hz - 0044
specialize prime_nonzero (p) - 0045
apply prime_nonzero - 0046
exact hp - 0047
exact hz - 0048
exact hcop - 0049
cases hinverse - 0050
cases hinverse_witness - 0051
have hproduct : D * x = dp * x + h * (dn * x) - 0052
rewrite hD - 0053
trans dp * x + (h * dn) * x - 0054
apply add_mul - 0055
congr - 0056
refl - 0057
apply mul_assoc - 0058
have htransport : (((exists hgcrt_mod_left_hpl_hsc_inverse_forward hgcrt_mod_right_hpl_hsc_inverse_forward. (D * x) + p * hgcrt_mod_left_hpl_hsc_inverse_forward = 1 + p * hgcrt_mod_right_hpl_hsc_inverse_forward) -> (exists hgcrt_mod_left_hpl_hsc_inverse_signed hgcrt_mod_right_hpl_hsc_inverse_signed. (dp * x) + p * hgcrt_mod_left_hpl_hsc_inverse_signed = (1 + dn * x) + p * hgcrt_mod_right_hpl_hsc_inverse_signed)) /\ ((exists hgcrt_mod_left_hpl_hsc_inverse_reverse hgcrt_mod_right_hpl_hsc_inverse_reverse. (dp * x) + p * hgcrt_mod_left_hpl_hsc_inverse_reverse = (1 + dn * x) + p * hgcrt_mod_right_hpl_hsc_inverse_reverse) -> (exists hgcrt_mod_left_hpl_hsc_inverse_blended hgcrt_mod_right_hpl_hsc_inverse_blended. (D * x) + p * hgcrt_mod_left_hpl_hsc_inverse_blended = 1 + p * hgcrt_mod_right_hpl_hsc_inverse_blended))) - 0059
specialize hensel_signed_blend_mod_iff (p) - 0060
specialize hensel_signed_blend_mod_iff (p) - 0061
specialize hensel_signed_blend_mod_iff (h) - 0062
specialize hensel_signed_blend_mod_iff (dp * x) - 0063
specialize hensel_signed_blend_mod_iff (dn * x) - 0064
specialize hensel_signed_blend_mod_iff (D * x) - 0065
specialize hensel_signed_blend_mod_iff (1) - 0066
apply hensel_signed_blend_mod_iff - 0067
exact hsucc - 0068
exists 1 - 0069
symm - 0070
apply mul_one - 0071
exact hproduct - 0072
cases htransport - 0073
exists x - 0074
split - 0075
exact hinverse_witness_left - 0076
apply htransport_left - 0077
exact hinverse_witness_right