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 b c t M. exists d e. (forall pftrim_index_suffix_exists pftrim_value_suffix_exists. (exists pfa_gap_suffix_existsbound. pfa_gap_suffix_existsbound + S (pftrim_index_suffix_exists) = (M)) -> (((exists ff_h_pfp_suffix_existssource. ff_h_pfp_suffix_existssource + S (pftrim_value_suffix_exists) = S ((S ((t)+pftrim_index_suffix_exists)) * c)) /\ exists ff_q_pfp_suffix_existssource. b = ff_q_pfp_suffix_existssource * S ((S ((t)+pftrim_index_suffix_exists)) * c) + (pftrim_value_suffix_exists))) -> (((exists ff_h_pfp_suffix_existsoutput. ff_h_pfp_suffix_existsoutput + S (pftrim_value_suffix_exists) = S ((S (pftrim_index_suffix_exists)) * e)) /\ exists ff_q_pfp_suffix_existsoutput. d = ff_q_pfp_suffix_existsoutput * S ((S (pftrim_index_suffix_exists)) * e) + (pftrim_value_suffix_exists))))Constructive proof overview
Generated structural guide
Construct every finite beta-coded suffix by the existing actual affine-slice constructor at stride one, including length zero.
The unchanged tactic script uses 3 declared prerequisites and contains 40 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_affine_matrix_slice_exists Alpha theorem; checked-use authorized beta_at_exists Stable theorem; checked-use authorized one_mul 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–4
02Establish hsL5–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta affine matrix slice exists.
- L5
have hs : ∃ d. ∃ e. MatrixAffineSlice(b,c,t,1,d,e,M)Definitions: MatrixAffineSlice - L6
specialize beta_affine_matrix_slice_exists (b) - L7
specialize beta_affine_matrix_slice_exists (c) - L8
specialize beta_affine_matrix_slice_exists (t) - L9
specialize beta_affine_matrix_slice_exists (1) - L10
specialize beta_affine_matrix_slice_exists (M) - L11
apply beta_affine_matrix_slice_exists
03Separate the logical casesL12–13
04Construct an explicit witnessL14–15
05Fix variables and assumptionsL16–19
06Establish hzL20–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L20
have hz : exists z. (((exists ff_h_pfp_suffix_output. ff_h_pfp_suffix_output + S (z) = S ((S (i)) * x1)) /\ exists ff_q_pfp_suffix_output. x = ff_q_pfp_suffix_output * S ((S (i)) * x1) + (z))) - L21
specialize beta_at_exists (x) - L22
specialize beta_at_exists (x1) - L23
specialize beta_at_exists (i) - L24
apply beta_at_exists
07Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hz
08Establish heqL26–31
Original exact command ledger · 40 lines
- 0001
intro b - 0002
intro c - 0003
intro t - 0004
intro M - 0005
have hs : exists d e. (forall ff_index_mcp_trim_suffix_actual ff_source_mcp_trim_suffix_actual ff_target_mcp_trim_suffix_actual. (exists mcp_gap_trim_suffix_actual_bound. mcp_gap_trim_suffix_actual_bound + S (ff_index_mcp_trim_suffix_actual) = (M)) -> (((exists fs_h_mcp_trim_suffix_actual_source. fs_h_mcp_trim_suffix_actual_source + S (ff_source_mcp_trim_suffix_actual) = S ((S ((t) + (1) * ff_index_mcp_trim_suffix_actual)) * c)) /\ exists fs_q_mcp_trim_suffix_actual_source. b = fs_q_mcp_trim_suffix_actual_source * S ((S ((t) + (1) * ff_index_mcp_trim_suffix_actual)) * c) + (ff_source_mcp_trim_suffix_actual))) -> (((exists fs_h_mcp_trim_suffix_actual_target. fs_h_mcp_trim_suffix_actual_target + S (ff_target_mcp_trim_suffix_actual) = S ((S (ff_index_mcp_trim_suffix_actual)) * e)) /\ exists fs_q_mcp_trim_suffix_actual_target. d = fs_q_mcp_trim_suffix_actual_target * S ((S (ff_index_mcp_trim_suffix_actual)) * e) + (ff_target_mcp_trim_suffix_actual))) -> ff_target_mcp_trim_suffix_actual = ff_source_mcp_trim_suffix_actual) - 0006
specialize beta_affine_matrix_slice_exists (b) - 0007
specialize beta_affine_matrix_slice_exists (c) - 0008
specialize beta_affine_matrix_slice_exists (t) - 0009
specialize beta_affine_matrix_slice_exists (1) - 0010
specialize beta_affine_matrix_slice_exists (M) - 0011
apply beta_affine_matrix_slice_exists - 0012
cases hs - 0013
cases hs_witness - 0014
exists x - 0015
exists x1 - 0016
intro i - 0017
intro a - 0018
intro hi - 0019
intro ha - 0020
have hz : exists z. (((exists ff_h_pfp_suffix_output. ff_h_pfp_suffix_output + S (z) = S ((S (i)) * x1)) /\ exists ff_q_pfp_suffix_output. x = ff_q_pfp_suffix_output * S ((S (i)) * x1) + (z))) - 0021
specialize beta_at_exists (x) - 0022
specialize beta_at_exists (x1) - 0023
specialize beta_at_exists (i) - 0024
apply beta_at_exists - 0025
cases hz - 0026
have heq : x2=a - 0027
specialize hs_witness_witness (i) - 0028
specialize hs_witness_witness (a) - 0029
specialize hs_witness_witness (x2) - 0030
apply hs_witness_witness - 0031
exact hi - 0032
have hindex : t+1*i=t+i - 0033
simp [one_mul] - 0034
rewrite hindex - 0035
rewrite hindex - 0036
exact ha - 0037
exact hz_witness - 0038
rewrite heq at hz_witness - 0039
rewrite heq at hz_witness - 0040
exact hz_witness