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 L d e i a. (((forall mdr_i_pfp_shift_pad_relationprefix mdr_a_pfp_shift_pad_relationprefix. (exists mdr_gap_pfp_shift_pad_relationprefixb. mdr_gap_pfp_shift_pad_relationprefixb + S (mdr_i_pfp_shift_pad_relationprefix) = (L)) -> (((exists ff_h_mdr_pfp_shift_pad_relationprefixo. ff_h_mdr_pfp_shift_pad_relationprefixo + S (mdr_a_pfp_shift_pad_relationprefix) = S ((S (mdr_i_pfp_shift_pad_relationprefix)) * c)) /\ exists ff_q_mdr_pfp_shift_pad_relationprefixo. b = ff_q_mdr_pfp_shift_pad_relationprefixo * S ((S (mdr_i_pfp_shift_pad_relationprefix)) * c) + (mdr_a_pfp_shift_pad_relationprefix))) -> (((exists ff_h_mdr_pfp_shift_pad_relationprefixn. ff_h_mdr_pfp_shift_pad_relationprefixn + S (mdr_a_pfp_shift_pad_relationprefix) = S ((S (mdr_i_pfp_shift_pad_relationprefix)) * e)) /\ exists ff_q_mdr_pfp_shift_pad_relationprefixn. d = ff_q_mdr_pfp_shift_pad_relationprefixn * S ((S (mdr_i_pfp_shift_pad_relationprefix)) * e) + (mdr_a_pfp_shift_pad_relationprefix)))) /\ ((((exists ff_h_pfp_shift_pad_relationlast. ff_h_pfp_shift_pad_relationlast + S (0) = S ((S (L)) * e)) /\ exists ff_q_pfp_shift_pad_relationlast. d = ff_q_pfp_shift_pad_relationlast * S ((S (L)) * e) + (0)))))) -> ((((exists pfa_gap_shift_pad_sourceinside. pfa_gap_shift_pad_sourceinside + S (i) = (L)) /\ ((((exists ff_h_pfp_shift_pad_sourceentry. ff_h_pfp_shift_pad_sourceentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_shift_pad_sourceentry. b = ff_q_pfp_shift_pad_sourceentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_shift_pad_sourceoutside. pfc_gap_shift_pad_sourceoutside+(L)=(i)) /\ (((a)=0))))) -> ((((exists pfa_gap_shift_pad_targetinside. pfa_gap_shift_pad_targetinside + S (i) = (S L)) /\ ((((exists ff_h_pfp_shift_pad_targetentry. ff_h_pfp_shift_pad_targetentry + S (a) = S ((S (i)) * e)) /\ exists ff_q_pfp_shift_pad_targetentry. d = ff_q_pfp_shift_pad_targetentry * S ((S (i)) * e) + (a)))))) \/ (((exists pfc_gap_shift_pad_targetoutside. pfc_gap_shift_pad_targetoutside+(S L)=(i)) /\ (((a)=0)))))Constructive proof overview
Generated structural guide
Trailing-zero extension leaves each actual zero-extended array value unchanged, at every natural index.
The unchanged tactic script uses 3 declared prerequisites and contains 47 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_succ Alpha theorem; checked-use authorized le_eq_or_lt Alpha theorem; checked-use authorized le_refl 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–9
02Separate the logical casesL10–14
03Use earlier factsL15–23
04Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases ha_right
05Establish hoL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
06Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases ho
07Establish hiiL31–33
08Separate the logical casesL34–35
09Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
rewrite hii
10Use earlier factsL37–38
11Calculate and transport equalitiesL39–42
12Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hs_right
13Separate the logical casesL44–45
Original exact command ledger · 47 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro d - 0005
intro e - 0006
intro i - 0007
intro a - 0008
intro hs - 0009
intro ha - 0010
cases hs - 0011
cases ha - 0012
cases ha_left - 0013
left - 0014
split - 0015
specialize le_succ (S i) - 0016
specialize le_succ (L) - 0017
apply le_succ - 0018
exact ha_left_left - 0019
specialize hs_left (i) - 0020
specialize hs_left (a) - 0021
apply hs_left - 0022
exact ha_left_left - 0023
exact ha_left_right - 0024
cases ha_right - 0025
have ho : L=i \/ (exists pfa_gap_shift_pad_outside_order. pfa_gap_shift_pad_outside_order + S (L) = (i)) - 0026
specialize le_eq_or_lt (L) - 0027
specialize le_eq_or_lt (i) - 0028
apply le_eq_or_lt - 0029
exact ha_right_left - 0030
cases ho - 0031
have hii : i=L - 0032
symm - 0033
exact ho_left - 0034
left - 0035
split - 0036
rewrite hii - 0037
specialize le_refl (S L) - 0038
apply le_refl - 0039
rewrite hii - 0040
rewrite hii - 0041
rewrite ha_right_right - 0042
rewrite ha_right_right - 0043
exact hs_right - 0044
right - 0045
split - 0046
exact ho_right - 0047
exact ha_right_right