Exact expanded PA statement
forall N c b e. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> forall k. (exists h. h + k = N) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))Structural proof guide
Generated structural guide
Fold an empty-based, exclusive beta prefix into another base with append readiness.
Use the direct prerequisites succ_ne_zero, add_eq_zero_right, coprime_one_left, le_succ_self, le_trans, beta_exclusive_recode_invariant_step as previously established PA formulas.
The proof proceeds by structural induction (1), case analysis (8), intermediate claims (6).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0005 succ_ne_zero PA0004 add_eq_zero_right PA000P coprime_one_left PA000Q le_succ_self PA000R le_trans PA002H beta_exclusive_recode_invariant_stepDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
- 0001
intro N - 0002
intro c - 0003
intro b - 0004
intro e - 0005
intro hcm - 0006
induction k - 0007
intro hkN - 0008
exists 1 - 0009
exists 0 - 0010
split - 0011
specialize succ_ne_zero 0 - 0012
exact succ_ne_zero - 0013
split - 0014
intro i - 0015
intro hi - 0016
exfalso - 0017
cases hi - 0018
have hsi0 : S i = 0 - 0019
specialize add_eq_zero_right x - 0020
specialize add_eq_zero_right (S i) - 0021
apply add_eq_zero_right - 0022
exact hi_witness - 0023
specialize succ_ne_zero i - 0024
apply succ_ne_zero - 0025
exact hsi0 - 0026
split - 0027
intro i - 0028
intro a - 0029
intro hi - 0030
intro hati - 0031
exfalso - 0032
cases hi - 0033
have hsi0 : S i = 0 - 0034
specialize add_eq_zero_right x - 0035
specialize add_eq_zero_right (S i) - 0036
apply add_eq_zero_right - 0037
exact hi_witness - 0038
specialize succ_ne_zero i - 0039
apply succ_ne_zero - 0040
exact hsi0 - 0041
intro j - 0042
intro h0j - 0043
intro hjN - 0044
intro d - 0045
intro h1 - 0046
intro hm - 0047
specialize coprime_one_left (S ((S j) * c)) - 0048
specialize coprime_one_left d - 0049
apply coprime_one_left - 0050
exact h1 - 0051
exact hm - 0052
intro hkN - 0053
have hkprev : exists h. h + k = N - 0054
have hkstep : exists h. h + k = S k - 0055
specialize le_succ_self k - 0056
exact le_succ_self - 0057
specialize le_trans k - 0058
specialize le_trans (S k) - 0059
specialize le_trans N - 0060
apply le_trans - 0061
exact hkstep - 0062
exact hkN - 0063
have hprev : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))) - 0064
apply IH - 0065
exact hkprev - 0066
cases hprev - 0067
cases hprev_witness - 0068
cases hprev_witness_witness - 0069
cases hprev_witness_witness_right - 0070
cases hprev_witness_witness_right_right - 0071
have hnext : exists z2. (~(x * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. x * S ((S k) * c) = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. x * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))) - 0072
specialize beta_exclusive_recode_invariant_step N - 0073
specialize beta_exclusive_recode_invariant_step c - 0074
specialize beta_exclusive_recode_invariant_step b - 0075
specialize beta_exclusive_recode_invariant_step e - 0076
specialize beta_exclusive_recode_invariant_step k - 0077
specialize beta_exclusive_recode_invariant_step x - 0078
specialize beta_exclusive_recode_invariant_step x1 - 0079
apply beta_exclusive_recode_invariant_step - 0080
exact hcm - 0081
exact hkN - 0082
exact hprev_witness_witness_left - 0083
exact hprev_witness_witness_right_left - 0084
exact hprev_witness_witness_right_right_left - 0085
exact hprev_witness_witness_right_right_right - 0086
cases hnext - 0087
exists x * S ((S k) * c) - 0088
exists x2 - 0089
exact hnext_witness