src/HOL/ex/Sqrt.thy
changeset 63534 523b488b15c9
parent 62348 9a5f43dac883
child 63635 858a225ebb62
equal deleted inserted replaced
63525:f01d1e393f3f 63534:523b488b15c9
    12 
    12 
    13 theorem sqrt_prime_irrational:
    13 theorem sqrt_prime_irrational:
    14   assumes "prime (p::nat)"
    14   assumes "prime (p::nat)"
    15   shows "sqrt p \<notin> \<rat>"
    15   shows "sqrt p \<notin> \<rat>"
    16 proof
    16 proof
    17   from \<open>prime p\<close> have p: "1 < p" by (simp add: prime_def)
    17   from \<open>prime p\<close> have p: "1 < p" by (simp add: is_prime_nat_iff)
    18   assume "sqrt p \<in> \<rat>"
    18   assume "sqrt p \<in> \<rat>"
    19   then obtain m n :: nat where
    19   then obtain m n :: nat where
    20       n: "n \<noteq> 0" and sqrt_rat: "\<bar>sqrt p\<bar> = m / n"
    20       n: "n \<noteq> 0" and sqrt_rat: "\<bar>sqrt p\<bar> = m / n"
    21     and "coprime m n" by (rule Rats_abs_nat_div_natE)
    21     and "coprime m n" by (rule Rats_abs_nat_div_natE)
    22   have eq: "m\<^sup>2 = p * n\<^sup>2"
    22   have eq: "m\<^sup>2 = p * n\<^sup>2"
    57 
    57 
    58 theorem
    58 theorem
    59   assumes "prime (p::nat)"
    59   assumes "prime (p::nat)"
    60   shows "sqrt p \<notin> \<rat>"
    60   shows "sqrt p \<notin> \<rat>"
    61 proof
    61 proof
    62   from \<open>prime p\<close> have p: "1 < p" by (simp add: prime_def)
    62   from \<open>prime p\<close> have p: "1 < p" by (simp add: is_prime_nat_iff)
    63   assume "sqrt p \<in> \<rat>"
    63   assume "sqrt p \<in> \<rat>"
    64   then obtain m n :: nat where
    64   then obtain m n :: nat where
    65       n: "n \<noteq> 0" and sqrt_rat: "\<bar>sqrt p\<bar> = m / n"
    65       n: "n \<noteq> 0" and sqrt_rat: "\<bar>sqrt p\<bar> = m / n"
    66     and "coprime m n" by (rule Rats_abs_nat_div_natE)
    66     and "coprime m n" by (rule Rats_abs_nat_div_natE)
    67   from n and sqrt_rat have "m = \<bar>sqrt p\<bar> * n" by simp
    67   from n and sqrt_rat have "m = \<bar>sqrt p\<bar> * n" by simp