Exact expanded first-order arithmetic statement
forall m n b c d e k. (forall jt_divisor_combinecop. (exists jt_factor_combinecopa. (m)=(jt_divisor_combinecop)*jt_factor_combinecopa) -> (exists jt_factor_combinecopb. (n)=(jt_divisor_combinecop)*jt_factor_combinecopb) -> jt_divisor_combinecop=1) -> (forall jt_index_combinem jt_left_combinem jt_right_combinem. (exists jt_gap_combinemindex. jt_gap_combinemindex+S (jt_index_combinem)=(k)) -> (((exists fs_h_jt_combinemleft. fs_h_jt_combinemleft + S (jt_left_combinem) = S ((S (jt_index_combinem)) * c)) /\ exists fs_q_jt_combinemleft. b = fs_q_jt_combinemleft * S ((S (jt_index_combinem)) * c) + (jt_left_combinem))) -> (((exists fs_h_jt_combinemright. fs_h_jt_combinemright + S (jt_right_combinem) = S ((S (jt_index_combinem)) * e)) /\ exists fs_q_jt_combinemright. d = fs_q_jt_combinemright * S ((S (jt_index_combinem)) * e) + (jt_right_combinem))) -> (exists jt_left_combinemmod jt_right_combinemmod. (jt_left_combinem)+(m)*jt_left_combinemmod=(jt_right_combinem)+(m)*jt_right_combinemmod)) -> (forall jt_index_combinen jt_left_combinen jt_right_combinen. (exists jt_gap_combinenindex. jt_gap_combinenindex+S (jt_index_combinen)=(k)) -> (((exists fs_h_jt_combinenleft. fs_h_jt_combinenleft + S (jt_left_combinen) = S ((S (jt_index_combinen)) * c)) /\ exists fs_q_jt_combinenleft. b = fs_q_jt_combinenleft * S ((S (jt_index_combinen)) * c) + (jt_left_combinen))) -> (((exists fs_h_jt_combinenright. fs_h_jt_combinenright + S (jt_right_combinen) = S ((S (jt_index_combinen)) * e)) /\ exists fs_q_jt_combinenright. d = fs_q_jt_combinenright * S ((S (jt_index_combinen)) * e) + (jt_right_combinen))) -> (exists jt_left_combinenmod jt_right_combinenmod. (jt_left_combinen)+(n)*jt_left_combinenmod=(jt_right_combinen)+(n)*jt_right_combinenmod)) -> (forall jt_index_combineproduct jt_left_combineproduct jt_right_combineproduct. (exists jt_gap_combineproductindex. jt_gap_combineproductindex+S (jt_index_combineproduct)=(k)) -> (((exists fs_h_jt_combineproductleft. fs_h_jt_combineproductleft + S (jt_left_combineproduct) = S ((S (jt_index_combineproduct)) * c)) /\ exists fs_q_jt_combineproductleft. b = fs_q_jt_combineproductleft * S ((S (jt_index_combineproduct)) * c) + (jt_left_combineproduct))) -> (((exists fs_h_jt_combineproductright. fs_h_jt_combineproductright + S (jt_right_combineproduct) = S ((S (jt_index_combineproduct)) * e)) /\ exists fs_q_jt_combineproductright. d = fs_q_jt_combineproductright * S ((S (jt_index_combineproduct)) * e) + (jt_right_combineproduct))) -> (exists jt_left_combineproductmod jt_right_combineproductmod. (jt_left_combineproduct)+(m*n)*jt_left_combineproductmod=(jt_right_combineproduct)+(m*n)*jt_right_combineproductmod))Constructive proof overview
Generated structural guide
The actual universal-property lcm merges both coordinate congruences.
The unchanged tactic script uses 2 declared prerequisites and contains 40 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
mod_eq_lcm_merge Alpha theorem; checked-use authorized coprime_product_is_lcm Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Use earlier factsL17–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
specialize mod_eq_lcm_merge (m*n) - L18
specialize mod_eq_lcm_merge (m) - L19
specialize mod_eq_lcm_merge (n) - L20
specialize mod_eq_lcm_merge (a) - L21
specialize mod_eq_lcm_merge (z) - L22
apply mod_eq_lcm_merge - L23
specialize coprime_product_is_lcm (m) - L24
specialize coprime_product_is_lcm (n) - L25
apply coprime_product_is_lcm - L26
exact hcop
04Use earlier factsL27–36
Original exact command ledger · 40 lines
- 0001
intro m - 0002
intro n - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro k - 0008
intro hcop - 0009
intro hm - 0010
intro hn - 0011
intro i - 0012
intro a - 0013
intro z - 0014
intro hi - 0015
intro ha - 0016
intro hz - 0017
specialize mod_eq_lcm_merge (m*n) - 0018
specialize mod_eq_lcm_merge (m) - 0019
specialize mod_eq_lcm_merge (n) - 0020
specialize mod_eq_lcm_merge (a) - 0021
specialize mod_eq_lcm_merge (z) - 0022
apply mod_eq_lcm_merge - 0023
specialize coprime_product_is_lcm (m) - 0024
specialize coprime_product_is_lcm (n) - 0025
apply coprime_product_is_lcm - 0026
exact hcop - 0027
specialize hm (i) - 0028
specialize hm (a) - 0029
specialize hm (z) - 0030
apply hm - 0031
exact hi - 0032
exact ha - 0033
exact hz - 0034
specialize hn (i) - 0035
specialize hn (a) - 0036
specialize hn (z) - 0037
apply hn - 0038
exact hi - 0039
exact ha - 0040
exact hz