Exact expanded PA statement
forall P n x b. ~(P = 0) -> ~(n = 0) -> (forall d. (exists u. P = d * u) -> (exists v. n = d * v) -> d = 1) -> exists z. ((forall m a. (exists k. P = m * k) -> (exists u v. x + m * u = a + m * v) -> exists r s. z + m * r = a + m * s) /\ exists q r. z + n * q = b + n * r)Structural proof guide
Generated structural guide
One binary CRT extension preserves every old congruence whose modulus divides the accumulated product.
Use the direct prerequisites binary_crt, mod_eq_of_mod_eq_multiple, mod_eq_trans as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (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 Stable checked-use theorem is independently kernel-checked when replayed.
- 0001
intro P - 0002
intro n - 0003
intro x - 0004
intro b - 0005
intro hP - 0006
intro hn - 0007
intro hcop - 0008
have hcrt : exists z. (exists u v. z + P * u = x + P * v) /\ (exists q r. z + n * q = b + n * r) - 0009
specialize binary_crt P - 0010
specialize binary_crt n - 0011
specialize binary_crt x - 0012
specialize binary_crt b - 0013
apply binary_crt - 0014
exact hP - 0015
exact hn - 0016
exact hcop - 0017
cases hcrt - 0018
cases hcrt_witness - 0019
exists x1 - 0020
split - 0021
intro m - 0022
intro a - 0023
intro hmP - 0024
intro hxa - 0025
have hzx : exists u v. x1 + m * u = x + m * v - 0026
specialize mod_eq_of_mod_eq_multiple m - 0027
specialize mod_eq_of_mod_eq_multiple P - 0028
specialize mod_eq_of_mod_eq_multiple x1 - 0029
specialize mod_eq_of_mod_eq_multiple x - 0030
apply mod_eq_of_mod_eq_multiple - 0031
exact hmP - 0032
exact hcrt_witness_left - 0033
specialize mod_eq_trans m - 0034
specialize mod_eq_trans x1 - 0035
specialize mod_eq_trans x - 0036
specialize mod_eq_trans a - 0037
apply mod_eq_trans - 0038
exact hzx - 0039
exact hxa - 0040
exact hcrt_witness_right