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 qb qc i q r. (exists pfd_input_step_unique_first pfd_previous_step_unique_first pfd_difference_step_unique_first. ((((exists ff_h_pfp_step_unique_firstinput. ff_h_pfp_step_unique_firstinput + S (pfd_input_step_unique_first) = S ((S (i)) * ac)) /\ exists ff_q_pfp_step_unique_firstinput. ab = ff_q_pfp_step_unique_firstinput * S ((S (i)) * ac) + (pfd_input_step_unique_first))) /\ (((exists pfc_terms_code_step_unique_firstprevious pfc_terms_scale_step_unique_firstprevious pfc_natural_sum_step_unique_firstprevious. ((forall pfc_index_step_unique_firstpreviousdiagonal. (exists pfa_gap_step_unique_firstpreviousdiagonalbound. pfa_gap_step_unique_firstpreviousdiagonalbound + S (pfc_index_step_unique_firstpreviousdiagonal) = (S (i))) -> exists pfc_value_step_unique_firstpreviousdiagonal. ((((exists ff_h_pfp_step_unique_firstpreviousdiagonalentry. ff_h_pfp_step_unique_firstpreviousdiagonalentry + S (pfc_value_step_unique_firstpreviousdiagonal) = S ((S (pfc_index_step_unique_firstpreviousdiagonal)) * pfc_terms_scale_step_unique_firstprevious)) /\ exists ff_q_pfp_step_unique_firstpreviousdiagonalentry. pfc_terms_code_step_unique_firstprevious = ff_q_pfp_step_unique_firstpreviousdiagonalentry * S ((S (pfc_index_step_unique_firstpreviousdiagonal)) * pfc_terms_scale_step_unique_firstprevious) + (pfc_value_step_unique_firstpreviousdiagonal))) /\ ((exists pfc_complement_step_unique_firstpreviousdiagonalterm pfc_left_step_unique_firstpreviousdiagonalterm pfc_right_step_unique_firstpreviousdiagonalterm. (((pfc_index_step_unique_firstpreviousdiagonal)+pfc_complement_step_unique_firstpreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_step_unique_firstpreviousdiagonaltermleftinside. pfa_gap_step_unique_firstpreviousdiagonaltermleftinside + S (pfc_index_step_unique_firstpreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_step_unique_firstpreviousdiagonaltermleftentry. ff_h_pfp_step_unique_firstpreviousdiagonaltermleftentry + S (pfc_left_step_unique_firstpreviousdiagonalterm) = S ((S (pfc_index_step_unique_firstpreviousdiagonal)) * qc)) /\ exists ff_q_pfp_step_unique_firstpreviousdiagonaltermleftentry. qb = ff_q_pfp_step_unique_firstpreviousdiagonaltermleftentry * S ((S (pfc_index_step_unique_firstpreviousdiagonal)) * qc) + (pfc_left_step_unique_firstpreviousdiagonalterm)))))) \/ (((exists pfc_gap_step_unique_firstpreviousdiagonaltermleftoutside. pfc_gap_step_unique_firstpreviousdiagonaltermleftoutside+(i)=(pfc_index_step_unique_firstpreviousdiagonal)) /\ (((pfc_left_step_unique_firstpreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_unique_firstpreviousdiagonaltermrightinside. pfa_gap_step_unique_firstpreviousdiagonaltermrightinside + S (pfc_complement_step_unique_firstpreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_step_unique_firstpreviousdiagonaltermrightentry. ff_h_pfp_step_unique_firstpreviousdiagonaltermrightentry + S (pfc_right_step_unique_firstpreviousdiagonalterm) = S ((S (pfc_complement_step_unique_firstpreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_step_unique_firstpreviousdiagonaltermrightentry. bb = ff_q_pfp_step_unique_firstpreviousdiagonaltermrightentry * S ((S (pfc_complement_step_unique_firstpreviousdiagonalterm)) * bc) + (pfc_right_step_unique_firstpreviousdiagonalterm)))))) \/ (((exists pfc_gap_step_unique_firstpreviousdiagonaltermrightoutside. pfc_gap_step_unique_firstpreviousdiagonaltermrightoutside+(M)=(pfc_complement_step_unique_firstpreviousdiagonalterm)) /\ (((pfc_right_step_unique_firstpreviousdiagonalterm)=0))))) /\ (((pfc_value_step_unique_firstpreviousdiagonal)=pfc_left_step_unique_firstpreviousdiagonalterm*pfc_right_step_unique_firstpreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_unique_firstprevioussum fs_v_pfc_step_unique_firstprevioussum. ((((exists fs_h_pfc_step_unique_firstprevioussum_body_start. fs_h_pfc_step_unique_firstprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_unique_firstprevioussum)) /\ exists fs_q_pfc_step_unique_firstprevioussum_body_start. fs_u_pfc_step_unique_firstprevioussum = fs_q_pfc_step_unique_firstprevioussum_body_start * S ((S (0)) * fs_v_pfc_step_unique_firstprevioussum) + (0))) /\ ((((exists fs_h_pfc_step_unique_firstprevioussum_body_terminal. fs_h_pfc_step_unique_firstprevioussum_body_terminal + S (pfc_natural_sum_step_unique_firstprevious) = S ((S (S (i))) * fs_v_pfc_step_unique_firstprevioussum)) /\ exists fs_q_pfc_step_unique_firstprevioussum_body_terminal. fs_u_pfc_step_unique_firstprevioussum = fs_q_pfc_step_unique_firstprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_step_unique_firstprevioussum) + (pfc_natural_sum_step_unique_firstprevious))) /\ forall fs_i_pfc_step_unique_firstprevioussum_body_steps. (exists fs_lt_pfc_step_unique_firstprevioussum_body_steps_bound. fs_lt_pfc_step_unique_firstprevioussum_body_steps_bound + S fs_i_pfc_step_unique_firstprevioussum_body_steps = S (i)) -> exists fs_a_pfc_step_unique_firstprevioussum_body_steps fs_r_pfc_step_unique_firstprevioussum_body_steps fs_s_pfc_step_unique_firstprevioussum_body_steps. ((((exists fs_h_pfc_step_unique_firstprevioussum_body_steps_summand. fs_h_pfc_step_unique_firstprevioussum_body_steps_summand + S (fs_a_pfc_step_unique_firstprevioussum_body_steps) = S ((S (fs_i_pfc_step_unique_firstprevioussum_body_steps)) * pfc_terms_scale_step_unique_firstprevious)) /\ exists fs_q_pfc_step_unique_firstprevioussum_body_steps_summand. pfc_terms_code_step_unique_firstprevious = fs_q_pfc_step_unique_firstprevioussum_body_steps_summand * S ((S (fs_i_pfc_step_unique_firstprevioussum_body_steps)) * pfc_terms_scale_step_unique_firstprevious) + (fs_a_pfc_step_unique_firstprevioussum_body_steps))) /\ ((((exists fs_h_pfc_step_unique_firstprevioussum_body_steps_partial. fs_h_pfc_step_unique_firstprevioussum_body_steps_partial + S (fs_r_pfc_step_unique_firstprevioussum_body_steps) = S ((S (fs_i_pfc_step_unique_firstprevioussum_body_steps)) * fs_v_pfc_step_unique_firstprevioussum)) /\ exists fs_q_pfc_step_unique_firstprevioussum_body_steps_partial. fs_u_pfc_step_unique_firstprevioussum = fs_q_pfc_step_unique_firstprevioussum_body_steps_partial * S ((S (fs_i_pfc_step_unique_firstprevioussum_body_steps)) * fs_v_pfc_step_unique_firstprevioussum) + (fs_r_pfc_step_unique_firstprevioussum_body_steps))) /\ ((((exists fs_h_pfc_step_unique_firstprevioussum_body_steps_successor. fs_h_pfc_step_unique_firstprevioussum_body_steps_successor + S (fs_s_pfc_step_unique_firstprevioussum_body_steps) = S ((S (S fs_i_pfc_step_unique_firstprevioussum_body_steps)) * fs_v_pfc_step_unique_firstprevioussum)) /\ exists fs_q_pfc_step_unique_firstprevioussum_body_steps_successor. fs_u_pfc_step_unique_firstprevioussum = fs_q_pfc_step_unique_firstprevioussum_body_steps_successor * S ((S (S fs_i_pfc_step_unique_firstprevioussum_body_steps)) * fs_v_pfc_step_unique_firstprevioussum) + (fs_s_pfc_step_unique_firstprevioussum_body_steps))) /\ fs_s_pfc_step_unique_firstprevioussum_body_steps = fs_r_pfc_step_unique_firstprevioussum_body_steps + fs_a_pfc_step_unique_firstprevioussum_body_steps)))))) /\ ((((exists pfa_gap_step_unique_firstpreviousresiduebound. pfa_gap_step_unique_firstpreviousresiduebound + S (pfd_previous_step_unique_first) = (p)) /\ ((exists pfa_offset_left_step_unique_firstpreviousresiduecongruence pfa_offset_right_step_unique_firstpreviousresiduecongruence. (pfc_natural_sum_step_unique_firstprevious) + (p) * pfa_offset_left_step_unique_firstpreviousresiduecongruence = (pfd_previous_step_unique_first) + (p) * pfa_offset_right_step_unique_firstpreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_step_unique_firstsubtractleft. pfa_gap_step_unique_firstsubtractleft + S (pfd_previous_step_unique_first) = (p)) /\ (((exists pfa_gap_step_unique_firstsubtractright. pfa_gap_step_unique_firstsubtractright + S (pfd_difference_step_unique_first) = (p)) /\ ((((exists pfa_gap_step_unique_firstsubtractresultbound. pfa_gap_step_unique_firstsubtractresultbound + S (pfd_input_step_unique_first) = (p)) /\ ((exists pfa_offset_left_step_unique_firstsubtractresultcongruence pfa_offset_right_step_unique_firstsubtractresultcongruence. ((pfd_previous_step_unique_first) + (pfd_difference_step_unique_first)) + (p) * pfa_offset_left_step_unique_firstsubtractresultcongruence = (pfd_input_step_unique_first) + (p) * pfa_offset_right_step_unique_firstsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_step_unique_firstmultiplyleft. pfa_gap_step_unique_firstmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_step_unique_firstmultiplyright. pfa_gap_step_unique_firstmultiplyright + S (pfd_difference_step_unique_first) = (p)) /\ ((((exists pfa_gap_step_unique_firstmultiplyresultbound. pfa_gap_step_unique_firstmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_step_unique_firstmultiplyresultcongruence pfa_offset_right_step_unique_firstmultiplyresultcongruence. ((k) * (pfd_difference_step_unique_first)) + (p) * pfa_offset_left_step_unique_firstmultiplyresultcongruence = (q) + (p) * pfa_offset_right_step_unique_firstmultiplyresultcongruence)))))))))))))))) -> (exists pfd_input_step_unique_second pfd_previous_step_unique_second pfd_difference_step_unique_second. ((((exists ff_h_pfp_step_unique_secondinput. ff_h_pfp_step_unique_secondinput + S (pfd_input_step_unique_second) = S ((S (i)) * ac)) /\ exists ff_q_pfp_step_unique_secondinput. ab = ff_q_pfp_step_unique_secondinput * S ((S (i)) * ac) + (pfd_input_step_unique_second))) /\ (((exists pfc_terms_code_step_unique_secondprevious pfc_terms_scale_step_unique_secondprevious pfc_natural_sum_step_unique_secondprevious. ((forall pfc_index_step_unique_secondpreviousdiagonal. (exists pfa_gap_step_unique_secondpreviousdiagonalbound. pfa_gap_step_unique_secondpreviousdiagonalbound + S (pfc_index_step_unique_secondpreviousdiagonal) = (S (i))) -> exists pfc_value_step_unique_secondpreviousdiagonal. ((((exists ff_h_pfp_step_unique_secondpreviousdiagonalentry. ff_h_pfp_step_unique_secondpreviousdiagonalentry + S (pfc_value_step_unique_secondpreviousdiagonal) = S ((S (pfc_index_step_unique_secondpreviousdiagonal)) * pfc_terms_scale_step_unique_secondprevious)) /\ exists ff_q_pfp_step_unique_secondpreviousdiagonalentry. pfc_terms_code_step_unique_secondprevious = ff_q_pfp_step_unique_secondpreviousdiagonalentry * S ((S (pfc_index_step_unique_secondpreviousdiagonal)) * pfc_terms_scale_step_unique_secondprevious) + (pfc_value_step_unique_secondpreviousdiagonal))) /\ ((exists pfc_complement_step_unique_secondpreviousdiagonalterm pfc_left_step_unique_secondpreviousdiagonalterm pfc_right_step_unique_secondpreviousdiagonalterm. (((pfc_index_step_unique_secondpreviousdiagonal)+pfc_complement_step_unique_secondpreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_step_unique_secondpreviousdiagonaltermleftinside. pfa_gap_step_unique_secondpreviousdiagonaltermleftinside + S (pfc_index_step_unique_secondpreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_step_unique_secondpreviousdiagonaltermleftentry. ff_h_pfp_step_unique_secondpreviousdiagonaltermleftentry + S (pfc_left_step_unique_secondpreviousdiagonalterm) = S ((S (pfc_index_step_unique_secondpreviousdiagonal)) * qc)) /\ exists ff_q_pfp_step_unique_secondpreviousdiagonaltermleftentry. qb = ff_q_pfp_step_unique_secondpreviousdiagonaltermleftentry * S ((S (pfc_index_step_unique_secondpreviousdiagonal)) * qc) + (pfc_left_step_unique_secondpreviousdiagonalterm)))))) \/ (((exists pfc_gap_step_unique_secondpreviousdiagonaltermleftoutside. pfc_gap_step_unique_secondpreviousdiagonaltermleftoutside+(i)=(pfc_index_step_unique_secondpreviousdiagonal)) /\ (((pfc_left_step_unique_secondpreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_unique_secondpreviousdiagonaltermrightinside. pfa_gap_step_unique_secondpreviousdiagonaltermrightinside + S (pfc_complement_step_unique_secondpreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_step_unique_secondpreviousdiagonaltermrightentry. ff_h_pfp_step_unique_secondpreviousdiagonaltermrightentry + S (pfc_right_step_unique_secondpreviousdiagonalterm) = S ((S (pfc_complement_step_unique_secondpreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_step_unique_secondpreviousdiagonaltermrightentry. bb = ff_q_pfp_step_unique_secondpreviousdiagonaltermrightentry * S ((S (pfc_complement_step_unique_secondpreviousdiagonalterm)) * bc) + (pfc_right_step_unique_secondpreviousdiagonalterm)))))) \/ (((exists pfc_gap_step_unique_secondpreviousdiagonaltermrightoutside. pfc_gap_step_unique_secondpreviousdiagonaltermrightoutside+(M)=(pfc_complement_step_unique_secondpreviousdiagonalterm)) /\ (((pfc_right_step_unique_secondpreviousdiagonalterm)=0))))) /\ (((pfc_value_step_unique_secondpreviousdiagonal)=pfc_left_step_unique_secondpreviousdiagonalterm*pfc_right_step_unique_secondpreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_unique_secondprevioussum fs_v_pfc_step_unique_secondprevioussum. ((((exists fs_h_pfc_step_unique_secondprevioussum_body_start. fs_h_pfc_step_unique_secondprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_unique_secondprevioussum)) /\ exists fs_q_pfc_step_unique_secondprevioussum_body_start. fs_u_pfc_step_unique_secondprevioussum = fs_q_pfc_step_unique_secondprevioussum_body_start * S ((S (0)) * fs_v_pfc_step_unique_secondprevioussum) + (0))) /\ ((((exists fs_h_pfc_step_unique_secondprevioussum_body_terminal. fs_h_pfc_step_unique_secondprevioussum_body_terminal + S (pfc_natural_sum_step_unique_secondprevious) = S ((S (S (i))) * fs_v_pfc_step_unique_secondprevioussum)) /\ exists fs_q_pfc_step_unique_secondprevioussum_body_terminal. fs_u_pfc_step_unique_secondprevioussum = fs_q_pfc_step_unique_secondprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_step_unique_secondprevioussum) + (pfc_natural_sum_step_unique_secondprevious))) /\ forall fs_i_pfc_step_unique_secondprevioussum_body_steps. (exists fs_lt_pfc_step_unique_secondprevioussum_body_steps_bound. fs_lt_pfc_step_unique_secondprevioussum_body_steps_bound + S fs_i_pfc_step_unique_secondprevioussum_body_steps = S (i)) -> exists fs_a_pfc_step_unique_secondprevioussum_body_steps fs_r_pfc_step_unique_secondprevioussum_body_steps fs_s_pfc_step_unique_secondprevioussum_body_steps. ((((exists fs_h_pfc_step_unique_secondprevioussum_body_steps_summand. fs_h_pfc_step_unique_secondprevioussum_body_steps_summand + S (fs_a_pfc_step_unique_secondprevioussum_body_steps) = S ((S (fs_i_pfc_step_unique_secondprevioussum_body_steps)) * pfc_terms_scale_step_unique_secondprevious)) /\ exists fs_q_pfc_step_unique_secondprevioussum_body_steps_summand. pfc_terms_code_step_unique_secondprevious = fs_q_pfc_step_unique_secondprevioussum_body_steps_summand * S ((S (fs_i_pfc_step_unique_secondprevioussum_body_steps)) * pfc_terms_scale_step_unique_secondprevious) + (fs_a_pfc_step_unique_secondprevioussum_body_steps))) /\ ((((exists fs_h_pfc_step_unique_secondprevioussum_body_steps_partial. fs_h_pfc_step_unique_secondprevioussum_body_steps_partial + S (fs_r_pfc_step_unique_secondprevioussum_body_steps) = S ((S (fs_i_pfc_step_unique_secondprevioussum_body_steps)) * fs_v_pfc_step_unique_secondprevioussum)) /\ exists fs_q_pfc_step_unique_secondprevioussum_body_steps_partial. fs_u_pfc_step_unique_secondprevioussum = fs_q_pfc_step_unique_secondprevioussum_body_steps_partial * S ((S (fs_i_pfc_step_unique_secondprevioussum_body_steps)) * fs_v_pfc_step_unique_secondprevioussum) + (fs_r_pfc_step_unique_secondprevioussum_body_steps))) /\ ((((exists fs_h_pfc_step_unique_secondprevioussum_body_steps_successor. fs_h_pfc_step_unique_secondprevioussum_body_steps_successor + S (fs_s_pfc_step_unique_secondprevioussum_body_steps) = S ((S (S fs_i_pfc_step_unique_secondprevioussum_body_steps)) * fs_v_pfc_step_unique_secondprevioussum)) /\ exists fs_q_pfc_step_unique_secondprevioussum_body_steps_successor. fs_u_pfc_step_unique_secondprevioussum = fs_q_pfc_step_unique_secondprevioussum_body_steps_successor * S ((S (S fs_i_pfc_step_unique_secondprevioussum_body_steps)) * fs_v_pfc_step_unique_secondprevioussum) + (fs_s_pfc_step_unique_secondprevioussum_body_steps))) /\ fs_s_pfc_step_unique_secondprevioussum_body_steps = fs_r_pfc_step_unique_secondprevioussum_body_steps + fs_a_pfc_step_unique_secondprevioussum_body_steps)))))) /\ ((((exists pfa_gap_step_unique_secondpreviousresiduebound. pfa_gap_step_unique_secondpreviousresiduebound + S (pfd_previous_step_unique_second) = (p)) /\ ((exists pfa_offset_left_step_unique_secondpreviousresiduecongruence pfa_offset_right_step_unique_secondpreviousresiduecongruence. (pfc_natural_sum_step_unique_secondprevious) + (p) * pfa_offset_left_step_unique_secondpreviousresiduecongruence = (pfd_previous_step_unique_second) + (p) * pfa_offset_right_step_unique_secondpreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_step_unique_secondsubtractleft. pfa_gap_step_unique_secondsubtractleft + S (pfd_previous_step_unique_second) = (p)) /\ (((exists pfa_gap_step_unique_secondsubtractright. pfa_gap_step_unique_secondsubtractright + S (pfd_difference_step_unique_second) = (p)) /\ ((((exists pfa_gap_step_unique_secondsubtractresultbound. pfa_gap_step_unique_secondsubtractresultbound + S (pfd_input_step_unique_second) = (p)) /\ ((exists pfa_offset_left_step_unique_secondsubtractresultcongruence pfa_offset_right_step_unique_secondsubtractresultcongruence. ((pfd_previous_step_unique_second) + (pfd_difference_step_unique_second)) + (p) * pfa_offset_left_step_unique_secondsubtractresultcongruence = (pfd_input_step_unique_second) + (p) * pfa_offset_right_step_unique_secondsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_step_unique_secondmultiplyleft. pfa_gap_step_unique_secondmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_step_unique_secondmultiplyright. pfa_gap_step_unique_secondmultiplyright + S (pfd_difference_step_unique_second) = (p)) /\ ((((exists pfa_gap_step_unique_secondmultiplyresultbound. pfa_gap_step_unique_secondmultiplyresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_step_unique_secondmultiplyresultcongruence pfa_offset_right_step_unique_secondmultiplyresultcongruence. ((k) * (pfd_difference_step_unique_second)) + (p) * pfa_offset_left_step_unique_secondmultiplyresultcongruence = (r) + (p) * pfa_offset_right_step_unique_secondmultiplyresultcongruence)))))))))))))))) -> q=rConstructive proof overview
Generated structural guide
An actual triangular execution step has one decoded output, by beta and convolution functionality, additive cancellation, and product functionality.
The unchanged tactic script uses 4 declared prerequisites and contains 72 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique Alpha theorem; checked-use authorized prime_field_convolution_coefficient_functional Alpha theorem; checked-use authorized prime_field_add_cancel_left Alpha theorem; checked-use authorized prime_field_multiply_functional 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–14
03Separate the logical casesL15–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hfirst - L16
cases hfirst_witness - L17
cases hfirst_witness_witness - L18
cases hfirst_witness_witness_witness - L19
cases hfirst_witness_witness_witness_right - L20
cases hfirst_witness_witness_witness_right_right - L21
cases hsecond - L22
cases hsecond_witness - L23
cases hsecond_witness_witness - L24
cases hsecond_witness_witness_witness
04Separate the logical casesL25–26
05Establish hinputL27–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hpreviousL36–45
Establish this local claim before using it. It is not an additional assumption.
- L36
have hprevious : x1=x4 - L37
specialize prime_field_convolution_coefficient_functional (p) - L38
specialize prime_field_convolution_coefficient_functional (qb) - L39
specialize prime_field_convolution_coefficient_functional (qc) - L40
specialize prime_field_convolution_coefficient_functional (i) - L41
specialize prime_field_convolution_coefficient_functional (bb) - L42
specialize prime_field_convolution_coefficient_functional (bc) - L43
specialize prime_field_convolution_coefficient_functional (M) - L44
specialize prime_field_convolution_coefficient_functional (i) - L45
specialize prime_field_convolution_coefficient_functional (x1)
07Use earlier factsL46–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Calculate and transport equalitiesL50–53
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
09Establish hdifferenceL54–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field add cancel left.
- L54
have hdifference : x2=x5 - L55
specialize prime_field_add_cancel_left (p) - L56
specialize prime_field_add_cancel_left (x4) - L57
specialize prime_field_add_cancel_left (x2) - L58
specialize prime_field_add_cancel_left (x5) - L59
specialize prime_field_add_cancel_left (x3) - L60
apply prime_field_add_cancel_left - L61
exact hfirst_witness_witness_witness_right_right_left - L62
exact hsecond_witness_witness_witness_right_right_left - L63
rewrite hdifference at hfirst_witness_witness_witness_right_right_right
10Calculate and transport equalitiesL64–64
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L64
rewrite hdifference at hfirst_witness_witness_witness_right_right_right
11Use earlier factsL65–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize prime_field_multiply_functional (p) - L66
specialize prime_field_multiply_functional (k) - L67
specialize prime_field_multiply_functional (x5) - L68
specialize prime_field_multiply_functional (q) - L69
specialize prime_field_multiply_functional (r) - L70
apply prime_field_multiply_functional - L71
exact hfirst_witness_witness_witness_right_right_right - L72
exact hsecond_witness_witness_witness_right_right_right
Original exact command ledger · 72 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro qb - 0009
intro qc - 0010
intro i - 0011
intro q - 0012
intro r - 0013
intro hfirst - 0014
intro hsecond - 0015
cases hfirst - 0016
cases hfirst_witness - 0017
cases hfirst_witness_witness - 0018
cases hfirst_witness_witness_witness - 0019
cases hfirst_witness_witness_witness_right - 0020
cases hfirst_witness_witness_witness_right_right - 0021
cases hsecond - 0022
cases hsecond_witness - 0023
cases hsecond_witness_witness - 0024
cases hsecond_witness_witness_witness - 0025
cases hsecond_witness_witness_witness_right - 0026
cases hsecond_witness_witness_witness_right_right - 0027
have hinput : x=x3 - 0028
specialize beta_at_unique (ab) - 0029
specialize beta_at_unique (ac) - 0030
specialize beta_at_unique (i) - 0031
specialize beta_at_unique (x) - 0032
specialize beta_at_unique (x3) - 0033
apply beta_at_unique - 0034
exact hfirst_witness_witness_witness_left - 0035
exact hsecond_witness_witness_witness_left - 0036
have hprevious : x1=x4 - 0037
specialize prime_field_convolution_coefficient_functional (p) - 0038
specialize prime_field_convolution_coefficient_functional (qb) - 0039
specialize prime_field_convolution_coefficient_functional (qc) - 0040
specialize prime_field_convolution_coefficient_functional (i) - 0041
specialize prime_field_convolution_coefficient_functional (bb) - 0042
specialize prime_field_convolution_coefficient_functional (bc) - 0043
specialize prime_field_convolution_coefficient_functional (M) - 0044
specialize prime_field_convolution_coefficient_functional (i) - 0045
specialize prime_field_convolution_coefficient_functional (x1) - 0046
specialize prime_field_convolution_coefficient_functional (x4) - 0047
apply prime_field_convolution_coefficient_functional - 0048
exact hfirst_witness_witness_witness_right_left - 0049
exact hsecond_witness_witness_witness_right_left - 0050
rewrite hinput at hfirst_witness_witness_witness_right_right_left - 0051
rewrite hinput at hfirst_witness_witness_witness_right_right_left - 0052
rewrite hprevious at hfirst_witness_witness_witness_right_right_left - 0053
rewrite hprevious at hfirst_witness_witness_witness_right_right_left - 0054
have hdifference : x2=x5 - 0055
specialize prime_field_add_cancel_left (p) - 0056
specialize prime_field_add_cancel_left (x4) - 0057
specialize prime_field_add_cancel_left (x2) - 0058
specialize prime_field_add_cancel_left (x5) - 0059
specialize prime_field_add_cancel_left (x3) - 0060
apply prime_field_add_cancel_left - 0061
exact hfirst_witness_witness_witness_right_right_left - 0062
exact hsecond_witness_witness_witness_right_right_left - 0063
rewrite hdifference at hfirst_witness_witness_witness_right_right_right - 0064
rewrite hdifference at hfirst_witness_witness_witness_right_right_right - 0065
specialize prime_field_multiply_functional (p) - 0066
specialize prime_field_multiply_functional (k) - 0067
specialize prime_field_multiply_functional (x5) - 0068
specialize prime_field_multiply_functional (q) - 0069
specialize prime_field_multiply_functional (r) - 0070
apply prime_field_multiply_functional - 0071
exact hfirst_witness_witness_witness_right_right_right - 0072
exact hsecond_witness_witness_witness_right_right_right