Presentation

This commit is contained in:
elvis
2025-12-02 04:59:44 +01:00
parent 20146ad1bc
commit 068b8edeed
22 changed files with 9023 additions and 16 deletions

View File

@ -1,8 +1,484 @@
\begin{section}{First Section}
\begin{frame}\frametitle{Title}
\begin{section}{Introduction}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}
Two Rust crates have been developed to model, analyze and design Reaction Systems.
\vspace{1em}
\begin{itemize}
\item first item
\item second item
\item ReactionSystems
\item ReactionSystemsGUI
\end{itemize}
\vspace{1em}
ReactionSystemsGUI implements a custom visual language using the libraries \(\texttt{egui}\) and \(\texttt{egui\_node\_graph2}\).
\vspace{1em}
A web version is also provided that runs locally using WebAssembly.
% A CLI is implemented in ReactionSystems too
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}
\begin{figure}[h]
\includegraphics[width=0.9\textwidth]{figures/instructions_medical.png}
\end{figure}
\begin{figure}[h]
\includegraphics[width=0.9\textwidth]{figures/output_medical.png}
\end{figure}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\end{section}
% ==============================================================================
\begin{section}{Design}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}
The libraries are more than 30k lines of code, organized in workspaces that allow easy development; the GUI has 29 types and more than 70 node operations.
\begin{figure}[!h]
\centering
\scalebox{0.55}{
\begin{tikzpicture}[
place/.style={rectangle,draw=blue!50,fill=blue!20,thick},
>=Stealth, thick, every node/.style={font=\sffamily}]
\node[place] (analysis) at (0,0.1) {analysis};
\node[place] (grammar) at (3,-2) {grammar};
\node[place] (grammarseparated) at (-3,-2) {grammar\_separated};
\node[place] (execution) at (0,-1) {execution};
\node[place] (bisimilarity) at (-3,-1) {bisimilarity};
\node[place] (assert) at (0,-2) {assert};
\node[place] (rsprocess) at (0,-3) {rsprocess};
\draw[->] (rsprocess) -- (assert);
\draw[->] (rsprocess) -- (grammarseparated);
\draw[->,bend right=35](rsprocess) to[bend right=55] (execution);
\draw[->] (rsprocess) -- (grammar);
\draw[->,bend right=32](rsprocess) to[bend right=57] (analysis);
\draw[->] (assert) -- (execution);
\draw[->] (assert) -- (grammarseparated);
\draw[->] (assert) -- (grammar);
\draw[->] (execution) -- (analysis);
\draw[->] (execution) -- (grammarseparated);
\draw[->] (execution) -- (grammar);
\draw[->] (bisimilarity) -- (execution);
\draw[->] (grammar) to[bend right=10] (analysis);
\end{tikzpicture}
}
\scalebox{0.55}{
\begin{tikzpicture}[scale=0.8, every node/.style={scale=0.8},
place/.style={rectangle,draw=blue!50,fill=blue!20,thick},
>=Stealth, thick, every node/.style={font=\sffamily}]
\node[place] (set) at (0,3) {Set};
\node[place] (reaction)at (4,3) {Reaction};
\node[place] (choices) at (8,3) {Choices};
\node[place] (label) at (-2,1.5) {Label};
\node[place] (env) at (2,1.5) {Environment};
\node[place] (process) at (6,1.5) {Process};
\node[place] (system) at (4,0) {System};
\node[place] (graph) at (0,0) {Graph};
% Set
\draw[->] (set) -- (reaction);
\draw[->,bend left=18] (set) to (choices);
\draw[->,bend right=25](set) to (label);
\draw[->] (set) -- (graph);
\draw[->,bend right=35,looseness=1.1] (set) to (system);
\draw[->,bend right=12](set) to (env);
% Label -> Graph
\draw[->] (label) -- (graph);
% Reaction
\draw[->,bend left=12] (reaction) to (process);
\draw[->,bend right=12] (reaction) to (env);
\draw[->,bend left=16] (reaction) to (system);
% Process
\draw[->] (process) -- (env);
\draw[->] (process) -- (system);
\draw[->,bend right=18] (process) to (choices);
\draw[->] (choices) to [bend left=2] (env);
\draw[->] (choices.south) to [bend left=25] (system.east);
\draw[->] (env) -- (system);
\draw[<->,bend left=15] (system) to (graph);
\end{tikzpicture}
}
\end{figure}
Grammars have been specified and developed for the RS structures using \(\texttt{lalrpop}\).
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Reaction Systems}
\begin{tblr}{colspec={X[b]X[h]}, measure = vbox}
{\begin{minipage}{\dimexpr\linewidth-\tabcolsep}\raggedright%
Reaction System (RS) is a successful computational framework inspired by biological systems.
\vspace{1em}
Key concepts: \textit{Facilitation} and \textit{Inhibition}
\vspace{1em}
Reaction: \((R, I, P)\)
Reaction System: \(\mathcal{A} = (S, A)\)
\end{minipage}} & {\captionsetup[figure]{font=tiny}\begin{figure}
\includegraphics[clip, trim=20mm 110mm 85mm 40mm, width=0.8\linewidth, ]{figures/Molecular_Biology.pdf}
\caption{Principle of Positive and Negative Regulation\cite{Clark_Pazdernik_McGehee_2018}}
\end{figure}} \\
\end{tblr}
% S is called the background set of A and its elements are called entities
% A is a set of reactions
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}
Three key properties:
\begin{enumerate}[label= (\roman*)]
\item no permanency: entities vanish unless sustained by a reaction;
\item no counting: the exact quantity of each entity is irrelevant;
\item threshold nature of resources: if an entity is present, it is present for all possible reactions.
\end{enumerate}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Interactive Process}
The behavior of a RS is formalized through the notion of an interactive process:
\begin{center}
\begin{tblr}{colspec={rll}, colsep=1pt}
Context Sequence: & \(\gamma\) & \(= {\{ C_i \}}_{i \in [0,n]}\), \\
Result Sequence: & \(\delta\) & {\(= {\{ D_i \}}_{i \in [0, n]}\) with \text{\tikz[baseline={(char.base)}]{
\node[anchor=base] (char) {\(D_{i+1} := res_A(D_i \cup C_i)\)};
\draw[thick,blue!50,decorate,decoration={coil,aspect=0,pre length=4pt,post length=0pt, amplitude=1pt}] (char.south west) to (char.south east);
}}}
\end{tblr}
\end{center}
\begin{figure}[h]
\def\svgwidth{0.7\linewidth}
\import{figures}{reaction_system.pdf_tex}
\end{figure}
% A Reaction System is then modeled as a process, with a externally given
% context, from which the result is calculated: given a set given from the
% context, it is summed to the previous result and for each reaction that is
% activated the products are then summed and are the next result
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{SOS rules}
\begin{tblr}{colspec={Q[c,m]Q[l,m]}}
{\begin{bnf}(relation-sym-map = % chktex 36
{
{::=} = {\ensuremath{\Coloneqq}},
{->} = {},
{:in:} = {\ensuremath{\subseteq}},
},)
$P$ : ::= % chktex 26
| [$M$] : % chktex 26
;; % chktex 26
$M$ : ::= % chktex 26
| $(R, I, P)$ : % chktex 26
| $D$ : % chktex 26
| $K$ : % chktex 26
| $M \vert M$ : % chktex 26
;; % chktex 26
$K$ : ::= % chktex 26
| \textbf{$0$} : % chktex 26
| $X$ : % chktex 26
| $C.K$ : % chktex 26
| $K + K$ : % chktex 26
| $\texttt{rec} X . K$ : % chktex 26
\end{bnf}} & {Mutual Exclusion of 2 looping processes:\\
\vspace{1em}
{\tt Environment: [\\
\quad k1 = (\{\}.k1 + \{act\_1\}.k1),\\
\quad k2 = (\{\}.k2 + \{act\_2\}.k2)\\
]\\
Initial Entities: \{out\_1, out\_2\}\\
Context: [k1, k2]\\
Reactions: (}\(\ldots\){\tt)}}\\ % chktex 9
\end{tblr}
% The behavior of a RS could be defined as a discrete time interactive
% process: a finite context sequence describes the entities provided by the
% environment at each step, the current state is determined by the union of
% the entities coming from the environment with those produced from the
% previous step and the state sequence is determined by applying all and
% only the enabled reactions to the set of entities available in the current
% state
% (R, I, P) is a reaction, D is a set of entities (a reaction that is always
% enabled), | (pipe) is the parallel composition
% 0 is the nil context written as nill, X is a process variable, C is a set
% of entities, + is non deterministic choice, rec is the recursive operator
% operational semantics follow the definitions
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}{Graphs}
To explore the structure of RSs, methods are provided to create and manipulate graphs.
\begin{tblr}{colspec={Q[l,b]Q[l,b]},width=\linewidth}
{\includegraphics[scale=0.16]{figures/graph_instructions.png}} & {
Domain specific languages have been\\developed for:
\begin{itemize}
\item[$-$] specifying labels of nodes \& edges,
\item[$-$] specifying color of nodes \& edges,
\item[$-$] grouping of nodes,
\item[$-$] relabeling of edges.
\end{itemize}} \\
\end{tblr}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}
\begin{figure}[h]
\includegraphics[width=0.95\textwidth]{figures/lock_instructions.png}
\end{figure}
\begin{figure}[h]
\includegraphics[scale=0.2]{figures/lock.pdf}
\end{figure}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Positive Reaction Systems}
Instead of considering the absence of an element, consider the presence of a negative element:
\vspace{0.5em}
Reaction: \((R, P)\)
\vspace{0.5em}
An equivalent Positive RS can be built for each RS.%
\begin{figure}[h]
\includegraphics[width=0.9\textwidth]{figures/to_positive_reactions.png}
\end{figure}
% To convert a list of reactions we first create a reaction for each product
% in each reaction, then all reactions that have the same product are
% converted together into their positive versions: One reaction is simply
% the positive reactants and the negative inhibitors that produce the
% positive product. The others are related to the absence of the product and
% are created from the prohibiting set, where for every reactants or
% inhibitor that does not allow the reaction to be enabled a reaction is
% created.
% The resulting reactions are then minimized, in order to reduce the
% complexity of the traces, even tho the behavior is the same.
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Slicing}
Dynamic slicing is a technique that helps a user to debug a program by simplifying a partial execution trace.
The goal is to highlight how a subset of the elements in a state were originated.
\begin{minipage}{\textwidth}
\centering
\begin{minipage}[t][0.5\textheight][t]{0.75\textwidth}
\begin{figure}
\includegraphics[height=0.5\textheight]{figures/positive_slice.png}
\end{figure}
\end{minipage}%
\begin{minipage}[t][0.5\textheight][t]{0.25\textwidth}
\begin{figure}
\includegraphics[scale=0.25]{figures/counting.pdf}
\end{figure}
\end{minipage}
\end{minipage}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Bisimulation}
A common question given two RS processes is if they behave the same.
Bisimulation is a binary relation between transition systems defined in therms of coinductive games, of fixed point theory and of logic.
Two algorithms have been implemented: by Kanellakis and Smolka, and by Paige and Tarjan.
\begin{figure}
\includegraphics[scale=0.25]{figures/bisimilarity.png}
\end{figure}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Kanellakis and Smolka}
The algorithm by Kanellakis and Smolka is based on the concept of splitter.
\begin{tikzpicture}[baseline,
place/.style={circle,draw=blue!50,fill=blue!20,thick},
>=Stealth, thick, every node/.style={font=\sffamily}]
\node[place] (s1) at (0,0) {\(s_1\)};
\node[place] (s2) at (2,0) {\(s_2\)};
\node[place] (s3) at (4,0) {\(s_3\)};
\node[place] (s4) at (1,-2) {\(s_4\)};
\node[place] (s5) at (3,-2) {\(s_5\)};
\draw[->] (s1) -- (s4);
\draw[->] (s2) -- (s5);
\draw[->] (s2) to[bend left=20] (s3);
\draw[->] (s3) to[bend left=20] (s2);
\node[draw=black!80,fit=(s1) (s2) (s3),label=above right:$B_1$] {};
\node[draw=black!80,fit=(s4) (s5),label=below right:$B_2$] {};
\end{tikzpicture}%
\hspace{0.3em}\(\to\)\hspace{0.3em}%
\begin{tikzpicture}[baseline,
place/.style={circle,draw=blue!50,fill=blue!20,thick},
>=Stealth, thick, every node/.style={font=\sffamily}]
\node[place] (s1) at (0,0) {\(s_1\)};
\node[place] (s2) at (2,0) {\(s_2\)};
\node[place] (s3) at (4,0) {\(s_3\)};
\node[place] (s4) at (1,-2) {\(s_4\)};
\node[place] (s5) at (3,-2) {\(s_5\)};
\draw[->] (s1) -- (s4);
\draw[->] (s2) -- (s5);
\draw[->] (s2) to[bend left=20] (s3);
\draw[->] (s3) to[bend left=20] (s2);
\node[draw=blue!80,fit=(s1) (s2),label=above right:$B_1$] {};
\node[draw=blue!80,fit=(s3),label=above:$B_3$] {};
\node[draw=black!80,fit=(s4) (s5),label=below right:$B_2$] {};
\end{tikzpicture}%
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Paige and Tarjan}
The algorithm by Kanellakis and Smolka has time complexity \(O(n \cdot m)\).
% where n is the number of states and m is the number of transitions
By reducing to the coarsest stable partition problem, the complexity can be reduced to \(O(n \cdot \log(m))\), since three-way splitting can be performed in time proportional to the size of the smaller of the two blocks.
% additional structures are needed for bookkeeping
\vspace{1em}
The algorithm is specified over systems with only one action, but other systems can be translated into equivalent ones.
\begin{tblr}{width=\linewidth, colspec={X[r]Q[c]X[l]}}
\begin{tikzpicture}[auto,
place/.style={rectangle,draw=blue!50,fill=blue!20,thick,inner sep=0pt,
minimum size=6mm},
pre/.style={<-,shorten <=1pt,>={Stealth[round]},semithick},
post/.style={->,shorten >=1pt,>={Stealth[round]},semithick}
]
\node[place] (P1) {\(P_1\)};
\node[place] (P2) [right=of P1] {\(P_2\)}
edge [pre] node [auto, swap] {\(\alpha_1\)} (P1);
\node[place] (P3) [below=of P2] {\(P_3\)}
edge [pre] node [auto] {\(\alpha_2\)} (P1)
edge [pre] node [auto, swap] {\(\alpha_2\)} (P2);
\end{tikzpicture}
& \(\raisebox{3.5em}{\to}\) &
\scalebox{0.30}{
\begin{tikzpicture}[auto,
place/.style={rectangle,draw=blue!50,fill=blue!20,thick,inner sep=0pt,
minimum size=6mm},
new/.style={circle,draw=blue!30,fill=blue!10,thick,inner sep=0pt,
minimum size=6mm},
pre/.style={<-,shorten <=1pt,>={Stealth[round]},semithick},
post/.style={->,shorten >=1pt,>={Stealth[round]},semithick}
]
\node[place] (P1) {\(P_1\)};
\node[new] (p1e1) [above=of P1] {}
edge [pre] (P1);
\node[new] (p1e2) [above=of p1e1] {}
edge [pre] (p1e1);
\node[new] (p1e3) [above=of p1e2] {}
edge [pre] (p1e2);
\node[new] (a1) [right=of P1] {}
edge [pre] (P1);
\node[new] (a1e1) [above=of a1] {}
edge [pre] (a1);
\node[place] (P2) [right=of a1] {\(P_2\)}
edge [pre] (a1);
\node[new] (p2e1) [above=of P2] {}
edge [pre] (P2);
\node[new] (p2e2) [above=of p2e1] {}
edge [pre] (p2e1);
\node[new] (p2e3) [above=of p2e2] {}
edge [pre] (p2e2);
\node[new] (a2) [below=of P2] {}
edge [pre] (P2);
\node[new] (a2e1) [right=of a2] {}
edge [pre] (a2);
\node[new] (a2e2) [right=of a2e1] {}
edge [pre] (a2e1);
\node[new] (a3) [below=of a1] {}
edge [pre] (P1);
\node[new] (a3e1) [below=of a3] {}
edge [pre] (a3);
\node[new] (a3e2) [below=of a3e1] {}
edge [pre] (a3e1);
\node[place] (P3) [below=of a2] {\(P_3\)}
edge [pre] (a2)
edge [pre] (a3);
\node[new] (p3e1) [right=of P3] {}
edge [pre] (P3);
\node[new] (p3e2) [right=of p3e1] {}
edge [pre] (p3e1);
\node[new] (p3e3) [right=of p3e2] {}
edge [pre] (p3e2);
\end{tikzpicture}
}
\end{tblr}
% The operation is log-space
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\end{section}
% ==============================================================================
\begin{section}{Conclusion}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{frame}\frametitle{Conclusion}
Key contributions:
\begin{itemize}
\item[$\bullet$] New RS Modeling Platform that aids in analysis and design, implemented in Rust. Provided both a CLI and a GUI.%
\item[$\bullet$] Comprehensive Feature Set: simulation of RS, bisimulation of graphs, trace slicing, graph generation with Dot, GraphML and SVG outputs, loop analysis, automated conversion between RS types.
\item[$\bullet$] Improved performance and usability compared to previous software written in prolog and python.
\end{itemize}
\end{frame}
% §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\end{section}

