(* Title: Relation Algebra Author: Alasdair Armstrong, Simon Foster, Georg Struth, Tjark Weber Maintainer: Georg Struth <g.struth at sheffield.ac.uk> Tjark Weber <tjark.weber at it.uu.se> *) section ‹Reflexive Transitive Closure› theory Relation_Algebra_RTC imports Relation_Algebra begin text ‹We impose the Kleene algebra axioms for the star on relation algebras. This gives us a reflexive transitive closure operation.› class relation_algebra_rtc = relation_algebra + star_op + assumes rtc_unfoldl: "1' + x ; x⇧⋆ ≤ x⇧⋆" and rtc_inductl: "z + x ; y ≤ y ⟶ x⇧⋆ ; z ≤ y" and rtc_inductr: "z + y ; x ≤ y ⟶ z ; x⇧⋆ ≤ y"