Exact expanded PA statement
forall p a n l. p = S n -> ((~(p = 1) /\ forall esi_prime_left_esip_bounded_prime esi_prime_right_esip_bounded_prime. p = esi_prime_left_esip_bounded_prime * esi_prime_right_esip_bounded_prime -> esi_prime_left_esip_bounded_prime = 1 \/ esi_prime_right_esip_bounded_prime = 1)) -> ~(a = 0) -> (exists esip_gap_bounded_target_bound. esip_gap_bounded_target_bound + S (a) = p) -> (exists esip_weak_gap_bounded. esip_weak_gap_bounded + l = n) -> exists b c. (forall esip_index_bounded_result. (exists esip_gap_bounded_result_prefix_bound. esip_gap_bounded_result_prefix_bound + S (esip_index_bounded_result) = l) -> exists esip_mate_bounded_result. ((((exists ff_h_esip_bounded_result_entry. ff_h_esip_bounded_result_entry + S (esip_mate_bounded_result) = S ((S (esip_index_bounded_result)) * c)) /\ exists ff_q_esip_bounded_result_entry. b = ff_q_esip_bounded_result_entry * S ((S (esip_index_bounded_result)) * c) + (esip_mate_bounded_result))) /\ ((exists esip_gap_bounded_result_relation_index_bound. esip_gap_bounded_result_relation_index_bound + S (esip_index_bounded_result) = n) /\ ((((~((S esip_index_bounded_result) = 0) /\ (exists esip_gap_bounded_result_relation_scaled_left_bound. esip_gap_bounded_result_relation_scaled_left_bound + S (S esip_index_bounded_result) = p))) /\ (((~(esip_mate_bounded_result = 0) /\ (exists esip_gap_bounded_result_relation_scaled_right_bound. esip_gap_bounded_result_relation_scaled_right_bound + S (esip_mate_bounded_result) = p))) /\ (exists esi_mod_left_bounded_result_relation_scaled_mod esi_mod_right_bounded_result_relation_scaled_mod. ((S esip_index_bounded_result) * esip_mate_bounded_result) + p * esi_mod_left_bounded_result_relation_scaled_mod = (a) + p * esi_mod_right_bounded_result_relation_scaled_mod)))))))Structural proof guide
Generated structural guide
Every bounded predecessor length has a beta-coded scaled-inverse prefix.
Use the direct prerequisites add_eq_zero_right, succ_ne_zero, lt_to_le, prime_scaled_inverse_prefix_extend as previously established PA formulas.
The proof proceeds by structural induction (1), case analysis (5), intermediate claims (4).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0004 add_eq_zero_right PA0005 succ_ne_zero PA000X lt_to_le PA008R prime_scaled_inverse_prefix_extendDirect 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
induction l - 0005
intro hpn - 0006
intro hp - 0007
intro ha0 - 0008
intro hap - 0009
intro hln - 0010
exists 0 - 0011
exists 0 - 0012
intro i - 0013
intro hi - 0014
exfalso - 0015
cases hi - 0016
have hsi : S i = 0 - 0017
specialize add_eq_zero_right x - 0018
specialize add_eq_zero_right (S i) - 0019
apply add_eq_zero_right - 0020
exact hi_witness - 0021
specialize succ_ne_zero i - 0022
apply succ_ne_zero - 0023
exact hsi - 0024
intro hpn - 0025
intro hp - 0026
intro ha0 - 0027
intro hap - 0028
intro hln - 0029
have hprev_bound : exists h. h + l = n - 0030
specialize lt_to_le l - 0031
specialize lt_to_le n - 0032
apply lt_to_le - 0033
exact hln - 0034
have hprev : exists b c. (forall esip_index_bounded_previous. (exists esip_gap_bounded_previous_prefix_bound. esip_gap_bounded_previous_prefix_bound + S (esip_index_bounded_previous) = l) -> exists esip_mate_bounded_previous. ((((exists ff_h_esip_bounded_previous_entry. ff_h_esip_bounded_previous_entry + S (esip_mate_bounded_previous) = S ((S (esip_index_bounded_previous)) * c)) /\ exists ff_q_esip_bounded_previous_entry. b = ff_q_esip_bounded_previous_entry * S ((S (esip_index_bounded_previous)) * c) + (esip_mate_bounded_previous))) /\ ((exists esip_gap_bounded_previous_relation_index_bound. esip_gap_bounded_previous_relation_index_bound + S (esip_index_bounded_previous) = n) /\ ((((~((S esip_index_bounded_previous) = 0) /\ (exists esip_gap_bounded_previous_relation_scaled_left_bound. esip_gap_bounded_previous_relation_scaled_left_bound + S (S esip_index_bounded_previous) = p))) /\ (((~(esip_mate_bounded_previous = 0) /\ (exists esip_gap_bounded_previous_relation_scaled_right_bound. esip_gap_bounded_previous_relation_scaled_right_bound + S (esip_mate_bounded_previous) = p))) /\ (exists esi_mod_left_bounded_previous_relation_scaled_mod esi_mod_right_bounded_previous_relation_scaled_mod. ((S esip_index_bounded_previous) * esip_mate_bounded_previous) + p * esi_mod_left_bounded_previous_relation_scaled_mod = (a) + p * esi_mod_right_bounded_previous_relation_scaled_mod))))))) - 0035
apply IH - 0036
exact hpn - 0037
exact hp - 0038
exact ha0 - 0039
exact hap - 0040
exact hprev_bound - 0041
cases hprev - 0042
cases hprev_witness - 0043
have hnext : exists z d. (forall esip_index_bounded_successor. (exists esip_gap_bounded_successor_prefix_bound. esip_gap_bounded_successor_prefix_bound + S (esip_index_bounded_successor) = S l) -> exists esip_mate_bounded_successor. ((((exists ff_h_esip_bounded_successor_entry. ff_h_esip_bounded_successor_entry + S (esip_mate_bounded_successor) = S ((S (esip_index_bounded_successor)) * d)) /\ exists ff_q_esip_bounded_successor_entry. z = ff_q_esip_bounded_successor_entry * S ((S (esip_index_bounded_successor)) * d) + (esip_mate_bounded_successor))) /\ ((exists esip_gap_bounded_successor_relation_index_bound. esip_gap_bounded_successor_relation_index_bound + S (esip_index_bounded_successor) = n) /\ ((((~((S esip_index_bounded_successor) = 0) /\ (exists esip_gap_bounded_successor_relation_scaled_left_bound. esip_gap_bounded_successor_relation_scaled_left_bound + S (S esip_index_bounded_successor) = p))) /\ (((~(esip_mate_bounded_successor = 0) /\ (exists esip_gap_bounded_successor_relation_scaled_right_bound. esip_gap_bounded_successor_relation_scaled_right_bound + S (esip_mate_bounded_successor) = p))) /\ (exists esi_mod_left_bounded_successor_relation_scaled_mod esi_mod_right_bounded_successor_relation_scaled_mod. ((S esip_index_bounded_successor) * esip_mate_bounded_successor) + p * esi_mod_left_bounded_successor_relation_scaled_mod = (a) + p * esi_mod_right_bounded_successor_relation_scaled_mod))))))) - 0044
specialize prime_scaled_inverse_prefix_extend p - 0045
specialize prime_scaled_inverse_prefix_extend a - 0046
specialize prime_scaled_inverse_prefix_extend n - 0047
specialize prime_scaled_inverse_prefix_extend x - 0048
specialize prime_scaled_inverse_prefix_extend x1 - 0049
specialize prime_scaled_inverse_prefix_extend l - 0050
specialize prime_scaled_inverse_prefix_extend (S l) - 0051
apply prime_scaled_inverse_prefix_extend - 0052
exact hpn - 0053
exact hp - 0054
exact ha0 - 0055
exact hap - 0056
exact hln - 0057
refl - 0058
exact hprev_witness_witness - 0059
cases hnext - 0060
cases hnext_witness - 0061
exists x2 - 0062
exists x3 - 0063
exact hnext_witness_witness