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 n. (forall fom_index_ftsp_full_bounded. (exists fom_gap_ftsp_full_bounded_index_bound. fom_gap_ftsp_full_bounded_index_bound + S (fom_index_ftsp_full_bounded) = l) -> exists fom_value_ftsp_full_bounded. ((((exists fom_beta_height_ftsp_full_bounded_entry. fom_beta_height_ftsp_full_bounded_entry + S (fom_value_ftsp_full_bounded) = S ((S (fom_index_ftsp_full_bounded)) * c)) /\ exists fom_beta_quotient_ftsp_full_bounded_entry. b = fom_beta_quotient_ftsp_full_bounded_entry * S ((S (fom_index_ftsp_full_bounded)) * c) + (fom_value_ftsp_full_bounded))) /\ (exists fom_gap_ftsp_full_bounded_value_bound. fom_gap_ftsp_full_bounded_value_bound + S (fom_value_ftsp_full_bounded) = n))) -> (exists ftsp_gap_domain_overflow. ftsp_gap_domain_overflow + S (n) = l) -> ~(forall fp_i_ftsp_full_injective fp_j_ftsp_full_injective fp_value_ftsp_full_injective. (exists fp_gap_ftsp_full_injective_i. fp_gap_ftsp_full_injective_i + S fp_i_ftsp_full_injective = l) -> (exists fp_gap_ftsp_full_injective_j. fp_gap_ftsp_full_injective_j + S fp_j_ftsp_full_injective = l) -> (((exists ff_h_ftsp_full_injective_left. ff_h_ftsp_full_injective_left + S (fp_value_ftsp_full_injective) = S ((S (fp_i_ftsp_full_injective)) * c)) /\ exists ff_q_ftsp_full_injective_left. b = ff_q_ftsp_full_injective_left * S ((S (fp_i_ftsp_full_injective)) * c) + (fp_value_ftsp_full_injective))) -> (((exists ff_h_ftsp_full_injective_right. ff_h_ftsp_full_injective_right + S (fp_value_ftsp_full_injective) = S ((S (fp_j_ftsp_full_injective)) * c)) /\ exists ff_q_ftsp_full_injective_right. b = ff_q_ftsp_full_injective_right * S ((S (fp_j_ftsp_full_injective)) * c) + (fp_value_ftsp_full_injective))) -> fp_i_ftsp_full_injective = fp_j_ftsp_full_injective)Constructive proof overview
Generated structural guide
An explicitly bounded beta-coded map from a larger finite domain cannot be injective.
The unchanged tactic script uses 4 declared prerequisites and contains 88 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.
Proof neighborhood
Direct dependencies
lt_to_le Stable theorem; checked-use authorized lt_of_lt_of_le Stable theorem; checked-use authorized finite_bounded_injective_surjective Stable theorem; checked-use authorized lt_irrefl_expanded 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–7
02Establish hweakL8–12
03Establish hsquareboundedL13–15
Establish this local claim before using it. It is not an additional assumption.
- L13
have hsquarebounded : BoundedPrefix(b,c,n)Definitions: BoundedPrefix - L14
intro i - L15
intro hi
04Establish hlargeL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
05Establish hsquareinjectiveL26–35
06Use earlier factsL36–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Use earlier factsL46–51
08Establish hsurjectiveL52–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bounded injective surjective.
- L52
have hsurjective : SurjectivePrefix(b,c,n)Definitions: SurjectivePrefix - L53
specialize finite_bounded_injective_surjective n - L54
specialize finite_bounded_injective_surjective b - L55
specialize finite_bounded_injective_surjective c - L56
apply finite_bounded_injective_surjective - L57
exact hsquarebounded - L58
exact hsquareinjective
09Establish hlastL59–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounded.
- L59
have hlast : exists v. ((((exists ff_h_ftsp_last_entry. ff_h_ftsp_last_entry + S (v) = S ((S (n)) * c)) /\ exists ff_q_ftsp_last_entry. b = ff_q_ftsp_last_entry * S ((S (n)) * c) + (v))) /\ (exists ftsp_gap_last_value. ftsp_gap_last_value + S (v) = n)) - L60
specialize hbounded n - L61
apply hbounded - L62
exact hoverflow
10Separate the logical casesL63–64
11Establish hearlierL65–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsurjective.
- L65
have hearlier : exists i. ((exists ftsp_gap_earlier_index. ftsp_gap_earlier_index + S (i) = n) /\ (((exists ff_h_ftsp_earlier_entry. ff_h_ftsp_earlier_entry + S (x) = S ((S (i)) * c)) /\ exists ff_q_ftsp_earlier_entry. b = ff_q_ftsp_earlier_entry * S ((S (i)) * c) + (x)))) - L66
specialize hsurjective x - L67
apply hsurjective - L68
exact hlast_witness_right
12Separate the logical casesL69–70
13Establish hequalL71–80
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hinjective.
14Use earlier factsL81–84
15Calculate and transport equalitiesL85–85
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L85
rewrite hequal at hearlier_witness_left
Original exact command ledger · 88 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro hbounded - 0006
intro hoverflow - 0007
intro hinjective - 0008
have hweak : exists k. k + n = l - 0009
specialize lt_to_le n - 0010
specialize lt_to_le l - 0011
apply lt_to_le - 0012
exact hoverflow - 0013
have hsquarebounded : forall fp_i_ftsp_square_bounded. (exists fp_gap_ftsp_square_bounded_index. fp_gap_ftsp_square_bounded_index + S fp_i_ftsp_square_bounded = n) -> exists fp_value_ftsp_square_bounded. ((((exists ff_h_ftsp_square_bounded_entry. ff_h_ftsp_square_bounded_entry + S (fp_value_ftsp_square_bounded) = S ((S (fp_i_ftsp_square_bounded)) * c)) /\ exists ff_q_ftsp_square_bounded_entry. b = ff_q_ftsp_square_bounded_entry * S ((S (fp_i_ftsp_square_bounded)) * c) + (fp_value_ftsp_square_bounded))) /\ (exists fp_gap_ftsp_square_bounded_value. fp_gap_ftsp_square_bounded_value + S fp_value_ftsp_square_bounded = n)) - 0014
intro i - 0015
intro hi - 0016
have hlarge : exists k. k + S i = l - 0017
specialize lt_of_lt_of_le i - 0018
specialize lt_of_lt_of_le n - 0019
specialize lt_of_lt_of_le l - 0020
apply lt_of_lt_of_le - 0021
exact hi - 0022
exact hweak - 0023
specialize hbounded i - 0024
apply hbounded - 0025
exact hlarge - 0026
have hsquareinjective : forall fp_i_ftsp_square_injective fp_j_ftsp_square_injective fp_value_ftsp_square_injective. (exists fp_gap_ftsp_square_injective_i. fp_gap_ftsp_square_injective_i + S fp_i_ftsp_square_injective = n) -> (exists fp_gap_ftsp_square_injective_j. fp_gap_ftsp_square_injective_j + S fp_j_ftsp_square_injective = n) -> (((exists ff_h_ftsp_square_injective_left. ff_h_ftsp_square_injective_left + S (fp_value_ftsp_square_injective) = S ((S (fp_i_ftsp_square_injective)) * c)) /\ exists ff_q_ftsp_square_injective_left. b = ff_q_ftsp_square_injective_left * S ((S (fp_i_ftsp_square_injective)) * c) + (fp_value_ftsp_square_injective))) -> (((exists ff_h_ftsp_square_injective_right. ff_h_ftsp_square_injective_right + S (fp_value_ftsp_square_injective) = S ((S (fp_j_ftsp_square_injective)) * c)) /\ exists ff_q_ftsp_square_injective_right. b = ff_q_ftsp_square_injective_right * S ((S (fp_j_ftsp_square_injective)) * c) + (fp_value_ftsp_square_injective))) -> fp_i_ftsp_square_injective = fp_j_ftsp_square_injective - 0027
intro i - 0028
intro j - 0029
intro v - 0030
intro hi - 0031
intro hj - 0032
intro hleft - 0033
intro hright - 0034
specialize hinjective i - 0035
specialize hinjective j - 0036
specialize hinjective v - 0037
apply hinjective - 0038
specialize lt_of_lt_of_le i - 0039
specialize lt_of_lt_of_le n - 0040
specialize lt_of_lt_of_le l - 0041
apply lt_of_lt_of_le - 0042
exact hi - 0043
exact hweak - 0044
specialize lt_of_lt_of_le j - 0045
specialize lt_of_lt_of_le n - 0046
specialize lt_of_lt_of_le l - 0047
apply lt_of_lt_of_le - 0048
exact hj - 0049
exact hweak - 0050
exact hleft - 0051
exact hright - 0052
have hsurjective : forall fp_value_ftsp_square_surjective. (exists fp_gap_ftsp_square_surjective_value. fp_gap_ftsp_square_surjective_value + S fp_value_ftsp_square_surjective = n) -> exists fp_i_ftsp_square_surjective. ((exists fp_gap_ftsp_square_surjective_index. fp_gap_ftsp_square_surjective_index + S fp_i_ftsp_square_surjective = n) /\ (((exists ff_h_ftsp_square_surjective_entry. ff_h_ftsp_square_surjective_entry + S (fp_value_ftsp_square_surjective) = S ((S (fp_i_ftsp_square_surjective)) * c)) /\ exists ff_q_ftsp_square_surjective_entry. b = ff_q_ftsp_square_surjective_entry * S ((S (fp_i_ftsp_square_surjective)) * c) + (fp_value_ftsp_square_surjective)))) - 0053
specialize finite_bounded_injective_surjective n - 0054
specialize finite_bounded_injective_surjective b - 0055
specialize finite_bounded_injective_surjective c - 0056
apply finite_bounded_injective_surjective - 0057
exact hsquarebounded - 0058
exact hsquareinjective - 0059
have hlast : exists v. ((((exists ff_h_ftsp_last_entry. ff_h_ftsp_last_entry + S (v) = S ((S (n)) * c)) /\ exists ff_q_ftsp_last_entry. b = ff_q_ftsp_last_entry * S ((S (n)) * c) + (v))) /\ (exists ftsp_gap_last_value. ftsp_gap_last_value + S (v) = n)) - 0060
specialize hbounded n - 0061
apply hbounded - 0062
exact hoverflow - 0063
cases hlast - 0064
cases hlast_witness - 0065
have hearlier : exists i. ((exists ftsp_gap_earlier_index. ftsp_gap_earlier_index + S (i) = n) /\ (((exists ff_h_ftsp_earlier_entry. ff_h_ftsp_earlier_entry + S (x) = S ((S (i)) * c)) /\ exists ff_q_ftsp_earlier_entry. b = ff_q_ftsp_earlier_entry * S ((S (i)) * c) + (x)))) - 0066
specialize hsurjective x - 0067
apply hsurjective - 0068
exact hlast_witness_right - 0069
cases hearlier - 0070
cases hearlier_witness - 0071
have hequal : x1 = n - 0072
specialize hinjective x1 - 0073
specialize hinjective n - 0074
specialize hinjective x - 0075
apply hinjective - 0076
specialize lt_of_lt_of_le x1 - 0077
specialize lt_of_lt_of_le n - 0078
specialize lt_of_lt_of_le l - 0079
apply lt_of_lt_of_le - 0080
exact hearlier_witness_left - 0081
exact hweak - 0082
exact hoverflow - 0083
exact hearlier_witness_right - 0084
exact hlast_witness_left - 0085
rewrite hequal at hearlier_witness_left - 0086
specialize lt_irrefl_expanded n - 0087
apply lt_irrefl_expanded - 0088
exact hearlier_witness_left