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 ap an bp bn. (ap = 0 \/ an = 0) -> (bp = 0 \/ bn = 0) -> exists n. (((((((((ap) * (ap))) + (((an) * (an))))) + (((((bp) * (bp))) + (((bn) * (bn))))))) + (((((ap) * (bn))) + (((an) * (bp)))))) = ((((((((((ap) * (an))) + (((an) * (ap))))) + (((((bp) * (bn))) + (((bn) * (bp))))))) + (((((ap) * (bp))) + (((an) * (bn))))))) + (n)))Constructive proof overview
Generated structural guide
Every normalized signed-coordinate pair has an actual natural norm, in all four sign quadrants.
The unchanged tactic script uses 3 declared prerequisites and contains 27 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
EI0003 eisenstein_natural_norm_exists mul_zero_left Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorizedDirect 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 (1)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Establish hnaturalL9–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein natural norm exists.
04Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hnatural
05Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
06Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
simp [ha_left, hb_left, mul_zero_left, zero_add]
07Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists an * an + bp * bp + an * bp
08Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
simp [ha_left, hb_right, mul_zero_left, zero_add]
09Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hb
10Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists ap * ap + bn * bn + ap * bn
11Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
simp [ha_right, hb_left, mul_zero_left, zero_add]
12Establish hnaturalL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein natural norm exists.
13Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hnatural
14Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x
15Calculate and transport equalitiesL27–27
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L27
simp [ha_right, hb_right, mul_zero_left, zero_add]
Original exact command ledger · 27 lines
- 0001
intro ap - 0002
intro an - 0003
intro bp - 0004
intro bn - 0005
intro ha - 0006
intro hb - 0007
cases ha - 0008
cases hb - 0009
have hnatural : exists n. (((an) * (an)) + ((bn) * (bn))) = (((an) * (bn)) + (n)) - 0010
specialize eisenstein_natural_norm_exists an - 0011
specialize eisenstein_natural_norm_exists bn - 0012
apply eisenstein_natural_norm_exists - 0013
cases hnatural - 0014
exists x - 0015
simp [ha_left, hb_left, mul_zero_left, zero_add] - 0016
exists an * an + bp * bp + an * bp - 0017
simp [ha_left, hb_right, mul_zero_left, zero_add] - 0018
cases hb - 0019
exists ap * ap + bn * bn + ap * bn - 0020
simp [ha_right, hb_left, mul_zero_left, zero_add] - 0021
have hnatural : exists n. (((ap) * (ap)) + ((bp) * (bp))) = (((ap) * (bp)) + (n)) - 0022
specialize eisenstein_natural_norm_exists ap - 0023
specialize eisenstein_natural_norm_exists bp - 0024
apply eisenstein_natural_norm_exists - 0025
cases hnatural - 0026
exists x - 0027
simp [ha_right, hb_right, mul_zero_left, zero_add]