How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
NFAs can be constructed for union, concatenation, and Kleene star
Statement
Let be languages recognized by NFA's over the same alphabet . Then , , and are also recognized by NFA's over .
Facts & Assumptions
Given: NFA's and over with recognized languages and .
By Acceptance of a word by an NFA and the recognized language, an NFA accepts a word exactly when some full computation path ends in an accepting state.
By Boolean operations on languages over a fixed alphabet, is the set-theoretic union of the two languages.
By Language concatenation, powers, and Kleene star, and is the set of finite concatenations of words of .
Proof
For union, first replace and by disjoint isomorphic copies. Add a fresh start state with -transitions to the copied start states, keep all copied transitions, and take the union of the two copied accepting sets as the new accepting set. By [L1] and [L2], every accepting run chooses one copy at the start and then stays inside that copy, so a word is accepted exactly when one of the two original machines accepts it. Thus the new language is .
For concatenation, take disjoint copies of and , use the copied start state of as the new start state, add an -transition from each copied accepting state of to the copied start state of , and designate only the copied accepting states of as accepting. Then [L1] and [L3] show that a successful run is exactly a decomposition of the input as with and , so the new machine recognizes .
For star, add a fresh start state, make it the only accepting state, add an -transition from it to the old start state of , and add -transitions from each old accepting state back to the fresh start state. By [L1] and [L3], every accepting run chooses finitely many factors from , and every finite concatenation of words of is accepted. Therefore the language recognized is .
Hence NFA's can be built for union, concatenation, and Kleene star.
Depends on
Used by
Nothing in the library uses this result yet.
Dependency tree · two levels
7 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.
Sources
- Jean Gallier and Jocelyn Quaintance, Introduction to the Theory of Computation: Some Notes for CIS511 (standard reference, not scraped)
- John Watrous, Introduction to the Theory of Computing, Lecture 4: Regular operations and regular expressions (standard reference, not scraped)