Theory DGBA

section ‹Deterministic Generalized Büchi Automata›

theory DGBA
imports "../Deterministic"
begin

  datatype ('label, 'state) dgba = dgba
    (alphabet: "'label set")
    (initial: "'state")
    (transition: "'label ⇒ 'state ⇒ 'state")
    (accepting: "'state pred gen")

  global_interpretation dgba: automaton dgba alphabet initial transition accepting
    defines path = dgba.path and run = dgba.run and reachable = dgba.reachable and nodes = dgba.nodes
    by unfold_locales auto
  global_interpretation dgba: automaton_run dgba alphabet initial transition accepting "λ P w r p. gen infs P (p ## r)"
    defines language = dgba.language
    by standard

  abbreviation target where "target ≡ dgba.target"
  abbreviation states where "states ≡ dgba.states"
  abbreviation trace where "trace ≡ dgba.trace"
  abbreviation successors where "successors ≡ dgba.successors TYPE('label)"

end