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 pb pc nb nc r s l. exists qb qc mb mc. (((forall fms_i_datapositive fms_j_datapositive fms_v_datapositive. (exists fms_gap_datapositive. fms_gap_datapositive + S (fms_i_datapositive) = (l)) -> (((exists fs_h_fms_datapositive_index. fs_h_fms_datapositive_index + S (fms_j_datapositive) = S ((S (fms_i_datapositive)) * s)) /\ exists fs_q_fms_datapositive_index. r = fs_q_fms_datapositive_index * S ((S (fms_i_datapositive)) * s) + (fms_j_datapositive))) -> (((exists fs_h_fms_datapositive_source. fs_h_fms_datapositive_source + S (fms_v_datapositive) = S ((S (fms_j_datapositive)) * pc)) /\ exists fs_q_fms_datapositive_source. pb = fs_q_fms_datapositive_source * S ((S (fms_j_datapositive)) * pc) + (fms_v_datapositive))) -> (((exists fs_h_fms_datapositive_target. fs_h_fms_datapositive_target + S (fms_v_datapositive) = S ((S (fms_i_datapositive)) * qc)) /\ exists fs_q_fms_datapositive_target. qb = fs_q_fms_datapositive_target * S ((S (fms_i_datapositive)) * qc) + (fms_v_datapositive)))) /\ (forall fms_i_datanegative fms_j_datanegative fms_v_datanegative. (exists fms_gap_datanegative. fms_gap_datanegative + S (fms_i_datanegative) = (l)) -> (((exists fs_h_fms_datanegative_index. fs_h_fms_datanegative_index + S (fms_j_datanegative) = S ((S (fms_i_datanegative)) * s)) /\ exists fs_q_fms_datanegative_index. r = fs_q_fms_datanegative_index * S ((S (fms_i_datanegative)) * s) + (fms_j_datanegative))) -> (((exists fs_h_fms_datanegative_source. fs_h_fms_datanegative_source + S (fms_v_datanegative) = S ((S (fms_j_datanegative)) * nc)) /\ exists fs_q_fms_datanegative_source. nb = fs_q_fms_datanegative_source * S ((S (fms_j_datanegative)) * nc) + (fms_v_datanegative))) -> (((exists fs_h_fms_datanegative_target. fs_h_fms_datanegative_target + S (fms_v_datanegative) = S ((S (fms_i_datanegative)) * mc)) /\ exists fs_q_fms_datanegative_target. mb = fs_q_fms_datanegative_target * S ((S (fms_i_datanegative)) * mc) + (fms_v_datanegative))))))Constructive proof overview
Generated structural guide
Two real finite beta compositions are constructed before any permutation argument; no supplied composed table is assumed.
The unchanged tactic script uses 1 declared prerequisite and contains 32 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
finite_beta_composition_exists Alpha 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–7
02Establish hpL8–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite beta composition exists.
03Separate the logical casesL15–16
04Establish hnL17–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite beta composition exists.
05Separate the logical casesL24–25
06Construct an explicit witnessL26–29
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
Original exact command ledger · 32 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro r - 0006
intro s - 0007
intro l - 0008
have hp : exists q c. (forall fms_i_data_first fms_j_data_first fms_v_data_first. (exists fms_gap_data_first. fms_gap_data_first + S (fms_i_data_first) = (l)) -> (((exists fs_h_fms_data_first_index. fs_h_fms_data_first_index + S (fms_j_data_first) = S ((S (fms_i_data_first)) * s)) /\ exists fs_q_fms_data_first_index. r = fs_q_fms_data_first_index * S ((S (fms_i_data_first)) * s) + (fms_j_data_first))) -> (((exists fs_h_fms_data_first_source. fs_h_fms_data_first_source + S (fms_v_data_first) = S ((S (fms_j_data_first)) * pc)) /\ exists fs_q_fms_data_first_source. pb = fs_q_fms_data_first_source * S ((S (fms_j_data_first)) * pc) + (fms_v_data_first))) -> (((exists fs_h_fms_data_first_target. fs_h_fms_data_first_target + S (fms_v_data_first) = S ((S (fms_i_data_first)) * c)) /\ exists fs_q_fms_data_first_target. q = fs_q_fms_data_first_target * S ((S (fms_i_data_first)) * c) + (fms_v_data_first)))) - 0009
specialize finite_beta_composition_exists (r) - 0010
specialize finite_beta_composition_exists (s) - 0011
specialize finite_beta_composition_exists (pb) - 0012
specialize finite_beta_composition_exists (pc) - 0013
specialize finite_beta_composition_exists (l) - 0014
apply finite_beta_composition_exists - 0015
cases hp - 0016
cases hp_witness - 0017
have hn : exists m c. (forall fms_i_data_second fms_j_data_second fms_v_data_second. (exists fms_gap_data_second. fms_gap_data_second + S (fms_i_data_second) = (l)) -> (((exists fs_h_fms_data_second_index. fs_h_fms_data_second_index + S (fms_j_data_second) = S ((S (fms_i_data_second)) * s)) /\ exists fs_q_fms_data_second_index. r = fs_q_fms_data_second_index * S ((S (fms_i_data_second)) * s) + (fms_j_data_second))) -> (((exists fs_h_fms_data_second_source. fs_h_fms_data_second_source + S (fms_v_data_second) = S ((S (fms_j_data_second)) * nc)) /\ exists fs_q_fms_data_second_source. nb = fs_q_fms_data_second_source * S ((S (fms_j_data_second)) * nc) + (fms_v_data_second))) -> (((exists fs_h_fms_data_second_target. fs_h_fms_data_second_target + S (fms_v_data_second) = S ((S (fms_i_data_second)) * c)) /\ exists fs_q_fms_data_second_target. m = fs_q_fms_data_second_target * S ((S (fms_i_data_second)) * c) + (fms_v_data_second)))) - 0018
specialize finite_beta_composition_exists (r) - 0019
specialize finite_beta_composition_exists (s) - 0020
specialize finite_beta_composition_exists (nb) - 0021
specialize finite_beta_composition_exists (nc) - 0022
specialize finite_beta_composition_exists (l) - 0023
apply finite_beta_composition_exists - 0024
cases hn - 0025
cases hn_witness - 0026
exists x - 0027
exists x1 - 0028
exists x2 - 0029
exists x3 - 0030
split - 0031
exact hp_witness_witness - 0032
exact hn_witness_witness