formula=formula[:-4] + ')) -> (X (!stop_offering_to_play' + str(j) + ')))' formulas_list[j]=formula print(formula) formula='[] ((' for i in range(0,n_robots): formula+='!going_to_reception_area' + str(i) + ' && !at_reception_area' + str(i) + ' && ' formula=formula[:-4] + ') -> (X (' for i in range(0,n_robots): formula+='!go_to_playing_area' + str(i) + ' && !offer_to_play' + str(i) + ' && ' formula=formula[:-4]+')))' formulas_list[-1]=formula print(str(formulas_list)) ##INCREMENTAL MONOLITHIC res=prod #formulas_list=[formulas_list[-1]]+formulas_list[:-1] for formula in formulas_list: print(formula) ltl_dfa=LtlDfa(formula) res=des_dfa_compositions.des_ltl_dfa_composition(res,ltl_dfa) print("--------------------------\n\n\n") print(res.n_states)
formula3+='!startpassing' + str(j) + str(i) + ' && ' formula3=formula3[:-4] + ') -> (X !startreceiving' + str(i) + '))' formulas_list[n_robots+i+1]=formula3 #MONOLITHIC FULL FORMULA <- translation fails final='((' + formulas_list[0] + ')' for formula in formulas_list[1:]: final+= ' && (' + formula + ')' final+=')' ltl_dfa=LtlDfa(final) res=des_dfa_compositions.des_ltl_dfa_composition(prod, ltl_dfa) ##INCREMENTAL MONOLITHIC #res=prod #print(res.n_states) #for formula in formulas_list: #ltl_dfa=LtlDfa(formula) #res=des_dfa.des_ltl_dfa_composition(res,ltl_dfa) #print(res.n_states) ##MODULAR #sup_list=[None for i in range(0, 2*n_robots+1)] #i=0 #total=0 #for formula in formulas_list: