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 PA statement
forall b c r s z d f g l. (forall gmp_index_wtp_alignment_range. (exists gsp_lt_gap_wtp_alignment_range_index_bound. gsp_lt_gap_wtp_alignment_range_index_bound + S gmp_index_wtp_alignment_range = l) -> exists gmp_magnitude_wtp_alignment_range. ((((exists ff_h_gmp_wtp_alignment_range_decoded. ff_h_gmp_wtp_alignment_range_decoded + S (gmp_magnitude_wtp_alignment_range) = S ((S (gmp_index_wtp_alignment_range)) * c)) /\ exists ff_q_gmp_wtp_alignment_range_decoded. b = ff_q_gmp_wtp_alignment_range_decoded * S ((S (gmp_index_wtp_alignment_range)) * c) + (gmp_magnitude_wtp_alignment_range))) /\ ((exists gsp_lt_gap_wtp_alignment_range_positive. gsp_lt_gap_wtp_alignment_range_positive + S 0 = gmp_magnitude_wtp_alignment_range) /\ (exists gsp_le_gap_wtp_alignment_range_bounded. gsp_le_gap_wtp_alignment_range_bounded + gmp_magnitude_wtp_alignment_range = l)))) -> (forall gmp_index_wtp_alignment_recode gmp_predecessor_wtp_alignment_recode. (exists gsp_lt_gap_wtp_alignment_recode_index_bound. gsp_lt_gap_wtp_alignment_recode_index_bound + S gmp_index_wtp_alignment_recode = l) -> (((exists gsp_beta_height_gmp_wtp_alignment_recode_source. gsp_beta_height_gmp_wtp_alignment_recode_source + S (S gmp_predecessor_wtp_alignment_recode) = S ((S (gmp_index_wtp_alignment_recode)) * c)) /\ exists gsp_beta_quotient_gmp_wtp_alignment_recode_source. b = gsp_beta_quotient_gmp_wtp_alignment_recode_source * S ((S (gmp_index_wtp_alignment_recode)) * c) + (S gmp_predecessor_wtp_alignment_recode))) -> (((exists ff_h_gmp_wtp_alignment_recode_target. ff_h_gmp_wtp_alignment_recode_target + S (gmp_predecessor_wtp_alignment_recode) = S ((S (gmp_index_wtp_alignment_recode)) * s)) /\ exists ff_q_gmp_wtp_alignment_recode_target. r = ff_q_gmp_wtp_alignment_recode_target * S ((S (gmp_index_wtp_alignment_recode)) * s) + (gmp_predecessor_wtp_alignment_recode)))) -> (forall wsl_index_wtp_alignment_lift wsl_value_wtp_alignment_lift. (exists wpo_gap_wtp_alignment_lift_bound. wpo_gap_wtp_alignment_lift_bound + S (wsl_index_wtp_alignment_lift) = l) -> (((exists wpo_beta_height_wtp_alignment_lift_source. wpo_beta_height_wtp_alignment_lift_source + S (wsl_value_wtp_alignment_lift) = S ((S (wsl_index_wtp_alignment_lift)) * c)) /\ exists wpo_beta_quotient_wtp_alignment_lift_source. b = wpo_beta_quotient_wtp_alignment_lift_source * S ((S (wsl_index_wtp_alignment_lift)) * c) + (wsl_value_wtp_alignment_lift))) -> (((exists wpo_beta_height_wtp_alignment_lift_target. wpo_beta_height_wtp_alignment_lift_target + S (S wsl_value_wtp_alignment_lift) = S ((S (wsl_index_wtp_alignment_lift)) * g)) /\ exists wpo_beta_quotient_wtp_alignment_lift_target. f = wpo_beta_quotient_wtp_alignment_lift_target * S ((S (wsl_index_wtp_alignment_lift)) * g) + (S wsl_value_wtp_alignment_lift)))) -> (forall wtp_range_index_wtp_alignment_range_two. (exists wtp_range_gap_wtp_alignment_range_two. wtp_range_gap_wtp_alignment_range_two + S wtp_range_index_wtp_alignment_range_two = l) -> (((exists ff_h_wtp_alignment_range_two_decoded. ff_h_wtp_alignment_range_two_decoded + S (2 + wtp_range_index_wtp_alignment_range_two) = S ((S (wtp_range_index_wtp_alignment_range_two)) * d)) /\ exists ff_q_wtp_alignment_range_two_decoded. z = ff_q_wtp_alignment_range_two_decoded * S ((S (wtp_range_index_wtp_alignment_range_two)) * d) + (2 + wtp_range_index_wtp_alignment_range_two)))) -> (forall fpr_i_wtp_alignment fpr_j_wtp_alignment fpr_x_wtp_alignment. (exists fpr_h_wtp_alignment. fpr_h_wtp_alignment + S fpr_i_wtp_alignment = l) -> (((exists ff_h_wtp_alignment_map. ff_h_wtp_alignment_map + S (fpr_j_wtp_alignment) = S ((S (fpr_i_wtp_alignment)) * s)) /\ exists ff_q_wtp_alignment_map. r = ff_q_wtp_alignment_map * S ((S (fpr_i_wtp_alignment)) * s) + (fpr_j_wtp_alignment))) -> (((exists ff_h_wtp_alignment_source. ff_h_wtp_alignment_source + S (fpr_x_wtp_alignment) = S ((S (fpr_j_wtp_alignment)) * d)) /\ exists ff_q_wtp_alignment_source. z = ff_q_wtp_alignment_source * S ((S (fpr_j_wtp_alignment)) * d) + (fpr_x_wtp_alignment))) -> (((exists ff_h_wtp_alignment_target. ff_h_wtp_alignment_target + S (fpr_x_wtp_alignment) = S ((S (fpr_i_wtp_alignment)) * g)) /\ exists ff_q_wtp_alignment_target. f = ff_q_wtp_alignment_target * S ((S (fpr_i_wtp_alignment)) * g) + (fpr_x_wtp_alignment))))Structural proof guide
Generated structural guide
The predecessor map aligns canonical residues 2+j with successor-lifted PairOrder entries.
Use the direct prerequisites beta_magnitude_predecessor_recode_bounded, beta_magnitude_predecessor_recode_reflect, beta_at_unique, beta_range_entry_eq, add_succ_left, zero_add as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (9), equality transport (3), certified simplification (1).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA007S beta_magnitude_predecessor_recode_bounded PA007T beta_magnitude_predecessor_recode_reflect PA002F beta_at_unique PA0032 beta_range_entry_eq PA000E add_succ_left PA0001 zero_addDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hboundedL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta magnitude predecessor recode bounded.
- L14
have hbounded : BoundedPrefix(r,s,l)Definitions: BoundedPrefix - L15
specialize beta_magnitude_predecessor_recode_bounded b - L16
specialize beta_magnitude_predecessor_recode_bounded c - L17
specialize beta_magnitude_predecessor_recode_bounded r - L18
specialize beta_magnitude_predecessor_recode_bounded s - L19
specialize beta_magnitude_predecessor_recode_bounded l - L20
apply beta_magnitude_predecessor_recode_bounded - L21
exact hrange - L22
exact hrecode - L23
intro i
04Fix variables and assumptionsL24–28
05Establish hjdataL29–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounded.
- L29
have hjdata : exists y. ((((exists ff_h_wtp_alignment_bounded_entry. ff_h_wtp_alignment_bounded_entry + S (y) = S ((S (i)) * s)) /\ exists ff_q_wtp_alignment_bounded_entry. r = ff_q_wtp_alignment_bounded_entry * S ((S (i)) * s) + (y))) /\ (exists wpo_gap_wtp_alignment_bounded_value. wpo_gap_wtp_alignment_bounded_value + S (y) = l)) - L30
specialize hbounded i - L31
apply hbounded - L32
exact hi
06Separate the logical casesL33–34
07Establish hjyL35–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Establish hjL44–46
09Establish horderL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta magnitude predecessor recode reflect.
- L47
have horder : ((exists wpo_beta_height_wtp_reflected_order_entry. wpo_beta_height_wtp_reflected_order_entry + S (S j) = S ((S (i)) * c)) /\ exists wpo_beta_quotient_wtp_reflected_order_entry. b = wpo_beta_quotient_wtp_reflected_order_entry * S ((S (i)) * c) + (S j)) - L48
specialize beta_magnitude_predecessor_recode_reflect b - L49
specialize beta_magnitude_predecessor_recode_reflect c - L50
specialize beta_magnitude_predecessor_recode_reflect r - L51
specialize beta_magnitude_predecessor_recode_reflect s - L52
specialize beta_magnitude_predecessor_recode_reflect l - L53
specialize beta_magnitude_predecessor_recode_reflect l - L54
specialize beta_magnitude_predecessor_recode_reflect i - L55
specialize beta_magnitude_predecessor_recode_reflect j - L56
apply beta_magnitude_predecessor_recode_reflect
10Use earlier factsL57–60
11Establish htargetL61–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hlift.
- L61
have htarget : ((exists wpo_beta_height_wtp_lifted_target_entry. wpo_beta_height_wtp_lifted_target_entry + S (S (S j)) = S ((S (i)) * g)) /\ exists wpo_beta_quotient_wtp_lifted_target_entry. f = wpo_beta_quotient_wtp_lifted_target_entry * S ((S (i)) * g) + (S (S j))) - L62
specialize hlift i - L63
specialize hlift (S j) - L64
apply hlift - L65
exact hi - L66
exact horder
12Establish hxrawL67–76
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta range entry eq.
13Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hsource
14Establish htwoL78–79
Original exact command ledger · 86 lines
- 0001
intro b - 0002
intro c - 0003
intro r - 0004
intro s - 0005
intro z - 0006
intro d - 0007
intro f - 0008
intro g - 0009
intro l - 0010
intro hrange - 0011
intro hrecode - 0012
intro hlift - 0013
intro hcanonical - 0014
have hbounded : forall fp_i_wtp_predecessor_bounded. (exists fp_gap_wtp_predecessor_bounded_index. fp_gap_wtp_predecessor_bounded_index + S fp_i_wtp_predecessor_bounded = l) -> exists fp_value_wtp_predecessor_bounded. ((((exists ff_h_wtp_predecessor_bounded_entry. ff_h_wtp_predecessor_bounded_entry + S (fp_value_wtp_predecessor_bounded) = S ((S (fp_i_wtp_predecessor_bounded)) * s)) /\ exists ff_q_wtp_predecessor_bounded_entry. r = ff_q_wtp_predecessor_bounded_entry * S ((S (fp_i_wtp_predecessor_bounded)) * s) + (fp_value_wtp_predecessor_bounded))) /\ (exists fp_gap_wtp_predecessor_bounded_value. fp_gap_wtp_predecessor_bounded_value + S fp_value_wtp_predecessor_bounded = l)) - 0015
specialize beta_magnitude_predecessor_recode_bounded b - 0016
specialize beta_magnitude_predecessor_recode_bounded c - 0017
specialize beta_magnitude_predecessor_recode_bounded r - 0018
specialize beta_magnitude_predecessor_recode_bounded s - 0019
specialize beta_magnitude_predecessor_recode_bounded l - 0020
apply beta_magnitude_predecessor_recode_bounded - 0021
exact hrange - 0022
exact hrecode - 0023
intro i - 0024
intro j - 0025
intro x - 0026
intro hi - 0027
intro hmap - 0028
intro hsource - 0029
have hjdata : exists y. ((((exists ff_h_wtp_alignment_bounded_entry. ff_h_wtp_alignment_bounded_entry + S (y) = S ((S (i)) * s)) /\ exists ff_q_wtp_alignment_bounded_entry. r = ff_q_wtp_alignment_bounded_entry * S ((S (i)) * s) + (y))) /\ (exists wpo_gap_wtp_alignment_bounded_value. wpo_gap_wtp_alignment_bounded_value + S (y) = l)) - 0030
specialize hbounded i - 0031
apply hbounded - 0032
exact hi - 0033
cases hjdata - 0034
cases hjdata_witness - 0035
have hjy : j = x1 - 0036
specialize beta_at_unique r - 0037
specialize beta_at_unique s - 0038
specialize beta_at_unique i - 0039
specialize beta_at_unique j - 0040
specialize beta_at_unique x1 - 0041
apply beta_at_unique - 0042
exact hmap - 0043
exact hjdata_witness_left - 0044
have hj : exists h. h + S j = l - 0045
rewrite hjy - 0046
exact hjdata_witness_right - 0047
have horder : ((exists wpo_beta_height_wtp_reflected_order_entry. wpo_beta_height_wtp_reflected_order_entry + S (S j) = S ((S (i)) * c)) /\ exists wpo_beta_quotient_wtp_reflected_order_entry. b = wpo_beta_quotient_wtp_reflected_order_entry * S ((S (i)) * c) + (S j)) - 0048
specialize beta_magnitude_predecessor_recode_reflect b - 0049
specialize beta_magnitude_predecessor_recode_reflect c - 0050
specialize beta_magnitude_predecessor_recode_reflect r - 0051
specialize beta_magnitude_predecessor_recode_reflect s - 0052
specialize beta_magnitude_predecessor_recode_reflect l - 0053
specialize beta_magnitude_predecessor_recode_reflect l - 0054
specialize beta_magnitude_predecessor_recode_reflect i - 0055
specialize beta_magnitude_predecessor_recode_reflect j - 0056
apply beta_magnitude_predecessor_recode_reflect - 0057
exact hrange - 0058
exact hrecode - 0059
exact hi - 0060
exact hmap - 0061
have htarget : ((exists wpo_beta_height_wtp_lifted_target_entry. wpo_beta_height_wtp_lifted_target_entry + S (S (S j)) = S ((S (i)) * g)) /\ exists wpo_beta_quotient_wtp_lifted_target_entry. f = wpo_beta_quotient_wtp_lifted_target_entry * S ((S (i)) * g) + (S (S j))) - 0062
specialize hlift i - 0063
specialize hlift (S j) - 0064
apply hlift - 0065
exact hi - 0066
exact horder - 0067
have hxraw : x = 2 + j - 0068
specialize beta_range_entry_eq z - 0069
specialize beta_range_entry_eq d - 0070
specialize beta_range_entry_eq 2 - 0071
specialize beta_range_entry_eq l - 0072
specialize beta_range_entry_eq j - 0073
specialize beta_range_entry_eq x - 0074
apply beta_range_entry_eq - 0075
exact hcanonical - 0076
exact hj - 0077
exact hsource - 0078
have htwo : 2 + j = S (S j) - 0079
simp [add_succ_left, zero_add] - 0080
have hxsucc : x = S (S j) - 0081
trans 2 + j - 0082
exact hxraw - 0083
exact htwo - 0084
rewrite hxsucc - 0085
rewrite hxsucc - 0086
exact htarget