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 b c a n qb qc r. (~((p) = 1) /\ forall pfa_factor_left_root_prime pfa_factor_right_root_prime. (p) = pfa_factor_left_root_prime * pfa_factor_right_root_prime -> pfa_factor_left_root_prime = 1 \/ pfa_factor_right_root_prime = 1) -> (exists pfs_history_code_root_division pfs_history_scale_root_division. ((((exists pfa_gap_root_divisiontracebase. pfa_gap_root_divisiontracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_root_divisiontraceinitial. ff_h_pfp_root_divisiontraceinitial + S (0) = S ((S (0)) * pfs_history_scale_root_division)) /\ exists ff_q_pfp_root_divisiontraceinitial. pfs_history_code_root_division = ff_q_pfp_root_divisiontraceinitial * S ((S (0)) * pfs_history_scale_root_division) + (0))) /\ (((((exists ff_h_pfp_root_divisiontraceterminal. ff_h_pfp_root_divisiontraceterminal + S (r) = S ((S (S (n))) * pfs_history_scale_root_division)) /\ exists ff_q_pfp_root_divisiontraceterminal. pfs_history_code_root_division = ff_q_pfp_root_divisiontraceterminal * S ((S (S (n))) * pfs_history_scale_root_division) + (r))) /\ ((forall pfh_index_root_divisiontracesteps. (exists pfa_gap_root_divisiontracestepsindex. pfa_gap_root_divisiontracestepsindex + S (pfh_index_root_divisiontracesteps) = (S (n))) -> (exists pfh_coefficient_root_divisiontracestepsstep pfh_before_root_divisiontracestepsstep pfh_after_root_divisiontracestepsstep pfh_product_root_divisiontracestepsstep. ((((exists ff_h_pfp_root_divisiontracestepsstepcoefficient. ff_h_pfp_root_divisiontracestepsstepcoefficient + S (pfh_coefficient_root_divisiontracestepsstep) = S ((S (pfh_index_root_divisiontracesteps)) * c)) /\ exists ff_q_pfp_root_divisiontracestepsstepcoefficient. b = ff_q_pfp_root_divisiontracestepsstepcoefficient * S ((S (pfh_index_root_divisiontracesteps)) * c) + (pfh_coefficient_root_divisiontracestepsstep))) /\ (((((exists ff_h_pfp_root_divisiontracestepsstepbefore. ff_h_pfp_root_divisiontracestepsstepbefore + S (pfh_before_root_divisiontracestepsstep) = S ((S (pfh_index_root_divisiontracesteps)) * pfs_history_scale_root_division)) /\ exists ff_q_pfp_root_divisiontracestepsstepbefore. pfs_history_code_root_division = ff_q_pfp_root_divisiontracestepsstepbefore * S ((S (pfh_index_root_divisiontracesteps)) * pfs_history_scale_root_division) + (pfh_before_root_divisiontracestepsstep))) /\ (((((exists ff_h_pfp_root_divisiontracestepsstepafter. ff_h_pfp_root_divisiontracestepsstepafter + S (pfh_after_root_divisiontracestepsstep) = S ((S (S (pfh_index_root_divisiontracesteps))) * pfs_history_scale_root_division)) /\ exists ff_q_pfp_root_divisiontracestepsstepafter. pfs_history_code_root_division = ff_q_pfp_root_divisiontracestepsstepafter * S ((S (S (pfh_index_root_divisiontracesteps))) * pfs_history_scale_root_division) + (pfh_after_root_divisiontracestepsstep))) /\ (((((exists pfa_gap_root_divisiontracestepsstepmultiplyleft. pfa_gap_root_divisiontracestepsstepmultiplyleft + S (pfh_before_root_divisiontracestepsstep) = (p)) /\ (((exists pfa_gap_root_divisiontracestepsstepmultiplyright. pfa_gap_root_divisiontracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_root_divisiontracestepsstepmultiplyresultbound. pfa_gap_root_divisiontracestepsstepmultiplyresultbound + S (pfh_product_root_divisiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_divisiontracestepsstepmultiplyresultcongruence pfa_offset_right_root_divisiontracestepsstepmultiplyresultcongruence. ((pfh_before_root_divisiontracestepsstep) * (a)) + (p) * pfa_offset_left_root_divisiontracestepsstepmultiplyresultcongruence = (pfh_product_root_divisiontracestepsstep) + (p) * pfa_offset_right_root_divisiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_root_divisiontracestepsstepaddleft. pfa_gap_root_divisiontracestepsstepaddleft + S (pfh_product_root_divisiontracestepsstep) = (p)) /\ (((exists pfa_gap_root_divisiontracestepsstepaddright. pfa_gap_root_divisiontracestepsstepaddright + S (pfh_coefficient_root_divisiontracestepsstep) = (p)) /\ ((((exists pfa_gap_root_divisiontracestepsstepaddresultbound. pfa_gap_root_divisiontracestepsstepaddresultbound + S (pfh_after_root_divisiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_divisiontracestepsstepaddresultcongruence pfa_offset_right_root_divisiontracestepsstepaddresultcongruence. ((pfh_product_root_divisiontracestepsstep) + (pfh_coefficient_root_divisiontracestepsstep)) + (p) * pfa_offset_left_root_divisiontracestepsstepaddresultcongruence = (pfh_after_root_divisiontracestepsstep) + (p) * pfa_offset_right_root_divisiontracestepsstepaddresultcongruence)))))))))))))))))))))))))) /\ ((forall ff_index_mcp_pfs_root_divisionquotient ff_source_mcp_pfs_root_divisionquotient ff_target_mcp_pfs_root_divisionquotient. (exists mcp_gap_pfs_root_divisionquotient_bound. mcp_gap_pfs_root_divisionquotient_bound + S (ff_index_mcp_pfs_root_divisionquotient) = (n)) -> (((exists fs_h_mcp_pfs_root_divisionquotient_source. fs_h_mcp_pfs_root_divisionquotient_source + S (ff_source_mcp_pfs_root_divisionquotient) = S ((S ((1) + (1) * ff_index_mcp_pfs_root_divisionquotient)) * pfs_history_scale_root_division)) /\ exists fs_q_mcp_pfs_root_divisionquotient_source. pfs_history_code_root_division = fs_q_mcp_pfs_root_divisionquotient_source * S ((S ((1) + (1) * ff_index_mcp_pfs_root_divisionquotient)) * pfs_history_scale_root_division) + (ff_source_mcp_pfs_root_divisionquotient))) -> (((exists fs_h_mcp_pfs_root_divisionquotient_target. fs_h_mcp_pfs_root_divisionquotient_target + S (ff_target_mcp_pfs_root_divisionquotient) = S ((S (ff_index_mcp_pfs_root_divisionquotient)) * qc)) /\ exists fs_q_mcp_pfs_root_divisionquotient_target. qb = fs_q_mcp_pfs_root_divisionquotient_target * S ((S (ff_index_mcp_pfs_root_divisionquotient)) * qc) + (ff_target_mcp_pfs_root_divisionquotient))) -> ff_target_mcp_pfs_root_divisionquotient = ff_source_mcp_pfs_root_divisionquotient)))) -> ((r=0 -> (exists pfh_trace_code_root_forward pfh_trace_scale_root_forward. (((exists pfa_gap_root_forwardtracebase. pfa_gap_root_forwardtracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_root_forwardtraceinitial. ff_h_pfp_root_forwardtraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_root_forward)) /\ exists ff_q_pfp_root_forwardtraceinitial. pfh_trace_code_root_forward = ff_q_pfp_root_forwardtraceinitial * S ((S (0)) * pfh_trace_scale_root_forward) + (0))) /\ (((((exists ff_h_pfp_root_forwardtraceterminal. ff_h_pfp_root_forwardtraceterminal + S (0) = S ((S (S n)) * pfh_trace_scale_root_forward)) /\ exists ff_q_pfp_root_forwardtraceterminal. pfh_trace_code_root_forward = ff_q_pfp_root_forwardtraceterminal * S ((S (S n)) * pfh_trace_scale_root_forward) + (0))) /\ ((forall pfh_index_root_forwardtracesteps. (exists pfa_gap_root_forwardtracestepsindex. pfa_gap_root_forwardtracestepsindex + S (pfh_index_root_forwardtracesteps) = (S n)) -> (exists pfh_coefficient_root_forwardtracestepsstep pfh_before_root_forwardtracestepsstep pfh_after_root_forwardtracestepsstep pfh_product_root_forwardtracestepsstep. ((((exists ff_h_pfp_root_forwardtracestepsstepcoefficient. ff_h_pfp_root_forwardtracestepsstepcoefficient + S (pfh_coefficient_root_forwardtracestepsstep) = S ((S (pfh_index_root_forwardtracesteps)) * c)) /\ exists ff_q_pfp_root_forwardtracestepsstepcoefficient. b = ff_q_pfp_root_forwardtracestepsstepcoefficient * S ((S (pfh_index_root_forwardtracesteps)) * c) + (pfh_coefficient_root_forwardtracestepsstep))) /\ (((((exists ff_h_pfp_root_forwardtracestepsstepbefore. ff_h_pfp_root_forwardtracestepsstepbefore + S (pfh_before_root_forwardtracestepsstep) = S ((S (pfh_index_root_forwardtracesteps)) * pfh_trace_scale_root_forward)) /\ exists ff_q_pfp_root_forwardtracestepsstepbefore. pfh_trace_code_root_forward = ff_q_pfp_root_forwardtracestepsstepbefore * S ((S (pfh_index_root_forwardtracesteps)) * pfh_trace_scale_root_forward) + (pfh_before_root_forwardtracestepsstep))) /\ (((((exists ff_h_pfp_root_forwardtracestepsstepafter. ff_h_pfp_root_forwardtracestepsstepafter + S (pfh_after_root_forwardtracestepsstep) = S ((S (S (pfh_index_root_forwardtracesteps))) * pfh_trace_scale_root_forward)) /\ exists ff_q_pfp_root_forwardtracestepsstepafter. pfh_trace_code_root_forward = ff_q_pfp_root_forwardtracestepsstepafter * S ((S (S (pfh_index_root_forwardtracesteps))) * pfh_trace_scale_root_forward) + (pfh_after_root_forwardtracestepsstep))) /\ (((((exists pfa_gap_root_forwardtracestepsstepmultiplyleft. pfa_gap_root_forwardtracestepsstepmultiplyleft + S (pfh_before_root_forwardtracestepsstep) = (p)) /\ (((exists pfa_gap_root_forwardtracestepsstepmultiplyright. pfa_gap_root_forwardtracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_root_forwardtracestepsstepmultiplyresultbound. pfa_gap_root_forwardtracestepsstepmultiplyresultbound + S (pfh_product_root_forwardtracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_forwardtracestepsstepmultiplyresultcongruence pfa_offset_right_root_forwardtracestepsstepmultiplyresultcongruence. ((pfh_before_root_forwardtracestepsstep) * (a)) + (p) * pfa_offset_left_root_forwardtracestepsstepmultiplyresultcongruence = (pfh_product_root_forwardtracestepsstep) + (p) * pfa_offset_right_root_forwardtracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_root_forwardtracestepsstepaddleft. pfa_gap_root_forwardtracestepsstepaddleft + S (pfh_product_root_forwardtracestepsstep) = (p)) /\ (((exists pfa_gap_root_forwardtracestepsstepaddright. pfa_gap_root_forwardtracestepsstepaddright + S (pfh_coefficient_root_forwardtracestepsstep) = (p)) /\ ((((exists pfa_gap_root_forwardtracestepsstepaddresultbound. pfa_gap_root_forwardtracestepsstepaddresultbound + S (pfh_after_root_forwardtracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_forwardtracestepsstepaddresultcongruence pfa_offset_right_root_forwardtracestepsstepaddresultcongruence. ((pfh_product_root_forwardtracestepsstep) + (pfh_coefficient_root_forwardtracestepsstep)) + (p) * pfa_offset_left_root_forwardtracestepsstepaddresultcongruence = (pfh_after_root_forwardtracestepsstep) + (p) * pfa_offset_right_root_forwardtracestepsstepaddresultcongruence)))))))))))))))))))))))))))) /\ (((exists pfh_trace_code_root_backward pfh_trace_scale_root_backward. (((exists pfa_gap_root_backwardtracebase. pfa_gap_root_backwardtracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_root_backwardtraceinitial. ff_h_pfp_root_backwardtraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_root_backward)) /\ exists ff_q_pfp_root_backwardtraceinitial. pfh_trace_code_root_backward = ff_q_pfp_root_backwardtraceinitial * S ((S (0)) * pfh_trace_scale_root_backward) + (0))) /\ (((((exists ff_h_pfp_root_backwardtraceterminal. ff_h_pfp_root_backwardtraceterminal + S (0) = S ((S (S n)) * pfh_trace_scale_root_backward)) /\ exists ff_q_pfp_root_backwardtraceterminal. pfh_trace_code_root_backward = ff_q_pfp_root_backwardtraceterminal * S ((S (S n)) * pfh_trace_scale_root_backward) + (0))) /\ ((forall pfh_index_root_backwardtracesteps. (exists pfa_gap_root_backwardtracestepsindex. pfa_gap_root_backwardtracestepsindex + S (pfh_index_root_backwardtracesteps) = (S n)) -> (exists pfh_coefficient_root_backwardtracestepsstep pfh_before_root_backwardtracestepsstep pfh_after_root_backwardtracestepsstep pfh_product_root_backwardtracestepsstep. ((((exists ff_h_pfp_root_backwardtracestepsstepcoefficient. ff_h_pfp_root_backwardtracestepsstepcoefficient + S (pfh_coefficient_root_backwardtracestepsstep) = S ((S (pfh_index_root_backwardtracesteps)) * c)) /\ exists ff_q_pfp_root_backwardtracestepsstepcoefficient. b = ff_q_pfp_root_backwardtracestepsstepcoefficient * S ((S (pfh_index_root_backwardtracesteps)) * c) + (pfh_coefficient_root_backwardtracestepsstep))) /\ (((((exists ff_h_pfp_root_backwardtracestepsstepbefore. ff_h_pfp_root_backwardtracestepsstepbefore + S (pfh_before_root_backwardtracestepsstep) = S ((S (pfh_index_root_backwardtracesteps)) * pfh_trace_scale_root_backward)) /\ exists ff_q_pfp_root_backwardtracestepsstepbefore. pfh_trace_code_root_backward = ff_q_pfp_root_backwardtracestepsstepbefore * S ((S (pfh_index_root_backwardtracesteps)) * pfh_trace_scale_root_backward) + (pfh_before_root_backwardtracestepsstep))) /\ (((((exists ff_h_pfp_root_backwardtracestepsstepafter. ff_h_pfp_root_backwardtracestepsstepafter + S (pfh_after_root_backwardtracestepsstep) = S ((S (S (pfh_index_root_backwardtracesteps))) * pfh_trace_scale_root_backward)) /\ exists ff_q_pfp_root_backwardtracestepsstepafter. pfh_trace_code_root_backward = ff_q_pfp_root_backwardtracestepsstepafter * S ((S (S (pfh_index_root_backwardtracesteps))) * pfh_trace_scale_root_backward) + (pfh_after_root_backwardtracestepsstep))) /\ (((((exists pfa_gap_root_backwardtracestepsstepmultiplyleft. pfa_gap_root_backwardtracestepsstepmultiplyleft + S (pfh_before_root_backwardtracestepsstep) = (p)) /\ (((exists pfa_gap_root_backwardtracestepsstepmultiplyright. pfa_gap_root_backwardtracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_root_backwardtracestepsstepmultiplyresultbound. pfa_gap_root_backwardtracestepsstepmultiplyresultbound + S (pfh_product_root_backwardtracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_backwardtracestepsstepmultiplyresultcongruence pfa_offset_right_root_backwardtracestepsstepmultiplyresultcongruence. ((pfh_before_root_backwardtracestepsstep) * (a)) + (p) * pfa_offset_left_root_backwardtracestepsstepmultiplyresultcongruence = (pfh_product_root_backwardtracestepsstep) + (p) * pfa_offset_right_root_backwardtracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_root_backwardtracestepsstepaddleft. pfa_gap_root_backwardtracestepsstepaddleft + S (pfh_product_root_backwardtracestepsstep) = (p)) /\ (((exists pfa_gap_root_backwardtracestepsstepaddright. pfa_gap_root_backwardtracestepsstepaddright + S (pfh_coefficient_root_backwardtracestepsstep) = (p)) /\ ((((exists pfa_gap_root_backwardtracestepsstepaddresultbound. pfa_gap_root_backwardtracestepsstepaddresultbound + S (pfh_after_root_backwardtracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_backwardtracestepsstepaddresultcongruence pfa_offset_right_root_backwardtracestepsstepaddresultcongruence. ((pfh_product_root_backwardtracestepsstep) + (pfh_coefficient_root_backwardtracestepsstep)) + (p) * pfa_offset_left_root_backwardtracestepsstepaddresultcongruence = (pfh_after_root_backwardtracestepsstep) + (p) * pfa_offset_right_root_backwardtracestepsstepaddresultcongruence))))))))))))))))))))))))))) -> r=0)))Constructive proof overview
Generated structural guide
The actual synthetic remainder vanishes exactly when the actual input evaluation at a vanishes; a general convolution factor theorem remains a separate obligation.
The unchanged tactic script uses 2 declared prerequisites and contains 38 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PQ0048 prime_field_polynomial_synthetic_remainder_execution prime_field_polynomial_horner_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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Establish heL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial synthetic remainder execution.
- L11
have he : FpHorner(p,b,c,a,S n,r)Definitions: FpHorner - L12
specialize prime_field_polynomial_synthetic_remainder_execution (p) - L13
specialize prime_field_polynomial_synthetic_remainder_execution (b) - L14
specialize prime_field_polynomial_synthetic_remainder_execution (c) - L15
specialize prime_field_polynomial_synthetic_remainder_execution (a) - L16
specialize prime_field_polynomial_synthetic_remainder_execution (n) - L17
specialize prime_field_polynomial_synthetic_remainder_execution (qb) - L18
specialize prime_field_polynomial_synthetic_remainder_execution (qc) - L19
specialize prime_field_polynomial_synthetic_remainder_execution (r) - L20
apply prime_field_polynomial_synthetic_remainder_execution
03Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hs
04Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
05Fix variables and assumptionsL23–23
Work with arbitrary variables or the premises of the current implication.
- L23
intro hz
06Calculate and transport equalitiesL24–25
07Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
exact he
08Fix variables and assumptionsL27–27
Work with arbitrary variables or the premises of the current implication.
- L27
intro hz
09Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize prime_field_polynomial_horner_functional (p) - L29
specialize prime_field_polynomial_horner_functional (b) - L30
specialize prime_field_polynomial_horner_functional (c) - L31
specialize prime_field_polynomial_horner_functional (a) - L32
specialize prime_field_polynomial_horner_functional (S n) - L33
specialize prime_field_polynomial_horner_functional (r) - L34
specialize prime_field_polynomial_horner_functional (0) - L35
apply prime_field_polynomial_horner_functional - L36
exact hp - L37
exact he
10Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hz
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro a - 0005
intro n - 0006
intro qb - 0007
intro qc - 0008
intro r - 0009
intro hp - 0010
intro hs - 0011
have he : exists pfh_trace_code_root_actual_execution pfh_trace_scale_root_actual_execution. (((exists pfa_gap_root_actual_executiontracebase. pfa_gap_root_actual_executiontracebase + S (a) = (p)) /\ (((((exists ff_h_pfp_root_actual_executiontraceinitial. ff_h_pfp_root_actual_executiontraceinitial + S (0) = S ((S (0)) * pfh_trace_scale_root_actual_execution)) /\ exists ff_q_pfp_root_actual_executiontraceinitial. pfh_trace_code_root_actual_execution = ff_q_pfp_root_actual_executiontraceinitial * S ((S (0)) * pfh_trace_scale_root_actual_execution) + (0))) /\ (((((exists ff_h_pfp_root_actual_executiontraceterminal. ff_h_pfp_root_actual_executiontraceterminal + S (r) = S ((S (S n)) * pfh_trace_scale_root_actual_execution)) /\ exists ff_q_pfp_root_actual_executiontraceterminal. pfh_trace_code_root_actual_execution = ff_q_pfp_root_actual_executiontraceterminal * S ((S (S n)) * pfh_trace_scale_root_actual_execution) + (r))) /\ ((forall pfh_index_root_actual_executiontracesteps. (exists pfa_gap_root_actual_executiontracestepsindex. pfa_gap_root_actual_executiontracestepsindex + S (pfh_index_root_actual_executiontracesteps) = (S n)) -> (exists pfh_coefficient_root_actual_executiontracestepsstep pfh_before_root_actual_executiontracestepsstep pfh_after_root_actual_executiontracestepsstep pfh_product_root_actual_executiontracestepsstep. ((((exists ff_h_pfp_root_actual_executiontracestepsstepcoefficient. ff_h_pfp_root_actual_executiontracestepsstepcoefficient + S (pfh_coefficient_root_actual_executiontracestepsstep) = S ((S (pfh_index_root_actual_executiontracesteps)) * c)) /\ exists ff_q_pfp_root_actual_executiontracestepsstepcoefficient. b = ff_q_pfp_root_actual_executiontracestepsstepcoefficient * S ((S (pfh_index_root_actual_executiontracesteps)) * c) + (pfh_coefficient_root_actual_executiontracestepsstep))) /\ (((((exists ff_h_pfp_root_actual_executiontracestepsstepbefore. ff_h_pfp_root_actual_executiontracestepsstepbefore + S (pfh_before_root_actual_executiontracestepsstep) = S ((S (pfh_index_root_actual_executiontracesteps)) * pfh_trace_scale_root_actual_execution)) /\ exists ff_q_pfp_root_actual_executiontracestepsstepbefore. pfh_trace_code_root_actual_execution = ff_q_pfp_root_actual_executiontracestepsstepbefore * S ((S (pfh_index_root_actual_executiontracesteps)) * pfh_trace_scale_root_actual_execution) + (pfh_before_root_actual_executiontracestepsstep))) /\ (((((exists ff_h_pfp_root_actual_executiontracestepsstepafter. ff_h_pfp_root_actual_executiontracestepsstepafter + S (pfh_after_root_actual_executiontracestepsstep) = S ((S (S (pfh_index_root_actual_executiontracesteps))) * pfh_trace_scale_root_actual_execution)) /\ exists ff_q_pfp_root_actual_executiontracestepsstepafter. pfh_trace_code_root_actual_execution = ff_q_pfp_root_actual_executiontracestepsstepafter * S ((S (S (pfh_index_root_actual_executiontracesteps))) * pfh_trace_scale_root_actual_execution) + (pfh_after_root_actual_executiontracestepsstep))) /\ (((((exists pfa_gap_root_actual_executiontracestepsstepmultiplyleft. pfa_gap_root_actual_executiontracestepsstepmultiplyleft + S (pfh_before_root_actual_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_root_actual_executiontracestepsstepmultiplyright. pfa_gap_root_actual_executiontracestepsstepmultiplyright + S (a) = (p)) /\ ((((exists pfa_gap_root_actual_executiontracestepsstepmultiplyresultbound. pfa_gap_root_actual_executiontracestepsstepmultiplyresultbound + S (pfh_product_root_actual_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_actual_executiontracestepsstepmultiplyresultcongruence pfa_offset_right_root_actual_executiontracestepsstepmultiplyresultcongruence. ((pfh_before_root_actual_executiontracestepsstep) * (a)) + (p) * pfa_offset_left_root_actual_executiontracestepsstepmultiplyresultcongruence = (pfh_product_root_actual_executiontracestepsstep) + (p) * pfa_offset_right_root_actual_executiontracestepsstepmultiplyresultcongruence))))))))) /\ ((((exists pfa_gap_root_actual_executiontracestepsstepaddleft. pfa_gap_root_actual_executiontracestepsstepaddleft + S (pfh_product_root_actual_executiontracestepsstep) = (p)) /\ (((exists pfa_gap_root_actual_executiontracestepsstepaddright. pfa_gap_root_actual_executiontracestepsstepaddright + S (pfh_coefficient_root_actual_executiontracestepsstep) = (p)) /\ ((((exists pfa_gap_root_actual_executiontracestepsstepaddresultbound. pfa_gap_root_actual_executiontracestepsstepaddresultbound + S (pfh_after_root_actual_executiontracestepsstep) = (p)) /\ ((exists pfa_offset_left_root_actual_executiontracestepsstepaddresultcongruence pfa_offset_right_root_actual_executiontracestepsstepaddresultcongruence. ((pfh_product_root_actual_executiontracestepsstep) + (pfh_coefficient_root_actual_executiontracestepsstep)) + (p) * pfa_offset_left_root_actual_executiontracestepsstepaddresultcongruence = (pfh_after_root_actual_executiontracestepsstep) + (p) * pfa_offset_right_root_actual_executiontracestepsstepaddresultcongruence)))))))))))))))))))))))))) - 0012
specialize prime_field_polynomial_synthetic_remainder_execution (p) - 0013
specialize prime_field_polynomial_synthetic_remainder_execution (b) - 0014
specialize prime_field_polynomial_synthetic_remainder_execution (c) - 0015
specialize prime_field_polynomial_synthetic_remainder_execution (a) - 0016
specialize prime_field_polynomial_synthetic_remainder_execution (n) - 0017
specialize prime_field_polynomial_synthetic_remainder_execution (qb) - 0018
specialize prime_field_polynomial_synthetic_remainder_execution (qc) - 0019
specialize prime_field_polynomial_synthetic_remainder_execution (r) - 0020
apply prime_field_polynomial_synthetic_remainder_execution - 0021
exact hs - 0022
split - 0023
intro hz - 0024
rewrite hz at he - 0025
rewrite hz at he - 0026
exact he - 0027
intro hz - 0028
specialize prime_field_polynomial_horner_functional (p) - 0029
specialize prime_field_polynomial_horner_functional (b) - 0030
specialize prime_field_polynomial_horner_functional (c) - 0031
specialize prime_field_polynomial_horner_functional (a) - 0032
specialize prime_field_polynomial_horner_functional (S n) - 0033
specialize prime_field_polynomial_horner_functional (r) - 0034
specialize prime_field_polynomial_horner_functional (0) - 0035
apply prime_field_polynomial_horner_functional - 0036
exact hp - 0037
exact he - 0038
exact hz