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.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; 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. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or 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