PX002C

prime_field_polynomial_quotient_prefix_bounded

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The computed quotient prefix is canonical because every stored value is an actual bounded field-product output.

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 N. (forall pfd_index_division_bound_source. (exists pfa_gap_division_bound_sourcebound. pfa_gap_division_bound_sourcebound + S (pfd_index_division_bound_source) = (N)) -> exists pfd_value_division_bound_source. ((((exists ff_h_pfp_division_bound_sourceentry. ff_h_pfp_division_bound_sourceentry + S (pfd_value_division_bound_source) = S ((S (pfd_index_division_bound_source)) * qc)) /\ exists ff_q_pfp_division_bound_sourceentry. qb = ff_q_pfp_division_bound_sourceentry * S ((S (pfd_index_division_bound_source)) * qc) + (pfd_value_division_bound_source))) /\ ((exists pfd_input_division_bound_sourcestep pfd_previous_division_bound_sourcestep pfd_difference_division_bound_sourcestep. ((((exists ff_h_pfp_division_bound_sourcestepinput. ff_h_pfp_division_bound_sourcestepinput + S (pfd_input_division_bound_sourcestep) = S ((S (pfd_index_division_bound_source)) * ac)) /\ exists ff_q_pfp_division_bound_sourcestepinput. ab = ff_q_pfp_division_bound_sourcestepinput * S ((S (pfd_index_division_bound_source)) * ac) + (pfd_input_division_bound_sourcestep))) /\ (((exists pfc_terms_code_division_bound_sourcestepprevious pfc_terms_scale_division_bound_sourcestepprevious pfc_natural_sum_division_bound_sourcestepprevious. ((forall pfc_index_division_bound_sourcesteppreviousdiagonal. (exists pfa_gap_division_bound_sourcesteppreviousdiagonalbound. pfa_gap_division_bound_sourcesteppreviousdiagonalbound + S (pfc_index_division_bound_sourcesteppreviousdiagonal) = (S (pfd_index_division_bound_source))) -> exists pfc_value_division_bound_sourcesteppreviousdiagonal. ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonalentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonalentry + S (pfc_value_division_bound_sourcesteppreviousdiagonal) = S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * pfc_terms_scale_division_bound_sourcestepprevious)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonalentry. pfc_terms_code_division_bound_sourcestepprevious = ff_q_pfp_division_bound_sourcesteppreviousdiagonalentry * S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * pfc_terms_scale_division_bound_sourcestepprevious) + (pfc_value_division_bound_sourcesteppreviousdiagonal))) /\ ((exists pfc_complement_division_bound_sourcesteppreviousdiagonalterm pfc_left_division_bound_sourcesteppreviousdiagonalterm pfc_right_division_bound_sourcesteppreviousdiagonalterm. (((pfc_index_division_bound_sourcesteppreviousdiagonal)+pfc_complement_division_bound_sourcesteppreviousdiagonalterm=(pfd_index_division_bound_source)) /\ ((((((exists pfa_gap_division_bound_sourcesteppreviousdiagonaltermleftinside. pfa_gap_division_bound_sourcesteppreviousdiagonaltermleftinside + S (pfc_index_division_bound_sourcesteppreviousdiagonal) = (pfd_index_division_bound_source)) /\ ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry + S (pfc_left_division_bound_sourcesteppreviousdiagonalterm) = S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * qc) + (pfc_left_division_bound_sourcesteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_sourcesteppreviousdiagonaltermleftoutside. pfc_gap_division_bound_sourcesteppreviousdiagonaltermleftoutside+(pfd_index_division_bound_source)=(pfc_index_division_bound_sourcesteppreviousdiagonal)) /\ (((pfc_left_division_bound_sourcesteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_bound_sourcesteppreviousdiagonaltermrightinside. pfa_gap_division_bound_sourcesteppreviousdiagonaltermrightinside + S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry + S (pfc_right_division_bound_sourcesteppreviousdiagonalterm) = S ((S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) * bc) + (pfc_right_division_bound_sourcesteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_sourcesteppreviousdiagonaltermrightoutside. pfc_gap_division_bound_sourcesteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) /\ (((pfc_right_division_bound_sourcesteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_bound_sourcesteppreviousdiagonal)=pfc_left_division_bound_sourcesteppreviousdiagonalterm*pfc_right_division_bound_sourcesteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_bound_sourcestepprevioussum fs_v_pfc_division_bound_sourcestepprevioussum. ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_start. fs_h_pfc_division_bound_sourcestepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_start. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_terminal. fs_h_pfc_division_bound_sourcestepprevioussum_body_terminal + S (pfc_natural_sum_division_bound_sourcestepprevious) = S ((S (S (pfd_index_division_bound_source))) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_terminal. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_terminal * S ((S (S (pfd_index_division_bound_source))) * fs_v_pfc_division_bound_sourcestepprevioussum) + (pfc_natural_sum_division_bound_sourcestepprevious))) /\ forall fs_i_pfc_division_bound_sourcestepprevioussum_body_steps. (exists fs_lt_pfc_division_bound_sourcestepprevioussum_body_steps_bound. fs_lt_pfc_division_bound_sourcestepprevioussum_body_steps_bound + S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps = S (pfd_index_division_bound_source)) -> exists fs_a_pfc_division_bound_sourcestepprevioussum_body_steps fs_r_pfc_division_bound_sourcestepprevioussum_body_steps fs_s_pfc_division_bound_sourcestepprevioussum_body_steps. ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_summand. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_summand + S (fs_a_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * pfc_terms_scale_division_bound_sourcestepprevious)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_summand. pfc_terms_code_division_bound_sourcestepprevious = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * pfc_terms_scale_division_bound_sourcestepprevious) + (fs_a_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_partial. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_partial + S (fs_r_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_partial. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (fs_r_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_successor. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_successor + S (fs_s_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_successor. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (fs_s_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ fs_s_pfc_division_bound_sourcestepprevioussum_body_steps = fs_r_pfc_division_bound_sourcestepprevioussum_body_steps + fs_a_pfc_division_bound_sourcestepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_bound_sourcesteppreviousresiduebound. pfa_gap_division_bound_sourcesteppreviousresiduebound + S (pfd_previous_division_bound_sourcestep) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcesteppreviousresiduecongruence pfa_offset_right_division_bound_sourcesteppreviousresiduecongruence. (pfc_natural_sum_division_bound_sourcestepprevious) + (p) * pfa_offset_left_division_bound_sourcesteppreviousresiduecongruence = (pfd_previous_division_bound_sourcestep) + (p) * pfa_offset_right_division_bound_sourcesteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_bound_sourcestepsubtractleft. pfa_gap_division_bound_sourcestepsubtractleft + S (pfd_previous_division_bound_sourcestep) = (p)) /\ (((exists pfa_gap_division_bound_sourcestepsubtractright. pfa_gap_division_bound_sourcestepsubtractright + S (pfd_difference_division_bound_sourcestep) = (p)) /\ ((((exists pfa_gap_division_bound_sourcestepsubtractresultbound. pfa_gap_division_bound_sourcestepsubtractresultbound + S (pfd_input_division_bound_sourcestep) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcestepsubtractresultcongruence pfa_offset_right_division_bound_sourcestepsubtractresultcongruence. ((pfd_previous_division_bound_sourcestep) + (pfd_difference_division_bound_sourcestep)) + (p) * pfa_offset_left_division_bound_sourcestepsubtractresultcongruence = (pfd_input_division_bound_sourcestep) + (p) * pfa_offset_right_division_bound_sourcestepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_bound_sourcestepmultiplyleft. pfa_gap_division_bound_sourcestepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_bound_sourcestepmultiplyright. pfa_gap_division_bound_sourcestepmultiplyright + S (pfd_difference_division_bound_sourcestep) = (p)) /\ ((((exists pfa_gap_division_bound_sourcestepmultiplyresultbound. pfa_gap_division_bound_sourcestepmultiplyresultbound + S (pfd_value_division_bound_source) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcestepmultiplyresultcongruence pfa_offset_right_division_bound_sourcestepmultiplyresultcongruence. ((k) * (pfd_difference_division_bound_sourcestep)) + (p) * pfa_offset_left_division_bound_sourcestepmultiplyresultcongruence = (pfd_value_division_bound_source) + (p) * pfa_offset_right_division_bound_sourcestepmultiplyresultcongruence))))))))))))))))))) -> (forall fom_index_pfp_division_bound_result. (exists fom_gap_pfp_division_bound_result_index_bound. fom_gap_pfp_division_bound_result_index_bound + S (fom_index_pfp_division_bound_result) = N) -> exists fom_value_pfp_division_bound_result. ((((exists fom_beta_height_pfp_division_bound_result_entry. fom_beta_height_pfp_division_bound_result_entry + S (fom_value_pfp_division_bound_result) = S ((S (fom_index_pfp_division_bound_result)) * qc)) /\ exists fom_beta_quotient_pfp_division_bound_result_entry. qb = fom_beta_quotient_pfp_division_bound_result_entry * S ((S (fom_index_pfp_division_bound_result)) * qc) + (fom_value_pfp_division_bound_result))) /\ (exists fom_gap_pfp_division_bound_result_value_bound. fom_gap_pfp_division_bound_result_value_bound + S (fom_value_pfp_division_bound_result) = p)))

Constructive proof overview

Generated structural guide

The computed quotient prefix is canonical because every stored value is an actual bounded field-product output.

The unchanged tactic script uses 0 declared prerequisites and contains 32 exact native proof lines.

Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

none

Direct 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

32 script commands · 9 reading checkpoints · 1 local claims

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.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–10

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro k
  3. L3
    intro ab
  4. L4
    intro ac
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro M
  8. L8
    intro qb
  9. L9
    intro qc
  10. L10
    intro N
02Fix variables and assumptionsL11–13

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro h
  2. L12
    intro i
  3. L13
    intro hi
03Establish hvL14–17

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.

  1. L14
    have hv : ∃ q. BetaAt(qb,qc,i,q) ∧ FpPolynomialQuotientStep(p,k,ab,ac,bb,bc,M,qb,qc,i,q)Definitions: FpPolynomialQuotientStepBetaAt
  2. L15
    specialize h (i)
  3. L16
    apply h
  4. L17
    exact hi
04Separate the logical casesL18–19

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L18
    cases hv
  2. L19
    cases hv_witness
05Construct an explicit witnessL20–20

Supply the displayed value, then prove that it has the required property.

  1. L20
    exists x
06Separate the logical casesL21–21

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L21
    split
07Use earlier factsL22–22

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L22
    exact hv_witness_left
08Separate the logical casesL23–31

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L23
    cases hv_witness_right
  2. L24
    cases hv_witness_right_witness
  3. L25
    cases hv_witness_right_witness_witness
  4. L26
    cases hv_witness_right_witness_witness_witness
  5. L27
    cases hv_witness_right_witness_witness_witness_right
  6. L28
    cases hv_witness_right_witness_witness_witness_right_right
  7. L29
    cases hv_witness_right_witness_witness_witness_right_right_right
  8. L30
    cases hv_witness_right_witness_witness_witness_right_right_right_right
  9. L31
    cases hv_witness_right_witness_witness_witness_right_right_right_right_right
09Use earlier factsL32–32

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L32
    exact hv_witness_right_witness_witness_witness_right_right_right_right_right_left

Library-wide reading audit

Original exact command ledger · 32 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro ab
  4. 0004intro ac
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro M
  8. 0008intro qb
  9. 0009intro qc
  10. 0010intro N
  11. 0011intro h
  12. 0012intro i
  13. 0013intro hi
  14. 0014have hv : exists q. ((((exists ff_h_pfp_division_bound_entry. ff_h_pfp_division_bound_entry + S (q) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_bound_entry. qb = ff_q_pfp_division_bound_entry * S ((S (i)) * qc) + (q))) /\ ((exists pfd_input_division_bound_step pfd_previous_division_bound_step pfd_difference_division_bound_step. ((((exists ff_h_pfp_division_bound_stepinput. ff_h_pfp_division_bound_stepinput + S (pfd_input_division_bound_step) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_bound_stepinput. ab = ff_q_pfp_division_bound_stepinput * S ((S (i)) * ac) + (pfd_input_division_bound_step))) /\ (((exists pfc_terms_code_division_bound_stepprevious pfc_terms_scale_division_bound_stepprevious pfc_natural_sum_division_bound_stepprevious. ((forall pfc_index_division_bound_steppreviousdiagonal. (exists pfa_gap_division_bound_steppreviousdiagonalbound. pfa_gap_division_bound_steppreviousdiagonalbound + S (pfc_index_division_bound_steppreviousdiagonal) = (S (i))) -> exists pfc_value_division_bound_steppreviousdiagonal. ((((exists ff_h_pfp_division_bound_steppreviousdiagonalentry. ff_h_pfp_division_bound_steppreviousdiagonalentry + S (pfc_value_division_bound_steppreviousdiagonal) = S ((S (pfc_index_division_bound_steppreviousdiagonal)) * pfc_terms_scale_division_bound_stepprevious)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonalentry. pfc_terms_code_division_bound_stepprevious = ff_q_pfp_division_bound_steppreviousdiagonalentry * S ((S (pfc_index_division_bound_steppreviousdiagonal)) * pfc_terms_scale_division_bound_stepprevious) + (pfc_value_division_bound_steppreviousdiagonal))) /\ ((exists pfc_complement_division_bound_steppreviousdiagonalterm pfc_left_division_bound_steppreviousdiagonalterm pfc_right_division_bound_steppreviousdiagonalterm. (((pfc_index_division_bound_steppreviousdiagonal)+pfc_complement_division_bound_steppreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_bound_steppreviousdiagonaltermleftinside. pfa_gap_division_bound_steppreviousdiagonaltermleftinside + S (pfc_index_division_bound_steppreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_bound_steppreviousdiagonaltermleftentry. ff_h_pfp_division_bound_steppreviousdiagonaltermleftentry + S (pfc_left_division_bound_steppreviousdiagonalterm) = S ((S (pfc_index_division_bound_steppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_bound_steppreviousdiagonaltermleftentry * S ((S (pfc_index_division_bound_steppreviousdiagonal)) * qc) + (pfc_left_division_bound_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_steppreviousdiagonaltermleftoutside. pfc_gap_division_bound_steppreviousdiagonaltermleftoutside+(i)=(pfc_index_division_bound_steppreviousdiagonal)) /\ (((pfc_left_division_bound_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_bound_steppreviousdiagonaltermrightinside. pfa_gap_division_bound_steppreviousdiagonaltermrightinside + S (pfc_complement_division_bound_steppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_bound_steppreviousdiagonaltermrightentry. ff_h_pfp_division_bound_steppreviousdiagonaltermrightentry + S (pfc_right_division_bound_steppreviousdiagonalterm) = S ((S (pfc_complement_division_bound_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_bound_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_bound_steppreviousdiagonalterm)) * bc) + (pfc_right_division_bound_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_steppreviousdiagonaltermrightoutside. pfc_gap_division_bound_steppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_bound_steppreviousdiagonalterm)) /\ (((pfc_right_division_bound_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_bound_steppreviousdiagonal)=pfc_left_division_bound_steppreviousdiagonalterm*pfc_right_division_bound_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_bound_stepprevioussum fs_v_pfc_division_bound_stepprevioussum. ((((exists fs_h_pfc_division_bound_stepprevioussum_body_start. fs_h_pfc_division_bound_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_start. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_bound_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_terminal. fs_h_pfc_division_bound_stepprevioussum_body_terminal + S (pfc_natural_sum_division_bound_stepprevious) = S ((S (S (i))) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_terminal. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_bound_stepprevioussum) + (pfc_natural_sum_division_bound_stepprevious))) /\ forall fs_i_pfc_division_bound_stepprevioussum_body_steps. (exists fs_lt_pfc_division_bound_stepprevioussum_body_steps_bound. fs_lt_pfc_division_bound_stepprevioussum_body_steps_bound + S fs_i_pfc_division_bound_stepprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_bound_stepprevioussum_body_steps fs_r_pfc_division_bound_stepprevioussum_body_steps fs_s_pfc_division_bound_stepprevioussum_body_steps. ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_summand. fs_h_pfc_division_bound_stepprevioussum_body_steps_summand + S (fs_a_pfc_division_bound_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * pfc_terms_scale_division_bound_stepprevious)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_summand. pfc_terms_code_division_bound_stepprevious = fs_q_pfc_division_bound_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * pfc_terms_scale_division_bound_stepprevious) + (fs_a_pfc_division_bound_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_partial. fs_h_pfc_division_bound_stepprevioussum_body_steps_partial + S (fs_r_pfc_division_bound_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_partial. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum) + (fs_r_pfc_division_bound_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_successor. fs_h_pfc_division_bound_stepprevioussum_body_steps_successor + S (fs_s_pfc_division_bound_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_successor. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum) + (fs_s_pfc_division_bound_stepprevioussum_body_steps))) /\ fs_s_pfc_division_bound_stepprevioussum_body_steps = fs_r_pfc_division_bound_stepprevioussum_body_steps + fs_a_pfc_division_bound_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_bound_steppreviousresiduebound. pfa_gap_division_bound_steppreviousresiduebound + S (pfd_previous_division_bound_step) = (p)) /\ ((exists pfa_offset_left_division_bound_steppreviousresiduecongruence pfa_offset_right_division_bound_steppreviousresiduecongruence. (pfc_natural_sum_division_bound_stepprevious) + (p) * pfa_offset_left_division_bound_steppreviousresiduecongruence = (pfd_previous_division_bound_step) + (p) * pfa_offset_right_division_bound_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_bound_stepsubtractleft. pfa_gap_division_bound_stepsubtractleft + S (pfd_previous_division_bound_step) = (p)) /\ (((exists pfa_gap_division_bound_stepsubtractright. pfa_gap_division_bound_stepsubtractright + S (pfd_difference_division_bound_step) = (p)) /\ ((((exists pfa_gap_division_bound_stepsubtractresultbound. pfa_gap_division_bound_stepsubtractresultbound + S (pfd_input_division_bound_step) = (p)) /\ ((exists pfa_offset_left_division_bound_stepsubtractresultcongruence pfa_offset_right_division_bound_stepsubtractresultcongruence. ((pfd_previous_division_bound_step) + (pfd_difference_division_bound_step)) + (p) * pfa_offset_left_division_bound_stepsubtractresultcongruence = (pfd_input_division_bound_step) + (p) * pfa_offset_right_division_bound_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_bound_stepmultiplyleft. pfa_gap_division_bound_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_bound_stepmultiplyright. pfa_gap_division_bound_stepmultiplyright + S (pfd_difference_division_bound_step) = (p)) /\ ((((exists pfa_gap_division_bound_stepmultiplyresultbound. pfa_gap_division_bound_stepmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_bound_stepmultiplyresultcongruence pfa_offset_right_division_bound_stepmultiplyresultcongruence. ((k) * (pfd_difference_division_bound_step)) + (p) * pfa_offset_left_division_bound_stepmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_bound_stepmultiplyresultcongruence))))))))))))))))))
  15. 0015specialize h (i)
  16. 0016apply h
  17. 0017exact hi
  18. 0018cases hv
  19. 0019cases hv_witness
  20. 0020exists x
  21. 0021split
  22. 0022exact hv_witness_left
  23. 0023cases hv_witness_right
  24. 0024cases hv_witness_right_witness
  25. 0025cases hv_witness_right_witness_witness
  26. 0026cases hv_witness_right_witness_witness_witness
  27. 0027cases hv_witness_right_witness_witness_witness_right
  28. 0028cases hv_witness_right_witness_witness_witness_right_right
  29. 0029cases hv_witness_right_witness_witness_witness_right_right_right
  30. 0030cases hv_witness_right_witness_witness_witness_right_right_right_right
  31. 0031cases hv_witness_right_witness_witness_witness_right_right_right_right_right
  32. 0032exact hv_witness_right_witness_witness_witness_right_right_right_right_right_left