Exact expanded PA statement
forall b c l n. (exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S S l) * v)) /\ exists q. u = q * S ((S S l) * v) + n) /\ forall i. (exists h. h + S i = S l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) -> exists p r. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ ((exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S r = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + r) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) /\ n = r * p))Structural proof guide
A successor product decomposes into its prefix product and final decoded factor.
Direct prerequisites: le_refl, le_succ, beta_at_unique. The authored body proceeds by case analysis (10), intermediate claims (2).
Proof neighborhood
Direct dependencies
Direct dependents
BT0069 beta_factor_divides_product BT0083 pow_successor_decompose BT0092 factorial_succ_decompose BT00DH beta_product_pointwise_coprime BT00UD primorial_succ_decompose BT00UQ beta_product_prefix_suffix_split BT00VD beta_pairwise_coprime_product_divides_common_multiple BT00X9 beta_product_pointwise_le BT010U beta_product_all_one_exactFormal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro hproduct - 0006
cases hproduct - 0007
cases hproduct_witness - 0008
cases hproduct_witness_witness - 0009
cases hproduct_witness_witness_right - 0010
have hstep : exists p r s. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ (((exists h. h + S r = S ((S l) * x1)) /\ exists q. x = q * S ((S l) * x1) + r) /\ (((exists h. h + S s = S ((S S l) * x1)) /\ exists q. x = q * S ((S S l) * x1) + s) /\ s = r * p))) - 0011
specialize hproduct_witness_witness_right_right l - 0012
apply hproduct_witness_witness_right_right - 0013
specialize le_refl (S l) - 0014
exact le_refl - 0015
cases hstep - 0016
cases hstep_witness - 0017
cases hstep_witness_witness - 0018
cases hstep_witness_witness_witness - 0019
cases hstep_witness_witness_witness_right - 0020
cases hstep_witness_witness_witness_right_right - 0021
have hn : n = x4 - 0022
specialize beta_at_unique x - 0023
specialize beta_at_unique x1 - 0024
specialize beta_at_unique (S l) - 0025
specialize beta_at_unique n - 0026
specialize beta_at_unique x4 - 0027
apply beta_at_unique - 0028
exact hproduct_witness_witness_right_left - 0029
exact hstep_witness_witness_witness_right_right_left - 0030
exists x2 - 0031
exists x3 - 0032
split - 0033
exact hstep_witness_witness_witness_left - 0034
split - 0035
exists x - 0036
exists x1 - 0037
split - 0038
exact hproduct_witness_witness_left - 0039
split - 0040
exact hstep_witness_witness_witness_right_left - 0041
intro i - 0042
intro hi - 0043
specialize hproduct_witness_witness_right_right i - 0044
apply hproduct_witness_witness_right_right - 0045
specialize le_succ (S i) - 0046
specialize le_succ l - 0047
apply le_succ - 0048
exact hi - 0049
trans x4 - 0050
exact hn - 0051
exact hstep_witness_witness_witness_right_right_right