src/HOL/UNITY/UNITY_Main.thy
author wenzelm
Sun, 02 Nov 2014 18:21:45 +0100
changeset 58889 5b7a9633cfa8
parent 55111 5792f5106c40
child 63120 629a4c5e953e
permissions -rw-r--r--
modernized header uniformly as section;
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
58889
5b7a9633cfa8 modernized header uniformly as section;
wenzelm
parents: 55111
diff changeset
     6
section{*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 = {*
55111
5792f5106c40 tuned signature;
wenzelm
parents: 51717
diff changeset
    19
  Args.goal_spec -- Scan.lift Args.name_inner_syntax >>
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 {*
51717
9e7d1c139569 simplifier uses proper Proof.context instead of historic type simpset;
wenzelm
parents: 48891
diff changeset
    24
  map_theory_simpset (fn ctxt => ctxt
9e7d1c139569 simplifier uses proper Proof.context instead of historic type simpset;
wenzelm
parents: 48891
diff changeset
    25
    addsimps (make_o_equivs ctxt @{thm fst_o_funPair} @ make_o_equivs ctxt @{thm snd_o_funPair})
9e7d1c139569 simplifier uses proper Proof.context instead of historic type simpset;
wenzelm
parents: 48891
diff changeset
    26
    addsimps (make_o_equivs ctxt @{thm fst_o_lift_map} @ make_o_equivs ctxt @{thm snd_o_lift_map}))
42795
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