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 p h e. p = 2 * h + 1 -> (((h = 2 * e) \/ (exists qst_count_half_shape. h = 2 * qst_count_half_shape + 1 /\ e = S qst_count_half_shape))) -> ((((((exists qst_even_count. e = 2 * qst_even_count) -> (((exists qst_mod_eight_modulus_one. p = 8 * qst_mod_eight_modulus_one + 1) \/ (exists qst_mod_eight_modulus_seven. p = 8 * qst_mod_eight_modulus_seven + 7)))) /\ ((((exists qst_mod_eight_modulus_one. p = 8 * qst_mod_eight_modulus_one + 1) \/ (exists qst_mod_eight_modulus_seven. p = 8 * qst_mod_eight_modulus_seven + 7))) -> (exists qst_even_count. e = 2 * qst_even_count)))) /\ ((((exists qst_odd_count. e = 2 * qst_odd_count + 1) -> (((exists qst_mod_eight_modulus_three. p = 8 * qst_mod_eight_modulus_three + 3) \/ (exists qst_mod_eight_modulus_five. p = 8 * qst_mod_eight_modulus_five + 5)))) /\ ((((exists qst_mod_eight_modulus_three. p = 8 * qst_mod_eight_modulus_three + 3) \/ (exists qst_mod_eight_modulus_five. p = 8 * qst_mod_eight_modulus_five + 5))) -> (exists qst_odd_count. e = 2 * qst_odd_count + 1))))))Constructive proof overview
Generated structural guide
For the exact doubling reflection-count shape, evenness is equivalent to classes one/seven and oddness to three/five.
The unchanged tactic script uses 4 declared prerequisites and contains 60 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
SL000D doubling_gauss_even_count_implies_good_mod_eight SL000E doubling_gauss_odd_count_implies_bad_mod_eight SL000C mod_eight_good_bad_exclusive parity_cases 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 (3)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–7
03Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro heven
04Use earlier factsL9–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Fix variables and assumptionsL16–16
Work with arbitrary variables or the premises of the current implication.
- L16
intro hgood
06Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
specialize parity_cases e
07Separate the logical casesL18–19
08Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists x
09Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact parity_cases_witness_left
10Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
exfalso
11Use earlier factsL23–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
specialize mod_eight_good_bad_exclusive p - L24
apply mod_eight_good_bad_exclusive - L25
exact hgood - L26
specialize doubling_gauss_odd_count_implies_bad_mod_eight p - L27
specialize doubling_gauss_odd_count_implies_bad_mod_eight h - L28
specialize doubling_gauss_odd_count_implies_bad_mod_eight e - L29
apply doubling_gauss_odd_count_implies_bad_mod_eight - L30
exact hpodd - L31
exact hshape
12Construct an explicit witnessL32–32
Supply the displayed value, then prove that it has the required property.
- L32
exists x
13Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact parity_cases_witness_right
14Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
15Fix variables and assumptionsL35–35
Work with arbitrary variables or the premises of the current implication.
- L35
intro hodd
16Use earlier factsL36–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Fix variables and assumptionsL43–43
Work with arbitrary variables or the premises of the current implication.
- L43
intro hbad
18Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize parity_cases e
19Separate the logical casesL45–47
20Use earlier factsL48–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize mod_eight_good_bad_exclusive p - L49
apply mod_eight_good_bad_exclusive - L50
specialize doubling_gauss_even_count_implies_good_mod_eight p - L51
specialize doubling_gauss_even_count_implies_good_mod_eight h - L52
specialize doubling_gauss_even_count_implies_good_mod_eight e - L53
apply doubling_gauss_even_count_implies_good_mod_eight - L54
exact hpodd - L55
exact hshape
21Construct an explicit witnessL56–56
Supply the displayed value, then prove that it has the required property.
- L56
exists x
22Use earlier factsL57–58
23Construct an explicit witnessL59–59
Supply the displayed value, then prove that it has the required property.
- L59
exists x
24Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact parity_cases_witness_right
Original exact command ledger · 60 lines
- 0001
intro p - 0002
intro h - 0003
intro e - 0004
intro hpodd - 0005
intro hshape - 0006
split - 0007
split - 0008
intro heven - 0009
specialize doubling_gauss_even_count_implies_good_mod_eight p - 0010
specialize doubling_gauss_even_count_implies_good_mod_eight h - 0011
specialize doubling_gauss_even_count_implies_good_mod_eight e - 0012
apply doubling_gauss_even_count_implies_good_mod_eight - 0013
exact hpodd - 0014
exact hshape - 0015
exact heven - 0016
intro hgood - 0017
specialize parity_cases e - 0018
cases parity_cases - 0019
cases parity_cases_witness - 0020
exists x - 0021
exact parity_cases_witness_left - 0022
exfalso - 0023
specialize mod_eight_good_bad_exclusive p - 0024
apply mod_eight_good_bad_exclusive - 0025
exact hgood - 0026
specialize doubling_gauss_odd_count_implies_bad_mod_eight p - 0027
specialize doubling_gauss_odd_count_implies_bad_mod_eight h - 0028
specialize doubling_gauss_odd_count_implies_bad_mod_eight e - 0029
apply doubling_gauss_odd_count_implies_bad_mod_eight - 0030
exact hpodd - 0031
exact hshape - 0032
exists x - 0033
exact parity_cases_witness_right - 0034
split - 0035
intro hodd - 0036
specialize doubling_gauss_odd_count_implies_bad_mod_eight p - 0037
specialize doubling_gauss_odd_count_implies_bad_mod_eight h - 0038
specialize doubling_gauss_odd_count_implies_bad_mod_eight e - 0039
apply doubling_gauss_odd_count_implies_bad_mod_eight - 0040
exact hpodd - 0041
exact hshape - 0042
exact hodd - 0043
intro hbad - 0044
specialize parity_cases e - 0045
cases parity_cases - 0046
cases parity_cases_witness - 0047
exfalso - 0048
specialize mod_eight_good_bad_exclusive p - 0049
apply mod_eight_good_bad_exclusive - 0050
specialize doubling_gauss_even_count_implies_good_mod_eight p - 0051
specialize doubling_gauss_even_count_implies_good_mod_eight h - 0052
specialize doubling_gauss_even_count_implies_good_mod_eight e - 0053
apply doubling_gauss_even_count_implies_good_mod_eight - 0054
exact hpodd - 0055
exact hshape - 0056
exists x - 0057
exact parity_cases_witness_left - 0058
exact hbad - 0059
exists x - 0060
exact parity_cases_witness_right