equal
deleted
inserted
replaced
387 qed |
387 qed |
388 |
388 |
389 lemma eq_Real: |
389 lemma eq_Real: |
390 "cauchy X \<Longrightarrow> cauchy Y \<Longrightarrow> Real X = Real Y \<longleftrightarrow> vanishes (\<lambda>n. X n - Y n)" |
390 "cauchy X \<Longrightarrow> cauchy Y \<Longrightarrow> Real X = Real Y \<longleftrightarrow> vanishes (\<lambda>n. X n - Y n)" |
391 using real.rel_eq_transfer |
391 using real.rel_eq_transfer |
392 unfolding real.pcr_cr_eq cr_real_def fun_rel_def realrel_def by simp |
392 unfolding real.pcr_cr_eq cr_real_def rel_fun_def realrel_def by simp |
393 |
393 |
394 lemma Domainp_pcr_real [transfer_domain_rule]: "Domainp pcr_real = cauchy" |
394 lemma Domainp_pcr_real [transfer_domain_rule]: "Domainp pcr_real = cauchy" |
395 by (simp add: real.domain_eq realrel_def) |
395 by (simp add: real.domain_eq realrel_def) |
396 |
396 |
397 instantiation real :: field_inverse_zero |
397 instantiation real :: field_inverse_zero |
443 |
443 |
444 lemma add_Real: |
444 lemma add_Real: |
445 assumes X: "cauchy X" and Y: "cauchy Y" |
445 assumes X: "cauchy X" and Y: "cauchy Y" |
446 shows "Real X + Real Y = Real (\<lambda>n. X n + Y n)" |
446 shows "Real X + Real Y = Real (\<lambda>n. X n + Y n)" |
447 using assms plus_real.transfer |
447 using assms plus_real.transfer |
448 unfolding cr_real_eq fun_rel_def by simp |
448 unfolding cr_real_eq rel_fun_def by simp |
449 |
449 |
450 lemma minus_Real: |
450 lemma minus_Real: |
451 assumes X: "cauchy X" |
451 assumes X: "cauchy X" |
452 shows "- Real X = Real (\<lambda>n. - X n)" |
452 shows "- Real X = Real (\<lambda>n. - X n)" |
453 using assms uminus_real.transfer |
453 using assms uminus_real.transfer |
454 unfolding cr_real_eq fun_rel_def by simp |
454 unfolding cr_real_eq rel_fun_def by simp |
455 |
455 |
456 lemma diff_Real: |
456 lemma diff_Real: |
457 assumes X: "cauchy X" and Y: "cauchy Y" |
457 assumes X: "cauchy X" and Y: "cauchy Y" |
458 shows "Real X - Real Y = Real (\<lambda>n. X n - Y n)" |
458 shows "Real X - Real Y = Real (\<lambda>n. X n - Y n)" |
459 unfolding minus_real_def |
459 unfolding minus_real_def |
461 |
461 |
462 lemma mult_Real: |
462 lemma mult_Real: |
463 assumes X: "cauchy X" and Y: "cauchy Y" |
463 assumes X: "cauchy X" and Y: "cauchy Y" |
464 shows "Real X * Real Y = Real (\<lambda>n. X n * Y n)" |
464 shows "Real X * Real Y = Real (\<lambda>n. X n * Y n)" |
465 using assms times_real.transfer |
465 using assms times_real.transfer |
466 unfolding cr_real_eq fun_rel_def by simp |
466 unfolding cr_real_eq rel_fun_def by simp |
467 |
467 |
468 lemma inverse_Real: |
468 lemma inverse_Real: |
469 assumes X: "cauchy X" |
469 assumes X: "cauchy X" |
470 shows "inverse (Real X) = |
470 shows "inverse (Real X) = |
471 (if vanishes X then 0 else Real (\<lambda>n. inverse (X n)))" |
471 (if vanishes X then 0 else Real (\<lambda>n. inverse (X n)))" |
472 using assms inverse_real.transfer zero_real.transfer |
472 using assms inverse_real.transfer zero_real.transfer |
473 unfolding cr_real_eq fun_rel_def by (simp split: split_if_asm, metis) |
473 unfolding cr_real_eq rel_fun_def by (simp split: split_if_asm, metis) |
474 |
474 |
475 instance proof |
475 instance proof |
476 fix a b c :: real |
476 fix a b c :: real |
477 show "a + b = b + a" |
477 show "a + b = b + a" |
478 by transfer (simp add: add_ac realrel_def) |
478 by transfer (simp add: add_ac realrel_def) |
544 |
544 |
545 lemma positive_Real: |
545 lemma positive_Real: |
546 assumes X: "cauchy X" |
546 assumes X: "cauchy X" |
547 shows "positive (Real X) \<longleftrightarrow> (\<exists>r>0. \<exists>k. \<forall>n\<ge>k. r < X n)" |
547 shows "positive (Real X) \<longleftrightarrow> (\<exists>r>0. \<exists>k. \<forall>n\<ge>k. r < X n)" |
548 using assms positive.transfer |
548 using assms positive.transfer |
549 unfolding cr_real_eq fun_rel_def by simp |
549 unfolding cr_real_eq rel_fun_def by simp |
550 |
550 |
551 lemma positive_zero: "\<not> positive 0" |
551 lemma positive_zero: "\<not> positive 0" |
552 by transfer auto |
552 by transfer auto |
553 |
553 |
554 lemma positive_add: |
554 lemma positive_add: |