Pinging @Akshobhya1234 on this one who originally added them, to make sure I'm not missing something and to make sure it's not breaking his use case.
We define StarLeftExpansive as e + x ∙ x * ≈ x * (similarly for StarRightExpansive), and StarLeftDestructive as b + a ∙ x ≈ x → a * ∙ b ≈ x`.
The closest definitions I can find are in Dexter Kozen's lecture notes (cited by Wikipedia), which claims to follow an out of print textbook:
Or e + x ∙ x * ≤ x * and b + a ∙ x ≤ x → a * ∙ b ≤ x in the notation I used earlier. But note! ≤ is not ≈. How is it defined? Again, from Dexter Kozen's lecture notes:
Or in our notation, x ≤ y = x + y ≈ y. Rephrasing the laws inlining this definition, we get something like
StarLeftExpansive = e + x ∙ x * + x * ≈ x *
StarLeftDestructive = b + x ∙ a + x ≈ x → a * ∙ b + x ≈ x
I ran into this while trying to implement regular expressions, and finding it impossible to prove StarLeftDestructive. I have not tried to see if my alternate definitions work better for that yet.
Pinging @Akshobhya1234 on this one who originally added them, to make sure I'm not missing something and to make sure it's not breaking his use case.
We define
StarLeftExpansivease + x ∙ x * ≈ x *(similarly forStarRightExpansive), andStarLeftDestructive asb + a ∙ x ≈ x → a * ∙ b ≈ x`.The closest definitions I can find are in Dexter Kozen's lecture notes (cited by Wikipedia), which claims to follow an out of print textbook:
Or
e + x ∙ x * ≤ x *andb + a ∙ x ≤ x → a * ∙ b ≤ xin the notation I used earlier. But note!≤is not≈. How is it defined? Again, from Dexter Kozen's lecture notes:Or in our notation,
x ≤ y = x + y ≈ y. Rephrasing the laws inlining this definition, we get something likeI ran into this while trying to implement regular expressions, and finding it impossible to prove
StarLeftDestructive. I have not tried to see if my alternate definitions work better for that yet.