Exact expanded first-order arithmetic statement
forall p a b. (~((p) = 1) /\ forall pfa_factor_left_adddomain pfa_factor_right_adddomain. (p) = pfa_factor_left_adddomain * pfa_factor_right_adddomain -> pfa_factor_left_adddomain = 1 \/ pfa_factor_right_adddomain = 1) -> (exists pfa_gap_addleft. pfa_gap_addleft + S (a) = (p)) -> (exists pfa_gap_addright. pfa_gap_addright + S (b) = (p)) -> exists c. (((exists pfa_gap_addexistsleft. pfa_gap_addexistsleft + S (a) = (p)) /\ (((exists pfa_gap_addexistsright. pfa_gap_addexistsright + S (b) = (p)) /\ ((((exists pfa_gap_addexistsresultbound. pfa_gap_addexistsresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_addexistsresultcongruence pfa_offset_right_addexistsresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addexistsresultcongruence = (c) + (p) * pfa_offset_right_addexistsresultcongruence)))))))))Constructive proof overview
Generated structural guide
Construct the unique canonical add output for every pair of residues.
The unchanged tactic script uses 2 declared prerequisites and contains 22 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
prime_nonzero Alpha theorem; checked-use authorized hensel_canonical_residue_exists Alpha 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. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or 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 hrL7–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel canonical residue exists.
- L7
have hr : exists c. (((exists pfa_gap_addresiduebound. pfa_gap_addresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_addresiduecongruence pfa_offset_right_addresiduecongruence. (a + b) + (p) * pfa_offset_left_addresiduecongruence = (c) + (p) * pfa_offset_right_addresiduecongruence)))) - L8
specialize hensel_canonical_residue_exists (p) - L9
specialize hensel_canonical_residue_exists (a + b) - L10
apply hensel_canonical_residue_exists - L11
intro hz - L12
specialize prime_nonzero (p) - L13
apply prime_nonzero - L14
exact hp - L15
exact hz
03Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hr
04Construct an explicit witnessL17–17
Supply the displayed value, then prove that it has the required property.
- L17
exists x
05Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
06Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact ha
07Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
split
Original exact command ledger · 22 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro hp - 0005
intro ha - 0006
intro hb - 0007
have hr : exists c. (((exists pfa_gap_addresiduebound. pfa_gap_addresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_addresiduecongruence pfa_offset_right_addresiduecongruence. (a + b) + (p) * pfa_offset_left_addresiduecongruence = (c) + (p) * pfa_offset_right_addresiduecongruence)))) - 0008
specialize hensel_canonical_residue_exists (p) - 0009
specialize hensel_canonical_residue_exists (a + b) - 0010
apply hensel_canonical_residue_exists - 0011
intro hz - 0012
specialize prime_nonzero (p) - 0013
apply prime_nonzero - 0014
exact hp - 0015
exact hz - 0016
cases hr - 0017
exists x - 0018
split - 0019
exact ha - 0020
split - 0021
exact hb - 0022
exact hr_witness