FS001G

four_square_descent_strict_multiplier_bounded

Dependency-curried candidate body; not Alpha-enrolled; no checked-use authority

Bounded constructive induction on a nonzero represented multiplier terminates at one under an explicit strictly decreasing quaternion step.

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 B p k. (exists fsd_bound. fsd_bound + k = B) -> ((~(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) -> (exists fsl_a_fsd_multiple fsl_b_fsd_multiple fsl_c_fsd_multiple fsl_d_fsd_multiple. (p * k) = fsl_a_fsd_multiple * fsl_a_fsd_multiple + fsl_b_fsd_multiple * fsl_b_fsd_multiple + fsl_c_fsd_multiple * fsl_c_fsd_multiple + fsl_d_fsd_multiple * fsl_d_fsd_multiple) -> (forall fsd_prime_universal fsd_multiplier_universal. ((~(fsd_prime_universal = 1) /\ forall frm_prime_left_fsd_universal_prime frm_prime_right_fsd_universal_prime. fsd_prime_universal = frm_prime_left_fsd_universal_prime * frm_prime_right_fsd_universal_prime -> frm_prime_left_fsd_universal_prime = 1 \/ frm_prime_right_fsd_universal_prime = 1)) -> ~(fsd_multiplier_universal = 0) -> ~(fsd_multiplier_universal = 1) -> (exists fsl_a_fsd_universal_source fsl_b_fsd_universal_source fsl_c_fsd_universal_source fsl_d_fsd_universal_source. (fsd_prime_universal * fsd_multiplier_universal) = fsl_a_fsd_universal_source * fsl_a_fsd_universal_source + fsl_b_fsd_universal_source * fsl_b_fsd_universal_source + fsl_c_fsd_universal_source * fsl_c_fsd_universal_source + fsl_d_fsd_universal_source * fsl_d_fsd_universal_source) -> exists fsd_smaller_universal. (~(fsd_smaller_universal = 0) /\ ((exists fsd_gap_universal. fsd_gap_universal + S fsd_smaller_universal = fsd_multiplier_universal) /\ (exists fsl_a_fsd_universal_target fsl_b_fsd_universal_target fsl_c_fsd_universal_target fsl_d_fsd_universal_target. (fsd_prime_universal * fsd_smaller_universal) = fsl_a_fsd_universal_target * fsl_a_fsd_universal_target + fsl_b_fsd_universal_target * fsl_b_fsd_universal_target + fsl_c_fsd_universal_target * fsl_c_fsd_universal_target + fsl_d_fsd_universal_target * fsl_d_fsd_universal_target)))) -> (exists fsl_a_fsd_prime_result fsl_b_fsd_prime_result fsl_c_fsd_prime_result fsl_d_fsd_prime_result. (p) = fsl_a_fsd_prime_result * fsl_a_fsd_prime_result + fsl_b_fsd_prime_result * fsl_b_fsd_prime_result + fsl_c_fsd_prime_result * fsl_c_fsd_prime_result + fsl_d_fsd_prime_result * fsl_d_fsd_prime_result)

Constructive proof overview

Generated structural guide

Bounded constructive induction on a nonzero represented multiplier terminates at one under an explicit strictly decreasing quaternion step.

The unchanged tactic script uses 5 declared prerequisites and contains 59 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

le_zero Stable theorem; checked-use authorized eq_decidable Stable theorem; checked-use authorized mul_one Stable theorem; checked-use authorized le_trans Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This dependency-curried candidate body does not grant checked theorem use or Stable membership.

Read the argument

Proof checkpoints

59 script commands · 16 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.

01Fix variables and assumptionsL1–1

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

  1. L1
    intro B
02Induction on BL2–9

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L2
    induction B
  2. L3
    intro p
  3. L4
    intro k
  4. L5
    intro hbound
  5. L6
    intro hprime
  6. L7
    intro hnonzero
  7. L8
    intro hrepresented
  8. L9
    intro hstep
03Separate the logical casesL10–10

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

  1. L10
    exfalso
04Use earlier factsL11–14

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

  1. L11
    apply hnonzero
  2. L12
    specialize le_zero k
  3. L13
    apply le_zero
  4. L14
    exact hbound
05Fix variables and assumptionsL15–21

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

  1. L15
    intro p
  2. L16
    intro k
  3. L17
    intro hbound
  4. L18
    intro hprime
  5. L19
    intro hnonzero
  6. L20
    intro hrepresented
  7. L21
    intro hstep
06Use earlier factsL22–23

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

  1. L22
    specialize eq_decidable k
  2. L23
    specialize eq_decidable 1
07Separate the logical casesL24–24

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

  1. L24
    cases eq_decidable
08Calculate and transport equalitiesL25–25

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

  1. L25
    rewrite eq_decidable_left at hrepresented
09Use earlier factsL26–26

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

  1. L26
    specialize mul_one p
10Calculate and transport equalitiesL27–27

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

  1. L27
    rewrite mul_one at hrepresented
11Use earlier factsL28–28

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

  1. L28
    exact hrepresented
12Establish hsmallerL29–36

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hstep.

  1. L29
    have hsmaller : (exists r. (~(r = 0) /\ ((exists fsd_strict_gap. fsd_strict_gap + S r = k) /\ (exists fsl_a_fsd_strict_result fsl_b_fsd_strict_result fsl_c_fsd_strict_result fsl_d_fsd_strict_result. (p * r) = fsl_a_fsd_strict_result * fsl_a_fsd_strict_result + fsl_b_fsd_strict_result * fsl_b_fsd_strict_result + fsl_c_fsd_strict_result * fsl_c_fsd_strict_result + fsl_d_fsd_strict_result * fsl_d_fsd_strict_result))))
  2. L30
    specialize hstep p
  3. L31
    specialize hstep k
  4. L32
    apply hstep
  5. L33
    exact hprime
  6. L34
    exact hnonzero
  7. L35
    exact eq_decidable_right
  8. L36
    exact hrepresented
13Separate the logical casesL37–39

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

  1. L37
    cases hsmaller
  2. L38
    cases hsmaller_witness
  3. L39
    cases hsmaller_witness_right
14Establish hsuccessor_boundL40–46

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.

  1. L40
    have hsuccessor_bound : exists t. t + S x = S B
  2. L41
    specialize le_trans (S x)
  3. L42
    specialize le_trans k
  4. L43
    specialize le_trans (S B)
  5. L44
    apply le_trans
  6. L45
    exact hsmaller_witness_right_left
  7. L46
    exact hbound
15Establish hsmaller_boundL47–56

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.

  1. L47
    have hsmaller_bound : exists t. t + x = B
  2. L48
    specialize le_of_succ_le_succ x
  3. L49
    specialize le_of_succ_le_succ B
  4. L50
    apply le_of_succ_le_succ
  5. L51
    exact hsuccessor_bound
  6. L52
    specialize IH p
  7. L53
    specialize IH x
  8. L54
    apply IH
  9. L55
    exact hsmaller_bound
  10. L56
    exact hprime
16Use earlier factsL57–59

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

  1. L57
    exact hsmaller_witness_left
  2. L58
    exact hsmaller_witness_right_right
  3. L59
    exact hstep

Library-wide reading audit

Original exact command ledger · 59 lines
  1. 0001intro B
  2. 0002induction B
  3. 0003intro p
  4. 0004intro k
  5. 0005intro hbound
  6. 0006intro hprime
  7. 0007intro hnonzero
  8. 0008intro hrepresented
  9. 0009intro hstep
  10. 0010exfalso
  11. 0011apply hnonzero
  12. 0012specialize le_zero k
  13. 0013apply le_zero
  14. 0014exact hbound
  15. 0015intro p
  16. 0016intro k
  17. 0017intro hbound
  18. 0018intro hprime
  19. 0019intro hnonzero
  20. 0020intro hrepresented
  21. 0021intro hstep
  22. 0022specialize eq_decidable k
  23. 0023specialize eq_decidable 1
  24. 0024cases eq_decidable
  25. 0025rewrite eq_decidable_left at hrepresented
  26. 0026specialize mul_one p
  27. 0027rewrite mul_one at hrepresented
  28. 0028exact hrepresented
  29. 0029have hsmaller : (exists r. (~(r = 0) /\ ((exists fsd_strict_gap. fsd_strict_gap + S r = k) /\ (exists fsl_a_fsd_strict_result fsl_b_fsd_strict_result fsl_c_fsd_strict_result fsl_d_fsd_strict_result. (p * r) = fsl_a_fsd_strict_result * fsl_a_fsd_strict_result + fsl_b_fsd_strict_result * fsl_b_fsd_strict_result + fsl_c_fsd_strict_result * fsl_c_fsd_strict_result + fsl_d_fsd_strict_result * fsl_d_fsd_strict_result))))
  30. 0030specialize hstep p
  31. 0031specialize hstep k
  32. 0032apply hstep
  33. 0033exact hprime
  34. 0034exact hnonzero
  35. 0035exact eq_decidable_right
  36. 0036exact hrepresented
  37. 0037cases hsmaller
  38. 0038cases hsmaller_witness
  39. 0039cases hsmaller_witness_right
  40. 0040have hsuccessor_bound : exists t. t + S x = S B
  41. 0041specialize le_trans (S x)
  42. 0042specialize le_trans k
  43. 0043specialize le_trans (S B)
  44. 0044apply le_trans
  45. 0045exact hsmaller_witness_right_left
  46. 0046exact hbound
  47. 0047have hsmaller_bound : exists t. t + x = B
  48. 0048specialize le_of_succ_le_succ x
  49. 0049specialize le_of_succ_le_succ B
  50. 0050apply le_of_succ_le_succ
  51. 0051exact hsuccessor_bound
  52. 0052specialize IH p
  53. 0053specialize IH x
  54. 0054apply IH
  55. 0055exact hsmaller_bound
  56. 0056exact hprime
  57. 0057exact hsmaller_witness_left
  58. 0058exact hsmaller_witness_right_right
  59. 0059exact hstep