### Abstract

Knowledge-based programs (KBPs) are a formalism for directly relating agents' knowledge and behaviour. Here we present a general scheme for compiling KBPs to executable automata with a proof of correctness in Isabelle/HOL. We develop the algorithm top-down, using Isabelle's locale mechanism to structure these proofs, and show that two classic examples can be synthesised using Isabelle's code generator.

### License

BSD License

### History

March 6, 2012
  Add some more views and revive the code generation.

### Topics

- Computer science/Automata and formal languages

### Session KBPs

- Extra
- List_local
- Kripke
- Traces
- KBPs
- KBPsAuto
- DFS
- MapOps
- KBPsAlg
- ODList
- Eval
- Trie2
- ClockView
- SPRView
- SPRViewDet
- SPRViewNonDet
- SPRViewNonDetIndInit
- SPRViewSingle
- Views
- MuddyChildren
- Robot
- Examples
- KBPs_Main

### Depends on

- Executable Transitive Closures of Finite Relations
- Trie

### Used by

- Converting Linear Temporal Logic to Deterministic (Generalized) Rabin Automata

### Auto-related entries

- Lazifying case constants
- Finger Trees
- Formalizing the Logic-Automaton Connection
- Code Generation for Functions as Data

## Cite

×

KBPs-AFP

    @article{KBPs-AFP,
      author  = {Peter Gammie},
      title   = {Knowledge-based programs},
      journal = {Archive of Formal Proofs},
      month   = {May},
      year    = {2011},
      note    = {\url{https://isa-afp.org/entries/KBPs.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1
- Feb 22, 2016 : Isabelle2016
- May 27, 2015 : Isabelle2015
- Aug 28, 2014 : Isabelle2014
- Dec 11, 2013 : Isabelle2013-2
- Nov 17, 2013 : Isabelle2013-1
- Mar 2, 2013 : Isabelle2013
- Feb 16, 2013 : Isabelle2013
- May 24, 2012 : Isabelle2012
- Oct 11, 2011 : Isabelle2011-1
- May 19, 2011 : Isabelle2011