View File

@ -0,0 +1,10 @@
@inbook{Clark_Pazdernik_McGehee_2018,
edition = {3rd},
title = {Regulation of Transcription in Prokaryotes},
booktitle = {Molecular Biology},
publisher = {Academic Press},
author = {Clark, David P. and Pazdernik, Nanette J. and
McGehee, Michelle R.},
year = 2018,
pages = {532-542}
}

Binary file not shown.

View File

@ -37,11 +37,12 @@
\usepackage{algpseudocode} %% loads algorithmicx
\usepackage{amsthm}
\usepackage{thmtools} %% theorems
\usepackage{simplebnf}
\usepackage{caption}
%% plot packages
\usepackage{pgfplots} %% plots used with \begin{tikzpicture}
\usepackage{tikz} %% for pictures
\usetikzlibrary{trees}
\pgfplotsset{width=10cm,compat=newest}
%% design packages
@ -117,8 +118,12 @@
%% PACKAGE tabularray
\UseTblrLibrary{amsmath}
\UseTblrLibrary{counter,varwidth}
%% PACKAGE tikz
\usetikzlibrary{trees, positioning, shapes.misc, positioning, arrows.meta}
\usetikzlibrary{decorations.pathmorphing, decorations.pathreplacing, decorations.shapes}
\usetikzlibrary{fit,shapes.geometric}
%% PACKAGE color
\definecolor{red}{rgb}{1, 0.1, 0.1}
@ -167,14 +172,23 @@
%% local changes
% \setcounter{secnumdepth}{0}
\usefonttheme[onlymath]{serif}
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
\title{SEMINARIO}
\author{Elvis Rossi}
\institute[DEPARTMENT OF COMPUTER SCIENCE]{Department of Computer Science\\
\medskip
Master Degree in Computer Science
\title{Modeling Reaction Systems}
%\author{Elvis Rossi}
\institute[UNIVERSITY OF PISA]{
\centering
\begin{tblr}{colspec={Q[c,l]X[1,c]Q[c,r]}, row{1-2} = {rowsep=0.5em},row{3} = {belowsep=1em}} % chktex 8
& UNIVERSITY OF PISA & \\
& Department of Computer Science & \\
& Master Degree in Computer Science & \\
Supervisor: & & Candidate: \\
\SetCell[c=2]{} {\textbf{Prof.\ Roberto Bruni}} & & \textbf{Elvis Rossi} \\
\SetCell[c=2]{} {\textbf{Prof.\ Roberta Gori}} \\
\SetCell[c=2]{} {\textbf{Prof.\ Paolo Milazzo}} \\
\end{tblr}
}
\date{\today}
\logo{\includegraphics[width=1cm]{figures/cherubino.eps}}
@ -184,7 +198,7 @@
\begin{document}
\begin{frame}
\titlepage % chktex 1
\titlepage{}
\end{frame}
\section*{Table of Contents}
@ -195,10 +209,10 @@
\include{content.tex}
\begin{frame}[allowframebreaks]\frametitle{References}
\printbibliography{}
\end{frame}
\end{document}
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
%%% Local Variables:
%%% TeX-command-extra-options: "-shell-escape"
%%% End:

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

View File

@ -0,0 +1,97 @@
%% Creator: Inkscape 1.4.2 (ebf0e940, 2025-05-08), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'reaction_system.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{2813.17492387bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.42342253)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{reaction_system.pdf}}%
\put(0.15467778,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{reaction_system.pdf}}%
\put(0.28874122,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{reaction_system.pdf}}%
\put(0.42280465,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{reaction_system.pdf}}%
\put(0.55686808,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{reaction_system.pdf}}%
\put(0.6909315,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{reaction_system.pdf}}%
\put(0.82499493,0.32842369){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0.95907919,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{reaction_system.pdf}}%
\put(0.28876205,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{reaction_system.pdf}}%
\put(0.42282548,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{reaction_system.pdf}}%
\put(0.5568889,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{reaction_system.pdf}}%
\put(0.69095233,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{reaction_system.pdf}}%
\put(0.82501576,0.1523901){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}...\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{reaction_system.pdf}}%
\put(0.15116558,0.14609298){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$\emptyset$\end{tabular}}}}%
\put(0.08217495,0.14421148){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$\delta :$\end{tabular}}}}%
\put(0.08217495,0.32887498){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$\gamma :$\end{tabular}}}}%
\put(0.15477498,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_0$\end{tabular}}}}%
\put(0.28887849,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_1$\end{tabular}}}}%
\put(0.42356835,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_2$\end{tabular}}}}%
\put(0.55761096,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_3$\end{tabular}}}}%
\put(0.69105648,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_4$\end{tabular}}}}%
\put(0.82563368,0.40209426){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$C_5$\end{tabular}}}}%
\put(0.15477498,0.00725942){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_0$\end{tabular}}}}%
\put(0.28887849,0.00725942){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_1$\end{tabular}}}}%
\put(0.42356835,0.00725942){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_2$\end{tabular}}}}%
\put(0.55761096,0.00725942){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_3$\end{tabular}}}}%
\put(0.69105648,0.00725942){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_4$\end{tabular}}}}%
\put(0.82563368,0.00619299){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_5$\end{tabular}}}}%
\put(0.96021089,0.00619299){\color[rgb]{0,0,0}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}$D_6$\end{tabular}}}}%
\end{picture}%
\endgroup%

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB