src/HOL/UNITY/UNITY_Main.thy
author bulwahn
Mon, 11 May 2009 09:18:42 +0200
changeset 31106 9a1178204dc0
parent 30549 d2d7874648bd
child 32149 ef59550a55d3
permissions -rw-r--r--
Added pred_code command
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 = {*
30549
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    13
    Scan.succeed (fn ctxt =>
30510
4120fc59dd85 unified type Proof.method and pervasive METHOD combinators;
wenzelm
parents: 27882
diff changeset
    14
        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 = {*
30549
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    18
  Args.goal_spec -- Scan.lift Args.name_source >>
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    19
  (fn (quant, s) => fn ctxt => SIMPLE_METHOD'' quant (ensures_tac (local_clasimpset_of ctxt) s))
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    20
*} "for proving progress properties"
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    21
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    22
end