mCRL2
Loading...
Searching...
No Matches
is_simple_substitution.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_DATA_IS_SIMPLE_SUBSTITUTION_H
13#define MCRL2_DATA_IS_SIMPLE_SUBSTITUTION_H
14
16
17namespace mcrl2 {
18
19namespace data {
20
26template <typename Substitution>
27bool is_simple_substitution(const Substitution& /*sigma*/)
28{
29 return true;
30}
31
33inline
35{
36 std::set<data::variable> v = data::find_free_variables(rhs);
37 if (v.empty())
38 {
39 return true;
40 }
41 if (v.size() == 1)
42 {
43 return *(v.begin()) == lhs;
44 }
45 return false;
46}
47
48} // namespace data
49
50} // namespace mcrl2
51
52#endif // MCRL2_DATA_IS_SIMPLE_SUBSTITUTION_H
\brief A data variable
Definition variable.h:28
The class data_expression.
std::set< data::variable > find_free_variables(const data::data_expression &x)
Definition data.cpp:99
bool is_simple_substitution(const Substitution &)
Returns true if the substitution sigma satisfies the property that FV(sigma(x)) is included in {x} fo...
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72