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 a. (~((p) = 1) /\ forall pfa_factor_left_zero_extended_domain pfa_factor_right_zero_extended_domain. (p) = pfa_factor_left_zero_extended_domain * pfa_factor_right_zero_extended_domain -> pfa_factor_left_zero_extended_domain = 1 \/ pfa_factor_right_zero_extended_domain = 1) -> (exists pfa_gap_zero_extended_bound. pfa_gap_zero_extended_bound + S (a) = (p)) -> exists b. (((exists pfa_gap_zero_extended_resultinput. pfa_gap_zero_extended_resultinput + S (a) = (p)) /\ (((exists pfa_gap_zero_extended_resultoutput. pfa_gap_zero_extended_resultoutput + S (b) = (p)) /\ ((((a) = 0 /\ (b) = 0) \/ (((~((a) = 0)) /\ ((((exists pfa_gap_zero_extended_resultnonzeromultiplicationleft. pfa_gap_zero_extended_resultnonzeromultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_zero_extended_resultnonzeromultiplicationright. pfa_gap_zero_extended_resultnonzeromultiplicationright + S (b) = (p)) /\ ((((exists pfa_gap_zero_extended_resultnonzeromultiplicationresultbound. pfa_gap_zero_extended_resultnonzeromultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_zero_extended_resultnonzeromultiplicationresultcongruence pfa_offset_right_zero_extended_resultnonzeromultiplicationresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_zero_extended_resultnonzeromultiplicationresultcongruence = (1) + (p) * pfa_offset_right_zero_extended_resultnonzeromultiplicationresultcongruence))))))))))))))))))Constructive proof overview
Generated structural guide
Totalize only the inverse table by recording zero at zero; the nonzero branch constructs a genuine inverse.
The unchanged tactic script uses 3 declared prerequisites and contains 38 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
eq_decidable Stable theorem; checked-use authorized FP0002 prime_field_zero_below_prime FP001E prime_field_inverse_existsDirect 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 (2)
01Fix variables and assumptionsL1–4
02Establish hcasesL5–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hcases
04Construct an explicit witnessL10–10
Supply the displayed value, then prove that it has the required property.
- L10
exists 0
05Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
split
06Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
exact ha
07Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
split
08Use earlier factsL14–16
09Separate the logical casesL17–18
10Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact hcases_left
11Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
refl
12Establish hiL21–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field inverse exists.
13Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hi
14Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists x
15Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
16Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact ha
17Separate the logical casesL32–35
18Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hi_witness_right_right_left
19Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
right
20Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hi_witness
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro a - 0003
intro hp - 0004
intro ha - 0005
have hcases : a = 0 \/ ~(a = 0) - 0006
specialize eq_decidable (a) - 0007
specialize eq_decidable (0) - 0008
apply eq_decidable - 0009
cases hcases - 0010
exists 0 - 0011
split - 0012
exact ha - 0013
split - 0014
specialize prime_field_zero_below_prime (p) - 0015
apply prime_field_zero_below_prime - 0016
exact hp - 0017
left - 0018
split - 0019
exact hcases_left - 0020
refl - 0021
have hi : exists b. (((~((a) = 0)) /\ ((((exists pfa_gap_zero_extended_inversemultiplicationleft. pfa_gap_zero_extended_inversemultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_zero_extended_inversemultiplicationright. pfa_gap_zero_extended_inversemultiplicationright + S (b) = (p)) /\ ((((exists pfa_gap_zero_extended_inversemultiplicationresultbound. pfa_gap_zero_extended_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_zero_extended_inversemultiplicationresultcongruence pfa_offset_right_zero_extended_inversemultiplicationresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_zero_extended_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_zero_extended_inversemultiplicationresultcongruence)))))))))))) - 0022
specialize prime_field_inverse_exists (p) - 0023
specialize prime_field_inverse_exists (a) - 0024
apply prime_field_inverse_exists - 0025
exact hp - 0026
exact ha - 0027
exact hcases_right - 0028
cases hi - 0029
exists x - 0030
split - 0031
exact ha - 0032
split - 0033
cases hi_witness - 0034
cases hi_witness_right - 0035
cases hi_witness_right_right - 0036
exact hi_witness_right_right_left - 0037
right - 0038
exact hi_witness