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 a b c d. (exists bcf_lt_gap_b5alaa_left. bcf_lt_gap_b5alaa_left + S (a) = b) -> (exists bcf_lt_gap_b5alaa_right. bcf_lt_gap_b5alaa_right + S (c) = d) -> (exists bcf_lt_gap_b5alaa_result. bcf_lt_gap_b5alaa_result + S (a + c) = b + d)Structural proof guide
Strict inequalities add componentwise.
Direct prerequisites: add_succ_left, add_shuffle_middle. The authored body proceeds by case analysis (2), equality transport (2).
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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–6
02Separate the logical casesL7–8
03Construct an explicit witnessL9–9
Supply the displayed value, then prove that it has the required property.
- L9
exists S (x + x1)
04Calculate and transport equalitiesL10–12
05Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
apply add_succ_left
06Calculate and transport equalitiesL14–15
07Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
apply PA4
08Calculate and transport equalitiesL17–19
09Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
apply add_shuffle_middle
10Calculate and transport equalitiesL21–23
11Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
apply PA4
12Calculate and transport equalitiesL25–29
13Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply PA4
14Calculate and transport equalitiesL31–32
15Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
apply add_succ_left
16Calculate and transport equalitiesL34–35
17Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
apply PA4
18Calculate and transport equalitiesL37–37
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L37
refl
Original exact command ledger · 37 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro hab - 0006
intro hcd - 0007
cases hab - 0008
cases hcd - 0009
exists S (x + x1) - 0010
rewrite <- hab_witness - 0011
rewrite <- hcd_witness - 0012
trans S ((x + x1) + S (a + c)) - 0013
apply add_succ_left - 0014
trans S (S ((x + x1) + (a + c))) - 0015
congr - 0016
apply PA4 - 0017
trans S (S ((x + a) + (x1 + c))) - 0018
congr - 0019
congr - 0020
apply add_shuffle_middle - 0021
trans S ((x + a) + S (x1 + c)) - 0022
congr - 0023
symm - 0024
apply PA4 - 0025
trans S ((x + a) + (x1 + S c)) - 0026
congr - 0027
congr - 0028
refl - 0029
symm - 0030
apply PA4 - 0031
trans S (x + a) + (x1 + S c) - 0032
symm - 0033
apply add_succ_left - 0034
congr - 0035
symm - 0036
apply PA4 - 0037
refl