src/HOL/Tools/atp-inputs/par_comb_noS.dfg
author mengj
Thu, 25 May 2006 08:07:02 +0200
changeset 19717 2742cec21579
child 19969 c72e2110c026
permissions -rw-r--r--
Helper files in DFG format.

%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 ).