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 f g. (((forall mdr_i_pfp_shift_unique_firstprefix mdr_a_pfp_shift_unique_firstprefix. (exists mdr_gap_pfp_shift_unique_firstprefixb. mdr_gap_pfp_shift_unique_firstprefixb + S (mdr_i_pfp_shift_unique_firstprefix) = (L)) -> (((exists ff_h_mdr_pfp_shift_unique_firstprefixo. ff_h_mdr_pfp_shift_unique_firstprefixo + S (mdr_a_pfp_shift_unique_firstprefix) = S ((S (mdr_i_pfp_shift_unique_firstprefix)) * c)) /\ exists ff_q_mdr_pfp_shift_unique_firstprefixo. b = ff_q_mdr_pfp_shift_unique_firstprefixo * S ((S (mdr_i_pfp_shift_unique_firstprefix)) * c) + (mdr_a_pfp_shift_unique_firstprefix))) -> (((exists ff_h_mdr_pfp_shift_unique_firstprefixn. ff_h_mdr_pfp_shift_unique_firstprefixn + S (mdr_a_pfp_shift_unique_firstprefix) = S ((S (mdr_i_pfp_shift_unique_firstprefix)) * e)) /\ exists ff_q_mdr_pfp_shift_unique_firstprefixn. d = ff_q_mdr_pfp_shift_unique_firstprefixn * S ((S (mdr_i_pfp_shift_unique_firstprefix)) * e) + (mdr_a_pfp_shift_unique_firstprefix)))) /\ ((((exists ff_h_pfp_shift_unique_firstlast. ff_h_pfp_shift_unique_firstlast + S (0) = S ((S (L)) * e)) /\ exists ff_q_pfp_shift_unique_firstlast. d = ff_q_pfp_shift_unique_firstlast * S ((S (L)) * e) + (0)))))) -> (((forall mdr_i_pfp_shift_unique_secondprefix mdr_a_pfp_shift_unique_secondprefix. (exists mdr_gap_pfp_shift_unique_secondprefixb. mdr_gap_pfp_shift_unique_secondprefixb + S (mdr_i_pfp_shift_unique_secondprefix) = (L)) -> (((exists ff_h_mdr_pfp_shift_unique_secondprefixo. ff_h_mdr_pfp_shift_unique_secondprefixo + S (mdr_a_pfp_shift_unique_secondprefix) = S ((S (mdr_i_pfp_shift_unique_secondprefix)) * c)) /\ exists ff_q_mdr_pfp_shift_unique_secondprefixo. b = ff_q_mdr_pfp_shift_unique_secondprefixo * S ((S (mdr_i_pfp_shift_unique_secondprefix)) * c) + (mdr_a_pfp_shift_unique_secondprefix))) -> (((exists ff_h_mdr_pfp_shift_unique_secondprefixn. ff_h_mdr_pfp_shift_unique_secondprefixn + S (mdr_a_pfp_shift_unique_secondprefix) = S ((S (mdr_i_pfp_shift_unique_secondprefix)) * g)) /\ exists ff_q_mdr_pfp_shift_unique_secondprefixn. f = ff_q_mdr_pfp_shift_unique_secondprefixn * S ((S (mdr_i_pfp_shift_unique_secondprefix)) * g) + (mdr_a_pfp_shift_unique_secondprefix)))) /\ ((((exists ff_h_pfp_shift_unique_secondlast. ff_h_pfp_shift_unique_secondlast + S (0) = S ((S (L)) * g)) /\ exists ff_q_pfp_shift_unique_secondlast. f = ff_q_pfp_shift_unique_secondlast * S ((S (L)) * g) + (0)))))) -> (forall mdr_i_pfp_shift_unique_result mdr_a_pfp_shift_unique_result. (exists mdr_gap_pfp_shift_unique_resultb. mdr_gap_pfp_shift_unique_resultb + S (mdr_i_pfp_shift_unique_result) = (S L)) -> (((exists ff_h_mdr_pfp_shift_unique_resulto. ff_h_mdr_pfp_shift_unique_resulto + S (mdr_a_pfp_shift_unique_result) = S ((S (mdr_i_pfp_shift_unique_result)) * e)) /\ exists ff_q_mdr_pfp_shift_unique_resulto. d = ff_q_mdr_pfp_shift_unique_resulto * S ((S (mdr_i_pfp_shift_unique_result)) * e) + (mdr_a_pfp_shift_unique_result))) -> (((exists ff_h_mdr_pfp_shift_unique_resultn. ff_h_mdr_pfp_shift_unique_resultn + S (mdr_a_pfp_shift_unique_result) = S ((S (mdr_i_pfp_shift_unique_result)) * g)) /\ exists ff_q_mdr_pfp_shift_unique_resultn. f = ff_q_mdr_pfp_shift_unique_resultn * S ((S (mdr_i_pfp_shift_unique_result)) * g) + (mdr_a_pfp_shift_unique_result))))Constructive proof overview
Generated structural guide
Two actual shifts agree on their successor-length decoded prefix; neither raw code nor any later entry is identified.
The unchanged tactic script uses 3 declared prerequisites and contains 63 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
finite_lt_succ_eq_or_lt Alpha theorem; checked-use authorized beta_at_unique Alpha theorem; checked-use authorized beta_at_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–9
02Separate the logical casesL10–11
03Fix variables and assumptionsL12–15
04Establish hoL16–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
05Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases ho
06Calculate and transport equalitiesL22–23
07Establish heqL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Calculate and transport equalitiesL34–36
09Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hf_right
10Establish hxL38–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L38
have hx : exists x. (((exists ff_h_pfp_shift_unique_source_value. ff_h_pfp_shift_unique_source_value + S (x) = S ((S (i)) * c)) /\ exists ff_q_pfp_shift_unique_source_value. b = ff_q_pfp_shift_unique_source_value * S ((S (i)) * c) + (x))) - L39
specialize beta_at_exists (b) - L40
specialize beta_at_exists (c) - L41
specialize beta_at_exists (i) - L42
apply beta_at_exists
11Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hx
12Establish heqL44–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
13Use earlier factsL54–56
14Calculate and transport equalitiesL57–58
Original exact command ledger · 63 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro d - 0005
intro e - 0006
intro f - 0007
intro g - 0008
intro hd - 0009
intro hf - 0010
cases hd - 0011
cases hf - 0012
intro i - 0013
intro a - 0014
intro hi - 0015
intro ha - 0016
have ho : i=L \/ (exists pfa_gap_shift_unique_old_index. pfa_gap_shift_unique_old_index + S (i) = (L)) - 0017
specialize finite_lt_succ_eq_or_lt (L) - 0018
specialize finite_lt_succ_eq_or_lt (i) - 0019
apply finite_lt_succ_eq_or_lt - 0020
exact hi - 0021
cases ho - 0022
rewrite ho_left at ha - 0023
rewrite ho_left at ha - 0024
have heq : a=0 - 0025
specialize beta_at_unique (d) - 0026
specialize beta_at_unique (e) - 0027
specialize beta_at_unique (L) - 0028
specialize beta_at_unique (a) - 0029
specialize beta_at_unique (0) - 0030
apply beta_at_unique - 0031
exact ha - 0032
exact hd_right - 0033
rewrite ho_left - 0034
rewrite ho_left - 0035
rewrite heq - 0036
rewrite heq - 0037
exact hf_right - 0038
have hx : exists x. (((exists ff_h_pfp_shift_unique_source_value. ff_h_pfp_shift_unique_source_value + S (x) = S ((S (i)) * c)) /\ exists ff_q_pfp_shift_unique_source_value. b = ff_q_pfp_shift_unique_source_value * S ((S (i)) * c) + (x))) - 0039
specialize beta_at_exists (b) - 0040
specialize beta_at_exists (c) - 0041
specialize beta_at_exists (i) - 0042
apply beta_at_exists - 0043
cases hx - 0044
have heq : a=x - 0045
specialize beta_at_unique (d) - 0046
specialize beta_at_unique (e) - 0047
specialize beta_at_unique (i) - 0048
specialize beta_at_unique (a) - 0049
specialize beta_at_unique (x) - 0050
apply beta_at_unique - 0051
exact ha - 0052
specialize hd_left (i) - 0053
specialize hd_left (x) - 0054
apply hd_left - 0055
exact ho_right - 0056
exact hx_witness - 0057
rewrite heq - 0058
rewrite heq - 0059
specialize hf_left (i) - 0060
specialize hf_left (x) - 0061
apply hf_left - 0062
exact ho_right - 0063
exact hx_witness