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.
The natural-code carrier consists of genuine pairs of the existing signed integers; no new primitive arithmetic is trusted. The theorem constructs quotient, remainder, and actual norm witnesses. Gaussian gcd, unique factorization, and prime classification are separate targets.
Exact theorem in conservative defined notation
∀ z. ∀ a. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ h. ZPairDecode(z,a,b,c,d) → ZPairDecode(z,e,f,g,h) → a = e ∧ (b = f ∧ (c = g ∧ d = h))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 60 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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 defined 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