src/HOL/UNITY/UNITY_Main.thy
author haftmann
Thu, 23 Nov 2017 17:03:27 +0000
changeset 67087 733017b19de9
parent 63146 f1ecba0272f9
child 69605 a96320074298
permissions -rw-r--r--
generalized more lemmas
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
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
     6
section\<open>Comprehensive UNITY Theory\<close>
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
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    14
method_setup safety = \<open>
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    15
    Scan.succeed (SIMPLE_METHOD' o constrains_tac)\<close>
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
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    18
method_setup ensures_tac = \<open>
63120
629a4c5e953e embedded content may be delimited via cartouches;
wenzelm
parents: 58889
diff changeset
    19
  Args.goal_spec -- Scan.lift Args.embedded_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))
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    21
\<close> "for proving progress properties"
13786
ab8f39f48a6f More conversion of UNITY to Isar new-style theories
paulson
parents:
diff changeset
    22
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    23
setup \<open>
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}))
63146
f1ecba0272f9 isabelle update_cartouches -c -t;
wenzelm
parents: 63120
diff changeset
    27
\<close>
42795
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