Theory Kleene_Relation_Subalgebras
section ‹Subalgebras of Kleene Relation Algebras›
text ‹
In this theory we show that the regular elements of a Stone-Kleene relation algebra form a Kleene relation subalgebra.
›
theory Kleene_Relation_Subalgebras
imports Stone_Relation_Algebras.Relation_Subalgebras Kleene_Relation_Algebras
begin
instantiation regular :: (stone_kleene_relation_algebra) kleene_relation_algebra
begin
lift_definition star_regular :: "'a regular ⇒ 'a regular" is star
using regular_closed_p regular_closed_star by blast
instance
apply intro_classes
apply (metis (mono_tags, lifting) star_regular.rep_eq less_eq_regular.rep_eq left_kleene_algebra_class.star_left_unfold one_regular.rep_eq simp_regular sup_regular.rep_eq times_regular.rep_eq)
apply (metis (mono_tags, lifting) less_eq_regular.rep_eq left_kleene_algebra_class.star_left_induct simp_regular star_regular.rep_eq sup_regular.rep_eq times_regular.rep_eq)
apply (metis (mono_tags, lifting) less_eq_regular.rep_eq strong_left_kleene_algebra_class.star_right_induct simp_regular star_regular.rep_eq sup_regular.rep_eq times_regular.rep_eq)
by simp
end
end