src/HOL/UNITY/UNITY_Main.thy
author haftmann
Tue, 16 Oct 2007 23:12:45 +0200
changeset 25062 af5ef0d4d655
parent 24147 edc90be09ac1
child 27882 eaa9fef9f4c1
permissions -rw-r--r--
global class syntax
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     1
(*  Title:      HOL/UNITY/UNITY_Main.thy
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     2
    ID:         $Id$
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     3
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     4
    Copyright   2003  University of Cambridge
13798
4c1a53627500 conversion to new-style theories and tidying
paulson
parents: 13786
diff changeset
     5
*)
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     6
13798
4c1a53627500 conversion to new-style theories and tidying
paulson
parents: 13786
diff changeset
     7
header{*Comprehensive UNITY Theory*}
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     8
16417
9bc16273c2d4 migrated theory headers to new format
haftmann
parents: 16184
diff changeset
     9
theory UNITY_Main imports Detects PPROD Follows ProgressSets
9bc16273c2d4 migrated theory headers to new format
haftmann
parents: 16184
diff changeset
    10
uses "UNITY_tactics.ML" begin
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    11
16184
80617b8d33c5 renamed "constrains" to "safety" to avoid keyword clash
paulson
parents: 15032
diff changeset
    12
method_setup safety = {*
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    13
    Method.ctxt_args (fn ctxt =>
24147
edc90be09ac1 misc cleanup of ML bindings (for multihreading);
wenzelm
parents: 21588
diff changeset
    14
        Method.SIMPLE_METHOD' (constrains_tac (local_clasimpset_of ctxt))) *}
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    15
    "for proving safety properties"
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    16
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    17
method_setup ensures_tac = {*
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    18
    fn args => fn ctxt =>
21588
cd0dc678a205 simplified method setup;
wenzelm
parents: 16417
diff changeset
    19
        Method.goal_args' (Scan.lift Args.name)
24147
edc90be09ac1 misc cleanup of ML bindings (for multihreading);
wenzelm
parents: 21588
diff changeset
    20
           (ensures_tac (local_clasimpset_of ctxt))
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    21
           args ctxt *}
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    22
    "for proving progress properties"
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    23
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    24
end