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 i r. (forall eu_index_map_entry. (exists eut_gap_eu_map_entry_index. eut_gap_eu_map_entry_index + S (eu_index_map_entry) = (l)) -> exists eu_residue_map_entry. (((exists fs_h_eu_map_entry_at. fs_h_eu_map_entry_at + S (eu_residue_map_entry) = S ((S (eu_index_map_entry)) * c)) /\ exists fs_q_eu_map_entry_at. b = fs_q_eu_map_entry_at * S ((S (eu_index_map_entry)) * c) + (eu_residue_map_entry))) /\ ((exists eut_gap_eu_map_entry_bound. eut_gap_eu_map_entry_bound + S (eu_residue_map_entry) = (m)) /\ (exists eu_mod_left_map_entry_mod eu_mod_right_map_entry_mod. ((a)*eu_index_map_entry) + (m) * eu_mod_left_map_entry_mod = (eu_residue_map_entry) + (m) * eu_mod_right_map_entry_mod))) -> (exists eut_gap_eu_entry_index. eut_gap_eu_entry_index + S (i) = (l)) -> (((exists fs_h_eu_entry_given. fs_h_eu_entry_given + S (r) = S ((S (i)) * c)) /\ exists fs_q_eu_entry_given. b = fs_q_eu_entry_given * S ((S (i)) * c) + (r))) -> (exists eut_gap_eu_entry_bound. eut_gap_eu_entry_bound + S (r) = (m)) /\ (exists eu_mod_left_entry_mod eu_mod_right_entry_mod. (a*i) + (m) * eu_mod_left_entry_mod = (r) + (m) * eu_mod_right_entry_mod)Constructive proof overview
Generated structural guide
Every decoded map entry, not just its construction witness, has the required bound and balanced congruence.
The unchanged tactic script uses 1 declared prerequisite and contains 28 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique 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–10
02Establish hpL11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L11
have hp : exists v. (((exists fs_h_eu_entry_chosen. fs_h_eu_entry_chosen + S (v) = S ((S (i)) * c)) /\ exists fs_q_eu_entry_chosen. b = fs_q_eu_entry_chosen * S ((S (i)) * c) + (v))) /\ ((exists eut_gap_eu_chosen_bound. eut_gap_eu_chosen_bound + S (v) = (m)) /\ (exists eu_mod_left_chosen_mod eu_mod_right_chosen_mod. (a*i) + (m) * eu_mod_left_chosen_mod = (v) + (m) * eu_mod_right_chosen_mod)) - L12
specialize h (i) - L13
apply h - L14
exact hi
03Separate the logical casesL15–16
04Establish heL17–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
05Calculate and transport equalitiesL27–27
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L27
rewrite he at hp_witness_right
06Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hp_witness_right
Original exact command ledger · 28 lines
- 0001
intro a - 0002
intro m - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro i - 0007
intro r - 0008
intro h - 0009
intro hi - 0010
intro hr - 0011
have hp : exists v. (((exists fs_h_eu_entry_chosen. fs_h_eu_entry_chosen + S (v) = S ((S (i)) * c)) /\ exists fs_q_eu_entry_chosen. b = fs_q_eu_entry_chosen * S ((S (i)) * c) + (v))) /\ ((exists eut_gap_eu_chosen_bound. eut_gap_eu_chosen_bound + S (v) = (m)) /\ (exists eu_mod_left_chosen_mod eu_mod_right_chosen_mod. (a*i) + (m) * eu_mod_left_chosen_mod = (v) + (m) * eu_mod_right_chosen_mod)) - 0012
specialize h (i) - 0013
apply h - 0014
exact hi - 0015
cases hp - 0016
cases hp_witness - 0017
have he : x=r - 0018
specialize beta_at_unique (b) - 0019
specialize beta_at_unique (c) - 0020
specialize beta_at_unique (i) - 0021
specialize beta_at_unique (x) - 0022
specialize beta_at_unique (r) - 0023
apply beta_at_unique - 0024
exact hp_witness_left - 0025
exact hr - 0026
rewrite he at hp_witness_right - 0027
rewrite he at hp_witness_right - 0028
exact hp_witness_right