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 a b c ab bc out. (exists dsa_ap_reverse_ab dsa_an_reverse_ab dsa_bp_reverse_ab dsa_bn_reverse_ab dsa_cp_reverse_ab dsa_cn_reverse_ab. (((((a) = 2 * (dsa_ap_reverse_ab) /\ (dsa_an_reverse_ab) = 0) \/ exists ge_signed_half_reverse_ableft. (((a) = 2 * ge_signed_half_reverse_ableft + 1 /\ (dsa_ap_reverse_ab) = 0) /\ (dsa_an_reverse_ab) = S ge_signed_half_reverse_ableft))) /\ ((((((b) = 2 * (dsa_bp_reverse_ab) /\ (dsa_bn_reverse_ab) = 0) \/ exists ge_signed_half_reverse_abright. (((b) = 2 * ge_signed_half_reverse_abright + 1 /\ (dsa_bp_reverse_ab) = 0) /\ (dsa_bn_reverse_ab) = S ge_signed_half_reverse_abright))) /\ ((((((ab) = 2 * (dsa_cp_reverse_ab) /\ (dsa_cn_reverse_ab) = 0) \/ exists ge_signed_half_reverse_aboutput. (((ab) = 2 * ge_signed_half_reverse_aboutput + 1 /\ (dsa_cp_reverse_ab) = 0) /\ (dsa_cn_reverse_ab) = S ge_signed_half_reverse_aboutput))) /\ ((dsa_ap_reverse_ab + dsa_bp_reverse_ab) + dsa_cn_reverse_ab = (dsa_an_reverse_ab + dsa_bn_reverse_ab) + dsa_cp_reverse_ab))))))) -> (exists dsa_ap_reverse_bc dsa_an_reverse_bc dsa_bp_reverse_bc dsa_bn_reverse_bc dsa_cp_reverse_bc dsa_cn_reverse_bc. (((((b) = 2 * (dsa_ap_reverse_bc) /\ (dsa_an_reverse_bc) = 0) \/ exists ge_signed_half_reverse_bcleft. (((b) = 2 * ge_signed_half_reverse_bcleft + 1 /\ (dsa_ap_reverse_bc) = 0) /\ (dsa_an_reverse_bc) = S ge_signed_half_reverse_bcleft))) /\ ((((((c) = 2 * (dsa_bp_reverse_bc) /\ (dsa_bn_reverse_bc) = 0) \/ exists ge_signed_half_reverse_bcright. (((c) = 2 * ge_signed_half_reverse_bcright + 1 /\ (dsa_bp_reverse_bc) = 0) /\ (dsa_bn_reverse_bc) = S ge_signed_half_reverse_bcright))) /\ ((((((bc) = 2 * (dsa_cp_reverse_bc) /\ (dsa_cn_reverse_bc) = 0) \/ exists ge_signed_half_reverse_bcoutput. (((bc) = 2 * ge_signed_half_reverse_bcoutput + 1 /\ (dsa_cp_reverse_bc) = 0) /\ (dsa_cn_reverse_bc) = S ge_signed_half_reverse_bcoutput))) /\ ((dsa_ap_reverse_bc + dsa_bp_reverse_bc) + dsa_cn_reverse_bc = (dsa_an_reverse_bc + dsa_bn_reverse_bc) + dsa_cp_reverse_bc))))))) -> (exists dsa_ap_reverse_out dsa_an_reverse_out dsa_bp_reverse_out dsa_bn_reverse_out dsa_cp_reverse_out dsa_cn_reverse_out. (((((a) = 2 * (dsa_ap_reverse_out) /\ (dsa_an_reverse_out) = 0) \/ exists ge_signed_half_reverse_outleft. (((a) = 2 * ge_signed_half_reverse_outleft + 1 /\ (dsa_ap_reverse_out) = 0) /\ (dsa_an_reverse_out) = S ge_signed_half_reverse_outleft))) /\ ((((((bc) = 2 * (dsa_bp_reverse_out) /\ (dsa_bn_reverse_out) = 0) \/ exists ge_signed_half_reverse_outright. (((bc) = 2 * ge_signed_half_reverse_outright + 1 /\ (dsa_bp_reverse_out) = 0) /\ (dsa_bn_reverse_out) = S ge_signed_half_reverse_outright))) /\ ((((((out) = 2 * (dsa_cp_reverse_out) /\ (dsa_cn_reverse_out) = 0) \/ exists ge_signed_half_reverse_outoutput. (((out) = 2 * ge_signed_half_reverse_outoutput + 1 /\ (dsa_cp_reverse_out) = 0) /\ (dsa_cn_reverse_out) = S ge_signed_half_reverse_outoutput))) /\ ((dsa_ap_reverse_out + dsa_bp_reverse_out) + dsa_cn_reverse_out = (dsa_an_reverse_out + dsa_bn_reverse_out) + dsa_cp_reverse_out))))))) -> (exists dsa_ap_reverse_target dsa_an_reverse_target dsa_bp_reverse_target dsa_bn_reverse_target dsa_cp_reverse_target dsa_cn_reverse_target. (((((ab) = 2 * (dsa_ap_reverse_target) /\ (dsa_an_reverse_target) = 0) \/ exists ge_signed_half_reverse_targetleft. (((ab) = 2 * ge_signed_half_reverse_targetleft + 1 /\ (dsa_ap_reverse_target) = 0) /\ (dsa_an_reverse_target) = S ge_signed_half_reverse_targetleft))) /\ ((((((c) = 2 * (dsa_bp_reverse_target) /\ (dsa_bn_reverse_target) = 0) \/ exists ge_signed_half_reverse_targetright. (((c) = 2 * ge_signed_half_reverse_targetright + 1 /\ (dsa_bp_reverse_target) = 0) /\ (dsa_bn_reverse_target) = S ge_signed_half_reverse_targetright))) /\ ((((((out) = 2 * (dsa_cp_reverse_target) /\ (dsa_cn_reverse_target) = 0) \/ exists ge_signed_half_reverse_targetoutput. (((out) = 2 * ge_signed_half_reverse_targetoutput + 1 /\ (dsa_cp_reverse_target) = 0) /\ (dsa_cn_reverse_target) = S ge_signed_half_reverse_targetoutput))) /\ ((dsa_ap_reverse_target + dsa_bp_reverse_target) + dsa_cn_reverse_target = (dsa_an_reverse_target + dsa_bn_reverse_target) + dsa_cp_reverse_target)))))))Constructive proof overview
Generated structural guide
Constructing the other parenthesization and applying literal signed-add functionality proves reverse associativity.
The unchanged tactic script uses 3 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_add_total Alpha theorem; checked-use authorized signed_add_functional Alpha theorem; checked-use authorized signed_add_associative Alpha 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–9
02Establish hwL10–13
03Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hw
04Establish heqL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed add functional.
- L15
have heq : x = out - L16
specialize signed_add_functional (a) - L17
specialize signed_add_functional (bc) - L18
specialize signed_add_functional (x) - L19
specialize signed_add_functional (out) - L20
apply signed_add_functional - L21
specialize signed_add_associative (a) - L22
specialize signed_add_associative (b) - L23
specialize signed_add_associative (c) - L24
specialize signed_add_associative (ab)
05Use earlier factsL25–31
06Calculate and transport equalitiesL32–33
07Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hw_witness
Original exact command ledger · 34 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro ab - 0005
intro bc - 0006
intro out - 0007
intro hab - 0008
intro hbc - 0009
intro hout - 0010
have hw : exists w. (exists dsa_ap_reassociate_construct dsa_an_reassociate_construct dsa_bp_reassociate_construct dsa_bn_reassociate_construct dsa_cp_reassociate_construct dsa_cn_reassociate_construct. (((((ab) = 2 * (dsa_ap_reassociate_construct) /\ (dsa_an_reassociate_construct) = 0) \/ exists ge_signed_half_reassociate_constructleft. (((ab) = 2 * ge_signed_half_reassociate_constructleft + 1 /\ (dsa_ap_reassociate_construct) = 0) /\ (dsa_an_reassociate_construct) = S ge_signed_half_reassociate_constructleft))) /\ ((((((c) = 2 * (dsa_bp_reassociate_construct) /\ (dsa_bn_reassociate_construct) = 0) \/ exists ge_signed_half_reassociate_constructright. (((c) = 2 * ge_signed_half_reassociate_constructright + 1 /\ (dsa_bp_reassociate_construct) = 0) /\ (dsa_bn_reassociate_construct) = S ge_signed_half_reassociate_constructright))) /\ ((((((w) = 2 * (dsa_cp_reassociate_construct) /\ (dsa_cn_reassociate_construct) = 0) \/ exists ge_signed_half_reassociate_constructoutput. (((w) = 2 * ge_signed_half_reassociate_constructoutput + 1 /\ (dsa_cp_reassociate_construct) = 0) /\ (dsa_cn_reassociate_construct) = S ge_signed_half_reassociate_constructoutput))) /\ ((dsa_ap_reassociate_construct + dsa_bp_reassociate_construct) + dsa_cn_reassociate_construct = (dsa_an_reassociate_construct + dsa_bn_reassociate_construct) + dsa_cp_reassociate_construct))))))) - 0011
specialize signed_add_total (ab) - 0012
specialize signed_add_total (c) - 0013
apply signed_add_total - 0014
cases hw - 0015
have heq : x = out - 0016
specialize signed_add_functional (a) - 0017
specialize signed_add_functional (bc) - 0018
specialize signed_add_functional (x) - 0019
specialize signed_add_functional (out) - 0020
apply signed_add_functional - 0021
specialize signed_add_associative (a) - 0022
specialize signed_add_associative (b) - 0023
specialize signed_add_associative (c) - 0024
specialize signed_add_associative (ab) - 0025
specialize signed_add_associative (bc) - 0026
specialize signed_add_associative (x) - 0027
apply signed_add_associative - 0028
exact hab - 0029
exact hw_witness - 0030
exact hbc - 0031
exact hout - 0032
rewrite heq at hw_witness - 0033
rewrite heq at hw_witness - 0034
exact hw_witness