From bb87eab5bd43357f05ee7874078b212cb4d015a5 Mon Sep 17 00:00:00 2001 From: Artur Meski Date: Wed, 28 Dec 2016 16:09:20 +0100 Subject: [PATCH] cleanup --- crap_bucket/bftype.py | 9 - crap_bucket/boolform.py | 69 ----- crap_bucket/example.py | 39 --- crap_bucket/rs_examples_old.py | 546 --------------------------------- crap_bucket/testca.py | 16 - 5 files changed, 679 deletions(-) delete mode 100644 crap_bucket/bftype.py delete mode 100755 crap_bucket/boolform.py delete mode 100644 crap_bucket/example.py delete mode 100755 crap_bucket/rs_examples_old.py delete mode 100644 crap_bucket/testca.py diff --git a/crap_bucket/bftype.py b/crap_bucket/bftype.py deleted file mode 100644 index 8f72325..0000000 --- a/crap_bucket/bftype.py +++ /dev/null @@ -1,9 +0,0 @@ -#from enum import Enum - -class opertype: - """Boolean Formulae Types""" - unspec = 0 - o_and = 1 - o_or = 2 - o_not = 3 - o_var = 10 diff --git a/crap_bucket/boolform.py b/crap_bucket/boolform.py deleted file mode 100755 index a4b84a7..0000000 --- a/crap_bucket/boolform.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python - -import bftype - -class BoolForm: - - def __init__(self, a=None): - self.initAll() - if a != None and isinstance(a, int): - self.setupVarNode(a) - - def initAll(self): - self.oper = bftype.opertype.unspec - - def setupConjunction(self, lhs, rhs): - self.oper = bftype.opertype.o_and - self.sfLeft = lhs - self.sfRight = rhs - - def setupDisjunction(self, lhs, rhs): - self.oper = bftype.opertype.o_or - self.sfLeft = lhs - self.sfRight = rhs - - def setupNegation(self, form): - self.oper = bftype.opertype.o_not - self.subForm = form - - def setupVarNode(self, var_id): - if not isinstance(var_id, int): - print("var_id must be an integer") - raise - self.oper = bftype.opertype.o_var - self.varid = var_id - - def __add__(self, x): - r = BoolForm() - r.setupDisjunction(self,x) - return r - - def __mul__(self, x): - r = BoolForm() - r.setupConjunction(self,x) - return r - - def __neg__(self): - r = BoolForm() - r.setupNegation(self) - return r - - def __str__(self): - if self.oper == bftype.opertype.o_or: - return "(" + str(self.sfLeft) + " or " + str(self.sfRight) + ")" - elif self.oper == bftype.opertype.o_and: - return "(" + str(self.sfLeft) + " and " + str(self.sfRight) + ")" - elif self.oper == bftype.opertype.o_not: - return "-" + str(self.subForm) - elif self.oper == bftype.opertype.o_var: - return str(self.varid) - else: - print("This should not happen. Unknown operator?") - raise - -if __name__ == "__main__": - - y = (BoolForm(1) + -BoolForm(2) * BoolForm(3)) + BoolForm(2) - - print(y) - diff --git a/crap_bucket/example.py b/crap_bucket/example.py deleted file mode 100644 index 5e449c7..0000000 --- a/crap_bucket/example.py +++ /dev/null @@ -1,39 +0,0 @@ -from z3 import * - -p0 = Bool('p0') -p1 = Bool('p1') -p2 = Bool('p2') -p3 = Bool('p3') -p4 = Bool('p4') - -p0e = Bool('p0e') -p1e = Bool('p1e') -p2e = Bool('p2e') -p3e = Bool('p3e') -p4e = Bool('p4e') - -p0p = Bool('p0p') -p1p = Bool('p1p') -p2p = Bool('p2p') -p3p = Bool('p3p') -p4p = Bool('p4p') - -Cd_a1 = And( Or(p1,p1e), Or(p4,p4e), Not( Or(p2,p2e) ) ) -Cd_a2 = And( Or(p2,p2e), Not( Or(p3,p3e) ) ) -Cd_a3 = And( Or(p1,p1e), Or(p3,p3e), Not( Or(p2,p2e) ) ) -Cd_a4 = And( Or(p3,p3e), Not( Or(p2,p2e) ) ) - -En1 = Or(Cd_a1,Cd_a2,Cd_a3,Cd_a4) -En2 = Or(Cd_a1,Cd_a3) -En3 = Cd_a2 -En4 = Cd_a2 - -Pr1 = Or( And(En1,p1p) , And( Not(En1), Not(p1p)) ) -Pr2 = Or( And(En2,p2p) , And( Not(En2), Not(p2p)) ) -Pr3 = Or( And(En3,p3p) , And( Not(En3), Not(p3p)) ) -Pr4 = Or( And(En4,p4p) , And( Not(En4), Not(p4p)) ) - -PrConjunction = And( Pr1, Pr2, Pr3, Pr4 ) - -print PrConjunction - diff --git a/crap_bucket/rs_examples_old.py b/crap_bucket/rs_examples_old.py deleted file mode 100755 index 8e6c85c..0000000 --- a/crap_bucket/rs_examples_old.py +++ /dev/null @@ -1,546 +0,0 @@ -#!/usr/bin/env python - -from rctsys import ReactionSystem,ReactionSystemWithConcentrations,ContextAutomatonWithConcentrations,ReactionSystemWithAutomaton -from distrib_rctsys import DistributedReactionSystem -from smtchecker import SmtChecker -from smtcheckerpgrs import SmtCheckerPGRS -from smtcheckerdistribrs import SmtCheckerDistribRS -from smtcheckerrsc import SmtCheckerRSC -import sys -import resource - -def toy_ex1(): - - rs = ReactionSystem() - - #rs.add_bg_set_entities(["a","b","x","c"]) - - #rs.add_reaction(["a","b"],["x"],["c"]) - #rs.add_reaction(["c"],["a"],["a"]) - #rs.add_reaction(["a"],["x"],["c"]) - #rs.set_context_entities(["b"]) - - #rs.add_initial_context_set(["a","b"]) - - #rs.add_bg_set_entities(["a", "b", "c", "d", "e", "f", "x", "y","1","2","3","4","5","6"]) - rs.add_bg_set_entities(list("qwertyuiopasdfghjklzxcvbnm")) - - rs.add_reaction(["a"], ["x"], ["b"]) - rs.add_reaction(["b"], ["x"], ["c"]) - rs.add_reaction(["c","f"], ["x"], ["d"]) - rs.add_reaction(["d"], ["x"], ["e"]) - - rs.set_context_entities(["f","g","h"]) - rs.add_initial_context_set(["a"]) - - return rs - -def toy_ex2(): - - rs = ReactionSystem() - - rs.add_bg_set_entities(["a","b","c","d","d_comp","e","f","x"]) - rs.add_reaction(["a"],["x"],["b"]) - rs.add_reaction(["b"],["a"],["c"]) - rs.add_reaction(["c"],["x"],["d"]) - rs.add_reaction(["d","d_comp"],["e"],["f"]) - rs.add_reaction(["f"],["a"],["e"]) - rs.set_context_entities(["d_comp", "e", "x"]) - rs.add_initial_context_set(["a"]) - - return rs - -def toy_ex3(): - - rs = ReactionSystem() - - rs.add_bg_set_entities(["1","2","3","4"]) - rs.add_reaction(["1","4"],["2"],["1","2"]) - rs.add_reaction(["2"],["3"],["1","3","4"]) - rs.add_reaction(["1","3"],["2"],["1","2"]) - rs.add_reaction(["3"],["2"],["1"]) - rs.add_initial_context_set(["1","4"]) - rs.set_context_entities(["4"]) - - return rs - -def bitctr(bits): - - rs = ReactionSystem() - - n = bits - - for i in range(0,bits): - rs.addBgSetEntity("p" + str(i)) - - rs.addBgSetEntity("dec") - rs.addBgSetEntity("inc") - - # (1) no dec, no inc - for j in range(0,bits): - rs.add_reaction(["p"+str(j)], ["dec","inc"], ["p"+str(j)]) - - # (2) increment - rs.add_reaction(["inc"],["dec","p0"],["p0"]) - for j in range(1,bits): - R = ["inc"] - for k in range(0,j): - R.append("p"+str(k)) - I = ["dec","p"+str(j)] - P = ["p"+str(j)] - rs.add_reaction(R, I, P) - - for j in range(0,bits): - for k in range(j+1,bits): - rs.add_reaction(["inc","p"+str(k)], ["dec","p"+str(j)], ["p"+str(k)]) - - # (3) decrement - for j in range(0,bits): - R=["dec"] - I=["inc"] - for k in range(0,j+1): - I.append("p"+str(k)) - P=["p"+str(j)] - rs.add_reaction(R, I, P) - - for j in range(0,bits): - for k in range(j+1,bits): - rs.add_reaction(["dec","p"+str(j),"p"+str(k)], ["inc"], ["p"+str(k)]) - - rs.set_context_entities(["dec","inc"]) - rs.add_initial_context_set(["inc"]) - - return rs - - -def ca_toy_ex1(): - - rs = ReactionSystem() - - rs.add_bg_set_entities(list("axbcdfegh")) - - rs.add_reaction(["a"], ["x"], ["b"]) - rs.add_reaction(["b"], ["x"], ["c"]) - rs.add_reaction(["c","f"], ["x"], ["d"]) - rs.add_reaction(["d"], ["x"], ["e"]) - - #rs.set_context_entities(["f","g","h"]) - #rs.add_initial_context_set(["a"]) - - ca = ContextAutomaton(rs) - ca.add_init_state("1") - ca.add_state("2") - ca.add_transition("1", ["a"], "2") - ca.add_transition("2", [], "2") - ca.add_transition("2", ["f"], "2") - ca.add_transition("2", ["x"], "2") - - rsca = ReactionSystemWithAutomaton(rs,ca) - - return rsca - -def ca_toy_ex1_property1(): - return ["e"] - - -def ca_bitctr(bits): - - rs = ReactionSystem() - - n = bits - - for i in range(0,bits): - rs.add_bg_set_entities(["p" + str(i)]) - - rs.add_bg_set_entities(["dec"]) - rs.add_bg_set_entities(["inc"]) - - # (1) no dec, no inc - for j in range(0,bits): - rs.add_reaction(["p"+str(j)], ["dec","inc"], ["p"+str(j)]) - - # (2) increment - rs.add_reaction(["inc"],["dec","p0"],["p0"]) - for j in range(1,bits): - R = ["inc"] - for k in range(0,j): - R.append("p"+str(k)) - I = ["dec","p"+str(j)] - P = ["p"+str(j)] - rs.add_reaction(R, I, P) - - for j in range(0,bits): - for k in range(j+1,bits): - rs.add_reaction(["inc","p"+str(k)], ["dec","p"+str(j)], ["p"+str(k)]) - - # (3) decrement - for j in range(0,bits): - R=["dec"] - I=["inc"] - for k in range(0,j+1): - I.append("p"+str(k)) - P=["p"+str(j)] - rs.add_reaction(R, I, P) - - for j in range(0,bits): - for k in range(j+1,bits): - rs.add_reaction(["dec","p"+str(j),"p"+str(k)], ["inc"], ["p"+str(k)]) - - ca = ContextAutomaton(rs) - ca.add_init_state("1") - ca.add_transition("1", ["inc"], "1") - ca.add_transition("1", ["inc","dec"], "1") - ca.add_transition("1", ["dec"], "1") - - rsca = ReactionSystemWithAutomaton(rs,ca) - - return rsca - -def ca_bitctr_property(bits): - - state = [] - - for i in range(0,bits): - state.append("p"+str(i)) - - return state - -def drs_toy_ex1(): - - drs = DistributedReactionSystem() - drs.add_bg_set_entities(list("axbcd")) - drs.add_reaction(0, ["a"], ["x"], ["b"]) - drs.add_reaction(0, ["b"], ["c"], ["d"]) - drs.add_reaction(1, ["a"], [], ["b"]) - - drs.add_init_state("init") - drs.add_state("working") - drs.add_transition("init", ([0],[ ["a"], ["a"] ]), "working") - drs.add_transition("working", ([1],[ ["b"], ["a"] ]), "working") - - return drs - -def drs_toy_ex1_property1(): - return [["b"],["b"]] - -def drs_mutex(k): - - drs = DistributedReactionSystem() - - ctrl = k - # agents = 0 ... (k-1) - - drs.add_bg_set_entities(["lock", "busy", "release", "req", "out", "in"]) - - drs.add_reaction(ctrl, ["lock"], ["release"], ["lock"]) - drs.add_reaction(ctrl, ["req"], [], ["lock"]) - - for i in range(k): - #drs.add_reaction(i, ["out"], [], ["req"]) - drs.add_reaction(i, ["out","busy"], [], ["out"]) - drs.add_reaction(i, ["out"], [], ["req"]) - drs.add_reaction(i, ["req"], ["lock"], ["in"]) - drs.add_reaction(i, ["in"], ["busy"], ["out","release"]) - drs.add_reaction(i, ["in","busy"], [], ["in"]) - drs.add_reaction(i, ["req", "lock"], [], ["req"]) - - drs.add_init_state("0") - drs.add_state("1") - - all_out = [["out"] for i in range(k)] - all_out.append([]) # empty context for the controller - - all_empty = [[] for i in range(k+1)] - - drs.add_transition("0", ([i for i in range(k+1)], all_out), "1") - for i in range(k): - drs.add_transition("1", ([i,ctrl], all_empty), "1") - one_busy = [[] for x in range(k+1)] - one_busy[i] = ["busy"] - drs.add_transition("1", ([i,ctrl], one_busy), "1") - - return drs - -def drs_mutex_property1(k): - state = [["in"]] - state.extend([[] for i in range(k)]) - - return state - -def run_counter_exp(): - - if len(sys.argv) < 1+1: - print("provide N") - exit(1) - - N=int(sys.argv[1]) - - r = ReactionSystemWithConcentrations() - - r.add_bg_set_entity("e") - r.add_bg_set_entity("inc") - r.add_reaction_inc("e","inc",[("e",1),("inc",1)],[("e",N)]) - # for i in range(1,N): - # r.add_reaction([("e",i),("inc",1)],[("e",N)],[("e",i+1)]) - # r.show() - - c = ContextAutomatonWithConcentrations(r) - c.add_init_state("init") - c.add_state("working") - c.add_transition("init", [("e",1),("inc",1)], "working") - c.add_transition("working", [("inc",1)], "working") - # c.show() - - rc = ReactionSystemWithAutomaton(r,c) - - rc.show() - - smt_rsc = SmtCheckerRSC(rc) - smt_rsc.check_reachability(([('e',N)],[]),print_time=True,max_level=N) - - orc = rc.get_ordinary_reaction_system_with_automaton() - orc.show() - smt_tr_rs = SmtCheckerPGRS(orc) - smt_tr_rs.check_reachability(['e#' + str(N)],print_time=True) - - print("Reaction System with Concentrations:", smt_rsc.get_verification_time()) - print("Reaction System from translating RSC:", smt_tr_rs.get_verification_time()) - -def chain_reaction(print_system=False): - - if len(sys.argv) < 1+3: - print("provide N M B") - print(" B=1 - RSC") - print(" B=0 - Translated RSC into RS") - exit(1) - - chainLen=int(sys.argv[1]) # chain length - maxConc=int(sys.argv[2]) # depth (max concentration) - verify_rsc=bool(int(sys.argv[3])) - - if chainLen < 1 or maxConc < 1: - print("be reasonable") - exit(1) - - r = ReactionSystemWithConcentrations() - r.add_bg_set_entity(("inc",1)) - # r.add_bg_set_entity(("reset",1)) - r.add_bg_set_entity(("dec",1)) - # r.add_bg_set_entity(("x",1)) - - for i in range(1,chainLen+1): - r.add_bg_set_entity(("e_" + str(i),maxConc)) - - for i in range(1,chainLen+1): - ent = "e_" + str(i) - # r.add_reaction_inc(ent, "inc", [(ent, 1)],[("reset",1),(ent,maxConc)]) - r.add_reaction_inc(ent, "inc", [(ent, 1)],[(ent,maxConc)]) - r.add_reaction_dec(ent, "dec", [(ent, 1)],[]) - # r.add_reaction([(ent,1),("reset",1)],[],[(ent,1)]) - if i < chainLen: - r.add_reaction([(ent,maxConc)],[],[("e_"+str(i+1),1)]) - - r.add_reaction([("e_" + str(chainLen),maxConc)],[("dec",1)],[("e_" + str(chainLen),maxConc)]) - # r.add_reaction([("e_" + str(chainLen),maxConc)],[],[("e_" + str(chainLen),maxConc)]) - - - c = ContextAutomatonWithConcentrations(r) - c.add_init_state("init") - c.add_state("working") - c.add_transition("init", [("e_1",1),("inc",1)], "working") - c.add_transition("working", [("inc",1)], "working") - # c.add_transition("working", [("reset",1)], "working") - # c.add_transition("working",[("x",1)],"working") - - rc = ReactionSystemWithAutomaton(r,c) - - if print_system: - rc.show() - - if verify_rsc: - smt_rsc = SmtCheckerRSC(rc) - prop = [('e_'+str(chainLen),maxConc)] - smt_rsc.check_reachability((prop,[]),max_level=maxConc*chainLen+10) - # smt_rsc.show_encoding(prop,print_time=True,max_level=maxConc*chainLen+10) - - else: - orc = rc.get_ordinary_reaction_system_with_automaton() - if print_system: - print("\nTranslated:") - orc.show() - smt_tr_rs = SmtCheckerPGRS(orc) - smt_tr_rs.check_reachability(['e_'+str(chainLen)+"#"+str(maxConc)]) - - # print("Reaction System with Concentrations:", smt_rsc.get_verification_time()) - # print("Reaction System from translating RSC:", smt_tr_rs.get_verification_time()) - - time=0 - mem_usage=resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/(1024*1024) - if verify_rsc: - filename_t="bench_rsc_time.log" - filename_m="bench_rsc_mem.log" - time=smt_rsc.get_verification_time() - else: - filename_t="bench_tr_rs_time.log" - filename_m="bench_tr_rs_mem.log" - time=smt_tr_rs.get_verification_time() - - f=open(filename_t, 'a') - log_str="(" + str(chainLen) + "," + str(maxConc) + "," + str(time) + ")\n" - f.write(log_str) - f.close() - - f=open(filename_m, 'a') - log_str="(" + str(chainLen) + "," + str(maxConc) + "," + str(mem_usage) + ")\n" - f.write(log_str) - f.close() - -def blood_glucose_regulation(print_system=True): - - r = ReactionSystemWithConcentrations() - r.add_bg_set_entity(("inc_insulin",1)) - r.add_bg_set_entity(("dec_insulin",1)) - r.add_bg_set_entity(("inc_glycemia",1)) - r.add_bg_set_entity(("dec_glycemia",1)) - r.add_bg_set_entity(("inc_glucagon",1)) - r.add_bg_set_entities([("sugar",1),("aspartame",1),("glycemia",3),("glucagon",1),("insulin",2)]) - - r.add_bg_set_entities([("expire_sugar",1)]) - - # r.add_reaction([],[],[]) - r.add_reaction([("sugar",1)],[],[("inc_insulin",1),("inc_glycemia",1)]) - r.add_reaction([("aspartame",1)],[],[("insulin",1)]) - r.add_reaction_without_reactants([],[("glycemia",1)],[("insulin",1)]) - r.add_reaction([("glycemia",3)],[],[("insulin",1)]) - r.add_reaction([("insulin",2)],[],[("dec_glycemia",1)]) - r.add_reaction([("insulin",1),("glycemia",3)],[],[("dec_glycemia",1)]) - r.add_reaction([("insulin",1)],[("glycemia",2)],[("dec_glycemia",1)]) - r.add_reaction([("glucagon",1)],[],[("glycemia",1)]) - - # inc/dec: - r.add_reaction_inc("glycemia", "inc_glycemia", [],[("glycemia",3),("dec_glycemia",1)]) - r.add_reaction_dec("glycemia", "dec_glycemia", [],[("glycemia",1),("inc_glycemia",1)]) - r.add_reaction_inc("insulin", "inc_insulin", [],[("insulin",2),("dec_insulin",1)]) - r.add_reaction_dec("insulin", "dec_insulin", [],[("insulin",1),("inc_insulin",1)]) - - # potrzebne sa reakcje, ktore utrzymaja okresolna molekule na tym samym poziomie - # -> przed podtrzymaniem trzeba sie upewnic, ze jednak jakas reakcja nie chce zmienic tego poziomu - - r.add_permanency("sugar",[("expire_sugar",1)]) - r.add_permanency("glycemia",[]) - - # moje: - r.add_reaction([("sugar",1)],[],[("sugar",1)]) - - c = ContextAutomatonWithConcentrations(r) - c.add_init_state("0") - c.add_state("1") - c.add_transition("0", [("sugar",1)], "1") - c.add_transition("1", [], "1") - c.add_transition("1", [("sugar",1)], "1") - c.add_transition("1", [("expire_sugar",1)], "1") - # c.add_transition("1", [("sugar",1)], "1") - - rc = ReactionSystemWithAutomaton(r,c) - - if print_system: - rc.show() - - # if verify_rsc: - smt_rsc = SmtCheckerRSC(rc) - prop = [('glycemia',1)] - smt_rsc.check_reachability(prop,max_level=10) - # smt_rsc.show_encoding(prop,print_time=True,max_level=maxConc*chainLen+10) - -def heat_shock_response(print_system=True,verify_rsc=True): - - if len(sys.argv) < 1+1: - print("provide B") - print(" B=1 - RSC") - print(" B=0 - Translated RSC into RS") - exit(1) - - verify_rsc=bool(int(sys.argv[1])) - - stress_temp = 42 - max_temp = 50 - - r = ReactionSystemWithConcentrations() - r.add_bg_set_entity(("hsp",1)) - r.add_bg_set_entity(("hsf",1)) - r.add_bg_set_entity(("hsf2",1)) - r.add_bg_set_entity(("hsf3",1)) - r.add_bg_set_entity(("hse",1)) - r.add_bg_set_entity(("mfp",1)) - r.add_bg_set_entity(("prot",1)) - r.add_bg_set_entity(("hsf3:hse",1)) - r.add_bg_set_entity(("hsp:mfp",1)) - r.add_bg_set_entity(("hsp:hsf",1)) - r.add_bg_set_entity(("temp",max_temp)) - r.add_bg_set_entity(("heat",1)) - r.add_bg_set_entity(("cool",1)) - - r.add_reaction([("hsf",1)], [("hsp",1)], [("hsf3",1)]) - r.add_reaction([("hsf",1),("hsp",1),("mfp",1)], [], [("hsf3",1)]) - r.add_reaction([("hsf3",1)], [("hse",1),("hsp",1)],[("hsf",1)]) - r.add_reaction([("hsf3",1),("hsp",1),("mfp",1)], [("hse",1)], [("hsf",1)]) - r.add_reaction([("hsf3",1),("hse",1)], [("hsp",1)], [("hsf3:hse",1)]) - r.add_reaction([("hsp",1),("hsf3",1),("mfp",1),("hse",1)],[], [("hsf3:hse",1)]) - r.add_reaction([("hse",1)], [("hsf3",1)], [("hse",1)]) - r.add_reaction([("hsp",1),("hsf3",1),("hse",1)], [("mfp",1)], [("hse",1)]) - r.add_reaction([("hsf3:hse",1)], [("hsp",1)], [("hsp",1),("hsf3:hse",1)]) - r.add_reaction([("hsp",1),("mfp",1),("hsf3:hse",1)],[], [("hsp",1),("hsf3:hse",1)]) - r.add_reaction([("hsf",1),("hsp",1)], [("mfp",1)], [("hsp:hsf",1)]) - r.add_reaction([("hsp:hsf",1),("temp",stress_temp)],[], [("hsf",1),("hsp",1)]) - r.add_reaction([("hsp:hsf",1)], [("temp",stress_temp)],[("hsp:hsf",1)]) - r.add_reaction([("hsp",1),("hsf3:hse",1)], [("mfp",1)], [("hse",1),("hsp:hsf",1)]) - r.add_reaction([("temp",stress_temp),("prot",1)], [], [("mfp",1),("prot",1)]) - r.add_reaction([("prot",1)], [("temp",stress_temp)], [("prot",1)]) - r.add_reaction([("hsp",1),("mfp",1)], [], [("hsp:mfp",1)]) - r.add_reaction([("mfp",1)], [("hsp",1)], [("mfp",1)]) - r.add_reaction([("hsp:mfp",1)], [], [("hsp",1),("prot",1)]) - - r.add_reaction_inc("temp", "heat", [("temp",1)],[("temp",max_temp)]) - r.add_reaction_dec("temp", "cool", [("temp",1)],[]) - - r.add_permanency("temp",[("heat",1),("cool",1)]) - #r.add_permanency("temp",[]) - - c = ContextAutomatonWithConcentrations(r) - c.add_init_state("0") - c.add_state("1") - # c.add_transition("0", [("prot",1), ("temp",35)], "1") - c.add_transition("0", [("hsf",1),("prot",1),("hse",1),("temp",35)], "1") - #-> c.add_transition("0", [("hse",1),("prot",1),("hsp:hsf",1),("temp",stress_temp)], "1") - # c.add_transition("0", [("hsp",1),("prot",1),("hsf3:hse",1),("mfp",1),("hsp:mfp",1),("temp",30)], "1") - c.add_transition("1", [("cool",1)], "1") - c.add_transition("1", [("heat",1)], "1") - c.add_transition("1", [], "1") - # c.add_transition("1", [("sugar",1)], "1") - - rc = ReactionSystemWithAutomaton(r,c) - - if print_system: - rc.show() - - prop_req = [("hsp:hsf",1),("hse",1),("prot",1)] - prop_block = [("temp",stress_temp)] - # prop_req = [ ("mfp",1) ] - # prop_block = [ ] - prop = (prop_req,prop_block) - rs_prop = (state_translate_rsc2rs(prop_req),state_translate_rsc2rs(prop_block)) - - if verify_rsc: - smt_rsc = SmtCheckerRSC(rc) - smt_rsc.check_reachability(prop,max_level=40) - else: - orc = rc.get_ordinary_reaction_system_with_automaton() - if print_system: - print("\nTranslated:") - orc.show() - smt_tr_rs = SmtCheckerPGRS(orc) - smt_tr_rs.check_reachability(rs_prop) - -def state_translate_rsc2rs(p): - return [e[0] + "#" + str(e[1]) for e in p] - diff --git a/crap_bucket/testca.py b/crap_bucket/testca.py deleted file mode 100644 index 98b0647..0000000 --- a/crap_bucket/testca.py +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env python - -from rctsys import * -import rs_examples - -rs = rs_examples.toy_ex3() - -ca = ContextAutomaton(rs) - -ca.add_state("st1") -ca.add_init_state("in") - -ca.add_transition("st1", {"1","2"}, "in") - -ca.show() -