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 b c l e. (forall pc_index_mask_extend_source. (exists pc_lt_mask_extend_source_bound. pc_lt_mask_extend_source_bound + S (pc_index_mask_extend_source) = (l)) -> exists pc_bit_mask_extend_source. (((exists fs_h_pc_mask_extend_source_entry. fs_h_pc_mask_extend_source_entry + S (pc_bit_mask_extend_source) = S ((S (pc_index_mask_extend_source)) * c)) /\ exists fs_q_pc_mask_extend_source_entry. b = fs_q_pc_mask_extend_source_entry * S ((S (pc_index_mask_extend_source)) * c) + (pc_bit_mask_extend_source))) /\ (((((~(S (pc_index_mask_extend_source) = 1) /\ forall bpr_left_pc_mask_extend_source_choice_prime bpr_right_pc_mask_extend_source_choice_prime. S (pc_index_mask_extend_source) = bpr_left_pc_mask_extend_source_choice_prime * bpr_right_pc_mask_extend_source_choice_prime -> bpr_left_pc_mask_extend_source_choice_prime = 1 \/ bpr_right_pc_mask_extend_source_choice_prime = 1)) /\ pc_bit_mask_extend_source = 1) \/ (~((~(S (pc_index_mask_extend_source) = 1) /\ forall bpr_left_pc_mask_extend_source_choice_prime bpr_right_pc_mask_extend_source_choice_prime. S (pc_index_mask_extend_source) = bpr_left_pc_mask_extend_source_choice_prime * bpr_right_pc_mask_extend_source_choice_prime -> bpr_left_pc_mask_extend_source_choice_prime = 1 \/ bpr_right_pc_mask_extend_source_choice_prime = 1)) /\ pc_bit_mask_extend_source = 0)))) -> (((((~(S (l) = 1) /\ forall bpr_left_pc_mask_extend_choice_prime bpr_right_pc_mask_extend_choice_prime. S (l) = bpr_left_pc_mask_extend_choice_prime * bpr_right_pc_mask_extend_choice_prime -> bpr_left_pc_mask_extend_choice_prime = 1 \/ bpr_right_pc_mask_extend_choice_prime = 1)) /\ e = 1) \/ (~((~(S (l) = 1) /\ forall bpr_left_pc_mask_extend_choice_prime bpr_right_pc_mask_extend_choice_prime. S (l) = bpr_left_pc_mask_extend_choice_prime * bpr_right_pc_mask_extend_choice_prime -> bpr_left_pc_mask_extend_choice_prime = 1 \/ bpr_right_pc_mask_extend_choice_prime = 1)) /\ e = 0))) -> exists d f. forall pc_index_mask_extend_target. (exists pc_lt_mask_extend_target_bound. pc_lt_mask_extend_target_bound + S (pc_index_mask_extend_target) = (S l)) -> exists pc_bit_mask_extend_target. (((exists fs_h_pc_mask_extend_target_entry. fs_h_pc_mask_extend_target_entry + S (pc_bit_mask_extend_target) = S ((S (pc_index_mask_extend_target)) * f)) /\ exists fs_q_pc_mask_extend_target_entry. d = fs_q_pc_mask_extend_target_entry * S ((S (pc_index_mask_extend_target)) * f) + (pc_bit_mask_extend_target))) /\ (((((~(S (pc_index_mask_extend_target) = 1) /\ forall bpr_left_pc_mask_extend_target_choice_prime bpr_right_pc_mask_extend_target_choice_prime. S (pc_index_mask_extend_target) = bpr_left_pc_mask_extend_target_choice_prime * bpr_right_pc_mask_extend_target_choice_prime -> bpr_left_pc_mask_extend_target_choice_prime = 1 \/ bpr_right_pc_mask_extend_target_choice_prime = 1)) /\ pc_bit_mask_extend_target = 1) \/ (~((~(S (pc_index_mask_extend_target) = 1) /\ forall bpr_left_pc_mask_extend_target_choice_prime bpr_right_pc_mask_extend_target_choice_prime. S (pc_index_mask_extend_target) = bpr_left_pc_mask_extend_target_choice_prime * bpr_right_pc_mask_extend_target_choice_prime -> bpr_left_pc_mask_extend_target_choice_prime = 1 \/ bpr_right_pc_mask_extend_target_choice_prime = 1)) /\ pc_bit_mask_extend_target = 0)))Constructive proof overview
Generated structural guide
Append a genuinely decided prime bit while preserving the entire existing prefix.
The unchanged tactic script uses 3 declared prerequisites and contains 52 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_prefix_extend Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ 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.
01Fix variables and assumptionsL1–6
02Establish hextL7–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
03Separate the logical casesL13–15
04Construct an explicit witnessL16–17
05Fix variables and assumptionsL18–19
06Establish hcasesL20–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
07Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hcases
08Construct an explicit witnessL29–29
Supply the displayed value, then prove that it has the required property.
- L29
exists e
09Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
10Calculate and transport equalitiesL31–32
11Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hext_witness_witness_left
12Calculate and transport equalitiesL34–37
13Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact he
14Establish hpL39–42
15Separate the logical casesL43–44
16Construct an explicit witnessL45–45
Supply the displayed value, then prove that it has the required property.
- L45
exists x2
17Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
Original exact command ledger · 52 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro e - 0005
intro h - 0006
intro he - 0007
have hext : exists d f. (((exists fs_h_pc_mask_extend_last. fs_h_pc_mask_extend_last + S (e) = S ((S (l)) * f)) /\ exists fs_q_pc_mask_extend_last. d = fs_q_pc_mask_extend_last * S ((S (l)) * f) + (e))) /\ forall i a. (exists pc_lt_mask_extend_bound. pc_lt_mask_extend_bound + S (i) = (l)) -> (((exists fs_h_pc_mask_extend_old. fs_h_pc_mask_extend_old + S (a) = S ((S (i)) * c)) /\ exists fs_q_pc_mask_extend_old. b = fs_q_pc_mask_extend_old * S ((S (i)) * c) + (a))) -> (((exists fs_h_pc_mask_extend_new. fs_h_pc_mask_extend_new + S (a) = S ((S (i)) * f)) /\ exists fs_q_pc_mask_extend_new. d = fs_q_pc_mask_extend_new * S ((S (i)) * f) + (a))) - 0008
specialize beta_prefix_extend l - 0009
specialize beta_prefix_extend b - 0010
specialize beta_prefix_extend c - 0011
specialize beta_prefix_extend e - 0012
apply beta_prefix_extend - 0013
cases hext - 0014
cases hext_witness - 0015
cases hext_witness_witness - 0016
exists x - 0017
exists x1 - 0018
intro i - 0019
intro hi - 0020
have hcases : i = l \/ exists g. g + S i = l - 0021
specialize le_eq_or_lt i - 0022
specialize le_eq_or_lt l - 0023
apply le_eq_or_lt - 0024
specialize le_of_succ_le_succ i - 0025
specialize le_of_succ_le_succ l - 0026
apply le_of_succ_le_succ - 0027
exact hi - 0028
cases hcases - 0029
exists e - 0030
split - 0031
rewrite hcases_left - 0032
rewrite hcases_left - 0033
exact hext_witness_witness_left - 0034
rewrite hcases_left - 0035
rewrite hcases_left - 0036
rewrite hcases_left - 0037
rewrite hcases_left - 0038
exact he - 0039
have hp : exists a. (((exists fs_h_pc_mask_extend_point. fs_h_pc_mask_extend_point + S (a) = S ((S (i)) * c)) /\ exists fs_q_pc_mask_extend_point. b = fs_q_pc_mask_extend_point * S ((S (i)) * c) + (a))) /\ (((((~(S (i) = 1) /\ forall bpr_left_pc_mask_extend_point_choice_prime bpr_right_pc_mask_extend_point_choice_prime. S (i) = bpr_left_pc_mask_extend_point_choice_prime * bpr_right_pc_mask_extend_point_choice_prime -> bpr_left_pc_mask_extend_point_choice_prime = 1 \/ bpr_right_pc_mask_extend_point_choice_prime = 1)) /\ a = 1) \/ (~((~(S (i) = 1) /\ forall bpr_left_pc_mask_extend_point_choice_prime bpr_right_pc_mask_extend_point_choice_prime. S (i) = bpr_left_pc_mask_extend_point_choice_prime * bpr_right_pc_mask_extend_point_choice_prime -> bpr_left_pc_mask_extend_point_choice_prime = 1 \/ bpr_right_pc_mask_extend_point_choice_prime = 1)) /\ a = 0))) - 0040
specialize h i - 0041
apply h - 0042
exact hcases_right - 0043
cases hp - 0044
cases hp_witness - 0045
exists x2 - 0046
split - 0047
specialize hext_witness_witness_right i - 0048
specialize hext_witness_witness_right x2 - 0049
apply hext_witness_witness_right - 0050
exact hcases_right - 0051
exact hp_witness_left - 0052
exact hp_witness_right