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 ub uc ab ac L cb cc. (((exists ff_h_pfp_unit_equal_unit. ff_h_pfp_unit_equal_unit + S (1) = S ((S (0)) * uc)) /\ exists ff_q_pfp_unit_equal_unit. ub = ff_q_pfp_unit_equal_unit * S ((S (0)) * uc) + (1))) -> (((forall fom_index_pfp_unit_equal_actualleft. (exists fom_gap_pfp_unit_equal_actualleft_index_bound. fom_gap_pfp_unit_equal_actualleft_index_bound + S (fom_index_pfp_unit_equal_actualleft) = 1) -> exists fom_value_pfp_unit_equal_actualleft. ((((exists fom_beta_height_pfp_unit_equal_actualleft_entry. fom_beta_height_pfp_unit_equal_actualleft_entry + S (fom_value_pfp_unit_equal_actualleft) = S ((S (fom_index_pfp_unit_equal_actualleft)) * uc)) /\ exists fom_beta_quotient_pfp_unit_equal_actualleft_entry. ub = fom_beta_quotient_pfp_unit_equal_actualleft_entry * S ((S (fom_index_pfp_unit_equal_actualleft)) * uc) + (fom_value_pfp_unit_equal_actualleft))) /\ (exists fom_gap_pfp_unit_equal_actualleft_value_bound. fom_gap_pfp_unit_equal_actualleft_value_bound + S (fom_value_pfp_unit_equal_actualleft) = p))) /\ (((forall fom_index_pfp_unit_equal_actualright. (exists fom_gap_pfp_unit_equal_actualright_index_bound. fom_gap_pfp_unit_equal_actualright_index_bound + S (fom_index_pfp_unit_equal_actualright) = L) -> exists fom_value_pfp_unit_equal_actualright. ((((exists fom_beta_height_pfp_unit_equal_actualright_entry. fom_beta_height_pfp_unit_equal_actualright_entry + S (fom_value_pfp_unit_equal_actualright) = S ((S (fom_index_pfp_unit_equal_actualright)) * ac)) /\ exists fom_beta_quotient_pfp_unit_equal_actualright_entry. ab = fom_beta_quotient_pfp_unit_equal_actualright_entry * S ((S (fom_index_pfp_unit_equal_actualright)) * ac) + (fom_value_pfp_unit_equal_actualright))) /\ (exists fom_gap_pfp_unit_equal_actualright_value_bound. fom_gap_pfp_unit_equal_actualright_value_bound + S (fom_value_pfp_unit_equal_actualright) = p))) /\ (((((((1)=0 \/ (L)=0) /\ (((L)=0)))) \/ (((~((1)=0)) /\ (((~((L)=0)) /\ (((1)+(L)=S (L)))))))) /\ ((forall pfc_index_unit_equal_actualcoefficients. (exists pfa_gap_unit_equal_actualcoefficientsbound. pfa_gap_unit_equal_actualcoefficientsbound + S (pfc_index_unit_equal_actualcoefficients) = (L)) -> exists pfc_value_unit_equal_actualcoefficients. ((((exists ff_h_pfp_unit_equal_actualcoefficientsentry. ff_h_pfp_unit_equal_actualcoefficientsentry + S (pfc_value_unit_equal_actualcoefficients) = S ((S (pfc_index_unit_equal_actualcoefficients)) * cc)) /\ exists ff_q_pfp_unit_equal_actualcoefficientsentry. cb = ff_q_pfp_unit_equal_actualcoefficientsentry * S ((S (pfc_index_unit_equal_actualcoefficients)) * cc) + (pfc_value_unit_equal_actualcoefficients))) /\ ((exists pfc_terms_code_unit_equal_actualcoefficientscoefficient pfc_terms_scale_unit_equal_actualcoefficientscoefficient pfc_natural_sum_unit_equal_actualcoefficientscoefficient. ((forall pfc_index_unit_equal_actualcoefficientscoefficientdiagonal. (exists pfa_gap_unit_equal_actualcoefficientscoefficientdiagonalbound. pfa_gap_unit_equal_actualcoefficientscoefficientdiagonalbound + S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal) = (S (pfc_index_unit_equal_actualcoefficients))) -> exists pfc_value_unit_equal_actualcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonalentry. ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonalentry + S (pfc_value_unit_equal_actualcoefficientscoefficientdiagonal) = S ((S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_unit_equal_actualcoefficientscoefficient)) /\ exists ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonalentry. pfc_terms_code_unit_equal_actualcoefficientscoefficient = ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonalentry * S ((S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_unit_equal_actualcoefficientscoefficient) + (pfc_value_unit_equal_actualcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm pfc_left_unit_equal_actualcoefficientscoefficientdiagonalterm pfc_right_unit_equal_actualcoefficientscoefficientdiagonalterm. (((pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)+pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm=(pfc_index_unit_equal_actualcoefficients)) /\ ((((((exists pfa_gap_unit_equal_actualcoefficientscoefficientdiagonaltermleftinside. pfa_gap_unit_equal_actualcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal) = (1)) /\ ((((exists ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_unit_equal_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)) * uc)) /\ exists ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermleftentry. ub = ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)) * uc) + (pfc_left_unit_equal_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_unit_equal_actualcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_unit_equal_actualcoefficientscoefficientdiagonaltermleftoutside+(1)=(pfc_index_unit_equal_actualcoefficientscoefficientdiagonal)) /\ (((pfc_left_unit_equal_actualcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_unit_equal_actualcoefficientscoefficientdiagonaltermrightinside. pfa_gap_unit_equal_actualcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_unit_equal_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_unit_equal_actualcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_unit_equal_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_unit_equal_actualcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_unit_equal_actualcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_unit_equal_actualcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_unit_equal_actualcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_unit_equal_actualcoefficientscoefficientdiagonal)=pfc_left_unit_equal_actualcoefficientscoefficientdiagonalterm*pfc_right_unit_equal_actualcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_unit_equal_actualcoefficientscoefficientsum fs_v_pfc_unit_equal_actualcoefficientscoefficientsum. ((((exists fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_start. fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_start. fs_u_pfc_unit_equal_actualcoefficientscoefficientsum = fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_terminal. fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_unit_equal_actualcoefficientscoefficient) = S ((S (S (pfc_index_unit_equal_actualcoefficients))) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_terminal. fs_u_pfc_unit_equal_actualcoefficientscoefficientsum = fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_unit_equal_actualcoefficients))) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum) + (pfc_natural_sum_unit_equal_actualcoefficientscoefficient))) /\ forall fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps = S (pfc_index_unit_equal_actualcoefficients)) -> exists fs_a_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps fs_r_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps fs_s_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_unit_equal_actualcoefficientscoefficient)) /\ exists fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_unit_equal_actualcoefficientscoefficient = fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_unit_equal_actualcoefficientscoefficient) + (fs_a_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_unit_equal_actualcoefficientscoefficientsum = fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum) + (fs_r_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_unit_equal_actualcoefficientscoefficientsum = fs_q_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_unit_equal_actualcoefficientscoefficientsum) + (fs_s_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps = fs_r_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps + fs_a_pfc_unit_equal_actualcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_unit_equal_actualcoefficientscoefficientresiduebound. pfa_gap_unit_equal_actualcoefficientscoefficientresiduebound + S (pfc_value_unit_equal_actualcoefficients) = (p)) /\ ((exists pfa_offset_left_unit_equal_actualcoefficientscoefficientresiduecongruence pfa_offset_right_unit_equal_actualcoefficientscoefficientresiduecongruence. (pfc_natural_sum_unit_equal_actualcoefficientscoefficient) + (p) * pfa_offset_left_unit_equal_actualcoefficientscoefficientresiduecongruence = (pfc_value_unit_equal_actualcoefficients) + (p) * pfa_offset_right_unit_equal_actualcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall mdr_i_pfp_unit_equal_result mdr_a_pfp_unit_equal_result. (exists mdr_gap_pfp_unit_equal_resultb. mdr_gap_pfp_unit_equal_resultb + S (mdr_i_pfp_unit_equal_result) = (L)) -> (((exists ff_h_mdr_pfp_unit_equal_resulto. ff_h_mdr_pfp_unit_equal_resulto + S (mdr_a_pfp_unit_equal_result) = S ((S (mdr_i_pfp_unit_equal_result)) * cc)) /\ exists ff_q_mdr_pfp_unit_equal_resulto. cb = ff_q_mdr_pfp_unit_equal_resulto * S ((S (mdr_i_pfp_unit_equal_result)) * cc) + (mdr_a_pfp_unit_equal_result))) -> (((exists ff_h_mdr_pfp_unit_equal_resultn. ff_h_mdr_pfp_unit_equal_resultn + S (mdr_a_pfp_unit_equal_result) = S ((S (mdr_i_pfp_unit_equal_result)) * ac)) /\ exists ff_q_mdr_pfp_unit_equal_resultn. ab = ff_q_mdr_pfp_unit_equal_resultn * S ((S (mdr_i_pfp_unit_equal_result)) * ac) + (mdr_a_pfp_unit_equal_result))))Constructive proof overview
Generated structural guide
Every coefficient of an actual length-L product U*A agrees with A when U is a length-one unit, including the vacuous L=0 case.
The unchanged tactic script uses 4 declared prerequisites and contains 67 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_exists Alpha theorem; checked-use authorized PG0030 prime_field_convolution_coefficient_left_unit matrix_rank_bounded_prefix_value Alpha theorem; checked-use authorized prime_field_polynomial_convolution_entry Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Establish hAL11–11
Establish this local claim before using it. It is not an additional assumption.
- L11
have hA : BetaPrefixInto(ab,ac,L,p)Definitions: BetaPrefixInto
03Separate the logical casesL12–13
04Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hc_right_left
05Fix variables and assumptionsL15–18
06Establish haL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L19
have ha : exists a. (((exists ff_h_pfp_unit_equal_entry. ff_h_pfp_unit_equal_entry + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_unit_equal_entry. ab = ff_q_pfp_unit_equal_entry * S ((S (i)) * ac) + (a))) - L20
specialize beta_at_exists (ab) - L21
specialize beta_at_exists (ac) - L22
specialize beta_at_exists (i) - L23
apply beta_at_exists
07Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases ha
08Establish heqL25–34
Establish this local claim before using it. It is not an additional assumption.
- L25
have heq : r=x - L26
specialize prime_field_convolution_coefficient_left_unit (p) - L27
specialize prime_field_convolution_coefficient_left_unit (ub) - L28
specialize prime_field_convolution_coefficient_left_unit (uc) - L29
specialize prime_field_convolution_coefficient_left_unit (ab) - L30
specialize prime_field_convolution_coefficient_left_unit (ac) - L31
specialize prime_field_convolution_coefficient_left_unit (L) - L32
specialize prime_field_convolution_coefficient_left_unit (i) - L33
specialize prime_field_convolution_coefficient_left_unit (x) - L34
specialize prime_field_convolution_coefficient_left_unit (r)
09Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
apply prime_field_convolution_coefficient_left_unit - L36
exact hu - L37
exact hi - L38
exact ha_witness - L39
specialize matrix_rank_bounded_prefix_value (ab) - L40
specialize matrix_rank_bounded_prefix_value (ac) - L41
specialize matrix_rank_bounded_prefix_value (L) - L42
specialize matrix_rank_bounded_prefix_value (p) - L43
specialize matrix_rank_bounded_prefix_value (i) - L44
specialize matrix_rank_bounded_prefix_value (x)
10Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
apply matrix_rank_bounded_prefix_value - L46
exact hA - L47
exact hi - L48
exact ha_witness - L49
specialize prime_field_polynomial_convolution_entry (p) - L50
specialize prime_field_polynomial_convolution_entry (ub) - L51
specialize prime_field_polynomial_convolution_entry (uc) - L52
specialize prime_field_polynomial_convolution_entry (1) - L53
specialize prime_field_polynomial_convolution_entry (ab) - L54
specialize prime_field_polynomial_convolution_entry (ac)
11Use earlier factsL55–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize prime_field_polynomial_convolution_entry (L) - L56
specialize prime_field_polynomial_convolution_entry (cb) - L57
specialize prime_field_polynomial_convolution_entry (cc) - L58
specialize prime_field_polynomial_convolution_entry (L) - L59
specialize prime_field_polynomial_convolution_entry (i) - L60
specialize prime_field_polynomial_convolution_entry (r) - L61
apply prime_field_polynomial_convolution_entry - L62
exact hc - L63
exact hi - L64
exact hr
12Calculate and transport equalitiesL65–66
13Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact ha_witness
Original exact command ledger · 67 lines
- 0001
intro p - 0002
intro ub - 0003
intro uc - 0004
intro ab - 0005
intro ac - 0006
intro L - 0007
intro cb - 0008
intro cc - 0009
intro hu - 0010
intro hc - 0011
have hA : forall fom_index_pfp_unit_equal_A. (exists fom_gap_pfp_unit_equal_A_index_bound. fom_gap_pfp_unit_equal_A_index_bound + S (fom_index_pfp_unit_equal_A) = L) -> exists fom_value_pfp_unit_equal_A. ((((exists fom_beta_height_pfp_unit_equal_A_entry. fom_beta_height_pfp_unit_equal_A_entry + S (fom_value_pfp_unit_equal_A) = S ((S (fom_index_pfp_unit_equal_A)) * ac)) /\ exists fom_beta_quotient_pfp_unit_equal_A_entry. ab = fom_beta_quotient_pfp_unit_equal_A_entry * S ((S (fom_index_pfp_unit_equal_A)) * ac) + (fom_value_pfp_unit_equal_A))) /\ (exists fom_gap_pfp_unit_equal_A_value_bound. fom_gap_pfp_unit_equal_A_value_bound + S (fom_value_pfp_unit_equal_A) = p)) - 0012
cases hc - 0013
cases hc_right - 0014
exact hc_right_left - 0015
intro i - 0016
intro r - 0017
intro hi - 0018
intro hr - 0019
have ha : exists a. (((exists ff_h_pfp_unit_equal_entry. ff_h_pfp_unit_equal_entry + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_unit_equal_entry. ab = ff_q_pfp_unit_equal_entry * S ((S (i)) * ac) + (a))) - 0020
specialize beta_at_exists (ab) - 0021
specialize beta_at_exists (ac) - 0022
specialize beta_at_exists (i) - 0023
apply beta_at_exists - 0024
cases ha - 0025
have heq : r=x - 0026
specialize prime_field_convolution_coefficient_left_unit (p) - 0027
specialize prime_field_convolution_coefficient_left_unit (ub) - 0028
specialize prime_field_convolution_coefficient_left_unit (uc) - 0029
specialize prime_field_convolution_coefficient_left_unit (ab) - 0030
specialize prime_field_convolution_coefficient_left_unit (ac) - 0031
specialize prime_field_convolution_coefficient_left_unit (L) - 0032
specialize prime_field_convolution_coefficient_left_unit (i) - 0033
specialize prime_field_convolution_coefficient_left_unit (x) - 0034
specialize prime_field_convolution_coefficient_left_unit (r) - 0035
apply prime_field_convolution_coefficient_left_unit - 0036
exact hu - 0037
exact hi - 0038
exact ha_witness - 0039
specialize matrix_rank_bounded_prefix_value (ab) - 0040
specialize matrix_rank_bounded_prefix_value (ac) - 0041
specialize matrix_rank_bounded_prefix_value (L) - 0042
specialize matrix_rank_bounded_prefix_value (p) - 0043
specialize matrix_rank_bounded_prefix_value (i) - 0044
specialize matrix_rank_bounded_prefix_value (x) - 0045
apply matrix_rank_bounded_prefix_value - 0046
exact hA - 0047
exact hi - 0048
exact ha_witness - 0049
specialize prime_field_polynomial_convolution_entry (p) - 0050
specialize prime_field_polynomial_convolution_entry (ub) - 0051
specialize prime_field_polynomial_convolution_entry (uc) - 0052
specialize prime_field_polynomial_convolution_entry (1) - 0053
specialize prime_field_polynomial_convolution_entry (ab) - 0054
specialize prime_field_polynomial_convolution_entry (ac) - 0055
specialize prime_field_polynomial_convolution_entry (L) - 0056
specialize prime_field_polynomial_convolution_entry (cb) - 0057
specialize prime_field_polynomial_convolution_entry (cc) - 0058
specialize prime_field_polynomial_convolution_entry (L) - 0059
specialize prime_field_polynomial_convolution_entry (i) - 0060
specialize prime_field_polynomial_convolution_entry (r) - 0061
apply prime_field_polynomial_convolution_entry - 0062
exact hc - 0063
exact hi - 0064
exact hr - 0065
rewrite heq - 0066
rewrite heq - 0067
exact ha_witness