# HG changeset patch # User paulson # Date 1159452094 -7200 # Node ID 7a6f69cf5a86042b5b79922e31060ab9846301b3 # Parent f8281cbf37a559fe444fe4e93c0ab29b6ee5b715 addition of combinators diff -r f8281cbf37a5 -r 7a6f69cf5a86 src/HOL/Reconstruction.thy --- a/src/HOL/Reconstruction.thy Thu Sep 28 15:30:03 2006 +0200 +++ b/src/HOL/Reconstruction.thy Thu Sep 28 16:01:34 2006 +0200 @@ -9,21 +9,56 @@ theory Reconstruction imports Hilbert_Choice Map Infinite_Set Extraction uses "Tools/polyhash.ML" - "Tools/res_clause.ML" - "Tools/res_hol_clause.ML" - "Tools/res_axioms.ML" - "Tools/ATP/recon_order_clauses.ML" - "Tools/ATP/recon_translate_proof.ML" - "Tools/ATP/recon_parse.ML" - "Tools/ATP/recon_transfer_proof.ML" "Tools/ATP/AtpCommunication.ML" "Tools/ATP/watcher.ML" "Tools/ATP/reduce_axiomsN.ML" - "Tools/res_atp.ML" - "Tools/reconstruction.ML" + "Tools/res_clause.ML" + ("Tools/res_hol_clause.ML") + ("Tools/res_axioms.ML") + ("Tools/res_atp.ML") + ("Tools/reconstruction.ML") begin +constdefs + COMBI :: "'a => 'a" + "COMBI P == P" + + COMBK :: "'a => 'b => 'a" + "COMBK P Q == P" + + COMBB :: "('b => 'c) => ('a => 'b) => 'a => 'c" + "COMBB P Q R == P (Q R)" + + COMBC :: "('a => 'b => 'c) => 'b => 'a => 'c" + "COMBC P Q R == P R Q" + + COMBS :: "('a => 'b => 'c) => ('a => 'b) => 'a => 'c" + "COMBS P Q R == P R (Q R)" + + COMBB' :: "('a => 'c) => ('b => 'a) => ('d => 'b) => 'd => 'c" + "COMBB' M P Q R == M (P (Q R))" + + COMBC' :: "('a => 'b => 'c) => ('d => 'a) => 'b => 'd => 'c" + "COMBC' M P Q R == M (P R) Q" + + COMBS' :: "('a => 'b => 'c) => ('d => 'a) => ('d => 'b) => 'd => 'c" + "COMBS' M P Q R == M (P R) (Q R)" + + fequal :: "'a => 'a => bool" + "fequal X Y == (X=Y)" + +lemma fequal_imp_equal: "fequal X Y ==> X=Y" + by (simp add: fequal_def) + +lemma equal_imp_fequal: "X=Y ==> fequal X Y" + by (simp add: fequal_def) + +use "Tools/res_hol_clause.ML" +use "Tools/res_axioms.ML" +use "Tools/res_atp.ML" +use "Tools/reconstruction.ML" + setup ResAxioms.meson_method_setup setup Reconstruction.setup