Exact expanded PA statement
forall p a n b c l sl. p = S n -> ((~(p = 1) /\ forall esi_prime_left_esip_extend_prime esi_prime_right_esip_extend_prime. p = esi_prime_left_esip_extend_prime * esi_prime_right_esip_extend_prime -> esi_prime_left_esip_extend_prime = 1 \/ esi_prime_right_esip_extend_prime = 1)) -> ~(a = 0) -> (exists esip_gap_extend_target_bound. esip_gap_extend_target_bound + S (a) = p) -> (exists esip_gap_extend_length_bound. esip_gap_extend_length_bound + S (l) = n) -> sl = S l -> (forall esip_index_extend_before. (exists esip_gap_extend_before_prefix_bound. esip_gap_extend_before_prefix_bound + S (esip_index_extend_before) = l) -> exists esip_mate_extend_before. ((((exists ff_h_esip_extend_before_entry. ff_h_esip_extend_before_entry + S (esip_mate_extend_before) = S ((S (esip_index_extend_before)) * c)) /\ exists ff_q_esip_extend_before_entry. b = ff_q_esip_extend_before_entry * S ((S (esip_index_extend_before)) * c) + (esip_mate_extend_before))) /\ ((exists esip_gap_extend_before_relation_index_bound. esip_gap_extend_before_relation_index_bound + S (esip_index_extend_before) = n) /\ ((((~((S esip_index_extend_before) = 0) /\ (exists esip_gap_extend_before_relation_scaled_left_bound. esip_gap_extend_before_relation_scaled_left_bound + S (S esip_index_extend_before) = p))) /\ (((~(esip_mate_extend_before = 0) /\ (exists esip_gap_extend_before_relation_scaled_right_bound. esip_gap_extend_before_relation_scaled_right_bound + S (esip_mate_extend_before) = p))) /\ (exists esi_mod_left_extend_before_relation_scaled_mod esi_mod_right_extend_before_relation_scaled_mod. ((S esip_index_extend_before) * esip_mate_extend_before) + p * esi_mod_left_extend_before_relation_scaled_mod = (a) + p * esi_mod_right_extend_before_relation_scaled_mod))))))) -> exists z d. (forall esip_index_extend_after. (exists esip_gap_extend_after_prefix_bound. esip_gap_extend_after_prefix_bound + S (esip_index_extend_after) = sl) -> exists esip_mate_extend_after. ((((exists ff_h_esip_extend_after_entry. ff_h_esip_extend_after_entry + S (esip_mate_extend_after) = S ((S (esip_index_extend_after)) * d)) /\ exists ff_q_esip_extend_after_entry. z = ff_q_esip_extend_after_entry * S ((S (esip_index_extend_after)) * d) + (esip_mate_extend_after))) /\ ((exists esip_gap_extend_after_relation_index_bound. esip_gap_extend_after_relation_index_bound + S (esip_index_extend_after) = n) /\ ((((~((S esip_index_extend_after) = 0) /\ (exists esip_gap_extend_after_relation_scaled_left_bound. esip_gap_extend_after_relation_scaled_left_bound + S (S esip_index_extend_after) = p))) /\ (((~(esip_mate_extend_after = 0) /\ (exists esip_gap_extend_after_relation_scaled_right_bound. esip_gap_extend_after_relation_scaled_right_bound + S (esip_mate_extend_after) = p))) /\ (exists esi_mod_left_extend_after_relation_scaled_mod esi_mod_right_extend_after_relation_scaled_mod. ((S esip_index_extend_after) * esip_mate_extend_after) + p * esi_mod_left_extend_after_relation_scaled_mod = (a) + p * esi_mod_right_extend_after_relation_scaled_mod)))))))Structural proof guide
Generated structural guide
Append one actual scaled-inverse value to a zero-based source prefix.
Use the direct prerequisites succ_ne_zero, succ_le_succ, prime_scaled_inverse_exists, beta_prefix_extend, finite_lt_succ_eq_or_lt as previously established PA formulas.
The proof proceeds by case analysis (7), intermediate claims (4), equality transport (8).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0005 succ_ne_zero PA002K succ_le_succ PA008Q prime_scaled_inverse_exists PA002X beta_prefix_extend PA003D finite_lt_succ_eq_or_ltDirect 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 a - 0003
intro n - 0004
intro b - 0005
intro c - 0006
intro l - 0007
intro sl - 0008
intro hpn - 0009
intro hp - 0010
intro ha0 - 0011
intro hap - 0012
intro hln - 0013
intro hsl - 0014
intro hprefix - 0015
have hsource_bound : exists esip_gap_extend_source_bound. esip_gap_extend_source_bound + S (S l) = p - 0016
rewrite hpn - 0017
specialize succ_le_succ (S l) - 0018
specialize succ_le_succ n - 0019
apply succ_le_succ - 0020
exact hln - 0021
have hnew : exists j. ((((~((S l) = 0) /\ (exists esip_gap_extend_new_scaled_left_bound. esip_gap_extend_new_scaled_left_bound + S (S l) = p))) /\ (((~(j = 0) /\ (exists esip_gap_extend_new_scaled_right_bound. esip_gap_extend_new_scaled_right_bound + S (j) = p))) /\ (exists esi_mod_left_extend_new_scaled_mod esi_mod_right_extend_new_scaled_mod. ((S l) * j) + p * esi_mod_left_extend_new_scaled_mod = (a) + p * esi_mod_right_extend_new_scaled_mod)))) - 0022
specialize prime_scaled_inverse_exists p - 0023
specialize prime_scaled_inverse_exists a - 0024
specialize prime_scaled_inverse_exists (S l) - 0025
apply prime_scaled_inverse_exists - 0026
exact hp - 0027
exact ha0 - 0028
exact hap - 0029
specialize succ_ne_zero l - 0030
exact succ_ne_zero - 0031
exact hsource_bound - 0032
cases hnew - 0033
specialize beta_prefix_extend l - 0034
specialize beta_prefix_extend b - 0035
specialize beta_prefix_extend c - 0036
specialize beta_prefix_extend x - 0037
cases beta_prefix_extend - 0038
cases beta_prefix_extend_witness - 0039
cases beta_prefix_extend_witness_witness - 0040
exists x1 - 0041
exists x2 - 0042
intro i - 0043
intro hi - 0044
rewrite hsl at hi - 0045
have hsplit : i = l \/ exists h. h + S i = l - 0046
specialize finite_lt_succ_eq_or_lt l - 0047
specialize finite_lt_succ_eq_or_lt i - 0048
apply finite_lt_succ_eq_or_lt - 0049
exact hi - 0050
cases hsplit - 0051
exists x - 0052
split - 0053
rewrite hsplit_left - 0054
rewrite hsplit_left - 0055
exact beta_prefix_extend_witness_witness_left - 0056
split - 0057
rewrite hsplit_left - 0058
exact hln - 0059
rewrite hsplit_left - 0060
rewrite hsplit_left - 0061
rewrite hsplit_left - 0062
exact hnew_witness - 0063
have hold : exists j. ((((exists ff_h_esip_extend_old_entry. ff_h_esip_extend_old_entry + S (j) = S ((S (i)) * c)) /\ exists ff_q_esip_extend_old_entry. b = ff_q_esip_extend_old_entry * S ((S (i)) * c) + (j))) /\ ((exists esip_gap_extend_old_relation_index_bound. esip_gap_extend_old_relation_index_bound + S (i) = n) /\ ((((~((S i) = 0) /\ (exists esip_gap_extend_old_relation_scaled_left_bound. esip_gap_extend_old_relation_scaled_left_bound + S (S i) = p))) /\ (((~(j = 0) /\ (exists esip_gap_extend_old_relation_scaled_right_bound. esip_gap_extend_old_relation_scaled_right_bound + S (j) = p))) /\ (exists esi_mod_left_extend_old_relation_scaled_mod esi_mod_right_extend_old_relation_scaled_mod. ((S i) * j) + p * esi_mod_left_extend_old_relation_scaled_mod = (a) + p * esi_mod_right_extend_old_relation_scaled_mod)))))) - 0064
specialize hprefix i - 0065
apply hprefix - 0066
exact hsplit_right - 0067
cases hold - 0068
cases hold_witness - 0069
exists x3 - 0070
split - 0071
specialize beta_prefix_extend_witness_witness_right i - 0072
specialize beta_prefix_extend_witness_witness_right x3 - 0073
apply beta_prefix_extend_witness_witness_right - 0074
exact hsplit_right - 0075
exact hold_witness_left - 0076
exact hold_witness_right