equal
deleted
inserted
replaced
324 with real_root_minus and `even n` |
324 with real_root_minus and `even n` |
325 show "- (root n y ^ n) = y" by simp |
325 show "- (root n y ^ n) = y" by simp |
326 qed |
326 qed |
327 next |
327 next |
328 show "DERIV (\<lambda>x. - (x ^ n)) (root n x) :> - real n * root n x ^ (n - Suc 0)" |
328 show "DERIV (\<lambda>x. - (x ^ n)) (root n x) :> - real n * root n x ^ (n - Suc 0)" |
329 by (auto intro!: DERIV_intros) |
329 by (auto intro!: derivative_eq_intros simp: real_of_nat_def) |
330 show "- real n * root n x ^ (n - Suc 0) \<noteq> 0" |
330 show "- real n * root n x ^ (n - Suc 0) \<noteq> 0" |
331 using n x by simp |
331 using n x by simp |
332 qed (rule isCont_real_root) |
332 qed (rule isCont_real_root) |
333 |
333 |
334 lemma DERIV_real_root_generic: |
334 lemma DERIV_real_root_generic: |
469 lemma DERIV_real_sqrt: |
469 lemma DERIV_real_sqrt: |
470 "0 < x \<Longrightarrow> DERIV sqrt x :> inverse (sqrt x) / 2" |
470 "0 < x \<Longrightarrow> DERIV sqrt x :> inverse (sqrt x) / 2" |
471 using DERIV_real_sqrt_generic by simp |
471 using DERIV_real_sqrt_generic by simp |
472 |
472 |
473 declare |
473 declare |
474 DERIV_real_sqrt_generic[THEN DERIV_chain2, THEN DERIV_cong, DERIV_intros] |
474 DERIV_real_sqrt_generic[THEN DERIV_chain2, derivative_intros] |
475 DERIV_real_root_generic[THEN DERIV_chain2, THEN DERIV_cong, DERIV_intros] |
475 DERIV_real_root_generic[THEN DERIV_chain2, derivative_intros] |
476 |
476 |
477 lemma not_real_square_gt_zero [simp]: "(~ (0::real) < x*x) = (x = 0)" |
477 lemma not_real_square_gt_zero [simp]: "(~ (0::real) < x*x) = (x = 0)" |
478 apply auto |
478 apply auto |
479 apply (cut_tac x = x and y = 0 in linorder_less_linear) |
479 apply (cut_tac x = x and y = 0 in linorder_less_linear) |
480 apply (simp add: zero_less_mult_iff) |
480 apply (simp add: zero_less_mult_iff) |