src/HOL/Reconstruction.thy
author huffman
Sat, 30 Sep 2006 17:10:55 +0200
changeset 20792 add17d26151b
parent 20788 d51711512d07
child 20809 6c4fd0b4b63a
permissions -rw-r--r--
add type annotations for DERIV
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15151
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     1
(*  Title:      HOL/Reconstruction.thy
17603
f601609d3300 spaces inserted in header
webertj
parents: 17508
diff changeset
     2
    ID:         $Id$
15151
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     3
    Author:     Lawrence C Paulson
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     4
    Copyright   2004  University of Cambridge
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     5
*)
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     6
17462
47f7bddc3239 moved setup ResAxioms.clause_setup to Main.thy (it refers to all previous theories);
wenzelm
parents: 17421
diff changeset
     7
header{* Reconstructing external resolution proofs *}
15151
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     8
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
     9
theory Reconstruction
17508
c84af7f39a6b tuned theory dependencies;
wenzelm
parents: 17488
diff changeset
    10
imports Hilbert_Choice Map Infinite_Set Extraction
18449
e314fb38307d new hash table module in HOL/Too/s
paulson
parents: 18004
diff changeset
    11
uses 	 "Tools/polyhash.ML"
17819
1241e5d31d5b small tidy-up of utility functions
paulson
parents: 17603
diff changeset
    12
	 "Tools/ATP/AtpCommunication.ML"
1241e5d31d5b small tidy-up of utility functions
paulson
parents: 17603
diff changeset
    13
	 "Tools/ATP/watcher.ML"
18794
46d66332bf81 Added new file Tools/ATP/reduce_axiomsN.ML
mengj
parents: 18449
diff changeset
    14
         "Tools/ATP/reduce_axiomsN.ML"
20761
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    15
         "Tools/res_clause.ML"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    16
	 ("Tools/res_hol_clause.ML")
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    17
	 ("Tools/res_axioms.ML")
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    18
	 ("Tools/res_atp.ML")
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    19
	 ("Tools/reconstruction.ML")
15151
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
    20
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
    21
begin
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
    22
20761
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    23
constdefs
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    24
  COMBI :: "'a => 'a"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    25
    "COMBI P == P"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    26
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    27
  COMBK :: "'a => 'b => 'a"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    28
    "COMBK P Q == P"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    29
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    30
  COMBB :: "('b => 'c) => ('a => 'b) => 'a => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    31
    "COMBB P Q R == P (Q R)"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    32
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    33
  COMBC :: "('a => 'b => 'c) => 'b => 'a => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    34
    "COMBC P Q R == P R Q"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    35
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    36
  COMBS :: "('a => 'b => 'c) => ('a => 'b) => 'a => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    37
    "COMBS P Q R == P R (Q R)"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    38
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    39
  COMBB' :: "('a => 'c) => ('b => 'a) => ('d => 'b) => 'd => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    40
    "COMBB' M P Q R == M (P (Q R))"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    41
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    42
  COMBC' :: "('a => 'b => 'c) => ('d => 'a) => 'b => 'd => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    43
    "COMBC' M P Q R == M (P R) Q"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    44
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    45
  COMBS' :: "('a => 'b => 'c) => ('d => 'a) => ('d => 'b) => 'd => 'c"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    46
    "COMBS' M P Q R == M (P R) (Q R)"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    47
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    48
  fequal :: "'a => 'a => bool"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    49
    "fequal X Y == (X=Y)"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    50
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    51
lemma fequal_imp_equal: "fequal X Y ==> X=Y"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    52
  by (simp add: fequal_def)
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    53
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    54
lemma equal_imp_fequal: "X=Y ==> fequal X Y"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    55
  by (simp add: fequal_def)
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    56
20788
d51711512d07 Reordered how files are loaded.
mengj
parents: 20761
diff changeset
    57
use "Tools/res_axioms.ML"
20761
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    58
use "Tools/res_hol_clause.ML"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    59
use "Tools/res_atp.ML"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    60
use "Tools/reconstruction.ML"
7a6f69cf5a86 addition of combinators
paulson
parents: 19767
diff changeset
    61
16563
a92f96951355 meson method taking an argument list
paulson
parents: 16479
diff changeset
    62
setup ResAxioms.meson_method_setup
15151
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
    63
setup Reconstruction.setup
429666b09783 proof reconstruction for external ATPs
paulson
parents:
diff changeset
    64
15653
3549ff7158f3 Updated to add watcher code.
quigley
parents: 15645
diff changeset
    65
end