src/HOL/Nunchaku/Nunchaku.thy
author blanchet
Thu, 22 Jun 2017 16:59:14 +0200
changeset 66163 45d3d43abee7
parent 64469 488d4e627238
permissions -rw-r--r--
added 'solvers' option to Nunchaku
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64389
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     1
(*  Title:      HOL/Nunchaku/Nunchaku.thy
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     2
    Author:     Jasmin Blanchette, Inria Nancy, LORIA, MPII
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     3
    Copyright   2015, 2016
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     4
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     5
Nunchaku: Yet another counterexample generator for Isabelle/HOL.
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     6
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     7
Nunchaku relies on an external program of the same name. The program is still
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     8
being actively developed. The sources are available at
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
     9
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    10
    https://github.com/nunchaku-inria
64407
5c5b9d945625 proper Nunchaku setup to use CVC4 and Kodkod
blanchet
parents: 64389
diff changeset
    11
64469
488d4e627238 added Nunchaku component and tuned Nunchaku integration accordingly
blanchet
parents: 64407
diff changeset
    12
The "$NUNCHAKU_HOME" environment variable must be set to the absolute path to
488d4e627238 added Nunchaku component and tuned Nunchaku integration accordingly
blanchet
parents: 64407
diff changeset
    13
the directory containing the "nunchaku" executable. The Isabelle components
66163
45d3d43abee7 added 'solvers' option to Nunchaku
blanchet
parents: 64469
diff changeset
    14
for CVC4 and Kodkodi are necessary to use these backend solvers.
64389
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    15
*)
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    16
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    17
theory Nunchaku
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    18
imports Main
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    19
keywords
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    20
  "nunchaku" :: diag and
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    21
  "nunchaku_params" :: thy_decl
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    22
begin
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    23
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    24
consts unreachable :: 'a
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    25
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    26
definition The_unsafe :: "('a \<Rightarrow> bool) \<Rightarrow> 'a" where
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    27
  "The_unsafe = The"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    28
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    29
definition rmember :: "'a set \<Rightarrow> 'a \<Rightarrow> bool" where
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    30
  "rmember A x \<longleftrightarrow> x \<in> A"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    31
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    32
ML_file "Tools/nunchaku_util.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    33
ML_file "Tools/nunchaku_collect.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    34
ML_file "Tools/nunchaku_problem.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    35
ML_file "Tools/nunchaku_translate.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    36
ML_file "Tools/nunchaku_model.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    37
ML_file "Tools/nunchaku_reconstruct.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    38
ML_file "Tools/nunchaku_display.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    39
ML_file "Tools/nunchaku_tool.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    40
ML_file "Tools/nunchaku.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    41
ML_file "Tools/nunchaku_commands.ML"
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    42
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    43
hide_const (open) unreachable The_unsafe rmember
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    44
6273d4c8325b added Nunchaku integration
blanchet
parents:
diff changeset
    45
end