mCRL2
Loading...
Searching...
No Matches
pfnf_rewriter.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//
11
12#ifndef MCRL2_PBES_REWRITERS_PFNF_REWRITER_H
13#define MCRL2_PBES_REWRITERS_PFNF_REWRITER_H
14
16
17namespace mcrl2 {
18
19namespace pbes_system {
20
23{
24 public:
27
30
35 {
37 visitor.apply(x);
38 return visitor.evaluate();
39 }
40
45 template <typename SubstitutionFunction>
46 pbes_expression operator()(const pbes_expression& x, SubstitutionFunction sigma) const
47 {
48 return sigma(this->operator()(x));
49 }
50};
51
52} // namespace pbes_system
53
54} // namespace mcrl2
55
56#endif // MCRL2_PBES_REWRITERS_PFNF_REWRITER_H
\brief A data variable
Definition variable.h:28
A rewriter that brings PBES expressions into PFNF normal form.
pbes_expression term_type
The term type.
data::variable variable_type
The variable type.
pbes_expression operator()(const pbes_expression &x, SubstitutionFunction sigma) const
Rewrites a pbes expression.
pbes_expression operator()(const pbes_expression &x) const
Rewrites a pbes expression.
static RewriterCompilingJitty::substitution_type & sigma(RewriterCompilingJitty *this_rewriter)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
add your file description here.
void apply(const pbes_system::pbes_equation &x)
Definition traverser.h:323
Applies the PFNF rewriter to a PBES expression.
pbes_expression evaluate() const
Returns the top element of the expression stack converted to a pbes expression.