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 K. (~((p) = 1) /\ forall pfa_factor_left_common_at_prime pfa_factor_right_common_at_prime. (p) = pfa_factor_left_common_at_prime * pfa_factor_right_common_at_prime -> pfa_factor_left_common_at_prime = 1 \/ pfa_factor_right_common_at_prime = 1) -> (forall fom_index_pfp_common_at_A. (exists fom_gap_pfp_common_at_A_index_bound. fom_gap_pfp_common_at_A_index_bound + S (fom_index_pfp_common_at_A) = L) -> exists fom_value_pfp_common_at_A. ((((exists fom_beta_height_pfp_common_at_A_entry. fom_beta_height_pfp_common_at_A_entry + S (fom_value_pfp_common_at_A) = S ((S (fom_index_pfp_common_at_A)) * ac)) /\ exists fom_beta_quotient_pfp_common_at_A_entry. ab = fom_beta_quotient_pfp_common_at_A_entry * S ((S (fom_index_pfp_common_at_A)) * ac) + (fom_value_pfp_common_at_A))) /\ (exists fom_gap_pfp_common_at_A_value_bound. fom_gap_pfp_common_at_A_value_bound + S (fom_value_pfp_common_at_A) = p))) -> (forall fom_index_pfp_common_at_B. (exists fom_gap_pfp_common_at_B_index_bound. fom_gap_pfp_common_at_B_index_bound + S (fom_index_pfp_common_at_B) = M) -> exists fom_value_pfp_common_at_B. ((((exists fom_beta_height_pfp_common_at_B_entry. fom_beta_height_pfp_common_at_B_entry + S (fom_value_pfp_common_at_B) = S ((S (fom_index_pfp_common_at_B)) * bc)) /\ exists fom_beta_quotient_pfp_common_at_B_entry. bb = fom_beta_quotient_pfp_common_at_B_entry * S ((S (fom_index_pfp_common_at_B)) * bc) + (fom_value_pfp_common_at_B))) /\ (exists fom_gap_pfp_common_at_B_value_bound. fom_gap_pfp_common_at_B_value_bound + S (fom_value_pfp_common_at_B) = p))) -> (exists pfrep_gap_common_at_L. pfrep_gap_common_at_L+(L)=(K)) -> (exists pfrep_gap_common_at_M. pfrep_gap_common_at_M+(M)=(K)) -> (exists ub uc vb vc. ((forall fom_index_pfp_common_at_output_left_bounded. (exists fom_gap_pfp_common_at_output_left_bounded_index_bound. fom_gap_pfp_common_at_output_left_bounded_index_bound + S (fom_index_pfp_common_at_output_left_bounded) = K) -> exists fom_value_pfp_common_at_output_left_bounded. ((((exists fom_beta_height_pfp_common_at_output_left_bounded_entry. fom_beta_height_pfp_common_at_output_left_bounded_entry + S (fom_value_pfp_common_at_output_left_bounded) = S ((S (fom_index_pfp_common_at_output_left_bounded)) * uc)) /\ exists fom_beta_quotient_pfp_common_at_output_left_bounded_entry. ub = fom_beta_quotient_pfp_common_at_output_left_bounded_entry * S ((S (fom_index_pfp_common_at_output_left_bounded)) * uc) + (fom_value_pfp_common_at_output_left_bounded))) /\ (exists fom_gap_pfp_common_at_output_left_bounded_value_bound. fom_gap_pfp_common_at_output_left_bounded_value_bound + S (fom_value_pfp_common_at_output_left_bounded) = p))) /\ (((forall fom_index_pfp_common_at_output_right_bounded. (exists fom_gap_pfp_common_at_output_right_bounded_index_bound. fom_gap_pfp_common_at_output_right_bounded_index_bound + S (fom_index_pfp_common_at_output_right_bounded) = K) -> exists fom_value_pfp_common_at_output_right_bounded. ((((exists fom_beta_height_pfp_common_at_output_right_bounded_entry. fom_beta_height_pfp_common_at_output_right_bounded_entry + S (fom_value_pfp_common_at_output_right_bounded) = S ((S (fom_index_pfp_common_at_output_right_bounded)) * vc)) /\ exists fom_beta_quotient_pfp_common_at_output_right_bounded_entry. vb = fom_beta_quotient_pfp_common_at_output_right_bounded_entry * S ((S (fom_index_pfp_common_at_output_right_bounded)) * vc) + (fom_value_pfp_common_at_output_right_bounded))) /\ (exists fom_gap_pfp_common_at_output_right_bounded_value_bound. fom_gap_pfp_common_at_output_right_bounded_value_bound + S (fom_value_pfp_common_at_output_right_bounded) = p))) /\ ((((forall pfrep_power_common_at_output_common_left pfrep_left_common_at_output_common_left pfrep_right_common_at_output_common_left. ((exists pfrep_position_common_at_output_common_leftfirst. ((pfrep_position_common_at_output_common_leftfirst+S (pfrep_power_common_at_output_common_left)=(L)) /\ ((((exists ff_h_pfp_common_at_output_common_leftfirstentry. ff_h_pfp_common_at_output_common_leftfirstentry + S (pfrep_left_common_at_output_common_left) = S ((S (pfrep_position_common_at_output_common_leftfirst)) * ac)) /\ exists ff_q_pfp_common_at_output_common_leftfirstentry. ab = ff_q_pfp_common_at_output_common_leftfirstentry * S ((S (pfrep_position_common_at_output_common_leftfirst)) * ac) + (pfrep_left_common_at_output_common_left)))))) \/ (((exists pfrep_gap_common_at_output_common_leftfirstoutside. pfrep_gap_common_at_output_common_leftfirstoutside+(L)=(pfrep_power_common_at_output_common_left)) /\ (((pfrep_left_common_at_output_common_left)=0))))) -> ((exists pfrep_position_common_at_output_common_leftsecond. ((pfrep_position_common_at_output_common_leftsecond+S (pfrep_power_common_at_output_common_left)=(K)) /\ ((((exists ff_h_pfp_common_at_output_common_leftsecondentry. ff_h_pfp_common_at_output_common_leftsecondentry + S (pfrep_right_common_at_output_common_left) = S ((S (pfrep_position_common_at_output_common_leftsecond)) * uc)) /\ exists ff_q_pfp_common_at_output_common_leftsecondentry. ub = ff_q_pfp_common_at_output_common_leftsecondentry * S ((S (pfrep_position_common_at_output_common_leftsecond)) * uc) + (pfrep_right_common_at_output_common_left)))))) \/ (((exists pfrep_gap_common_at_output_common_leftsecondoutside. pfrep_gap_common_at_output_common_leftsecondoutside+(K)=(pfrep_power_common_at_output_common_left)) /\ (((pfrep_right_common_at_output_common_left)=0))))) -> pfrep_left_common_at_output_common_left=pfrep_right_common_at_output_common_left) /\ ((forall pfrep_power_common_at_output_common_right pfrep_left_common_at_output_common_right pfrep_right_common_at_output_common_right. ((exists pfrep_position_common_at_output_common_rightfirst. ((pfrep_position_common_at_output_common_rightfirst+S (pfrep_power_common_at_output_common_right)=(M)) /\ ((((exists ff_h_pfp_common_at_output_common_rightfirstentry. ff_h_pfp_common_at_output_common_rightfirstentry + S (pfrep_left_common_at_output_common_right) = S ((S (pfrep_position_common_at_output_common_rightfirst)) * bc)) /\ exists ff_q_pfp_common_at_output_common_rightfirstentry. bb = ff_q_pfp_common_at_output_common_rightfirstentry * S ((S (pfrep_position_common_at_output_common_rightfirst)) * bc) + (pfrep_left_common_at_output_common_right)))))) \/ (((exists pfrep_gap_common_at_output_common_rightfirstoutside. pfrep_gap_common_at_output_common_rightfirstoutside+(M)=(pfrep_power_common_at_output_common_right)) /\ (((pfrep_left_common_at_output_common_right)=0))))) -> ((exists pfrep_position_common_at_output_common_rightsecond. ((pfrep_position_common_at_output_common_rightsecond+S (pfrep_power_common_at_output_common_right)=(K)) /\ ((((exists ff_h_pfp_common_at_output_common_rightsecondentry. ff_h_pfp_common_at_output_common_rightsecondentry + S (pfrep_right_common_at_output_common_right) = S ((S (pfrep_position_common_at_output_common_rightsecond)) * vc)) /\ exists ff_q_pfp_common_at_output_common_rightsecondentry. vb = ff_q_pfp_common_at_output_common_rightsecondentry * S ((S (pfrep_position_common_at_output_common_rightsecond)) * vc) + (pfrep_right_common_at_output_common_right)))))) \/ (((exists pfrep_gap_common_at_output_common_rightsecondoutside. pfrep_gap_common_at_output_common_rightsecondoutside+(K)=(pfrep_power_common_at_output_common_right)) /\ (((pfrep_right_common_at_output_common_right)=0))))) -> pfrep_left_common_at_output_common_right=pfrep_right_common_at_output_common_right)))))))))Constructive proof overview
Generated structural guide
Construct two actual canonical common-length representatives by independent leading-zero padding at any supplied common upper bound.
The unchanged tactic script uses 1 declared prerequisite and contains 50 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct 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
02Fix variables and assumptionsL11–13
03Establish huL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L14
have hu : ∃ ub. ∃ uc. BetaPrefixInto(ub,uc,K,p) ∧ PolynomialEquivalent(ab,ac,L,ub,uc,K)Definitions: BetaPrefixIntoPolynomialEquivalent - L15
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L16
specialize prime_field_polynomial_bounded_representative_at_length_exists (ab) - L17
specialize prime_field_polynomial_bounded_representative_at_length_exists (ac) - L18
specialize prime_field_polynomial_bounded_representative_at_length_exists (L) - L19
specialize prime_field_polynomial_bounded_representative_at_length_exists (K) - L20
apply prime_field_polynomial_bounded_representative_at_length_exists - L21
exact hp - L22
exact ha - L23
exact hL
04Separate the logical casesL24–26
05Establish hvL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L27
have hv : ∃ vb. ∃ vc. BetaPrefixInto(vb,vc,K,p) ∧ PolynomialEquivalent(bb,bc,M,vb,vc,K)Definitions: BetaPrefixIntoPolynomialEquivalent - L28
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L29
specialize prime_field_polynomial_bounded_representative_at_length_exists (bb) - L30
specialize prime_field_polynomial_bounded_representative_at_length_exists (bc) - L31
specialize prime_field_polynomial_bounded_representative_at_length_exists (M) - L32
specialize prime_field_polynomial_bounded_representative_at_length_exists (K) - L33
apply prime_field_polynomial_bounded_representative_at_length_exists - L34
exact hp - L35
exact hb - L36
exact hM
06Separate the logical casesL37–39
07Construct an explicit witnessL40–43
08Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
09Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hu_witness_witness_left
10Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
11Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hv_witness_witness_left
12Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
Original exact command ledger · 50 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro K - 0009
intro hp - 0010
intro ha - 0011
intro hb - 0012
intro hL - 0013
intro hM - 0014
have hu : exists ub uc. ((forall fom_index_pfp_common_construct_left_bounded. (exists fom_gap_pfp_common_construct_left_bounded_index_bound. fom_gap_pfp_common_construct_left_bounded_index_bound + S (fom_index_pfp_common_construct_left_bounded) = K) -> exists fom_value_pfp_common_construct_left_bounded. ((((exists fom_beta_height_pfp_common_construct_left_bounded_entry. fom_beta_height_pfp_common_construct_left_bounded_entry + S (fom_value_pfp_common_construct_left_bounded) = S ((S (fom_index_pfp_common_construct_left_bounded)) * uc)) /\ exists fom_beta_quotient_pfp_common_construct_left_bounded_entry. ub = fom_beta_quotient_pfp_common_construct_left_bounded_entry * S ((S (fom_index_pfp_common_construct_left_bounded)) * uc) + (fom_value_pfp_common_construct_left_bounded))) /\ (exists fom_gap_pfp_common_construct_left_bounded_value_bound. fom_gap_pfp_common_construct_left_bounded_value_bound + S (fom_value_pfp_common_construct_left_bounded) = p))) /\ ((forall pfrep_power_common_construct_left_equivalent pfrep_left_common_construct_left_equivalent pfrep_right_common_construct_left_equivalent. ((exists pfrep_position_common_construct_left_equivalentfirst. ((pfrep_position_common_construct_left_equivalentfirst+S (pfrep_power_common_construct_left_equivalent)=(L)) /\ ((((exists ff_h_pfp_common_construct_left_equivalentfirstentry. ff_h_pfp_common_construct_left_equivalentfirstentry + S (pfrep_left_common_construct_left_equivalent) = S ((S (pfrep_position_common_construct_left_equivalentfirst)) * ac)) /\ exists ff_q_pfp_common_construct_left_equivalentfirstentry. ab = ff_q_pfp_common_construct_left_equivalentfirstentry * S ((S (pfrep_position_common_construct_left_equivalentfirst)) * ac) + (pfrep_left_common_construct_left_equivalent)))))) \/ (((exists pfrep_gap_common_construct_left_equivalentfirstoutside. pfrep_gap_common_construct_left_equivalentfirstoutside+(L)=(pfrep_power_common_construct_left_equivalent)) /\ (((pfrep_left_common_construct_left_equivalent)=0))))) -> ((exists pfrep_position_common_construct_left_equivalentsecond. ((pfrep_position_common_construct_left_equivalentsecond+S (pfrep_power_common_construct_left_equivalent)=(K)) /\ ((((exists ff_h_pfp_common_construct_left_equivalentsecondentry. ff_h_pfp_common_construct_left_equivalentsecondentry + S (pfrep_right_common_construct_left_equivalent) = S ((S (pfrep_position_common_construct_left_equivalentsecond)) * uc)) /\ exists ff_q_pfp_common_construct_left_equivalentsecondentry. ub = ff_q_pfp_common_construct_left_equivalentsecondentry * S ((S (pfrep_position_common_construct_left_equivalentsecond)) * uc) + (pfrep_right_common_construct_left_equivalent)))))) \/ (((exists pfrep_gap_common_construct_left_equivalentsecondoutside. pfrep_gap_common_construct_left_equivalentsecondoutside+(K)=(pfrep_power_common_construct_left_equivalent)) /\ (((pfrep_right_common_construct_left_equivalent)=0))))) -> pfrep_left_common_construct_left_equivalent=pfrep_right_common_construct_left_equivalent))) - 0015
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0016
specialize prime_field_polynomial_bounded_representative_at_length_exists (ab) - 0017
specialize prime_field_polynomial_bounded_representative_at_length_exists (ac) - 0018
specialize prime_field_polynomial_bounded_representative_at_length_exists (L) - 0019
specialize prime_field_polynomial_bounded_representative_at_length_exists (K) - 0020
apply prime_field_polynomial_bounded_representative_at_length_exists - 0021
exact hp - 0022
exact ha - 0023
exact hL - 0024
cases hu - 0025
cases hu_witness - 0026
cases hu_witness_witness - 0027
have hv : exists vb vc. ((forall fom_index_pfp_common_construct_right_bounded. (exists fom_gap_pfp_common_construct_right_bounded_index_bound. fom_gap_pfp_common_construct_right_bounded_index_bound + S (fom_index_pfp_common_construct_right_bounded) = K) -> exists fom_value_pfp_common_construct_right_bounded. ((((exists fom_beta_height_pfp_common_construct_right_bounded_entry. fom_beta_height_pfp_common_construct_right_bounded_entry + S (fom_value_pfp_common_construct_right_bounded) = S ((S (fom_index_pfp_common_construct_right_bounded)) * vc)) /\ exists fom_beta_quotient_pfp_common_construct_right_bounded_entry. vb = fom_beta_quotient_pfp_common_construct_right_bounded_entry * S ((S (fom_index_pfp_common_construct_right_bounded)) * vc) + (fom_value_pfp_common_construct_right_bounded))) /\ (exists fom_gap_pfp_common_construct_right_bounded_value_bound. fom_gap_pfp_common_construct_right_bounded_value_bound + S (fom_value_pfp_common_construct_right_bounded) = p))) /\ ((forall pfrep_power_common_construct_right_equivalent pfrep_left_common_construct_right_equivalent pfrep_right_common_construct_right_equivalent. ((exists pfrep_position_common_construct_right_equivalentfirst. ((pfrep_position_common_construct_right_equivalentfirst+S (pfrep_power_common_construct_right_equivalent)=(M)) /\ ((((exists ff_h_pfp_common_construct_right_equivalentfirstentry. ff_h_pfp_common_construct_right_equivalentfirstentry + S (pfrep_left_common_construct_right_equivalent) = S ((S (pfrep_position_common_construct_right_equivalentfirst)) * bc)) /\ exists ff_q_pfp_common_construct_right_equivalentfirstentry. bb = ff_q_pfp_common_construct_right_equivalentfirstentry * S ((S (pfrep_position_common_construct_right_equivalentfirst)) * bc) + (pfrep_left_common_construct_right_equivalent)))))) \/ (((exists pfrep_gap_common_construct_right_equivalentfirstoutside. pfrep_gap_common_construct_right_equivalentfirstoutside+(M)=(pfrep_power_common_construct_right_equivalent)) /\ (((pfrep_left_common_construct_right_equivalent)=0))))) -> ((exists pfrep_position_common_construct_right_equivalentsecond. ((pfrep_position_common_construct_right_equivalentsecond+S (pfrep_power_common_construct_right_equivalent)=(K)) /\ ((((exists ff_h_pfp_common_construct_right_equivalentsecondentry. ff_h_pfp_common_construct_right_equivalentsecondentry + S (pfrep_right_common_construct_right_equivalent) = S ((S (pfrep_position_common_construct_right_equivalentsecond)) * vc)) /\ exists ff_q_pfp_common_construct_right_equivalentsecondentry. vb = ff_q_pfp_common_construct_right_equivalentsecondentry * S ((S (pfrep_position_common_construct_right_equivalentsecond)) * vc) + (pfrep_right_common_construct_right_equivalent)))))) \/ (((exists pfrep_gap_common_construct_right_equivalentsecondoutside. pfrep_gap_common_construct_right_equivalentsecondoutside+(K)=(pfrep_power_common_construct_right_equivalent)) /\ (((pfrep_right_common_construct_right_equivalent)=0))))) -> pfrep_left_common_construct_right_equivalent=pfrep_right_common_construct_right_equivalent))) - 0028
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0029
specialize prime_field_polynomial_bounded_representative_at_length_exists (bb) - 0030
specialize prime_field_polynomial_bounded_representative_at_length_exists (bc) - 0031
specialize prime_field_polynomial_bounded_representative_at_length_exists (M) - 0032
specialize prime_field_polynomial_bounded_representative_at_length_exists (K) - 0033
apply prime_field_polynomial_bounded_representative_at_length_exists - 0034
exact hp - 0035
exact hb - 0036
exact hM - 0037
cases hv - 0038
cases hv_witness - 0039
cases hv_witness_witness - 0040
exists x - 0041
exists x1 - 0042
exists x2 - 0043
exists x3 - 0044
split - 0045
exact hu_witness_witness_left - 0046
split - 0047
exact hv_witness_witness_left - 0048
split - 0049
exact hu_witness_witness_right - 0050
exact hv_witness_witness_right