mCRL2
Loading...
Searching...
No Matches
lpsbisim2pbes.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_TOOLS_LPSBISIM2PBES_H
13#define MCRL2_PBES_TOOLS_LPSBISIM2PBES_H
14
15#include "mcrl2/lps/io.h"
19#include "mcrl2/pbes/io.h"
20
21namespace mcrl2 {
22
23namespace pbes_system {
24
25void lpsbisim2pbes(const std::string& input_filename1,
26 const std::string& input_filename2,
27 const std::string& output_filename,
28 const utilities::file_format& output_format,
30 bool normalize
31 )
32{
35
36 load_lps(M, input_filename1);
37 load_lps(S, input_filename2);
38 pbes result;
39 switch (type)
40 {
41 case strong_bisim:
42 result = strong_bisimulation(M, S);
43 break;
44 case weak_bisim:
45 result = weak_bisimulation(M, S);
46 break;
47 case branching_bisim:
48 result = branching_bisimulation(M, S);
49 break;
50 case branching_sim:
52 break;
53 }
54 if (normalize)
55 {
57 }
58 save_pbes(result, output_filename, output_format);
59}
60
61} // namespace pbes_system
62
63} // namespace mcrl2
64
65#endif // MCRL2_PBES_TOOLS_LPSBISIM2PBES_H
Bisimulation algorithms.
add your file description here.
Linear process specification.
parameterized boolean equation system
Definition pbes.h:58
IO routines for linear process specifications.
void normalize(pbes &x)
The function normalize brings (embedded) pbes expressions into positive normal form,...
void lpsbisim2pbes(const std::string &input_filename1, const std::string &input_filename2, const std::string &output_filename, const utilities::file_format &output_format, bisimulation_type type, bool normalize)
void save_pbes(const pbes &pbes, std::ostream &stream, utilities::file_format format=utilities::file_format())
Save a PBES in the format specified.
Definition io.cpp:49
pbes strong_bisimulation(const lps::specification &model, const lps::specification &spec)
Returns a pbes that expresses strong bisimulation between two specifications.
pbes branching_simulation_equivalence(const lps::specification &model, const lps::specification &spec)
Returns a pbes that expresses branching simulation equivalence between two specifications.
pbes branching_bisimulation(const lps::specification &model, const lps::specification &spec)
Returns a pbes that expresses branching bisimulation between two specifications.
void normalize(T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
The function normalize brings (embedded) pbes expressions into positive normal form,...
Definition normalize.h:177
bisimulation_type
An enumerated type for the available bisimulation types.
pbes weak_bisimulation(const lps::specification &model, const lps::specification &spec)
Returns a pbes that expresses weak bisimulation between two specifications.
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.
IO routines for boolean equation systems.