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 u. (((u) = 2 \/ (u) = 1)) -> (exists sto_ap_self_product sto_an_self_product sto_bp_self_product sto_bn_self_product sto_cp_self_product sto_cn_self_product. (((((u) = 2 * (sto_ap_self_product) /\ (sto_an_self_product) = 0) \/ exists ge_signed_half_self_productleft. (((u) = 2 * ge_signed_half_self_productleft + 1 /\ (sto_ap_self_product) = 0) /\ (sto_an_self_product) = S ge_signed_half_self_productleft))) /\ ((((((u) = 2 * (sto_bp_self_product) /\ (sto_bn_self_product) = 0) \/ exists ge_signed_half_self_productright. (((u) = 2 * ge_signed_half_self_productright + 1 /\ (sto_bp_self_product) = 0) /\ (sto_bn_self_product) = S ge_signed_half_self_productright))) /\ ((((((2) = 2 * (sto_cp_self_product) /\ (sto_cn_self_product) = 0) \/ exists ge_signed_half_self_productoutput. (((2) = 2 * ge_signed_half_self_productoutput + 1 /\ (sto_cp_self_product) = 0) /\ (sto_cn_self_product) = S ge_signed_half_self_productoutput))) /\ ((sto_ap_self_product * sto_bp_self_product + sto_an_self_product * sto_bn_self_product) + sto_cn_self_product = (sto_ap_self_product * sto_bn_self_product + sto_an_self_product * sto_bp_self_product) + sto_cp_self_product)))))))Constructive proof overview
Generated structural guide
Each of the two canonical signed units has an actual signed square equal to positive one.
The unchanged tactic script uses 4 declared prerequisites and contains 47 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_mul_one_right Alpha theorem; checked-use authorized signed_mul_of_decoded_equation Alpha theorem; checked-use authorized mul_one 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.
01Fix variables and assumptionsL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
cases hu
03Calculate and transport equalitiesL4–7
04Use earlier factsL8–9
05Calculate and transport equalitiesL10–13
06Use earlier factsL14–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
specialize signed_mul_of_decoded_equation (1) - L15
specialize signed_mul_of_decoded_equation (1) - L16
specialize signed_mul_of_decoded_equation (2) - L17
specialize signed_mul_of_decoded_equation (0) - L18
specialize signed_mul_of_decoded_equation (1) - L19
specialize signed_mul_of_decoded_equation (0) - L20
specialize signed_mul_of_decoded_equation (1) - L21
specialize signed_mul_of_decoded_equation (1) - L22
specialize signed_mul_of_decoded_equation (0) - L23
apply signed_mul_of_decoded_equation
07Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
right
08Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists 0
09Separate the logical casesL26–27
10Calculate and transport equalitiesL28–29
11Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply zero_add
12Calculate and transport equalitiesL31–32
13Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
right
14Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists 0
15Separate the logical casesL35–36
16Calculate and transport equalitiesL37–38
17Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply zero_add
18Calculate and transport equalitiesL40–41
19Separate the logical casesL42–43
20Calculate and transport equalitiesL44–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L44
symm
21Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
apply mul_one
Original exact command ledger · 47 lines
- 0001
intro u - 0002
intro hu - 0003
cases hu - 0004
rewrite hu_left - 0005
rewrite hu_left - 0006
rewrite hu_left - 0007
rewrite hu_left - 0008
specialize signed_mul_one_right (2) - 0009
apply signed_mul_one_right - 0010
rewrite hu_right - 0011
rewrite hu_right - 0012
rewrite hu_right - 0013
rewrite hu_right - 0014
specialize signed_mul_of_decoded_equation (1) - 0015
specialize signed_mul_of_decoded_equation (1) - 0016
specialize signed_mul_of_decoded_equation (2) - 0017
specialize signed_mul_of_decoded_equation (0) - 0018
specialize signed_mul_of_decoded_equation (1) - 0019
specialize signed_mul_of_decoded_equation (0) - 0020
specialize signed_mul_of_decoded_equation (1) - 0021
specialize signed_mul_of_decoded_equation (1) - 0022
specialize signed_mul_of_decoded_equation (0) - 0023
apply signed_mul_of_decoded_equation - 0024
right - 0025
exists 0 - 0026
split - 0027
split - 0028
rewrite PA5 - 0029
symm - 0030
apply zero_add - 0031
refl - 0032
refl - 0033
right - 0034
exists 0 - 0035
split - 0036
split - 0037
rewrite PA5 - 0038
symm - 0039
apply zero_add - 0040
refl - 0041
refl - 0042
left - 0043
split - 0044
symm - 0045
apply mul_one - 0046
refl - 0047
simp