Exact expanded PA statement
forall p n u v b c f g m. (forall wip_index_wsl_inverse. (exists wip_gap_wsl_inverse_prefix_bound. wip_gap_wsl_inverse_prefix_bound + S wip_index_wsl_inverse = n) -> exists wip_mate_wsl_inverse. ((((exists wip_beta_height_wsl_inverse_decoded. wip_beta_height_wsl_inverse_decoded + S (wip_mate_wsl_inverse) = S ((S (wip_index_wsl_inverse)) * v)) /\ exists wip_beta_quotient_wsl_inverse_decoded. u = wip_beta_quotient_wsl_inverse_decoded * S ((S (wip_index_wsl_inverse)) * v) + (wip_mate_wsl_inverse))) /\ ((exists wip_gap_wsl_inverse_inverse_index_bound. wip_gap_wsl_inverse_inverse_index_bound + S wip_index_wsl_inverse = n) /\ ((exists wip_gap_wsl_inverse_inverse_mate_bound. wip_gap_wsl_inverse_inverse_mate_bound + S wip_mate_wsl_inverse = n) /\ (exists wip_mod_left_wsl_inverse_inverse_mod wip_mod_right_wsl_inverse_inverse_mod. ((S wip_index_wsl_inverse) * S wip_mate_wsl_inverse) + p * wip_mod_left_wsl_inverse_inverse_mod = 1 + p * wip_mod_right_wsl_inverse_inverse_mod))))) -> (forall fom_index_wsl_bounded. (exists fom_gap_wsl_bounded_index_bound. fom_gap_wsl_bounded_index_bound + S (fom_index_wsl_bounded) = m + m) -> exists fom_value_wsl_bounded. ((((exists fom_beta_height_wsl_bounded_entry. fom_beta_height_wsl_bounded_entry + S (fom_value_wsl_bounded) = S ((S (fom_index_wsl_bounded)) * c)) /\ exists fom_beta_quotient_wsl_bounded_entry. b = fom_beta_quotient_wsl_bounded_entry * S ((S (fom_index_wsl_bounded)) * c) + (fom_value_wsl_bounded))) /\ (exists fom_gap_wsl_bounded_value_bound. fom_gap_wsl_bounded_value_bound + S (fom_value_wsl_bounded) = n))) -> (forall wpop_pair_wsl_pairs. (exists wpo_gap_wsl_pairs_pair_bound. wpo_gap_wsl_pairs_pair_bound + S (wpop_pair_wsl_pairs) = m) -> exists wpop_left_wsl_pairs wpop_right_wsl_pairs. ((((exists wpo_beta_height_wsl_pairs_left_entry. wpo_beta_height_wsl_pairs_left_entry + S (wpop_left_wsl_pairs) = S ((S (wpop_pair_wsl_pairs + wpop_pair_wsl_pairs)) * c)) /\ exists wpo_beta_quotient_wsl_pairs_left_entry. b = wpo_beta_quotient_wsl_pairs_left_entry * S ((S (wpop_pair_wsl_pairs + wpop_pair_wsl_pairs)) * c) + (wpop_left_wsl_pairs))) /\ ((((exists wpo_beta_height_wsl_pairs_right_entry. wpo_beta_height_wsl_pairs_right_entry + S (wpop_right_wsl_pairs) = S ((S (S (wpop_pair_wsl_pairs + wpop_pair_wsl_pairs))) * c)) /\ exists wpo_beta_quotient_wsl_pairs_right_entry. b = wpo_beta_quotient_wsl_pairs_right_entry * S ((S (S (wpop_pair_wsl_pairs + wpop_pair_wsl_pairs))) * c) + (wpop_right_wsl_pairs))) /\ (((exists wpo_beta_height_wsl_pairs_inverse_entry. wpo_beta_height_wsl_pairs_inverse_entry + S (wpop_right_wsl_pairs) = S ((S (wpop_left_wsl_pairs)) * v)) /\ exists wpo_beta_quotient_wsl_pairs_inverse_entry. u = wpo_beta_quotient_wsl_pairs_inverse_entry * S ((S (wpop_left_wsl_pairs)) * v) + (wpop_right_wsl_pairs)))))) -> (forall wsl_index_wsl_lift wsl_value_wsl_lift. (exists wpo_gap_wsl_lift_bound. wpo_gap_wsl_lift_bound + S (wsl_index_wsl_lift) = m + m) -> (((exists wpo_beta_height_wsl_lift_source. wpo_beta_height_wsl_lift_source + S (wsl_value_wsl_lift) = S ((S (wsl_index_wsl_lift)) * c)) /\ exists wpo_beta_quotient_wsl_lift_source. b = wpo_beta_quotient_wsl_lift_source * S ((S (wsl_index_wsl_lift)) * c) + (wsl_value_wsl_lift))) -> (((exists wpo_beta_height_wsl_lift_target. wpo_beta_height_wsl_lift_target + S (S wsl_value_wsl_lift) = S ((S (wsl_index_wsl_lift)) * g)) /\ exists wpo_beta_quotient_wsl_lift_target. f = wpo_beta_quotient_wsl_lift_target * S ((S (wsl_index_wsl_lift)) * g) + (S wsl_value_wsl_lift)))) -> (forall wpp_pair_wsl_adjacent wpp_left_wsl_adjacent wpp_right_wsl_adjacent. (exists wpp_gap_wsl_adjacent_pair_bound. wpp_gap_wsl_adjacent_pair_bound + S (wpp_pair_wsl_adjacent) = m) -> (((exists wpp_beta_height_wsl_adjacent_left_entry. wpp_beta_height_wsl_adjacent_left_entry + S (wpp_left_wsl_adjacent) = S ((S ((wpp_pair_wsl_adjacent + wpp_pair_wsl_adjacent))) * g)) /\ exists wpp_beta_quotient_wsl_adjacent_left_entry. f = wpp_beta_quotient_wsl_adjacent_left_entry * S ((S ((wpp_pair_wsl_adjacent + wpp_pair_wsl_adjacent))) * g) + (wpp_left_wsl_adjacent))) -> (((exists wpp_beta_height_wsl_adjacent_right_entry. wpp_beta_height_wsl_adjacent_right_entry + S (wpp_right_wsl_adjacent) = S ((S (S (wpp_pair_wsl_adjacent + wpp_pair_wsl_adjacent))) * g)) /\ exists wpp_beta_quotient_wsl_adjacent_right_entry. f = wpp_beta_quotient_wsl_adjacent_right_entry * S ((S (S (wpp_pair_wsl_adjacent + wpp_pair_wsl_adjacent))) * g) + (wpp_right_wsl_adjacent))) -> (exists wpp_mod_left_wsl_adjacent_pair_mod wpp_mod_right_wsl_adjacent_pair_mod. (wpp_left_wsl_adjacent * wpp_right_wsl_adjacent) + p * wpp_mod_left_wsl_adjacent_pair_mod = (1) + p * wpp_mod_right_wsl_adjacent_pair_mod))Structural proof guide
Generated structural guide
Successor-lifted adjacent inverse indices multiply to one modulo p.
Use the direct prerequisites pair_index_left_below_double, pair_index_right_below_double, beta_at_unique as previously established PA formulas.
The proof proceeds by case analysis (10), intermediate claims (12), equality transport (4).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct 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 p - 0002
intro n - 0003
intro u - 0004
intro v - 0005
intro b - 0006
intro c - 0007
intro f - 0008
intro g - 0009
intro m - 0010
intro hinverse - 0011
intro hbounded - 0012
intro hpairs - 0013
intro hlift - 0014
intro t - 0015
intro a - 0016
intro d - 0017
intro ht - 0018
intro ha - 0019
intro hd - 0020
have hpair : exists i j. ((((exists wpo_beta_height_wsl_order_even_i. wpo_beta_height_wsl_order_even_i + S (i) = S ((S (t + t)) * c)) /\ exists wpo_beta_quotient_wsl_order_even_i. b = wpo_beta_quotient_wsl_order_even_i * S ((S (t + t)) * c) + (i))) /\ ((((exists wpo_beta_height_wsl_order_odd_j. wpo_beta_height_wsl_order_odd_j + S (j) = S ((S (S (t + t))) * c)) /\ exists wpo_beta_quotient_wsl_order_odd_j. b = wpo_beta_quotient_wsl_order_odd_j * S ((S (S (t + t))) * c) + (j))) /\ (((exists wpo_beta_height_wsl_inverse_i_j. wpo_beta_height_wsl_inverse_i_j + S (j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_wsl_inverse_i_j. u = wpo_beta_quotient_wsl_inverse_i_j * S ((S (i)) * v) + (j))))) - 0021
specialize hpairs t - 0022
apply hpairs - 0023
exact ht - 0024
cases hpair - 0025
cases hpair_witness - 0026
cases hpair_witness_witness - 0027
cases hpair_witness_witness_right - 0028
have heven : exists wpo_gap_wsl_even_bound. wpo_gap_wsl_even_bound + S (t + t) = m + m - 0029
specialize pair_index_left_below_double t - 0030
specialize pair_index_left_below_double m - 0031
apply pair_index_left_below_double - 0032
exact ht - 0033
have hodd : exists wpo_gap_wsl_odd_bound. wpo_gap_wsl_odd_bound + S (S (t + t)) = m + m - 0034
specialize pair_index_right_below_double t - 0035
specialize pair_index_right_below_double m - 0036
apply pair_index_right_below_double - 0037
exact ht - 0038
have hlift_left : ((exists wpo_beta_height_wsl_lifted_even_i. wpo_beta_height_wsl_lifted_even_i + S (S x) = S ((S (t + t)) * g)) /\ exists wpo_beta_quotient_wsl_lifted_even_i. f = wpo_beta_quotient_wsl_lifted_even_i * S ((S (t + t)) * g) + (S x)) - 0039
specialize hlift (t + t) - 0040
specialize hlift x - 0041
apply hlift - 0042
exact heven - 0043
exact hpair_witness_witness_left - 0044
have hlift_right : ((exists wpo_beta_height_wsl_lifted_odd_j. wpo_beta_height_wsl_lifted_odd_j + S (S x1) = S ((S (S (t + t))) * g)) /\ exists wpo_beta_quotient_wsl_lifted_odd_j. f = wpo_beta_quotient_wsl_lifted_odd_j * S ((S (S (t + t))) * g) + (S x1)) - 0045
specialize hlift (S (t + t)) - 0046
specialize hlift x1 - 0047
apply hlift - 0048
exact hodd - 0049
exact hpair_witness_witness_right_left - 0050
have haeq : a = S x - 0051
specialize beta_at_unique f - 0052
specialize beta_at_unique g - 0053
specialize beta_at_unique (t + t) - 0054
specialize beta_at_unique a - 0055
specialize beta_at_unique (S x) - 0056
apply beta_at_unique - 0057
exact ha - 0058
exact hlift_left - 0059
have hdeq : d = S x1 - 0060
specialize beta_at_unique f - 0061
specialize beta_at_unique g - 0062
specialize beta_at_unique (S (t + t)) - 0063
specialize beta_at_unique d - 0064
specialize beta_at_unique (S x1) - 0065
apply beta_at_unique - 0066
exact hd - 0067
exact hlift_right - 0068
have hbounded_data : exists w. ((((exists wpo_beta_height_wsl_bounded_even_entry. wpo_beta_height_wsl_bounded_even_entry + S (w) = S ((S (t + t)) * c)) /\ exists wpo_beta_quotient_wsl_bounded_even_entry. b = wpo_beta_quotient_wsl_bounded_even_entry * S ((S (t + t)) * c) + (w))) /\ (exists wpo_gap_wsl_bounded_even_value. wpo_gap_wsl_bounded_even_value + S (w) = n)) - 0069
specialize hbounded (t + t) - 0070
apply hbounded - 0071
exact heven - 0072
cases hbounded_data - 0073
cases hbounded_data_witness - 0074
have hieq : x = x2 - 0075
specialize beta_at_unique b - 0076
specialize beta_at_unique c - 0077
specialize beta_at_unique (t + t) - 0078
specialize beta_at_unique x - 0079
specialize beta_at_unique x2 - 0080
apply beta_at_unique - 0081
exact hpair_witness_witness_left - 0082
exact hbounded_data_witness_left - 0083
have hibound : exists h. h + S x = n - 0084
rewrite hieq - 0085
exact hbounded_data_witness_right - 0086
have hinverse_data : exists q. ((((exists wpo_beta_height_wsl_inverse_at_i_entry. wpo_beta_height_wsl_inverse_at_i_entry + S (q) = S ((S (x)) * v)) /\ exists wpo_beta_quotient_wsl_inverse_at_i_entry. u = wpo_beta_quotient_wsl_inverse_at_i_entry * S ((S (x)) * v) + (q))) /\ ((exists wpo_gap_wsl_inverse_at_i_source_bound. wpo_gap_wsl_inverse_at_i_source_bound + S (x) = n) /\ ((exists wpo_gap_wsl_inverse_at_i_mate_bound. wpo_gap_wsl_inverse_at_i_mate_bound + S (q) = n) /\ exists y z. (S x * S q) + p * y = 1 + p * z))) - 0087
specialize hinverse x - 0088
apply hinverse - 0089
exact hibound - 0090
cases hinverse_data - 0091
cases hinverse_data_witness - 0092
cases hinverse_data_witness_right - 0093
cases hinverse_data_witness_right_right - 0094
have hjeq : x1 = x3 - 0095
specialize beta_at_unique u - 0096
specialize beta_at_unique v - 0097
specialize beta_at_unique x - 0098
specialize beta_at_unique x1 - 0099
specialize beta_at_unique x3 - 0100
apply beta_at_unique - 0101
exact hpair_witness_witness_right_right - 0102
exact hinverse_data_witness_left - 0103
rewrite haeq - 0104
rewrite hdeq - 0105
rewrite hjeq - 0106
exact hinverse_data_witness_right_right_right