activates(G,X) :- downregulates(E,G), not downregulates(E, X), not inactivated_complex(E,X), inhibits(G,X), entity(X), expt(E), X != G. activates(G,X) :- upregulates(E,G), not inactivated_complex(E,X), not downregulates(E, X), induces(G,X), entity(X), expt(E), X != G. activates(G1,X) :- induces(G1,X), not inactivated_complex(E,X), not downregulates(E, X), activates(G,G1), entity(G), entity(G1), entity(X), not mutates(E,G1), X != G1, expt(E). activates(G1,X) :- inhibits(G1,X), not inactivated_complex(E,X), not downregulates(E, X), inactivates(G,G1), entity(X), entity(G1), entity(G), not mutates(E,G1), X != G1, expt(E). inactivates(G,X) :- downregulates(E,G), not upregulates(E,X), induces(G,X), entity(X), X != G. inactivates(G,X) :- upregulates(E,G), not upregulates(E,X), inhibits(G,X), entity(X), X != G. inactivates(G1,X) :- induces(G1,X), not upregulates(E,X), inactivates(G,G1), entity(G1), entity(X), entity(G), not mutates(E,G1), G1 != X, expt(E). inactivates(G1,X) :- inhibits(G1,X), not upregulates(E,X), activates(G,G1), entity(G1), entity(X), entity(G), not mutates(E,G1), G1 != X, expt(E). inactivated_complex(E,X) :- complex(X), in_complex(G,X), downregulates(E,G), expt(E). inactivates(G,X) :- complex(X), in_complex(G,X), downregulates(E,G), expt(E). entity(X):- gene(X). entity(X) :- complex(X). mutates(E,G) :- downregulates(E,G). mutates(E,G) :- upregulates(E,G).