PP001A

prime_field_polynomial_scale_one

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

The actual canonical scalar one acts identically on every finite coefficient prefix.

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 l. (~((p) = 1) /\ forall pfa_factor_left_scale_one_prime pfa_factor_right_scale_one_prime. (p) = pfa_factor_left_scale_one_prime * pfa_factor_right_scale_one_prime -> pfa_factor_left_scale_one_prime = 1 \/ pfa_factor_right_scale_one_prime = 1) -> (forall fom_index_pfp_scale_one_coefficients. (exists fom_gap_pfp_scale_one_coefficients_index_bound. fom_gap_pfp_scale_one_coefficients_index_bound + S (fom_index_pfp_scale_one_coefficients) = l) -> exists fom_value_pfp_scale_one_coefficients. ((((exists fom_beta_height_pfp_scale_one_coefficients_entry. fom_beta_height_pfp_scale_one_coefficients_entry + S (fom_value_pfp_scale_one_coefficients) = S ((S (fom_index_pfp_scale_one_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_scale_one_coefficients_entry. b = fom_beta_quotient_pfp_scale_one_coefficients_entry * S ((S (fom_index_pfp_scale_one_coefficients)) * c) + (fom_value_pfp_scale_one_coefficients))) /\ (exists fom_gap_pfp_scale_one_coefficients_value_bound. fom_gap_pfp_scale_one_coefficients_value_bound + S (fom_value_pfp_scale_one_coefficients) = p))) -> (((exists pfa_gap_scale_one_resultscalar. pfa_gap_scale_one_resultscalar + S (1) = (p)) /\ ((forall pfp_index_scale_one_result. (exists pfa_gap_scale_one_resultindex. pfa_gap_scale_one_resultindex + S (pfp_index_scale_one_result) = (l)) -> exists pfp_source_scale_one_result pfp_value_scale_one_result. ((((exists ff_h_pfp_scale_one_resultsource. ff_h_pfp_scale_one_resultsource + S (pfp_source_scale_one_result) = S ((S (pfp_index_scale_one_result)) * c)) /\ exists ff_q_pfp_scale_one_resultsource. b = ff_q_pfp_scale_one_resultsource * S ((S (pfp_index_scale_one_result)) * c) + (pfp_source_scale_one_result))) /\ (((((exists ff_h_pfp_scale_one_resulttarget. ff_h_pfp_scale_one_resulttarget + S (pfp_value_scale_one_result) = S ((S (pfp_index_scale_one_result)) * c)) /\ exists ff_q_pfp_scale_one_resulttarget. b = ff_q_pfp_scale_one_resulttarget * S ((S (pfp_index_scale_one_result)) * c) + (pfp_value_scale_one_result))) /\ ((((exists pfa_gap_scale_one_resultoperationleft. pfa_gap_scale_one_resultoperationleft + S (1) = (p)) /\ (((exists pfa_gap_scale_one_resultoperationright. pfa_gap_scale_one_resultoperationright + S (pfp_source_scale_one_result) = (p)) /\ ((((exists pfa_gap_scale_one_resultoperationresultbound. pfa_gap_scale_one_resultoperationresultbound + S (pfp_value_scale_one_result) = (p)) /\ ((exists pfa_offset_left_scale_one_resultoperationresultcongruence pfa_offset_right_scale_one_resultoperationresultcongruence. ((1) * (pfp_source_scale_one_result)) + (p) * pfa_offset_left_scale_one_resultoperationresultcongruence = (pfp_value_scale_one_result) + (p) * pfa_offset_right_scale_one_resultoperationresultcongruence)))))))))))))))))

Constructive proof overview

Generated structural guide

The actual canonical scalar one acts identically on every finite coefficient prefix.

The unchanged tactic script uses 2 declared prerequisites and contains 29 exact native proof lines.

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

Proof neighborhood

Direct dependencies

prime_two_le Alpha theorem; checked-use authorized prime_field_multiply_one_left Alpha theorem; checked-use authorized

Direct dependents

none

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

29 script commands · 11 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.

01Fix variables and assumptionsL1–6

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

  1. L1
    intro p
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro l
  5. L5
    intro hp
  6. L6
    intro hc
02Separate the logical casesL7–7

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

  1. L7
    split
03Use earlier factsL8–10

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

  1. L8
    specialize prime_two_le (p)
  2. L9
    apply prime_two_le
  3. L10
    exact hp
04Fix variables and assumptionsL11–12

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

  1. L11
    intro i
  2. L12
    intro hi
05Establish haL13–16

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

  1. L13
    have ha : exists a. ((((exists ff_h_pfp_scale_one_chosen. ff_h_pfp_scale_one_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_scale_one_chosen. b = ff_q_pfp_scale_one_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_scale_one_bound. pfa_gap_scale_one_bound + S (a) = (p))))
  2. L14
    specialize hc (i)
  3. L15
    apply hc
  4. L16
    exact hi
06Separate the logical casesL17–18

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

  1. L17
    cases ha
  2. L18
    cases ha_witness
07Construct an explicit witnessL19–20

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

  1. L19
    exists x
  2. L20
    exists x
08Separate the logical casesL21–21

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

  1. L21
    split
09Use earlier factsL22–22

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

  1. L22
    exact ha_witness_left
10Separate the logical casesL23–23

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

  1. L23
    split
11Use earlier factsL24–29

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

  1. L24
    exact ha_witness_left
  2. L25
    specialize prime_field_multiply_one_left (p)
  3. L26
    specialize prime_field_multiply_one_left (x)
  4. L27
    apply prime_field_multiply_one_left
  5. L28
    exact hp
  6. L29
    exact ha_witness_right

Library-wide reading audit

Original exact command ledger · 29 lines
  1. 0001intro p
  2. 0002intro b
  3. 0003intro c
  4. 0004intro l
  5. 0005intro hp
  6. 0006intro hc
  7. 0007split
  8. 0008specialize prime_two_le (p)
  9. 0009apply prime_two_le
  10. 0010exact hp
  11. 0011intro i
  12. 0012intro hi
  13. 0013have ha : exists a. ((((exists ff_h_pfp_scale_one_chosen. ff_h_pfp_scale_one_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_scale_one_chosen. b = ff_q_pfp_scale_one_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_scale_one_bound. pfa_gap_scale_one_bound + S (a) = (p))))
  14. 0014specialize hc (i)
  15. 0015apply hc
  16. 0016exact hi
  17. 0017cases ha
  18. 0018cases ha_witness
  19. 0019exists x
  20. 0020exists x
  21. 0021split
  22. 0022exact ha_witness_left
  23. 0023split
  24. 0024exact ha_witness_left
  25. 0025specialize prime_field_multiply_one_left (p)
  26. 0026specialize prime_field_multiply_one_left (x)
  27. 0027apply prime_field_multiply_one_left
  28. 0028exact hp
  29. 0029exact ha_witness_right