src/HOL/TLA/ROOT.ML
author paulson
Wed, 24 Dec 1997 10:02:30 +0100
changeset 4477 b3e5857d8d99
parent 3945 ae9c61d69888
child 5210 54aaa779b6b4
permissions -rw-r--r--
New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     1
(*  Title:      TLA/ROOT.ML
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     2
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     3
Adds the Temporal Logic of Actions to a database containing Isabelle/HOL.
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     4
*)
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     5
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     6
val banner = "Temporal Logic of Actions";
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     7
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     8
(*
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
     9
   raise the ambiguity level to avoid ambiguity warnings;
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    10
   since Trueprop and TrueInt have both empty syntax, there is
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    11
   an unavoidable ambiguity in the TLA (actually, Intensional) grammar.
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    12
*)
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    13
Syntax.ambiguity_level := 10000;
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    14
3945
ae9c61d69888 adapted to qualified names;
wenzelm
parents: 3807
diff changeset
    15
reset global_names;
ae9c61d69888 adapted to qualified names;
wenzelm
parents: 3807
diff changeset
    16
4477
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    17
(*FIXME: the old auto_tac is sometimes needed!*)
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    18
fun old_auto_tac (cs,ss) = 
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    19
    let val cs' = cs addss ss 
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    20
    in  EVERY [TRY (safe_tac cs'),
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    21
               REPEAT (FIRSTGOAL (fast_tac cs')),
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    22
               TRY (safe_tac (cs addSss ss)),
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    23
               prune_params_tac] 
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    24
    end;
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    25
b3e5857d8d99 New Auto_tac (by Oheimb), and new syntax (without parens), and expandshort
paulson
parents: 3945
diff changeset
    26
3807
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    27
use_thy "TLA";
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    28
82a99b090d9d A formalization of TLA in HOL -- by Stephan Merz;
wenzelm
parents:
diff changeset
    29
val TLA_build_completed = ();