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 z a b c d e f g h. (exists ge_real_code_decode_first ge_imaginary_code_decode_first. (((z) = ((ge_real_code_decode_first) + (ge_imaginary_code_decode_first)) * S ((ge_real_code_decode_first) + (ge_imaginary_code_decode_first)) + ((ge_imaginary_code_decode_first) + (ge_imaginary_code_decode_first))) /\ (((((ge_real_code_decode_first) = 2 * (a) /\ (b) = 0) \/ exists ge_signed_half_ge_decode_first_real. (((ge_real_code_decode_first) = 2 * ge_signed_half_ge_decode_first_real + 1 /\ (a) = 0) /\ (b) = S ge_signed_half_ge_decode_first_real))) /\ ((((ge_imaginary_code_decode_first) = 2 * (c) /\ (d) = 0) \/ exists ge_signed_half_ge_decode_first_imaginary. (((ge_imaginary_code_decode_first) = 2 * ge_signed_half_ge_decode_first_imaginary + 1 /\ (c) = 0) /\ (d) = S ge_signed_half_ge_decode_first_imaginary)))))) -> (exists ge_real_code_decode_second ge_imaginary_code_decode_second. (((z) = ((ge_real_code_decode_second) + (ge_imaginary_code_decode_second)) * S ((ge_real_code_decode_second) + (ge_imaginary_code_decode_second)) + ((ge_imaginary_code_decode_second) + (ge_imaginary_code_decode_second))) /\ (((((ge_real_code_decode_second) = 2 * (e) /\ (f) = 0) \/ exists ge_signed_half_ge_decode_second_real. (((ge_real_code_decode_second) = 2 * ge_signed_half_ge_decode_second_real + 1 /\ (e) = 0) /\ (f) = S ge_signed_half_ge_decode_second_real))) /\ ((((ge_imaginary_code_decode_second) = 2 * (g) /\ (h) = 0) \/ exists ge_signed_half_ge_decode_second_imaginary. (((ge_imaginary_code_decode_second) = 2 * ge_signed_half_ge_decode_second_imaginary + 1 /\ (g) = 0) /\ (h) = S ge_signed_half_ge_decode_second_imaginary)))))) -> ((((a) = (e)) /\ (((b) = (f)) /\ (((c) = (g)) /\ ((d) = (h))))))Constructive proof overview
Generated structural guide
A canonical Gaussian coordinate code has exactly one normalized four-component signed decoding.
The unchanged tactic script uses 2 declared prerequisites and contains 60 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pair_code_injective Alpha theorem; checked-use authorized signed_decode_functional 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hsecond
03Separate the logical casesL12–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Establish hcodesL20–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code injective.
- L20
have hcodes : x = x2 /\ x1 = x3 - L21
specialize pair_code_injective z - L22
specialize pair_code_injective x - L23
specialize pair_code_injective x1 - L24
specialize pair_code_injective x2 - L25
specialize pair_code_injective x3 - L26
apply pair_code_injective - L27
exact hfirst_witness_witness_left - L28
exact hsecond_witness_witness_left
05Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hcodes
06Calculate and transport equalitiesL30–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
07Establish hrealL34–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed decode functional.
- L34
have hreal : a = e /\ b = f - L35
specialize signed_decode_functional x2 - L36
specialize signed_decode_functional a - L37
specialize signed_decode_functional b - L38
specialize signed_decode_functional e - L39
specialize signed_decode_functional f - L40
apply signed_decode_functional - L41
exact hfirst_witness_witness_right_left - L42
exact hsecond_witness_witness_right_left
08Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hreal
09Establish himaginaryL44–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed decode functional.
- L44
have himaginary : c = g /\ d = h - L45
specialize signed_decode_functional x3 - L46
specialize signed_decode_functional c - L47
specialize signed_decode_functional d - L48
specialize signed_decode_functional g - L49
specialize signed_decode_functional h - L50
apply signed_decode_functional - L51
exact hfirst_witness_witness_right_right - L52
exact hsecond_witness_witness_right_right
10Separate the logical casesL53–54
11Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hreal_left
12Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
13Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hreal_right
14Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
split
Original exact command ledger · 60 lines
- 0001
intro z - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro f - 0008
intro g - 0009
intro h - 0010
intro hfirst - 0011
intro hsecond - 0012
cases hfirst - 0013
cases hfirst_witness - 0014
cases hfirst_witness_witness - 0015
cases hfirst_witness_witness_right - 0016
cases hsecond - 0017
cases hsecond_witness - 0018
cases hsecond_witness_witness - 0019
cases hsecond_witness_witness_right - 0020
have hcodes : x = x2 /\ x1 = x3 - 0021
specialize pair_code_injective z - 0022
specialize pair_code_injective x - 0023
specialize pair_code_injective x1 - 0024
specialize pair_code_injective x2 - 0025
specialize pair_code_injective x3 - 0026
apply pair_code_injective - 0027
exact hfirst_witness_witness_left - 0028
exact hsecond_witness_witness_left - 0029
cases hcodes - 0030
rewrite hcodes_left at hfirst_witness_witness_right_left - 0031
rewrite hcodes_left at hfirst_witness_witness_right_left - 0032
rewrite hcodes_right at hfirst_witness_witness_right_right - 0033
rewrite hcodes_right at hfirst_witness_witness_right_right - 0034
have hreal : a = e /\ b = f - 0035
specialize signed_decode_functional x2 - 0036
specialize signed_decode_functional a - 0037
specialize signed_decode_functional b - 0038
specialize signed_decode_functional e - 0039
specialize signed_decode_functional f - 0040
apply signed_decode_functional - 0041
exact hfirst_witness_witness_right_left - 0042
exact hsecond_witness_witness_right_left - 0043
cases hreal - 0044
have himaginary : c = g /\ d = h - 0045
specialize signed_decode_functional x3 - 0046
specialize signed_decode_functional c - 0047
specialize signed_decode_functional d - 0048
specialize signed_decode_functional g - 0049
specialize signed_decode_functional h - 0050
apply signed_decode_functional - 0051
exact hfirst_witness_witness_right_right - 0052
exact hsecond_witness_witness_right_right - 0053
cases himaginary - 0054
split - 0055
exact hreal_left - 0056
split - 0057
exact hreal_right - 0058
split - 0059
exact himaginary_left - 0060
exact himaginary_right