Final answer:
A DFA, or Deterministic Finite Automaton, can be designed for various conditions such as ensuring the last two letters of a string are different, adjusting letter count formulas, and validating binary divisions or specific substring patterns. Some conditions, like formulas involving modulo operations, may not be straightforwardly expressed by a DFA.
Step-by-step explanation:
To design a DFA (Deterministic Finite Automaton) for each given condition, one would need to construct state diagrams that match the given criteria for the alphabet Σ. A DFA is a theoretical machine used in automata theory that can be used to represent patterns within data sets or for validating inputs based on predetermined rules.
a) For words where the last two letters are different, the DFA would have states to track the last letter read and transition to an accepting state if the next letter is different from the previous one.
b) For the expression ((a()) + 2(b()) - c()) mod 9 = 2, the complexity increases as the DFA would need to keep track of the difference between the numbers of a's, double the number of b's, minus the number of c's modulo 9 to ensure it equals 2. This scenario is more suited to a context-free grammar than a simple DFA due to the modulo operation.
c) For binary numbers represented in Σ = {0, 1} where the remainder when divided by 8 is 5, the DFA construction would involve states representing the remainders when dividing by 8, and binary number input would transition between these states to arrive at a final state accepting numbers that leave a remainder of 5.
d) For strings over the alphabet Σ = {a, b, c} where 'bc' comes between any two 'ab' substrings, the DFA would require states that identify 'ab' substrings and transition through intermediate states on reading 'bc', before accepting a second 'ab'.