GI001E

gaussian_signed_norm_nonzero

Every nonzero represented Gaussian integer has an actually positive natural norm.

Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable

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

∀ a. ∀ b. ∀ c. ∀ d. ∀ N. GaussianSignedNorm(a,b,c,d,N) → ¬(a = b ∧ c = d) → ¬N = 0

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

gaussian_signed_square_zero_iffadd_eq_zero_left · checked external prerequisiteadd_eq_zero_right · checked external prerequisite
Original expanded first-order statement
forall a b c d N. (exists ge_real_square_nonzero ge_imaginary_square_nonzero. ((((((a) * (a))) + (((b) * (b)))) = ((ge_real_square_nonzero) + (((((a) * (b))) + (((b) * (a))))))) /\ ((((((c) * (c))) + (((d) * (d)))) = ((ge_imaginary_square_nonzero) + (((((c) * (d))) + (((d) * (c))))))) /\ ((N) = ge_real_square_nonzero + ge_imaginary_square_nonzero)))) -> ~(a = b /\ c = d) -> ~(N = 0)

Complete tactic proof in conservative notation

All 43 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

43 script commands · 10 reading checkpoints · 3 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–8

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
  5. L5
    intro N
  6. L6
    intro hnorm
  7. L7
    intro hnonzero
  8. L8
    intro hzero
02Separate the logical casesL9–12

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L9
    cases hnorm
  2. L10
    cases hnorm_witness
  3. L11
    cases hnorm_witness_witness
  4. L12
    cases hnorm_witness_witness_right
03Establish hsumzeroL13–17

Establish this local claim before using it. It is not an additional assumption.

  1. L13
    have hsumzero : x + x1 = 0
  2. L14
    trans N
  3. L15
    symm
  4. L16
    exact hnorm_witness_witness_right_right
  5. L17
    exact hzero
04Establish hrealzeroL18–23

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian signed square zero iff.

  1. L18
    have hrealzero : (x = 0 -> a = b) /\ (a = b -> x = 0)
  2. L19
    specialize gaussian_signed_square_zero_iff a
  3. L20
    specialize gaussian_signed_square_zero_iff b
  4. L21
    specialize gaussian_signed_square_zero_iff x
  5. L22
    apply gaussian_signed_square_zero_iff
  6. L23
    exact hnorm_witness_witness_left
05Separate the logical casesL24–24

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L24
    cases hrealzero
06Establish himagzeroL25–30

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian signed square zero iff.

  1. L25
    have himagzero : (x1 = 0 -> c = d) /\ (c = d -> x1 = 0)
  2. L26
    specialize gaussian_signed_square_zero_iff c
  3. L27
    specialize gaussian_signed_square_zero_iff d
  4. L28
    specialize gaussian_signed_square_zero_iff x1
  5. L29
    apply gaussian_signed_square_zero_iff
  6. L30
    exact hnorm_witness_witness_right_left
07Separate the logical casesL31–31

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L31
    cases himagzero
08Use earlier factsL32–32

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L32
    apply hnonzero
09Separate the logical casesL33–33

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L33
    split
10Use earlier factsL34–43

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L34
    apply hrealzero_left
  2. L35
    specialize add_eq_zero_left x
  3. L36
    specialize add_eq_zero_left x1
  4. L37
    apply add_eq_zero_left
  5. L38
    exact hsumzero
  6. L39
    apply himagzero_left
  7. L40
    specialize add_eq_zero_right x
  8. L41
    specialize add_eq_zero_right x1
  9. L42
    apply add_eq_zero_right
  10. L43
    exact hsumzero

Library-wide reading audit

Original defined command ledger · 43 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005intro N
  6. 0006intro hnorm
  7. 0007intro hnonzero
  8. 0008intro hzero
  9. 0009cases hnorm
  10. 0010cases hnorm_witness
  11. 0011cases hnorm_witness_witness
  12. 0012cases hnorm_witness_witness_right
  13. 0013have hsumzero : x + x1 = 0
  14. 0014trans N
  15. 0015symm
  16. 0016exact hnorm_witness_witness_right_right
  17. 0017exact hzero
  18. 0018have hrealzero : (x = 0 -> a = b) /\ (a = b -> x = 0)
  19. 0019specialize gaussian_signed_square_zero_iff a
  20. 0020specialize gaussian_signed_square_zero_iff b
  21. 0021specialize gaussian_signed_square_zero_iff x
  22. 0022apply gaussian_signed_square_zero_iff
  23. 0023exact hnorm_witness_witness_left
  24. 0024cases hrealzero
  25. 0025have himagzero : (x1 = 0 -> c = d) /\ (c = d -> x1 = 0)
  26. 0026specialize gaussian_signed_square_zero_iff c
  27. 0027specialize gaussian_signed_square_zero_iff d
  28. 0028specialize gaussian_signed_square_zero_iff x1
  29. 0029apply gaussian_signed_square_zero_iff
  30. 0030exact hnorm_witness_witness_right_left
  31. 0031cases himagzero
  32. 0032apply hnonzero
  33. 0033split
  34. 0034apply hrealzero_left
  35. 0035specialize add_eq_zero_left x
  36. 0036specialize add_eq_zero_left x1
  37. 0037apply add_eq_zero_left
  38. 0038exact hsumzero
  39. 0039apply himagzero_left
  40. 0040specialize add_eq_zero_right x
  41. 0041specialize add_eq_zero_right x1
  42. 0042apply add_eq_zero_right
  43. 0043exact hsumzero