Exact expanded PA statement
forall p a n u v b c l. p = S n -> ((~(p = 1) /\ forall esi_prime_left_espo_choose_prime esi_prime_right_espo_choose_prime. p = esi_prime_left_espo_choose_prime * esi_prime_right_espo_choose_prime -> esi_prime_left_espo_choose_prime = 1 \/ esi_prime_right_espo_choose_prime = 1)) -> ~(exists qr_x_espo_choose_nonresidue. exists qr_u_espo_choose_nonresidue qr_v_espo_choose_nonresidue. qr_x_espo_choose_nonresidue * qr_x_espo_choose_nonresidue + p * qr_u_espo_choose_nonresidue = a + p * qr_v_espo_choose_nonresidue) -> (forall esip_index_espo_choose_prefix. (exists esip_gap_espo_choose_prefix_prefix_bound. esip_gap_espo_choose_prefix_prefix_bound + S (esip_index_espo_choose_prefix) = n) -> exists esip_mate_espo_choose_prefix. ((((exists ff_h_esip_espo_choose_prefix_entry. ff_h_esip_espo_choose_prefix_entry + S (esip_mate_espo_choose_prefix) = S ((S (esip_index_espo_choose_prefix)) * v)) /\ exists ff_q_esip_espo_choose_prefix_entry. u = ff_q_esip_espo_choose_prefix_entry * S ((S (esip_index_espo_choose_prefix)) * v) + (esip_mate_espo_choose_prefix))) /\ ((exists esip_gap_espo_choose_prefix_relation_index_bound. esip_gap_espo_choose_prefix_relation_index_bound + S (esip_index_espo_choose_prefix) = n) /\ ((((~((S esip_index_espo_choose_prefix) = 0) /\ (exists esip_gap_espo_choose_prefix_relation_scaled_left_bound. esip_gap_espo_choose_prefix_relation_scaled_left_bound + S (S esip_index_espo_choose_prefix) = p))) /\ (((~(esip_mate_espo_choose_prefix = 0) /\ (exists esip_gap_espo_choose_prefix_relation_scaled_right_bound. esip_gap_espo_choose_prefix_relation_scaled_right_bound + S (esip_mate_espo_choose_prefix) = p))) /\ (exists esi_mod_left_espo_choose_prefix_relation_scaled_mod esi_mod_right_espo_choose_prefix_relation_scaled_mod. ((S esip_index_espo_choose_prefix) * esip_mate_espo_choose_prefix) + p * esi_mod_left_espo_choose_prefix_relation_scaled_mod = (a) + p * esi_mod_right_espo_choose_prefix_relation_scaled_mod))))))) -> (exists wpo_gap_choose_short. wpo_gap_choose_short + S (l) = n) -> (forall espo_position_step_closed_before espo_source_step_closed_before espo_mate_step_closed_before. (exists wpo_gap_step_closed_before_position_bound. wpo_gap_step_closed_before_position_bound + S (espo_position_step_closed_before) = l) -> (((exists wpo_beta_height_step_closed_before_source_entry. wpo_beta_height_step_closed_before_source_entry + S (espo_source_step_closed_before) = S ((S (espo_position_step_closed_before)) * c)) /\ exists wpo_beta_quotient_step_closed_before_source_entry. b = wpo_beta_quotient_step_closed_before_source_entry * S ((S (espo_position_step_closed_before)) * c) + (espo_source_step_closed_before))) -> (((exists wpo_beta_height_step_closed_before_scaled_entry. wpo_beta_height_step_closed_before_scaled_entry + S (S espo_mate_step_closed_before) = S ((S (espo_source_step_closed_before)) * v)) /\ exists wpo_beta_quotient_step_closed_before_scaled_entry. u = wpo_beta_quotient_step_closed_before_scaled_entry * S ((S (espo_source_step_closed_before)) * v) + (S espo_mate_step_closed_before))) -> exists espo_mate_position_step_closed_before. ((exists wpo_gap_step_closed_before_mate_bound. wpo_gap_step_closed_before_mate_bound + S (espo_mate_position_step_closed_before) = l) /\ (((exists wpo_beta_height_step_closed_before_mate_entry. wpo_beta_height_step_closed_before_mate_entry + S (espo_mate_step_closed_before) = S ((S (espo_mate_position_step_closed_before)) * c)) /\ exists wpo_beta_quotient_step_closed_before_mate_entry. b = wpo_beta_quotient_step_closed_before_mate_entry * S ((S (espo_mate_position_step_closed_before)) * c) + (espo_mate_step_closed_before))))) -> (forall wpo_injective_left_step_injective_before wpo_injective_right_step_injective_before wpo_injective_value_step_injective_before. (exists wpo_gap_step_injective_before_left_bound. wpo_gap_step_injective_before_left_bound + S (wpo_injective_left_step_injective_before) = l) -> (exists wpo_gap_step_injective_before_right_bound. wpo_gap_step_injective_before_right_bound + S (wpo_injective_right_step_injective_before) = l) -> (((exists wpo_beta_height_step_injective_before_left_entry. wpo_beta_height_step_injective_before_left_entry + S (wpo_injective_value_step_injective_before) = S ((S (wpo_injective_left_step_injective_before)) * c)) /\ exists wpo_beta_quotient_step_injective_before_left_entry. b = wpo_beta_quotient_step_injective_before_left_entry * S ((S (wpo_injective_left_step_injective_before)) * c) + (wpo_injective_value_step_injective_before))) -> (((exists wpo_beta_height_step_injective_before_right_entry. wpo_beta_height_step_injective_before_right_entry + S (wpo_injective_value_step_injective_before) = S ((S (wpo_injective_right_step_injective_before)) * c)) /\ exists wpo_beta_quotient_step_injective_before_right_entry. b = wpo_beta_quotient_step_injective_before_right_entry * S ((S (wpo_injective_right_step_injective_before)) * c) + (wpo_injective_value_step_injective_before))) -> wpo_injective_left_step_injective_before = wpo_injective_right_step_injective_before) -> (exists z d i j. ((((((exists wpo_beta_height_step_trace_first. wpo_beta_height_step_trace_first + S (i) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_step_trace_first. z = wpo_beta_quotient_step_trace_first * S ((S (l)) * d) + (i))) /\ ((((exists wpo_beta_height_step_trace_second. wpo_beta_height_step_trace_second + S (j) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_step_trace_second. z = wpo_beta_quotient_step_trace_second * S ((S (S (l))) * d) + (j))) /\ (forall wpo_old_index_step_trace wpo_old_value_step_trace. (exists wpo_gap_step_trace_old_bound. wpo_gap_step_trace_old_bound + S (wpo_old_index_step_trace) = l) -> (((exists wpo_beta_height_step_trace_old_entry. wpo_beta_height_step_trace_old_entry + S (wpo_old_value_step_trace) = S ((S (wpo_old_index_step_trace)) * c)) /\ exists wpo_beta_quotient_step_trace_old_entry. b = wpo_beta_quotient_step_trace_old_entry * S ((S (wpo_old_index_step_trace)) * c) + (wpo_old_value_step_trace))) -> (((exists wpo_beta_height_step_trace_new_entry. wpo_beta_height_step_trace_new_entry + S (wpo_old_value_step_trace) = S ((S (wpo_old_index_step_trace)) * d)) /\ exists wpo_beta_quotient_step_trace_new_entry. z = wpo_beta_quotient_step_trace_new_entry * S ((S (wpo_old_index_step_trace)) * d) + (wpo_old_value_step_trace))))))) /\ (((exists wpo_gap_chosen_i_bound. wpo_gap_chosen_i_bound + S (i) = n) /\ (((exists wpo_gap_chosen_j_bound. wpo_gap_chosen_j_bound + S (j) = n) /\ (((~(exists wpo_index_chosen_i_omit_contains. ((exists wpo_gap_chosen_i_omit_contains_bound. wpo_gap_chosen_i_omit_contains_bound + S (wpo_index_chosen_i_omit_contains) = l) /\ (((exists wpo_beta_height_chosen_i_omit_contains_entry. wpo_beta_height_chosen_i_omit_contains_entry + S (i) = S ((S (wpo_index_chosen_i_omit_contains)) * c)) /\ exists wpo_beta_quotient_chosen_i_omit_contains_entry. b = wpo_beta_quotient_chosen_i_omit_contains_entry * S ((S (wpo_index_chosen_i_omit_contains)) * c) + (i)))))) /\ (((~(exists wpo_index_step_j_omit_contains. ((exists wpo_gap_step_j_omit_contains_bound. wpo_gap_step_j_omit_contains_bound + S (wpo_index_step_j_omit_contains) = l) /\ (((exists wpo_beta_height_step_j_omit_contains_entry. wpo_beta_height_step_j_omit_contains_entry + S (j) = S ((S (wpo_index_step_j_omit_contains)) * c)) /\ exists wpo_beta_quotient_step_j_omit_contains_entry. b = wpo_beta_quotient_step_j_omit_contains_entry * S ((S (wpo_index_step_j_omit_contains)) * c) + (j)))))) /\ (((~(i = j)) /\ (((((exists wpo_beta_height_chosen_forward. wpo_beta_height_chosen_forward + S (S j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_chosen_forward. u = wpo_beta_quotient_chosen_forward * S ((S (i)) * v) + (S j))) /\ (((((exists wpo_beta_height_chosen_back. wpo_beta_height_chosen_back + S (S i) = S ((S (j)) * v)) /\ exists wpo_beta_quotient_chosen_back. u = wpo_beta_quotient_chosen_back * S ((S (j)) * v) + (S i))) /\ (((forall espo_position_step_closed_after espo_source_step_closed_after espo_mate_step_closed_after. (exists wpo_gap_step_closed_after_position_bound. wpo_gap_step_closed_after_position_bound + S (espo_position_step_closed_after) = S (S l)) -> (((exists wpo_beta_height_step_closed_after_source_entry. wpo_beta_height_step_closed_after_source_entry + S (espo_source_step_closed_after) = S ((S (espo_position_step_closed_after)) * d)) /\ exists wpo_beta_quotient_step_closed_after_source_entry. z = wpo_beta_quotient_step_closed_after_source_entry * S ((S (espo_position_step_closed_after)) * d) + (espo_source_step_closed_after))) -> (((exists wpo_beta_height_step_closed_after_scaled_entry. wpo_beta_height_step_closed_after_scaled_entry + S (S espo_mate_step_closed_after) = S ((S (espo_source_step_closed_after)) * v)) /\ exists wpo_beta_quotient_step_closed_after_scaled_entry. u = wpo_beta_quotient_step_closed_after_scaled_entry * S ((S (espo_source_step_closed_after)) * v) + (S espo_mate_step_closed_after))) -> exists espo_mate_position_step_closed_after. ((exists wpo_gap_step_closed_after_mate_bound. wpo_gap_step_closed_after_mate_bound + S (espo_mate_position_step_closed_after) = S (S l)) /\ (((exists wpo_beta_height_step_closed_after_mate_entry. wpo_beta_height_step_closed_after_mate_entry + S (espo_mate_step_closed_after) = S ((S (espo_mate_position_step_closed_after)) * d)) /\ exists wpo_beta_quotient_step_closed_after_mate_entry. z = wpo_beta_quotient_step_closed_after_mate_entry * S ((S (espo_mate_position_step_closed_after)) * d) + (espo_mate_step_closed_after))))) /\ (forall wpo_injective_left_step_injective_after wpo_injective_right_step_injective_after wpo_injective_value_step_injective_after. (exists wpo_gap_step_injective_after_left_bound. wpo_gap_step_injective_after_left_bound + S (wpo_injective_left_step_injective_after) = S (S l)) -> (exists wpo_gap_step_injective_after_right_bound. wpo_gap_step_injective_after_right_bound + S (wpo_injective_right_step_injective_after) = S (S l)) -> (((exists wpo_beta_height_step_injective_after_left_entry. wpo_beta_height_step_injective_after_left_entry + S (wpo_injective_value_step_injective_after) = S ((S (wpo_injective_left_step_injective_after)) * d)) /\ exists wpo_beta_quotient_step_injective_after_left_entry. z = wpo_beta_quotient_step_injective_after_left_entry * S ((S (wpo_injective_left_step_injective_after)) * d) + (wpo_injective_value_step_injective_after))) -> (((exists wpo_beta_height_step_injective_after_right_entry. wpo_beta_height_step_injective_after_right_entry + S (wpo_injective_value_step_injective_after) = S ((S (wpo_injective_right_step_injective_after)) * d)) /\ exists wpo_beta_quotient_step_injective_after_right_entry. z = wpo_beta_quotient_step_injective_after_right_entry * S ((S (wpo_injective_right_step_injective_after)) * d) + (wpo_injective_value_step_injective_after))) -> wpo_injective_left_step_injective_after = wpo_injective_right_step_injective_after)))))))))))))))))))Structural proof guide
Generated structural guide
Choose one omitted fixed-point-free scaled orbit and append its two sources adjacently.
Use the direct prerequisites scaled_inverse_prefix_choose_omitted_orbit, scaled_orbit_closed_unused_mate, beta_prefix_append_two_exists, beta_prefix_append_two_scaled_orbit_closed, beta_prefix_append_two_injective as previously established PA formulas.
The proof proceeds by case analysis (9), intermediate claims (6).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA009I scaled_inverse_prefix_choose_omitted_orbit PA009J scaled_orbit_closed_unused_mate PA009K beta_prefix_append_two_exists PA009M beta_prefix_append_two_scaled_orbit_closed PA009N beta_prefix_append_two_injectiveDirect 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 u - 0005
intro v - 0006
intro b - 0007
intro c - 0008
intro l - 0009
intro hpn - 0010
intro hp - 0011
intro hnotqres - 0012
intro hprefix - 0013
intro hshort - 0014
intro hclosed - 0015
intro hinjective - 0016
have hchosen : exists i j. ((exists wpo_gap_chosen_i_bound. wpo_gap_chosen_i_bound + S (i) = n) /\ (((~(exists wpo_index_chosen_i_omit_contains. ((exists wpo_gap_chosen_i_omit_contains_bound. wpo_gap_chosen_i_omit_contains_bound + S (wpo_index_chosen_i_omit_contains) = l) /\ (((exists wpo_beta_height_chosen_i_omit_contains_entry. wpo_beta_height_chosen_i_omit_contains_entry + S (i) = S ((S (wpo_index_chosen_i_omit_contains)) * c)) /\ exists wpo_beta_quotient_chosen_i_omit_contains_entry. b = wpo_beta_quotient_chosen_i_omit_contains_entry * S ((S (wpo_index_chosen_i_omit_contains)) * c) + (i)))))) /\ (((exists wpo_gap_chosen_j_bound. wpo_gap_chosen_j_bound + S (j) = n) /\ (((~(i = j)) /\ (((((exists wpo_beta_height_chosen_forward. wpo_beta_height_chosen_forward + S (S j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_chosen_forward. u = wpo_beta_quotient_chosen_forward * S ((S (i)) * v) + (S j))) /\ (((exists wpo_beta_height_chosen_back. wpo_beta_height_chosen_back + S (S i) = S ((S (j)) * v)) /\ exists wpo_beta_quotient_chosen_back. u = wpo_beta_quotient_chosen_back * S ((S (j)) * v) + (S i)))))))))))) - 0017
specialize scaled_inverse_prefix_choose_omitted_orbit p - 0018
specialize scaled_inverse_prefix_choose_omitted_orbit a - 0019
specialize scaled_inverse_prefix_choose_omitted_orbit n - 0020
specialize scaled_inverse_prefix_choose_omitted_orbit u - 0021
specialize scaled_inverse_prefix_choose_omitted_orbit v - 0022
specialize scaled_inverse_prefix_choose_omitted_orbit b - 0023
specialize scaled_inverse_prefix_choose_omitted_orbit c - 0024
specialize scaled_inverse_prefix_choose_omitted_orbit l - 0025
apply scaled_inverse_prefix_choose_omitted_orbit - 0026
exact hpn - 0027
exact hp - 0028
exact hnotqres - 0029
exact hprefix - 0030
exact hshort - 0031
cases hchosen - 0032
cases hchosen_witness - 0033
have hparts : ((exists wpo_gap_witness_i_bound. wpo_gap_witness_i_bound + S (x) = n) /\ (((~(exists wpo_index_witness_i_omit_contains. ((exists wpo_gap_witness_i_omit_contains_bound. wpo_gap_witness_i_omit_contains_bound + S (wpo_index_witness_i_omit_contains) = l) /\ (((exists wpo_beta_height_witness_i_omit_contains_entry. wpo_beta_height_witness_i_omit_contains_entry + S (x) = S ((S (wpo_index_witness_i_omit_contains)) * c)) /\ exists wpo_beta_quotient_witness_i_omit_contains_entry. b = wpo_beta_quotient_witness_i_omit_contains_entry * S ((S (wpo_index_witness_i_omit_contains)) * c) + (x)))))) /\ (((exists wpo_gap_witness_j_bound. wpo_gap_witness_j_bound + S (x1) = n) /\ (((~(x = x1)) /\ (((((exists wpo_beta_height_witness_forward. wpo_beta_height_witness_forward + S (S x1) = S ((S (x)) * v)) /\ exists wpo_beta_quotient_witness_forward. u = wpo_beta_quotient_witness_forward * S ((S (x)) * v) + (S x1))) /\ (((exists wpo_beta_height_witness_back. wpo_beta_height_witness_back + S (S x) = S ((S (x1)) * v)) /\ exists wpo_beta_quotient_witness_back. u = wpo_beta_quotient_witness_back * S ((S (x1)) * v) + (S x)))))))))))) - 0034
exact hchosen_witness_witness - 0035
cases hparts - 0036
cases hparts_right - 0037
cases hparts_right_right - 0038
cases hparts_right_right_right - 0039
cases hparts_right_right_right_right - 0040
have hjomit : ~(exists wpo_index_witness_j_omit_contains. ((exists wpo_gap_witness_j_omit_contains_bound. wpo_gap_witness_j_omit_contains_bound + S (wpo_index_witness_j_omit_contains) = l) /\ (((exists wpo_beta_height_witness_j_omit_contains_entry. wpo_beta_height_witness_j_omit_contains_entry + S (x1) = S ((S (wpo_index_witness_j_omit_contains)) * c)) /\ exists wpo_beta_quotient_witness_j_omit_contains_entry. b = wpo_beta_quotient_witness_j_omit_contains_entry * S ((S (wpo_index_witness_j_omit_contains)) * c) + (x1))))) - 0041
intro hjcontains - 0042
specialize scaled_orbit_closed_unused_mate u - 0043
specialize scaled_orbit_closed_unused_mate v - 0044
specialize scaled_orbit_closed_unused_mate b - 0045
specialize scaled_orbit_closed_unused_mate c - 0046
specialize scaled_orbit_closed_unused_mate l - 0047
specialize scaled_orbit_closed_unused_mate x - 0048
specialize scaled_orbit_closed_unused_mate x1 - 0049
apply scaled_orbit_closed_unused_mate - 0050
exact hclosed - 0051
exact hparts_right_left - 0052
exact hparts_right_right_right_right_right - 0053
exact hjcontains - 0054
have happend : exists z d. (((((exists wpo_beta_height_witness_exists_trace_first. wpo_beta_height_witness_exists_trace_first + S (x) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_witness_exists_trace_first. z = wpo_beta_quotient_witness_exists_trace_first * S ((S (l)) * d) + (x))) /\ ((((exists wpo_beta_height_witness_exists_trace_second. wpo_beta_height_witness_exists_trace_second + S (x1) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_witness_exists_trace_second. z = wpo_beta_quotient_witness_exists_trace_second * S ((S (S (l))) * d) + (x1))) /\ (forall wpo_old_index_witness_exists_trace wpo_old_value_witness_exists_trace. (exists wpo_gap_witness_exists_trace_old_bound. wpo_gap_witness_exists_trace_old_bound + S (wpo_old_index_witness_exists_trace) = l) -> (((exists wpo_beta_height_witness_exists_trace_old_entry. wpo_beta_height_witness_exists_trace_old_entry + S (wpo_old_value_witness_exists_trace) = S ((S (wpo_old_index_witness_exists_trace)) * c)) /\ exists wpo_beta_quotient_witness_exists_trace_old_entry. b = wpo_beta_quotient_witness_exists_trace_old_entry * S ((S (wpo_old_index_witness_exists_trace)) * c) + (wpo_old_value_witness_exists_trace))) -> (((exists wpo_beta_height_witness_exists_trace_new_entry. wpo_beta_height_witness_exists_trace_new_entry + S (wpo_old_value_witness_exists_trace) = S ((S (wpo_old_index_witness_exists_trace)) * d)) /\ exists wpo_beta_quotient_witness_exists_trace_new_entry. z = wpo_beta_quotient_witness_exists_trace_new_entry * S ((S (wpo_old_index_witness_exists_trace)) * d) + (wpo_old_value_witness_exists_trace))))))) - 0055
specialize beta_prefix_append_two_exists b - 0056
specialize beta_prefix_append_two_exists c - 0057
specialize beta_prefix_append_two_exists l - 0058
specialize beta_prefix_append_two_exists x - 0059
specialize beta_prefix_append_two_exists x1 - 0060
exact beta_prefix_append_two_exists - 0061
cases happend - 0062
cases happend_witness - 0063
have hclosed_after : forall espo_position_witness_closed_after espo_source_witness_closed_after espo_mate_witness_closed_after. (exists wpo_gap_witness_closed_after_position_bound. wpo_gap_witness_closed_after_position_bound + S (espo_position_witness_closed_after) = S (S l)) -> (((exists wpo_beta_height_witness_closed_after_source_entry. wpo_beta_height_witness_closed_after_source_entry + S (espo_source_witness_closed_after) = S ((S (espo_position_witness_closed_after)) * x3)) /\ exists wpo_beta_quotient_witness_closed_after_source_entry. x2 = wpo_beta_quotient_witness_closed_after_source_entry * S ((S (espo_position_witness_closed_after)) * x3) + (espo_source_witness_closed_after))) -> (((exists wpo_beta_height_witness_closed_after_scaled_entry. wpo_beta_height_witness_closed_after_scaled_entry + S (S espo_mate_witness_closed_after) = S ((S (espo_source_witness_closed_after)) * v)) /\ exists wpo_beta_quotient_witness_closed_after_scaled_entry. u = wpo_beta_quotient_witness_closed_after_scaled_entry * S ((S (espo_source_witness_closed_after)) * v) + (S espo_mate_witness_closed_after))) -> exists espo_mate_position_witness_closed_after. ((exists wpo_gap_witness_closed_after_mate_bound. wpo_gap_witness_closed_after_mate_bound + S (espo_mate_position_witness_closed_after) = S (S l)) /\ (((exists wpo_beta_height_witness_closed_after_mate_entry. wpo_beta_height_witness_closed_after_mate_entry + S (espo_mate_witness_closed_after) = S ((S (espo_mate_position_witness_closed_after)) * x3)) /\ exists wpo_beta_quotient_witness_closed_after_mate_entry. x2 = wpo_beta_quotient_witness_closed_after_mate_entry * S ((S (espo_mate_position_witness_closed_after)) * x3) + (espo_mate_witness_closed_after)))) - 0064
specialize beta_prefix_append_two_scaled_orbit_closed u - 0065
specialize beta_prefix_append_two_scaled_orbit_closed v - 0066
specialize beta_prefix_append_two_scaled_orbit_closed b - 0067
specialize beta_prefix_append_two_scaled_orbit_closed c - 0068
specialize beta_prefix_append_two_scaled_orbit_closed x2 - 0069
specialize beta_prefix_append_two_scaled_orbit_closed x3 - 0070
specialize beta_prefix_append_two_scaled_orbit_closed l - 0071
specialize beta_prefix_append_two_scaled_orbit_closed x - 0072
specialize beta_prefix_append_two_scaled_orbit_closed x1 - 0073
apply beta_prefix_append_two_scaled_orbit_closed - 0074
exact happend_witness_witness - 0075
exact hclosed - 0076
exact hparts_right_right_right_right_left - 0077
exact hparts_right_right_right_right_right - 0078
have hinjective_after : forall wpo_injective_left_witness_injective_after wpo_injective_right_witness_injective_after wpo_injective_value_witness_injective_after. (exists wpo_gap_witness_injective_after_left_bound. wpo_gap_witness_injective_after_left_bound + S (wpo_injective_left_witness_injective_after) = S (S l)) -> (exists wpo_gap_witness_injective_after_right_bound. wpo_gap_witness_injective_after_right_bound + S (wpo_injective_right_witness_injective_after) = S (S l)) -> (((exists wpo_beta_height_witness_injective_after_left_entry. wpo_beta_height_witness_injective_after_left_entry + S (wpo_injective_value_witness_injective_after) = S ((S (wpo_injective_left_witness_injective_after)) * x3)) /\ exists wpo_beta_quotient_witness_injective_after_left_entry. x2 = wpo_beta_quotient_witness_injective_after_left_entry * S ((S (wpo_injective_left_witness_injective_after)) * x3) + (wpo_injective_value_witness_injective_after))) -> (((exists wpo_beta_height_witness_injective_after_right_entry. wpo_beta_height_witness_injective_after_right_entry + S (wpo_injective_value_witness_injective_after) = S ((S (wpo_injective_right_witness_injective_after)) * x3)) /\ exists wpo_beta_quotient_witness_injective_after_right_entry. x2 = wpo_beta_quotient_witness_injective_after_right_entry * S ((S (wpo_injective_right_witness_injective_after)) * x3) + (wpo_injective_value_witness_injective_after))) -> wpo_injective_left_witness_injective_after = wpo_injective_right_witness_injective_after - 0079
specialize beta_prefix_append_two_injective b - 0080
specialize beta_prefix_append_two_injective c - 0081
specialize beta_prefix_append_two_injective x2 - 0082
specialize beta_prefix_append_two_injective x3 - 0083
specialize beta_prefix_append_two_injective l - 0084
specialize beta_prefix_append_two_injective x - 0085
specialize beta_prefix_append_two_injective x1 - 0086
apply beta_prefix_append_two_injective - 0087
exact happend_witness_witness - 0088
exact hinjective - 0089
exact hparts_right_left - 0090
exact hjomit - 0091
exact hparts_right_right_right_left - 0092
exists x2 - 0093
exists x3 - 0094
exists x - 0095
exists x1 - 0096
split - 0097
exact happend_witness_witness - 0098
split - 0099
exact hparts_left - 0100
split - 0101
exact hparts_right_right_left - 0102
split - 0103
exact hparts_right_left - 0104
split - 0105
exact hjomit - 0106
split - 0107
exact hparts_right_right_right_left - 0108
split - 0109
exact hparts_right_right_right_right_left - 0110
split - 0111
exact hparts_right_right_right_right_right - 0112
split - 0113
exact hclosed_after - 0114
exact hinjective_after