Helper files in DFG format.
authormengj
Thu, 25 May 2006 08:07:02 +0200
changeset 19717 2742cec21579
parent 19716 52c22fccdaaf
child 19718 e709f643c578
Helper files in DFG format.
src/HOL/Tools/atp-inputs/const_comb_inclS.dfg
src/HOL/Tools/atp-inputs/const_comb_noS.dfg
src/HOL/Tools/atp-inputs/const_helper1.dfg
src/HOL/Tools/atp-inputs/full_comb_inclS.dfg
src/HOL/Tools/atp-inputs/full_comb_noS.dfg
src/HOL/Tools/atp-inputs/full_helper1.dfg
src/HOL/Tools/atp-inputs/par_comb_inclS.dfg
src/HOL/Tools/atp-inputs/par_comb_noS.dfg
src/HOL/Tools/atp-inputs/par_helper1.dfg
src/HOL/Tools/atp-inputs/u_comb_inclS.dfg
src/HOL/Tools/atp-inputs/u_comb_noS.dfg
src/HOL/Tools/atp-inputs/u_helper1.dfg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/const_comb_inclS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,91 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for const-types-only (include S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(hAPP(hAPP(c_COMBK(A,B),P),Q),P))),
+a1 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBS(A,B,C),P),Q),R),hAPP(hAPP(P,R),hAPP(Q,R))))),
+a2 ).
+
+clause(
+forall([P, T],
+or( equal(hAPP(c_COMBI(T),P),P))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB(A,B,C),P),Q),R),hAPP(P,hAPP(Q,R))))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC(A,B,C),P),Q),R),hAPP(hAPP(P,R),Q)))),
+a5 ).
+
+clause(
+forall([A, B, T],
+or( not(equal(c_COMBI(T),c_COMBK(A,B))))),
+a6 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(c_COMBI(T),c_COMBS(A,B,C))))),
+a7 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(c_COMBI(T),c_COMBB(A,B,C))))),
+a8 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(c_COMBI(T),c_COMBC(A,B,C))))),
+a9 ).
+
+clause(
+forall([A, A3, B, B3, C3],
+or( not(equal(c_COMBK(A,B),c_COMBS(A3,B3,C3))))),
+a10 ).
+
+clause(
+forall([A, A1, B, B1, C1],
+or( not(equal(c_COMBK(A,B),c_COMBB(A1,B1,C1))))),
+a11 ).
+
+clause(
+forall([A, A2, B, B2, C2],
+or( not(equal(c_COMBK(A,B),c_COMBC(A2,B2,C2))))),
+a12 ).
+
+clause(
+forall([A1, A3, B1, B3, C1, C3],
+or( not(equal(c_COMBS(A3,B3,C3),c_COMBB(A1,B1,C1))))),
+a13 ).
+
+clause(
+forall([A2, A3, B2, B3, C2, C3],
+or( not(equal(c_COMBS(A3,B3,C3),c_COMBC(A2,B2,C2))))),
+a14 ).
+
+clause(
+forall([A1, A2, B1, B2, C1, C2],
+or( not(equal(c_COMBB(A1,B1,C1),c_COMBC(A2,B2,C2))))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal(A),X),Y))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal(A),X),Y)))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/const_comb_noS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,67 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for const-types-only (no S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(hAPP(hAPP(c_COMBK(A,B),P),Q),P))),
+a1 ).
+
+clause(
+forall([P, T],
+or( equal(hAPP(c_COMBI(T),P),P))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB(A,B,C),P),Q),R),hAPP(P,hAPP(Q,R))))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC(A,B,C),P),Q),R),hAPP(hAPP(P,R),Q)))),
+a5 ).
+
+clause(
+forall([A, B, T],
+or( not(equal(c_COMBI(T),c_COMBK(A,B))))),
+a6 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(c_COMBI(T),c_COMBB(A,B,C))))),
+a8 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(c_COMBI(T),c_COMBC(A,B,C))))),
+a9 ).
+
+clause(
+forall([A, A1, B, B1, C1],
+or( not(equal(c_COMBK(A,B),c_COMBB(A1,B1,C1))))),
+a11 ).
+
+clause(
+forall([A, A2, B, B2, C2],
+or( not(equal(c_COMBK(A,B),c_COMBC(A2,B2,C2))))),
+a12 ).
+
+clause(
+forall([A1, A2, B1, B2, C1, C2],
+or( not(equal(c_COMBB(A1,B1,C1),c_COMBC(A2,B2,C2))))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal(A),X),Y))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal(A),X),Y)))),
+a17 ).
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/const_helper1.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,10 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%extensionality for const-types-only
+
+clause(
+forall([A, B, F, G],
+or( not(equal(hAPP(F,hAPP(hAPP(hEXTENT(A,B),F),G)),hAPP(G,hAPP(hAPP(hEXTENT(A,B),F),G)))),
+    equal(F,G))),
+a18 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/full_comb_inclS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,91 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for full-types (include S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(P,A)),tc_fun(B,A)),typeinfo(Q,B)),A),typeinfo(P,A)))),
+a1 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBS,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(tc_fun(A,B),tc_fun(A,C)))),typeinfo(P,tc_fun(A,tc_fun(B,C)))),tc_fun(tc_fun(A,B),tc_fun(A,C))),typeinfo(Q,tc_fun(A,B))),tc_fun(A,C)),typeinfo(R,A)),C),typeinfo(hAPP(typeinfo(hAPP(typeinfo(P,tc_fun(A,tc_fun(B,C))),typeinfo(R,A)),tc_fun(B,C)),typeinfo(hAPP(typeinfo(Q,tc_fun(A,B)),typeinfo(R,A)),B)),C)))),
+a2 ).
+
+clause(
+forall([P, T],
+or( equal(typeinfo(hAPP(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(P,T)),T),typeinfo(P,T)))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBB,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))),typeinfo(P,tc_fun(A,B))),tc_fun(tc_fun(C,A),tc_fun(C,B))),typeinfo(Q,tc_fun(C,A))),tc_fun(C,B)),typeinfo(R,C)),B),typeinfo(hAPP(typeinfo(P,tc_fun(A,B)),typeinfo(hAPP(typeinfo(Q,tc_fun(C,A)),typeinfo(R,C)),A)),B)))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBC,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))),typeinfo(P,tc_fun(A,tc_fun(B,C)))),tc_fun(B,tc_fun(A,C))),typeinfo(Q,B)),tc_fun(A,C)),typeinfo(R,A)),C),typeinfo(hAPP(typeinfo(hAPP(typeinfo(P,tc_fun(A,tc_fun(B,C))),typeinfo(R,A)),tc_fun(B,C)),typeinfo(Q,B)),C)))),
+a5 ).
+
+clause(
+forall([A, B, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))))))),
+a6 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBS,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(tc_fun(A,B),tc_fun(A,C)))))))),
+a7 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBB,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))))))),
+a8 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBC,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))))))),
+a9 ).
+
+clause(
+forall([A, A3, B, B3, C3],
+or( not(equal(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(c_COMBS,tc_fun(tc_fun(A3,tc_fun(B3,C3)),tc_fun(tc_fun(A3,B3),tc_fun(A3,C3)))))))),
+a10 ).
+
+clause(
+forall([A, A1, B, B1, C1],
+or( not(equal(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(c_COMBB,tc_fun(tc_fun(A1,B1),tc_fun(tc_fun(C1,A1),tc_fun(C1,B1)))))))),
+a11 ).
+
+clause(
+forall([A, A2, B, B2, C2],
+or( not(equal(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(c_COMBC,tc_fun(tc_fun(A2,tc_fun(B2,C2)),tc_fun(B2,tc_fun(A2,C2)))))))),
+a12 ).
+
+clause(
+forall([A1, A3, B1, B3, C1, C3],
+or( not(equal(typeinfo(c_COMBS,tc_fun(tc_fun(A3,tc_fun(B3,C3)),tc_fun(tc_fun(A3,B3),tc_fun(A3,C3)))),typeinfo(c_COMBB,tc_fun(tc_fun(A1,B1),tc_fun(tc_fun(C1,A1),tc_fun(C1,B1)))))))),
+a13 ).
+
+clause(
+forall([A2, A3, B2, B3, C2, C3],
+or( not(equal(typeinfo(c_COMBS,tc_fun(tc_fun(A3,tc_fun(B3,C3)),tc_fun(tc_fun(A3,B3),tc_fun(A3,C3)))),typeinfo(c_COMBC,tc_fun(tc_fun(A2,tc_fun(B2,C2)),tc_fun(B2,tc_fun(A2,C2)))))))),
+a14 ).
+
+clause(
+forall([A1, A2, B1, B2, C1, C2],
+or( not(equal(typeinfo(c_COMBB,tc_fun(tc_fun(A1,B1),tc_fun(tc_fun(C1,A1),tc_fun(C1,B1)))),typeinfo(c_COMBC,tc_fun(tc_fun(A2,tc_fun(B2,C2)),tc_fun(B2,tc_fun(A2,C2)))))))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(typeinfo(hAPP(typeinfo(hAPP(typeinfo(fequal,tc_fun(A,tc_fun(A,tc_bool))),typeinfo(X,A)),tc_fun(A,tc_bool)),typeinfo(Y,A)),tc_bool))),
+    equal(typeinfo(X,A),typeinfo(Y,A)))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(typeinfo(X,A),typeinfo(Y,A))),
+    hBOOL(typeinfo(hAPP(typeinfo(hAPP(typeinfo(fequal,tc_fun(A,tc_fun(A,tc_bool))),typeinfo(X,A)),tc_fun(A,tc_bool)),typeinfo(Y,A)),tc_bool)))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/full_comb_noS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,66 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for full-types (no S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(P,A)),tc_fun(B,A)),typeinfo(Q,B)),A),typeinfo(P,A)))),
+a1 ).
+
+clause(
+forall([P, T],
+or( equal(typeinfo(hAPP(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(P,T)),T),typeinfo(P,T)))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBB,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))),typeinfo(P,tc_fun(A,B))),tc_fun(tc_fun(C,A),tc_fun(C,B))),typeinfo(Q,tc_fun(C,A))),tc_fun(C,B)),typeinfo(R,C)),B),typeinfo(hAPP(typeinfo(P,tc_fun(A,B)),typeinfo(hAPP(typeinfo(Q,tc_fun(C,A)),typeinfo(R,C)),A)),B)))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(typeinfo(hAPP(typeinfo(hAPP(typeinfo(hAPP(typeinfo(c_COMBC,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))),typeinfo(P,tc_fun(A,tc_fun(B,C)))),tc_fun(B,tc_fun(A,C))),typeinfo(Q,B)),tc_fun(A,C)),typeinfo(R,A)),C),typeinfo(hAPP(typeinfo(hAPP(typeinfo(P,tc_fun(A,tc_fun(B,C))),typeinfo(R,A)),tc_fun(B,C)),typeinfo(Q,B)),C)))),
+a5 ).
+
+clause(
+forall([A, B, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))))))),
+a6 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBB,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))))))),
+a8 ).
+
+clause(
+forall([A, B, C, T],
+or( not(equal(typeinfo(c_COMBI,tc_fun(T,T)),typeinfo(c_COMBC,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))))))),
+a9 ).
+
+clause(
+forall([A, A1, B, B1, C1],
+or( not(equal(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(c_COMBB,tc_fun(tc_fun(A1,B1),tc_fun(tc_fun(C1,A1),tc_fun(C1,B1)))))))),
+a11 ).
+
+clause(
+forall([A, A2, B, B2, C2],
+or( not(equal(typeinfo(c_COMBK,tc_fun(A,tc_fun(B,A))),typeinfo(c_COMBC,tc_fun(tc_fun(A2,tc_fun(B2,C2)),tc_fun(B2,tc_fun(A2,C2)))))))),
+a12 ).
+
+clause(
+forall([A1, A2, B1, B2, C1, C2],
+or( not(equal(typeinfo(c_COMBB,tc_fun(tc_fun(A1,B1),tc_fun(tc_fun(C1,A1),tc_fun(C1,B1)))),typeinfo(c_COMBC,tc_fun(tc_fun(A2,tc_fun(B2,C2)),tc_fun(B2,tc_fun(A2,C2)))))))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(typeinfo(hAPP(typeinfo(hAPP(typeinfo(fequal,tc_fun(A,tc_fun(A,tc_bool))),typeinfo(X,A)),tc_fun(A,tc_bool)),typeinfo(Y,A)),tc_bool))),
+    equal(typeinfo(X,A),typeinfo(Y,A)))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(typeinfo(X,A),typeinfo(Y,A))),
+    hBOOL(typeinfo(hAPP(typeinfo(hAPP(typeinfo(fequal,tc_fun(A,tc_fun(A,tc_bool))),typeinfo(X,A)),tc_fun(A,tc_bool)),typeinfo(Y,A)),tc_bool)))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/full_helper1.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,10 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%extensionality for full-types
+
+clause(
+forall([A, B, F, G],
+or( not(equal(typeinfo(hAPP(typeinfo(F,tc_fun(A,B)),typeinfo(hAPP(typeinfo(hAPP(typeinfo(hEXTENT,tc_fun(tc_fun(A,B),tc_fun(tc_fun(A,B),A))),typeinfo(F,tc_fun(A,B))),tc_fun(tc_fun(A,B),A)),typeinfo(G,tc_fun(A,B))),A)),B),typeinfo(hAPP(typeinfo(G,tc_fun(A,B)),typeinfo(hAPP(typeinfo(hAPP(typeinfo(hEXTENT,tc_fun(tc_fun(A,B),tc_fun(tc_fun(A,B),A))),typeinfo(F,tc_fun(A,B))),tc_fun(tc_fun(A,B),A)),typeinfo(G,tc_fun(A,B))),A)),B))),
+    equal(typeinfo(F,tc_fun(A,B)),typeinfo(G,tc_fun(A,B))))),
+a18 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/par_comb_inclS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,81 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for partial-types (include S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(hAPP(hAPP(c_COMBK,P,tc_fun(A,tc_fun(B,A))),Q,tc_fun(B,A)),P))),
+a1 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBS,P,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(tc_fun(A,B),tc_fun(A,C)))),Q,tc_fun(tc_fun(A,B),tc_fun(A,C))),R,tc_fun(A,C)),hAPP(hAPP(P,R,tc_fun(A,tc_fun(B,C))),hAPP(Q,R,tc_fun(A,B)),tc_fun(B,C))))),
+a2 ).
+
+clause(
+forall([P, T],
+or( equal(hAPP(c_COMBI,P,tc_fun(T,T)),P))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB,P,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))),Q,tc_fun(tc_fun(C,A),tc_fun(C,B))),R,tc_fun(C,B)),hAPP(P,hAPP(Q,R,tc_fun(C,A)),tc_fun(A,B))))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC,P,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))),Q,tc_fun(B,tc_fun(A,C))),R,tc_fun(A,C)),hAPP(hAPP(P,R,tc_fun(A,tc_fun(B,C))),Q,tc_fun(B,C))))),
+a5 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBK))),
+a6 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBS))),
+a7 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBB))),
+a8 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBC))),
+a9 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBS))),
+a10 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBB))),
+a11 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBC))),
+a12 ).
+
+clause(
+or( not(equal(c_COMBS,c_COMBB))),
+a13 ).
+
+clause(
+or( not(equal(c_COMBS,c_COMBC))),
+a14 ).
+
+clause(
+or( not(equal(c_COMBB,c_COMBC))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool)))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool))))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/par_comb_noS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,60 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%typed combinator reduction for partial-types (no S)
+
+clause(
+forall([A, B, P, Q],
+or( equal(hAPP(hAPP(c_COMBK,P,tc_fun(A,tc_fun(B,A))),Q,tc_fun(B,A)),P))),
+a1 ).
+
+clause(
+forall([P, T],
+or( equal(hAPP(c_COMBI,P,tc_fun(T,T)),P))),
+a3 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB,P,tc_fun(tc_fun(A,B),tc_fun(tc_fun(C,A),tc_fun(C,B)))),Q,tc_fun(tc_fun(C,A),tc_fun(C,B))),R,tc_fun(C,B)),hAPP(P,hAPP(Q,R,tc_fun(C,A)),tc_fun(A,B))))),
+a4 ).
+
+clause(
+forall([A, B, C, P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC,P,tc_fun(tc_fun(A,tc_fun(B,C)),tc_fun(B,tc_fun(A,C)))),Q,tc_fun(B,tc_fun(A,C))),R,tc_fun(A,C)),hAPP(hAPP(P,R,tc_fun(A,tc_fun(B,C))),Q,tc_fun(B,C))))),
+a5 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBK))),
+a6 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBB))),
+a8 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBC))),
+a9 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBB))),
+a11 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBC))),
+a12 ).
+
+clause(
+or( not(equal(c_COMBB,c_COMBC))),
+a15 ).
+
+clause(
+forall([A, X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool)))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([A, X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool))))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/par_helper1.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,9 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%extensionality for partial types
+
+clause(
+forall([A, B, F, G],
+or( not(equal(hAPP(F,hAPP(hAPP(hEXTENT,F,tc_fun(tc_fun(A,B),tc_fun(tc_fun(A,B),A))),G,tc_fun(tc_fun(A,B),A)),tc_fun(A,B)),hAPP(G,hAPP(hAPP(hEXTENT,F,tc_fun(tc_fun(A,B),tc_fun(tc_fun(A,B),A))),G,tc_fun(tc_fun(A,B),A)),tc_fun(A,B)))),
+    equal(F,G))),
+a18 ).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/u_comb_inclS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,81 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%untyped combinator reduction (include S)
+
+clause(
+forall([P, Q],
+or( equal(hAPP(hAPP(c_COMBK,P),Q),P))),
+a1 ).
+
+clause(
+forall([P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBS,P),Q),R),hAPP(hAPP(P,R),hAPP(Q,R))))),
+a2 ).
+
+clause(
+forall([P],
+or( equal(hAPP(c_COMBI,P),P))),
+a3 ).
+
+clause(
+forall([P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB,P),Q),R),hAPP(P,hAPP(Q,R))))),
+a4 ).
+
+clause(
+forall([P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC,P),Q),R),hAPP(hAPP(P,R),Q)))),
+a5 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBK))),
+a6 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBS))),
+a7 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBB))),
+a8 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBC))),
+a9 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBS))),
+a10 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBB))),
+a11 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBC))),
+a12 ).
+
+clause(
+or( not(equal(c_COMBS,c_COMBB))),
+a13 ).
+
+clause(
+or( not(equal(c_COMBS,c_COMBC))),
+a14 ).
+
+clause(
+or( not(equal(c_COMBB,c_COMBC))),
+a15 ).
+
+clause(
+forall([X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal,X),Y))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal,X),Y)))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/u_comb_noS.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,60 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%untyped combinator reduction (no S)
+
+clause(
+forall([P, Q],
+or( equal(hAPP(hAPP(c_COMBK,P),Q),P))),
+a1 ).
+
+clause(
+forall([P],
+or( equal(hAPP(c_COMBI,P),P))),
+a3 ).
+
+clause(
+forall([P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBB,P),Q),R),hAPP(P,hAPP(Q,R))))),
+a4 ).
+
+clause(
+forall([P, Q, R],
+or( equal(hAPP(hAPP(hAPP(c_COMBC,P),Q),R),hAPP(hAPP(P,R),Q)))),
+a5 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBK))),
+a6 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBB))),
+a8 ).
+
+clause(
+or( not(equal(c_COMBI,c_COMBC))),
+a9 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBB))),
+a11 ).
+
+clause(
+or( not(equal(c_COMBK,c_COMBC))),
+a12 ).
+
+clause(
+or( not(equal(c_COMBB,c_COMBC))),
+a15 ).
+
+clause(
+forall([X, Y],
+or( not(hBOOL(hAPP(hAPP(fequal,X),Y))),
+    equal(X,Y))),
+a16 ).
+
+clause(
+forall([X, Y],
+or( not(equal(X,Y)),
+    hBOOL(hAPP(hAPP(fequal,X),Y)))),
+a17 ).
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/atp-inputs/u_helper1.dfg	Thu May 25 08:07:02 2006 +0200
@@ -0,0 +1,10 @@
+%ID: $Id$
+%Author: Jia Meng, NICTA
+%extensionality, untyped
+
+clause(
+forall([F, G],
+or( not(equal(hAPP(F,hAPP(hAPP(hEXTENT,F),G)),hAPP(G,hAPP(hAPP(hEXTENT,F),G)))),
+    equal(F,G))),
+a18 ).
+