refactor(LTS): refactor LTS/Relation properties - #748
Conversation
|
I don't know @fmontesi's original intention when he made this definition. But, prima facie, shouldn't It seems to me that the current definition should be called "Bounded" (perhaps with |
|
Yes, your proposal makes the most semantic sense to me. |
|
I think the bounded definition also can choose to order the quantifiers differently and those are different types of |
|
i agree both that the name is confusing (it should be more like @ctchou's suggestion) and that the docs don't match the code — fwiw in Sangiorgi's book "acyclic" is only ever applied to finite-state lts's for which all of these notions agree also given the swapping of arguments, perhaps |
|
Indeed, since transition labels don't really matter in these definitions, perhaps they should be defined on |
Formalising that book is where the def came from, but indeed we should improve this. Summarising the thoughts expressed so far and my own, I'd suggest:
|
|
I think that makes sense. I'll reform this PR into what I believe is the synthesis of this discussion, and we can do another round of discussion. |
ctchou
left a comment
There was a problem hiding this comment.
BTW, the title of this PR should change, too.
|
@ctchou addressed your comments and deleted a noisy theorem with no use sites. |
|
@fmontesi can you re-review and/or merge? |
| namespace LTS | ||
|
|
||
| /-- The unlabelled transition relation underlying an LTS. -/ | ||
| def toRelation (lts : LTS State Label) : State → State → Prop := |
There was a problem hiding this comment.
The entire PR looks good to me now but I have a minor annoyance here:
This has exactly the same name as LTS.Tr.toRelation and LTS.MTr.toRelation, which have the 'expected' meaning from the literature -- fixing the (multi)transition relation on a label. This new LTS.toRelation should probably go in Relation.lean, be namespaced under LTS.Tr, and have a different name to distinguish it from the other ones.
There was a problem hiding this comment.
Good catch. Busy today but when I get online I'll patch this.
There was a problem hiding this comment.
If anyone else wants this merged, feel free to push this last commit and merge it.
The current definition requires a global bound, which seems wrong. At least it is misleading as a reader of the documentation, perhaps it is intended and the documentation simply confused me.