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 u b c d f l e. (forall pc_index_cut_extend_source. (exists pc_lt_cut_extend_source_bound. pc_lt_cut_extend_source_bound + S (pc_index_cut_extend_source) = (l)) -> exists pc_bit_cut_extend_source. (((exists fs_h_pc_cut_extend_source_entry. fs_h_pc_cut_extend_source_entry + S (pc_bit_cut_extend_source) = S ((S (pc_index_cut_extend_source)) * f)) /\ exists fs_q_pc_cut_extend_source_entry. d = fs_q_pc_cut_extend_source_entry * S ((S (pc_index_cut_extend_source)) * f) + (pc_bit_cut_extend_source))) /\ ((((exists pc_lt_cut_extend_source_choice_below. pc_lt_cut_extend_source_choice_below + S (pc_index_cut_extend_source) = (u)) /\ pc_bit_cut_extend_source = 0) \/ ((exists pc_le_cut_extend_source_choice_above. pc_le_cut_extend_source_choice_above + (u) = (pc_index_cut_extend_source)) /\ (((exists fs_h_pc_cut_extend_source_choice_source. fs_h_pc_cut_extend_source_choice_source + S (pc_bit_cut_extend_source) = S ((S (pc_index_cut_extend_source)) * c)) /\ exists fs_q_pc_cut_extend_source_choice_source. b = fs_q_pc_cut_extend_source_choice_source * S ((S (pc_index_cut_extend_source)) * c) + (pc_bit_cut_extend_source))))))) -> ((((exists pc_lt_cut_extend_choice_below. pc_lt_cut_extend_choice_below + S (l) = (u)) /\ e = 0) \/ ((exists pc_le_cut_extend_choice_above. pc_le_cut_extend_choice_above + (u) = (l)) /\ (((exists fs_h_pc_cut_extend_choice_source. fs_h_pc_cut_extend_choice_source + S (e) = S ((S (l)) * c)) /\ exists fs_q_pc_cut_extend_choice_source. b = fs_q_pc_cut_extend_choice_source * S ((S (l)) * c) + (e)))))) -> exists g h. forall pc_index_cut_extend_target. (exists pc_lt_cut_extend_target_bound. pc_lt_cut_extend_target_bound + S (pc_index_cut_extend_target) = (S l)) -> exists pc_bit_cut_extend_target. (((exists fs_h_pc_cut_extend_target_entry. fs_h_pc_cut_extend_target_entry + S (pc_bit_cut_extend_target) = S ((S (pc_index_cut_extend_target)) * h)) /\ exists fs_q_pc_cut_extend_target_entry. g = fs_q_pc_cut_extend_target_entry * S ((S (pc_index_cut_extend_target)) * h) + (pc_bit_cut_extend_target))) /\ ((((exists pc_lt_cut_extend_target_choice_below. pc_lt_cut_extend_target_choice_below + S (pc_index_cut_extend_target) = (u)) /\ pc_bit_cut_extend_target = 0) \/ ((exists pc_le_cut_extend_target_choice_above. pc_le_cut_extend_target_choice_above + (u) = (pc_index_cut_extend_target)) /\ (((exists fs_h_pc_cut_extend_target_choice_source. fs_h_pc_cut_extend_target_choice_source + S (pc_bit_cut_extend_target) = S ((S (pc_index_cut_extend_target)) * c)) /\ exists fs_q_pc_cut_extend_target_choice_source. b = fs_q_pc_cut_extend_target_choice_source * S ((S (pc_index_cut_extend_target)) * c) + (pc_bit_cut_extend_target))))))Constructive proof overview
Generated structural guide
Append an actual cutoff choice, preserving every previously coded entry.
The unchanged tactic script uses 3 declared prerequisites and contains 55 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–9
02Establish hextL10–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
03Separate the logical casesL16–18
04Construct an explicit witnessL19–20
05Fix variables and assumptionsL21–22
06Establish hcL23–30
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 casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hc
08Construct an explicit witnessL32–32
Supply the displayed value, then prove that it has the required property.
- L32
exists e
09Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
10Calculate and transport equalitiesL34–35
11Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hext_witness_witness_left
12Calculate and transport equalitiesL37–40
13Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact he
14Establish hpL42–45
15Separate the logical casesL46–47
16Construct an explicit witnessL48–48
Supply the displayed value, then prove that it has the required property.
- L48
exists x2
17Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
split
Original exact command ledger · 55 lines
- 0001
intro u - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro f - 0006
intro l - 0007
intro e - 0008
intro h - 0009
intro he - 0010
have hext : exists g j. (((exists fs_h_pc_cut_extend_last. fs_h_pc_cut_extend_last + S (e) = S ((S (l)) * j)) /\ exists fs_q_pc_cut_extend_last. g = fs_q_pc_cut_extend_last * S ((S (l)) * j) + (e))) /\ forall i a. (exists pc_lt_cut_extend_bound. pc_lt_cut_extend_bound + S (i) = (l)) -> (((exists fs_h_pc_cut_extend_old. fs_h_pc_cut_extend_old + S (a) = S ((S (i)) * f)) /\ exists fs_q_pc_cut_extend_old. d = fs_q_pc_cut_extend_old * S ((S (i)) * f) + (a))) -> (((exists fs_h_pc_cut_extend_new. fs_h_pc_cut_extend_new + S (a) = S ((S (i)) * j)) /\ exists fs_q_pc_cut_extend_new. g = fs_q_pc_cut_extend_new * S ((S (i)) * j) + (a))) - 0011
specialize beta_prefix_extend l - 0012
specialize beta_prefix_extend d - 0013
specialize beta_prefix_extend f - 0014
specialize beta_prefix_extend e - 0015
apply beta_prefix_extend - 0016
cases hext - 0017
cases hext_witness - 0018
cases hext_witness_witness - 0019
exists x - 0020
exists x1 - 0021
intro i - 0022
intro hi - 0023
have hc : i = l \/ exists g. g + S i = l - 0024
specialize le_eq_or_lt i - 0025
specialize le_eq_or_lt l - 0026
apply le_eq_or_lt - 0027
specialize le_of_succ_le_succ i - 0028
specialize le_of_succ_le_succ l - 0029
apply le_of_succ_le_succ - 0030
exact hi - 0031
cases hc - 0032
exists e - 0033
split - 0034
rewrite hc_left - 0035
rewrite hc_left - 0036
exact hext_witness_witness_left - 0037
rewrite hc_left - 0038
rewrite hc_left - 0039
rewrite hc_left - 0040
rewrite hc_left - 0041
exact he - 0042
have hp : exists a. (((exists fs_h_pc_cut_extend_point. fs_h_pc_cut_extend_point + S (a) = S ((S (i)) * f)) /\ exists fs_q_pc_cut_extend_point. d = fs_q_pc_cut_extend_point * S ((S (i)) * f) + (a))) /\ ((((exists pc_lt_cut_extend_point_choice_below. pc_lt_cut_extend_point_choice_below + S (i) = (u)) /\ a = 0) \/ ((exists pc_le_cut_extend_point_choice_above. pc_le_cut_extend_point_choice_above + (u) = (i)) /\ (((exists fs_h_pc_cut_extend_point_choice_source. fs_h_pc_cut_extend_point_choice_source + S (a) = S ((S (i)) * c)) /\ exists fs_q_pc_cut_extend_point_choice_source. b = fs_q_pc_cut_extend_point_choice_source * S ((S (i)) * c) + (a)))))) - 0043
specialize h i - 0044
apply h - 0045
exact hc_right - 0046
cases hp - 0047
cases hp_witness - 0048
exists x2 - 0049
split - 0050
specialize hext_witness_witness_right i - 0051
specialize hext_witness_witness_right x2 - 0052
apply hext_witness_witness_right - 0053
exact hc_right - 0054
exact hp_witness_left - 0055
exact hp_witness_right