src/HOL/Nunchaku.thy
author paulson <lp15@cam.ac.uk>
Thu, 11 Apr 2019 22:37:49 +0100
changeset 70131 c6e1a4806f49
parent 69605 a96320074298
child 82024 bbda3b4f3c99
permissions -rw-r--r--
simpler and stronger proofs

(*  Title:      HOL/Nunchaku.thy
    Author:     Jasmin Blanchette, VU Amsterdam
    Copyright   2015, 2016, 2017

Nunchaku: Yet another counterexample generator for Isabelle/HOL.

Nunchaku relies on an external program of the same name. The sources are
available at

    https://github.com/nunchaku-inria

The "$NUNCHAKU_HOME" environment variable must be set to the absolute path to
the directory containing the "nunchaku" executable. The Isabelle components
for CVC4, Kodkodi, and SMBC are necessary to use these backend solvers.
*)

theory Nunchaku
imports Nitpick
keywords
  "nunchaku" :: diag and
  "nunchaku_params" :: thy_decl
begin

consts unreachable :: 'a

definition The_unsafe :: "('a \<Rightarrow> bool) \<Rightarrow> 'a" where
  "The_unsafe = The"

definition rmember :: "'a set \<Rightarrow> 'a \<Rightarrow> bool" where
  "rmember A x \<longleftrightarrow> x \<in> A"

ML_file \<open>Tools/Nunchaku/nunchaku_util.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_collect.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_problem.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_translate.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_model.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_reconstruct.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_display.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_tool.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku.ML\<close>
ML_file \<open>Tools/Nunchaku/nunchaku_commands.ML\<close>

hide_const (open) unreachable The_unsafe rmember

end