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 expanded first-order arithmetic statement
forall n p l. (~((p) = 1) /\ forall pvs_left_prefix_prime pvs_right_prefix_prime. (p) = pvs_left_prefix_prime * pvs_right_prefix_prime -> pvs_left_prefix_prime = 1 \/ pvs_right_prefix_prime = 1) -> exists b c. (forall dvi_index_prefix_result. (exists pvs_gap_prefix_resultdomain. pvs_gap_prefix_resultdomain + S (dvi_index_prefix_result) = (l)) -> exists dvi_value_prefix_result. ((((exists ff_h_pvs_prefix_resultentry. ff_h_pvs_prefix_resultentry + S (dvi_value_prefix_result) = S ((S (dvi_index_prefix_result)) * c)) /\ exists ff_q_pvs_prefix_resultentry. b = ff_q_pvs_prefix_resultentry * S ((S (dvi_index_prefix_result)) * c) + (dvi_value_prefix_result))) /\ ((((~((dvi_index_prefix_result)=0)) /\ (((exists pvs_factor_prefix_resultgraphdivisor. (n) = (dvi_index_prefix_result) * pvs_factor_prefix_resultgraphdivisor) /\ ((((~(exists pvs_factor_prefix_resultgraphtogglefresh_input. (dvi_index_prefix_result) = (p) * pvs_factor_prefix_resultgraphtogglefresh_input)) /\ ((dvi_value_prefix_result)=(p)*(dvi_index_prefix_result)))) \/ (((((dvi_index_prefix_result)=(p)*(dvi_value_prefix_result)) /\ (~(exists pvs_factor_prefix_resultgraphtogglefresh_output. (dvi_value_prefix_result) = (p) * pvs_factor_prefix_resultgraphtogglefresh_output)))) \/ (((exists pvs_factor_prefix_resultgraphtogglesquare. (dvi_index_prefix_result) = ((p)*(p)) * pvs_factor_prefix_resultgraphtogglesquare) /\ ((dvi_value_prefix_result)=(dvi_index_prefix_result)))))))))) \/ ((((dvi_index_prefix_result)=0 \/ ~(exists pvs_factor_prefix_resultgraphnondivisor. (n) = (dvi_index_prefix_result) * pvs_factor_prefix_resultgraphnondivisor)) /\ ((dvi_value_prefix_result)=(dvi_index_prefix_result)))))))Constructive proof overview
Generated structural guide
Ordinary finite induction constructs the actual beta-coded prime toggle at every index in the requested window.
The unchanged tactic script uses 4 declared prerequisites and contains 75 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
factor_permutation_below_zero_impossible Alpha theorem; checked-use authorized MC0008 divisor_prime_toggle_exists beta_prefix_extend Stable theorem; checked-use authorized finite_lt_succ_eq_or_lt 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 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
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 (1)
01Fix variables and assumptionsL1–3
02Induction on lL4–5
03Construct an explicit witnessL6–7
04Fix variables and assumptionsL8–9
05Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
exfalso
06Use earlier factsL11–13
07Fix variables and assumptionsL14–14
Work with arbitrary variables or the premises of the current implication.
- L14
intro hp
08Establish hprevL15–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L15
have hprev : ∃ b. ∃ c. DivisorPrimeTogglePrefix(n,p,b,c,l)Definitions: DivisorPrimeTogglePrefix - L16
apply IH - L17
exact hp
09Separate the logical casesL18–19
10Establish hvL20–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle exists.
11Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hv
12Establish hextL27–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
13Separate the logical casesL33–35
14Construct an explicit witnessL36–37
15Fix variables and assumptionsL38–39
16Establish hcL40–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
17Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
cases hc
18Calculate and transport equalitiesL46–55
19Calculate and transport equalitiesL56–57
20Construct an explicit witnessL58–58
Supply the displayed value, then prove that it has the required property.
- L58
exists x2
21Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
split
22Use earlier factsL60–61
23Establish holdL62–65
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprev witness witness.
24Separate the logical casesL66–67
25Construct an explicit witnessL68–68
Supply the displayed value, then prove that it has the required property.
- L68
exists x5
26Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
27Use earlier factsL70–75
Original exact command ledger · 75 lines
- 0001
intro n - 0002
intro p - 0003
intro l - 0004
induction l - 0005
intro hp - 0006
exists 0 - 0007
exists 0 - 0008
intro i - 0009
intro hi - 0010
exfalso - 0011
specialize factor_permutation_below_zero_impossible (i) - 0012
apply factor_permutation_below_zero_impossible - 0013
exact hi - 0014
intro hp - 0015
have hprev : exists b c. (forall dvi_index_choice_previous. (exists pvs_gap_choice_previousdomain. pvs_gap_choice_previousdomain + S (dvi_index_choice_previous) = (l)) -> exists dvi_value_choice_previous. ((((exists ff_h_pvs_choice_previousentry. ff_h_pvs_choice_previousentry + S (dvi_value_choice_previous) = S ((S (dvi_index_choice_previous)) * c)) /\ exists ff_q_pvs_choice_previousentry. b = ff_q_pvs_choice_previousentry * S ((S (dvi_index_choice_previous)) * c) + (dvi_value_choice_previous))) /\ ((((~((dvi_index_choice_previous)=0)) /\ (((exists pvs_factor_choice_previousgraphdivisor. (n) = (dvi_index_choice_previous) * pvs_factor_choice_previousgraphdivisor) /\ ((((~(exists pvs_factor_choice_previousgraphtogglefresh_input. (dvi_index_choice_previous) = (p) * pvs_factor_choice_previousgraphtogglefresh_input)) /\ ((dvi_value_choice_previous)=(p)*(dvi_index_choice_previous)))) \/ (((((dvi_index_choice_previous)=(p)*(dvi_value_choice_previous)) /\ (~(exists pvs_factor_choice_previousgraphtogglefresh_output. (dvi_value_choice_previous) = (p) * pvs_factor_choice_previousgraphtogglefresh_output)))) \/ (((exists pvs_factor_choice_previousgraphtogglesquare. (dvi_index_choice_previous) = ((p)*(p)) * pvs_factor_choice_previousgraphtogglesquare) /\ ((dvi_value_choice_previous)=(dvi_index_choice_previous)))))))))) \/ ((((dvi_index_choice_previous)=0 \/ ~(exists pvs_factor_choice_previousgraphnondivisor. (n) = (dvi_index_choice_previous) * pvs_factor_choice_previousgraphnondivisor)) /\ ((dvi_value_choice_previous)=(dvi_index_choice_previous))))))) - 0016
apply IH - 0017
exact hp - 0018
cases hprev - 0019
cases hprev_witness - 0020
have hv : exists v. ((((~((l)=0)) /\ (((exists pvs_factor_choice_valuedivisor. (n) = (l) * pvs_factor_choice_valuedivisor) /\ ((((~(exists pvs_factor_choice_valuetogglefresh_input. (l) = (p) * pvs_factor_choice_valuetogglefresh_input)) /\ ((v)=(p)*(l)))) \/ (((((l)=(p)*(v)) /\ (~(exists pvs_factor_choice_valuetogglefresh_output. (v) = (p) * pvs_factor_choice_valuetogglefresh_output)))) \/ (((exists pvs_factor_choice_valuetogglesquare. (l) = ((p)*(p)) * pvs_factor_choice_valuetogglesquare) /\ ((v)=(l)))))))))) \/ ((((l)=0 \/ ~(exists pvs_factor_choice_valuenondivisor. (n) = (l) * pvs_factor_choice_valuenondivisor)) /\ ((v)=(l))))) - 0021
specialize divisor_prime_toggle_exists (n) - 0022
specialize divisor_prime_toggle_exists (p) - 0023
specialize divisor_prime_toggle_exists (l) - 0024
apply divisor_prime_toggle_exists - 0025
exact hp - 0026
cases hv - 0027
have hext : exists b c. (((((exists ff_h_pvs_choice_last. ff_h_pvs_choice_last + S (x2) = S ((S (l)) * c)) /\ exists ff_q_pvs_choice_last. b = ff_q_pvs_choice_last * S ((S (l)) * c) + (x2))) /\ (forall pfp_i_choice_preserve pfp_a_choice_preserve. (exists pfp_gap_choice_preservebound. pfp_gap_choice_preservebound + S (pfp_i_choice_preserve) = (l)) -> (((exists ff_h_pfp_choice_preserveold. ff_h_pfp_choice_preserveold + S (pfp_a_choice_preserve) = S ((S (pfp_i_choice_preserve)) * x1)) /\ exists ff_q_pfp_choice_preserveold. x = ff_q_pfp_choice_preserveold * S ((S (pfp_i_choice_preserve)) * x1) + (pfp_a_choice_preserve))) -> (((exists ff_h_pfp_choice_preservenew. ff_h_pfp_choice_preservenew + S (pfp_a_choice_preserve) = S ((S (pfp_i_choice_preserve)) * c)) /\ exists ff_q_pfp_choice_preservenew. b = ff_q_pfp_choice_preservenew * S ((S (pfp_i_choice_preserve)) * c) + (pfp_a_choice_preserve)))))) - 0028
specialize beta_prefix_extend (l) - 0029
specialize beta_prefix_extend (x) - 0030
specialize beta_prefix_extend (x1) - 0031
specialize beta_prefix_extend (x2) - 0032
apply beta_prefix_extend - 0033
cases hext - 0034
cases hext_witness - 0035
cases hext_witness_witness - 0036
exists x3 - 0037
exists x4 - 0038
intro i - 0039
intro hi - 0040
have hc : i=l \/ (exists pvs_gap_choice_cases. pvs_gap_choice_cases + S (i) = (l)) - 0041
specialize finite_lt_succ_eq_or_lt (l) - 0042
specialize finite_lt_succ_eq_or_lt (i) - 0043
apply finite_lt_succ_eq_or_lt - 0044
exact hi - 0045
cases hc - 0046
rewrite hc_left - 0047
rewrite hc_left - 0048
rewrite hc_left - 0049
rewrite hc_left - 0050
rewrite hc_left - 0051
rewrite hc_left - 0052
rewrite hc_left - 0053
rewrite hc_left - 0054
rewrite hc_left - 0055
rewrite hc_left - 0056
rewrite hc_left - 0057
rewrite hc_left - 0058
exists x2 - 0059
split - 0060
exact hext_witness_witness_left - 0061
exact hv_witness - 0062
have hold : exists v. (((((exists ff_h_pvs_choice_old_entry. ff_h_pvs_choice_old_entry + S (v) = S ((S (i)) * x1)) /\ exists ff_q_pvs_choice_old_entry. x = ff_q_pvs_choice_old_entry * S ((S (i)) * x1) + (v))) /\ ((((~((i)=0)) /\ (((exists pvs_factor_choice_old_graphdivisor. (n) = (i) * pvs_factor_choice_old_graphdivisor) /\ ((((~(exists pvs_factor_choice_old_graphtogglefresh_input. (i) = (p) * pvs_factor_choice_old_graphtogglefresh_input)) /\ ((v)=(p)*(i)))) \/ (((((i)=(p)*(v)) /\ (~(exists pvs_factor_choice_old_graphtogglefresh_output. (v) = (p) * pvs_factor_choice_old_graphtogglefresh_output)))) \/ (((exists pvs_factor_choice_old_graphtogglesquare. (i) = ((p)*(p)) * pvs_factor_choice_old_graphtogglesquare) /\ ((v)=(i)))))))))) \/ ((((i)=0 \/ ~(exists pvs_factor_choice_old_graphnondivisor. (n) = (i) * pvs_factor_choice_old_graphnondivisor)) /\ ((v)=(i))))))) - 0063
specialize hprev_witness_witness (i) - 0064
apply hprev_witness_witness - 0065
exact hc_right - 0066
cases hold - 0067
cases hold_witness - 0068
exists x5 - 0069
split - 0070
specialize hext_witness_witness_right (i) - 0071
specialize hext_witness_witness_right (x5) - 0072
apply hext_witness_witness_right - 0073
exact hc_right - 0074
exact hold_witness_left - 0075
exact hold_witness_right