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.
Exact expanded first-order arithmetic statement
forall b c l d. (forall ff_index_be_bd_old ff_digit_be_bd_old. (exists ff_lt_be_bd_old_bound. ff_lt_be_bd_old_bound + S ff_index_be_bd_old = l) -> (((exists ff_h_be_bd_old_digit. ff_h_be_bd_old_digit + S (ff_digit_be_bd_old) = S ((S (ff_index_be_bd_old)) * c)) /\ exists ff_q_be_bd_old_digit. b = ff_q_be_bd_old_digit * S ((S (ff_index_be_bd_old)) * c) + (ff_digit_be_bd_old))) -> (ff_digit_be_bd_old = 0 \/ ff_digit_be_bd_old = 1)) -> (d = 0 \/ d = 1) -> (exists z e. ((((exists ff_h_bd_append_terminal. ff_h_bd_append_terminal + S (d) = S ((S (l)) * e)) /\ exists ff_q_bd_append_terminal. z = ff_q_bd_append_terminal * S ((S (l)) * e) + (d))) /\ ((forall ff_index_be_bd_append ff_digit_be_bd_append. (exists ff_lt_be_bd_append_bound. ff_lt_be_bd_append_bound + S ff_index_be_bd_append = S l) -> (((exists ff_h_be_bd_append_digit. ff_h_be_bd_append_digit + S (ff_digit_be_bd_append) = S ((S (ff_index_be_bd_append)) * e)) /\ exists ff_q_be_bd_append_digit. z = ff_q_be_bd_append_digit * S ((S (ff_index_be_bd_append)) * e) + (ff_digit_be_bd_append))) -> (ff_digit_be_bd_append = 0 \/ ff_digit_be_bd_append = 1)) /\ (forall bd_index_append_recode bd_value_append_recode. (exists bd_gap_append_recode. bd_gap_append_recode + S bd_index_append_recode = l) -> (((exists ff_h_bd_append_recode_old. ff_h_bd_append_recode_old + S (bd_value_append_recode) = S ((S (bd_index_append_recode)) * c)) /\ exists ff_q_bd_append_recode_old. b = ff_q_bd_append_recode_old * S ((S (bd_index_append_recode)) * c) + (bd_value_append_recode))) -> (((exists ff_h_bd_append_recode_new. ff_h_bd_append_recode_new + S (bd_value_append_recode) = S ((S (bd_index_append_recode)) * e)) /\ exists ff_q_bd_append_recode_new. z = ff_q_bd_append_recode_new * S ((S (bd_index_append_recode)) * e) + (bd_value_append_recode)))))))Constructive proof overview
Generated structural guide
Every valid beta-coded binary prefix can append a real zero-or-one digit without changing any older entry.
The unchanged tactic script uses 4 declared prerequisites and contains 77 exact native proof lines.
Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BD0001 binary_digit_code_recode_exists finite_lt_succ_eq_or_lt Stable theorem; checked-use authorized beta_at_exists Stable theorem; checked-use authorized beta_at_unique 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.
Named ingredients (1)
01Fix variables and assumptionsL1–6
02Establish hcodeL7–12
Establish this local claim before using it. It is not an additional assumption.
03Separate the logical casesL13–15
04Construct an explicit witnessL16–17
05Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
06Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
exact hcode_witness_witness_left
07Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
split
08Fix variables and assumptionsL21–24
09Establish hcasesL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
10Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hcases
11Calculate and transport equalitiesL31–32
12Establish hlastL33–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
13Establish hlastbitL42–46
14Establish hsourceL47–51
Establish this local claim before using it. It is not an additional assumption.
- L47
have hsource : exists value. (((exists ff_h_bd_append_source. ff_h_bd_append_source + S (value) = S ((S (i)) * c)) /\ exists ff_q_bd_append_source. b = ff_q_bd_append_source * S ((S (i)) * c) + (value))) - L48
specialize beta_at_exists b - L49
specialize beta_at_exists c - L50
specialize beta_at_exists i - L51
exact beta_at_exists
15Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases hsource
16Establish htransportL53–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcode witness witness right.
- L53
have htransport : (((exists ff_h_bd_append_transport. ff_h_bd_append_transport + S (x2) = S ((S (i)) * x1)) /\ exists ff_q_bd_append_transport. x = ff_q_bd_append_transport * S ((S (i)) * x1) + (x2))) - L54
specialize hcode_witness_witness_right i - L55
specialize hcode_witness_witness_right x2 - L56
apply hcode_witness_witness_right - L57
exact hcases_right - L58
exact hsource_witness
17Establish holdvalueL59–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
18Establish holdbitL68–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hdigits.
Original exact command ledger · 77 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro d - 0005
intro hdigits - 0006
intro hdigit - 0007
have hcode : exists z e. ((((exists ff_h_bd_recode_terminal. ff_h_bd_recode_terminal + S (d) = S ((S (l)) * e)) /\ exists ff_q_bd_recode_terminal. z = ff_q_bd_recode_terminal * S ((S (l)) * e) + (d))) /\ (forall bd_index_recode_result bd_value_recode_result. (exists bd_gap_recode_result. bd_gap_recode_result + S bd_index_recode_result = l) -> (((exists ff_h_bd_recode_result_old. ff_h_bd_recode_result_old + S (bd_value_recode_result) = S ((S (bd_index_recode_result)) * c)) /\ exists ff_q_bd_recode_result_old. b = ff_q_bd_recode_result_old * S ((S (bd_index_recode_result)) * c) + (bd_value_recode_result))) -> (((exists ff_h_bd_recode_result_new. ff_h_bd_recode_result_new + S (bd_value_recode_result) = S ((S (bd_index_recode_result)) * e)) /\ exists ff_q_bd_recode_result_new. z = ff_q_bd_recode_result_new * S ((S (bd_index_recode_result)) * e) + (bd_value_recode_result))))) - 0008
specialize binary_digit_code_recode_exists b - 0009
specialize binary_digit_code_recode_exists c - 0010
specialize binary_digit_code_recode_exists l - 0011
specialize binary_digit_code_recode_exists d - 0012
exact binary_digit_code_recode_exists - 0013
cases hcode - 0014
cases hcode_witness - 0015
cases hcode_witness_witness - 0016
exists x - 0017
exists x1 - 0018
split - 0019
exact hcode_witness_witness_left - 0020
split - 0021
intro i - 0022
intro a - 0023
intro hbound - 0024
intro hentry - 0025
have hcases : i = l \/ exists gap. gap + S i = l - 0026
specialize finite_lt_succ_eq_or_lt l - 0027
specialize finite_lt_succ_eq_or_lt i - 0028
apply finite_lt_succ_eq_or_lt - 0029
exact hbound - 0030
cases hcases - 0031
rewrite hcases_left at hentry - 0032
rewrite hcases_left at hentry - 0033
have hlast : d = a - 0034
specialize beta_at_unique x - 0035
specialize beta_at_unique x1 - 0036
specialize beta_at_unique l - 0037
specialize beta_at_unique d - 0038
specialize beta_at_unique a - 0039
apply beta_at_unique - 0040
exact hcode_witness_witness_left - 0041
exact hentry - 0042
have hlastbit : d = 0 \/ d = 1 - 0043
exact hdigit - 0044
rewrite hlast at hlastbit - 0045
rewrite hlast at hlastbit - 0046
exact hlastbit - 0047
have hsource : exists value. (((exists ff_h_bd_append_source. ff_h_bd_append_source + S (value) = S ((S (i)) * c)) /\ exists ff_q_bd_append_source. b = ff_q_bd_append_source * S ((S (i)) * c) + (value))) - 0048
specialize beta_at_exists b - 0049
specialize beta_at_exists c - 0050
specialize beta_at_exists i - 0051
exact beta_at_exists - 0052
cases hsource - 0053
have htransport : (((exists ff_h_bd_append_transport. ff_h_bd_append_transport + S (x2) = S ((S (i)) * x1)) /\ exists ff_q_bd_append_transport. x = ff_q_bd_append_transport * S ((S (i)) * x1) + (x2))) - 0054
specialize hcode_witness_witness_right i - 0055
specialize hcode_witness_witness_right x2 - 0056
apply hcode_witness_witness_right - 0057
exact hcases_right - 0058
exact hsource_witness - 0059
have holdvalue : x2 = a - 0060
specialize beta_at_unique x - 0061
specialize beta_at_unique x1 - 0062
specialize beta_at_unique i - 0063
specialize beta_at_unique x2 - 0064
specialize beta_at_unique a - 0065
apply beta_at_unique - 0066
exact htransport - 0067
exact hentry - 0068
have holdbit : x2 = 0 \/ x2 = 1 - 0069
specialize hdigits i - 0070
specialize hdigits x2 - 0071
apply hdigits - 0072
exact hcases_right - 0073
exact hsource_witness - 0074
rewrite holdvalue at holdbit - 0075
rewrite holdvalue at holdbit - 0076
exact holdbit - 0077
exact hcode_witness_witness_right
Separate complete second-wave branches: Full T13 proof · Alpha v27.