Exact expanded PA statement
forall p a n b c i y. p = S n -> (forall esip_index_predecessor_prefix. (exists esip_gap_predecessor_prefix_prefix_bound. esip_gap_predecessor_prefix_prefix_bound + S (esip_index_predecessor_prefix) = n) -> exists esip_mate_predecessor_prefix. ((((exists ff_h_esip_predecessor_prefix_entry. ff_h_esip_predecessor_prefix_entry + S (esip_mate_predecessor_prefix) = S ((S (esip_index_predecessor_prefix)) * c)) /\ exists ff_q_esip_predecessor_prefix_entry. b = ff_q_esip_predecessor_prefix_entry * S ((S (esip_index_predecessor_prefix)) * c) + (esip_mate_predecessor_prefix))) /\ ((exists esip_gap_predecessor_prefix_relation_index_bound. esip_gap_predecessor_prefix_relation_index_bound + S (esip_index_predecessor_prefix) = n) /\ ((((~((S esip_index_predecessor_prefix) = 0) /\ (exists esip_gap_predecessor_prefix_relation_scaled_left_bound. esip_gap_predecessor_prefix_relation_scaled_left_bound + S (S esip_index_predecessor_prefix) = p))) /\ (((~(esip_mate_predecessor_prefix = 0) /\ (exists esip_gap_predecessor_prefix_relation_scaled_right_bound. esip_gap_predecessor_prefix_relation_scaled_right_bound + S (esip_mate_predecessor_prefix) = p))) /\ (exists esi_mod_left_predecessor_prefix_relation_scaled_mod esi_mod_right_predecessor_prefix_relation_scaled_mod. ((S esip_index_predecessor_prefix) * esip_mate_predecessor_prefix) + p * esi_mod_left_predecessor_prefix_relation_scaled_mod = (a) + p * esi_mod_right_predecessor_prefix_relation_scaled_mod))))))) -> (exists esip_gap_predecessor_source_bound. esip_gap_predecessor_source_bound + S (i) = n) -> (((exists ff_h_esipe_predecessor_at. ff_h_esipe_predecessor_at + S (y) = S ((S (i)) * c)) /\ exists ff_q_esipe_predecessor_at. b = ff_q_esipe_predecessor_at * S ((S (i)) * c) + (y))) -> exists j. y = S j /\ (exists esip_gap_predecessor_result_bound. esip_gap_predecessor_result_bound + S (j) = n)Structural proof guide
Generated structural guide
Every positive decoded mate has a predecessor inside the source bound.
Use the direct prerequisites scaled_inverse_prefix_entry_sound, nonzero_is_succ, le_of_succ_le_succ as previously established PA formulas.
The proof proceeds by case analysis (5), intermediate claims (3), equality transport (2).
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 a - 0003
intro n - 0004
intro b - 0005
intro c - 0006
intro i - 0007
intro y - 0008
intro hpn - 0009
intro hprefix - 0010
intro hi - 0011
intro hat - 0012
have hrelation : (exists esip_gap_predecessor_relation_index_bound. esip_gap_predecessor_relation_index_bound + S (i) = n) /\ ((((~((S i) = 0) /\ (exists esip_gap_predecessor_relation_scaled_left_bound. esip_gap_predecessor_relation_scaled_left_bound + S (S i) = p))) /\ (((~(y = 0) /\ (exists esip_gap_predecessor_relation_scaled_right_bound. esip_gap_predecessor_relation_scaled_right_bound + S (y) = p))) /\ (exists esi_mod_left_predecessor_relation_scaled_mod esi_mod_right_predecessor_relation_scaled_mod. ((S i) * y) + p * esi_mod_left_predecessor_relation_scaled_mod = (a) + p * esi_mod_right_predecessor_relation_scaled_mod)))) - 0013
specialize scaled_inverse_prefix_entry_sound p - 0014
specialize scaled_inverse_prefix_entry_sound a - 0015
specialize scaled_inverse_prefix_entry_sound n - 0016
specialize scaled_inverse_prefix_entry_sound b - 0017
specialize scaled_inverse_prefix_entry_sound c - 0018
specialize scaled_inverse_prefix_entry_sound n - 0019
specialize scaled_inverse_prefix_entry_sound i - 0020
specialize scaled_inverse_prefix_entry_sound y - 0021
apply scaled_inverse_prefix_entry_sound - 0022
exact hprefix - 0023
exact hi - 0024
exact hat - 0025
cases hrelation - 0026
cases hrelation_right - 0027
cases hrelation_right_right - 0028
cases hrelation_right_right_left - 0029
have hshape : exists j. y = S j - 0030
specialize nonzero_is_succ y - 0031
apply nonzero_is_succ - 0032
exact hrelation_right_right_left_left - 0033
cases hshape - 0034
have hjn : exists h. h + S x = n - 0035
rewrite hshape_witness at hrelation_right_right_left_right - 0036
rewrite hpn at hrelation_right_right_left_right - 0037
specialize le_of_succ_le_succ (S x) - 0038
specialize le_of_succ_le_succ n - 0039
apply le_of_succ_le_succ - 0040
exact hrelation_right_right_left_right - 0041
exists x - 0042
split - 0043
exact hshape_witness - 0044
exact hjn