Actual coded component sums yield integer-vector addition without requiring canonical representatives.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
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.
This branch proves the finite determinant/rank/span substrate. It does not claim Smith or Hermite normal form, lattice index equals determinant, determinant multiplicativity, lattice reduction, or geometry-of-numbers theorems.
forall ab ac db dc eb ec fb fc pb pc nb nc l. (forall ff_index_mcp_add_ics_add_components_p ff_left_mcp_add_ics_add_components_p ff_right_mcp_add_ics_add_components_p ff_target_mcp_add_ics_add_components_p. (exists mcp_gap_ics_add_components_p_bound. mcp_gap_ics_add_components_p_bound + S (ff_index_mcp_add_ics_add_components_p) = (l)) -> (((exists fs_h_mcp_ics_add_components_p_left. fs_h_mcp_ics_add_components_p_left + S (ff_left_mcp_add_ics_add_components_p) = S ((S (ff_index_mcp_add_ics_add_components_p)) * ac)) /\ exists fs_q_mcp_ics_add_components_p_left. ab = fs_q_mcp_ics_add_components_p_left * S ((S (ff_index_mcp_add_ics_add_components_p)) * ac) + (ff_left_mcp_add_ics_add_components_p))) -> (((exists fs_h_mcp_ics_add_components_p_right. fs_h_mcp_ics_add_components_p_right + S (ff_right_mcp_add_ics_add_components_p) = S ((S (ff_index_mcp_add_ics_add_components_p)) * ec)) /\ exists fs_q_mcp_ics_add_components_p_right. eb = fs_q_mcp_ics_add_components_p_right * S ((S (ff_index_mcp_add_ics_add_components_p)) * ec) + (ff_right_mcp_add_ics_add_components_p))) -> (((exists fs_h_mcp_ics_add_components_p_target. fs_h_mcp_ics_add_components_p_target + S (ff_target_mcp_add_ics_add_components_p) = S ((S (ff_index_mcp_add_ics_add_components_p)) * pc)) /\ exists fs_q_mcp_ics_add_components_p_target. pb = fs_q_mcp_ics_add_components_p_target * S ((S (ff_index_mcp_add_ics_add_components_p)) * pc) + (ff_target_mcp_add_ics_add_components_p))) -> ff_target_mcp_add_ics_add_components_p = ff_left_mcp_add_ics_add_components_p + ff_right_mcp_add_ics_add_components_p) -> (forall ff_index_mcp_add_ics_add_components_n ff_left_mcp_add_ics_add_components_n ff_right_mcp_add_ics_add_components_n ff_target_mcp_add_ics_add_components_n. (exists mcp_gap_ics_add_components_n_bound. mcp_gap_ics_add_components_n_bound + S (ff_index_mcp_add_ics_add_components_n) = (l)) -> (((exists fs_h_mcp_ics_add_components_n_left. fs_h_mcp_ics_add_components_n_left + S (ff_left_mcp_add_ics_add_components_n) = S ((S (ff_index_mcp_add_ics_add_components_n)) * dc)) /\ exists fs_q_mcp_ics_add_components_n_left. db = fs_q_mcp_ics_add_components_n_left * S ((S (ff_index_mcp_add_ics_add_components_n)) * dc) + (ff_left_mcp_add_ics_add_components_n))) -> (((exists fs_h_mcp_ics_add_components_n_right. fs_h_mcp_ics_add_components_n_right + S (ff_right_mcp_add_ics_add_components_n) = S ((S (ff_index_mcp_add_ics_add_components_n)) * fc)) /\ exists fs_q_mcp_ics_add_components_n_right. fb = fs_q_mcp_ics_add_components_n_right * S ((S (ff_index_mcp_add_ics_add_components_n)) * fc) + (ff_right_mcp_add_ics_add_components_n))) -> (((exists fs_h_mcp_ics_add_components_n_target. fs_h_mcp_ics_add_components_n_target + S (ff_target_mcp_add_ics_add_components_n) = S ((S (ff_index_mcp_add_ics_add_components_n)) * nc)) /\ exists fs_q_mcp_ics_add_components_n_target. nb = fs_q_mcp_ics_add_components_n_target * S ((S (ff_index_mcp_add_ics_add_components_n)) * nc) + (ff_target_mcp_add_ics_add_components_n))) -> ff_target_mcp_add_ics_add_components_n = ff_left_mcp_add_ics_add_components_n + ff_right_mcp_add_ics_add_components_n) -> (forall ics_index_add_components_result ics_value0_add_components_result ics_value1_add_components_result ics_value2_add_components_result ics_value3_add_components_result ics_value4_add_components_result ics_value5_add_components_result. (exists ics_gap_add_components_result_bound. ics_gap_add_components_result_bound + S (ics_index_add_components_result) = (l)) -> (((exists fs_h_ics_add_components_result_at0. fs_h_ics_add_components_result_at0 + S (ics_value0_add_components_result) = S ((S (ics_index_add_components_result)) * ac)) /\ exists fs_q_ics_add_components_result_at0. ab = fs_q_ics_add_components_result_at0 * S ((S (ics_index_add_components_result)) * ac) + (ics_value0_add_components_result))) -> (((exists fs_h_ics_add_components_result_at1. fs_h_ics_add_components_result_at1 + S (ics_value1_add_components_result) = S ((S (ics_index_add_components_result)) * dc)) /\ exists fs_q_ics_add_components_result_at1. db = fs_q_ics_add_components_result_at1 * S ((S (ics_index_add_components_result)) * dc) + (ics_value1_add_components_result))) -> (((exists fs_h_ics_add_components_result_at2. fs_h_ics_add_components_result_at2 + S (ics_value2_add_components_result) = S ((S (ics_index_add_components_result)) * ec)) /\ exists fs_q_ics_add_components_result_at2. eb = fs_q_ics_add_components_result_at2 * S ((S (ics_index_add_components_result)) * ec) + (ics_value2_add_components_result))) -> (((exists fs_h_ics_add_components_result_at3. fs_h_ics_add_components_result_at3 + S (ics_value3_add_components_result) = S ((S (ics_index_add_components_result)) * fc)) /\ exists fs_q_ics_add_components_result_at3. fb = fs_q_ics_add_components_result_at3 * S ((S (ics_index_add_components_result)) * fc) + (ics_value3_add_components_result))) -> (((exists fs_h_ics_add_components_result_at4. fs_h_ics_add_components_result_at4 + S (ics_value4_add_components_result) = S ((S (ics_index_add_components_result)) * pc)) /\ exists fs_q_ics_add_components_result_at4. pb = fs_q_ics_add_components_result_at4 * S ((S (ics_index_add_components_result)) * pc) + (ics_value4_add_components_result))) -> (((exists fs_h_ics_add_components_result_at5. fs_h_ics_add_components_result_at5 + S (ics_value5_add_components_result) = S ((S (ics_index_add_components_result)) * nc)) /\ exists fs_q_ics_add_components_result_at5. nb = fs_q_ics_add_components_result_at5 * S ((S (ics_index_add_components_result)) * nc) + (ics_value5_add_components_result))) -> ics_value4_add_components_result + (ics_value1_add_components_result + ics_value3_add_components_result) = (ics_value0_add_components_result + ics_value2_add_components_result) + ics_value5_add_components_result)
Complete tactic proof in conservative notation
All 52 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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.
Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.
01Fix variables and assumptionsL1–10
Work with arbitrary variables or the premises of the current implication.