src/HOL/Tools/atp-inputs/par_comb_inclS.tptp
author haftmann
Tue, 19 Sep 2006 15:22:35 +0200
changeset 20604 9dba9c7872c9
parent 19969 c72e2110c026
permissions -rw-r--r--
added auxiliary lemma for code generation 2

%ID: $Id$
%Author: Jia Meng, NICTA
%typed combinator reduction for partial-types (include S)

%K P Q --> P
input_clause(a1,axiom,
[++equal(hAPP(hAPP(c_COMBK,P,tc_fun(A,tc_fun(B,A))),Q,tc_fun(B,A)),P)]).


%S P Q R --> P R (Q R)
input_clause(a2,axiom,
[++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)))]).

%I P --> P
input_clause(a3,axiom,
[++equal(hAPP(c_COMBI,P,tc_fun(T,T)),P)]).


%B P Q R --> P(Q R)
input_clause(a4,axiom,
[++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)))]).


%C P Q R --> P R Q
input_clause(a5,axiom,
[++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)))]).

input_clause(a6,axiom,
[--hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool))),
++equal(X,Y)]).

input_clause(a7,axiom,
[++hBOOL(hAPP(hAPP(fequal,X,tc_fun(A,tc_fun(A,tc_bool))),Y,tc_fun(A,tc_bool))),
--equal(X,Y)]).