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 c d e f g h. exists q0 q1 q2 q3. ((exists sb_pos_fs_q0 sb_neg_fs_q0. (((q0 = 2 * sb_pos_fs_q0 /\ sb_neg_fs_q0 = 0) \/ exists sd_half_fs_q0. ((q0 = 2 * sd_half_fs_q0 + 1 /\ sb_pos_fs_q0 = 0) /\ sb_neg_fs_q0 = S sd_half_fs_q0)) /\ (a * e) + sb_neg_fs_q0 = (b * f + c * g + d * h) + sb_pos_fs_q0)) /\ ((exists sb_pos_fs_q1 sb_neg_fs_q1. (((q1 = 2 * sb_pos_fs_q1 /\ sb_neg_fs_q1 = 0) \/ exists sd_half_fs_q1. ((q1 = 2 * sd_half_fs_q1 + 1 /\ sb_pos_fs_q1 = 0) /\ sb_neg_fs_q1 = S sd_half_fs_q1)) /\ (a * f + b * e + c * h) + sb_neg_fs_q1 = (d * g) + sb_pos_fs_q1)) /\ ((exists sb_pos_fs_q2 sb_neg_fs_q2. (((q2 = 2 * sb_pos_fs_q2 /\ sb_neg_fs_q2 = 0) \/ exists sd_half_fs_q2. ((q2 = 2 * sd_half_fs_q2 + 1 /\ sb_pos_fs_q2 = 0) /\ sb_neg_fs_q2 = S sd_half_fs_q2)) /\ (a * g + c * e + d * f) + sb_neg_fs_q2 = (b * h) + sb_pos_fs_q2)) /\ (exists sb_pos_fs_q3 sb_neg_fs_q3. (((q3 = 2 * sb_pos_fs_q3 /\ sb_neg_fs_q3 = 0) \/ exists sd_half_fs_q3. ((q3 = 2 * sd_half_fs_q3 + 1 /\ sb_pos_fs_q3 = 0) /\ sb_neg_fs_q3 = S sd_half_fs_q3)) /\ (a * h + b * g + d * e) + sb_neg_fs_q3 = (c * f) + sb_pos_fs_q3)))))Constructive proof overview
Generated structural guide
Hamilton's four signed product coordinates have canonical constructively chosen SignedBalance witnesses.
The unchanged tactic script uses 1 declared prerequisite and contains 39 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
Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.
Proof neighborhood
Direct dependencies
signed_balance_total 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–8
02Establish h0L9–12
Establish this local claim before using it. It is not an additional assumption.
- L9
have h0 : exists q0. (exists sb_pos_fs_q0 sb_neg_fs_q0. (((q0 = 2 * sb_pos_fs_q0 /\ sb_neg_fs_q0 = 0) \/ exists sd_half_fs_q0. ((q0 = 2 * sd_half_fs_q0 + 1 /\ sb_pos_fs_q0 = 0) /\ sb_neg_fs_q0 = S sd_half_fs_q0)) /\ (a * e) + sb_neg_fs_q0 = (b * f + c * g + d * h) + sb_pos_fs_q0)) - L10
specialize signed_balance_total (a * e) - L11
specialize signed_balance_total (b * f + c * g + d * h) - L12
exact signed_balance_total
03Establish h1L13–16
Establish this local claim before using it. It is not an additional assumption.
- L13
have h1 : exists q1. (exists sb_pos_fs_q1 sb_neg_fs_q1. (((q1 = 2 * sb_pos_fs_q1 /\ sb_neg_fs_q1 = 0) \/ exists sd_half_fs_q1. ((q1 = 2 * sd_half_fs_q1 + 1 /\ sb_pos_fs_q1 = 0) /\ sb_neg_fs_q1 = S sd_half_fs_q1)) /\ (a * f + b * e + c * h) + sb_neg_fs_q1 = (d * g) + sb_pos_fs_q1)) - L14
specialize signed_balance_total (a * f + b * e + c * h) - L15
specialize signed_balance_total (d * g) - L16
exact signed_balance_total
04Establish h2L17–20
Establish this local claim before using it. It is not an additional assumption.
- L17
have h2 : exists q2. (exists sb_pos_fs_q2 sb_neg_fs_q2. (((q2 = 2 * sb_pos_fs_q2 /\ sb_neg_fs_q2 = 0) \/ exists sd_half_fs_q2. ((q2 = 2 * sd_half_fs_q2 + 1 /\ sb_pos_fs_q2 = 0) /\ sb_neg_fs_q2 = S sd_half_fs_q2)) /\ (a * g + c * e + d * f) + sb_neg_fs_q2 = (b * h) + sb_pos_fs_q2)) - L18
specialize signed_balance_total (a * g + c * e + d * f) - L19
specialize signed_balance_total (b * h) - L20
exact signed_balance_total
05Establish h3L21–24
Establish this local claim before using it. It is not an additional assumption.
- L21
have h3 : exists q3. (exists sb_pos_fs_q3 sb_neg_fs_q3. (((q3 = 2 * sb_pos_fs_q3 /\ sb_neg_fs_q3 = 0) \/ exists sd_half_fs_q3. ((q3 = 2 * sd_half_fs_q3 + 1 /\ sb_pos_fs_q3 = 0) /\ sb_neg_fs_q3 = S sd_half_fs_q3)) /\ (a * h + b * g + d * e) + sb_neg_fs_q3 = (c * f) + sb_pos_fs_q3)) - L22
specialize signed_balance_total (a * h + b * g + d * e) - L23
specialize signed_balance_total (c * f) - L24
exact signed_balance_total
06Separate the logical casesL25–28
07Construct an explicit witnessL29–32
08Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
09Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact h0_witness
10Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
11Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact h1_witness
12Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
Original exact command ledger · 39 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro e - 0006
intro f - 0007
intro g - 0008
intro h - 0009
have h0 : exists q0. (exists sb_pos_fs_q0 sb_neg_fs_q0. (((q0 = 2 * sb_pos_fs_q0 /\ sb_neg_fs_q0 = 0) \/ exists sd_half_fs_q0. ((q0 = 2 * sd_half_fs_q0 + 1 /\ sb_pos_fs_q0 = 0) /\ sb_neg_fs_q0 = S sd_half_fs_q0)) /\ (a * e) + sb_neg_fs_q0 = (b * f + c * g + d * h) + sb_pos_fs_q0)) - 0010
specialize signed_balance_total (a * e) - 0011
specialize signed_balance_total (b * f + c * g + d * h) - 0012
exact signed_balance_total - 0013
have h1 : exists q1. (exists sb_pos_fs_q1 sb_neg_fs_q1. (((q1 = 2 * sb_pos_fs_q1 /\ sb_neg_fs_q1 = 0) \/ exists sd_half_fs_q1. ((q1 = 2 * sd_half_fs_q1 + 1 /\ sb_pos_fs_q1 = 0) /\ sb_neg_fs_q1 = S sd_half_fs_q1)) /\ (a * f + b * e + c * h) + sb_neg_fs_q1 = (d * g) + sb_pos_fs_q1)) - 0014
specialize signed_balance_total (a * f + b * e + c * h) - 0015
specialize signed_balance_total (d * g) - 0016
exact signed_balance_total - 0017
have h2 : exists q2. (exists sb_pos_fs_q2 sb_neg_fs_q2. (((q2 = 2 * sb_pos_fs_q2 /\ sb_neg_fs_q2 = 0) \/ exists sd_half_fs_q2. ((q2 = 2 * sd_half_fs_q2 + 1 /\ sb_pos_fs_q2 = 0) /\ sb_neg_fs_q2 = S sd_half_fs_q2)) /\ (a * g + c * e + d * f) + sb_neg_fs_q2 = (b * h) + sb_pos_fs_q2)) - 0018
specialize signed_balance_total (a * g + c * e + d * f) - 0019
specialize signed_balance_total (b * h) - 0020
exact signed_balance_total - 0021
have h3 : exists q3. (exists sb_pos_fs_q3 sb_neg_fs_q3. (((q3 = 2 * sb_pos_fs_q3 /\ sb_neg_fs_q3 = 0) \/ exists sd_half_fs_q3. ((q3 = 2 * sd_half_fs_q3 + 1 /\ sb_pos_fs_q3 = 0) /\ sb_neg_fs_q3 = S sd_half_fs_q3)) /\ (a * h + b * g + d * e) + sb_neg_fs_q3 = (c * f) + sb_pos_fs_q3)) - 0022
specialize signed_balance_total (a * h + b * g + d * e) - 0023
specialize signed_balance_total (c * f) - 0024
exact signed_balance_total - 0025
cases h0 - 0026
cases h1 - 0027
cases h2 - 0028
cases h3 - 0029
exists x - 0030
exists x1 - 0031
exists x2 - 0032
exists x3 - 0033
split - 0034
exact h0_witness - 0035
split - 0036
exact h1_witness - 0037
split - 0038
exact h2_witness - 0039
exact h3_witness