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 first-order arithmetic statement
forall a b. ((((exists fsd_even_first_absolute. a = 2 * fsd_even_first_absolute) /\ (exists fsd_even_second_absolute. b = 2 * fsd_even_second_absolute)) \/ ((exists fsd_odd_first_absolute. a = 2 * fsd_odd_first_absolute + 1) /\ (exists fsd_odd_second_absolute. b = 2 * fsd_odd_second_absolute + 1)))) -> exists v. ((a = b + 2 * v) \/ (b = a + 2 * v))Constructive proof overview
Generated structural guide
Matching even or odd coordinate witnesses construct an explicitly even absolute difference without subtraction.
The unchanged tactic script uses 3 declared prerequisites and contains 48 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
FS000H four_square_absolute_difference_total mul_add Stable theorem; checked-use authorized FS002N four_square_euler_add_swap_lastDirect 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–3
02Separate the logical casesL4–7
03Establish hgapL8–9
04Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hgap
05Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists x2
06Separate the logical casesL12–13
07Calculate and transport equalitiesL14–16
08Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply mul_add
09Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
right
10Calculate and transport equalitiesL19–21
11Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
apply mul_add
12Separate the logical casesL23–25
13Establish hgapL26–27
14Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hgap
15Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists x2
16Separate the logical casesL30–31
17Calculate and transport equalitiesL32–36
18Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply mul_add
19Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
refl
20Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply four_square_euler_add_swap_last
21Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
right
22Calculate and transport equalitiesL41–45
23Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
apply mul_add
24Calculate and transport equalitiesL47–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
refl
25Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
apply four_square_euler_add_swap_last
Original exact command ledger · 48 lines
- 0001
intro a - 0002
intro b - 0003
intro hmatching - 0004
cases hmatching - 0005
cases hmatching_left - 0006
cases hmatching_left_left - 0007
cases hmatching_left_right - 0008
have hgap : exists v. x = x1 + v \/ x1 = x + v - 0009
apply four_square_absolute_difference_total - 0010
cases hgap - 0011
exists x2 - 0012
cases hgap_witness - 0013
left - 0014
rewrite hmatching_left_left_witness - 0015
rewrite hmatching_left_right_witness - 0016
rewrite hgap_witness_left - 0017
apply mul_add - 0018
right - 0019
rewrite hmatching_left_right_witness - 0020
rewrite hmatching_left_left_witness - 0021
rewrite hgap_witness_right - 0022
apply mul_add - 0023
cases hmatching_right - 0024
cases hmatching_right_left - 0025
cases hmatching_right_right - 0026
have hgap : exists v. x = x1 + v \/ x1 = x + v - 0027
apply four_square_absolute_difference_total - 0028
cases hgap - 0029
exists x2 - 0030
cases hgap_witness - 0031
left - 0032
rewrite hmatching_right_left_witness - 0033
rewrite hmatching_right_right_witness - 0034
rewrite hgap_witness_left - 0035
trans (2 * x1 + 2 * x2) + 1 - 0036
congr - 0037
apply mul_add - 0038
refl - 0039
apply four_square_euler_add_swap_last - 0040
right - 0041
rewrite hmatching_right_right_witness - 0042
rewrite hmatching_right_left_witness - 0043
rewrite hgap_witness_right - 0044
trans (2 * x + 2 * x2) + 1 - 0045
congr - 0046
apply mul_add - 0047
refl - 0048
apply four_square_euler_add_swap_last