Theory With_Type.Misc_With_Type
section ‹‹Misc_With_Type› -- Some auxiliary definitions and lemmas›
theory Misc_With_Type
imports Main
begin
lemma type_definition_bij_betw_iff: ‹type_definition rep (inv rep) S ⟷ bij_betw rep UNIV S›
by (smt (verit, best) UNIV_I bij_betw_def bij_betw_iff_bijections inj_on_def inv_f_eq type_definition.Rep_inject type_definition.Rep_range type_definition.intro)
inductive rel_unit_itself :: ‹unit ⇒ 'a itself ⇒ bool› where
‹rel_unit_itself () TYPE('a)›
lemma Domain_rel_unit_itself[simp]: ‹Domainp rel_unit_itself x›
by (simp add: Domainp_iff rel_unit_itself.simps)
lemma rel_unit_itself_iff[simp]: ‹rel_unit_itself x y ⟷ (y = TYPE('a))›
by (simp add: rel_unit_itself.simps)
end