14
14
using namespace VerifyTAPN::TAPN;
15
15
using namespace boost;
22
dbm.constrain(0,1, dbm_bound2raw(-1, dbm_WEAK));
23
dbm.constrain(1,0,dbm_bound2raw(3,dbm_WEAK));
24
dbm.constrain(0,2,dbm_bound2raw(-1,dbm_WEAK));
25
dbm.constrain(2,0,dbm_bound2raw(5,dbm_WEAK));
26
dbm.constrain(1,2,dbm_bound2raw(2,dbm_WEAK));
27
dbm.constrain(2,1,dbm_bound2raw(2, dbm_WEAK));
30
int max[] = { 3,-dbm_INFINITY,3 };
32
std::cout << "dbm: \n";
33
std::cout << dbm << "\n\n";
38
dbm2.constrain(0,1, dbm_bound2raw(-2, dbm_WEAK));
39
dbm2.constrain(1,0,dbm_bound2raw(3,dbm_WEAK));
40
dbm2.constrain(0,2,dbm_bound2raw(-1,dbm_WEAK));
41
dbm2.constrain(2,0,dbm_bound2raw(4,dbm_WEAK));
42
dbm2.constrain(1,2,dbm_bound2raw(2,dbm_WEAK));
43
dbm2.constrain(2,1,dbm_bound2raw(2, dbm_WEAK));
46
std::cout << "dbm2: \n";
47
std::cout << dbm2 << "\n\n";
49
relation_t relation = dbm2.relation(dbm);
51
std::cout << "relation:\n";
52
std::cout << "dbm2 <subset eq> dbm: " << ((relation & base_SUBSET) != 0 ? "true" : "false") << "\n";
54
dbm2.extrapolateMaxBounds(max);
56
std::cout << "dbm2 inactive:\n";
57
std::cout << dbm2 << "\n";
59
relation = dbm2.relation(dbm);
61
std::cout << "relation:\n";
62
std::cout << "dbm2 <subset eq> dbm: " << ((relation & base_SUBSET) != 0 ? "true" : "false") << "\n";
67
18
int main(int argc, char* argv[]) {
69
19
VerificationOptions options = VerificationOptions::ParseVerificationOptions(argc, argv);
71
21
TAPNXmlParser modelParser;