equal
deleted
inserted
replaced
600 "((A ===> B) ===> (C ===> D) ===> (B ===> C) ===> A ===> D) map_fun map_fun" |
600 "((A ===> B) ===> (C ===> D) ===> (B ===> C) ===> A ===> D) map_fun map_fun" |
601 unfolding map_fun_def[abs_def] by transfer_prover |
601 unfolding map_fun_def[abs_def] by transfer_prover |
602 |
602 |
603 end |
603 end |
604 |
604 |
|
605 |
|
606 subsection \<open>@{const of_nat}\<close> |
|
607 |
|
608 lemma transfer_rule_of_nat: |
|
609 fixes R :: "'a::semiring_1 \<Rightarrow> 'b::semiring_1 \<Rightarrow> bool" |
|
610 assumes [transfer_rule]: "R 0 0" "R 1 1" |
|
611 "rel_fun R (rel_fun R R) plus plus" |
|
612 shows "rel_fun HOL.eq R of_nat of_nat" |
|
613 by (unfold of_nat_def [abs_def]) transfer_prover |
|
614 |
605 end |
615 end |