src/HOL/NumberTheory/Quadratic_Reciprocity.thy
changeset 20217 25b068a99d2b
parent 19670 2e4a143c73c5
child 20346 b138816322c5
equal deleted inserted replaced
20216:f30b73385060 20217:25b068a99d2b
   191   then have "2 \<le> q - 1" by arith
   191   then have "2 \<le> q - 1" by arith
   192   then have "2 div 2 \<le> (q - 1) div 2" by (rule zdiv_mono1, auto)
   192   then have "2 div 2 \<le> (q - 1) div 2" by (rule zdiv_mono1, auto)
   193   then show ?thesis by auto
   193   then show ?thesis by auto
   194 qed
   194 qed
   195 
   195 
       
   196 ML {* fast_arith_split_limit := 0; *} (*FIXME*)
       
   197 
   196 lemma (in QRTEMP) pb_neq_qa: "[|1 \<le> b; b \<le> (q - 1) div 2 |] ==>
   198 lemma (in QRTEMP) pb_neq_qa: "[|1 \<le> b; b \<le> (q - 1) div 2 |] ==>
   197     (p * b \<noteq> q * a)"
   199     (p * b \<noteq> q * a)"
   198 proof
   200 proof
   199   assume "p * b = q * a" and "1 \<le> b" and "b \<le> (q - 1) div 2"
   201   assume "p * b = q * a" and "1 \<le> b" and "b \<le> (q - 1) div 2"
   200   then have "q dvd (p * b)" by (auto simp add: dvd_def)
   202   then have "q dvd (p * b)" by (auto simp add: dvd_def)
   231     with prems show ?thesis by auto
   233     with prems show ?thesis by auto
   232   qed
   234   qed
   233   then have p1: "q \<le> -1" by arith
   235   then have p1: "q \<le> -1" by arith
   234   with q_g_2 show False by auto
   236   with q_g_2 show False by auto
   235 qed
   237 qed
       
   238 
       
   239 ML {* fast_arith_split_limit := 9; *} (*FIXME*)
   236 
   240 
   237 lemma (in QRTEMP) P_set_finite: "finite (P_set)"
   241 lemma (in QRTEMP) P_set_finite: "finite (P_set)"
   238   using p_fact by (auto simp add: P_set_def bdd_int_set_l_le_finite)
   242   using p_fact by (auto simp add: P_set_def bdd_int_set_l_le_finite)
   239 
   243 
   240 lemma (in QRTEMP) Q_set_finite: "finite (Q_set)"
   244 lemma (in QRTEMP) Q_set_finite: "finite (Q_set)"