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 N. (exists ge_norm_rp_norm_positive ge_norm_rn_norm_positive ge_norm_ip_norm_positive ge_norm_in_norm_positive. ((exists ge_representation_real_code_norm_positiverepresentation ge_representation_imaginary_code_norm_positiverepresentation. (((z) = ((ge_representation_real_code_norm_positiverepresentation) + (ge_representation_imaginary_code_norm_positiverepresentation)) * S ((ge_representation_real_code_norm_positiverepresentation) + (ge_representation_imaginary_code_norm_positiverepresentation)) + ((ge_representation_imaginary_code_norm_positiverepresentation) + (ge_representation_imaginary_code_norm_positiverepresentation))) /\ ((exists ge_balance_positive_norm_positiverepresentationreal ge_balance_negative_norm_positiverepresentationreal. (((((ge_representation_real_code_norm_positiverepresentation) = 2 * (ge_balance_positive_norm_positiverepresentationreal) /\ (ge_balance_negative_norm_positiverepresentationreal) = 0) \/ exists ge_signed_half_norm_positiverepresentationrealdecode. (((ge_representation_real_code_norm_positiverepresentation) = 2 * ge_signed_half_norm_positiverepresentationrealdecode + 1 /\ (ge_balance_positive_norm_positiverepresentationreal) = 0) /\ (ge_balance_negative_norm_positiverepresentationreal) = S ge_signed_half_norm_positiverepresentationrealdecode))) /\ ((ge_norm_rp_norm_positive) + ge_balance_negative_norm_positiverepresentationreal = (ge_norm_rn_norm_positive) + ge_balance_positive_norm_positiverepresentationreal))) /\ (exists ge_balance_positive_norm_positiverepresentationimaginary ge_balance_negative_norm_positiverepresentationimaginary. (((((ge_representation_imaginary_code_norm_positiverepresentation) = 2 * (ge_balance_positive_norm_positiverepresentationimaginary) /\ (ge_balance_negative_norm_positiverepresentationimaginary) = 0) \/ exists ge_signed_half_norm_positiverepresentationimaginarydecode. (((ge_representation_imaginary_code_norm_positiverepresentation) = 2 * ge_signed_half_norm_positiverepresentationimaginarydecode + 1 /\ (ge_balance_positive_norm_positiverepresentationimaginary) = 0) /\ (ge_balance_negative_norm_positiverepresentationimaginary) = S ge_signed_half_norm_positiverepresentationimaginarydecode))) /\ ((ge_norm_ip_norm_positive) + ge_balance_negative_norm_positiverepresentationimaginary = (ge_norm_in_norm_positive) + ge_balance_positive_norm_positiverepresentationimaginary)))))) /\ (exists ge_real_square_norm_positivesquare ge_imaginary_square_norm_positivesquare. ((((((ge_norm_rp_norm_positive) * (ge_norm_rp_norm_positive))) + (((ge_norm_rn_norm_positive) * (ge_norm_rn_norm_positive)))) = ((ge_real_square_norm_positivesquare) + (((((ge_norm_rp_norm_positive) * (ge_norm_rn_norm_positive))) + (((ge_norm_rn_norm_positive) * (ge_norm_rp_norm_positive))))))) /\ ((((((ge_norm_ip_norm_positive) * (ge_norm_ip_norm_positive))) + (((ge_norm_in_norm_positive) * (ge_norm_in_norm_positive)))) = ((ge_imaginary_square_norm_positivesquare) + (((((ge_norm_ip_norm_positive) * (ge_norm_in_norm_positive))) + (((ge_norm_in_norm_positive) * (ge_norm_ip_norm_positive))))))) /\ ((N) = ge_real_square_norm_positivesquare + ge_imaginary_square_norm_positivesquare)))))) -> ~(z=0) -> ~(N=0)Constructive proof overview
Generated structural guide
A nonzero actual Gaussian integer has nonzero squared norm.
The unchanged tactic script uses 2 declared prerequisites and contains 31 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_representation_zero_iff Alpha theorem; checked-use authorized gaussian_signed_norm_nonzero 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–5
02Separate the logical casesL6–10
03Establish hzeroL11–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian representation zero iff.
- L11
have hzero : (z=0 -> (x=x1 /\ x2=x3)) /\ ((x=x1 /\ x2=x3) -> z=0) - L12
specialize gaussian_representation_zero_iff (z) - L13
specialize gaussian_representation_zero_iff (x) - L14
specialize gaussian_representation_zero_iff (x1) - L15
specialize gaussian_representation_zero_iff (x2) - L16
specialize gaussian_representation_zero_iff (x3) - L17
apply gaussian_representation_zero_iff - L18
exact hnorm_witness_witness_witness_witness_left
04Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases hzero
05Use earlier factsL20–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
specialize gaussian_signed_norm_nonzero (x) - L21
specialize gaussian_signed_norm_nonzero (x1) - L22
specialize gaussian_signed_norm_nonzero (x2) - L23
specialize gaussian_signed_norm_nonzero (x3) - L24
specialize gaussian_signed_norm_nonzero (N) - L25
apply gaussian_signed_norm_nonzero - L26
exact hnorm_witness_witness_witness_witness_right
06Fix variables and assumptionsL27–27
Work with arbitrary variables or the premises of the current implication.
- L27
intro hvanish
Original exact command ledger · 31 lines
- 0001
intro z - 0002
intro N - 0003
intro hnorm - 0004
intro hz - 0005
intro hN - 0006
cases hnorm - 0007
cases hnorm_witness - 0008
cases hnorm_witness_witness - 0009
cases hnorm_witness_witness_witness - 0010
cases hnorm_witness_witness_witness_witness - 0011
have hzero : (z=0 -> (x=x1 /\ x2=x3)) /\ ((x=x1 /\ x2=x3) -> z=0) - 0012
specialize gaussian_representation_zero_iff (z) - 0013
specialize gaussian_representation_zero_iff (x) - 0014
specialize gaussian_representation_zero_iff (x1) - 0015
specialize gaussian_representation_zero_iff (x2) - 0016
specialize gaussian_representation_zero_iff (x3) - 0017
apply gaussian_representation_zero_iff - 0018
exact hnorm_witness_witness_witness_witness_left - 0019
cases hzero - 0020
specialize gaussian_signed_norm_nonzero (x) - 0021
specialize gaussian_signed_norm_nonzero (x1) - 0022
specialize gaussian_signed_norm_nonzero (x2) - 0023
specialize gaussian_signed_norm_nonzero (x3) - 0024
specialize gaussian_signed_norm_nonzero (N) - 0025
apply gaussian_signed_norm_nonzero - 0026
exact hnorm_witness_witness_witness_witness_right - 0027
intro hvanish - 0028
apply hz - 0029
apply hzero_right - 0030
exact hvanish - 0031
exact hN