Является ли union регулярным выражением, отличным от union in set? - PullRequest
0 голосов
/ 28 января 2020

В математическом наборе мы имеем

A = {1,2,3} B = {4,5,6}

AUB = BUA = {1,2,3,4 , 5,6} = {6,5,2,3,4,1} // порядок не имеет значения

Но в теории вычислений мы получаем

aub это либо a, либо b но не оба

также в * ub * мы получаем aaa или bbb, но не aaabbb или bbbaaa, поскольку порядок не имеет значения в объединении.

почему это так?

Спасибо Рахман

почему?

Ответы [ 2 ]

1 голос
/ 28 января 2020

Нет. В теории формального языка существует соответствие между регулярными выражениями и регулярными наборами по алфавиту Σ. Функция L отображает регулярное выражение u в соответствующий регулярный набор L(u); и наоборот, каждому регулярному набору A соответствует регулярное выражение в L<sup>-1</sup>(A):

L(∅)   = ∅
L(λ)   = {λ}
L(a)   = {a}              (for all a ∈ Σ)
L(uv)  = L(u)L(v)       = {xy ∈ Σ* : x ∈ L(u) ∧ x ∈ L(v)}
L(u|v) = L(u) ∪ L(v)    = {x ∈ Σ* : x ∈ L(u) ∨ x ∈ L(v)}
L(u*)  = ∪[i ∈ ℕ] L(u)<sup>i</sup> = ∪[i ∈ ℕ] {x<sup>i</sup> ∈ Σ* : x ∈ L(u)}

Объединение регулярных выражений соответствует объединению регулярных множеств, которое является знакомой операцией объединения из теории множеств , Регулярное выражение u соответствует строке x, если x является членом соответствующего набора L(u). Следовательно, u|v соответствует x, если x является членом L(u) ∪ L(v).

0 голосов
/ 28 января 2020

Это, вероятно, все еще относится к математическому переполнению, и вы не предоставили достаточно контекста для окончательного ответа, поэтому я собираюсь сделать некоторые предположения.

Union Types в большинстве языков может дать вам выражение вроде:

type C = B union A

Так что тип C - это тип / набор всех значений, которые могут существовать в типах B или C. Таким образом, значение x типа B также является значением типа C.

И это действительно так для многих языков. Однако переполнение стека нацелено на более конкретный мир программирования. Математическое переполнение будет иметь больше теоретиков, которые смогут лучше ответить на ваш вопрос.

...