Simulating Finite Eilenberg Machines with a Reactive Engine
详细信息    查看全文
  • 作者:Benoî ; t Razet
  • 关键词:Automata ; Eilenberg machines ; Coq
  • 刊名:Electronic Notes in Theoretical Computer Science
  • 出版年:2011
  • 出版时间:8 March 2011
  • 年:2011
  • 卷:229
  • 期:5
  • 页码:119-134
  • 全文大小:285 K
文摘
Eilenberg machines have been introduced in 1974 in the field of formal language theory. They are finite automata for which the alphabet is interpreted by mathematical relations over an abstract set. They generalize many finite state machines. We consider in the present work the subclass of finite Eilenberg machines for which we provide an executable complete simulator. This program is specified using the Coq proof assistant. The correctness of the algorithm is also proved formally and mechanically verified using Coq. Using its extraction mechanism, the Coq proof assistant allows to translate the specification into an executable OCaml program. The algorithm and specification are inspired from the reactive engine of Gérard Huet. The finite Eilenberg machines model includes deterministic and non-deterministic automata (DFA and NFA) but also real-time transducers. As an example, we present a pushdown automaton (PDA) recognizing ambiguous λ-terms is shown to be a finite Eilenberg machine. Then the reactive engine simulating the pushdown automaton provides a complete recognizer for this particular context-free language.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700