Consider the following finite automata F1 that accepts a language L. Let F2 be…
2023
Consider the following finite automata F1 that accepts a language L.

Let F2 be a finite automata which is obtained by reversal of F1. Then which of the following is correct?
Attempted by 42 students.
Show answer & explanation
Concept: Reversing every transition of a finite automaton and swapping its start state with its accepting state(s) gives an automaton whose language is the string-reversal of the original, L(F1)^R. In general L(F1)^R is different from L(F1), so a reversed automaton usually accepts a different language. But this general rule has an exception: if swapping the start state and the accepting state is itself a symmetry (an automorphism) of the automaton's own transition graph - and the diagram carries no distinct transition labels to break that symmetry - the reversed automaton turns out to be isomorphic to the original one, and the two languages become exactly equal.
Application: In F1, C is the start state, E is the only accepting state, and S is the middle state; the diagram draws every edge without any alphabet symbol, so each transition can be treated as a single (unary) step - this matters because it means the automorphism below only has to preserve the graph structure, not any labels. Reading the diagram, every pair of states is joined by an edge in BOTH directions: C to S and S to C, S to E and E to S, C to E and E to C, with no self-loops anywhere. So the transition graph is a fully symmetric triangle on {C, S, E} - whenever a transition p to q exists, the transition q to p exists too.
Because the graph is symmetric, reversing every edge to build F2 leaves exactly the same graph; only the start/accepting roles move, so F2 starts at E and accepts at C. Now check whether swapping C and E (keeping S fixed) preserves this graph: C's neighbours are {S, E}; after the swap this must match E's original neighbours, which are indeed {S, C} - consistent. So the map that swaps C and E while fixing S is an automorphism of the graph, and it carries F1 (start C, accept E) exactly onto F2 (start E, accept C).
Length 1: the direct edge C to E exists, giving exactly 1 walk; the direct edge E to C exists, also giving exactly 1 walk - counts match.
Length 2: the only walk from C to E is C to S to E (1 walk); the only walk from E to C is E to S to C (1 walk) - counts match.
Length n in general: the automorphism (swap C and E, fix S) turns every walk of length n from C to E into a walk of length n from E to C, and vice versa, so the number of accepting walks of each length is identical on both sides (direct computation confirms 1, 1, 3, 5, 11, 21, ... walks for n = 1, 2, 3, 4, 5, 6, matching exactly for C-to-E and E-to-C).
Cross-check: this matches the isomorphism argument directly - F2 is literally F1 relabelled by the automorphism that swaps C and E, so F2 does not merely resemble F1, it accepts exactly the same strings, in both directions of containment at once.
Therefore, L(F1) = L(F2).
A video solution is available for this question — log in and enroll to watch it.