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 db dc D d ab ac L a. (~((p) = 1) /\ forall pfa_factor_left_bound_prime pfa_factor_right_bound_prime. (p) = pfa_factor_left_bound_prime * pfa_factor_right_bound_prime -> pfa_factor_left_bound_prime = 1 \/ pfa_factor_right_bound_prime = 1) -> ((((D)=S (d)) /\ (((forall fom_index_pfp_bound_divisorcoefficients. (exists fom_gap_pfp_bound_divisorcoefficients_index_bound. fom_gap_pfp_bound_divisorcoefficients_index_bound + S (fom_index_pfp_bound_divisorcoefficients) = D) -> exists fom_value_pfp_bound_divisorcoefficients. ((((exists fom_beta_height_pfp_bound_divisorcoefficients_entry. fom_beta_height_pfp_bound_divisorcoefficients_entry + S (fom_value_pfp_bound_divisorcoefficients) = S ((S (fom_index_pfp_bound_divisorcoefficients)) * dc)) /\ exists fom_beta_quotient_pfp_bound_divisorcoefficients_entry. db = fom_beta_quotient_pfp_bound_divisorcoefficients_entry * S ((S (fom_index_pfp_bound_divisorcoefficients)) * dc) + (fom_value_pfp_bound_divisorcoefficients))) /\ (exists fom_gap_pfp_bound_divisorcoefficients_value_bound. fom_gap_pfp_bound_divisorcoefficients_value_bound + S (fom_value_pfp_bound_divisorcoefficients) = p))) /\ ((exists pfd_leading_bound_divisor. ((((exists ff_h_pfp_bound_divisorentry. ff_h_pfp_bound_divisorentry + S (pfd_leading_bound_divisor) = S ((S (0)) * dc)) /\ exists ff_q_pfp_bound_divisorentry. db = ff_q_pfp_bound_divisorentry * S ((S (0)) * dc) + (pfd_leading_bound_divisor))) /\ ((~(pfd_leading_bound_divisor=0)))))))))) -> ((((L)=S (a)) /\ (((forall fom_index_pfp_bound_targetcoefficients. (exists fom_gap_pfp_bound_targetcoefficients_index_bound. fom_gap_pfp_bound_targetcoefficients_index_bound + S (fom_index_pfp_bound_targetcoefficients) = L) -> exists fom_value_pfp_bound_targetcoefficients. ((((exists fom_beta_height_pfp_bound_targetcoefficients_entry. fom_beta_height_pfp_bound_targetcoefficients_entry + S (fom_value_pfp_bound_targetcoefficients) = S ((S (fom_index_pfp_bound_targetcoefficients)) * ac)) /\ exists fom_beta_quotient_pfp_bound_targetcoefficients_entry. ab = fom_beta_quotient_pfp_bound_targetcoefficients_entry * S ((S (fom_index_pfp_bound_targetcoefficients)) * ac) + (fom_value_pfp_bound_targetcoefficients))) /\ (exists fom_gap_pfp_bound_targetcoefficients_value_bound. fom_gap_pfp_bound_targetcoefficients_value_bound + S (fom_value_pfp_bound_targetcoefficients) = p))) /\ ((exists pfd_leading_bound_target. ((((exists ff_h_pfp_bound_targetentry. ff_h_pfp_bound_targetentry + S (pfd_leading_bound_target) = S ((S (0)) * ac)) /\ exists ff_q_pfp_bound_targetentry. ab = ff_q_pfp_bound_targetentry * S ((S (0)) * ac) + (pfd_leading_bound_target))) /\ ((~(pfd_leading_bound_target=0)))))))))) -> (((forall fom_index_pfp_bound_divisibility_canonical. (exists fom_gap_pfp_bound_divisibility_canonical_index_bound. fom_gap_pfp_bound_divisibility_canonical_index_bound + S (fom_index_pfp_bound_divisibility_canonical) = L) -> exists fom_value_pfp_bound_divisibility_canonical. ((((exists fom_beta_height_pfp_bound_divisibility_canonical_entry. fom_beta_height_pfp_bound_divisibility_canonical_entry + S (fom_value_pfp_bound_divisibility_canonical) = S ((S (fom_index_pfp_bound_divisibility_canonical)) * ac)) /\ exists fom_beta_quotient_pfp_bound_divisibility_canonical_entry. ab = fom_beta_quotient_pfp_bound_divisibility_canonical_entry * S ((S (fom_index_pfp_bound_divisibility_canonical)) * ac) + (fom_value_pfp_bound_divisibility_canonical))) /\ (exists fom_gap_pfp_bound_divisibility_canonical_value_bound. fom_gap_pfp_bound_divisibility_canonical_value_bound + S (fom_value_pfp_bound_divisibility_canonical) = p))) /\ ((exists pfgu_qb_bound_divisibility pfgu_qc_bound_divisibility pfgu_Q_bound_divisibility pfgu_pb_bound_divisibility pfgu_pc_bound_divisibility pfgu_P_bound_divisibility. ((((forall fom_index_pfp_bound_divisibility_productleft. (exists fom_gap_pfp_bound_divisibility_productleft_index_bound. fom_gap_pfp_bound_divisibility_productleft_index_bound + S (fom_index_pfp_bound_divisibility_productleft) = pfgu_Q_bound_divisibility) -> exists fom_value_pfp_bound_divisibility_productleft. ((((exists fom_beta_height_pfp_bound_divisibility_productleft_entry. fom_beta_height_pfp_bound_divisibility_productleft_entry + S (fom_value_pfp_bound_divisibility_productleft) = S ((S (fom_index_pfp_bound_divisibility_productleft)) * pfgu_qc_bound_divisibility)) /\ exists fom_beta_quotient_pfp_bound_divisibility_productleft_entry. pfgu_qb_bound_divisibility = fom_beta_quotient_pfp_bound_divisibility_productleft_entry * S ((S (fom_index_pfp_bound_divisibility_productleft)) * pfgu_qc_bound_divisibility) + (fom_value_pfp_bound_divisibility_productleft))) /\ (exists fom_gap_pfp_bound_divisibility_productleft_value_bound. fom_gap_pfp_bound_divisibility_productleft_value_bound + S (fom_value_pfp_bound_divisibility_productleft) = p))) /\ (((forall fom_index_pfp_bound_divisibility_productright. (exists fom_gap_pfp_bound_divisibility_productright_index_bound. fom_gap_pfp_bound_divisibility_productright_index_bound + S (fom_index_pfp_bound_divisibility_productright) = D) -> exists fom_value_pfp_bound_divisibility_productright. ((((exists fom_beta_height_pfp_bound_divisibility_productright_entry. fom_beta_height_pfp_bound_divisibility_productright_entry + S (fom_value_pfp_bound_divisibility_productright) = S ((S (fom_index_pfp_bound_divisibility_productright)) * dc)) /\ exists fom_beta_quotient_pfp_bound_divisibility_productright_entry. db = fom_beta_quotient_pfp_bound_divisibility_productright_entry * S ((S (fom_index_pfp_bound_divisibility_productright)) * dc) + (fom_value_pfp_bound_divisibility_productright))) /\ (exists fom_gap_pfp_bound_divisibility_productright_value_bound. fom_gap_pfp_bound_divisibility_productright_value_bound + S (fom_value_pfp_bound_divisibility_productright) = p))) /\ (((((((pfgu_Q_bound_divisibility)=0 \/ (D)=0) /\ (((pfgu_P_bound_divisibility)=0)))) \/ (((~((pfgu_Q_bound_divisibility)=0)) /\ (((~((D)=0)) /\ (((pfgu_Q_bound_divisibility)+(D)=S (pfgu_P_bound_divisibility)))))))) /\ ((forall pfc_index_bound_divisibility_productcoefficients. (exists pfa_gap_bound_divisibility_productcoefficientsbound. pfa_gap_bound_divisibility_productcoefficientsbound + S (pfc_index_bound_divisibility_productcoefficients) = (pfgu_P_bound_divisibility)) -> exists pfc_value_bound_divisibility_productcoefficients. ((((exists ff_h_pfp_bound_divisibility_productcoefficientsentry. ff_h_pfp_bound_divisibility_productcoefficientsentry + S (pfc_value_bound_divisibility_productcoefficients) = S ((S (pfc_index_bound_divisibility_productcoefficients)) * pfgu_pc_bound_divisibility)) /\ exists ff_q_pfp_bound_divisibility_productcoefficientsentry. pfgu_pb_bound_divisibility = ff_q_pfp_bound_divisibility_productcoefficientsentry * S ((S (pfc_index_bound_divisibility_productcoefficients)) * pfgu_pc_bound_divisibility) + (pfc_value_bound_divisibility_productcoefficients))) /\ ((exists pfc_terms_code_bound_divisibility_productcoefficientscoefficient pfc_terms_scale_bound_divisibility_productcoefficientscoefficient pfc_natural_sum_bound_divisibility_productcoefficientscoefficient. ((forall pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal. (exists pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonalbound. pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonalbound + S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal) = (S (pfc_index_bound_divisibility_productcoefficients))) -> exists pfc_value_bound_divisibility_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonalentry. ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonalentry + S (pfc_value_bound_divisibility_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_bound_divisibility_productcoefficientscoefficient)) /\ exists ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonalentry. pfc_terms_code_bound_divisibility_productcoefficientscoefficient = ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_bound_divisibility_productcoefficientscoefficient) + (pfc_value_bound_divisibility_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm pfc_left_bound_divisibility_productcoefficientscoefficientdiagonalterm pfc_right_bound_divisibility_productcoefficientscoefficientdiagonalterm. (((pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)+pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm=(pfc_index_bound_divisibility_productcoefficients)) /\ ((((((exists pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal) = (pfgu_Q_bound_divisibility)) /\ ((((exists ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_bound_divisibility_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)) * pfgu_qc_bound_divisibility)) /\ exists ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermleftentry. pfgu_qb_bound_divisibility = ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)) * pfgu_qc_bound_divisibility) + (pfc_left_bound_divisibility_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermleftoutside+(pfgu_Q_bound_divisibility)=(pfc_index_bound_divisibility_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_bound_divisibility_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_bound_divisibility_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_bound_divisibility_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_bound_divisibility_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_bound_divisibility_productcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_bound_divisibility_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_bound_divisibility_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_bound_divisibility_productcoefficientscoefficientdiagonal)=pfc_left_bound_divisibility_productcoefficientscoefficientdiagonalterm*pfc_right_bound_divisibility_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_bound_divisibility_productcoefficientscoefficientsum fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum. ((((exists fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_start. fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_start. fs_u_pfc_bound_divisibility_productcoefficientscoefficientsum = fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_bound_divisibility_productcoefficientscoefficient) = S ((S (S (pfc_index_bound_divisibility_productcoefficients))) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_bound_divisibility_productcoefficientscoefficientsum = fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_bound_divisibility_productcoefficients))) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum) + (pfc_natural_sum_bound_divisibility_productcoefficientscoefficient))) /\ forall fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps = S (pfc_index_bound_divisibility_productcoefficients)) -> exists fs_a_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps fs_r_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps fs_s_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_bound_divisibility_productcoefficientscoefficient)) /\ exists fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_bound_divisibility_productcoefficientscoefficient = fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_bound_divisibility_productcoefficientscoefficient) + (fs_a_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_bound_divisibility_productcoefficientscoefficientsum = fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum) + (fs_r_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_bound_divisibility_productcoefficientscoefficientsum = fs_q_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_divisibility_productcoefficientscoefficientsum) + (fs_s_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps = fs_r_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps + fs_a_pfc_bound_divisibility_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_bound_divisibility_productcoefficientscoefficientresiduebound. pfa_gap_bound_divisibility_productcoefficientscoefficientresiduebound + S (pfc_value_bound_divisibility_productcoefficients) = (p)) /\ ((exists pfa_offset_left_bound_divisibility_productcoefficientscoefficientresiduecongruence pfa_offset_right_bound_divisibility_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_bound_divisibility_productcoefficientscoefficient) + (p) * pfa_offset_left_bound_divisibility_productcoefficientscoefficientresiduecongruence = (pfc_value_bound_divisibility_productcoefficients) + (p) * pfa_offset_right_bound_divisibility_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_bound_divisibility_target pfrep_left_bound_divisibility_target pfrep_right_bound_divisibility_target. ((exists pfrep_position_bound_divisibility_targetfirst. ((pfrep_position_bound_divisibility_targetfirst+S (pfrep_power_bound_divisibility_target)=(pfgu_P_bound_divisibility)) /\ ((((exists ff_h_pfp_bound_divisibility_targetfirstentry. ff_h_pfp_bound_divisibility_targetfirstentry + S (pfrep_left_bound_divisibility_target) = S ((S (pfrep_position_bound_divisibility_targetfirst)) * pfgu_pc_bound_divisibility)) /\ exists ff_q_pfp_bound_divisibility_targetfirstentry. pfgu_pb_bound_divisibility = ff_q_pfp_bound_divisibility_targetfirstentry * S ((S (pfrep_position_bound_divisibility_targetfirst)) * pfgu_pc_bound_divisibility) + (pfrep_left_bound_divisibility_target)))))) \/ (((exists pfrep_gap_bound_divisibility_targetfirstoutside. pfrep_gap_bound_divisibility_targetfirstoutside+(pfgu_P_bound_divisibility)=(pfrep_power_bound_divisibility_target)) /\ (((pfrep_left_bound_divisibility_target)=0))))) -> ((exists pfrep_position_bound_divisibility_targetsecond. ((pfrep_position_bound_divisibility_targetsecond+S (pfrep_power_bound_divisibility_target)=(L)) /\ ((((exists ff_h_pfp_bound_divisibility_targetsecondentry. ff_h_pfp_bound_divisibility_targetsecondentry + S (pfrep_right_bound_divisibility_target) = S ((S (pfrep_position_bound_divisibility_targetsecond)) * ac)) /\ exists ff_q_pfp_bound_divisibility_targetsecondentry. ab = ff_q_pfp_bound_divisibility_targetsecondentry * S ((S (pfrep_position_bound_divisibility_targetsecond)) * ac) + (pfrep_right_bound_divisibility_target)))))) \/ (((exists pfrep_gap_bound_divisibility_targetsecondoutside. pfrep_gap_bound_divisibility_targetsecondoutside+(L)=(pfrep_power_bound_divisibility_target)) /\ (((pfrep_right_bound_divisibility_target)=0))))) -> pfrep_left_bound_divisibility_target=pfrep_right_bound_divisibility_target))))))) -> (exists pfc_gap_bound_result. pfc_gap_bound_result+(d)=(a))Constructive proof overview
Generated structural guide
A nonzero represented right divisor has degree at most that of its nonzero represented multiple, using the actual retained quotient degree as the natural witness.
The unchanged tactic script uses 1 declared prerequisite and contains 38 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 hfL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hf : ∃ pfgu_qb_bound_factor. ∃ pfgu_qc_bound_factor. ∃ pfgu_e_bound_factor. ∃ pfgu_pb_bound_factor. ∃ pfgu_pc_bound_factor. FpRepresentedDegree(p,pfgu_qb_bound_factor,pfgu_qc_bound_factor,S pfgu_e_bound_factor,pfgu_e_bound_factor) ∧ (FpPolyProduct(p,pfgu_qb_bound_factor,pfgu_qc_bound_factor,S pfgu_e_bound_factor,db,dc,D,pfgu_pb_bound_factor,pfgu_pc_bound_factor,S a) ∧ (PolynomialEquivalent(pfgu_pb_bound_factor,pfgu_pc_bound_factor,S a,ab,ac,L) ∧ pfgu_e_bound_factor + d = a))Definitions: FpPolyProductFpRepresentedDegreePolynomialEquivalent - L15
specialize prime_field_polynomial_right_divides_represented_factorization (p) - L16
specialize prime_field_polynomial_right_divides_represented_factorization (db) - L17
specialize prime_field_polynomial_right_divides_represented_factorization (dc) - L18
specialize prime_field_polynomial_right_divides_represented_factorization (D) - L19
specialize prime_field_polynomial_right_divides_represented_factorization (d) - L20
specialize prime_field_polynomial_right_divides_represented_factorization (ab) - L21
specialize prime_field_polynomial_right_divides_represented_factorization (ac) - L22
specialize prime_field_polynomial_right_divides_represented_factorization (L) - L23
specialize prime_field_polynomial_right_divides_represented_factorization (a)
04Use earlier factsL24–28
05Separate the logical casesL29–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hf - L30
cases hf_witness - L31
cases hf_witness_witness - L32
cases hf_witness_witness_witness - L33
cases hf_witness_witness_witness_witness - L34
cases hf_witness_witness_witness_witness_witness - L35
cases hf_witness_witness_witness_witness_witness_right - L36
cases hf_witness_witness_witness_witness_witness_right_right
06Construct an explicit witnessL37–37
Supply the displayed value, then prove that it has the required property.
- L37
exists x2
07Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hf_witness_witness_witness_witness_witness_right_right_right
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro D - 0005
intro d - 0006
intro ab - 0007
intro ac - 0008
intro L - 0009
intro a - 0010
intro hp - 0011
intro hd - 0012
intro ha - 0013
intro hrd - 0014
have hf : exists pfgu_qb_bound_factor pfgu_qc_bound_factor pfgu_e_bound_factor pfgu_pb_bound_factor pfgu_pc_bound_factor. (((((S (pfgu_e_bound_factor))=S (pfgu_e_bound_factor)) /\ (((forall fom_index_pfp_bound_factor_quotientcoefficients. (exists fom_gap_pfp_bound_factor_quotientcoefficients_index_bound. fom_gap_pfp_bound_factor_quotientcoefficients_index_bound + S (fom_index_pfp_bound_factor_quotientcoefficients) = S (pfgu_e_bound_factor)) -> exists fom_value_pfp_bound_factor_quotientcoefficients. ((((exists fom_beta_height_pfp_bound_factor_quotientcoefficients_entry. fom_beta_height_pfp_bound_factor_quotientcoefficients_entry + S (fom_value_pfp_bound_factor_quotientcoefficients) = S ((S (fom_index_pfp_bound_factor_quotientcoefficients)) * pfgu_qc_bound_factor)) /\ exists fom_beta_quotient_pfp_bound_factor_quotientcoefficients_entry. pfgu_qb_bound_factor = fom_beta_quotient_pfp_bound_factor_quotientcoefficients_entry * S ((S (fom_index_pfp_bound_factor_quotientcoefficients)) * pfgu_qc_bound_factor) + (fom_value_pfp_bound_factor_quotientcoefficients))) /\ (exists fom_gap_pfp_bound_factor_quotientcoefficients_value_bound. fom_gap_pfp_bound_factor_quotientcoefficients_value_bound + S (fom_value_pfp_bound_factor_quotientcoefficients) = p))) /\ ((exists pfd_leading_bound_factor_quotient. ((((exists ff_h_pfp_bound_factor_quotiententry. ff_h_pfp_bound_factor_quotiententry + S (pfd_leading_bound_factor_quotient) = S ((S (0)) * pfgu_qc_bound_factor)) /\ exists ff_q_pfp_bound_factor_quotiententry. pfgu_qb_bound_factor = ff_q_pfp_bound_factor_quotiententry * S ((S (0)) * pfgu_qc_bound_factor) + (pfd_leading_bound_factor_quotient))) /\ ((~(pfd_leading_bound_factor_quotient=0)))))))))) /\ (((((forall fom_index_pfp_bound_factor_productleft. (exists fom_gap_pfp_bound_factor_productleft_index_bound. fom_gap_pfp_bound_factor_productleft_index_bound + S (fom_index_pfp_bound_factor_productleft) = S (pfgu_e_bound_factor)) -> exists fom_value_pfp_bound_factor_productleft. ((((exists fom_beta_height_pfp_bound_factor_productleft_entry. fom_beta_height_pfp_bound_factor_productleft_entry + S (fom_value_pfp_bound_factor_productleft) = S ((S (fom_index_pfp_bound_factor_productleft)) * pfgu_qc_bound_factor)) /\ exists fom_beta_quotient_pfp_bound_factor_productleft_entry. pfgu_qb_bound_factor = fom_beta_quotient_pfp_bound_factor_productleft_entry * S ((S (fom_index_pfp_bound_factor_productleft)) * pfgu_qc_bound_factor) + (fom_value_pfp_bound_factor_productleft))) /\ (exists fom_gap_pfp_bound_factor_productleft_value_bound. fom_gap_pfp_bound_factor_productleft_value_bound + S (fom_value_pfp_bound_factor_productleft) = p))) /\ (((forall fom_index_pfp_bound_factor_productright. (exists fom_gap_pfp_bound_factor_productright_index_bound. fom_gap_pfp_bound_factor_productright_index_bound + S (fom_index_pfp_bound_factor_productright) = D) -> exists fom_value_pfp_bound_factor_productright. ((((exists fom_beta_height_pfp_bound_factor_productright_entry. fom_beta_height_pfp_bound_factor_productright_entry + S (fom_value_pfp_bound_factor_productright) = S ((S (fom_index_pfp_bound_factor_productright)) * dc)) /\ exists fom_beta_quotient_pfp_bound_factor_productright_entry. db = fom_beta_quotient_pfp_bound_factor_productright_entry * S ((S (fom_index_pfp_bound_factor_productright)) * dc) + (fom_value_pfp_bound_factor_productright))) /\ (exists fom_gap_pfp_bound_factor_productright_value_bound. fom_gap_pfp_bound_factor_productright_value_bound + S (fom_value_pfp_bound_factor_productright) = p))) /\ (((((((S (pfgu_e_bound_factor))=0 \/ (D)=0) /\ (((S (a))=0)))) \/ (((~((S (pfgu_e_bound_factor))=0)) /\ (((~((D)=0)) /\ (((S (pfgu_e_bound_factor))+(D)=S (S (a))))))))) /\ ((forall pfc_index_bound_factor_productcoefficients. (exists pfa_gap_bound_factor_productcoefficientsbound. pfa_gap_bound_factor_productcoefficientsbound + S (pfc_index_bound_factor_productcoefficients) = (S (a))) -> exists pfc_value_bound_factor_productcoefficients. ((((exists ff_h_pfp_bound_factor_productcoefficientsentry. ff_h_pfp_bound_factor_productcoefficientsentry + S (pfc_value_bound_factor_productcoefficients) = S ((S (pfc_index_bound_factor_productcoefficients)) * pfgu_pc_bound_factor)) /\ exists ff_q_pfp_bound_factor_productcoefficientsentry. pfgu_pb_bound_factor = ff_q_pfp_bound_factor_productcoefficientsentry * S ((S (pfc_index_bound_factor_productcoefficients)) * pfgu_pc_bound_factor) + (pfc_value_bound_factor_productcoefficients))) /\ ((exists pfc_terms_code_bound_factor_productcoefficientscoefficient pfc_terms_scale_bound_factor_productcoefficientscoefficient pfc_natural_sum_bound_factor_productcoefficientscoefficient. ((forall pfc_index_bound_factor_productcoefficientscoefficientdiagonal. (exists pfa_gap_bound_factor_productcoefficientscoefficientdiagonalbound. pfa_gap_bound_factor_productcoefficientscoefficientdiagonalbound + S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal) = (S (pfc_index_bound_factor_productcoefficients))) -> exists pfc_value_bound_factor_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonalentry. ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonalentry + S (pfc_value_bound_factor_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_bound_factor_productcoefficientscoefficient)) /\ exists ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonalentry. pfc_terms_code_bound_factor_productcoefficientscoefficient = ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_bound_factor_productcoefficientscoefficient) + (pfc_value_bound_factor_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm pfc_left_bound_factor_productcoefficientscoefficientdiagonalterm pfc_right_bound_factor_productcoefficientscoefficientdiagonalterm. (((pfc_index_bound_factor_productcoefficientscoefficientdiagonal)+pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm=(pfc_index_bound_factor_productcoefficients)) /\ ((((((exists pfa_gap_bound_factor_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_bound_factor_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal) = (S (pfgu_e_bound_factor))) /\ ((((exists ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_bound_factor_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal)) * pfgu_qc_bound_factor)) /\ exists ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonaltermleftentry. pfgu_qb_bound_factor = ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_bound_factor_productcoefficientscoefficientdiagonal)) * pfgu_qc_bound_factor) + (pfc_left_bound_factor_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_bound_factor_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_bound_factor_productcoefficientscoefficientdiagonaltermleftoutside+(S (pfgu_e_bound_factor))=(pfc_index_bound_factor_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_bound_factor_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_bound_factor_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_bound_factor_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_bound_factor_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_bound_factor_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_bound_factor_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_bound_factor_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_bound_factor_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_bound_factor_productcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_bound_factor_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_bound_factor_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_bound_factor_productcoefficientscoefficientdiagonal)=pfc_left_bound_factor_productcoefficientscoefficientdiagonalterm*pfc_right_bound_factor_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_bound_factor_productcoefficientscoefficientsum fs_v_pfc_bound_factor_productcoefficientscoefficientsum. ((((exists fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_start. fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_start. fs_u_pfc_bound_factor_productcoefficientscoefficientsum = fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_bound_factor_productcoefficientscoefficient) = S ((S (S (pfc_index_bound_factor_productcoefficients))) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_bound_factor_productcoefficientscoefficientsum = fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_bound_factor_productcoefficients))) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum) + (pfc_natural_sum_bound_factor_productcoefficientscoefficient))) /\ forall fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps = S (pfc_index_bound_factor_productcoefficients)) -> exists fs_a_pfc_bound_factor_productcoefficientscoefficientsum_body_steps fs_r_pfc_bound_factor_productcoefficientscoefficientsum_body_steps fs_s_pfc_bound_factor_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_bound_factor_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_bound_factor_productcoefficientscoefficient)) /\ exists fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_bound_factor_productcoefficientscoefficient = fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_bound_factor_productcoefficientscoefficient) + (fs_a_pfc_bound_factor_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_bound_factor_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_bound_factor_productcoefficientscoefficientsum = fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum) + (fs_r_pfc_bound_factor_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_bound_factor_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_bound_factor_productcoefficientscoefficientsum = fs_q_pfc_bound_factor_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_bound_factor_productcoefficientscoefficientsum) + (fs_s_pfc_bound_factor_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_bound_factor_productcoefficientscoefficientsum_body_steps = fs_r_pfc_bound_factor_productcoefficientscoefficientsum_body_steps + fs_a_pfc_bound_factor_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_bound_factor_productcoefficientscoefficientresiduebound. pfa_gap_bound_factor_productcoefficientscoefficientresiduebound + S (pfc_value_bound_factor_productcoefficients) = (p)) /\ ((exists pfa_offset_left_bound_factor_productcoefficientscoefficientresiduecongruence pfa_offset_right_bound_factor_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_bound_factor_productcoefficientscoefficient) + (p) * pfa_offset_left_bound_factor_productcoefficientscoefficientresiduecongruence = (pfc_value_bound_factor_productcoefficients) + (p) * pfa_offset_right_bound_factor_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((forall pfrep_power_bound_factor_equivalent pfrep_left_bound_factor_equivalent pfrep_right_bound_factor_equivalent. ((exists pfrep_position_bound_factor_equivalentfirst. ((pfrep_position_bound_factor_equivalentfirst+S (pfrep_power_bound_factor_equivalent)=(S (a))) /\ ((((exists ff_h_pfp_bound_factor_equivalentfirstentry. ff_h_pfp_bound_factor_equivalentfirstentry + S (pfrep_left_bound_factor_equivalent) = S ((S (pfrep_position_bound_factor_equivalentfirst)) * pfgu_pc_bound_factor)) /\ exists ff_q_pfp_bound_factor_equivalentfirstentry. pfgu_pb_bound_factor = ff_q_pfp_bound_factor_equivalentfirstentry * S ((S (pfrep_position_bound_factor_equivalentfirst)) * pfgu_pc_bound_factor) + (pfrep_left_bound_factor_equivalent)))))) \/ (((exists pfrep_gap_bound_factor_equivalentfirstoutside. pfrep_gap_bound_factor_equivalentfirstoutside+(S (a))=(pfrep_power_bound_factor_equivalent)) /\ (((pfrep_left_bound_factor_equivalent)=0))))) -> ((exists pfrep_position_bound_factor_equivalentsecond. ((pfrep_position_bound_factor_equivalentsecond+S (pfrep_power_bound_factor_equivalent)=(L)) /\ ((((exists ff_h_pfp_bound_factor_equivalentsecondentry. ff_h_pfp_bound_factor_equivalentsecondentry + S (pfrep_right_bound_factor_equivalent) = S ((S (pfrep_position_bound_factor_equivalentsecond)) * ac)) /\ exists ff_q_pfp_bound_factor_equivalentsecondentry. ab = ff_q_pfp_bound_factor_equivalentsecondentry * S ((S (pfrep_position_bound_factor_equivalentsecond)) * ac) + (pfrep_right_bound_factor_equivalent)))))) \/ (((exists pfrep_gap_bound_factor_equivalentsecondoutside. pfrep_gap_bound_factor_equivalentsecondoutside+(L)=(pfrep_power_bound_factor_equivalent)) /\ (((pfrep_right_bound_factor_equivalent)=0))))) -> pfrep_left_bound_factor_equivalent=pfrep_right_bound_factor_equivalent) /\ (((pfgu_e_bound_factor)+(d)=(a)))))))) - 0015
specialize prime_field_polynomial_right_divides_represented_factorization (p) - 0016
specialize prime_field_polynomial_right_divides_represented_factorization (db) - 0017
specialize prime_field_polynomial_right_divides_represented_factorization (dc) - 0018
specialize prime_field_polynomial_right_divides_represented_factorization (D) - 0019
specialize prime_field_polynomial_right_divides_represented_factorization (d) - 0020
specialize prime_field_polynomial_right_divides_represented_factorization (ab) - 0021
specialize prime_field_polynomial_right_divides_represented_factorization (ac) - 0022
specialize prime_field_polynomial_right_divides_represented_factorization (L) - 0023
specialize prime_field_polynomial_right_divides_represented_factorization (a) - 0024
apply prime_field_polynomial_right_divides_represented_factorization - 0025
exact hp - 0026
exact hd - 0027
exact ha - 0028
exact hrd - 0029
cases hf - 0030
cases hf_witness - 0031
cases hf_witness_witness - 0032
cases hf_witness_witness_witness - 0033
cases hf_witness_witness_witness_witness - 0034
cases hf_witness_witness_witness_witness_witness - 0035
cases hf_witness_witness_witness_witness_witness_right - 0036
cases hf_witness_witness_witness_witness_witness_right_right - 0037
exists x2 - 0038
exact hf_witness_witness_witness_witness_witness_right_right_right