Решение уравнений в регулярных выражениях — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 +
==Решение уравнений в регулярных выражениях==
 
{{Утверждение
 
{{Утверждение
 
|statement=
 
|statement=
Пусть уравнение имеет вид<tex>X = \alpha X + \beta</tex>, тогда:
+
Пусть уравнение имеет вид <tex>X = \alpha X + \beta</tex>, тогда:
 
если <tex>\varepsilon \notin \alpha \Rightarrow \alpha^{*} \beta</tex> — единственное решение. если <tex>\varepsilon \in \alpha \Rightarrow \alpha^{*}( \beta + \alpha)</tex> — решение для <tex>\forall \alpha</tex>
 
если <tex>\varepsilon \notin \alpha \Rightarrow \alpha^{*} \beta</tex> — единственное решение. если <tex>\varepsilon \in \alpha \Rightarrow \alpha^{*}( \beta + \alpha)</tex> — решение для <tex>\forall \alpha</tex>
 
|proof=
 
|proof=
<tex> 1) \varepsilon \notin \alpha </tex>. тогда <tex>\forall i:  \alpha^{i} \beta \subset X </tex> для <tex>\forall \alpha \Rightarrow \alpha^{*} \beta \subset X </tex>. Пусть <tex>\exists z \in X, z\notin \alpha^{*} \beta: z</tex> — самое короткое. <tex>z=z_\alpha z', </tex> где <tex>z_\alpha \in \alpha \Rightarrow z_\alpha \notin \varepsilon \Rightarrow z'</tex> — короче <tex>z \Rightarrow z' \in \alpha^{*} \beta \Rightarrow z \in \alpha^{*} \beta \Rightarrow X = \alpha^{*} \beta </tex>  
+
<tex> 1) \varepsilon \notin \alpha </tex>. тогда <tex>\forall i:  \alpha^{i} \beta \subset X </tex> для <tex>\forall L \Rightarrow \alpha^{*} \beta \subset X </tex>. Пусть <tex>\exists z \in X, z\notin \alpha^{*} \beta: z</tex> — самое короткое. <tex>z=z_\alpha z', </tex> где <tex>z_\alpha \in \alpha \Rightarrow z_\alpha \notin \varepsilon \Rightarrow z'</tex> — короче <tex>z \Rightarrow z' \in \alpha^{*} \beta \Rightarrow z \in \alpha^{*} \beta \Rightarrow X = \alpha^{*} \beta </tex>  
  
  
  
<tex> 2) \varepsilon \in \alpha</tex>. <tex> \alpha^{*} \beta \subset X  </tex>. <tex>\alpha \beta \subset X</tex>. выберем в качестве <tex>\alpha</tex> любой язык. <tex>\Rightarrow  \alpha^{*} ( \beta + \alpha ) =  \alpha  \alpha^{*} ( \beta + \alpha ) +  \beta \alpha^{*} ( \beta + \alpha ) + \beta \alpha^{*} \beta + \alpha^{*} \alpha = \alpha^{*} \beta + \alpha^{*} \alpha + \beta </tex>. выберем <tex> \alpha = X </tex>.
+
<tex> 2) \varepsilon \in \alpha</tex>. предположим, что  <tex> \alpha^{*}( \beta + \alpha) </tex> — решение, тогда <tex> \alpha^{*}( \beta + \alpha) </tex> подходит в <tex>X = \alpha X + \beta</tex>. Выберем в качестве <tex>L</tex> любой язык.  
 +
 
 +
 
 +
<tex>\Rightarrow  \alpha^{*} ( \beta + L ) =  \alpha  \alpha^{*} ( \beta + L ) +  \beta \alpha^{*} \beta + \alpha^{*} \alpha = \alpha^{+} \beta + \alpha^{*} L + \beta = \alpha^{*} \beta + \alpha^{*} L = \alpha^{*}( \beta + \alpha) </tex>. что и требовалось доказать
  
 
}}
 
}}

Версия 18:15, 7 октября 2010

Решение уравнений в регулярных выражениях

Утверждение:
Пусть уравнение имеет вид [math]X = \alpha X + \beta[/math], тогда: если [math]\varepsilon \notin \alpha \Rightarrow \alpha^{*} \beta[/math] — единственное решение. если [math]\varepsilon \in \alpha \Rightarrow \alpha^{*}( \beta + \alpha)[/math] — решение для [math]\forall \alpha[/math]
[math]\triangleright[/math]

[math] 1) \varepsilon \notin \alpha [/math]. тогда [math]\forall i: \alpha^{i} \beta \subset X [/math] для [math]\forall L \Rightarrow \alpha^{*} \beta \subset X [/math]. Пусть [math]\exists z \in X, z\notin \alpha^{*} \beta: z[/math] — самое короткое. [math]z=z_\alpha z', [/math] где [math]z_\alpha \in \alpha \Rightarrow z_\alpha \notin \varepsilon \Rightarrow z'[/math] — короче [math]z \Rightarrow z' \in \alpha^{*} \beta \Rightarrow z \in \alpha^{*} \beta \Rightarrow X = \alpha^{*} \beta [/math]


[math] 2) \varepsilon \in \alpha[/math]. предположим, что [math] \alpha^{*}( \beta + \alpha) [/math] — решение, тогда [math] \alpha^{*}( \beta + \alpha) [/math] подходит в [math]X = \alpha X + \beta[/math]. Выберем в качестве [math]L[/math] любой язык.


[math]\Rightarrow \alpha^{*} ( \beta + L ) = \alpha \alpha^{*} ( \beta + L ) + \beta \alpha^{*} \beta + \alpha^{*} \alpha = \alpha^{+} \beta + \alpha^{*} L + \beta = \alpha^{*} \beta + \alpha^{*} L = \alpha^{*}( \beta + \alpha) [/math]. что и требовалось доказать
[math]\triangleleft[/math]