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 a m b c l r. (forall eu_index_map_extend_old. (exists eut_gap_eu_map_extend_old_index. eut_gap_eu_map_extend_old_index + S (eu_index_map_extend_old) = (l)) -> exists eu_residue_map_extend_old. (((exists fs_h_eu_map_extend_old_at. fs_h_eu_map_extend_old_at + S (eu_residue_map_extend_old) = S ((S (eu_index_map_extend_old)) * c)) /\ exists fs_q_eu_map_extend_old_at. b = fs_q_eu_map_extend_old_at * S ((S (eu_index_map_extend_old)) * c) + (eu_residue_map_extend_old))) /\ ((exists eut_gap_eu_map_extend_old_bound. eut_gap_eu_map_extend_old_bound + S (eu_residue_map_extend_old) = (m)) /\ (exists eu_mod_left_map_extend_old_mod eu_mod_right_map_extend_old_mod. ((a)*eu_index_map_extend_old) + (m) * eu_mod_left_map_extend_old_mod = (eu_residue_map_extend_old) + (m) * eu_mod_right_map_extend_old_mod))) -> (exists eut_gap_eu_extend_bound. eut_gap_eu_extend_bound + S (r) = (m)) -> (exists eu_mod_left_extend_last_mod eu_mod_right_extend_last_mod. (a*l) + (m) * eu_mod_left_extend_last_mod = (r) + (m) * eu_mod_right_extend_last_mod) -> exists d e. (forall eu_index_map_extend_new. (exists eut_gap_eu_map_extend_new_index. eut_gap_eu_map_extend_new_index + S (eu_index_map_extend_new) = (S l)) -> exists eu_residue_map_extend_new. (((exists fs_h_eu_map_extend_new_at. fs_h_eu_map_extend_new_at + S (eu_residue_map_extend_new) = S ((S (eu_index_map_extend_new)) * e)) /\ exists fs_q_eu_map_extend_new_at. d = fs_q_eu_map_extend_new_at * S ((S (eu_index_map_extend_new)) * e) + (eu_residue_map_extend_new))) /\ ((exists eut_gap_eu_map_extend_new_bound. eut_gap_eu_map_extend_new_bound + S (eu_residue_map_extend_new) = (m)) /\ (exists eu_mod_left_map_extend_new_mod eu_mod_right_map_extend_new_mod. ((a)*eu_index_map_extend_new) + (m) * eu_mod_left_map_extend_new_mod = (eu_residue_map_extend_new) + (m) * eu_mod_right_map_extend_new_mod)))Constructive proof overview
Generated structural guide
Append the actual next canonical residue, preserving every earlier decoded multiplier value.
The unchanged tactic script uses 2 declared prerequisites and contains 49 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_prefix_extend Stable theorem; checked-use authorized finite_lt_succ_eq_or_lt 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
02Use earlier factsL10–13
03Separate the logical casesL14–16
04Construct an explicit witnessL17–18
05Fix variables and assumptionsL19–20
06Establish hsL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
07Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hs
08Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists r
09Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
split
10Calculate and transport equalitiesL29–30
11Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact beta_prefix_extend_witness_witness_left
12Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
13Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hr
14Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
rewrite hs_left
15Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hmod
16Establish hpL36–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L36
have hp : exists s. (((exists fs_h_eu_extend_old. fs_h_eu_extend_old + S (s) = S ((S (i)) * c)) /\ exists fs_q_eu_extend_old. b = fs_q_eu_extend_old * S ((S (i)) * c) + (s))) /\ ((exists eut_gap_eu_extend_old_bound. eut_gap_eu_extend_old_bound + S (s) = (m)) /\ (exists eu_mod_left_extend_old_mod eu_mod_right_extend_old_mod. (a*i) + (m) * eu_mod_left_extend_old_mod = (s) + (m) * eu_mod_right_extend_old_mod)) - L37
specialize h (i) - L38
apply h - L39
exact hs_right
17Separate the logical casesL40–41
18Construct an explicit witnessL42–42
Supply the displayed value, then prove that it has the required property.
- L42
exists x2
19Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
20Use earlier factsL44–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 49 lines
- 0001
intro a - 0002
intro m - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro r - 0007
intro h - 0008
intro hr - 0009
intro hmod - 0010
specialize beta_prefix_extend l - 0011
specialize beta_prefix_extend b - 0012
specialize beta_prefix_extend c - 0013
specialize beta_prefix_extend r - 0014
cases beta_prefix_extend - 0015
cases beta_prefix_extend_witness - 0016
cases beta_prefix_extend_witness_witness - 0017
exists x - 0018
exists x1 - 0019
intro i - 0020
intro hi - 0021
have hs : i=l \/ (exists eut_gap_eu_extend_index. eut_gap_eu_extend_index + S (i) = (l)) - 0022
specialize finite_lt_succ_eq_or_lt (l) - 0023
specialize finite_lt_succ_eq_or_lt (i) - 0024
apply finite_lt_succ_eq_or_lt - 0025
exact hi - 0026
cases hs - 0027
exists r - 0028
split - 0029
rewrite hs_left - 0030
rewrite hs_left - 0031
exact beta_prefix_extend_witness_witness_left - 0032
split - 0033
exact hr - 0034
rewrite hs_left - 0035
exact hmod - 0036
have hp : exists s. (((exists fs_h_eu_extend_old. fs_h_eu_extend_old + S (s) = S ((S (i)) * c)) /\ exists fs_q_eu_extend_old. b = fs_q_eu_extend_old * S ((S (i)) * c) + (s))) /\ ((exists eut_gap_eu_extend_old_bound. eut_gap_eu_extend_old_bound + S (s) = (m)) /\ (exists eu_mod_left_extend_old_mod eu_mod_right_extend_old_mod. (a*i) + (m) * eu_mod_left_extend_old_mod = (s) + (m) * eu_mod_right_extend_old_mod)) - 0037
specialize h (i) - 0038
apply h - 0039
exact hs_right - 0040
cases hp - 0041
cases hp_witness - 0042
exists x2 - 0043
split - 0044
specialize beta_prefix_extend_witness_witness_right (i) - 0045
specialize beta_prefix_extend_witness_witness_right (x2) - 0046
apply beta_prefix_extend_witness_witness_right - 0047
exact hs_right - 0048
exact hp_witness_left - 0049
exact hp_witness_right