GI0038

gaussian_two_half_squares_strict

The sum of two genuinely half-bounded coordinate squares is strictly below the positive modulus square; no parity or positive-remainder assumption is needed.

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

∀ N. ∀ e. ∀ f. ¬N = 0 → Le(e + e,N)Le(f + f,N)Lt(e · e + f · f,N · N)

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

Definition DAG

Actual proof prerequisites

le_total · checked external prerequisitenatural_square_monotone_expanded · checked external prerequisiteadd_le_add_right · checked external prerequisiteadd_le_add_left · checked external prerequisitelt_of_le_of_lt · checked external prerequisitegaussian_half_double_square_strict
Original expanded first-order statement
forall N e f. ~(N = 0) -> (exists ge_gap_first_half. ge_gap_first_half + (e + e) = (N)) -> (exists ge_gap_second_half. ge_gap_second_half + (f + f) = (N)) -> (exists ge_gap_two_half_norm. ge_gap_two_half_norm + S (e * e + f * f) = (N * N))

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 · 7 reading checkpoints · 0 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–6

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

  1. L1
    intro N
  2. L2
    intro e
  3. L3
    intro f
  4. L4
    intro hN
  5. L5
    intro he
  6. L6
    intro hf
02Use earlier factsL7–8

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

  1. L7
    specialize le_total e
  2. L8
    specialize le_total f
03Separate the logical casesL9–9

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

  1. L9
    cases le_total
04Use earlier factsL10–19

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

  1. L10
    specialize lt_of_le_of_lt e * e + f * f
  2. L11
    specialize lt_of_le_of_lt f * f + f * f
  3. L12
    specialize lt_of_le_of_lt N * N
  4. L13
    apply lt_of_le_of_lt
  5. L14
    specialize add_le_add_right e * e
  6. L15
    specialize add_le_add_right f * f
  7. L16
    specialize add_le_add_right f * f
  8. L17
    apply add_le_add_right
  9. L18
    specialize natural_square_monotone_expanded e
  10. L19
    specialize natural_square_monotone_expanded f
05Use earlier factsL20–29

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

  1. L20
    apply natural_square_monotone_expanded
  2. L21
    exact le_total_left
  3. L22
    specialize gaussian_half_double_square_strict N
  4. L23
    specialize gaussian_half_double_square_strict f
  5. L24
    apply gaussian_half_double_square_strict
  6. L25
    exact hN
  7. L26
    exact hf
  8. L27
    specialize lt_of_le_of_lt e * e + f * f
  9. L28
    specialize lt_of_le_of_lt e * e + e * e
  10. L29
    specialize lt_of_le_of_lt N * N
06Use earlier factsL30–39

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

  1. L30
    apply lt_of_le_of_lt
  2. L31
    specialize add_le_add_left f * f
  3. L32
    specialize add_le_add_left e * e
  4. L33
    specialize add_le_add_left e * e
  5. L34
    apply add_le_add_left
  6. L35
    specialize natural_square_monotone_expanded f
  7. L36
    specialize natural_square_monotone_expanded e
  8. L37
    apply natural_square_monotone_expanded
  9. L38
    exact le_total_right
  10. L39
    specialize gaussian_half_double_square_strict N
07Use earlier factsL40–43

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

  1. L40
    specialize gaussian_half_double_square_strict e
  2. L41
    apply gaussian_half_double_square_strict
  3. L42
    exact hN
  4. L43
    exact he

Library-wide reading audit

Original defined command ledger · 43 lines
  1. 0001intro N
  2. 0002intro e
  3. 0003intro f
  4. 0004intro hN
  5. 0005intro he
  6. 0006intro hf
  7. 0007specialize le_total e
  8. 0008specialize le_total f
  9. 0009cases le_total
  10. 0010specialize lt_of_le_of_lt e * e + f * f
  11. 0011specialize lt_of_le_of_lt f * f + f * f
  12. 0012specialize lt_of_le_of_lt N * N
  13. 0013apply lt_of_le_of_lt
  14. 0014specialize add_le_add_right e * e
  15. 0015specialize add_le_add_right f * f
  16. 0016specialize add_le_add_right f * f
  17. 0017apply add_le_add_right
  18. 0018specialize natural_square_monotone_expanded e
  19. 0019specialize natural_square_monotone_expanded f
  20. 0020apply natural_square_monotone_expanded
  21. 0021exact le_total_left
  22. 0022specialize gaussian_half_double_square_strict N
  23. 0023specialize gaussian_half_double_square_strict f
  24. 0024apply gaussian_half_double_square_strict
  25. 0025exact hN
  26. 0026exact hf
  27. 0027specialize lt_of_le_of_lt e * e + f * f
  28. 0028specialize lt_of_le_of_lt e * e + e * e
  29. 0029specialize lt_of_le_of_lt N * N
  30. 0030apply lt_of_le_of_lt
  31. 0031specialize add_le_add_left f * f
  32. 0032specialize add_le_add_left e * e
  33. 0033specialize add_le_add_left e * e
  34. 0034apply add_le_add_left
  35. 0035specialize natural_square_monotone_expanded f
  36. 0036specialize natural_square_monotone_expanded e
  37. 0037apply natural_square_monotone_expanded
  38. 0038exact le_total_right
  39. 0039specialize gaussian_half_double_square_strict N
  40. 0040specialize gaussian_half_double_square_strict e
  41. 0041apply gaussian_half_double_square_strict
  42. 0042exact hN
  43. 0043exact he