Exact expanded first-order arithmetic statement
forall p b c l. ~(p=0) -> exists d e. (forall pfp_index_exists. (exists pfa_gap_existsindex. pfa_gap_existsindex + S (pfp_index_exists) = (l)) -> exists pfp_source_exists pfp_residue_exists. ((((exists ff_h_pfp_existssource. ff_h_pfp_existssource + S (pfp_source_exists) = S ((S (pfp_index_exists)) * c)) /\ exists ff_q_pfp_existssource. b = ff_q_pfp_existssource * S ((S (pfp_index_exists)) * c) + (pfp_source_exists))) /\ (((((exists ff_h_pfp_existstarget. ff_h_pfp_existstarget + S (pfp_residue_exists) = S ((S (pfp_index_exists)) * e)) /\ exists ff_q_pfp_existstarget. d = ff_q_pfp_existstarget * S ((S (pfp_index_exists)) * e) + (pfp_residue_exists))) /\ ((((exists pfa_gap_existsresiduebound. pfa_gap_existsresiduebound + S (pfp_residue_exists) = (p)) /\ ((exists pfa_offset_left_existsresiduecongruence pfa_offset_right_existsresiduecongruence. (pfp_source_exists) + (p) * pfa_offset_left_existsresiduecongruence = (pfp_residue_exists) + (p) * pfa_offset_right_existsresiduecongruence)))))))))Constructive proof overview
Generated structural guide
Every natural coefficient table has an actual canonical reduction at every nonzero modulus, including empty tables.
The unchanged tactic script uses 2 declared prerequisites and contains 28 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
beta_division_prefix_exists Alpha theorem; checked-use authorized PP0001 prime_field_polynomial_normalization_from_divisionDirect 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.
Named ingredients (1)
01Fix variables and assumptionsL1–5
02Establish hdL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta division prefix exists.
- L6
have hd : ∃ qb. ∃ qc. ∃ rb. ∃ rc. DivisionPrefix(p,b,c,qb,qc,rb,rc,l)Definitions: DivisionPrefix - L7
specialize beta_division_prefix_exists (p) - L8
specialize beta_division_prefix_exists (b) - L9
specialize beta_division_prefix_exists (c) - L10
specialize beta_division_prefix_exists (l) - L11
apply beta_division_prefix_exists - L12
exact hp
03Separate the logical casesL13–16
04Construct an explicit witnessL17–18
05Use earlier factsL19–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize prime_field_polynomial_normalization_from_division (p) - L20
specialize prime_field_polynomial_normalization_from_division (b) - L21
specialize prime_field_polynomial_normalization_from_division (c) - L22
specialize prime_field_polynomial_normalization_from_division (x) - L23
specialize prime_field_polynomial_normalization_from_division (x1) - L24
specialize prime_field_polynomial_normalization_from_division (x2) - L25
specialize prime_field_polynomial_normalization_from_division (x3) - L26
specialize prime_field_polynomial_normalization_from_division (l) - L27
apply prime_field_polynomial_normalization_from_division - L28
exact hd_witness_witness_witness_witness
Original exact command ledger · 28 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro hp - 0006
have hd : exists qb qc rb rc. (forall fdp_index_pfp_exists_division. (exists gsp_lt_gap_pfp_exists_division_index_bound. gsp_lt_gap_pfp_exists_division_index_bound + S fdp_index_pfp_exists_division = l) -> exists fdp_value_pfp_exists_division fdp_quotient_pfp_exists_division fdp_remainder_pfp_exists_division. (((exists ff_h_fdp_pfp_exists_division_source. ff_h_fdp_pfp_exists_division_source + S (fdp_value_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * c)) /\ exists ff_q_fdp_pfp_exists_division_source. b = ff_q_fdp_pfp_exists_division_source * S ((S (fdp_index_pfp_exists_division)) * c) + (fdp_value_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_quotient_entry. ff_h_fdp_pfp_exists_division_quotient_entry + S (fdp_quotient_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * qc)) /\ exists ff_q_fdp_pfp_exists_division_quotient_entry. qb = ff_q_fdp_pfp_exists_division_quotient_entry * S ((S (fdp_index_pfp_exists_division)) * qc) + (fdp_quotient_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_remainder_entry. ff_h_fdp_pfp_exists_division_remainder_entry + S (fdp_remainder_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * rc)) /\ exists ff_q_fdp_pfp_exists_division_remainder_entry. rb = ff_q_fdp_pfp_exists_division_remainder_entry * S ((S (fdp_index_pfp_exists_division)) * rc) + (fdp_remainder_pfp_exists_division))) /\ (fdp_value_pfp_exists_division = p * fdp_quotient_pfp_exists_division + fdp_remainder_pfp_exists_division /\ (exists gsp_lt_gap_pfp_exists_division_remainder_bound. gsp_lt_gap_pfp_exists_division_remainder_bound + S fdp_remainder_pfp_exists_division = p))))) - 0007
specialize beta_division_prefix_exists (p) - 0008
specialize beta_division_prefix_exists (b) - 0009
specialize beta_division_prefix_exists (c) - 0010
specialize beta_division_prefix_exists (l) - 0011
apply beta_division_prefix_exists - 0012
exact hp - 0013
cases hd - 0014
cases hd_witness - 0015
cases hd_witness_witness - 0016
cases hd_witness_witness_witness - 0017
exists x2 - 0018
exists x3 - 0019
specialize prime_field_polynomial_normalization_from_division (p) - 0020
specialize prime_field_polynomial_normalization_from_division (b) - 0021
specialize prime_field_polynomial_normalization_from_division (c) - 0022
specialize prime_field_polynomial_normalization_from_division (x) - 0023
specialize prime_field_polynomial_normalization_from_division (x1) - 0024
specialize prime_field_polynomial_normalization_from_division (x2) - 0025
specialize prime_field_polynomial_normalization_from_division (x3) - 0026
specialize prime_field_polynomial_normalization_from_division (l) - 0027
apply prime_field_polynomial_normalization_from_division - 0028
exact hd_witness_witness_witness_witness