Regular Languages #
This file defines the class of regular languages via unrestricted grammars satisfying the right-regular rule-shape property.
An output string has right-regular form if it is one of:
[terminal a, nonterminal B],[terminal a], or[].
Equations
- right_regular_output s = ((∃ (a : T) (B : N), s = [symbol.terminal a, symbol.nonterminal B]) ∨ (∃ (a : T), s = [symbol.terminal a]) ∨ s = [])
Instances For
An unrestricted grammar is right-regular if every rule is context-free and has right-regular output.
Equations
- grammar_right_regular g = ∀ r ∈ g.rules, r.input_L = [] ∧ r.input_R = [] ∧ right_regular_output r.output_string
Instances For
Characterization of regular languages via RG_grammar.
Equations
- is_RG_via_rg L = ∃ (g : RG_grammar T), RG_language g = L