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-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 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