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 qb qc bb bc M pb pc L. ~(p=0) -> (forall pfc_index_division_empty_product_source. (exists pfa_gap_division_empty_product_sourcebound. pfa_gap_division_empty_product_sourcebound + S (pfc_index_division_empty_product_source) = (L)) -> exists pfc_value_division_empty_product_source. ((((exists ff_h_pfp_division_empty_product_sourceentry. ff_h_pfp_division_empty_product_sourceentry + S (pfc_value_division_empty_product_source) = S ((S (pfc_index_division_empty_product_source)) * pc)) /\ exists ff_q_pfp_division_empty_product_sourceentry. pb = ff_q_pfp_division_empty_product_sourceentry * S ((S (pfc_index_division_empty_product_source)) * pc) + (pfc_value_division_empty_product_source))) /\ ((exists pfc_terms_code_division_empty_product_sourcecoefficient pfc_terms_scale_division_empty_product_sourcecoefficient pfc_natural_sum_division_empty_product_sourcecoefficient. ((forall pfc_index_division_empty_product_sourcecoefficientdiagonal. (exists pfa_gap_division_empty_product_sourcecoefficientdiagonalbound. pfa_gap_division_empty_product_sourcecoefficientdiagonalbound + S (pfc_index_division_empty_product_sourcecoefficientdiagonal) = (S (pfc_index_division_empty_product_source))) -> exists pfc_value_division_empty_product_sourcecoefficientdiagonal. ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonalentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonalentry + S (pfc_value_division_empty_product_sourcecoefficientdiagonal) = S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * pfc_terms_scale_division_empty_product_sourcecoefficient)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonalentry. pfc_terms_code_division_empty_product_sourcecoefficient = ff_q_pfp_division_empty_product_sourcecoefficientdiagonalentry * S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * pfc_terms_scale_division_empty_product_sourcecoefficient) + (pfc_value_division_empty_product_sourcecoefficientdiagonal))) /\ ((exists pfc_complement_division_empty_product_sourcecoefficientdiagonalterm pfc_left_division_empty_product_sourcecoefficientdiagonalterm pfc_right_division_empty_product_sourcecoefficientdiagonalterm. (((pfc_index_division_empty_product_sourcecoefficientdiagonal)+pfc_complement_division_empty_product_sourcecoefficientdiagonalterm=(pfc_index_division_empty_product_source)) /\ ((((((exists pfa_gap_division_empty_product_sourcecoefficientdiagonaltermleftinside. pfa_gap_division_empty_product_sourcecoefficientdiagonaltermleftinside + S (pfc_index_division_empty_product_sourcecoefficientdiagonal) = (0)) /\ ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry + S (pfc_left_division_empty_product_sourcecoefficientdiagonalterm) = S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry * S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * qc) + (pfc_left_division_empty_product_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_sourcecoefficientdiagonaltermleftoutside. pfc_gap_division_empty_product_sourcecoefficientdiagonaltermleftoutside+(0)=(pfc_index_division_empty_product_sourcecoefficientdiagonal)) /\ (((pfc_left_division_empty_product_sourcecoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_empty_product_sourcecoefficientdiagonaltermrightinside. pfa_gap_division_empty_product_sourcecoefficientdiagonaltermrightinside + S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry + S (pfc_right_division_empty_product_sourcecoefficientdiagonalterm) = S ((S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) * bc) + (pfc_right_division_empty_product_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_sourcecoefficientdiagonaltermrightoutside. pfc_gap_division_empty_product_sourcecoefficientdiagonaltermrightoutside+(M)=(pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) /\ (((pfc_right_division_empty_product_sourcecoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_empty_product_sourcecoefficientdiagonal)=pfc_left_division_empty_product_sourcecoefficientdiagonalterm*pfc_right_division_empty_product_sourcecoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_empty_product_sourcecoefficientsum fs_v_pfc_division_empty_product_sourcecoefficientsum. ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_start. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_start. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_terminal. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_terminal + S (pfc_natural_sum_division_empty_product_sourcecoefficient) = S ((S (S (pfc_index_division_empty_product_source))) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_terminal. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_terminal * S ((S (S (pfc_index_division_empty_product_source))) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (pfc_natural_sum_division_empty_product_sourcecoefficient))) /\ forall fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps. (exists fs_lt_pfc_division_empty_product_sourcecoefficientsum_body_steps_bound. fs_lt_pfc_division_empty_product_sourcecoefficientsum_body_steps_bound + S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps = S (pfc_index_division_empty_product_source)) -> exists fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps. ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand + S (fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_sourcecoefficient)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand. pfc_terms_code_division_empty_product_sourcecoefficient = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_sourcecoefficient) + (fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial + S (fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor + S (fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps = fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps + fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_empty_product_sourcecoefficientresiduebound. pfa_gap_division_empty_product_sourcecoefficientresiduebound + S (pfc_value_division_empty_product_source) = (p)) /\ ((exists pfa_offset_left_division_empty_product_sourcecoefficientresiduecongruence pfa_offset_right_division_empty_product_sourcecoefficientresiduecongruence. (pfc_natural_sum_division_empty_product_sourcecoefficient) + (p) * pfa_offset_left_division_empty_product_sourcecoefficientresiduecongruence = (pfc_value_division_empty_product_source) + (p) * pfa_offset_right_division_empty_product_sourcecoefficientresiduecongruence)))))))))))) -> (forall pfp_repeat_index_division_empty_product_result. (exists pfa_gap_division_empty_product_resultindex. pfa_gap_division_empty_product_resultindex + S (pfp_repeat_index_division_empty_product_result) = (L)) -> (((exists ff_h_pfp_division_empty_product_resultentry. ff_h_pfp_division_empty_product_resultentry + S (0) = S ((S (pfp_repeat_index_division_empty_product_result)) * pc)) /\ exists ff_q_pfp_division_empty_product_resultentry. pb = ff_q_pfp_division_empty_product_resultentry * S ((S (pfp_repeat_index_division_empty_product_result)) * pc) + (0))))Constructive proof overview
Generated structural guide
An actual ambient convolution prefix of an empty quotient consists entirely of zero coefficients, regardless of its requested length.
The unchanged tactic script uses 3 declared prerequisites and contains 44 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_field_convolution_coefficient_zero_left Alpha theorem; checked-use authorized lt_not_le Alpha theorem; checked-use authorized zero_le Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hvL14–17
04Separate the logical casesL18–19
05Establish hzL20–29
Establish this local claim before using it. It is not an additional assumption.
- L20
have hz : x=0 - L21
specialize prime_field_convolution_coefficient_zero_left (p) - L22
specialize prime_field_convolution_coefficient_zero_left (qb) - L23
specialize prime_field_convolution_coefficient_zero_left (qc) - L24
specialize prime_field_convolution_coefficient_zero_left (0) - L25
specialize prime_field_convolution_coefficient_zero_left (bb) - L26
specialize prime_field_convolution_coefficient_zero_left (bc) - L27
specialize prime_field_convolution_coefficient_zero_left (M) - L28
specialize prime_field_convolution_coefficient_zero_left (i) - L29
specialize prime_field_convolution_coefficient_zero_left (x)
06Use earlier factsL30–31
07Fix variables and assumptionsL32–33
08Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
exfalso
09Use earlier factsL35–41
10Calculate and transport equalitiesL42–43
11Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact hv_witness_left
Original exact command ledger · 44 lines
- 0001
intro p - 0002
intro qb - 0003
intro qc - 0004
intro bb - 0005
intro bc - 0006
intro M - 0007
intro pb - 0008
intro pc - 0009
intro L - 0010
intro hp - 0011
intro h - 0012
intro i - 0013
intro hi - 0014
have hv : exists r. ((((exists ff_h_pfp_division_empty_product_entry. ff_h_pfp_division_empty_product_entry + S (r) = S ((S (i)) * pc)) /\ exists ff_q_pfp_division_empty_product_entry. pb = ff_q_pfp_division_empty_product_entry * S ((S (i)) * pc) + (r))) /\ ((exists pfc_terms_code_division_empty_product_coefficient pfc_terms_scale_division_empty_product_coefficient pfc_natural_sum_division_empty_product_coefficient. ((forall pfc_index_division_empty_product_coefficientdiagonal. (exists pfa_gap_division_empty_product_coefficientdiagonalbound. pfa_gap_division_empty_product_coefficientdiagonalbound + S (pfc_index_division_empty_product_coefficientdiagonal) = (S (i))) -> exists pfc_value_division_empty_product_coefficientdiagonal. ((((exists ff_h_pfp_division_empty_product_coefficientdiagonalentry. ff_h_pfp_division_empty_product_coefficientdiagonalentry + S (pfc_value_division_empty_product_coefficientdiagonal) = S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * pfc_terms_scale_division_empty_product_coefficient)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonalentry. pfc_terms_code_division_empty_product_coefficient = ff_q_pfp_division_empty_product_coefficientdiagonalentry * S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * pfc_terms_scale_division_empty_product_coefficient) + (pfc_value_division_empty_product_coefficientdiagonal))) /\ ((exists pfc_complement_division_empty_product_coefficientdiagonalterm pfc_left_division_empty_product_coefficientdiagonalterm pfc_right_division_empty_product_coefficientdiagonalterm. (((pfc_index_division_empty_product_coefficientdiagonal)+pfc_complement_division_empty_product_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_empty_product_coefficientdiagonaltermleftinside. pfa_gap_division_empty_product_coefficientdiagonaltermleftinside + S (pfc_index_division_empty_product_coefficientdiagonal) = (0)) /\ ((((exists ff_h_pfp_division_empty_product_coefficientdiagonaltermleftentry. ff_h_pfp_division_empty_product_coefficientdiagonaltermleftentry + S (pfc_left_division_empty_product_coefficientdiagonalterm) = S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonaltermleftentry. qb = ff_q_pfp_division_empty_product_coefficientdiagonaltermleftentry * S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * qc) + (pfc_left_division_empty_product_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_coefficientdiagonaltermleftoutside. pfc_gap_division_empty_product_coefficientdiagonaltermleftoutside+(0)=(pfc_index_division_empty_product_coefficientdiagonal)) /\ (((pfc_left_division_empty_product_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_empty_product_coefficientdiagonaltermrightinside. pfa_gap_division_empty_product_coefficientdiagonaltermrightinside + S (pfc_complement_division_empty_product_coefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_empty_product_coefficientdiagonaltermrightentry. ff_h_pfp_division_empty_product_coefficientdiagonaltermrightentry + S (pfc_right_division_empty_product_coefficientdiagonalterm) = S ((S (pfc_complement_division_empty_product_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonaltermrightentry. bb = ff_q_pfp_division_empty_product_coefficientdiagonaltermrightentry * S ((S (pfc_complement_division_empty_product_coefficientdiagonalterm)) * bc) + (pfc_right_division_empty_product_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_coefficientdiagonaltermrightoutside. pfc_gap_division_empty_product_coefficientdiagonaltermrightoutside+(M)=(pfc_complement_division_empty_product_coefficientdiagonalterm)) /\ (((pfc_right_division_empty_product_coefficientdiagonalterm)=0))))) /\ (((pfc_value_division_empty_product_coefficientdiagonal)=pfc_left_division_empty_product_coefficientdiagonalterm*pfc_right_division_empty_product_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_empty_product_coefficientsum fs_v_pfc_division_empty_product_coefficientsum. ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_start. fs_h_pfc_division_empty_product_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_start. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_empty_product_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_terminal. fs_h_pfc_division_empty_product_coefficientsum_body_terminal + S (pfc_natural_sum_division_empty_product_coefficient) = S ((S (S (i))) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_terminal. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_empty_product_coefficientsum) + (pfc_natural_sum_division_empty_product_coefficient))) /\ forall fs_i_pfc_division_empty_product_coefficientsum_body_steps. (exists fs_lt_pfc_division_empty_product_coefficientsum_body_steps_bound. fs_lt_pfc_division_empty_product_coefficientsum_body_steps_bound + S fs_i_pfc_division_empty_product_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_division_empty_product_coefficientsum_body_steps fs_r_pfc_division_empty_product_coefficientsum_body_steps fs_s_pfc_division_empty_product_coefficientsum_body_steps. ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_summand. fs_h_pfc_division_empty_product_coefficientsum_body_steps_summand + S (fs_a_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_coefficient)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_summand. pfc_terms_code_division_empty_product_coefficient = fs_q_pfc_division_empty_product_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_coefficient) + (fs_a_pfc_division_empty_product_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_partial. fs_h_pfc_division_empty_product_coefficientsum_body_steps_partial + S (fs_r_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_partial. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum) + (fs_r_pfc_division_empty_product_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_successor. fs_h_pfc_division_empty_product_coefficientsum_body_steps_successor + S (fs_s_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (S fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_successor. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum) + (fs_s_pfc_division_empty_product_coefficientsum_body_steps))) /\ fs_s_pfc_division_empty_product_coefficientsum_body_steps = fs_r_pfc_division_empty_product_coefficientsum_body_steps + fs_a_pfc_division_empty_product_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_empty_product_coefficientresiduebound. pfa_gap_division_empty_product_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_empty_product_coefficientresiduecongruence pfa_offset_right_division_empty_product_coefficientresiduecongruence. (pfc_natural_sum_division_empty_product_coefficient) + (p) * pfa_offset_left_division_empty_product_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_division_empty_product_coefficientresiduecongruence))))))))))) - 0015
specialize h (i) - 0016
apply h - 0017
exact hi - 0018
cases hv - 0019
cases hv_witness - 0020
have hz : x=0 - 0021
specialize prime_field_convolution_coefficient_zero_left (p) - 0022
specialize prime_field_convolution_coefficient_zero_left (qb) - 0023
specialize prime_field_convolution_coefficient_zero_left (qc) - 0024
specialize prime_field_convolution_coefficient_zero_left (0) - 0025
specialize prime_field_convolution_coefficient_zero_left (bb) - 0026
specialize prime_field_convolution_coefficient_zero_left (bc) - 0027
specialize prime_field_convolution_coefficient_zero_left (M) - 0028
specialize prime_field_convolution_coefficient_zero_left (i) - 0029
specialize prime_field_convolution_coefficient_zero_left (x) - 0030
apply prime_field_convolution_coefficient_zero_left - 0031
exact hp - 0032
intro j - 0033
intro hj - 0034
exfalso - 0035
specialize lt_not_le (j) - 0036
specialize lt_not_le (0) - 0037
apply lt_not_le - 0038
exact hj - 0039
specialize zero_le (j) - 0040
apply zero_le - 0041
exact hv_witness_right - 0042
rewrite hz at hv_witness_left - 0043
rewrite hz at hv_witness_left - 0044
exact hv_witness_left