Skip to content

Commit 4ef85a3

Browse files
committed
Базовая версия основных понятий теории множеств готова.
1 parent 822d529 commit 4ef85a3

File tree

5 files changed

+239
-203
lines changed

5 files changed

+239
-203
lines changed

tex/Context-Free_Languages.tex

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -538,42 +538,31 @@ \section{Нормальная форма Хомского}
538538

539539
Первым шагом добавим новый нетерминал и сделаем его стартовым:
540540
\begin{align*}
541-
S_0 & \to S \\
542-
S & \to a S b S \mid \varepsilon
541+
S_0 & \to S \\
542+
S & \to a \ S \ b \ S \mid \varepsilon
543543
\end{align*}
544544
Заменим все терминалы на новые нетерминалы:
545545
\begin{align*}
546-
S_0 & \to S \\
547-
S & \to L S R S \mid \varepsilon \\
548-
L & \to a \\
549-
R & \to b
546+
S_0 & \to S & L & \to a \\
547+
S & \to L \ S \ R \ S \mid \varepsilon & R & \to b
550548
\end{align*}
551549
Избавимся от длинных правил:
552550
\begin{align*}
553-
S_0 & \to S \\
554-
S & \to L S' \mid \varepsilon \\
555-
S' & \to S S'' \\
556-
S'' & \to R S \\
557-
L & \to a \\
558-
R & \to b
551+
S_0 & \to S & S'' & \to R \ S \\
552+
S & \to L \ S' \mid \varepsilon & L & \to a \\
553+
S' & \to S \ S'' & R & \to b
559554
\end{align*}
560555
Избавимся от $\varepsilon$-продукций:
561556
\begin{align*}
562-
S_0 & \to S \mid \varepsilon \\
563-
S & \to L S' \\
564-
S' & \to S'' \mid S S'' \\
565-
S'' & \to R \mid R S \\
566-
L & \to a \\
567-
R & \to b
557+
S_0 & \to S \mid \varepsilon & S'' & \to R \mid R \ S\\
558+
S & \to L \ S' & L & \to a \\
559+
S' & \to S'' \mid S \ S'' & R & \to b
568560
\end{align*}
569561
Избавимся от цепных правил:
570562
\begin{align*}
571-
S_0 & \to L S' \mid \varepsilon \\
572-
S & \to L S' \\
573-
S' & \to b \mid R S \mid S S'' \\
574-
S'' & \to b \mid R S \\
575-
L & \to a \\
576-
R & \to b
563+
S_0 & \to L \ S' \mid \varepsilon & S'' & \to b \mid R \ S \\
564+
S & \to L \ S' & L & \to a \\
565+
S' & \to b \mid R \ S \mid S \ S'' & R & \to b
577566
\end{align*}
578567
\end{example}
579568

tex/FormalLanguageConstrainedReachabilityLectureNotes.bib

Lines changed: 126 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1996,126 +1996,142 @@ @inproceedings{10.1145/2949689.2949711
19961996
}
19971997

19981998
@article{chomsky1958finite,
1999-
title={Finite state languages},
2000-
author={Chomsky, Noam and Miller, George A},
2001-
journal={Information and control},
2002-
volume={1},
2003-
number={2},
2004-
pages={91--112},
2005-
year={1958},
2006-
publisher={Elsevier}
1999+
title = {Finite state languages},
2000+
author = {Chomsky, Noam and Miller, George A},
2001+
journal = {Information and control},
2002+
volume = {1},
2003+
number = {2},
2004+
pages = {91--112},
2005+
year = {1958},
2006+
publisher = {Elsevier}
20072007
}
20082008

