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 original first-admission records.
Exact expanded PA statement
forall p h r. p = 2 * h + 1 -> (exists gsh_lt_gap_reflection_remainder. gsh_lt_gap_reflection_remainder + S r = p) -> (exists gsh_lt_gap_reflection_upper. gsh_lt_gap_reflection_upper + S h = r) -> (exists m. (exists gsh_lt_gap_reflection_positive. gsh_lt_gap_reflection_positive + S 0 = m) /\ ((exists gsh_le_gap_reflection_bounded. gsh_le_gap_reflection_bounded + m = h) /\ r + m = p))Structural proof guide
Generated structural guide
A residue strictly above h and below 2*h+1 has a positive reflected magnitude at most h.
Use the direct prerequisites add_assoc, add_comm, mul_succ_left, mul_zero_left, zero_add, add_right_cancel as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (3), equality transport (1), certified simplification (2).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0009 add_assoc PA000F add_comm PA000G mul_succ_left PA000D mul_zero_left PA0001 zero_add PA0012 add_right_cancelDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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 (3)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Establish hrmL9–18
04Establish hsumL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add assoc.
05Calculate and transport equalitiesL29–30
06Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hhr_witness
07Calculate and transport equalitiesL32–33
08Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hrm
09Calculate and transport equalitiesL35–36
10Establish hmleL37–37
Establish this local claim before using it. It is not an additional assumption.
- L37
have hmle : exists d. d + S x1 = h
11Construct an explicit witnessL38–38
Supply the displayed value, then prove that it has the required property.
- L38
exists x
12Use earlier factsL39–43
13Construct an explicit witnessL44–44
Supply the displayed value, then prove that it has the required property.
- L44
exists (S x1)
14Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
split
15Construct an explicit witnessL46–46
Supply the displayed value, then prove that it has the required property.
- L46
exists x1
16Calculate and transport equalitiesL47–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
simp
17Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
Original exact command ledger · 50 lines
- 0001
intro p - 0002
intro h - 0003
intro r - 0004
intro hp - 0005
intro hrp - 0006
intro hhr - 0007
cases hhr - 0008
cases hrp - 0009
have hrm : r + S x1 = p - 0010
trans S (r + x1) - 0011
apply PA4 - 0012
trans S (x1 + r) - 0013
congr - 0014
apply add_comm - 0015
trans x1 + S r - 0016
symm - 0017
apply PA4 - 0018
exact hrp_witness - 0019
have hsum : (x + S x1) + S h = h + S h - 0020
trans (x + S h) + S x1 - 0021
trans x + (S x1 + S h) - 0022
apply add_assoc - 0023
trans x + (S h + S x1) - 0024
congr - 0025
refl - 0026
apply add_comm - 0027
symm - 0028
apply add_assoc - 0029
trans r + S x1 - 0030
congr - 0031
exact hhr_witness - 0032
refl - 0033
trans p - 0034
exact hrm - 0035
rewrite hp - 0036
simp [mul_succ_left, mul_zero_left, zero_add, add_assoc] - 0037
have hmle : exists d. d + S x1 = h - 0038
exists x - 0039
specialize add_right_cancel (x + S x1) - 0040
specialize add_right_cancel h - 0041
specialize add_right_cancel (S h) - 0042
apply add_right_cancel - 0043
exact hsum - 0044
exists (S x1) - 0045
split - 0046
exists x1 - 0047
simp - 0048
split - 0049
exact hmle - 0050
exact hrm