FS0023

four_square_descent_bounded_centered_quotient_nonzero

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

For a nonunit multiplier strictly below a prime, the centered quaternion norm quotient cannot vanish: otherwise all original coordinates would make the multiplier a forbidden prime divisor.

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 p k r a b c d e f g j. ((~(p = 1) /\ forall frm_prime_left_fsd_p frm_prime_right_fsd_p. p = frm_prime_left_fsd_p * frm_prime_right_fsd_p -> frm_prime_left_fsd_p = 1 \/ frm_prime_right_fsd_p = 1)) -> ~(k = 0) -> ~(k = 1) -> (exists gap. gap + S k = p) -> p * k = a * a + b * b + c * c + d * d -> (((exists fsd_center_bound_nonzero_a. fsd_center_bound_nonzero_a + (e + e) = k) /\ ((exists fsd_center_lower_nonzero_a. a = k * fsd_center_lower_nonzero_a + e) \/ (exists fsd_center_upper_nonzero_a. a + e = k * fsd_center_upper_nonzero_a)))) -> (((exists fsd_center_bound_nonzero_b. fsd_center_bound_nonzero_b + (f + f) = k) /\ ((exists fsd_center_lower_nonzero_b. b = k * fsd_center_lower_nonzero_b + f) \/ (exists fsd_center_upper_nonzero_b. b + f = k * fsd_center_upper_nonzero_b)))) -> (((exists fsd_center_bound_nonzero_c. fsd_center_bound_nonzero_c + (g + g) = k) /\ ((exists fsd_center_lower_nonzero_c. c = k * fsd_center_lower_nonzero_c + g) \/ (exists fsd_center_upper_nonzero_c. c + g = k * fsd_center_upper_nonzero_c)))) -> (((exists fsd_center_bound_nonzero_d. fsd_center_bound_nonzero_d + (j + j) = k) /\ ((exists fsd_center_lower_nonzero_d. d = k * fsd_center_lower_nonzero_d + j) \/ (exists fsd_center_upper_nonzero_d. d + j = k * fsd_center_upper_nonzero_d)))) -> k * r = e * e + f * f + g * g + j * j -> ~(r = 0)

Constructive proof overview

Generated structural guide

For a nonunit multiplier strictly below a prime, the centered quaternion norm quotient cannot vanish: otherwise all original coordinates would make the multiplier a forbidden prime divisor.

The unchanged tactic script uses 4 declared prerequisites and contains 89 exact native proof lines.

dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged

Proof neighborhood

Direct dependencies

Direct 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

89 script commands · 16 reading checkpoints · 6 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.

Named ingredients (4)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro k
  3. L3
    intro r
  4. L4
    intro a
  5. L5
    intro b
  6. L6
    intro c
  7. L7
    intro d
  8. L8
    intro e
  9. L9
    intro f
  10. L10
    intro g
02Fix variables and assumptionsL11–20

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

  1. L11
    intro j
  2. L12
    intro hprime
  3. L13
    intro hk
  4. L14
    intro hnonunit
  5. L15
    intro hproper
  6. L16
    intro hnorm
  7. L17
    intro ha
  8. L18
    intro hb
  9. L19
    intro hc
  10. L20
    intro hd
03Fix variables and assumptionsL21–22

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

  1. L21
    intro hcenter_norm
  2. L22
    intro hrzero
04Calculate and transport equalitiesL23–24

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L23
    rewrite hrzero at hcenter_norm
  2. L24
    rewrite PA5 at hcenter_norm
05Establish hzerosL25–28

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero norm coordinates.

  1. L25
    have hzeros : (e = 0 /\ (f = 0 /\ (g = 0 /\ j = 0)))
  2. L26
    apply four_square_descent_zero_norm_coordinates
  3. L27
    symm
  4. L28
    exact hcenter_norm
06Separate the logical casesL29–31

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

  1. L29
    cases hzeros
  2. L30
    cases hzeros_right
  3. L31
    cases hzeros_right_right
