src/HOL/Tools/atp-inputs/const_comb_inclS.dfg
author huffman
Fri, 22 Sep 2006 23:19:45 +0200
changeset 20685 fee8c75e3b5d
parent 19969 c72e2110c026
permissions -rw-r--r--
added lemmas about LIMSEQ and norm; simplified some proofs

%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, X, Y],
or( not(hBOOL(hAPP(hAPP(fequal(A),X),Y))),
    equal(X,Y))),
a6 ).

clause(
forall([A, X, Y],
or( not(equal(X,Y)),
    hBOOL(hAPP(hAPP(fequal(A),X),Y)))),
a7 ).