%%% BEGINNING OF THE TRANSLATION %%%


%%%%%% Translation of the rule (fact) rasp_1:
%%		c_ATP # 54.
rasp_rrule(rasp_1).
%% fact (6)(6'):
rasp_a_atom(rasp_1, 0, c_ATP, 54).
%% fact (5)(5'):
rasp_fired(rasp_1).
rasp_firings(rasp_1, 1).


%%%%%% Translation of the rule (fact) rasp_2:
%%		c_CO_2 # 18.
rasp_rrule(rasp_2).
%% fact (6)(6'):
rasp_a_atom(rasp_2, 0, c_CO_2, 18).
%% fact (5)(5'):
rasp_fired(rasp_2).
rasp_firings(rasp_2, 1).


%%%%%% Translation of the rule (fact) rasp_3:
%%		c_H_2O # 30.
rasp_rrule(rasp_3).
%% fact (6)(6'):
rasp_a_atom(rasp_3, 0, c_H_2O, 30).
%% fact (5)(5'):
rasp_fired(rasp_3).
rasp_firings(rasp_3, 1).


%%%%%% Translation of the rule (fact) rasp_4:
%%		c_NADPH # 36.
rasp_rrule(rasp_4).
%% fact (6)(6'):
rasp_a_atom(rasp_4, 0, c_NADPH, 36).
%% fact (5)(5'):
rasp_fired(rasp_4).
rasp_firings(rasp_4, 1).


%%%%%% Translation of the rule (fact) rasp_5:
%%		c_RuBP # 1.
rasp_rrule(rasp_5).
%% fact (6)(6'):
rasp_a_atom(rasp_5, 0, c_RuBP, 1).
%% fact (5)(5'):
rasp_fired(rasp_5).
rasp_firings(rasp_5, 1).


%%%%%% Proper ASP statement rewritten
e_RubisCO.


%%%%%% Proper ASP statement rewritten
e_triosephosphateIsomerase.


%%%%%% Proper ASP statement rewritten
e_ribose5phosphateisomerase.


%%%%%% Proper ASP statement rewritten
e_ribulosephosphate3epimerase.


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.
%% R-Rule cleaned from CP-Lists:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.
%% R-Rule cleaned from P-Sets:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.
%% R-Rule cleaned from P-Lists:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.


%%%%%% Translation of the rule rasp_6:
%%		[1-18]: c_3PG # 2, c_H # 2 :- c_RuBP # 1, c_CO_2 # 1, c_H_2O # 1, e_RubisCO.
rasp_rrule(rasp_6).
rasp_firings(rasp_6, 1..18).
:- not e_RubisCO, rasp_fired(rasp_6).
%% rule (6)(6'):
rasp_a_atom(rasp_6, 0, c_3PG, 2).
%% rule (6)(6'):
rasp_a_atom(rasp_6, 1, c_H, 2).
%% rule (6)(6'):
rasp_a_atom(rasp_6, 2, c_RuBP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_6, 3, c_CO_2, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_6, 4, c_H_2O, -(1)).
%% Policy
rasp_optional(rasp_6).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.


%%%%%% Translation of the rule rasp_7:
%%		[1-36]: c_PGAP # 1, c_ADP # 1, c_H # 1 :- c_3PG # 1, c_ATP # 1.
rasp_rrule(rasp_7).
rasp_firings(rasp_7, 1..36).
%% rule (6)(6'):
rasp_a_atom(rasp_7, 0, c_PGAP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_7, 1, c_ADP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_7, 2, c_H, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_7, 3, c_3PG, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_7, 4, c_ATP, -(1)).
%% Policy
rasp_optional(rasp_7).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.


%%%%%% Translation of the rule rasp_8:
%%		[1-36]: c_G3P # 1, c_NADP # 1, c_Pi # 1 :- c_PGAP # 1, c_NADPH # 1, c_H # 1.
rasp_rrule(rasp_8).
rasp_firings(rasp_8, 1..36).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 0, c_G3P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 1, c_NADP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 2, c_Pi, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 3, c_PGAP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 4, c_NADPH, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_8, 5, c_H, -(1)).
%% Policy
rasp_optional(rasp_8).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.
%% R-Rule cleaned from CP-Lists:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.
%% R-Rule cleaned from P-Sets:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.
%% R-Rule cleaned from P-Lists:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.


%%%%%% Translation of the rule rasp_9:
%%		[1-12]: c_DHAP # 1 :- c_G3P # 1, e_triosephosphateIsomerase.
rasp_rrule(rasp_9).
rasp_firings(rasp_9, 1..12).
:- not e_triosephosphateIsomerase, rasp_fired(rasp_9).
%% rule (6)(6'):
rasp_a_atom(rasp_9, 0, c_DHAP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_9, 1, c_G3P, -(1)).
%% Policy
rasp_optional(rasp_9).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.


%%%%%% Translation of the rule rasp_10:
%%		[1-6]: c_FBP # 1 :- c_DHAP # 1, c_G3P # 1.
rasp_rrule(rasp_10).
rasp_firings(rasp_10, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_10, 0, c_FBP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_10, 1, c_DHAP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_10, 2, c_G3P, -(1)).
%% Policy
rasp_optional(rasp_10).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.


%%%%%% Translation of the rule rasp_11:
%%		[1-6]: c_F6P # 1, c_Pi # 1 :- c_FBP # 1, c_H_2O # 1.
rasp_rrule(rasp_11).
rasp_firings(rasp_11, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_11, 0, c_F6P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_11, 1, c_Pi, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_11, 2, c_FBP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_11, 3, c_H_2O, -(1)).
%% Policy
rasp_optional(rasp_11).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.


%%%%%% Translation of the rule rasp_12:
%%		[1-6]: c_E4P # 1, c_X5P # 1 :- c_F6P # 1, c_G3P # 1.
rasp_rrule(rasp_12).
rasp_firings(rasp_12, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_12, 0, c_E4P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_12, 1, c_X5P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_12, 2, c_F6P, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_12, 3, c_G3P, -(1)).
%% Policy
rasp_optional(rasp_12).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.


%%%%%% Translation of the rule rasp_13:
%%		[1-6]: c_SBP # 1 :- c_DHAP # 1, c_E4P # 1.
rasp_rrule(rasp_13).
rasp_firings(rasp_13, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_13, 0, c_SBP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_13, 1, c_DHAP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_13, 2, c_E4P, -(1)).
%% Policy
rasp_optional(rasp_13).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.


%%%%%% Translation of the rule rasp_14:
%%		[1-6]: c_Pi # 1, c_S7P # 1 :- c_SBP # 1, c_H_2O # 1.
rasp_rrule(rasp_14).
rasp_firings(rasp_14, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_14, 0, c_Pi, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_14, 1, c_S7P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_14, 2, c_SBP, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_14, 3, c_H_2O, -(1)).
%% Policy
rasp_optional(rasp_14).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.


%%%%%% Translation of the rule rasp_15:
%%		[1-6]: c_R5P # 1, c_X5P # 1 :- c_S7P # 1, c_G3P # 1.
rasp_rrule(rasp_15).
rasp_firings(rasp_15, 1..6).
%% rule (6)(6'):
rasp_a_atom(rasp_15, 0, c_R5P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_15, 1, c_X5P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_15, 2, c_S7P, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_15, 3, c_G3P, -(1)).
%% Policy
rasp_optional(rasp_15).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.
%% R-Rule cleaned from CP-Lists:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.
%% R-Rule cleaned from P-Sets:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.
%% R-Rule cleaned from P-Lists:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.


%%%%%% Translation of the rule rasp_16:
%%		[1-6]: c_Ru5P # 1 :- c_R5P # 1, e_ribose5phosphateisomerase.
rasp_rrule(rasp_16).
rasp_firings(rasp_16, 1..6).
:- not e_ribose5phosphateisomerase, rasp_fired(rasp_16).
%% rule (6)(6'):
rasp_a_atom(rasp_16, 0, c_Ru5P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_16, 1, c_R5P, -(1)).
%% Policy
rasp_optional(rasp_16).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.
%% R-Rule cleaned from CP-Lists:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.
%% R-Rule cleaned from P-Sets:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.
%% R-Rule cleaned from P-Lists:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.


%%%%%% Translation of the rule rasp_17:
%%		[1-12]: c_Ru5P # 1 :- c_X5P # 1, e_ribulosephosphate3epimerase.
rasp_rrule(rasp_17).
rasp_firings(rasp_17, 1..12).
:- not e_ribulosephosphate3epimerase, rasp_fired(rasp_17).
%% rule (6)(6'):
rasp_a_atom(rasp_17, 0, c_Ru5P, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_17, 1, c_X5P, -(1)).
%% Policy
rasp_optional(rasp_17).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.


%%%%%% Translation of the rule rasp_18:
%%		[1-18]: c_RuBP # 1, c_ADP # 1, c_H # 2 :- c_Ru5P # 1, c_ATP # 1.
rasp_rrule(rasp_18).
rasp_firings(rasp_18, 1..18).
%% rule (6)(6'):
rasp_a_atom(rasp_18, 0, c_RuBP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_18, 1, c_ADP, 1).
%% rule (6)(6'):
rasp_a_atom(rasp_18, 2, c_H, 2).
%% rule (6)(6'):
rasp_a_atom(rasp_18, 3, c_Ru5P, -(1)).
%% rule (6)(6'):
rasp_a_atom(rasp_18, 4, c_ATP, -(1)).
%% Policy
rasp_optional(rasp_18).


%%%%%% Cleaning R-Rule from CP-Lists
%% Original R-Rule:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.
%% R-Rule cleaned from CP-Lists:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.


%%%%%% Cleaning R-Rule from P-Sets
%% Original R-Rule:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.
%% R-Rule cleaned from P-Sets:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.


%%%%%% Cleaning R-Rule from P-Lists
%% Original R-Rule:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.
%% R-Rule cleaned from P-Lists:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.


%%%%%% Translation of the rule rasp_19:
%%		[1-1]: have_glucose :- c_G3P # 6, c_RuBP # 1.
rasp_rrule(rasp_19).
rasp_firings(rasp_19, 1..1).
%% rule (6)(6'):
rasp_a_atom(rasp_19, 0, c_G3P, -(6)).
%% rule (6)(6'):
rasp_a_atom(rasp_19, 1, c_RuBP, -(1)).
%% rule (3):
have_glucose :-
	rasp_fired(rasp_19).
%% Policy
rasp_optional(rasp_19).


%%%%%% Proper ASP statement rewritten
:- not have_glucose.


%%%%%% Domain predicates:
rasp_val(0..60).
rasp_allval(-60..60).
rasp_idx(0..5).


%%%%%% Resources:
rasp_resource(c_3PG).
rasp_resource(c_ADP).
rasp_resource(c_ATP).
rasp_resource(c_CO_2).
rasp_resource(c_DHAP).
rasp_resource(c_E4P).
rasp_resource(c_F6P).
rasp_resource(c_FBP).
rasp_resource(c_G3P).
rasp_resource(c_H).
rasp_resource(c_H_2O).
rasp_resource(c_NADP).
rasp_resource(c_NADPH).
rasp_resource(c_PGAP).
rasp_resource(c_Pi).
rasp_resource(c_R5P).
rasp_resource(c_Ru5P).
rasp_resource(c_RuBP).
rasp_resource(c_S7P).
rasp_resource(c_SBP).
rasp_resource(c_X5P).


%%%%%% Main engine (PAPER):
rasp_res_rrule(Res, Rule) :- rasp_a_atom(Rule, I, Res, Q).
rasp_fired(Rule) :- not rasp_notfired(Rule), rasp_rrule(Rule).
rasp_notfired(Rule) :- not rasp_fired(Rule), rasp_rrule(Rule).
rasp_use(Rule, I, Res, TEMP) :- TEMP = C * Q, rasp_fired(Rule), rasp_counter(Rule, C), rasp_firings(Rule, C), rasp_resource(Res), rasp_a_atom(Rule, I, Res, Q).
rasp_fired(Rule) :- rasp_use(Rule, I, Res, TEMP), TEMP = C * Q, rasp_counter(Rule, C), rasp_firings(Rule, C), rasp_resource(Res), rasp_a_atom(Rule, I, Res, Q).
rasp_notfired(Rule) :- not rasp_use(Rule, I, Res, TEMP), TEMP = C * Q, rasp_counter(Rule, C), rasp_firings(Rule, C), rasp_resource(Res), rasp_a_atom(Rule, I, Res, Q).

rasp_notcounter(G, C) :- rasp_counter(G, D), rasp_firings(G, C), C != D, rasp_rrule(G), rasp_firings(G, D).
rasp_counter(G, C) :- rasp_firings(G, C), rasp_fired(G), not rasp_notcounter(G, C).
:- not rasp_fired(G), rasp_counter(G, C), rasp_rrule(G), rasp_firings(G, C).

rasp_balance(Res, N) :- N = #sum [ rasp_use(Rule, Idx, Res, Q) : rasp_rrule(Rule) : rasp_idx(Idx) : rasp_allval(Q) = Q ], rasp_resource(Res).
:- rasp_balance(Res, N), N < 0, rasp_resource(Res), rasp_allval(N).




%%%%%% Mr.Hyde:
#hide rasp_auxatom.
#hide rasp_cons(X,Y,Z,W).
#hide rasp_consumes(X,Y,Z).
#hide rasp_enabled(X).
#hide rasp_enbld(X,Y).
#hide rasp_firings(X,Y).
#hide rasp_idx(X).
#hide rasp_num(X).
#hide rasp_prod(X,Y,Z,W).
#hide rasp_produces(X,Y,Z).
#hide rasp_resource(X).
#hide rasp_RID.
#hide rasp_rrule(X).
#hide rasp_use_n(X,Y,Z,W).
#hide rasp_use_p(X,Y,Z,W).
#hide rasp_val(X).
#hide rasp_optional(X).
#hide rasp_thrifty(X).
#hide rasp_prodigal(X).
#hide rasp_use(X,Y,Z,W).
#hide rasp_extraneeded(X,Y,Z).
#hide rasp_notcounter(X,Y).
#hide rasp_allval(X).
#hide rasp_res_rrule(X,Y).
#hide rasp_auxres(X,Y).
#hide rasp_use_pl(X,Y,Z,W).
#hide rasp_res_pl(X,Y,Z,W).
#hide rasp_sum_use_pl(X,Y,Z,W).
#hide rasp_num_n_choice(X,Y).
#hide rasp_grade(X).
#hide rasp_iter(X).
#hide rasp_cl(X,Y,Z).
#hide rasp_eq(X,Y,Z).
#hide rasp_idx(X,Y,Z).
#hide rasp_num(X,Y).
#hide rasp_dom(X,Y).
#hide rasp_used_idx(X,Y).
#hide rasp_pset_name(X).
#hide rasp_order(X,Y,Z).
#hide rasp_other(X,Y,Z).
#hide rasp_ordered(X,Y,Z,W,U,V).
#hide rasp_auxpred(X,Y).


%%% END OF THE TRANSLATION %%%

