equal
deleted
inserted
replaced
6 lemmas are proved uniformly for the natural numbers and integers. |
6 lemmas are proved uniformly for the natural numbers and integers. |
7 |
7 |
8 This file combines and revises a number of prior developments. |
8 This file combines and revises a number of prior developments. |
9 |
9 |
10 The original theories "GCD" and "Primes" were by Christophe Tabacznyj |
10 The original theories "GCD" and "Primes" were by Christophe Tabacznyj |
11 and Lawrence C. Paulson, based on \cite{davenport92}. They introduced |
11 and Lawrence C. Paulson, based on @{cite davenport92}. They introduced |
12 gcd, lcm, and prime for the natural numbers. |
12 gcd, lcm, and prime for the natural numbers. |
13 |
13 |
14 The original theory "IntPrimes" was by Thomas M. Rasmussen, and |
14 The original theory "IntPrimes" was by Thomas M. Rasmussen, and |
15 extended gcd, lcm, primes to the integers. Amine Chaieb provided |
15 extended gcd, lcm, primes to the integers. Amine Chaieb provided |
16 another extension of the notions to the integers, and added a number |
16 another extension of the notions to the integers, and added a number |
362 text {* |
362 text {* |
363 \medskip Multiplication laws |
363 \medskip Multiplication laws |
364 *} |
364 *} |
365 |
365 |
366 lemma gcd_mult_distrib_nat: "(k::nat) * gcd m n = gcd (k * m) (k * n)" |
366 lemma gcd_mult_distrib_nat: "(k::nat) * gcd m n = gcd (k * m) (k * n)" |
367 -- {* \cite[page 27]{davenport92} *} |
367 -- {* @{cite \<open>page 27\<close> davenport92} *} |
368 apply (induct m n rule: gcd_nat_induct) |
368 apply (induct m n rule: gcd_nat_induct) |
369 apply simp |
369 apply simp |
370 apply (case_tac "k = 0") |
370 apply (case_tac "k = 0") |
371 apply (simp_all add: gcd_non_0_nat) |
371 apply (simp_all add: gcd_non_0_nat) |
372 done |
372 done |