equal
deleted
inserted
replaced
853 using rel_set_transfer[unfolded rel_fun_def,rule_format, Transfer.transferred, where A = A and B = B] |
853 using rel_set_transfer[unfolded rel_fun_def,rule_format, Transfer.transferred, where A = A and B = B] |
854 by simp |
854 by simp |
855 |
855 |
856 lemma bind_transfer [transfer_rule]: |
856 lemma bind_transfer [transfer_rule]: |
857 "(rel_fset A ===> (A ===> rel_fset B) ===> rel_fset B) fbind fbind" |
857 "(rel_fset A ===> (A ===> rel_fset B) ===> rel_fset B) fbind fbind" |
858 using assms unfolding rel_fun_def |
858 unfolding rel_fun_def |
859 using bind_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
859 using bind_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
860 |
860 |
861 text \<open>Rules requiring bi-unique, bi-total or right-total relations\<close> |
861 text \<open>Rules requiring bi-unique, bi-total or right-total relations\<close> |
862 |
862 |
863 lemma fmember_transfer [transfer_rule]: |
863 lemma fmember_transfer [transfer_rule]: |
883 using assms unfolding rel_fun_def |
883 using assms unfolding rel_fun_def |
884 using subset_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
884 using subset_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
885 |
885 |
886 lemma fSup_transfer [transfer_rule]: |
886 lemma fSup_transfer [transfer_rule]: |
887 "bi_unique A \<Longrightarrow> (rel_set (rel_fset A) ===> rel_fset A) Sup Sup" |
887 "bi_unique A \<Longrightarrow> (rel_set (rel_fset A) ===> rel_fset A) Sup Sup" |
888 using assms unfolding rel_fun_def |
888 unfolding rel_fun_def |
889 apply clarify |
889 apply clarify |
890 apply transfer' |
890 apply transfer' |
891 using Sup_fset_transfer[unfolded rel_fun_def] by blast |
891 using Sup_fset_transfer[unfolded rel_fun_def] by blast |
892 |
892 |
893 (* FIXME: add right_total_fInf_transfer *) |
893 (* FIXME: add right_total_fInf_transfer *) |
906 using assms unfolding rel_fun_def |
906 using assms unfolding rel_fun_def |
907 using Lifting_Set.filter_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
907 using Lifting_Set.filter_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
908 |
908 |
909 lemma card_transfer [transfer_rule]: |
909 lemma card_transfer [transfer_rule]: |
910 "bi_unique A \<Longrightarrow> (rel_fset A ===> op =) fcard fcard" |
910 "bi_unique A \<Longrightarrow> (rel_fset A ===> op =) fcard fcard" |
911 using assms unfolding rel_fun_def |
911 unfolding rel_fun_def |
912 using card_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
912 using card_transfer[unfolded rel_fun_def, rule_format, Transfer.transferred] by blast |
913 |
913 |
914 end |
914 end |
915 |
915 |
916 lifting_update fset.lifting |
916 lifting_update fset.lifting |