Skip to main content
. 2022 Feb 24;8:e823. doi: 10.7717/peerj-cs.823

Algorithm 7. Implementation view of SAT∃LTL.

1: procedure SAT∃LTL(M, φ)
2:    A ← translate φ into a Büchi Automaton
3:    Z0,NSF,SF ← BUILDSYNCHPRODUCT(M, A)
4:   SSaturate(Z0, NSF)
5:   K = (S, NSF ) is a Kripke model
6:   ASMDD()
7:   switch type( A) do
8:      case weak:
9:       AS ← SATCTL ASSATCTL(K,EFEG(SF[1]))
10:     case terminal:
11:       AS ← SATCTL ASSATCTL(K,EF(SF[1]))
12:     case otherwise:
13:       AS ← SATEFAIR ASSATEFAIRG(K,true,fair=SF):
14:   Sat(∃φ) ← RemLoc(ASZ0)
15:   return Sat(∃φ)
16: end procedure