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 expanded first-order arithmetic statement
forall p ab ac L bb bc M. (~((p) = 1) /\ forall pfa_factor_left_common_exists_prime pfa_factor_right_common_exists_prime. (p) = pfa_factor_left_common_exists_prime * pfa_factor_right_common_exists_prime -> pfa_factor_left_common_exists_prime = 1 \/ pfa_factor_right_common_exists_prime = 1) -> (forall fom_index_pfp_common_exists_A. (exists fom_gap_pfp_common_exists_A_index_bound. fom_gap_pfp_common_exists_A_index_bound + S (fom_index_pfp_common_exists_A) = L) -> exists fom_value_pfp_common_exists_A. ((((exists fom_beta_height_pfp_common_exists_A_entry. fom_beta_height_pfp_common_exists_A_entry + S (fom_value_pfp_common_exists_A) = S ((S (fom_index_pfp_common_exists_A)) * ac)) /\ exists fom_beta_quotient_pfp_common_exists_A_entry. ab = fom_beta_quotient_pfp_common_exists_A_entry * S ((S (fom_index_pfp_common_exists_A)) * ac) + (fom_value_pfp_common_exists_A))) /\ (exists fom_gap_pfp_common_exists_A_value_bound. fom_gap_pfp_common_exists_A_value_bound + S (fom_value_pfp_common_exists_A) = p))) -> (forall fom_index_pfp_common_exists_B. (exists fom_gap_pfp_common_exists_B_index_bound. fom_gap_pfp_common_exists_B_index_bound + S (fom_index_pfp_common_exists_B) = M) -> exists fom_value_pfp_common_exists_B. ((((exists fom_beta_height_pfp_common_exists_B_entry. fom_beta_height_pfp_common_exists_B_entry + S (fom_value_pfp_common_exists_B) = S ((S (fom_index_pfp_common_exists_B)) * bc)) /\ exists fom_beta_quotient_pfp_common_exists_B_entry. bb = fom_beta_quotient_pfp_common_exists_B_entry * S ((S (fom_index_pfp_common_exists_B)) * bc) + (fom_value_pfp_common_exists_B))) /\ (exists fom_gap_pfp_common_exists_B_value_bound. fom_gap_pfp_common_exists_B_value_bound + S (fom_value_pfp_common_exists_B) = p))) -> (exists ub uc vb vc. ((forall fom_index_pfp_common_exists_output_left_bounded. (exists fom_gap_pfp_common_exists_output_left_bounded_index_bound. fom_gap_pfp_common_exists_output_left_bounded_index_bound + S (fom_index_pfp_common_exists_output_left_bounded) = L+M) -> exists fom_value_pfp_common_exists_output_left_bounded. ((((exists fom_beta_height_pfp_common_exists_output_left_bounded_entry. fom_beta_height_pfp_common_exists_output_left_bounded_entry + S (fom_value_pfp_common_exists_output_left_bounded) = S ((S (fom_index_pfp_common_exists_output_left_bounded)) * uc)) /\ exists fom_beta_quotient_pfp_common_exists_output_left_bounded_entry. ub = fom_beta_quotient_pfp_common_exists_output_left_bounded_entry * S ((S (fom_index_pfp_common_exists_output_left_bounded)) * uc) + (fom_value_pfp_common_exists_output_left_bounded))) /\ (exists fom_gap_pfp_common_exists_output_left_bounded_value_bound. fom_gap_pfp_common_exists_output_left_bounded_value_bound + S (fom_value_pfp_common_exists_output_left_bounded) = p))) /\ (((forall fom_index_pfp_common_exists_output_right_bounded. (exists fom_gap_pfp_common_exists_output_right_bounded_index_bound. fom_gap_pfp_common_exists_output_right_bounded_index_bound + S (fom_index_pfp_common_exists_output_right_bounded) = L+M) -> exists fom_value_pfp_common_exists_output_right_bounded. ((((exists fom_beta_height_pfp_common_exists_output_right_bounded_entry. fom_beta_height_pfp_common_exists_output_right_bounded_entry + S (fom_value_pfp_common_exists_output_right_bounded) = S ((S (fom_index_pfp_common_exists_output_right_bounded)) * vc)) /\ exists fom_beta_quotient_pfp_common_exists_output_right_bounded_entry. vb = fom_beta_quotient_pfp_common_exists_output_right_bounded_entry * S ((S (fom_index_pfp_common_exists_output_right_bounded)) * vc) + (fom_value_pfp_common_exists_output_right_bounded))) /\ (exists fom_gap_pfp_common_exists_output_right_bounded_value_bound. fom_gap_pfp_common_exists_output_right_bounded_value_bound + S (fom_value_pfp_common_exists_output_right_bounded) = p))) /\ ((((forall pfrep_power_common_exists_output_common_left pfrep_left_common_exists_output_common_left pfrep_right_common_exists_output_common_left. ((exists pfrep_position_common_exists_output_common_leftfirst. ((pfrep_position_common_exists_output_common_leftfirst+S (pfrep_power_common_exists_output_common_left)=(L)) /\ ((((exists ff_h_pfp_common_exists_output_common_leftfirstentry. ff_h_pfp_common_exists_output_common_leftfirstentry + S (pfrep_left_common_exists_output_common_left) = S ((S (pfrep_position_common_exists_output_common_leftfirst)) * ac)) /\ exists ff_q_pfp_common_exists_output_common_leftfirstentry. ab = ff_q_pfp_common_exists_output_common_leftfirstentry * S ((S (pfrep_position_common_exists_output_common_leftfirst)) * ac) + (pfrep_left_common_exists_output_common_left)))))) \/ (((exists pfrep_gap_common_exists_output_common_leftfirstoutside. pfrep_gap_common_exists_output_common_leftfirstoutside+(L)=(pfrep_power_common_exists_output_common_left)) /\ (((pfrep_left_common_exists_output_common_left)=0))))) -> ((exists pfrep_position_common_exists_output_common_leftsecond. ((pfrep_position_common_exists_output_common_leftsecond+S (pfrep_power_common_exists_output_common_left)=(L+M)) /\ ((((exists ff_h_pfp_common_exists_output_common_leftsecondentry. ff_h_pfp_common_exists_output_common_leftsecondentry + S (pfrep_right_common_exists_output_common_left) = S ((S (pfrep_position_common_exists_output_common_leftsecond)) * uc)) /\ exists ff_q_pfp_common_exists_output_common_leftsecondentry. ub = ff_q_pfp_common_exists_output_common_leftsecondentry * S ((S (pfrep_position_common_exists_output_common_leftsecond)) * uc) + (pfrep_right_common_exists_output_common_left)))))) \/ (((exists pfrep_gap_common_exists_output_common_leftsecondoutside. pfrep_gap_common_exists_output_common_leftsecondoutside+(L+M)=(pfrep_power_common_exists_output_common_left)) /\ (((pfrep_right_common_exists_output_common_left)=0))))) -> pfrep_left_common_exists_output_common_left=pfrep_right_common_exists_output_common_left) /\ ((forall pfrep_power_common_exists_output_common_right pfrep_left_common_exists_output_common_right pfrep_right_common_exists_output_common_right. ((exists pfrep_position_common_exists_output_common_rightfirst. ((pfrep_position_common_exists_output_common_rightfirst+S (pfrep_power_common_exists_output_common_right)=(M)) /\ ((((exists ff_h_pfp_common_exists_output_common_rightfirstentry. ff_h_pfp_common_exists_output_common_rightfirstentry + S (pfrep_left_common_exists_output_common_right) = S ((S (pfrep_position_common_exists_output_common_rightfirst)) * bc)) /\ exists ff_q_pfp_common_exists_output_common_rightfirstentry. bb = ff_q_pfp_common_exists_output_common_rightfirstentry * S ((S (pfrep_position_common_exists_output_common_rightfirst)) * bc) + (pfrep_left_common_exists_output_common_right)))))) \/ (((exists pfrep_gap_common_exists_output_common_rightfirstoutside. pfrep_gap_common_exists_output_common_rightfirstoutside+(M)=(pfrep_power_common_exists_output_common_right)) /\ (((pfrep_left_common_exists_output_common_right)=0))))) -> ((exists pfrep_position_common_exists_output_common_rightsecond. ((pfrep_position_common_exists_output_common_rightsecond+S (pfrep_power_common_exists_output_common_right)=(L+M)) /\ ((((exists ff_h_pfp_common_exists_output_common_rightsecondentry. ff_h_pfp_common_exists_output_common_rightsecondentry + S (pfrep_right_common_exists_output_common_right) = S ((S (pfrep_position_common_exists_output_common_rightsecond)) * vc)) /\ exists ff_q_pfp_common_exists_output_common_rightsecondentry. vb = ff_q_pfp_common_exists_output_common_rightsecondentry * S ((S (pfrep_position_common_exists_output_common_rightsecond)) * vc) + (pfrep_right_common_exists_output_common_right)))))) \/ (((exists pfrep_gap_common_exists_output_common_rightsecondoutside. pfrep_gap_common_exists_output_common_rightsecondoutside+(L+M)=(pfrep_power_common_exists_output_common_right)) /\ (((pfrep_right_common_exists_output_common_right)=0))))) -> pfrep_left_common_exists_output_common_right=pfrep_right_common_exists_output_common_right)))))))))Constructive proof overview
Generated structural guide
Use the explicit common length L+M to construct real canonical representatives for any two independently sized inputs, including zero lengths.
The unchanged tactic script uses 2 declared prerequisites and contains 27 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PG0038 prime_field_polynomial_common_representatives_at_length_exists le_add_right 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. 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 (1)
01Fix variables and assumptionsL1–10
02Use earlier factsL11–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
specialize prime_field_polynomial_common_representatives_at_length_exists (p) - L12
specialize prime_field_polynomial_common_representatives_at_length_exists (ab) - L13
specialize prime_field_polynomial_common_representatives_at_length_exists (ac) - L14
specialize prime_field_polynomial_common_representatives_at_length_exists (L) - L15
specialize prime_field_polynomial_common_representatives_at_length_exists (bb) - L16
specialize prime_field_polynomial_common_representatives_at_length_exists (bc) - L17
specialize prime_field_polynomial_common_representatives_at_length_exists (M) - L18
specialize prime_field_polynomial_common_representatives_at_length_exists (L+M) - L19
apply prime_field_polynomial_common_representatives_at_length_exists - L20
exact hp
03Use earlier factsL21–25
04Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists L
05Calculate and transport equalitiesL27–27
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L27
refl
Original exact command ledger · 27 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro hp - 0009
intro ha - 0010
intro hb - 0011
specialize prime_field_polynomial_common_representatives_at_length_exists (p) - 0012
specialize prime_field_polynomial_common_representatives_at_length_exists (ab) - 0013
specialize prime_field_polynomial_common_representatives_at_length_exists (ac) - 0014
specialize prime_field_polynomial_common_representatives_at_length_exists (L) - 0015
specialize prime_field_polynomial_common_representatives_at_length_exists (bb) - 0016
specialize prime_field_polynomial_common_representatives_at_length_exists (bc) - 0017
specialize prime_field_polynomial_common_representatives_at_length_exists (M) - 0018
specialize prime_field_polynomial_common_representatives_at_length_exists (L+M) - 0019
apply prime_field_polynomial_common_representatives_at_length_exists - 0020
exact hp - 0021
exact ha - 0022
exact hb - 0023
specialize le_add_right (L) - 0024
specialize le_add_right (M) - 0025
apply le_add_right - 0026
exists L - 0027
refl