src/HOL/Main.thy
author paulson
Tue, 08 Aug 2006 18:40:56 +0200
changeset 20362 bbff23c3e2ca
parent 19608 81fe44909dd5
child 20414 029c4f9dc6f4
permissions -rw-r--r--
skolem declarations for built-in theorems
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17602
63367feba417 header (title/ID) added
webertj
parents: 17601
diff changeset
     1
(*  Title:      HOL/Main.thy
63367feba417 header (title/ID) added
webertj
parents: 17601
diff changeset
     2
    ID:         $Id$
63367feba417 header (title/ID) added
webertj
parents: 17601
diff changeset
     3
*)
9619
6125cc9efc18 fixed deps;
wenzelm
parents: 9447
diff changeset
     4
12024
b3661262541e moved String into Main;
wenzelm
parents: 11533
diff changeset
     5
header {* Main HOL *}
b3661262541e moved String into Main;
wenzelm
parents: 11533
diff changeset
     6
15131
c69542757a4d New theory header syntax.
nipkow
parents: 15063
diff changeset
     7
theory Main
17905
1574533861b1 Added files in order to use external ATPs as oracles and invoke these ATPs by calling Isabelle methods (currently "vampire" and "eprover").
mengj
parents: 17721
diff changeset
     8
imports SAT Reconstruction ResAtpMethods
15131
c69542757a4d New theory header syntax.
nipkow
parents: 15063
diff changeset
     9
begin
9650
6f0b89f2a1f9 Main now new-style theory; added Main.ML for compatibility;
wenzelm
parents: 9619
diff changeset
    10
12024
b3661262541e moved String into Main;
wenzelm
parents: 11533
diff changeset
    11
text {*
b3661262541e moved String into Main;
wenzelm
parents: 11533
diff changeset
    12
  Theory @{text Main} includes everything.  Note that theory @{text
b3661262541e moved String into Main;
wenzelm
parents: 11533
diff changeset
    13
  PreList} already includes most HOL theories.
19608
81fe44909dd5 revert accidental text change;
wenzelm
parents: 19607
diff changeset
    14
*}
17395
a05e20f6a31a hide the rather generic names used in theory Commutative_Ring;
wenzelm
parents: 17386
diff changeset
    15
17721
b943c01e1c6d explicit dependencies of SAT vs. Refute;
wenzelm
parents: 17618
diff changeset
    16
text {* \medskip Late clause setup: installs \emph{all} simprules and
17461
83f1dd9d901d minor cleanup, moved stuff in its proper place;
wenzelm
parents: 17421
diff changeset
    17
  claset rules into the clause cache; cf.\ theory @{text
83f1dd9d901d minor cleanup, moved stuff in its proper place;
wenzelm
parents: 17421
diff changeset
    18
  Reconstruction}. *}
14350
41b32020d0b3 Adding 'refute' to HOL.
webertj
parents: 14192
diff changeset
    19
18510
0a6c24f549c3 the "skolem" attribute and better initialization of the clause database
paulson
parents: 18315
diff changeset
    20
setup ResAxioms.setup
14350
41b32020d0b3 Adding 'refute' to HOL.
webertj
parents: 14192
diff changeset
    21
20362
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    22
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    23
(*The following declarations generate polymorphic Skolem functions for 
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    24
  these theorems. NOTE: We need an automatic mechanism to ensure that this
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    25
  happens for all theorems stored in descendant theories.*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    26
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    27
(*HOL*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    28
declare ext [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    29
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    30
(*Finite_Set*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    31
declare setprod_nonneg [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    32
declare setprod_pos [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    33
declare setsum_bounded [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    34
declare setsum_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    35
declare setsum_nonneg [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    36
declare setsum_nonpos [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    37
declare setsum_0' [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    38
declare setprod_1' [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    39
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    40
declare Fun.image_INT [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    41
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    42
(*List. Only none look useful.*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    43
declare Cons_eq_append_conv [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    44
declare Cons_eq_map_D [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    45
declare Cons_eq_map_conv [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    46
declare append_eq_Cons_conv [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    47
declare map_eq_Cons_D [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    48
declare map_eq_Cons_conv [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    49
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    50
declare Orderings.max_leastL [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    51
declare Orderings.max_leastR [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    52
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    53
declare Product_Type.Sigma_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    54
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    55
(*Relation*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    56
declare Domain_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    57
declare Image_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    58
declare Range_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    59
declare antisym_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    60
declare reflI [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    61
declare rel_compEpair [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    62
declare refl_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    63
declare sym_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    64
declare trans_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    65
declare single_valued_def [skolem]  
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    66
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    67
(*Relation_Power*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    68
declare rel_pow_E2 [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    69
declare rel_pow_E [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    70
declare rel_pow_Suc_D2 [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    71
declare rel_pow_Suc_D2' [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    72
declare rel_pow_Suc_E [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    73
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    74
(*Set*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    75
declare Collect_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    76
declare INT_anti_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    77
declare INT_greatest [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    78
declare INT_subset_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    79
declare Int_Collect_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    80
declare Inter_greatest[skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    81
declare UN_least [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    82
declare UN_mono [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    83
declare UN_subset_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    84
declare Union_least [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    85
declare Union_disjoint [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    86
declare disjoint_iff_not_equal [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    87
declare image_subsetI [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    88
declare image_subset_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    89
declare subset_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    90
declare subset_iff [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    91
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    92
(*Transitive_Closure*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    93
declare converse_rtranclE [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    94
declare irrefl_trancl_rD [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    95
declare rtranclE [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    96
declare tranclD [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    97
declare tranclE [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    98
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
    99
(*Wellfounded_Recursion*)
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   100
declare acyclicI [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   101
declare acyclic_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   102
declare wfI [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   103
declare wf_def [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   104
declare wf_eq_minimal [skolem]
bbff23c3e2ca skolem declarations for built-in theorems
paulson
parents: 19608
diff changeset
   105
9650
6f0b89f2a1f9 Main now new-style theory; added Main.ML for compatibility;
wenzelm
parents: 9619
diff changeset
   106
end