You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hypRefinesTransitions returns true if and only if each transition guard in the Hypothesis at the location of the CE prefix, for the first action symbol following the prefix (act), refines (i.e. is equivalent or implies) an initial action guard in the SUL SDT generated for CE prefix/suffix split (resSul).
Unfortunately, this method returning false is not always indicative of refinement. There may be transition guards that do not refine any particular SUT guard, without there being a refinement, as is the case for the example below:
No guard refinement should be determined for this case, yet it is, since, the transition guard ((r1==p1)) does not refine any individual SUL guard.
I think the proper way of determining refinement is by checking if for each initial action guard in the SUT SDT there is a refining transition guard in the Hyp. If so, we do not need guard refinement. Otherwise, we do.
The text was updated successfully, but these errors were encountered:
The assumption in the implementation is that guards are mutually exclusive. I will leave this open for now and first figure out how/why/if guards should be overlapping.
The problem seems to be in how we determine when guard refinement happens. We say that:
hypRefinesTransitions
returns true if and only if each transition guard in the Hypothesis at the location of the CE prefix, for the first action symbol following the prefix (act
), refines (i.e. is equivalent or implies) an initial action guard in the SUL SDT generated for CE prefix/suffix split (resSul
).Unfortunately, this method returning false is not always indicative of refinement. There may be transition guards that do not refine any particular SUT guard, without there being a refinement, as is the case for the example below:
`
Hyp Transition Guards:
[((c1==p1)), ((r1==p1)), (((c1!=p1) && (r1!=p1)))]
SUL SDT Initial Guards:
[((c1==p1)), ((c1!=p1))]
`
No guard refinement should be determined for this case, yet it is, since, the transition guard
((r1==p1))
does not refine any individual SUL guard.I think the proper way of determining refinement is by checking if for each initial action guard in the SUT SDT there is a refining transition guard in the Hyp. If so, we do not need guard refinement. Otherwise, we do.
The text was updated successfully, but these errors were encountered: