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
∀ r. ∀ s. ∀ b. ∀ c. ∀ z. ∀ d. ∀ n. BoundedPrefix(r,s,n) → Range(b,c,1,n) → (∀ x. ∀ y. Lt(x,n) → BetaAt(r,s,x,y) → BetaAt(z,d,x,S y)) → ∀ x. ∀ y. ∀ m. Lt(x,n) → BetaAt(r,s,x,y) → BetaAt(b,c,y,m) → BetaAt(z,d,x,m)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
9 occurrences
In local proof propositions
4 occurrences
Exact expanded native-PA statement
forall r s b c z d n. (forall fp_i_aligned_bounded. (exists fp_gap_aligned_bounded_index. fp_gap_aligned_bounded_index + S fp_i_aligned_bounded = n) -> exists fp_value_aligned_bounded. ((((exists ff_h_aligned_bounded_entry. ff_h_aligned_bounded_entry + S (fp_value_aligned_bounded) = S ((S (fp_i_aligned_bounded)) * s)) /\ exists ff_q_aligned_bounded_entry. r = ff_q_aligned_bounded_entry * S ((S (fp_i_aligned_bounded)) * s) + (fp_value_aligned_bounded))) /\ (exists fp_gap_aligned_bounded_value. fp_gap_aligned_bounded_value + S fp_value_aligned_bounded = n))) -> (forall ff_i_frp_range_aligned_range. (exists ff_lt_frp_range_aligned_range_bound. ff_lt_frp_range_aligned_range_bound + S ff_i_frp_range_aligned_range = n) -> (((exists ff_h_frp_range_aligned_range_decoded. ff_h_frp_range_aligned_range_decoded + S (1 + ff_i_frp_range_aligned_range) = S ((S (ff_i_frp_range_aligned_range)) * c)) /\ exists ff_q_frp_range_aligned_range_decoded. b = ff_q_frp_range_aligned_range_decoded * S ((S (ff_i_frp_range_aligned_range)) * c) + (1 + ff_i_frp_range_aligned_range)))) -> (forall frr_index_aligned_lift frr_value_aligned_lift. (exists frr_gap_aligned_lift. frr_gap_aligned_lift + S frr_index_aligned_lift = n) -> (((exists ff_h_frr_aligned_lift_source. ff_h_frr_aligned_lift_source + S (frr_value_aligned_lift) = S ((S (frr_index_aligned_lift)) * s)) /\ exists ff_q_frr_aligned_lift_source. r = ff_q_frr_aligned_lift_source * S ((S (frr_index_aligned_lift)) * s) + (frr_value_aligned_lift))) -> (((exists frm_height_frr_aligned_lift_target. frm_height_frr_aligned_lift_target + S (S frr_value_aligned_lift) = S ((S (frr_index_aligned_lift)) * d)) /\ exists frm_quotient_frr_aligned_lift_target. z = frm_quotient_frr_aligned_lift_target * S ((S (frr_index_aligned_lift)) * d) + (S frr_value_aligned_lift)))) -> (forall fpr_i_aligned_result fpr_j_aligned_result fpr_x_aligned_result. (exists fpr_h_aligned_result. fpr_h_aligned_result + S fpr_i_aligned_result = n) -> (((exists ff_h_aligned_result_map. ff_h_aligned_result_map + S (fpr_j_aligned_result) = S ((S (fpr_i_aligned_result)) * s)) /\ exists ff_q_aligned_result_map. r = ff_q_aligned_result_map * S ((S (fpr_i_aligned_result)) * s) + (fpr_j_aligned_result))) -> (((exists ff_h_aligned_result_source. ff_h_aligned_result_source + S (fpr_x_aligned_result) = S ((S (fpr_j_aligned_result)) * c)) /\ exists ff_q_aligned_result_source. b = ff_q_aligned_result_source * S ((S (fpr_j_aligned_result)) * c) + (fpr_x_aligned_result))) -> (((exists ff_h_aligned_result_target. ff_h_aligned_result_target + S (fpr_x_aligned_result) = S ((S (fpr_i_aligned_result)) * d)) /\ exists ff_q_aligned_result_target. z = ff_q_aligned_result_target * S ((S (fpr_i_aligned_result)) * d) + (fpr_x_aligned_result))))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.
Named ingredients (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Establish hbounded_iL17–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounded.
- L17
have hbounded_i : ∃ frr_value_aligned_entry. BetaAt(r,s,i,frr_value_aligned_entry) ∧ Lt(frr_value_aligned_entry,n)Definitions: BetaAt(r,s,i,frr_value_aligned_entry)Lt(frr_value_aligned_entry,n)Original native command in the exact edition - L18
specialize hbounded i - L19
apply hbounded - L20
exact hi
04Separate the logical casesL21–22
05Establish hjxL23–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hjboundL32–34
Establish this local claim before using it. It is not an additional assumption.
07Establish hvalueL35–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta range one entry eq succ.
- L35
have hvalue : value = S j - L36
specialize beta_range_one_entry_eq_succ b - L37
specialize beta_range_one_entry_eq_succ c - L38
specialize beta_range_one_entry_eq_succ n - L39
specialize beta_range_one_entry_eq_succ j - L40
specialize beta_range_one_entry_eq_succ value - L41
apply beta_range_one_entry_eq_succ - L42
exact hrange - L43
exact hjbound - L44
exact hsource
08Establish htarget_succL45–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hlift.
Original defined command ledger · 53 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro z - 0006
intro d - 0007
intro n - 0008
intro hbounded - 0009
intro hrange - 0010
intro hlift - 0011
intro i - 0012
intro j - 0013
intro value - 0014
intro hi - 0015
intro hmap - 0016
intro hsource - 0017
have hbounded_i : ∃ frr_value_aligned_entry. BetaAt(r,s,i,frr_value_aligned_entry) ∧ Lt(frr_value_aligned_entry,n)Exact native replay line
have hbounded_i : exists frr_value_aligned_entry. (((exists ff_h_frr_aligned_entry_entry. ff_h_frr_aligned_entry_entry + S (frr_value_aligned_entry) = S ((S (i)) * s)) /\ exists ff_q_frr_aligned_entry_entry. r = ff_q_frr_aligned_entry_entry * S ((S (i)) * s) + (frr_value_aligned_entry))) /\ (exists frr_gap_aligned_entry. frr_gap_aligned_entry + S frr_value_aligned_entry = n) - 0018
specialize hbounded i - 0019
apply hbounded - 0020
exact hi - 0021
cases hbounded_i - 0022
cases hbounded_i_witness - 0023
have hjx : j = x - 0024
specialize beta_at_unique r - 0025
specialize beta_at_unique s - 0026
specialize beta_at_unique i - 0027
specialize beta_at_unique j - 0028
specialize beta_at_unique x - 0029
apply beta_at_unique - 0030
exact hmap - 0031
exact hbounded_i_witness_left - 0032
have hjbound : Lt(j,n)Exact native replay line
have hjbound : exists frr_gap_aligned_j_bound. frr_gap_aligned_j_bound + S j = n - 0033
rewrite hjx - 0034
exact hbounded_i_witness_right - 0035
have hvalue : value = S j - 0036
specialize beta_range_one_entry_eq_succ b - 0037
specialize beta_range_one_entry_eq_succ c - 0038
specialize beta_range_one_entry_eq_succ n - 0039
specialize beta_range_one_entry_eq_succ j - 0040
specialize beta_range_one_entry_eq_succ value - 0041
apply beta_range_one_entry_eq_succ - 0042
exact hrange - 0043
exact hjbound - 0044
exact hsource - 0045
have htarget_succ : BetaAt(z,d,i,S j)Exact native replay line
have htarget_succ : ((exists frm_height_aligned_target. frm_height_aligned_target + S (S j) = S ((S (i)) * d)) /\ exists frm_quotient_aligned_target. z = frm_quotient_aligned_target * S ((S (i)) * d) + (S j)) - 0046
specialize hlift i - 0047
specialize hlift j - 0048
apply hlift - 0049
exact hi - 0050
exact hmap - 0051
rewrite hvalue - 0052
rewrite hvalue - 0053
exact htarget_succ