src/HOL/HOL.ML
author wenzelm
Fri, 26 Oct 2001 23:58:21 +0200
changeset 11952 b10f1e8862f4
parent 11749 fc8afdc58b26
child 11977 2e7c54b86763
permissions -rw-r--r--
* Pure: method 'atomize' presents local goal premises as object-level statements (atomic meta-level propositions); setup controlled via rewrite rules declarations of 'atomize' attribute; example application: 'induct' method with proper rule statements in improper proof *scripts*;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10011
ed5262aee27f AddXIs [ext];
wenzelm
parents: 9970
diff changeset
     1
(*  Title:      HOL/HOL.ML
ed5262aee27f AddXIs [ext];
wenzelm
parents: 9970
diff changeset
     2
    ID:         $Id$
ed5262aee27f AddXIs [ext];
wenzelm
parents: 9970
diff changeset
     3
*)
ed5262aee27f AddXIs [ext];
wenzelm
parents: 9970
diff changeset
     4
7357
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
     5
structure HOL =
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
     6
struct
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
     7
  val thy = the_context ();
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
     8
  val plusI = plusI;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
     9
  val minusI = minusI;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    10
  val timesI = timesI;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    11
  val eq_reflection = eq_reflection;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    12
  val refl = refl;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    13
  val subst = subst;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    14
  val ext = ext;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    15
  val impI = impI;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    16
  val mp = mp;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    17
  val True_def = True_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    18
  val All_def = All_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    19
  val Ex_def = Ex_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    20
  val False_def = False_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    21
  val not_def = not_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    22
  val and_def = and_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    23
  val or_def = or_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    24
  val Ex1_def = Ex1_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    25
  val iff = iff;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    26
  val True_or_False = True_or_False;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    27
  val Let_def = Let_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    28
  val if_def = if_def;
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    29
  val arbitrary_def = arbitrary_def;
3621
d3e248853428 tuned comments;
wenzelm
parents: 3615
diff changeset
    30
end;
5888
d8e51792ca85 attrib_setup: rulify;
wenzelm
parents: 5809
diff changeset
    31
11588
d792570a04b1 AddXEs [disjI1, disjI2];
wenzelm
parents: 11451
diff changeset
    32
AddXIs [equal_intr_rule, ext];
d792570a04b1 AddXEs [disjI1, disjI2];
wenzelm
parents: 11451
diff changeset
    33
AddXEs [disjI1, disjI2, ex1_implies_ex, sym];
7529
fa534e4f7e49 AddXIs [disjI1, disjI2];
wenzelm
parents: 7357
diff changeset
    34
7357
d0e16da40ea2 proper bootstrap of HOL theory and packages;
wenzelm
parents: 7030
diff changeset
    35
open HOL;
11749
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    36
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    37
val Least_def = thm "Least_def";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    38
val Least_equality = thm "Least_equality";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    39
val mono_def = thm "mono_def";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    40
val monoI = thm "monoI";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    41
val monoD = thm "monoD";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    42
val min_def = thm "min_def";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    43
val min_of_mono = thm "min_of_mono";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    44
val max_def = thm "max_def";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    45
val max_of_mono = thm "max_of_mono";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    46
val min_leastL = thm "min_leastL";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    47
val max_leastL = thm "max_leastL";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    48
val min_leastR = thm "min_leastR";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    49
val max_leastR = thm "max_leastR";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    50
val order_eq_refl = thm "order_eq_refl";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    51
val order_less_irrefl = thm "order_less_irrefl";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    52
val order_le_less = thm "order_le_less";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    53
val order_le_imp_less_or_eq = thm "order_le_imp_less_or_eq";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    54
val order_less_imp_le = thm "order_less_imp_le";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    55
val order_less_not_sym = thm "order_less_not_sym";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    56
val order_less_asym = thm "order_less_asym";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    57
val order_less_trans = thm "order_less_trans";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    58
val order_le_less_trans = thm "order_le_less_trans";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    59
val order_less_le_trans = thm "order_less_le_trans";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    60
val order_less_imp_not_less = thm "order_less_imp_not_less";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    61
val order_less_imp_triv = thm "order_less_imp_triv";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    62
val order_less_imp_not_eq = thm "order_less_imp_not_eq";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    63
val order_less_imp_not_eq2 = thm "order_less_imp_not_eq2";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    64
val linorder_less_linear = thm "linorder_less_linear";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    65
val linorder_cases = thm "linorder_cases";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    66
val linorder_not_less = thm "linorder_not_less";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    67
val linorder_not_le = thm "linorder_not_le";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    68
val linorder_neq_iff = thm "linorder_neq_iff";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    69
val linorder_neqE = thm "linorder_neqE";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    70
val min_same = thm "min_same";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    71
val max_same = thm "max_same";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    72
val le_max_iff_disj = thm "le_max_iff_disj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    73
val le_maxI1 = thm "le_maxI1";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    74
val le_maxI2 = thm "le_maxI2";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    75
val less_max_iff_disj = thm "less_max_iff_disj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    76
val max_le_iff_conj = thm "max_le_iff_conj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    77
val max_less_iff_conj = thm "max_less_iff_conj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    78
val le_min_iff_conj = thm "le_min_iff_conj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    79
val min_less_iff_conj = thm "min_less_iff_conj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    80
val min_le_iff_disj = thm "min_le_iff_disj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    81
val min_less_iff_disj = thm "min_less_iff_disj";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    82
val split_min = thm "split_min";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    83
val split_max = thm "split_max";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    84
val order_refl = thm "order_refl";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    85
val order_trans = thm "order_trans";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    86
val order_antisym = thm "order_antisym";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    87
val order_less_le = thm "order_less_le";
fc8afdc58b26 added ML bindings from former theory Ord;
wenzelm
parents: 11588
diff changeset
    88
val linorder_linear = thm "linorder_linear";