FP0050

prime_field_unit_trace_result_bounded

Every trace endpoint is a canonical representative, including the empty-history endpoint.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

This checkpoint constructs prime-order fields (k=1), with genuine finite arithmetic tables, cardinality, and characteristic. Inversion is proved only for nonzero elements; the table's zero entry is a zero-to-zero convention. G091 for every prime power p^k, with an irreducible polynomial of degree k, remains open. No extension-field construction or G091 closure is claimed.

Exact theorem in conservative defined notation

∀ p. ∀ b. ∀ c. ∀ n. ∀ r. Prime(p) → FpUnitTrace(p,b,c,n,r) → Lt(r,p)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p b c n r. (~((p) = 1) /\ forall pfa_factor_left_trace_bounded_domain pfa_factor_right_trace_bounded_domain. (p) = pfa_factor_left_trace_bounded_domain * pfa_factor_right_trace_bounded_domain -> pfa_factor_left_trace_bounded_domain = 1 \/ pfa_factor_right_trace_bounded_domain = 1) -> (((((exists ff_h_pft_trace_bounded_sourcestart. ff_h_pft_trace_bounded_sourcestart + S (0) = S ((S (0)) * c)) /\ exists ff_q_pft_trace_bounded_sourcestart. b = ff_q_pft_trace_bounded_sourcestart * S ((S (0)) * c) + (0))) /\ (((((exists ff_h_pft_trace_bounded_sourceterminal. ff_h_pft_trace_bounded_sourceterminal + S (r) = S ((S (n)) * c)) /\ exists ff_q_pft_trace_bounded_sourceterminal. b = ff_q_pft_trace_bounded_sourceterminal * S ((S (n)) * c) + (r))) /\ ((forall pff_trace_index_trace_bounded_sourcesteps. (exists pfa_gap_trace_bounded_sourcestepsindex. pfa_gap_trace_bounded_sourcestepsindex + S (pff_trace_index_trace_bounded_sourcesteps) = (n)) -> exists pff_trace_before_trace_bounded_sourcesteps pff_trace_after_trace_bounded_sourcesteps. ((((exists ff_h_pft_trace_bounded_sourcestepsbefore. ff_h_pft_trace_bounded_sourcestepsbefore + S (pff_trace_before_trace_bounded_sourcesteps) = S ((S (pff_trace_index_trace_bounded_sourcesteps)) * c)) /\ exists ff_q_pft_trace_bounded_sourcestepsbefore. b = ff_q_pft_trace_bounded_sourcestepsbefore * S ((S (pff_trace_index_trace_bounded_sourcesteps)) * c) + (pff_trace_before_trace_bounded_sourcesteps))) /\ (((((exists ff_h_pft_trace_bounded_sourcestepsafter. ff_h_pft_trace_bounded_sourcestepsafter + S (pff_trace_after_trace_bounded_sourcesteps) = S ((S (S (pff_trace_index_trace_bounded_sourcesteps))) * c)) /\ exists ff_q_pft_trace_bounded_sourcestepsafter. b = ff_q_pft_trace_bounded_sourcestepsafter * S ((S (S (pff_trace_index_trace_bounded_sourcesteps))) * c) + (pff_trace_after_trace_bounded_sourcesteps))) /\ ((((exists pfa_gap_trace_bounded_sourcestepsadditionleft. pfa_gap_trace_bounded_sourcestepsadditionleft + S (pff_trace_before_trace_bounded_sourcesteps) = (p)) /\ (((exists pfa_gap_trace_bounded_sourcestepsadditionright. pfa_gap_trace_bounded_sourcestepsadditionright + S (1) = (p)) /\ ((((exists pfa_gap_trace_bounded_sourcestepsadditionresultbound. pfa_gap_trace_bounded_sourcestepsadditionresultbound + S (pff_trace_after_trace_bounded_sourcesteps) = (p)) /\ ((exists pfa_offset_left_trace_bounded_sourcestepsadditionresultcongruence pfa_offset_right_trace_bounded_sourcestepsadditionresultcongruence. ((pff_trace_before_trace_bounded_sourcesteps) + (1)) + (p) * pfa_offset_left_trace_bounded_sourcestepsadditionresultcongruence = (pff_trace_after_trace_bounded_sourcesteps) + (p) * pfa_offset_right_trace_bounded_sourcestepsadditionresultcongruence))))))))))))))))))) -> (exists pfa_gap_trace_bounded_result. pfa_gap_trace_bounded_result + S (r) = (p))

Complete tactic proof in conservative notation

All 18 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

18 script commands · 4 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–7

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 n
  5. L5
    intro r
  6. L6
    intro hp
  7. L7
    intro ht
02Establish hrL8–16

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field unit trace residue.

  1. L8
    have hr : CanonicalModularResidue(p,n,r)Definitions: CanonicalModularResidue(p,n,r)Original native command in the exact edition
  2. L9
    specialize prime_field_unit_trace_residue (p)
  3. L10
    specialize prime_field_unit_trace_residue (n)
  4. L11
    specialize prime_field_unit_trace_residue (b)
  5. L12
    specialize prime_field_unit_trace_residue (c)
  6. L13
    specialize prime_field_unit_trace_residue (r)
  7. L14
    apply prime_field_unit_trace_residue
  8. L15
    exact hp
  9. L16
    exact ht
03Separate the logical casesL17–17

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

  1. L17
    cases hr
04Use earlier factsL18–18

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

  1. L18
    exact hr_left

Library-wide reading audit

Original defined command ledger · 18 lines
  1. 0001intro p
  2. 0002intro b
  3. 0003intro c
  4. 0004intro n
  5. 0005intro r
  6. 0006intro hp
  7. 0007intro ht
  8. 0008have hr : CanonicalModularResidue(p,n,r)
  9. 0009specialize prime_field_unit_trace_residue (p)
  10. 0010specialize prime_field_unit_trace_residue (n)
  11. 0011specialize prime_field_unit_trace_residue (b)
  12. 0012specialize prime_field_unit_trace_residue (c)
  13. 0013specialize prime_field_unit_trace_residue (r)
  14. 0014apply prime_field_unit_trace_residue
  15. 0015exact hp
  16. 0016exact ht
  17. 0017cases hr
  18. 0018exact hr_left