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 k ab ac bb bc M N. (~((p) = 1) /\ forall pfa_factor_left_division_exists_prime pfa_factor_right_division_exists_prime. (p) = pfa_factor_left_division_exists_prime * pfa_factor_right_division_exists_prime -> pfa_factor_left_division_exists_prime = 1 \/ pfa_factor_right_division_exists_prime = 1) -> (exists pfa_gap_division_exists_scalar. pfa_gap_division_exists_scalar + S (k) = (p)) -> (forall fom_index_pfp_division_exists_source. (exists fom_gap_pfp_division_exists_source_index_bound. fom_gap_pfp_division_exists_source_index_bound + S (fom_index_pfp_division_exists_source) = N) -> exists fom_value_pfp_division_exists_source. ((((exists fom_beta_height_pfp_division_exists_source_entry. fom_beta_height_pfp_division_exists_source_entry + S (fom_value_pfp_division_exists_source) = S ((S (fom_index_pfp_division_exists_source)) * ac)) /\ exists fom_beta_quotient_pfp_division_exists_source_entry. ab = fom_beta_quotient_pfp_division_exists_source_entry * S ((S (fom_index_pfp_division_exists_source)) * ac) + (fom_value_pfp_division_exists_source))) /\ (exists fom_gap_pfp_division_exists_source_value_bound. fom_gap_pfp_division_exists_source_value_bound + S (fom_value_pfp_division_exists_source) = p))) -> exists qb qc. (forall pfd_index_division_exists_result. (exists pfa_gap_division_exists_resultbound. pfa_gap_division_exists_resultbound + S (pfd_index_division_exists_result) = (N)) -> exists pfd_value_division_exists_result. ((((exists ff_h_pfp_division_exists_resultentry. ff_h_pfp_division_exists_resultentry + S (pfd_value_division_exists_result) = S ((S (pfd_index_division_exists_result)) * qc)) /\ exists ff_q_pfp_division_exists_resultentry. qb = ff_q_pfp_division_exists_resultentry * S ((S (pfd_index_division_exists_result)) * qc) + (pfd_value_division_exists_result))) /\ ((exists pfd_input_division_exists_resultstep pfd_previous_division_exists_resultstep pfd_difference_division_exists_resultstep. ((((exists ff_h_pfp_division_exists_resultstepinput. ff_h_pfp_division_exists_resultstepinput + S (pfd_input_division_exists_resultstep) = S ((S (pfd_index_division_exists_result)) * ac)) /\ exists ff_q_pfp_division_exists_resultstepinput. ab = ff_q_pfp_division_exists_resultstepinput * S ((S (pfd_index_division_exists_result)) * ac) + (pfd_input_division_exists_resultstep))) /\ (((exists pfc_terms_code_division_exists_resultstepprevious pfc_terms_scale_division_exists_resultstepprevious pfc_natural_sum_division_exists_resultstepprevious. ((forall pfc_index_division_exists_resultsteppreviousdiagonal. (exists pfa_gap_division_exists_resultsteppreviousdiagonalbound. pfa_gap_division_exists_resultsteppreviousdiagonalbound + S (pfc_index_division_exists_resultsteppreviousdiagonal) = (S (pfd_index_division_exists_result))) -> exists pfc_value_division_exists_resultsteppreviousdiagonal. ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonalentry. ff_h_pfp_division_exists_resultsteppreviousdiagonalentry + S (pfc_value_division_exists_resultsteppreviousdiagonal) = S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * pfc_terms_scale_division_exists_resultstepprevious)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonalentry. pfc_terms_code_division_exists_resultstepprevious = ff_q_pfp_division_exists_resultsteppreviousdiagonalentry * S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * pfc_terms_scale_division_exists_resultstepprevious) + (pfc_value_division_exists_resultsteppreviousdiagonal))) /\ ((exists pfc_complement_division_exists_resultsteppreviousdiagonalterm pfc_left_division_exists_resultsteppreviousdiagonalterm pfc_right_division_exists_resultsteppreviousdiagonalterm. (((pfc_index_division_exists_resultsteppreviousdiagonal)+pfc_complement_division_exists_resultsteppreviousdiagonalterm=(pfd_index_division_exists_result)) /\ ((((((exists pfa_gap_division_exists_resultsteppreviousdiagonaltermleftinside. pfa_gap_division_exists_resultsteppreviousdiagonaltermleftinside + S (pfc_index_division_exists_resultsteppreviousdiagonal) = (pfd_index_division_exists_result)) /\ ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonaltermleftentry. ff_h_pfp_division_exists_resultsteppreviousdiagonaltermleftentry + S (pfc_left_division_exists_resultsteppreviousdiagonalterm) = S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_exists_resultsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * qc) + (pfc_left_division_exists_resultsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_resultsteppreviousdiagonaltermleftoutside. pfc_gap_division_exists_resultsteppreviousdiagonaltermleftoutside+(pfd_index_division_exists_result)=(pfc_index_division_exists_resultsteppreviousdiagonal)) /\ (((pfc_left_division_exists_resultsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_resultsteppreviousdiagonaltermrightinside. pfa_gap_division_exists_resultsteppreviousdiagonaltermrightinside + S (pfc_complement_division_exists_resultsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonaltermrightentry. ff_h_pfp_division_exists_resultsteppreviousdiagonaltermrightentry + S (pfc_right_division_exists_resultsteppreviousdiagonalterm) = S ((S (pfc_complement_division_exists_resultsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_resultsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_resultsteppreviousdiagonalterm)) * bc) + (pfc_right_division_exists_resultsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_resultsteppreviousdiagonaltermrightoutside. pfc_gap_division_exists_resultsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_resultsteppreviousdiagonalterm)) /\ (((pfc_right_division_exists_resultsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_resultsteppreviousdiagonal)=pfc_left_division_exists_resultsteppreviousdiagonalterm*pfc_right_division_exists_resultsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_resultstepprevioussum fs_v_pfc_division_exists_resultstepprevioussum. ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_start. fs_h_pfc_division_exists_resultstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_start. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_resultstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_terminal. fs_h_pfc_division_exists_resultstepprevioussum_body_terminal + S (pfc_natural_sum_division_exists_resultstepprevious) = S ((S (S (pfd_index_division_exists_result))) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_terminal. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_terminal * S ((S (S (pfd_index_division_exists_result))) * fs_v_pfc_division_exists_resultstepprevioussum) + (pfc_natural_sum_division_exists_resultstepprevious))) /\ forall fs_i_pfc_division_exists_resultstepprevioussum_body_steps. (exists fs_lt_pfc_division_exists_resultstepprevioussum_body_steps_bound. fs_lt_pfc_division_exists_resultstepprevioussum_body_steps_bound + S fs_i_pfc_division_exists_resultstepprevioussum_body_steps = S (pfd_index_division_exists_result)) -> exists fs_a_pfc_division_exists_resultstepprevioussum_body_steps fs_r_pfc_division_exists_resultstepprevioussum_body_steps fs_s_pfc_division_exists_resultstepprevioussum_body_steps. ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_summand. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_summand + S (fs_a_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_resultstepprevious)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_summand. pfc_terms_code_division_exists_resultstepprevious = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_resultstepprevious) + (fs_a_pfc_division_exists_resultstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_partial. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_partial + S (fs_r_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_partial. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum) + (fs_r_pfc_division_exists_resultstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_successor. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_successor + S (fs_s_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_successor. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum) + (fs_s_pfc_division_exists_resultstepprevioussum_body_steps))) /\ fs_s_pfc_division_exists_resultstepprevioussum_body_steps = fs_r_pfc_division_exists_resultstepprevioussum_body_steps + fs_a_pfc_division_exists_resultstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_resultsteppreviousresiduebound. pfa_gap_division_exists_resultsteppreviousresiduebound + S (pfd_previous_division_exists_resultstep) = (p)) /\ ((exists pfa_offset_left_division_exists_resultsteppreviousresiduecongruence pfa_offset_right_division_exists_resultsteppreviousresiduecongruence. (pfc_natural_sum_division_exists_resultstepprevious) + (p) * pfa_offset_left_division_exists_resultsteppreviousresiduecongruence = (pfd_previous_division_exists_resultstep) + (p) * pfa_offset_right_division_exists_resultsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_exists_resultstepsubtractleft. pfa_gap_division_exists_resultstepsubtractleft + S (pfd_previous_division_exists_resultstep) = (p)) /\ (((exists pfa_gap_division_exists_resultstepsubtractright. pfa_gap_division_exists_resultstepsubtractright + S (pfd_difference_division_exists_resultstep) = (p)) /\ ((((exists pfa_gap_division_exists_resultstepsubtractresultbound. pfa_gap_division_exists_resultstepsubtractresultbound + S (pfd_input_division_exists_resultstep) = (p)) /\ ((exists pfa_offset_left_division_exists_resultstepsubtractresultcongruence pfa_offset_right_division_exists_resultstepsubtractresultcongruence. ((pfd_previous_division_exists_resultstep) + (pfd_difference_division_exists_resultstep)) + (p) * pfa_offset_left_division_exists_resultstepsubtractresultcongruence = (pfd_input_division_exists_resultstep) + (p) * pfa_offset_right_division_exists_resultstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_exists_resultstepmultiplyleft. pfa_gap_division_exists_resultstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_resultstepmultiplyright. pfa_gap_division_exists_resultstepmultiplyright + S (pfd_difference_division_exists_resultstep) = (p)) /\ ((((exists pfa_gap_division_exists_resultstepmultiplyresultbound. pfa_gap_division_exists_resultstepmultiplyresultbound + S (pfd_value_division_exists_result) = (p)) /\ ((exists pfa_offset_left_division_exists_resultstepmultiplyresultcongruence pfa_offset_right_division_exists_resultstepmultiplyresultcongruence. ((k) * (pfd_difference_division_exists_resultstep)) + (p) * pfa_offset_left_division_exists_resultstepmultiplyresultcongruence = (pfd_value_division_exists_result) + (p) * pfa_offset_right_division_exists_resultstepmultiplyresultcongruence)))))))))))))))))))Constructive proof overview
Generated structural guide
Construct every quotient coefficient with actual sum, subtraction, inverse-scaling and beta-extension witnesses, by ordinary finite induction.
The unchanged tactic script uses 10 declared prerequisites and contains 128 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PX0029 prime_field_polynomial_quotient_prefix_empty le_succ Alpha theorem; checked-use authorized le_refl Alpha theorem; checked-use authorized prime_field_convolution_coefficient_exists Alpha theorem; checked-use authorized prime_nonzero Alpha theorem; checked-use authorized prime_field_subtract_exists Alpha theorem; checked-use authorized prime_field_convolution_coefficient_bounded Alpha theorem; checked-use authorized prime_field_multiply_exists Alpha theorem; checked-use authorized beta_prefix_extend Alpha theorem; checked-use authorized PX002D prime_field_polynomial_quotient_prefix_appendDirect 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 (2)
01Fix variables and assumptionsL1–10
02Induction on NL11–12
03Construct an explicit witnessL13–14
04Use earlier factsL15–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
specialize prime_field_polynomial_quotient_prefix_empty (p) - L16
specialize prime_field_polynomial_quotient_prefix_empty (k) - L17
specialize prime_field_polynomial_quotient_prefix_empty (ab) - L18
specialize prime_field_polynomial_quotient_prefix_empty (ac) - L19
specialize prime_field_polynomial_quotient_prefix_empty (bb) - L20
specialize prime_field_polynomial_quotient_prefix_empty (bc) - L21
specialize prime_field_polynomial_quotient_prefix_empty (M) - L22
specialize prime_field_polynomial_quotient_prefix_empty (0) - L23
specialize prime_field_polynomial_quotient_prefix_empty (0) - L24
apply prime_field_polynomial_quotient_prefix_empty
05Fix variables and assumptionsL25–25
Work with arbitrary variables or the premises of the current implication.
- L25
intro ha
06Establish holdL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
07Separate the logical casesL36–37
08Establish hinputL38–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ha.
- L38
have hinput : exists a. ((((exists ff_h_pfp_division_exists_input. ff_h_pfp_division_exists_input + S (a) = S ((S (N)) * ac)) /\ exists ff_q_pfp_division_exists_input. ab = ff_q_pfp_division_exists_input * S ((S (N)) * ac) + (a))) /\ ((exists pfa_gap_division_exists_input_bound. pfa_gap_division_exists_input_bound + S (a) = (p)))) - L39
specialize ha (N) - L40
apply ha - L41
specialize le_refl (S N) - L42
apply le_refl
09Separate the logical casesL43–44
10Establish hcL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field convolution coefficient exists.
- L45
have hc : ∃ c. FpConvolutionCoefficient(p,x,x1,N,bb,bc,M,N,c)Definitions: FpConvolutionCoefficient - L46
specialize prime_field_convolution_coefficient_exists (p) - L47
specialize prime_field_convolution_coefficient_exists (x) - L48
specialize prime_field_convolution_coefficient_exists (x1) - L49
specialize prime_field_convolution_coefficient_exists (N) - L50
specialize prime_field_convolution_coefficient_exists (bb) - L51
specialize prime_field_convolution_coefficient_exists (bc) - L52
specialize prime_field_convolution_coefficient_exists (M) - L53
specialize prime_field_convolution_coefficient_exists (N) - L54
apply prime_field_convolution_coefficient_exists
11Fix variables and assumptionsL55–55
Work with arbitrary variables or the premises of the current implication.
- L55
intro hz
12Use earlier factsL56–59
13Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hc
14Establish hsL61–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field subtract exists.
- L61
have hs : ∃ s. FpAdd(p,x3,s,x2)Definitions: FpAdd - L62
specialize prime_field_subtract_exists (p) - L63
specialize prime_field_subtract_exists (x2) - L64
specialize prime_field_subtract_exists (x3) - L65
apply prime_field_subtract_exists - L66
exact hp - L67
exact hinput_witness_right - L68
specialize prime_field_convolution_coefficient_bounded (p) - L69
specialize prime_field_convolution_coefficient_bounded (x) - L70
specialize prime_field_convolution_coefficient_bounded (x1)
15Use earlier factsL71–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize prime_field_convolution_coefficient_bounded (N) - L72
specialize prime_field_convolution_coefficient_bounded (bb) - L73
specialize prime_field_convolution_coefficient_bounded (bc) - L74
specialize prime_field_convolution_coefficient_bounded (M) - L75
specialize prime_field_convolution_coefficient_bounded (N) - L76
specialize prime_field_convolution_coefficient_bounded (x3) - L77
apply prime_field_convolution_coefficient_bounded - L78
exact hc_witness
16Separate the logical casesL79–79
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L79
cases hs
17Establish hqL80–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field multiply exists.
18Separate the logical casesL87–88
19Use earlier factsL89–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hs_witness_right_left
20Separate the logical casesL90–90
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L90
cases hq
21Establish hnewL91–96
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
22Separate the logical casesL97–99
23Construct an explicit witnessL100–101
24Use earlier factsL102–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L102
specialize prime_field_polynomial_quotient_prefix_append (p) - L103
specialize prime_field_polynomial_quotient_prefix_append (k) - L104
specialize prime_field_polynomial_quotient_prefix_append (ab) - L105
specialize prime_field_polynomial_quotient_prefix_append (ac) - L106
specialize prime_field_polynomial_quotient_prefix_append (bb) - L107
specialize prime_field_polynomial_quotient_prefix_append (bc) - L108
specialize prime_field_polynomial_quotient_prefix_append (M) - L109
specialize prime_field_polynomial_quotient_prefix_append (x) - L110
specialize prime_field_polynomial_quotient_prefix_append (x1) - L111
specialize prime_field_polynomial_quotient_prefix_append (x6)
25Use earlier factsL112–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
specialize prime_field_polynomial_quotient_prefix_append (x7) - L113
specialize prime_field_polynomial_quotient_prefix_append (N) - L114
specialize prime_field_polynomial_quotient_prefix_append (x5) - L115
apply prime_field_polynomial_quotient_prefix_append - L116
exact hold_witness_witness - L117
exact hnew_witness_witness_right - L118
exact hnew_witness_witness_left
26Construct an explicit witnessL119–121
27Separate the logical casesL122–122
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L122
split
28Use earlier factsL123–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L123
exact hinput_witness_left
29Separate the logical casesL124–124
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L124
split
30Use earlier factsL125–125
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L125
exact hc_witness
31Separate the logical casesL126–126
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L126
split
Original exact command ledger · 128 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro N - 0009
intro hp - 0010
intro hk - 0011
induction N - 0012
intro ha - 0013
exists 0 - 0014
exists 0 - 0015
specialize prime_field_polynomial_quotient_prefix_empty (p) - 0016
specialize prime_field_polynomial_quotient_prefix_empty (k) - 0017
specialize prime_field_polynomial_quotient_prefix_empty (ab) - 0018
specialize prime_field_polynomial_quotient_prefix_empty (ac) - 0019
specialize prime_field_polynomial_quotient_prefix_empty (bb) - 0020
specialize prime_field_polynomial_quotient_prefix_empty (bc) - 0021
specialize prime_field_polynomial_quotient_prefix_empty (M) - 0022
specialize prime_field_polynomial_quotient_prefix_empty (0) - 0023
specialize prime_field_polynomial_quotient_prefix_empty (0) - 0024
apply prime_field_polynomial_quotient_prefix_empty - 0025
intro ha - 0026
have hold : exists qb qc. (forall pfd_index_division_exists_old. (exists pfa_gap_division_exists_oldbound. pfa_gap_division_exists_oldbound + S (pfd_index_division_exists_old) = (N)) -> exists pfd_value_division_exists_old. ((((exists ff_h_pfp_division_exists_oldentry. ff_h_pfp_division_exists_oldentry + S (pfd_value_division_exists_old) = S ((S (pfd_index_division_exists_old)) * qc)) /\ exists ff_q_pfp_division_exists_oldentry. qb = ff_q_pfp_division_exists_oldentry * S ((S (pfd_index_division_exists_old)) * qc) + (pfd_value_division_exists_old))) /\ ((exists pfd_input_division_exists_oldstep pfd_previous_division_exists_oldstep pfd_difference_division_exists_oldstep. ((((exists ff_h_pfp_division_exists_oldstepinput. ff_h_pfp_division_exists_oldstepinput + S (pfd_input_division_exists_oldstep) = S ((S (pfd_index_division_exists_old)) * ac)) /\ exists ff_q_pfp_division_exists_oldstepinput. ab = ff_q_pfp_division_exists_oldstepinput * S ((S (pfd_index_division_exists_old)) * ac) + (pfd_input_division_exists_oldstep))) /\ (((exists pfc_terms_code_division_exists_oldstepprevious pfc_terms_scale_division_exists_oldstepprevious pfc_natural_sum_division_exists_oldstepprevious. ((forall pfc_index_division_exists_oldsteppreviousdiagonal. (exists pfa_gap_division_exists_oldsteppreviousdiagonalbound. pfa_gap_division_exists_oldsteppreviousdiagonalbound + S (pfc_index_division_exists_oldsteppreviousdiagonal) = (S (pfd_index_division_exists_old))) -> exists pfc_value_division_exists_oldsteppreviousdiagonal. ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonalentry. ff_h_pfp_division_exists_oldsteppreviousdiagonalentry + S (pfc_value_division_exists_oldsteppreviousdiagonal) = S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * pfc_terms_scale_division_exists_oldstepprevious)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonalentry. pfc_terms_code_division_exists_oldstepprevious = ff_q_pfp_division_exists_oldsteppreviousdiagonalentry * S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * pfc_terms_scale_division_exists_oldstepprevious) + (pfc_value_division_exists_oldsteppreviousdiagonal))) /\ ((exists pfc_complement_division_exists_oldsteppreviousdiagonalterm pfc_left_division_exists_oldsteppreviousdiagonalterm pfc_right_division_exists_oldsteppreviousdiagonalterm. (((pfc_index_division_exists_oldsteppreviousdiagonal)+pfc_complement_division_exists_oldsteppreviousdiagonalterm=(pfd_index_division_exists_old)) /\ ((((((exists pfa_gap_division_exists_oldsteppreviousdiagonaltermleftinside. pfa_gap_division_exists_oldsteppreviousdiagonaltermleftinside + S (pfc_index_division_exists_oldsteppreviousdiagonal) = (pfd_index_division_exists_old)) /\ ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonaltermleftentry. ff_h_pfp_division_exists_oldsteppreviousdiagonaltermleftentry + S (pfc_left_division_exists_oldsteppreviousdiagonalterm) = S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_exists_oldsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * qc) + (pfc_left_division_exists_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_oldsteppreviousdiagonaltermleftoutside. pfc_gap_division_exists_oldsteppreviousdiagonaltermleftoutside+(pfd_index_division_exists_old)=(pfc_index_division_exists_oldsteppreviousdiagonal)) /\ (((pfc_left_division_exists_oldsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_oldsteppreviousdiagonaltermrightinside. pfa_gap_division_exists_oldsteppreviousdiagonaltermrightinside + S (pfc_complement_division_exists_oldsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonaltermrightentry. ff_h_pfp_division_exists_oldsteppreviousdiagonaltermrightentry + S (pfc_right_division_exists_oldsteppreviousdiagonalterm) = S ((S (pfc_complement_division_exists_oldsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_oldsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_oldsteppreviousdiagonalterm)) * bc) + (pfc_right_division_exists_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_oldsteppreviousdiagonaltermrightoutside. pfc_gap_division_exists_oldsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_oldsteppreviousdiagonalterm)) /\ (((pfc_right_division_exists_oldsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_oldsteppreviousdiagonal)=pfc_left_division_exists_oldsteppreviousdiagonalterm*pfc_right_division_exists_oldsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_oldstepprevioussum fs_v_pfc_division_exists_oldstepprevioussum. ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_start. fs_h_pfc_division_exists_oldstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_start. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_oldstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_terminal. fs_h_pfc_division_exists_oldstepprevioussum_body_terminal + S (pfc_natural_sum_division_exists_oldstepprevious) = S ((S (S (pfd_index_division_exists_old))) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_terminal. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_terminal * S ((S (S (pfd_index_division_exists_old))) * fs_v_pfc_division_exists_oldstepprevioussum) + (pfc_natural_sum_division_exists_oldstepprevious))) /\ forall fs_i_pfc_division_exists_oldstepprevioussum_body_steps. (exists fs_lt_pfc_division_exists_oldstepprevioussum_body_steps_bound. fs_lt_pfc_division_exists_oldstepprevioussum_body_steps_bound + S fs_i_pfc_division_exists_oldstepprevioussum_body_steps = S (pfd_index_division_exists_old)) -> exists fs_a_pfc_division_exists_oldstepprevioussum_body_steps fs_r_pfc_division_exists_oldstepprevioussum_body_steps fs_s_pfc_division_exists_oldstepprevioussum_body_steps. ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_summand. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_summand + S (fs_a_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_oldstepprevious)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_summand. pfc_terms_code_division_exists_oldstepprevious = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_oldstepprevious) + (fs_a_pfc_division_exists_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_partial. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_partial + S (fs_r_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_partial. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum) + (fs_r_pfc_division_exists_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_successor. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_successor + S (fs_s_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_successor. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum) + (fs_s_pfc_division_exists_oldstepprevioussum_body_steps))) /\ fs_s_pfc_division_exists_oldstepprevioussum_body_steps = fs_r_pfc_division_exists_oldstepprevioussum_body_steps + fs_a_pfc_division_exists_oldstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_oldsteppreviousresiduebound. pfa_gap_division_exists_oldsteppreviousresiduebound + S (pfd_previous_division_exists_oldstep) = (p)) /\ ((exists pfa_offset_left_division_exists_oldsteppreviousresiduecongruence pfa_offset_right_division_exists_oldsteppreviousresiduecongruence. (pfc_natural_sum_division_exists_oldstepprevious) + (p) * pfa_offset_left_division_exists_oldsteppreviousresiduecongruence = (pfd_previous_division_exists_oldstep) + (p) * pfa_offset_right_division_exists_oldsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_exists_oldstepsubtractleft. pfa_gap_division_exists_oldstepsubtractleft + S (pfd_previous_division_exists_oldstep) = (p)) /\ (((exists pfa_gap_division_exists_oldstepsubtractright. pfa_gap_division_exists_oldstepsubtractright + S (pfd_difference_division_exists_oldstep) = (p)) /\ ((((exists pfa_gap_division_exists_oldstepsubtractresultbound. pfa_gap_division_exists_oldstepsubtractresultbound + S (pfd_input_division_exists_oldstep) = (p)) /\ ((exists pfa_offset_left_division_exists_oldstepsubtractresultcongruence pfa_offset_right_division_exists_oldstepsubtractresultcongruence. ((pfd_previous_division_exists_oldstep) + (pfd_difference_division_exists_oldstep)) + (p) * pfa_offset_left_division_exists_oldstepsubtractresultcongruence = (pfd_input_division_exists_oldstep) + (p) * pfa_offset_right_division_exists_oldstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_exists_oldstepmultiplyleft. pfa_gap_division_exists_oldstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_oldstepmultiplyright. pfa_gap_division_exists_oldstepmultiplyright + S (pfd_difference_division_exists_oldstep) = (p)) /\ ((((exists pfa_gap_division_exists_oldstepmultiplyresultbound. pfa_gap_division_exists_oldstepmultiplyresultbound + S (pfd_value_division_exists_old) = (p)) /\ ((exists pfa_offset_left_division_exists_oldstepmultiplyresultcongruence pfa_offset_right_division_exists_oldstepmultiplyresultcongruence. ((k) * (pfd_difference_division_exists_oldstep)) + (p) * pfa_offset_left_division_exists_oldstepmultiplyresultcongruence = (pfd_value_division_exists_old) + (p) * pfa_offset_right_division_exists_oldstepmultiplyresultcongruence))))))))))))))))))) - 0027
apply IH - 0028
intro i - 0029
intro hi - 0030
specialize ha (i) - 0031
apply ha - 0032
specialize le_succ (S i) - 0033
specialize le_succ (N) - 0034
apply le_succ - 0035
exact hi - 0036
cases hold - 0037
cases hold_witness - 0038
have hinput : exists a. ((((exists ff_h_pfp_division_exists_input. ff_h_pfp_division_exists_input + S (a) = S ((S (N)) * ac)) /\ exists ff_q_pfp_division_exists_input. ab = ff_q_pfp_division_exists_input * S ((S (N)) * ac) + (a))) /\ ((exists pfa_gap_division_exists_input_bound. pfa_gap_division_exists_input_bound + S (a) = (p)))) - 0039
specialize ha (N) - 0040
apply ha - 0041
specialize le_refl (S N) - 0042
apply le_refl - 0043
cases hinput - 0044
cases hinput_witness - 0045
have hc : exists c. (exists pfc_terms_code_division_exists_previous pfc_terms_scale_division_exists_previous pfc_natural_sum_division_exists_previous. ((forall pfc_index_division_exists_previousdiagonal. (exists pfa_gap_division_exists_previousdiagonalbound. pfa_gap_division_exists_previousdiagonalbound + S (pfc_index_division_exists_previousdiagonal) = (S (N))) -> exists pfc_value_division_exists_previousdiagonal. ((((exists ff_h_pfp_division_exists_previousdiagonalentry. ff_h_pfp_division_exists_previousdiagonalentry + S (pfc_value_division_exists_previousdiagonal) = S ((S (pfc_index_division_exists_previousdiagonal)) * pfc_terms_scale_division_exists_previous)) /\ exists ff_q_pfp_division_exists_previousdiagonalentry. pfc_terms_code_division_exists_previous = ff_q_pfp_division_exists_previousdiagonalentry * S ((S (pfc_index_division_exists_previousdiagonal)) * pfc_terms_scale_division_exists_previous) + (pfc_value_division_exists_previousdiagonal))) /\ ((exists pfc_complement_division_exists_previousdiagonalterm pfc_left_division_exists_previousdiagonalterm pfc_right_division_exists_previousdiagonalterm. (((pfc_index_division_exists_previousdiagonal)+pfc_complement_division_exists_previousdiagonalterm=(N)) /\ ((((((exists pfa_gap_division_exists_previousdiagonaltermleftinside. pfa_gap_division_exists_previousdiagonaltermleftinside + S (pfc_index_division_exists_previousdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_exists_previousdiagonaltermleftentry. ff_h_pfp_division_exists_previousdiagonaltermleftentry + S (pfc_left_division_exists_previousdiagonalterm) = S ((S (pfc_index_division_exists_previousdiagonal)) * x1)) /\ exists ff_q_pfp_division_exists_previousdiagonaltermleftentry. x = ff_q_pfp_division_exists_previousdiagonaltermleftentry * S ((S (pfc_index_division_exists_previousdiagonal)) * x1) + (pfc_left_division_exists_previousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_previousdiagonaltermleftoutside. pfc_gap_division_exists_previousdiagonaltermleftoutside+(N)=(pfc_index_division_exists_previousdiagonal)) /\ (((pfc_left_division_exists_previousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_previousdiagonaltermrightinside. pfa_gap_division_exists_previousdiagonaltermrightinside + S (pfc_complement_division_exists_previousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_previousdiagonaltermrightentry. ff_h_pfp_division_exists_previousdiagonaltermrightentry + S (pfc_right_division_exists_previousdiagonalterm) = S ((S (pfc_complement_division_exists_previousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_previousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_previousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_previousdiagonalterm)) * bc) + (pfc_right_division_exists_previousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_previousdiagonaltermrightoutside. pfc_gap_division_exists_previousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_previousdiagonalterm)) /\ (((pfc_right_division_exists_previousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_previousdiagonal)=pfc_left_division_exists_previousdiagonalterm*pfc_right_division_exists_previousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_previoussum fs_v_pfc_division_exists_previoussum. ((((exists fs_h_pfc_division_exists_previoussum_body_start. fs_h_pfc_division_exists_previoussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_start. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_previoussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_terminal. fs_h_pfc_division_exists_previoussum_body_terminal + S (pfc_natural_sum_division_exists_previous) = S ((S (S (N))) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_terminal. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_terminal * S ((S (S (N))) * fs_v_pfc_division_exists_previoussum) + (pfc_natural_sum_division_exists_previous))) /\ forall fs_i_pfc_division_exists_previoussum_body_steps. (exists fs_lt_pfc_division_exists_previoussum_body_steps_bound. fs_lt_pfc_division_exists_previoussum_body_steps_bound + S fs_i_pfc_division_exists_previoussum_body_steps = S (N)) -> exists fs_a_pfc_division_exists_previoussum_body_steps fs_r_pfc_division_exists_previoussum_body_steps fs_s_pfc_division_exists_previoussum_body_steps. ((((exists fs_h_pfc_division_exists_previoussum_body_steps_summand. fs_h_pfc_division_exists_previoussum_body_steps_summand + S (fs_a_pfc_division_exists_previoussum_body_steps) = S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * pfc_terms_scale_division_exists_previous)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_summand. pfc_terms_code_division_exists_previous = fs_q_pfc_division_exists_previoussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * pfc_terms_scale_division_exists_previous) + (fs_a_pfc_division_exists_previoussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_steps_partial. fs_h_pfc_division_exists_previoussum_body_steps_partial + S (fs_r_pfc_division_exists_previoussum_body_steps) = S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_partial. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum) + (fs_r_pfc_division_exists_previoussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_steps_successor. fs_h_pfc_division_exists_previoussum_body_steps_successor + S (fs_s_pfc_division_exists_previoussum_body_steps) = S ((S (S fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_successor. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum) + (fs_s_pfc_division_exists_previoussum_body_steps))) /\ fs_s_pfc_division_exists_previoussum_body_steps = fs_r_pfc_division_exists_previoussum_body_steps + fs_a_pfc_division_exists_previoussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_previousresiduebound. pfa_gap_division_exists_previousresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_division_exists_previousresiduecongruence pfa_offset_right_division_exists_previousresiduecongruence. (pfc_natural_sum_division_exists_previous) + (p) * pfa_offset_left_division_exists_previousresiduecongruence = (c) + (p) * pfa_offset_right_division_exists_previousresiduecongruence))))))))) - 0046
specialize prime_field_convolution_coefficient_exists (p) - 0047
specialize prime_field_convolution_coefficient_exists (x) - 0048
specialize prime_field_convolution_coefficient_exists (x1) - 0049
specialize prime_field_convolution_coefficient_exists (N) - 0050
specialize prime_field_convolution_coefficient_exists (bb) - 0051
specialize prime_field_convolution_coefficient_exists (bc) - 0052
specialize prime_field_convolution_coefficient_exists (M) - 0053
specialize prime_field_convolution_coefficient_exists (N) - 0054
apply prime_field_convolution_coefficient_exists - 0055
intro hz - 0056
specialize prime_nonzero (p) - 0057
apply prime_nonzero - 0058
exact hp - 0059
exact hz - 0060
cases hc - 0061
have hs : exists s. (((exists pfa_gap_division_exists_differenceleft. pfa_gap_division_exists_differenceleft + S (x3) = (p)) /\ (((exists pfa_gap_division_exists_differenceright. pfa_gap_division_exists_differenceright + S (s) = (p)) /\ ((((exists pfa_gap_division_exists_differenceresultbound. pfa_gap_division_exists_differenceresultbound + S (x2) = (p)) /\ ((exists pfa_offset_left_division_exists_differenceresultcongruence pfa_offset_right_division_exists_differenceresultcongruence. ((x3) + (s)) + (p) * pfa_offset_left_division_exists_differenceresultcongruence = (x2) + (p) * pfa_offset_right_division_exists_differenceresultcongruence))))))))) - 0062
specialize prime_field_subtract_exists (p) - 0063
specialize prime_field_subtract_exists (x2) - 0064
specialize prime_field_subtract_exists (x3) - 0065
apply prime_field_subtract_exists - 0066
exact hp - 0067
exact hinput_witness_right - 0068
specialize prime_field_convolution_coefficient_bounded (p) - 0069
specialize prime_field_convolution_coefficient_bounded (x) - 0070
specialize prime_field_convolution_coefficient_bounded (x1) - 0071
specialize prime_field_convolution_coefficient_bounded (N) - 0072
specialize prime_field_convolution_coefficient_bounded (bb) - 0073
specialize prime_field_convolution_coefficient_bounded (bc) - 0074
specialize prime_field_convolution_coefficient_bounded (M) - 0075
specialize prime_field_convolution_coefficient_bounded (N) - 0076
specialize prime_field_convolution_coefficient_bounded (x3) - 0077
apply prime_field_convolution_coefficient_bounded - 0078
exact hc_witness - 0079
cases hs - 0080
have hq : exists q. (((exists pfa_gap_division_exists_quotientleft. pfa_gap_division_exists_quotientleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_quotientright. pfa_gap_division_exists_quotientright + S (x4) = (p)) /\ ((((exists pfa_gap_division_exists_quotientresultbound. pfa_gap_division_exists_quotientresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_exists_quotientresultcongruence pfa_offset_right_division_exists_quotientresultcongruence. ((k) * (x4)) + (p) * pfa_offset_left_division_exists_quotientresultcongruence = (q) + (p) * pfa_offset_right_division_exists_quotientresultcongruence))))))))) - 0081
specialize prime_field_multiply_exists (p) - 0082
specialize prime_field_multiply_exists (k) - 0083
specialize prime_field_multiply_exists (x4) - 0084
apply prime_field_multiply_exists - 0085
exact hp - 0086
exact hk - 0087
cases hs_witness - 0088
cases hs_witness_right - 0089
exact hs_witness_right_left - 0090
cases hq - 0091
have hnew : exists QB QC. ((((exists ff_h_pfp_division_exists_new_entry. ff_h_pfp_division_exists_new_entry + S (x5) = S ((S (N)) * QC)) /\ exists ff_q_pfp_division_exists_new_entry. QB = ff_q_pfp_division_exists_new_entry * S ((S (N)) * QC) + (x5))) /\ ((forall mdr_i_pfp_division_exists_preservation mdr_a_pfp_division_exists_preservation. (exists mdr_gap_pfp_division_exists_preservationb. mdr_gap_pfp_division_exists_preservationb + S (mdr_i_pfp_division_exists_preservation) = (N)) -> (((exists ff_h_mdr_pfp_division_exists_preservationo. ff_h_mdr_pfp_division_exists_preservationo + S (mdr_a_pfp_division_exists_preservation) = S ((S (mdr_i_pfp_division_exists_preservation)) * x1)) /\ exists ff_q_mdr_pfp_division_exists_preservationo. x = ff_q_mdr_pfp_division_exists_preservationo * S ((S (mdr_i_pfp_division_exists_preservation)) * x1) + (mdr_a_pfp_division_exists_preservation))) -> (((exists ff_h_mdr_pfp_division_exists_preservationn. ff_h_mdr_pfp_division_exists_preservationn + S (mdr_a_pfp_division_exists_preservation) = S ((S (mdr_i_pfp_division_exists_preservation)) * QC)) /\ exists ff_q_mdr_pfp_division_exists_preservationn. QB = ff_q_mdr_pfp_division_exists_preservationn * S ((S (mdr_i_pfp_division_exists_preservation)) * QC) + (mdr_a_pfp_division_exists_preservation)))))) - 0092
specialize beta_prefix_extend (N) - 0093
specialize beta_prefix_extend (x) - 0094
specialize beta_prefix_extend (x1) - 0095
specialize beta_prefix_extend (x5) - 0096
apply beta_prefix_extend - 0097
cases hnew - 0098
cases hnew_witness - 0099
cases hnew_witness_witness - 0100
exists x6 - 0101
exists x7 - 0102
specialize prime_field_polynomial_quotient_prefix_append (p) - 0103
specialize prime_field_polynomial_quotient_prefix_append (k) - 0104
specialize prime_field_polynomial_quotient_prefix_append (ab) - 0105
specialize prime_field_polynomial_quotient_prefix_append (ac) - 0106
specialize prime_field_polynomial_quotient_prefix_append (bb) - 0107
specialize prime_field_polynomial_quotient_prefix_append (bc) - 0108
specialize prime_field_polynomial_quotient_prefix_append (M) - 0109
specialize prime_field_polynomial_quotient_prefix_append (x) - 0110
specialize prime_field_polynomial_quotient_prefix_append (x1) - 0111
specialize prime_field_polynomial_quotient_prefix_append (x6) - 0112
specialize prime_field_polynomial_quotient_prefix_append (x7) - 0113
specialize prime_field_polynomial_quotient_prefix_append (N) - 0114
specialize prime_field_polynomial_quotient_prefix_append (x5) - 0115
apply prime_field_polynomial_quotient_prefix_append - 0116
exact hold_witness_witness - 0117
exact hnew_witness_witness_right - 0118
exact hnew_witness_witness_left - 0119
exists x2 - 0120
exists x3 - 0121
exists x4 - 0122
split - 0123
exact hinput_witness_left - 0124
split - 0125
exact hc_witness - 0126
split - 0127
exact hs_witness - 0128
exact hq_witness