07Calculate and transport equalitiesL32–41

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L32
    rewrite hzeros_left at ha
  2. L33
    rewrite hzeros_left at ha
  3. L34
    rewrite hzeros_left at ha
  4. L35
    rewrite hzeros_left at ha
  5. L36
    rewrite hzeros_right_left at hb
  6. L37
    rewrite hzeros_right_left at hb
  7. L38
    rewrite hzeros_right_left at hb
  8. L39
    rewrite hzeros_right_left at hb
  9. L40
    rewrite hzeros_right_right_left at hc
  10. L41
    rewrite hzeros_right_right_left at hc
08Calculate and transport equalitiesL42–47

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L42
    rewrite hzeros_right_right_left at hc
  2. L43
    rewrite hzeros_right_right_left at hc
  3. L44
    rewrite hzeros_right_right_right at hd
  4. L45
    rewrite hzeros_right_right_right at hd
  5. L46
    rewrite hzeros_right_right_right at hd
  6. L47
    rewrite hzeros_right_right_right at hd
09Establish hdaL48–50

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.

  1. L48
    have hda : exists q. a = k * q
  2. L49
    apply four_square_descent_zero_centered_remainder_divides
  3. L50
    exact ha
10Establish hdbL51–53

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.

  1. L51
    have hdb : exists q. b = k * q
  2. L52
    apply four_square_descent_zero_centered_remainder_divides
  3. L53
    exact hb
11Establish hdcL54–56

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.

  1. L54
    have hdc : exists q. c = k * q
  2. L55
    apply four_square_descent_zero_centered_remainder_divides
  3. L56
    exact hc
12Establish hddL57–59

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.

  1. L57
    have hdd : exists q. d = k * q
  2. L58
    apply four_square_descent_zero_centered_remainder_divides
  3. L59
    exact hd
13Separate the logical casesL60–63

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

  1. L60
    cases hda
  2. L61
    cases hdb
  3. L62
    cases hdc
  4. L63
    cases hdd
14Establish hfactorL64–73

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

  1. L64
    have hfactor : p = k * (x * x + x1 * x1 + x2 * x2 + x3 * x3)
  2. L65
    specialize four_square_descent_divisible_coordinates_prime_factor p
  3. L66
    specialize four_square_descent_divisible_coordinates_prime_factor k
  4. L67
    specialize four_square_descent_divisible_coordinates_prime_factor a
  5. L68
    specialize four_square_descent_divisible_coordinates_prime_factor b
  6. L69
    specialize four_square_descent_divisible_coordinates_prime_factor c
  7. L70
    specialize four_square_descent_divisible_coordinates_prime_factor d
  8. L71
    specialize four_square_descent_divisible_coordinates_prime_factor x
  9. L72
    specialize four_square_descent_divisible_coordinates_prime_factor x1
  10. L73
    specialize four_square_descent_divisible_coordinates_prime_factor x2
15Use earlier factsL74–83

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

  1. L74
    specialize four_square_descent_divisible_coordinates_prime_factor x3
  2. L75
    apply four_square_descent_divisible_coordinates_prime_factor
  3. L76
    exact hk
  4. L77
    exact hnorm
  5. L78
    exact hda_witness
  6. L79
    exact hdb_witness
  7. L80
    exact hdc_witness
  8. L81
    exact hdd_witness
  9. L82
    specialize four_square_descent_nonunit_proper_factor_not_prime p
  10. L83
    specialize four_square_descent_nonunit_proper_factor_not_prime k
16Use earlier factsL84–89

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

  1. L84
    specialize four_square_descent_nonunit_proper_factor_not_prime (x * x + x1 * x1 + x2 * x2 + x3 * x3)
  2. L85
    apply four_square_descent_nonunit_proper_factor_not_prime
  3. L86
    exact hprime
  4. L87
    exact hnonunit
  5. L88
    exact hproper
  6. L89
    exact hfactor

Library-wide reading audit

