src/HOL/UNITY/UNITY_Main.thy
author wenzelm
Wed, 22 Aug 2012 22:55:41 +0200
changeset 48891 c0eafbd55de3
parent 42795 66fcc9882784
child 51717 9e7d1c139569
permissions -rw-r--r--
prefer ML_file over old uses;
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
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     3
    Copyright   2003  University of Cambridge
13798
4c1a53627500 conversion to new-style theories and tidying
paulson
parents: 13786
diff changeset
     4
*)
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     5
13798
4c1a53627500 conversion to new-style theories and tidying
paulson
parents: 13786
diff changeset
     6
header{*Comprehensive UNITY Theory*}
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
     7
32689
860e1a2317bd tuned proof; tuned headers
haftmann
parents: 32149
diff changeset
     8
theory UNITY_Main
860e1a2317bd tuned proof; tuned headers
haftmann
parents: 32149
diff changeset
     9
imports Detects PPROD Follows ProgressSets
860e1a2317bd tuned proof; tuned headers
haftmann
parents: 32149
diff changeset
    10
begin
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    11
48891
c0eafbd55de3 prefer ML_file over old uses;
wenzelm
parents: 42795
diff changeset
    12
ML_file "UNITY_tactics.ML"
c0eafbd55de3 prefer ML_file over old uses;
wenzelm
parents: 42795
diff changeset
    13
16184
80617b8d33c5 renamed "constrains" to "safety" to avoid keyword clash
paulson
parents: 15032
diff changeset
    14
method_setup safety = {*
42767
e6d920bea7a6 prefer Proof.context over old-style clasimpset;
wenzelm
parents: 32689
diff changeset
    15
    Scan.succeed (SIMPLE_METHOD' o constrains_tac) *}
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    16
    "for proving safety properties"
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    17
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    18
method_setup ensures_tac = {*
30549
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    19
  Args.goal_spec -- Scan.lift Args.name_source >>
42767
e6d920bea7a6 prefer Proof.context over old-style clasimpset;
wenzelm
parents: 32689
diff changeset
    20
  (fn (quant, s) => fn ctxt => SIMPLE_METHOD'' quant (ensures_tac ctxt s))
30549
d2d7874648bd simplified method setup;
wenzelm
parents: 30510
diff changeset
    21
*} "for proving progress properties"
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    22
42795
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    23
setup {*
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    24
  Simplifier.map_simpset_global (fn ss => ss
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    25
    addsimps (make_o_equivs @{thm fst_o_funPair} @ make_o_equivs @{thm snd_o_funPair})
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    26
    addsimps (make_o_equivs @{thm fst_o_lift_map} @ make_o_equivs @{thm snd_o_lift_map}))
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    27
*}
66fcc9882784 clarified map_simpset versus Simplifier.map_simpset_global;
wenzelm
parents: 42767
diff changeset
    28
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    29
end