# HG changeset patch # User haftmann # Date 1245604171 -7200 # Node ID 5fb12f859de691bebabf05850f2bab17b437f71b # Parent ec013c3ade5a48d41db5299e66662673fa1fadc4# Parent 7b9b9ba532caad091254d7dd19cd5227e8897c93 merged diff -r 7b9b9ba532ca -r 5fb12f859de6 src/HOL/IsaMakefile --- a/src/HOL/IsaMakefile Sun Jun 21 08:38:58 2009 +0200 +++ b/src/HOL/IsaMakefile Sun Jun 21 19:09:31 2009 +0200 @@ -494,7 +494,8 @@ HOL-NewNumberTheory: HOL $(LOG)/HOL-NewNumberTheory.gz -$(LOG)/HOL-NewNumberTheory.gz: $(OUT)/HOL GCD.thy Library/Multiset.thy \ +$(LOG)/HOL-NewNumberTheory.gz: $(OUT)/HOL $(LOG)/HOL-Algebra.gz \ + GCD.thy Library/Multiset.thy \ NewNumberTheory/Fib.thy NewNumberTheory/Binomial.thy \ NewNumberTheory/Residues.thy NewNumberTheory/UniqueFactorization.thy \ NewNumberTheory/Cong.thy NewNumberTheory/MiscAlgebra.thy \ diff -r 7b9b9ba532ca -r 5fb12f859de6 src/HOL/NewNumberTheory/Residues.thy --- a/src/HOL/NewNumberTheory/Residues.thy Sun Jun 21 08:38:58 2009 +0200 +++ b/src/HOL/NewNumberTheory/Residues.thy Sun Jun 21 19:09:31 2009 +0200 @@ -397,13 +397,13 @@ shows "[fact (p - 1) = - 1] (mod p)" proof - let ?InversePairs = "{ {x, inv x} | x. x : Units R - {\, \ \}}" - have "Units R = {\, \ \} Un (Union ?InversePairs)" + have UR: "Units R = {\, \ \} Un (Union ?InversePairs)" by auto - hence "(\i: Units R. i) = + have "(\i: Units R. i) = (\i: {\, \ \}. i) \ (\i: Union ?InversePairs. i)" - apply (elim ssubst) back back + apply (subst UR) apply (subst finprod_Un_disjoint) - apply (auto intro!: funcsetI) + apply (auto intro:funcsetI) apply (drule sym, subst (asm) inv_eq_one_eq) apply auto apply (drule sym, subst (asm) inv_eq_neg_one_eq) @@ -414,7 +414,6 @@ apply auto apply (frule one_eq_neg_one) apply (insert a, force) - apply (auto intro!: funcsetI) done also have "(\i:(Union ?InversePairs). i) = (\ A: ?InversePairs. (\ y:A. y))" @@ -431,13 +430,13 @@ apply (subst finprod_insert) apply auto apply (frule inv_eq_self) - apply (auto intro!: funcsetI) + apply (auto) done finally have "(\i: Units R. i) = \ \" by simp also have "(\i: Units R. i) = (\i: Units R. i mod p)" apply (rule finprod_cong') - apply (auto intro!: funcsetI) + apply (auto) apply (subst (asm) res_prime_units_eq) apply auto done