Preimage construction on nondeterministic automata #
def Cslib.Automata.NA.FinAcc.preimage {State : Type u_1} {Symbol : Type u_2} {Symbol' : Type u_3} (f : Language.Hom Symbol' Symbol) (na : FinAcc State Symbol) :
FinAcc State Symbol'
Given a language homomorphism f from Symbol' to Symbol and an NA na on Symbol,
na.preimage f is an NA on Symbol with the same state space, start states, and
accept states, but with a different transition relation: the step that na.preimage f takes
on input x is the composition of the steps taken by na on inputs f [x].
Equations
Instances For
@[simp]
theorem Cslib.Automata.NA.FinAcc.accepts_preimage {State : Type u_1} {Symbol : Type u_2} {Symbol' : Type u_3} (f : Language.Hom Symbol' Symbol) {na : FinAcc State Symbol} {xs' : List Symbol'} :
na.preimage f accepts a word xs' iff na accepts the word f xs'.
@[simp]
theorem Cslib.Automata.NA.FinAcc.preimage_language_eq {State : Type u_1} {Symbol : Type u_2} {Symbol' : Type u_3} (f : Language.Hom Symbol' Symbol) (na : FinAcc State Symbol) :
na.preimage f accepts the preimage under f of the language accepted by na.