src/HOL/Tools/atp-inputs/const_comb_inclS.tptp
changeset 19492 29c6cba140da
child 19969 c72e2110c026
equal deleted inserted replaced
19491:cd6c71c57f53 19492:29c6cba140da
       
     1 %ID: $Id$
       
     2 %Author: Jia Meng, NICTA
       
     3 %typed combinator reduction for const-types-only (include S)
       
     4 
       
     5 %K P Q --> P
       
     6 input_clause(a1,axiom,
       
     7 [++equal(hAPP(hAPP(c_COMBK(A,B),P),Q),P)]).
       
     8 
       
     9 %S P Q R --> P R (Q R)
       
    10 input_clause(a2,axiom,
       
    11 [++equal(hAPP(hAPP(hAPP(c_COMBS(A,B,C),P),Q),R),hAPP(hAPP(P,R),hAPP(Q,R)))]).
       
    12 
       
    13 
       
    14 %I P --> P
       
    15 input_clause(a3,axiom,
       
    16 [++equal(hAPP(c_COMBI(T),P),P)]).
       
    17 
       
    18 %B P Q R --> P(Q R)
       
    19 input_clause(a4,axiom,
       
    20 [++equal(hAPP(hAPP(hAPP(c_COMBB(A,B,C),P),Q),R),hAPP(P,hAPP(Q,R)))]).
       
    21 
       
    22 
       
    23 %C P Q R --> P R Q
       
    24 input_clause(a5,axiom,
       
    25 [++equal(hAPP(hAPP(hAPP(c_COMBC(A,B,C),P),Q),R),hAPP(hAPP(P,R),Q))]).
       
    26 
       
    27 %the combinators are all different
       
    28 input_clause(a6,axiom,
       
    29 [--equal(c_COMBI(T),c_COMBK(A,B))]).
       
    30 
       
    31 input_clause(a7,axiom,
       
    32 [--equal(c_COMBI(T),c_COMBS(A,B,C))]).
       
    33 
       
    34 input_clause(a8,axiom,
       
    35 [--equal(c_COMBI(T),c_COMBB(A,B,C))]).
       
    36 
       
    37 input_clause(a9,axiom,
       
    38 [--equal(c_COMBI(T),c_COMBC(A,B,C))]).
       
    39 
       
    40 input_clause(a10,axiom,
       
    41 [--equal(c_COMBK(A,B),c_COMBS(A3,B3,C3))]).
       
    42 
       
    43 input_clause(a11,axiom,
       
    44 [--equal(c_COMBK(A,B),c_COMBB(A1,B1,C1))]).
       
    45 
       
    46 input_clause(a12,axiom,
       
    47 [--equal(c_COMBK(A,B),c_COMBC(A2,B2,C2))]).
       
    48 
       
    49 input_clause(a13,axiom,
       
    50 [--equal(c_COMBS(A3,B3,C3),c_COMBB(A1,B1,C1))]).
       
    51 
       
    52 input_clause(a14,axiom,
       
    53 [--equal(c_COMBS(A3,B3,C3),c_COMBC(A2,B2,C2))]).
       
    54 
       
    55 input_clause(a15,axiom,
       
    56 [--equal(c_COMBB(A1,B1,C1),c_COMBC(A2,B2,C2))]).
       
    57 
       
    58 input_clause(a16,axiom,
       
    59 [--hBOOL(hAPP(hAPP(fequal(A),X),Y)),++equal(X,Y)]).
       
    60 
       
    61 input_clause(a17,axiom,
       
    62 [++hBOOL(hAPP(hAPP(fequal(A),X),Y)),--equal(X,Y)]).
       
    63 
       
    64 
       
    65