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 authorizedDirect 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
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.
- L1
intro B
02Induction on BL2–9
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
exfalso
04Use earlier factsL11–14
05Fix variables and assumptionsL15–21
06Use earlier factsL22–23
07Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- 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.
- L25
rewrite eq_decidable_left at hrepresented
09Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- 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.
- L27
rewrite mul_one at hrepresented
11Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- 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.
- 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)))) - L30
specialize hstep p - L31
specialize hstep k - L32
apply hstep - L33
exact hprime - L34
exact hnonzero - L35
exact eq_decidable_right - L36
exact hrepresented
13Separate the logical casesL37–39
14Establish hsuccessor_boundL40–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
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.
Original exact command ledger · 59 lines
- 0001
intro B - 0002
induction B - 0003
intro p - 0004
intro k - 0005
intro hbound - 0006
intro hprime - 0007
intro hnonzero - 0008
intro hrepresented - 0009
intro hstep - 0010
exfalso - 0011
apply hnonzero - 0012
specialize le_zero k - 0013
apply le_zero - 0014
exact hbound - 0015
intro p - 0016
intro k - 0017
intro hbound - 0018
intro hprime - 0019
intro hnonzero - 0020
intro hrepresented - 0021
intro hstep - 0022
specialize eq_decidable k - 0023
specialize eq_decidable 1 - 0024
cases eq_decidable - 0025
rewrite eq_decidable_left at hrepresented - 0026
specialize mul_one p - 0027
rewrite mul_one at hrepresented - 0028
exact hrepresented - 0029
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)))) - 0030
specialize hstep p - 0031
specialize hstep k - 0032
apply hstep - 0033
exact hprime - 0034
exact hnonzero - 0035
exact eq_decidable_right - 0036
exact hrepresented - 0037
cases hsmaller - 0038
cases hsmaller_witness - 0039
cases hsmaller_witness_right - 0040
have hsuccessor_bound : exists t. t + S x = S B - 0041
specialize le_trans (S x) - 0042
specialize le_trans k - 0043
specialize le_trans (S B) - 0044
apply le_trans - 0045
exact hsmaller_witness_right_left - 0046
exact hbound - 0047
have hsmaller_bound : exists t. t + x = B - 0048
specialize le_of_succ_le_succ x - 0049
specialize le_of_succ_le_succ B - 0050
apply le_of_succ_le_succ - 0051
exact hsuccessor_bound - 0052
specialize IH p - 0053
specialize IH x - 0054
apply IH - 0055
exact hsmaller_bound - 0056
exact hprime - 0057
exact hsmaller_witness_left - 0058
exact hsmaller_witness_right_right - 0059
exact hstep