For any DFA, we already have an NFA, it just not happen to use any characteristics of NFAs like epsilon transitions or more/less than 1 transition per symbol per state
Suppose we have an NFA N that accepts language L
We can construct a DFA D that accepts the same language
* The DFA keeps track of all the possible states the NFA could be in after seeing any sequence of input symbols
Example in slides
Reminder: Any language that can be accepted by a FA is called a regular language
Let A and B languages, we define the regular operations, union, concatenation and star
Union: Is all the strings that are in either of the languages A or B
Concatenation: All the strings that can be formed by the concatenation of A and B
Star: Any sequence of strings formed from any combination strings in a language A