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 p t r s b c z d. (forall fms_i_indices. (exists fms_gap_indices. fms_gap_indices + S (fms_i_indices) = (p)) -> exists fms_j_indices. (((exists fs_h_fms_indices_entry. fs_h_fms_indices_entry + S (fms_j_indices) = S ((S (fms_i_indices)) * s)) /\ exists fs_q_fms_indices_entry. r = fs_q_fms_indices_entry * S ((S (fms_i_indices)) * s) + (fms_j_indices))) /\ ((exists fms_gap_indices_bound. fms_gap_indices_bound + S (fms_j_indices) = (p)) /\ (exists fms_u_indices fms_v_indices. (fms_i_indices+t) + (p) * fms_u_indices = (fms_j_indices) + (p) * fms_v_indices))) -> (forall fms_i_compose fms_j_compose fms_v_compose. (exists fms_gap_compose. fms_gap_compose + S (fms_i_compose) = (p)) -> (((exists fs_h_fms_compose_index. fs_h_fms_compose_index + S (fms_j_compose) = S ((S (fms_i_compose)) * s)) /\ exists fs_q_fms_compose_index. r = fs_q_fms_compose_index * S ((S (fms_i_compose)) * s) + (fms_j_compose))) -> (((exists fs_h_fms_compose_source. fs_h_fms_compose_source + S (fms_v_compose) = S ((S (fms_j_compose)) * c)) /\ exists fs_q_fms_compose_source. b = fs_q_fms_compose_source * S ((S (fms_j_compose)) * c) + (fms_v_compose))) -> (((exists fs_h_fms_compose_target. fs_h_fms_compose_target + S (fms_v_compose) = S ((S (fms_i_compose)) * d)) /\ exists fs_q_fms_compose_target. z = fs_q_fms_compose_target * S ((S (fms_i_compose)) * d) + (fms_v_compose)))) -> (forall ff_i_fms_bits. (exists ff_lt_fms_bits_bound. ff_lt_fms_bits_bound + S ff_i_fms_bits = (p)) -> exists ff_bit_fms_bits. ((((exists ff_h_fms_bits_decoded. ff_h_fms_bits_decoded + S (ff_bit_fms_bits) = S ((S (ff_i_fms_bits)) * (c))) /\ exists ff_q_fms_bits_decoded. (b) = ff_q_fms_bits_decoded * S ((S (ff_i_fms_bits)) * (c)) + (ff_bit_fms_bits))) /\ (ff_bit_fms_bits = 0 \/ ff_bit_fms_bits = 1))) -> (forall ff_i_fms_bits. (exists ff_lt_fms_bits_bound. ff_lt_fms_bits_bound + S ff_i_fms_bits = (p)) -> exists ff_bit_fms_bits. ((((exists ff_h_fms_bits_decoded. ff_h_fms_bits_decoded + S (ff_bit_fms_bits) = S ((S (ff_i_fms_bits)) * (d))) /\ exists ff_q_fms_bits_decoded. (z) = ff_q_fms_bits_decoded * S ((S (ff_i_fms_bits)) * (d)) + (ff_bit_fms_bits))) /\ (ff_bit_fms_bits = 0 \/ ff_bit_fms_bits = 1)))Constructive proof overview
Generated structural guide
The actual modular pullback of a characteristic prefix remains an actual characteristic prefix.
The unchanged tactic script uses 0 declared prerequisites and contains 36 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hjL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hindices.
- L14
have hj : exists j. (((exists fs_h_fms_comp_bits_index. fs_h_fms_comp_bits_index + S (j) = S ((S (i)) * s)) /\ exists fs_q_fms_comp_bits_index. r = fs_q_fms_comp_bits_index * S ((S (i)) * s) + (j))) /\ ((exists fms_gap_lt. fms_gap_lt + S (j) = (p)) /\ (exists fms_u_mod fms_v_mod. (i+t) + (p) * fms_u_mod = (j) + (p) * fms_v_mod)) - L15
specialize hindices i - L16
apply hindices - L17
exact hi
04Separate the logical casesL18–20
05Establish hvL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbits.
06Separate the logical casesL25–26
07Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists x1
08Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
split
Original exact command ledger · 36 lines
- 0001
intro p - 0002
intro t - 0003
intro r - 0004
intro s - 0005
intro b - 0006
intro c - 0007
intro z - 0008
intro d - 0009
intro hindices - 0010
intro hcompose - 0011
intro hbits - 0012
intro i - 0013
intro hi - 0014
have hj : exists j. (((exists fs_h_fms_comp_bits_index. fs_h_fms_comp_bits_index + S (j) = S ((S (i)) * s)) /\ exists fs_q_fms_comp_bits_index. r = fs_q_fms_comp_bits_index * S ((S (i)) * s) + (j))) /\ ((exists fms_gap_lt. fms_gap_lt + S (j) = (p)) /\ (exists fms_u_mod fms_v_mod. (i+t) + (p) * fms_u_mod = (j) + (p) * fms_v_mod)) - 0015
specialize hindices i - 0016
apply hindices - 0017
exact hi - 0018
cases hj - 0019
cases hj_witness - 0020
cases hj_witness_right - 0021
have hv : exists v. (((exists fs_h_fms_comp_bits_source. fs_h_fms_comp_bits_source + S (v) = S ((S (x)) * c)) /\ exists fs_q_fms_comp_bits_source. b = fs_q_fms_comp_bits_source * S ((S (x)) * c) + (v))) /\ (v=0 \/ v=1) - 0022
specialize hbits x - 0023
apply hbits - 0024
exact hj_witness_right_left - 0025
cases hv - 0026
cases hv_witness - 0027
exists x1 - 0028
split - 0029
specialize hcompose i - 0030
specialize hcompose x - 0031
specialize hcompose x1 - 0032
apply hcompose - 0033
exact hi - 0034
exact hj_witness_left - 0035
exact hv_witness_left - 0036
exact hv_witness_right