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. ~(n=0) -> (~((p) = 1) /\ forall pvs_left_constructed_prime pvs_right_constructed_prime. (p) = pvs_left_constructed_prime * pvs_right_constructed_prime -> pvs_left_constructed_prime = 1 \/ pvs_right_constructed_prime = 1) -> (exists pvs_factor_constructed_divisor. (n) = (p) * pvs_factor_constructed_divisor) -> exists b c. (forall dvi_index_constructed_prefix. (exists pvs_gap_constructed_prefixdomain. pvs_gap_constructed_prefixdomain + S (dvi_index_constructed_prefix) = (S n)) -> exists dvi_value_constructed_prefix. ((((exists ff_h_pvs_constructed_prefixentry. ff_h_pvs_constructed_prefixentry + S (dvi_value_constructed_prefix) = S ((S (dvi_index_constructed_prefix)) * c)) /\ exists ff_q_pvs_constructed_prefixentry. b = ff_q_pvs_constructed_prefixentry * S ((S (dvi_index_constructed_prefix)) * c) + (dvi_value_constructed_prefix))) /\ ((((~((dvi_index_constructed_prefix)=0)) /\ (((exists pvs_factor_constructed_prefixgraphdivisor. (n) = (dvi_index_constructed_prefix) * pvs_factor_constructed_prefixgraphdivisor) /\ ((((~(exists pvs_factor_constructed_prefixgraphtogglefresh_input. (dvi_index_constructed_prefix) = (p) * pvs_factor_constructed_prefixgraphtogglefresh_input)) /\ ((dvi_value_constructed_prefix)=(p)*(dvi_index_constructed_prefix)))) \/ (((((dvi_index_constructed_prefix)=(p)*(dvi_value_constructed_prefix)) /\ (~(exists pvs_factor_constructed_prefixgraphtogglefresh_output. (dvi_value_constructed_prefix) = (p) * pvs_factor_constructed_prefixgraphtogglefresh_output)))) \/ (((exists pvs_factor_constructed_prefixgraphtogglesquare. (dvi_index_constructed_prefix) = ((p)*(p)) * pvs_factor_constructed_prefixgraphtogglesquare) /\ ((dvi_value_constructed_prefix)=(dvi_index_constructed_prefix)))))))))) \/ ((((dvi_index_constructed_prefix)=0 \/ ~(exists pvs_factor_constructed_prefixgraphnondivisor. (n) = (dvi_index_constructed_prefix) * pvs_factor_constructed_prefixgraphnondivisor)) /\ ((dvi_value_constructed_prefix)=(dvi_index_constructed_prefix))))))) /\ (((forall pfp_i_constructed_permutationbounded. (exists pfp_gap_constructed_permutationboundedindex. pfp_gap_constructed_permutationboundedindex + S (pfp_i_constructed_permutationbounded) = (S n)) -> exists pfp_a_constructed_permutationbounded. (((exists ff_h_pfp_constructed_permutationboundedentry. ff_h_pfp_constructed_permutationboundedentry + S (pfp_a_constructed_permutationbounded) = S ((S (pfp_i_constructed_permutationbounded)) * c)) /\ exists ff_q_pfp_constructed_permutationboundedentry. b = ff_q_pfp_constructed_permutationboundedentry * S ((S (pfp_i_constructed_permutationbounded)) * c) + (pfp_a_constructed_permutationbounded))) /\ (exists pfp_gap_constructed_permutationboundedvalue. pfp_gap_constructed_permutationboundedvalue + S (pfp_a_constructed_permutationbounded) = (S n))) /\ (((forall pfp_i_constructed_permutationinjective pfp_j_constructed_permutationinjective pfp_a_constructed_permutationinjective. (exists pfp_gap_constructed_permutationinjectivefirst. pfp_gap_constructed_permutationinjectivefirst + S (pfp_i_constructed_permutationinjective) = (S n)) -> (exists pfp_gap_constructed_permutationinjectivesecond. pfp_gap_constructed_permutationinjectivesecond + S (pfp_j_constructed_permutationinjective) = (S n)) -> (((exists ff_h_pfp_constructed_permutationinjectiveleft. ff_h_pfp_constructed_permutationinjectiveleft + S (pfp_a_constructed_permutationinjective) = S ((S (pfp_i_constructed_permutationinjective)) * c)) /\ exists ff_q_pfp_constructed_permutationinjectiveleft. b = ff_q_pfp_constructed_permutationinjectiveleft * S ((S (pfp_i_constructed_permutationinjective)) * c) + (pfp_a_constructed_permutationinjective))) -> (((exists ff_h_pfp_constructed_permutationinjectiveright. ff_h_pfp_constructed_permutationinjectiveright + S (pfp_a_constructed_permutationinjective) = S ((S (pfp_j_constructed_permutationinjective)) * c)) /\ exists ff_q_pfp_constructed_permutationinjectiveright. b = ff_q_pfp_constructed_permutationinjectiveright * S ((S (pfp_j_constructed_permutationinjective)) * c) + (pfp_a_constructed_permutationinjective))) -> pfp_i_constructed_permutationinjective = pfp_j_constructed_permutationinjective) /\ (forall pfp_a_constructed_permutationsurjective. (exists pfp_gap_constructed_permutationsurjectivevalue. pfp_gap_constructed_permutationsurjectivevalue + S (pfp_a_constructed_permutationsurjective) = (S n)) -> exists pfp_i_constructed_permutationsurjective. (exists pfp_gap_constructed_permutationsurjectiveindex. pfp_gap_constructed_permutationsurjectiveindex + S (pfp_i_constructed_permutationsurjective) = (S n)) /\ (((exists ff_h_pfp_constructed_permutationsurjectiveentry. ff_h_pfp_constructed_permutationsurjectiveentry + S (pfp_a_constructed_permutationsurjective) = S ((S (pfp_i_constructed_permutationsurjective)) * c)) /\ exists ff_q_pfp_constructed_permutationsurjectiveentry. b = ff_q_pfp_constructed_permutationsurjectiveentry * S ((S (pfp_i_constructed_permutationsurjective)) * c) + (pfp_a_constructed_permutationsurjective))))))))Constructive proof overview
Generated structural guide
For every actual prime divisor of a positive input, construct the complete finite toggle permutation without supplying its code.
The unchanged tactic script uses 2 declared prerequisites and contains 26 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
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
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 (2)
01Fix variables and assumptionsL1–5
02Establish htL6–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle prefix exists.
- L6
have ht : ∃ b. ∃ c. DivisorPrimeTogglePrefix(n,p,b,c,S n)Definitions: DivisorPrimeTogglePrefix - L7
specialize divisor_prime_toggle_prefix_exists (n) - L8
specialize divisor_prime_toggle_prefix_exists (p) - L9
specialize divisor_prime_toggle_prefix_exists (S n) - L10
apply divisor_prime_toggle_prefix_exists - L11
exact hp
03Separate the logical casesL12–13
04Construct an explicit witnessL14–15
05Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
split
06Use earlier factsL17–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
exact ht_witness_witness - L18
specialize divisor_prime_toggle_prefix_permutation (n) - L19
specialize divisor_prime_toggle_prefix_permutation (p) - L20
specialize divisor_prime_toggle_prefix_permutation (x) - L21
specialize divisor_prime_toggle_prefix_permutation (x1) - L22
apply divisor_prime_toggle_prefix_permutation - L23
exact hn - L24
exact hp - L25
exact hpn - L26
exact ht_witness_witness
Original exact command ledger · 26 lines
- 0001
intro n - 0002
intro p - 0003
intro hn - 0004
intro hp - 0005
intro hpn - 0006
have ht : exists b c. (forall dvi_index_constructed_map. (exists pvs_gap_constructed_mapdomain. pvs_gap_constructed_mapdomain + S (dvi_index_constructed_map) = (S n)) -> exists dvi_value_constructed_map. ((((exists ff_h_pvs_constructed_mapentry. ff_h_pvs_constructed_mapentry + S (dvi_value_constructed_map) = S ((S (dvi_index_constructed_map)) * c)) /\ exists ff_q_pvs_constructed_mapentry. b = ff_q_pvs_constructed_mapentry * S ((S (dvi_index_constructed_map)) * c) + (dvi_value_constructed_map))) /\ ((((~((dvi_index_constructed_map)=0)) /\ (((exists pvs_factor_constructed_mapgraphdivisor. (n) = (dvi_index_constructed_map) * pvs_factor_constructed_mapgraphdivisor) /\ ((((~(exists pvs_factor_constructed_mapgraphtogglefresh_input. (dvi_index_constructed_map) = (p) * pvs_factor_constructed_mapgraphtogglefresh_input)) /\ ((dvi_value_constructed_map)=(p)*(dvi_index_constructed_map)))) \/ (((((dvi_index_constructed_map)=(p)*(dvi_value_constructed_map)) /\ (~(exists pvs_factor_constructed_mapgraphtogglefresh_output. (dvi_value_constructed_map) = (p) * pvs_factor_constructed_mapgraphtogglefresh_output)))) \/ (((exists pvs_factor_constructed_mapgraphtogglesquare. (dvi_index_constructed_map) = ((p)*(p)) * pvs_factor_constructed_mapgraphtogglesquare) /\ ((dvi_value_constructed_map)=(dvi_index_constructed_map)))))))))) \/ ((((dvi_index_constructed_map)=0 \/ ~(exists pvs_factor_constructed_mapgraphnondivisor. (n) = (dvi_index_constructed_map) * pvs_factor_constructed_mapgraphnondivisor)) /\ ((dvi_value_constructed_map)=(dvi_index_constructed_map))))))) - 0007
specialize divisor_prime_toggle_prefix_exists (n) - 0008
specialize divisor_prime_toggle_prefix_exists (p) - 0009
specialize divisor_prime_toggle_prefix_exists (S n) - 0010
apply divisor_prime_toggle_prefix_exists - 0011
exact hp - 0012
cases ht - 0013
cases ht_witness - 0014
exists x - 0015
exists x1 - 0016
split - 0017
exact ht_witness_witness - 0018
specialize divisor_prime_toggle_prefix_permutation (n) - 0019
specialize divisor_prime_toggle_prefix_permutation (p) - 0020
specialize divisor_prime_toggle_prefix_permutation (x) - 0021
specialize divisor_prime_toggle_prefix_permutation (x1) - 0022
apply divisor_prime_toggle_prefix_permutation - 0023
exact hn - 0024
exact hp - 0025
exact hpn - 0026
exact ht_witness_witness