~tapaal-ltl/verifypn/reach-aut-stub

« back to all changes in this revision

Viewing changes to include/LTL/Algorithm/TarjanModelChecker.h

  • Committer: Nikolaj Jensen Ulrik
  • Date: 2021-03-19 12:45:08 UTC
  • Revision ID: nikolaj@njulrik.dk-20210319124508-xztoihw9nhyx7z0v
LTL engine now allows combination of stubborn sets and heuristics

Show diffs side-by-side

added added

removed removed

Lines of Context:
72
72
        LTL::Structures::ProductStateFactory factory;
73
73
 
74
74
        using StateSet = std::conditional_t<SaveTrace, LTL::Structures::TraceableBitProductStateSet<>, LTL::Structures::BitProductStateSet<>>;
 
75
        static constexpr bool IsSpooling = std::is_same_v<SuccessorGen, SpoolingSuccessorGenerator>;
75
76
 
76
77
        StateSet seen;
77
78
        std::unordered_set<idx_t> store;
123
124
        std::stack<DEntry> dstack;
124
125
        // cstack positions of accepting states in current search path, for quick access.
125
126
        std::stack<idx_t> astack;
 
127
        // tarjan extension; stack of states that were fully expanded in stubborn set
 
128
        std::stack<idx_t> extstack;
 
129
 
126
130
        bool violation = false;
127
131
        size_t loopstate = std::numeric_limits<size_t>::max();
128
132
        size_t looptrans = std::numeric_limits<size_t>::max();