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.
Statement with defined notation
∀ b. ∀ c. ∀ l. ∀ n. (∀ x. Lt(x,l) → ∃ y. BetaAt(b,c,x,y) ∧ Lt(y,n)) → Lt(n,l) → ¬InjectivePrefix(b,c,l)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order 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)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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(b,c,n)Original native command in the exact edition - 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
Establish this local claim before using it. It is not an additional assumption.
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(b,c,n)Original native command in the exact edition - 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 : ∃ v. BetaAt(b,c,n,v) ∧ Lt(v,n)Definitions: BetaAt(b,c,n,v)Lt(v,n)Original native command in the exact edition - 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 : ContainsPrefix(b,c,n,x)Definitions: ContainsPrefix(b,c,n,x)Original native command in the exact edition - 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 defined 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 : Le(n,l)Exact native replay line
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 : BoundedPrefix(b,c,n)Exact native replay line
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 : Lt(i,l)Exact native replay line
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 : InjectivePrefix(b,c,n)Exact native replay line
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 : SurjectivePrefix(b,c,n)Exact native replay line
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 : ∃ v. BetaAt(b,c,n,v) ∧ Lt(v,n)Exact native replay line
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 : ContainsPrefix(b,c,n,x)Exact native replay line
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