Exact expanded PA statement
forall b c l a e. exists z d. (((((exists wpo_beta_height_append_result_first. wpo_beta_height_append_result_first + S (a) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_append_result_first. z = wpo_beta_quotient_append_result_first * S ((S (l)) * d) + (a))) /\ ((((exists wpo_beta_height_append_result_second. wpo_beta_height_append_result_second + S (e) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_append_result_second. z = wpo_beta_quotient_append_result_second * S ((S (S (l))) * d) + (e))) /\ (forall wpo_old_index_append_result wpo_old_value_append_result. (exists wpo_gap_append_result_old_bound. wpo_gap_append_result_old_bound + S (wpo_old_index_append_result) = l) -> (((exists wpo_beta_height_append_result_old_entry. wpo_beta_height_append_result_old_entry + S (wpo_old_value_append_result) = S ((S (wpo_old_index_append_result)) * c)) /\ exists wpo_beta_quotient_append_result_old_entry. b = wpo_beta_quotient_append_result_old_entry * S ((S (wpo_old_index_append_result)) * c) + (wpo_old_value_append_result))) -> (((exists wpo_beta_height_append_result_new_entry. wpo_beta_height_append_result_new_entry + S (wpo_old_value_append_result) = S ((S (wpo_old_index_append_result)) * d)) /\ exists wpo_beta_quotient_append_result_new_entry. z = wpo_beta_quotient_append_result_new_entry * S ((S (wpo_old_index_append_result)) * d) + (wpo_old_value_append_result)))))))Structural proof guide
Generated structural guide
Append two values at consecutive beta positions while preserving every old entry.
Use the direct prerequisites beta_prefix_extend, le_refl, le_succ as previously established PA formulas.
The proof proceeds by case analysis (6), intermediate claims (3).
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 b - 0002
intro c - 0003
intro l - 0004
intro a - 0005
intro e - 0006
have hfirst_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - 0007
exact beta_prefix_extend - 0008
have hsecond_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - 0009
exact beta_prefix_extend - 0010
specialize hfirst_extend l - 0011
specialize hfirst_extend b - 0012
specialize hfirst_extend c - 0013
specialize hfirst_extend a - 0014
cases hfirst_extend - 0015
cases hfirst_extend_witness - 0016
cases hfirst_extend_witness_witness - 0017
specialize hsecond_extend (S l) - 0018
specialize hsecond_extend x - 0019
specialize hsecond_extend x1 - 0020
specialize hsecond_extend e - 0021
cases hsecond_extend - 0022
cases hsecond_extend_witness - 0023
cases hsecond_extend_witness_witness - 0024
exists x2 - 0025
exists x3 - 0026
split - 0027
specialize hsecond_extend_witness_witness_right l - 0028
specialize hsecond_extend_witness_witness_right a - 0029
apply hsecond_extend_witness_witness_right - 0030
specialize le_refl (S l) - 0031
exact le_refl - 0032
exact hfirst_extend_witness_witness_left - 0033
split - 0034
exact hsecond_extend_witness_witness_left - 0035
intro i - 0036
intro v - 0037
intro hi - 0038
intro hold - 0039
have hmiddle : ((exists wpo_beta_height_append_old_middle. wpo_beta_height_append_old_middle + S (v) = S ((S (i)) * x1)) /\ exists wpo_beta_quotient_append_old_middle. x = wpo_beta_quotient_append_old_middle * S ((S (i)) * x1) + (v)) - 0040
specialize hfirst_extend_witness_witness_right i - 0041
specialize hfirst_extend_witness_witness_right v - 0042
apply hfirst_extend_witness_witness_right - 0043
exact hi - 0044
exact hold - 0045
specialize hsecond_extend_witness_witness_right i - 0046
specialize hsecond_extend_witness_witness_right v - 0047
apply hsecond_extend_witness_witness_right - 0048
specialize le_succ (S i) - 0049
specialize le_succ l - 0050
apply le_succ - 0051
exact hi - 0052
exact hmiddle