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. ∀ z. ∀ d. ∀ n. (∀ x. Lt(x,n) → ∃ y. BetaAt(z,d,x,y) ∧ (Lt(y,l) ∧ BetaAt(b,c,y,x))) → ∀ x. Lt(x,n) → ∃ y. BetaAt(z,d,x,y) ∧ Lt(y,l)Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
7 occurrences
In local proof propositions
3 occurrences
Exact expanded native-PA statement
forall b c l z d n. (forall fom_value_bounded_choice. (exists fom_gap_bounded_choice_value_bound. fom_gap_bounded_choice_value_bound + S (fom_value_bounded_choice) = n) -> exists fom_index_bounded_choice. ((((exists fom_beta_height_bounded_choice_choice_entry. fom_beta_height_bounded_choice_choice_entry + S (fom_index_bounded_choice) = S ((S (fom_value_bounded_choice)) * d)) /\ exists fom_beta_quotient_bounded_choice_choice_entry. z = fom_beta_quotient_bounded_choice_choice_entry * S ((S (fom_value_bounded_choice)) * d) + (fom_index_bounded_choice))) /\ ((exists fom_gap_bounded_choice_index_bound. fom_gap_bounded_choice_index_bound + S (fom_index_bounded_choice) = l) /\ (((exists fom_beta_height_bounded_choice_source_entry. fom_beta_height_bounded_choice_source_entry + S (fom_value_bounded_choice) = S ((S (fom_index_bounded_choice)) * c)) /\ exists fom_beta_quotient_bounded_choice_source_entry. b = fom_beta_quotient_bounded_choice_source_entry * S ((S (fom_index_bounded_choice)) * c) + (fom_value_bounded_choice)))))) -> (forall fom_index_bounded_result. (exists fom_gap_bounded_result_index_bound. fom_gap_bounded_result_index_bound + S (fom_index_bounded_result) = n) -> exists fom_value_bounded_result. ((((exists fom_beta_height_bounded_result_entry. fom_beta_height_bounded_result_entry + S (fom_value_bounded_result) = S ((S (fom_index_bounded_result)) * d)) /\ exists fom_beta_quotient_bounded_result_entry. z = fom_beta_quotient_bounded_result_entry * S ((S (fom_index_bounded_result)) * d) + (fom_value_bounded_result))) /\ (exists fom_gap_bounded_result_value_bound. fom_gap_bounded_result_value_bound + S (fom_value_bounded_result) = l)))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed 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–9
02Use earlier factsL10–10
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
specialize hchoice y
03Establish hstoredL11–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchoice.
- L11
have hstored : ∃ i. BetaAt(z,d,y,i) ∧ (Lt(i,l) ∧ BetaAt(b,c,i,y))Definitions: BetaAt(z,d,y,i)Lt(i,l)BetaAt(b,c,i,y)Original native command in the exact edition - L12
apply hchoice - L13
exact hy
04Separate the logical casesL14–16
05Construct an explicit witnessL17–17
Supply the displayed value, then prove that it has the required property.
- L17
exists x
06Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
Original defined command ledger · 20 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro z - 0005
intro d - 0006
intro n - 0007
intro hchoice - 0008
intro y - 0009
intro hy - 0010
specialize hchoice y - 0011
have hstored : ∃ i. BetaAt(z,d,y,i) ∧ (Lt(i,l) ∧ BetaAt(b,c,i,y))Exact native replay line
have hstored : exists i. (((exists h. h + S i = S ((S y) * d)) /\ exists q. z = q * S ((S y) * d) + i) /\ ((exists h. h + S i = l) /\ ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y))) - 0012
apply hchoice - 0013
exact hy - 0014
cases hstored - 0015
cases hstored_witness - 0016
cases hstored_witness_right - 0017
exists x - 0018
split - 0019
exact hstored_witness_left - 0020
exact hstored_witness_right_left