PQ0036

prime_field_polynomial_monic_normalization_scalar_nonzero

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

Over a prime field the actual normalization scalar is nonzero; zero is never an inverse convention.

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 L. (~((p) = 1) /\ forall pfa_factor_left_normalization_scalar_prime pfa_factor_right_normalization_scalar_prime. (p) = pfa_factor_left_normalization_scalar_prime * pfa_factor_right_normalization_scalar_prime -> pfa_factor_left_normalization_scalar_prime = 1 \/ pfa_factor_right_normalization_scalar_prime = 1) -> (((~((L) = 0)) /\ (((exists pfm_leading_normalization_scalar_source. ((((exists ff_h_pfp_normalization_scalar_sourcesource. ff_h_pfp_normalization_scalar_sourcesource + S (pfm_leading_normalization_scalar_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_scalar_sourcesource. ab = ff_q_pfp_normalization_scalar_sourcesource * S ((S (0)) * ac) + (pfm_leading_normalization_scalar_source))) /\ ((((~((pfm_leading_normalization_scalar_source) = 0)) /\ ((((exists pfa_gap_normalization_scalar_sourceinversemultiplicationleft. pfa_gap_normalization_scalar_sourceinversemultiplicationleft + S (pfm_leading_normalization_scalar_source) = (p)) /\ (((exists pfa_gap_normalization_scalar_sourceinversemultiplicationright. pfa_gap_normalization_scalar_sourceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_scalar_sourceinversemultiplicationresultbound. pfa_gap_normalization_scalar_sourceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_scalar_sourceinversemultiplicationresultcongruence pfa_offset_right_normalization_scalar_sourceinversemultiplicationresultcongruence. ((pfm_leading_normalization_scalar_source) * (k)) + (p) * pfa_offset_left_normalization_scalar_sourceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_scalar_sourceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_scalar_sourcescalescalar. pfa_gap_normalization_scalar_sourcescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_scalar_sourcescale. (exists pfa_gap_normalization_scalar_sourcescaleindex. pfa_gap_normalization_scalar_sourcescaleindex + S (pfp_index_normalization_scalar_sourcescale) = (L)) -> exists pfp_source_normalization_scalar_sourcescale pfp_value_normalization_scalar_sourcescale. ((((exists ff_h_pfp_normalization_scalar_sourcescalesource. ff_h_pfp_normalization_scalar_sourcescalesource + S (pfp_source_normalization_scalar_sourcescale) = S ((S (pfp_index_normalization_scalar_sourcescale)) * ac)) /\ exists ff_q_pfp_normalization_scalar_sourcescalesource. ab = ff_q_pfp_normalization_scalar_sourcescalesource * S ((S (pfp_index_normalization_scalar_sourcescale)) * ac) + (pfp_source_normalization_scalar_sourcescale))) /\ (((((exists ff_h_pfp_normalization_scalar_sourcescaletarget. ff_h_pfp_normalization_scalar_sourcescaletarget + S (pfp_value_normalization_scalar_sourcescale) = S ((S (pfp_index_normalization_scalar_sourcescale)) * bc)) /\ exists ff_q_pfp_normalization_scalar_sourcescaletarget. bb = ff_q_pfp_normalization_scalar_sourcescaletarget * S ((S (pfp_index_normalization_scalar_sourcescale)) * bc) + (pfp_value_normalization_scalar_sourcescale))) /\ ((((exists pfa_gap_normalization_scalar_sourcescaleoperationleft. pfa_gap_normalization_scalar_sourcescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_scalar_sourcescaleoperationright. pfa_gap_normalization_scalar_sourcescaleoperationright + S (pfp_source_normalization_scalar_sourcescale) = (p)) /\ ((((exists pfa_gap_normalization_scalar_sourcescaleoperationresultbound. pfa_gap_normalization_scalar_sourcescaleoperationresultbound + S (pfp_value_normalization_scalar_sourcescale) = (p)) /\ ((exists pfa_offset_left_normalization_scalar_sourcescaleoperationresultcongruence pfa_offset_right_normalization_scalar_sourcescaleoperationresultcongruence. ((k) * (pfp_source_normalization_scalar_sourcescale)) + (p) * pfa_offset_left_normalization_scalar_sourcescaleoperationresultcongruence = (pfp_value_normalization_scalar_sourcescale) + (p) * pfa_offset_right_normalization_scalar_sourcescaleoperationresultcongruence)))))))))))))))))))))) -> ~(k=0)

Constructive proof overview

Generated structural guide

Over a prime field the actual normalization scalar is nonzero; zero is never an inverse convention.

The unchanged tactic script uses 1 declared prerequisite and contains 21 exact native proof lines.

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

Proof neighborhood

Direct dependencies

prime_field_inverse_output_nonzero 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

21 script commands · 4 reading checkpoints · 0 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–9

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 L
  8. L8
    intro hp
  9. L9
    intro h
02Separate the logical casesL10–13

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

  1. L10
    cases h
  2. L11
    cases h_right
  3. L12
    cases h_right_left
  4. L13
    cases h_right_left_witness
03Fix variables and assumptionsL14–14

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

  1. L14
    intro hz
04Use earlier factsL15–21

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

  1. L15
    specialize prime_field_inverse_output_nonzero (p)
  2. L16
    specialize prime_field_inverse_output_nonzero (x)
  3. L17
    specialize prime_field_inverse_output_nonzero (k)
  4. L18
    apply prime_field_inverse_output_nonzero
  5. L19
    exact hp
  6. L20
    exact h_right_left_witness_right
  7. L21
    exact hz

Library-wide reading audit

Original exact command ledger · 21 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro ab
  4. 0004intro ac
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro L
  8. 0008intro hp
  9. 0009intro h
  10. 0010cases h
  11. 0011cases h_right
  12. 0012cases h_right_left
  13. 0013cases h_right_left_witness
  14. 0014intro hz
  15. 0015specialize prime_field_inverse_output_nonzero (p)
  16. 0016specialize prime_field_inverse_output_nonzero (x)
  17. 0017specialize prime_field_inverse_output_nonzero (k)
  18. 0018apply prime_field_inverse_output_nonzero
  19. 0019exact hp
  20. 0020exact h_right_left_witness_right
  21. 0021exact hz