2009-
@article{OWENS_REPPY_TURON_2009, title={Regular-expression derivatives re-examined}, volume={19}, DOI={10.1017/S0956796808007090}, number={2}, journal={Journal of Functional Programming}, author={OWENS, SCOTT and REPPY, JOHN and TURON, AARON}, year={2009}, pages={173–190}} <div></div>
2009+
@article{OWENS_REPPY_TURON_2009,
2010+
title = {Regular-expression derivatives re-examined},
2011+
volume = {19},
2012+
doi = {10.1017/S0956796808007090},
2013+
number = {2},
2014+
journal = {Journal of Functional Programming},
2015+
author = {OWENS, SCOTT and REPPY, JOHN and TURON, AARON},
2016+
year = {2009},
2017+
pages = {173–190}
2018+
} <div></div>
20102019
20112020
@article{10.1145/363347.363387,
2012-
author = {Thompson, Ken},
2013-
title = {Programming Techniques: Regular expression search algorithm},
2014-
year = {1968},
2015-
issue_date = {June 1968},
2016-
publisher = {Association for Computing Machinery},
2017-
address = {New York, NY, USA},
2018-
volume = {11},
2019-
number = {6},
2020-
issn = {0001-0782},
2021-
url = {https://doi.org/10.1145/363347.363387},
2022-
doi = {10.1145/363347.363387},
2023-
abstract = {A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular expression as source language and produces an IBM 7094 program as object language. The object program then accepts the text to be searched as input and produces a signal every time an embedded string in the text matches the given regular expression. Examples, problems, and solutions are also presented.},
2024-
journal = {Commun. ACM},
2025-
month = {jun},
2026-
pages = {419–422},
2027-
numpages = {4},
2028-
keywords = {match, regular expression, search}
2021+
author = {Thompson, Ken},
2022+
title = {Programming Techniques: Regular expression search algorithm},
2023+
year = {1968},
2024+
issue_date = {June 1968},
2025+
publisher = {Association for Computing Machinery},
2026+
address = {New York, NY, USA},
2027+
volume = {11},
2028+
number = {6},
2029+
issn = {0001-0782},
2030+
url = {https://doi.org/10.1145/363347.363387},
2031+
doi = {10.1145/363347.363387},
2032+
abstract = {A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular expression as source language and produces an IBM 7094 program as object language. The object program then accepts the text to be searched as input and produces a signal every time an embedded string in the text matches the given regular expression. Examples, problems, and solutions are also presented.},
2033+
journal = {Commun. ACM},
2034+
month = {jun},
2035+
pages = {419–422},
2036+
numpages = {4},
2037+
keywords = {match, regular expression, search}
20292038
}
20302039

20312040
@article{Glushkov1961,
2032-
title = {THE ABSTRACT THEORY OF AUTOMATA},
2033-
volume = {16},
2034-
ISSN = {1468-4829},
2035-
url = {http://dx.doi.org/10.1070/RM1961v016n05ABEH004112},
2036-
DOI = {10.1070/rm1961v016n05abeh004112},
2037-
number = {5},
2038-
journal = {Russian Mathematical Surveys},
2041+
title = {THE ABSTRACT THEORY OF AUTOMATA},
2042+
volume = {16},
2043+
issn = {1468-4829},
2044+
url = {http://dx.doi.org/10.1070/RM1961v016n05ABEH004112},
2045+
doi = {10.1070/rm1961v016n05abeh004112},
2046+
number = {5},
2047+
journal = {Russian Mathematical Surveys},
20392048
publisher = {Steklov Mathematical Institute},
2040-
author = {Glushkov, V M},
2041-
year = {1961},
2042-
month = oct,
2043-
pages = {1–53}
2049+
author = {Glushkov, V M},
2050+
year = {1961},
2051+
month = oct,
2052+
pages = {1–53}
20442053
}
20452054

20462055
@book{DBLP:books/ems/21/P2021,
2047-
editor = {Jean{-}{\'{E}}ric Pin},
2048-
title = {Handbook of Automata Theory},
2049-
publisher = {European Mathematical Society Publishing House, Z{\"{u}}rich,
2050-
Switzerland},
2051-
year = {2021},
2052-
url = {https://doi.org/10.4171/Automata},
2053-
doi = {10.4171/AUTOMATA},
2054-
isbn = {978-3-98547-006-8},
2055-
timestamp = {Mon, 11 Apr 2022 14:12:30 +0200},
2056-
biburl = {https://dblp.org/rec/books/ems/21/P2021.bib},
2057-
bibsource = {dblp computer science bibliography, https://dblp.org}
2058-
}
2059-
2060-
@ARTICLE{6771467,
2061-
author={Mealy, George H.},
2062-
journal={The Bell System Technical Journal},
2063-
title={A method for synthesizing sequential circuits},
2064-
year={1955},
2065-
volume={34},
2066-
number={5},
2067-
pages={1045-1079},
2068-
keywords={},
2069-
doi={10.1002/j.1538-7305.1955.tb03788.x}
2070-
}
2071-
2072-
@Inbook{Alagar2011,
2073-
author="Alagar, V. S.
2074-
and Periyasamy, K.",
2075-
title="Extended Finite State Machine",
2076-
bookTitle="Specification of Software Systems",
2077-
year="2011",
2078-
publisher="Springer London",
2079-
address="London",
2080-
pages="105--128",
2081-
abstract="The FSM models we have considered, in spite of many extensions to basic automaton, fall short in many aspects. They have to be extended further, as broadly outlined below, in order to model complex system behavior.",
2082-
isbn="978-0-85729-277-3",
2083-
doi="10.1007/978-0-85729-277-3_7",
2084-
url="https://doi.org/10.1007/978-0-85729-277-3_7"
2085-
}
2086-
2087-
@Article{ foster.ea:efsm:2020,
2088-
abstract = {In this AFP entry, we provide a formalisation of extended finite state machines (EFSMs) where models are represented as finite sets of transitions between states. EFSMs execute traces to produce observable outputs. We also define various simulation and equality metrics for EFSMs in terms of traces and prove their strengths in relation to each other. Another key contribution is a framework of function definitions such that LTL properties can be phrased over EFSMs. Finally, we provide a simple example case study in the form of a drinks machine.},
2089-
author = {Michael Foster and Achim D. Brucker and Ramsay G. Taylor and John Derrick},
2090-
date = {2020-09-07},
2091-
file = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-outline-2020.pdf},
2092-
filelabel = {Outline},
2093-
issn = {2150-914x},
2094-
journal = {Archive of Formal Proofs},
2095-
month = {sep},
2096-
note = {\url{http://www.isa-afp.org/entries/Extended_Finite_State_Machines.html}, Formal proof development},
2097-
pdf = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-2020.pdf},
2098-
title = {A Formal Model of Extended Finite State Machines},
2099-
url = {https://www.brucker.ch/bibliography/abstract/foster.ea-efsm-2020},
2100-
year = {2020},
2101-
}
2056+
editor = {Jean{-}{\'{E}}ric Pin},
2057+
title = {Handbook of Automata Theory},
2058+
publisher = {European Mathematical Society Publishing House, Z{\"{u}}rich,
2059+
Switzerland},
2060+
year = {2021},
2061+
url = {https://doi.org/10.4171/Automata},
2062+
doi = {10.4171/AUTOMATA},
2063+
isbn = {978-3-98547-006-8},
2064+
timestamp = {Mon, 11 Apr 2022 14:12:30 +0200},
2065+
biburl = {https://dblp.org/rec/books/ems/21/P2021.bib},
2066+
bibsource = {dblp computer science bibliography, https://dblp.org}
2067+
}
2068+
2069+
@article{6771467,
2070+
author = {Mealy, George H.},
2071+
journal = {The Bell System Technical Journal},
2072+
title = {A method for synthesizing sequential circuits},
2073+
year = {1955},
2074+
volume = {34},
2075+
number = {5},
2076+
pages = {1045-1079},
2077+
keywords = {},
2078+
doi = {10.1002/j.1538-7305.1955.tb03788.x}
2079+
}
2080+
2081+
@inbook{Alagar2011,
2082+
author = {Alagar, V. S.
2083+
and Periyasamy, K.},
2084+
title = {Extended Finite State Machine},
2085+
booktitle = {Specification of Software Systems},
2086+
year = {2011},
2087+
publisher = {Springer London},
2088+
address = {London},
2089+
pages = {105--128},
2090+
abstract = {The FSM models we have considered, in spite of many extensions to basic automaton, fall short in many aspects. They have to be extended further, as broadly outlined below, in order to model complex system behavior.},
2091+
isbn = {978-0-85729-277-3},
2092+
doi = {10.1007/978-0-85729-277-3_7},
2093+
url = {https://doi.org/10.1007/978-0-85729-277-3_7}
2094+
}
2095+
2096+
@article{foster.ea:efsm:2020,
2097+
abstract = {In this AFP entry, we provide a formalisation of extended finite state machines (EFSMs) where models are represented as finite sets of transitions between states. EFSMs execute traces to produce observable outputs. We also define various simulation and equality metrics for EFSMs in terms of traces and prove their strengths in relation to each other. Another key contribution is a framework of function definitions such that LTL properties can be phrased over EFSMs. Finally, we provide a simple example case study in the form of a drinks machine.},
2098+
author = {Michael Foster and Achim D. Brucker and Ramsay G. Taylor and John Derrick},
2099+
date = {2020-09-07},
2100+
file = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-outline-2020.pdf},
2101+
filelabel = {Outline},
2102+
issn = {2150-914x},
2103+
journal = {Archive of Formal Proofs},
2104+
month = {sep},
2105+
note = {\url{http://www.isa-afp.org/entries/Extended_Finite_State_Machines.html}, Formal proof development},
2106+
pdf = {https://www.brucker.ch/bibliography/download/2020/foster.ea-efsm-2020.pdf},
2107+
title = {A Formal Model of Extended Finite State Machines},
2108+
url = {https://www.brucker.ch/bibliography/abstract/foster.ea-efsm-2020},
2109+
year = {2020}
2110+
}
21022111

21032112
@article{10.1145/1075382.1075387,
2104-
author = {Alur, Rajeev and Benedikt, Michael and Etessami, Kousha and Godefroid, Patrice and Reps, Thomas and Yannakakis, Mihalis},
2105-
title = {Analysis of Recursive State Machines},
2106-
year = {2005},
2107-
issue_date = {July 2005},
2108-
publisher = {Association for Computing Machinery},
2109-
address = {New York, NY, USA},
2110-
volume = {27},
2111-
number = {4},
2112-
issn = {0164-0925},
2113-
url = {https://doi.org/10.1145/1075382.1075387},
2114-
doi = {10.1145/1075382.1075387},
2115-
abstract = {Recursive state machines (RSMs) enhance the power of ordinary state machines by allowing vertices to correspond either to ordinary states or to potentially recursive invocations of other state machines. RSMs can model the control flow in sequential imperative programs containing recursive procedure calls. They can be viewed as a visual notation extending Statecharts-like hierarchical state machines, where concurrency is disallowed but recursion is allowed. They are also related to various models of pushdown systems studied in the verification and program analysis communities.After introducing RSMs and comparing their expressiveness with other models, we focus on whether verification can be efficiently performed for RSMs. Our first goal is to examine the verification of linear time properties of RSMs. We begin this study by dealing with two key components for algorithmic analysis and model checking, namely, reachability (Is a target state reachable from initial states?) and cycle detection (Is there a reachable cycle containing an accepting state?). We show that both these problems can be solved in time O(nθ2) and space O(nθ), where n is the size of the recursive machine and θ is the maximum, over all component state machines, of the minimum of the number of entries and the number of exits of each component. From this, we easily derive algorithms for linear time temporal logic model checking with the same complexity in the model. We then turn to properties in the branching time logic CTL*, and again demonstrate a bound linear in the size of the state machine, but only for the case of RSMs with a single exit node.},
2116-
journal = {ACM Trans. Program. Lang. Syst.},
2117-
month = {jul},
2118-
pages = {786–818},
2119-
numpages = {33},
2120-
keywords = {model checking, program analysis, Software verification, temporal logic, context-free languages, recursive state machines, pushdown automata}
2121-
}
2113+
author = {Alur, Rajeev and Benedikt, Michael and Etessami, Kousha and Godefroid, Patrice and Reps, Thomas and Yannakakis, Mihalis},
2114+
title = {Analysis of Recursive State Machines},
2115+
year = {2005},
2116+
issue_date = {July 2005},
2117+
publisher = {Association for Computing Machinery},
2118+
address = {New York, NY, USA},
2119+
volume = {27},
2120+
number = {4},
2121+
issn = {0164-0925},
2122+
url = {https://doi.org/10.1145/1075382.1075387},
2123+
doi = {10.1145/1075382.1075387},
2124+
abstract = {Recursive state machines (RSMs) enhance the power of ordinary state machines by allowing vertices to correspond either to ordinary states or to potentially recursive invocations of other state machines. RSMs can model the control flow in sequential imperative programs containing recursive procedure calls. They can be viewed as a visual notation extending Statecharts-like hierarchical state machines, where concurrency is disallowed but recursion is allowed. They are also related to various models of pushdown systems studied in the verification and program analysis communities.After introducing RSMs and comparing their expressiveness with other models, we focus on whether verification can be efficiently performed for RSMs. Our first goal is to examine the verification of linear time properties of RSMs. We begin this study by dealing with two key components for algorithmic analysis and model checking, namely, reachability (Is a target state reachable from initial states?) and cycle detection (Is there a reachable cycle containing an accepting state?). We show that both these problems can be solved in time O(nθ2) and space O(nθ), where n is the size of the recursive machine and θ is the maximum, over all component state machines, of the minimum of the number of entries and the number of exits of each component. From this, we easily derive algorithms for linear time temporal logic model checking with the same complexity in the model. We then turn to properties in the branching time logic CTL*, and again demonstrate a bound linear in the size of the state machine, but only for the case of RSMs with a single exit node.},
2125+
journal = {ACM Trans. Program. Lang. Syst.},
2126+
month = {jul},
2127+
pages = {786–818},
2128+
numpages = {33},
2129+
keywords = {model checking, program analysis, Software verification, temporal logic, context-free languages, recursive state machines, pushdown automata}
2130+
}
2131+
2132+
@article{верещагин2000начала,
2133+
title = {Начала теории множеств},
2134+
author = {Верещагин, Николай Константинович and Шень, Александр},
2135+
journal = {Шень М.: МЦНМО},
2136+
year = {2000}
2137+
}

0 commit comments

Comments
 (0)