Original exact command ledger · 89 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro r
  4. 0004intro a
  5. 0005intro b
  6. 0006intro c
  7. 0007intro d
  8. 0008intro e
  9. 0009intro f
  10. 0010intro g
  11. 0011intro j
  12. 0012intro hprime
  13. 0013intro hk
  14. 0014intro hnonunit
  15. 0015intro hproper
  16. 0016intro hnorm
  17. 0017intro ha
  18. 0018intro hb
  19. 0019intro hc
  20. 0020intro hd
  21. 0021intro hcenter_norm
  22. 0022intro hrzero
  23. 0023rewrite hrzero at hcenter_norm
  24. 0024rewrite PA5 at hcenter_norm
  25. 0025have hzeros : (e = 0 /\ (f = 0 /\ (g = 0 /\ j = 0)))
  26. 0026apply four_square_descent_zero_norm_coordinates
  27. 0027symm
  28. 0028exact hcenter_norm
  29. 0029cases hzeros
  30. 0030cases hzeros_right
  31. 0031cases hzeros_right_right
  32. 0032rewrite hzeros_left at ha
  33. 0033rewrite hzeros_left at ha
  34. 0034rewrite hzeros_left at ha
  35. 0035rewrite hzeros_left at ha
  36. 0036rewrite hzeros_right_left at hb
  37. 0037rewrite hzeros_right_left at hb
  38. 0038rewrite hzeros_right_left at hb
  39. 0039rewrite hzeros_right_left at hb
  40. 0040rewrite hzeros_right_right_left at hc
  41. 0041rewrite hzeros_right_right_left at hc
  42. 0042rewrite hzeros_right_right_left at hc
  43. 0043rewrite hzeros_right_right_left at hc
  44. 0044rewrite hzeros_right_right_right at hd
  45. 0045rewrite hzeros_right_right_right at hd
  46. 0046rewrite hzeros_right_right_right at hd
  47. 0047rewrite hzeros_right_right_right at hd
  48. 0048have hda : exists q. a = k * q
  49. 0049apply four_square_descent_zero_centered_remainder_divides
  50. 0050exact ha
  51. 0051have hdb : exists q. b = k * q
  52. 0052apply four_square_descent_zero_centered_remainder_divides
  53. 0053exact hb
  54. 0054have hdc : exists q. c = k * q
  55. 0055apply four_square_descent_zero_centered_remainder_divides
  56. 0056exact hc
  57. 0057have hdd : exists q. d = k * q
  58. 0058apply four_square_descent_zero_centered_remainder_divides
  59. 0059exact hd
  60. 0060cases hda
  61. 0061cases hdb
  62. 0062cases hdc
  63. 0063cases hdd
  64. 0064have hfactor : p = k * (x * x + x1 * x1 + x2 * x2 + x3 * x3)
  65. 0065specialize four_square_descent_divisible_coordinates_prime_factor p
  66. 0066specialize four_square_descent_divisible_coordinates_prime_factor k
  67. 0067specialize four_square_descent_divisible_coordinates_prime_factor a
  68. 0068specialize four_square_descent_divisible_coordinates_prime_factor b
  69. 0069specialize four_square_descent_divisible_coordinates_prime_factor c
  70. 0070specialize four_square_descent_divisible_coordinates_prime_factor d
  71. 0071specialize four_square_descent_divisible_coordinates_prime_factor x
  72. 0072specialize four_square_descent_divisible_coordinates_prime_factor x1
  73. 0073specialize four_square_descent_divisible_coordinates_prime_factor x2
  74. 0074specialize four_square_descent_divisible_coordinates_prime_factor x3
  75. 0075apply four_square_descent_divisible_coordinates_prime_factor
  76. 0076exact hk
  77. 0077exact hnorm
  78. 0078exact hda_witness
  79. 0079exact hdb_witness
  80. 0080exact hdc_witness
  81. 0081exact hdd_witness
  82. 0082specialize four_square_descent_nonunit_proper_factor_not_prime p
  83. 0083specialize four_square_descent_nonunit_proper_factor_not_prime k
  84. 0084specialize four_square_descent_nonunit_proper_factor_not_prime (x * x + x1 * x1 + x2 * x2 + x3 * x3)
  85. 0085apply four_square_descent_nonunit_proper_factor_not_prime
  86. 0086exact hprime
  87. 0087exact hnonunit
  88. 0088exact hproper
  89. 0089exact hfactor