equal
deleted
inserted
replaced
1028 have "c dvd c * x" |
1028 have "c dvd c * x" |
1029 by simp |
1029 by simp |
1030 also from x have "c * x dvd Lcm ((*) c ` A)" |
1030 also from x have "c * x dvd Lcm ((*) c ` A)" |
1031 by (intro dvd_Lcm) auto |
1031 by (intro dvd_Lcm) auto |
1032 finally have dvd: "c dvd Lcm ((*) c ` A)" . |
1032 finally have dvd: "c dvd Lcm ((*) c ` A)" . |
1033 |
1033 moreover have "Lcm A dvd Lcm ((*) c ` A) div c" |
1034 have "Lcm A dvd Lcm ((*) c ` A) div c" |
|
1035 by (intro Lcm_least dvd_mult_imp_div) |
1034 by (intro Lcm_least dvd_mult_imp_div) |
1036 (auto intro!: Lcm_least dvd_Lcm simp: mult.commute[of _ c]) |
1035 (auto intro!: Lcm_least dvd_Lcm simp: mult.commute[of _ c]) |
1037 then have "c * Lcm A dvd Lcm ((*) c ` A)" |
1036 ultimately have "c * Lcm A dvd Lcm ((*) c ` A)" |
1038 by (subst (asm) dvd_div_iff_mult) (auto intro!: Lcm_least simp: mult_ac dvd) |
1037 by auto |
1039 also have "c * Lcm A = (normalize c * Lcm A) * unit_factor c" |
1038 also have "c * Lcm A = (normalize c * Lcm A) * unit_factor c" |
1040 by (subst unit_factor_mult_normalize [symmetric]) (simp only: mult_ac) |
1039 by (subst unit_factor_mult_normalize [symmetric]) (simp only: mult_ac) |
1041 also have "\<dots> dvd Lcm ((*) c ` A) \<longleftrightarrow> normalize c * Lcm A dvd Lcm ((*) c ` A)" |
1040 also have "\<dots> dvd Lcm ((*) c ` A) \<longleftrightarrow> normalize c * Lcm A dvd Lcm ((*) c ` A)" |
1042 by (simp add: mult_unit_dvd_iff) |
1041 by (simp add: mult_unit_dvd_iff) |
1043 finally have "normalize c * Lcm A dvd Lcm ((*) c ` A)" . |
1042 finally have "normalize c * Lcm A dvd Lcm ((*) c ` A)" . |