mCRL2
Loading...
Searching...
No Matches
complps2pbes.h
Go to the documentation of this file.
1// Author(s): Wieger Wesselink
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
9/// \file mcrl2/pbes/complps2pbes.h
10/// \brief add your file description here.
11
12#ifndef MCRL2_PBES_COMPLPS2PBES_H
13#define MCRL2_PBES_COMPLPS2PBES_H
14
15#include "mcrl2/modal_formula/state_formula.h"
16#include "mcrl2/pbes/pbes.h"
17#include "mcrl2/process/is_communicating_lpe.h"
18#include "mcrl2/process/is_linear.h"
19
20namespace mcrl2::pbes_system {
21
22inline
24{
25 for (const process::process_equation& equation: procspec.equations())
26 {
27 if (!process::is_linear(equation))
28 {
29 throw mcrl2::runtime_error("the equation for " + process::pp(equation.identifier()) + " is not linear!");
30 }
31 }
32
34 {
35 throw mcrl2::runtime_error("the initial state " + process::pp(procspec.init()) + " is not in communicating LPE format!");
36 }
37
39}
40
41} // namespace mcrl2::pbes_system
42
43
44
45#endif // MCRL2_PBES_COMPLPS2PBES_H
parameterized boolean equation system
Definition pbes.h:54
pbes()=default
Constructor.
Process specification consisting of a data specification, action labels, a sequence of process equati...
const process_expression & init() const
Returns the initialization of the process specification.
pbes_system::pbes complps2pbes(const process::process_specification &procspec, const state_formulas::state_formula &)
The main namespace for the Process library.
bool is_communicating_lpe(const process::process_expression &x)
Returns true if x is in communicating LPE format.