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 d e. ~(n=0) -> (~((p) = 1) /\ forall pvs_left_divisor_symmetric_prime pvs_right_divisor_symmetric_prime. (p) = pvs_left_divisor_symmetric_prime * pvs_right_divisor_symmetric_prime -> pvs_left_divisor_symmetric_prime = 1 \/ pvs_right_divisor_symmetric_prime = 1) -> (exists pvs_factor_divisor_symmetric_prime_divisor. (n) = (p) * pvs_factor_divisor_symmetric_prime_divisor) -> ((((~((d)=0)) /\ (((exists pvs_factor_divisor_symmetric_sourcedivisor. (n) = (d) * pvs_factor_divisor_symmetric_sourcedivisor) /\ ((((~(exists pvs_factor_divisor_symmetric_sourcetogglefresh_input. (d) = (p) * pvs_factor_divisor_symmetric_sourcetogglefresh_input)) /\ ((e)=(p)*(d)))) \/ (((((d)=(p)*(e)) /\ (~(exists pvs_factor_divisor_symmetric_sourcetogglefresh_output. (e) = (p) * pvs_factor_divisor_symmetric_sourcetogglefresh_output)))) \/ (((exists pvs_factor_divisor_symmetric_sourcetogglesquare. (d) = ((p)*(p)) * pvs_factor_divisor_symmetric_sourcetogglesquare) /\ ((e)=(d)))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_divisor_symmetric_sourcenondivisor. (n) = (d) * pvs_factor_divisor_symmetric_sourcenondivisor)) /\ ((e)=(d))))) -> ((((~((e)=0)) /\ (((exists pvs_factor_divisor_symmetric_targetdivisor. (n) = (e) * pvs_factor_divisor_symmetric_targetdivisor) /\ ((((~(exists pvs_factor_divisor_symmetric_targettogglefresh_input. (e) = (p) * pvs_factor_divisor_symmetric_targettogglefresh_input)) /\ ((d)=(p)*(e)))) \/ (((((e)=(p)*(d)) /\ (~(exists pvs_factor_divisor_symmetric_targettogglefresh_output. (d) = (p) * pvs_factor_divisor_symmetric_targettogglefresh_output)))) \/ (((exists pvs_factor_divisor_symmetric_targettogglesquare. (e) = ((p)*(p)) * pvs_factor_divisor_symmetric_targettogglesquare) /\ ((d)=(e)))))))))) \/ ((((e)=0 \/ ~(exists pvs_factor_divisor_symmetric_targetnondivisor. (n) = (e) * pvs_factor_divisor_symmetric_targetnondivisor)) /\ ((d)=(e)))))Constructive proof overview
Generated structural guide
For a prime divisor of positive n, toggling preserves positive divisors and reverses the actual graph; omitted indices stay fixed.
The unchanged tactic script uses 4 declared prerequisites and contains 56 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
MC0006 prime_factor_toggle_positive prime_nonzero Stable theorem; checked-use authorized MC0007 prime_factor_toggle_preserves_divisor MC0005 prime_factor_toggle_symmetricDirect 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 (3)
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–13
03Fix variables and assumptionsL14–14
Work with arbitrary variables or the premises of the current implication.
- L14
intro hzero
04Use earlier factsL15–18
05Fix variables and assumptionsL19–19
Work with arbitrary variables or the premises of the current implication.
- L19
intro hpzero
06Use earlier factsL20–26
07Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
08Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize prime_factor_toggle_preserves_divisor (p) - L29
specialize prime_factor_toggle_preserves_divisor (n) - L30
specialize prime_factor_toggle_preserves_divisor (d) - L31
specialize prime_factor_toggle_preserves_divisor (e) - L32
apply prime_factor_toggle_preserves_divisor - L33
exact hp - L34
exact hpn - L35
exact h_left_right_left - L36
exact h_left_right_right - L37
specialize prime_factor_toggle_symmetric (p)
09Use earlier factsL38–41
10Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases h_right
11Calculate and transport equalitiesL43–52
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
12Separate the logical casesL53–54
13Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact h_right_left
14Calculate and transport equalitiesL56–56
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L56
refl
Original exact command ledger · 56 lines
- 0001
intro n - 0002
intro p - 0003
intro d - 0004
intro e - 0005
intro hn - 0006
intro hp - 0007
intro hpn - 0008
intro h - 0009
cases h - 0010
cases h_left - 0011
cases h_left_right - 0012
left - 0013
split - 0014
intro hzero - 0015
specialize prime_factor_toggle_positive (p) - 0016
specialize prime_factor_toggle_positive (d) - 0017
specialize prime_factor_toggle_positive (e) - 0018
apply prime_factor_toggle_positive - 0019
intro hpzero - 0020
specialize prime_nonzero (p) - 0021
apply prime_nonzero - 0022
exact hp - 0023
exact hpzero - 0024
exact h_left_left - 0025
exact h_left_right_right - 0026
exact hzero - 0027
split - 0028
specialize prime_factor_toggle_preserves_divisor (p) - 0029
specialize prime_factor_toggle_preserves_divisor (n) - 0030
specialize prime_factor_toggle_preserves_divisor (d) - 0031
specialize prime_factor_toggle_preserves_divisor (e) - 0032
apply prime_factor_toggle_preserves_divisor - 0033
exact hp - 0034
exact hpn - 0035
exact h_left_right_left - 0036
exact h_left_right_right - 0037
specialize prime_factor_toggle_symmetric (p) - 0038
specialize prime_factor_toggle_symmetric (d) - 0039
specialize prime_factor_toggle_symmetric (e) - 0040
apply prime_factor_toggle_symmetric - 0041
exact h_left_right_right - 0042
cases h_right - 0043
rewrite h_right_right - 0044
rewrite h_right_right - 0045
rewrite h_right_right - 0046
rewrite h_right_right - 0047
rewrite h_right_right - 0048
rewrite h_right_right - 0049
rewrite h_right_right - 0050
rewrite h_right_right - 0051
rewrite h_right_right - 0052
rewrite h_right_right - 0053
right - 0054
split - 0055
exact h_right_left - 0056
refl