Theory UnwindingConditions
theory UnwindingConditions
imports "../Basics/BSPTaxonomy"
"../../SystemSpecification/StateEventSystems"
begin
locale Unwinding =
fixes SES :: "('s, 'e) SES_rec"
and π± :: "'e V_rec"
assumes validSES: "SES_valid SES"
and validVU: "isViewOn π± EβSESβ"
sublocale Unwinding β BSPTaxonomyDifferentCorrections "induceES SES" "π±"
by (unfold_locales, simp add: induceES_yields_ES validSES,
simp add: induceES_def validVU)
context Unwinding
begin
definition osc :: "'s rel β bool"
where
"osc ur β‘
βs1 β SβSESβ. βs1' β SβSESβ. βs2' β SβSESβ. βe β (EβSESβ - Cβπ±β).
(reachable SES s1 β§ reachable SES s1'
β§ s1' eβΆβSESβ s2' β§ (s1', s1) β ur)
βΆ (βs2 β SβSESβ. βΞ΄. Ξ΄ βΏ Cβπ±β = [] β§ Ξ΄ βΏ Vβπ±β = [e] βΏ Vβπ±β
β§ s1 Ξ΄βΉβSESβ s2 β§ (s2', s2) β ur)"
definition lrf :: "'s rel β bool"
where
"lrf ur β‘
βs β SβSESβ. βs' β SβSESβ. βc β Cβπ±β.
((reachable SES s β§ s cβΆβSESβ s') βΆ (s', s) β ur)"
definition lrb :: "'s rel β bool"
where
"lrb ur β‘ βs β SβSESβ. βc β Cβπ±β.
(reachable SES s βΆ (βs' β SβSESβ. (s cβΆβSESβ s' β§ ((s, s') β ur))))"
definition fcrf :: "'e Gamma β 's rel β bool"
where
"fcrf Ξ ur β‘
βc β (Cβπ±β β© Ξ₯βΞβ). βv β (Vβπ±β β© ββΞβ). βs β SβSESβ. βs' β SβSESβ.
((reachable SES s β§ s ([c] @ [v])βΉβSESβ s')
βΆ (βs'' β SβSESβ. βΞ΄. (βd β (set Ξ΄). d β (Nβπ±β β© ΞβΞβ)) β§
s (Ξ΄ @ [v])βΉβSESβ s'' β§ (s', s'') β ur))"
definition fcrb :: "'e Gamma β 's rel β bool"
where
"fcrb Ξ ur β‘
βc β (Cβπ±β β© Ξ₯βΞβ). βv β (Vβπ±β β© ββΞβ). βs β SβSESβ. βs'' β SβSESβ.
((reachable SES s β§ s vβΆβSESβ s'')
βΆ (βs' β SβSESβ. βΞ΄. (βd β (set Ξ΄). d β (Nβπ±β β© ΞβΞβ)) β§
s ([c] @ Ξ΄ @ [v])βΉβSESβ s' β§ (s'', s') β ur))"
definition En :: "'e Rho β 's β 'e β bool"
where
"En Ο s e β‘
βΞ² Ξ³. βs' β SβSESβ. βs'' β SβSESβ.
s0βSESβ Ξ²βΉβSESβ s β§ (Ξ³ βΏ (Ο π±) = Ξ² βΏ (Ο π±))
β§ s0βSESβ Ξ³βΉβSESβ s' β§ s' eβΆβSESβ s''"
definition lrbe :: "'e Rho β 's rel β bool"
where
"lrbe Ο ur β‘
βs β SβSESβ. βc β Cβπ±β .
((reachable SES s β§ (En Ο s c))
βΆ (βs' β SβSESβ. (s cβΆβSESβ s' β§ (s, s') β ur)))"
definition fcrbe :: "'e Gamma β 'e Rho β 's rel β bool"
where
"fcrbe Ξ Ο ur β‘
βc β (Cβπ±β β© Ξ₯βΞβ). βv β (Vβπ±β β© ββΞβ). βs β SβSESβ. βs'' β SβSESβ.
((reachable SES s β§ s vβΆβSESβ s'' β§ (En Ο s c))
βΆ (βs' β SβSESβ. βΞ΄. (βd β (set Ξ΄). d β (Nβπ±β β© ΞβΞβ)) β§
s ([c] @ Ξ΄ @ [v])βΉβSESβ s' β§ (s'', s') β ur))"
end
end