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 l. exists b c. forall pc_index_mask_exists. (exists pc_lt_mask_exists_bound. pc_lt_mask_exists_bound + S (pc_index_mask_exists) = (l)) -> exists pc_bit_mask_exists. (((exists fs_h_pc_mask_exists_entry. fs_h_pc_mask_exists_entry + S (pc_bit_mask_exists) = S ((S (pc_index_mask_exists)) * c)) /\ exists fs_q_pc_mask_exists_entry. b = fs_q_pc_mask_exists_entry * S ((S (pc_index_mask_exists)) * c) + (pc_bit_mask_exists))) /\ (((((~(S (pc_index_mask_exists) = 1) /\ forall bpr_left_pc_mask_exists_choice_prime bpr_right_pc_mask_exists_choice_prime. S (pc_index_mask_exists) = bpr_left_pc_mask_exists_choice_prime * bpr_right_pc_mask_exists_choice_prime -> bpr_left_pc_mask_exists_choice_prime = 1 \/ bpr_right_pc_mask_exists_choice_prime = 1)) /\ pc_bit_mask_exists = 1) \/ (~((~(S (pc_index_mask_exists) = 1) /\ forall bpr_left_pc_mask_exists_choice_prime bpr_right_pc_mask_exists_choice_prime. S (pc_index_mask_exists) = bpr_left_pc_mask_exists_choice_prime * bpr_right_pc_mask_exists_choice_prime -> bpr_left_pc_mask_exists_choice_prime = 1 \/ bpr_right_pc_mask_exists_choice_prime = 1)) /\ pc_bit_mask_exists = 0)))Constructive proof overview
Generated structural guide
HA induction constructs the complete finite primality mask at every natural bound.
The unchanged tactic script uses 3 declared prerequisites and contains 21 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · 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 (3)
01Induction on lL1–1
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L1
induction l
02Construct an explicit witnessL2–3
03Use earlier factsL4–6
04Establish hpreL7–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L7
have hpre : ∃ b. ∃ c. PrimeBitPrefix(b,c,l)Definitions: PrimeBitPrefix - L8
apply IH
05Separate the logical casesL9–10
06Establish hcL11–13
07Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hc
08Use earlier factsL15–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 21 lines
- 0001
induction l - 0002
exists 0 - 0003
exists 0 - 0004
specialize prime_bit_prefix_empty 0 - 0005
specialize prime_bit_prefix_empty 0 - 0006
apply prime_bit_prefix_empty - 0007
have hpre : exists b c. forall pc_index_mask_exists_pre. (exists pc_lt_mask_exists_pre_bound. pc_lt_mask_exists_pre_bound + S (pc_index_mask_exists_pre) = (l)) -> exists pc_bit_mask_exists_pre. (((exists fs_h_pc_mask_exists_pre_entry. fs_h_pc_mask_exists_pre_entry + S (pc_bit_mask_exists_pre) = S ((S (pc_index_mask_exists_pre)) * c)) /\ exists fs_q_pc_mask_exists_pre_entry. b = fs_q_pc_mask_exists_pre_entry * S ((S (pc_index_mask_exists_pre)) * c) + (pc_bit_mask_exists_pre))) /\ (((((~(S (pc_index_mask_exists_pre) = 1) /\ forall bpr_left_pc_mask_exists_pre_choice_prime bpr_right_pc_mask_exists_pre_choice_prime. S (pc_index_mask_exists_pre) = bpr_left_pc_mask_exists_pre_choice_prime * bpr_right_pc_mask_exists_pre_choice_prime -> bpr_left_pc_mask_exists_pre_choice_prime = 1 \/ bpr_right_pc_mask_exists_pre_choice_prime = 1)) /\ pc_bit_mask_exists_pre = 1) \/ (~((~(S (pc_index_mask_exists_pre) = 1) /\ forall bpr_left_pc_mask_exists_pre_choice_prime bpr_right_pc_mask_exists_pre_choice_prime. S (pc_index_mask_exists_pre) = bpr_left_pc_mask_exists_pre_choice_prime * bpr_right_pc_mask_exists_pre_choice_prime -> bpr_left_pc_mask_exists_pre_choice_prime = 1 \/ bpr_right_pc_mask_exists_pre_choice_prime = 1)) /\ pc_bit_mask_exists_pre = 0))) - 0008
apply IH - 0009
cases hpre - 0010
cases hpre_witness - 0011
have hc : exists e. ((((~(S (l) = 1) /\ forall bpr_left_pc_mask_exists_choice_prime bpr_right_pc_mask_exists_choice_prime. S (l) = bpr_left_pc_mask_exists_choice_prime * bpr_right_pc_mask_exists_choice_prime -> bpr_left_pc_mask_exists_choice_prime = 1 \/ bpr_right_pc_mask_exists_choice_prime = 1)) /\ e = 1) \/ (~((~(S (l) = 1) /\ forall bpr_left_pc_mask_exists_choice_prime bpr_right_pc_mask_exists_choice_prime. S (l) = bpr_left_pc_mask_exists_choice_prime * bpr_right_pc_mask_exists_choice_prime -> bpr_left_pc_mask_exists_choice_prime = 1 \/ bpr_right_pc_mask_exists_choice_prime = 1)) /\ e = 0)) - 0012
specialize prime_bit_choice_exists l - 0013
apply prime_bit_choice_exists - 0014
cases hc - 0015
specialize prime_bit_prefix_extend x - 0016
specialize prime_bit_prefix_extend x1 - 0017
specialize prime_bit_prefix_extend l - 0018
specialize prime_bit_prefix_extend x2 - 0019
apply prime_bit_prefix_extend - 0020
exact hpre_witness_witness - 0021
exact hc_witness