equal
deleted
inserted
replaced
171 apply (simp add: assms [unfolded bi_unique_def]) |
171 apply (simp add: assms [unfolded bi_unique_def]) |
172 apply assumption |
172 apply assumption |
173 done |
173 done |
174 |
174 |
175 subsection {* Setup for lifting package *} |
175 subsection {* Setup for lifting package *} |
176 |
|
177 lemma Quotient_alt_def3: |
|
178 "Quotient R Abs Rep T \<longleftrightarrow> |
|
179 (\<forall>a b. T a b \<longrightarrow> Abs a = b) \<and> (\<forall>b. T (Rep b) b) \<and> |
|
180 (\<forall>x y. R x y \<longleftrightarrow> (\<exists>z. T x z \<and> T y z))" |
|
181 unfolding Quotient_alt_def2 by (safe, metis+) |
|
182 |
|
183 lemma Quotient_alt_def4: |
|
184 "Quotient R Abs Rep T \<longleftrightarrow> |
|
185 (\<forall>a b. T a b \<longrightarrow> Abs a = b) \<and> (\<forall>b. T (Rep b) b) \<and> R = T OO conversep T" |
|
186 unfolding Quotient_alt_def3 fun_eq_iff by auto |
|
187 |
176 |
188 lemma Quotient_set: |
177 lemma Quotient_set: |
189 assumes "Quotient R Abs Rep T" |
178 assumes "Quotient R Abs Rep T" |
190 shows "Quotient (set_rel R) (image Abs) (image Rep) (set_rel T)" |
179 shows "Quotient (set_rel R) (image Abs) (image Rep) (set_rel T)" |
191 using assms unfolding Quotient_alt_def4 |
180 using assms unfolding Quotient_alt_def4 |